From 2a0f58f0d156b500145a4f04f6a6b32d4ab3a11f Mon Sep 17 00:00:00 2001 From: wujiawei <12345678> Date: Wed, 29 May 2024 10:39:56 +0800 Subject: [PATCH] [fix] change --- ...ClientInternalNetworkPenetration.README.md | 92 + CloudClientInternalNetworkPenetration1.0-.png | Bin 0 -> 44110 bytes CloudClientInternalNetworkPenetration1.0.puml | 77 + Cluster.puml | 55 + LICENSE | 201 + README.md | 320 + architecture.png | Bin 0 -> 110457 bytes authRoe2User.png | Bin 0 -> 95299 bytes clientPerDayFlow.png | Bin 0 -> 205165 bytes clientPortPerDayFlow.png | Bin 0 -> 223865 bytes cloud_client.png | Bin 0 -> 115330 bytes flow.png | Bin 0 -> 100963 bytes init_menu.png | Bin 0 -> 85820 bytes init_role.png | Bin 0 -> 126940 bytes k8s-node-pod-network-k8snodepod.png | Bin 0 -> 35315 bytes k8s-node-pod-network.puml | 50 + login.png | Bin 0 -> 403663 bytes main.png | Bin 0 -> 100963 bytes mapping.png | Bin 0 -> 151879 bytes pom.xml | 259 + url_info.png | Bin 0 -> 438827 bytes version.md | 11 + visitor_port.png | Bin 0 -> 118108 bytes .../Dockerfile | 22 + .../Native-Dockerfile | 16 + .../README.md | 55 + .../pom.xml | 56 + ...nableHeartbeatClientAutoConfiguration.java | 9 + .../application/ClientChangeApplication.java | 54 + .../LazyNettyServerPropertiesApplication.java | 128 + ...LazyNettyServerPropertiesDTOAssembler.java | 93 + ...NettyServerPropertiesQueryListCommand.java | 77 + ...yNettyServerPropertiesQueryOneCommand.java | 76 + ...azyNettyServerPropertiesRemoveCommand.java | 77 + ...LazyNettyServerPropertiesStoryCommand.java | 76 + ...azyNettyServerPropertiesUpdateCommand.java | 76 + .../dto/LazyNettyServerPropertiesDTO.java | 76 + ...yNettyServerPropertiesApplicationImpl.java | 270 + .../config/ClientAutoConfiguration.java | 82 + .../config/HeartbeatClientConfiguration.java | 89 + .../heartbeat/client/config/InitConfig.java | 87 + .../client/config/NettyClientProperties.java | 36 + .../client/config/PropertiesType.java | 14 + .../LazyNettyServerPropertiesProvider.java | 141 + .../properties/LazyNettyServerProperties.java | 76 + .../LazyNettyServerPropertiesRepository.java | 118 + .../LazyNettyServerPropertiesConverter.java | 48 + .../entity/LazyNettyServerPropertiesDO.java | 97 + .../LazyNettyServerPropertiesMapper.java | 15 + ...zyNettyServerPropertiesRepositoryImpl.java | 213 + .../xml/LazyNettyServerPropertiesMapper.xml | 17 + ...entHandleChannelHeartbeatTypeAdvanced.java | 29 + ...ributeSingleClientMessageTypeAdvanced.java | 26 + ...ClientRealAutoReadConnectTypeAdvanced.java | 29 + ...gleClientRealCloseVisitorTypeAdvanced.java | 26 + ...teSingleClientRealConnectTypeAdvanced.java | 56 + ...lTransferTypeAdvancedHandleDistribute.java | 58 + .../HandleClientChannelActiveAdvanced.java | 34 + ...SuccessNotificationTypeAdvancedHandle.java | 44 + ...istributeDisconnectTypeAdvancedHandle.java | 43 + ...leDistributeStagingClosedTypeAdvanced.java | 30 + ...leDistributeStagingOpenedTypeAdvanced.java | 34 + .../client/netty/event/ClientChangeEvent.java | 52 + .../event/DefaultClientChangeEventImpl.java | 131 + .../netty/filter/NettyClientFilter.java | 45 + .../netty/filter/NettyClientRealFilter.java | 30 + .../filter/NettyClientVisitorRealFilter.java | 42 + .../netty/handler/HeartBeatClientHandler.java | 24 + .../netty/handler/NettyClientHandler.java | 121 + .../netty/handler/NettyClientRealHandler.java | 85 + .../NettyClientVisitorRealHandler.java | 66 + .../ClientStagingOpenedOrClosedListener.java | 53 + .../netty/socket/NettyClientRealSocket.java | 183 + .../netty/socket/NettyClientSocket.java | 122 + .../client/rpc/StagingNoticeApiRpc.java | 65 + .../client/ui/NettyClientLocalLazyUI.java | 65 + .../main/resources/META-INF/spring.factories | 6 + ...ot.autoconfigure.AutoConfiguration.imports | 4 + .../v1/assets/index-BTaJShFE.js | 65 + .../v1/assets/index-C9GutiFy.css | 1 + .../netty-client-local-ui/v1/favicon.ico | Bin 0 -> 4286 bytes .../netty-client-local-ui/v1/index.html | 14 + .../pom.xml | 30 + .../heartbeat/common/ChannelContext.java | 199 + .../InternalNetworkPenetrationRealClient.java | 43 + .../network/heartbeat/common/MessageType.java | 182 + .../heartbeat/common/NettyClientChannel.java | 27 + .../common/NettyClientVisitorContext.java | 73 + .../common/NettyCommunicationIdContext.java | 71 + .../network/heartbeat/common/NettyMsg.java | 39 + .../heartbeat/common/NettyProxyMsg.java | 113 + .../heartbeat/common/NettyRealIdContext.java | 71 + .../heartbeat/common/NettyServerContext.java | 109 + .../common/NettyVisitorIdContext.java | 72 + .../common/NettyVisitorPortContext.java | 49 + .../common/adapter/ChannelFlowAdapter.java | 41 + .../common/adapter/ChannelTypeAdapter.java | 46 + ...actHandleChannelHeartbeatTypeAdvanced.java | 25 + .../AbstractHandleChannelTypeAdvanced.java | 93 + .../advanced/HandleChannelTypeAdvanced.java | 35 + ...ractHandleClientChannelActiveAdvanced.java | 25 + ...DistributeChannelTransferTypeAdvanced.java | 27 + ...ributeClusterNodeRegisterTypeAdvanced.java | 27 + ...SuccessNotificationTypeAdvancedHandle.java | 23 + ...istributeDisconnectTypeAdvancedHandle.java | 26 + ...ributeSingleClientMessageTypeAdvanced.java | 25 + ...ClientRealAutoReadConnectTypeAdvanced.java | 27 + ...gleClientRealCloseVisitorTypeAdvanced.java | 25 + ...teSingleClientRealConnectTypeAdvanced.java | 25 + ...leDistributeStagingClosedTypeAdvanced.java | 25 + ...leDistributeStagingOpenedTypeAdvanced.java | 25 + .../AbstractHandleChannelFlowAdvanced.java | 49 + .../common/advanced/flow/ChannelFlow.java | 37 + .../flow/HandleChannelFlowAdvanced.java | 25 + ...andleClientConnectSuccessTypeAdvanced.java | 25 + ...ReportClusterNodeRegisterTypeAdvanced.java | 27 + ...actHandleReportDisconnectTypeAdvanced.java | 27 + ...portHandleChannelTransferTypeAdvanced.java | 27 + ...tSingleClientCloseVisitorTypeAdvanced.java | 27 + ...ClientMessage2OtherClientTypeAdvanced.java | 27 + ...rtSingleClientRealConnectTypeAdvanced.java | 27 + ...HandleReportStagingClosedTypeAdvanced.java | 29 + ...HandleReportStagingOpenedTypeAdvanced.java | 25 + ...HandleServerChannelActiveTypeAdvanced.java | 27 + .../common/constant/ClientConfigKeyUtils.java | 46 + .../constant/NettyChannelAttributeKey.java | 10 + .../common/constant/ProxyConfigConstant.java | 5 + .../common/constant/RedisChannelConstant.java | 14 + .../common/decoder/NettyMsgDecoder.java | 54 + .../common/decoder/NettyProxyMsgDecoder.java | 152 + .../common/encoder/NettMsgEncoder.java | 49 + .../common/encoder/NettyProxyMsgEncoder.java | 106 + .../common/enums/ChannelFlowEnum.java | 17 + .../common/enums/MessageTypeEnums.java | 113 + .../heartbeat/common/enums/NetWorkMode.java | 16 + .../common/enums/NettyClientStatus.java | 18 + .../common/state/ClientOnLineState.java | 18 + .../utils/ChannelAttributeKeyUtils.java | 134 + .../README.md | 0 .../pom.xml | 35 + .../pom.xml | 84 + ...nableHeartbeatServerAutoConfiguration.java | 12 + ...artbeatServerClusterAutoConfiguration.java | 8 + .../LazyNettyClusterNodeApplication.java | 128 + .../LazyNettyClusterNodeDTOAssembler.java | 93 + .../LazyNettyClusterNodeQueryListCommand.java | 78 + .../LazyNettyClusterNodeQueryOneCommand.java | 79 + .../LazyNettyClusterNodeRemoveCommand.java | 79 + .../LazyNettyClusterNodeStoryCommand.java | 79 + .../LazyNettyClusterNodeUpdateCommand.java | 79 + .../dto/LazyNettyClusterNodeDTO.java | 76 + .../LazyNettyClusterNodeApplicationImpl.java | 272 + .../LazyNettyClusterNodeProvider.java | 142 + .../cluster/domain/model/cluster/Node.java | 4 + .../cluster/node/LazyNettyClusterNode.java | 81 + .../node/LazyNettyClusterNodeRepository.java | 104 + .../event/ClusterNodeChangeEventImpl.java | 169 + .../LazyNettyClusterNodeConverter.java | 48 + .../entity/LazyNettyClusterNodeDO.java | 90 + .../mapper/LazyNettyClusterNodeMapper.java | 15 + .../LazyNettyClusterNodeRepositoryImpl.java | 189 + .../xml/LazyNettyClusterNodeMapper.xml | 15 + .../config/HeartbeatServerConfiguration.java | 93 + .../config/ServerFlowConfiguration.java | 57 + .../server/init/InitClusterNode.java | 105 + .../server/init/InitServerSocket.java | 79 + ...verHandleChannelHeartbeatTypeAdvanced.java | 32 + ...andleClientConnectSuccessTypeAdvanced.java | 101 + ...ReportClusterNodeRegisterTypeAdvanced.java | 40 + ...verHandleReportDisconnectTypeAdvanced.java | 91 + ...portHandleChannelTransferTypeAdvanced.java | 62 + ...tSingleClientCloseVisitorTypeAdvanced.java | 32 + ...rtSingleClientRealConnectTypeAdvanced.java | 47 + ...HandleReportStagingClosedTypeAdvanced.java | 59 + ...HandleReportStagingOpenedTypeAdvanced.java | 61 + .../netty/filter/NettyServerFilter.java | 51 + .../server/netty/filter/VisitorFilter.java | 34 + .../server/netty/flow/ServerChannelFlow.java | 56 + .../flow/ServerHandlerInFlowHandler.java | 51 + .../flow/ServerHandlerOutFlowHandler.java | 52 + .../netty/handler/HeartBeatServerHandler.java | 44 + .../handler/LazyServerIdleStateHandler.java | 537 + .../netty/handler/NettyServerHandler.java | 133 + .../server/netty/handler/VisitorHandler.java | 181 + .../socket/NettyOnCloudNettyServerSocket.java | 61 + .../netty/socket/NettyVisitorSocket.java | 225 + .../properties/ServerNodeProperties.java | 39 + .../LazyClientStatsChangeApplication.java | 38 + ...lNetworkPenetrationMappingApplication.java | 107 + .../LazyNettyClientBlacklistApplication.java | 110 + .../LazyNettyClientStateApplication.java | 109 + .../LazyNettyServerVisitorApplication.java | 101 + .../LazyVisitorPortFlowApplication.java | 120 + .../LazyVisitorPortPerDayFlowApplication.java | 122 + ...NetworkPenetrationMappingDTOAssembler.java | 88 + .../NettyClientBlacklistDTOAssembler.java | 89 + .../NettyClientStateDTOAssembler.java | 89 + .../NettyServerVisitorDTOAssembler.java | 89 + .../VisitorPortFlowDTOAssembler.java | 89 + .../VisitorPortPerDayFlowDTOAssembler.java | 93 + ...orkPenetrationMappingQueryListCommand.java | 74 + ...workPenetrationMappingQueryOneCommand.java | 73 + ...etworkPenetrationMappingRemoveCommand.java | 65 + ...NetworkPenetrationMappingStoryCommand.java | 59 + ...etworkPenetrationMappingUpdateCommand.java | 64 + ...yNettyClientBlacklistQueryListCommand.java | 57 + ...zyNettyClientBlacklistQueryOneCommand.java | 57 + ...LazyNettyClientBlacklistRemoveCommand.java | 57 + .../LazyNettyClientBlacklistStoryCommand.java | 61 + ...LazyNettyClientBlacklistUpdateCommand.java | 57 + .../state/LazyNettyClientMessageCommand.java | 38 + .../LazyNettyClientStateQueryListCommand.java | 75 + .../LazyNettyClientStateQueryOneCommand.java | 75 + .../LazyNettyClientStateRemoveCommand.java | 70 + .../LazyNettyClientStateStoryCommand.java | 75 + .../LazyNettyClientStateUpdateCommand.java | 74 + ...azyNettyServerVisitorQueryListCommand.java | 63 + ...LazyNettyServerVisitorQueryOneCommand.java | 63 + .../LazyNettyServerVisitorRemoveCommand.java | 63 + .../LazyNettyServerVisitorStoryCommand.java | 63 + .../LazyNettyServerVisitorUpdateCommand.java | 63 + .../LazyVisitorPortFlowQueryListCommand.java | 75 + .../LazyVisitorPortFlowQueryOneCommand.java | 75 + .../LazyVisitorPortFlowRemoveCommand.java | 75 + .../flow/LazyVisitorPortFlowStoryCommand.java | 75 + .../LazyVisitorPortFlowUpdateCommand.java | 75 + ...VisitorPortPerDayFlowQueryListCommand.java | 91 + ...yVisitorPortPerDayFlowQueryOneCommand.java | 91 + ...azyVisitorPortPerDayFlowRemoveCommand.java | 91 + ...LazyVisitorPortPerDayFlowStoryCommand.java | 91 + ...azyVisitorPortPerDayFlowUpdateCommand.java | 91 + .../application/dto/LazyClientChannelDTO.java | 25 + .../dto/LazyClientFlowPerDayEchartsDTO.java | 39 + .../LazyClientPortFlowPerDayEchartsDTO.java | 46 + ...yInternalNetworkPenetrationMappingDTO.java | 82 + .../dto/LazyNettyClientBlacklistDTO.java | 57 + .../dto/LazyNettyClientStateDTO.java | 76 + .../dto/LazyNettyServerVisitorDTO.java | 63 + .../application/dto/LazyVisitorFlowDTO.java | 80 + .../dto/LazyVisitorPortFlowDTO.java | 96 + .../dto/LazyVisitorPortPerDayFlowDTO.java | 91 + .../LazyClientStatsChangeApplicationImpl.java | 108 + ...workPenetrationMappingApplicationImpl.java | 299 + ...zyNettyClientBlacklistApplicationImpl.java | 196 + .../LazyNettyClientStateApplicationImpl.java | 211 + ...LazyNettyServerVisitorApplicationImpl.java | 162 + .../LazyVisitorPortFlowApplicationImpl.java | 294 + ...yVisitorPortPerDayFlowApplicationImpl.java | 302 + .../controller/LazyChannelController.java | 110 + ...rnalNetworkPenetrationMappingProvider.java | 145 + .../LazyNettyClientBlacklistProvider.java | 142 + .../LazyNettyClientStateProvider.java | 154 + .../LazyNettyServerVisitorProvider.java | 138 + .../LazyVisitorPortFlowProvider.java | 154 + .../LazyVisitorPortPerDayFlowProvider.java | 49 + ...LazyInternalNetworkPenetrationMapping.java | 82 + ...alNetworkPenetrationMappingRepository.java | 99 + .../blacklist/LazyNettyClientBlacklist.java | 57 + .../LazyNettyClientBlacklistRepository.java | 99 + .../client/state/LazyNettyClientState.java | 75 + .../state/LazyNettyClientStateRepository.java | 114 + .../visitor/LazyNettyServerVisitor.java | 63 + .../LazyNettyServerVisitorRepository.java | 99 + .../model/visitor/LazyClientPerDayFlow.java | 70 + .../visitor/flow/LazyVisitorPortFlow.java | 75 + .../flow/LazyVisitorPortFlowRepository.java | 117 + .../day/flow/LazyVisitorPortPerDayFlow.java | 91 + .../LazyVisitorPortPerDayFlowRepository.java | 110 + ...nalNetworkPenetrationMappingConverter.java | 47 + .../LazyNettyClientBlacklistConverter.java | 48 + .../LazyNettyClientStateConverter.java | 47 + .../LazyNettyServerVisitorConverter.java | 47 + .../LazyVisitorPortFlowConverter.java | 47 + .../LazyVisitorPortPerDayFlowConverter.java | 48 + ...zyInternalNetworkPenetrationMappingDO.java | 94 + .../entity/LazyNettyClientBlacklistDO.java | 66 + .../entity/LazyNettyClientStateDO.java | 88 + .../entity/LazyNettyServerVisitorDO.java | 73 + .../entity/LazyVisitorPortFlowDO.java | 88 + .../entity/LazyVisitorPortPerDayFlowDO.java | 101 + ...ternalNetworkPenetrationMappingMapper.java | 16 + .../LazyNettyClientBlacklistMapper.java | 16 + .../mapper/LazyNettyClientStateMapper.java | 16 + .../mapper/LazyNettyServerVisitorMapper.java | 16 + .../LazyNettyServerVisitorPortMapper.java | 16 + .../mapper/LazyVisitorPortFlowMapper.java | 16 + .../LazyVisitorPortPerDayFlowMapper.java | 15 + ...tworkPenetrationMappingRepositoryImpl.java | 148 + ...azyNettyClientBlacklistRepositoryImpl.java | 147 + .../LazyNettyClientStateRepositoryImpl.java | 184 + .../LazyNettyServerVisitorRepositoryImpl.java | 155 + .../LazyVisitorPortFlowRepositoryImpl.java | 189 + ...zyVisitorPortPerDayFlowRepositoryImpl.java | 170 + .../xml/LazyVisitorPortFlowMapper.xml | 15 + .../xml/LazyVisitorPortPerDayFlowMapper.xml | 17 + .../server/ui/NettyServerLazyUI.java | 65 + .../main/resources/META-INF/spring.factories | 8 + ...ot.autoconfigure.AutoConfiguration.imports | 6 + ...InternalNetworkPenetrationMappingTest.java | 39 + .../visitor/flow/VisitorPortFlowTest.java | 45 + .../pom.xml | 48 + .../Dockerfile | 22 + .../Native-Dockerfile | 16 + .../README.md | 77 + .../k8s.yaml | 50 + .../pom.xml | 67 + .../client/LazyCloudHeartbeatClientStart.java | 17 + .../src/main/resources/application-dev.yml | 24 + .../src/main/resources/application-prod.yml | 5 + .../src/main/resources/application.yml | 19 + .../Dockerfile | 22 + .../README.md | 38 + .../jar-memory.png | Bin 0 -> 219963 bytes .../k8s-node-pod.md | 161 + .../k8s.yaml | 129 + .../pom.xml | 71 + .../LazyCloudHeartbeatServerClusterStart.java | 16 + .../src/main/resources/application-dev.yml | 6 + .../src/main/resources/application-prod.yml | 8 + .../src/main/resources/application.yml | 25 + .../Dockerfile | 22 + .../README.md | 39 + .../jar-memory.png | Bin 0 -> 219963 bytes .../k8s.yaml | 89 + .../pom.xml | 67 + .../server/LazyCloudHeartbeatServerStart.java | 16 + .../src/main/resources/application-dev.yml | 15 + .../src/main/resources/application-prod.yml | 8 + .../src/main/resources/application.yml | 35 + .../.gitignore | 30 + .../README.md | 29 + .../index.html | 13 + .../jsconfig.json | 8 + .../package-lock.json | 2941 ++ .../package.json | 23 + .../public/favicon.ico | Bin 0 -> 4286 bytes .../src/App.vue | 48 + .../src/assets/LazyORMlog.png | Bin 0 -> 2454 bytes .../src/assets/base.css | 86 + .../src/assets/logo.svg | 1 + .../src/assets/main.css | 35 + .../src/components/HelloWorld.vue | 44 + .../src/components/LocalClientProperties.vue | 227 + .../src/components/TheWelcome.vue | 88 + .../src/components/WelcomeItem.vue | 87 + .../src/components/icons/IconCommunity.vue | 7 + .../components/icons/IconDocumentation.vue | 7 + .../src/components/icons/IconEcosystem.vue | 7 + .../src/components/icons/IconSupport.vue | 7 + .../src/components/icons/IconTooling.vue | 19 + .../src/main.js | 15 + .../vite.config.js | 54 + .../yarn.lock | 1009 + .../.eslintignore | 1 + .../.eslintrc.js | 31 + .../Dockerfile | 11 + .../LICENSE | 21 + .../README.md | 296 + .../babel.config.js | 4 + .../default.template | 45 + .../jsconfig.json | 9 + .../package-lock.json | 24510 ++++++++++++++++ .../package.json | 69 + .../public/favicon.ico | Bin 0 -> 192874 bytes .../public/favicon.ico1 | Bin 0 -> 4286 bytes .../public/index.html | 22 + .../src/App.vue | 6 + .../src/api/index.js | 41 + .../src/api/mock-server.js | 103 + .../src/api/modules/cloudNetwork.js | 63 + .../src/api/modules/cloudNetworkReport.js | 10 + .../src/api/modules/system.js | 1204 + .../src/assets/json/china.json | 1 + .../src/assets/logo.png | Bin 0 -> 192874 bytes .../src/assets/theme/ayu-dark.png | Bin 0 -> 5994 bytes .../src/assets/theme/cobalt.png | Bin 0 -> 6024 bytes .../src/assets/theme/default.png | Bin 0 -> 6031 bytes .../src/assets/theme/eclipse.png | Bin 0 -> 6375 bytes .../src/assets/theme/idea.png | Bin 0 -> 19424 bytes .../src/assets/theme/solarized light.png | Bin 0 -> 6487 bytes .../src/components/CodemirrorEditor/index.vue | 228 + .../src/components/Common.vue | 506 + .../src/components/FunctionPage.vue | 30 + .../src/components/dashboard/LiveChart.vue | 111 + .../src/components/dashboard/Shortcuts.vue | 437 + .../src/components/layout/NavigateBar.vue | 19 + .../src/components/layout/NavigateMenuBar.vue | 78 + .../src/components/layout/SideBar.vue | 65 + .../layout/components/Breadcrumb.vue | 33 + .../layout/components/Hamburger.vue | 31 + .../src/components/layout/components/Logo.vue | 57 + .../components/layout/components/Personal.vue | 88 + .../layout/components/SlideMenu.vue | 97 + .../src/components/layout/components/Zone.vue | 83 + .../components/veBaseComponents/CardTable.vue | 179 + .../components/veBaseComponents/VeTable.vue | 142 + .../src/components/veBaseComponents/index.js | 18 + .../src/config.js | 5 + .../src/directives/index.js | 12 + .../src/directives/modules/permission.js | 23 + .../src/directives/modules/resize.js | 14 + .../src/main.js | 27 + .../src/plugins/axios.js | 237 + .../src/plugins/element.js | 13 + .../src/plugins/mock.js | 20 + .../src/plugins/permission.js | 446 + .../src/plugins/svgicon.js | 9 + .../src/router/globalRoutes.js | 17 + .../src/router/index.js | 27 + .../src/router/mainRoutes.js | 13 + .../src/static/add.png | Bin 0 -> 9502 bytes .../src/static/database.png | Bin 0 -> 8099 bytes .../src/static/db_table.png | Bin 0 -> 2403 bytes .../src/static/file.png | Bin 0 -> 4337 bytes .../src/static/folder.png | Bin 0 -> 3255 bytes .../src/static/key.png | Bin 0 -> 6549 bytes .../src/static/music-default-pic.png | Bin 0 -> 1016368 bytes .../src/static/redis.png | Bin 0 -> 9004 bytes .../src/store/getters.js | 15 + .../src/store/index.js | 13 + .../src/store/modules/app/index.js | 111 + .../src/store/modules/app/type.js | 9 + .../src/store/modules/settings/index.js | 32 + .../src/store/modules/tabbar/index.js | 90 + .../src/store/modules/tabbar/type.js | 8 + .../src/styles/common.scss | 68 + .../src/styles/variables.scss.js | 12 + .../src/utils/index.js | 106 + .../src/utils/validate.js | 57 + .../src/views/404.vue | 9 + .../src/views/AppMain.vue | 56 + .../src/views/Home.vue | 37 + .../src/views/IFrame.vue | 42 + .../src/views/Login.vue | 153 + .../src/views/Register.vue | 147 + .../pages/cloud_network/ClientFlowManager.vue | 153 + .../views/pages/cloud_network/CloudClient.vue | 202 + .../cloud_network/CloudClientCluster.vue | 130 + .../pages/cloud_network/NetworkMapping.vue | 232 + .../pages/cloud_network/ServerVisitor.vue | 200 + .../components/CloudNetworkMenu.js | 8 + .../CloudServerSendMessage2Clinet.vue | 129 + .../components/NetWorkMappingEdit.vue | 230 + .../components/ServerVisitorEdit.vue | 139 + .../cloud_network_report/ClientPerDayFlow.vue | 111 + .../ClientPortPerDayFlow.vue | 201 + .../CloudNetworkReportMenu.js | 8 + .../src/views/pages/common.js | 140 + .../src/views/pages/settings/Dictionary.vue | 394 + .../views/pages/settings/DynamicIframe.vue | 183 + .../src/views/pages/settings/Menus.vue | 447 + .../src/views/pages/settings/RequestLog.vue | 162 + .../src/views/pages/settings/Translate.vue | 79 + .../components/DictionaryDataEdit.vue | 157 + .../settings/components/DictionaryEdit.vue | 140 + .../pages/settings/components/MenuEdit.vue | 606 + .../views/pages/settings/components/menu.js | 8 + .../src/views/pages/system/Roles.vue | 246 + .../src/views/pages/system/Users.vue | 346 + .../pages/system/components/RoleEdit.vue | 290 + .../pages/system/components/UsersEdit.vue | 186 + .../system/components/UsersEditRoute.vue | 189 + .../src/views/pages/system/components/menu.js | 8 + .../vue.config.js | 138 + 464 files changed, 63472 insertions(+) create mode 100644 CloudClientInternalNetworkPenetration.README.md create mode 100644 CloudClientInternalNetworkPenetration1.0-.png create mode 100644 CloudClientInternalNetworkPenetration1.0.puml create mode 100644 Cluster.puml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 architecture.png create mode 100644 authRoe2User.png create mode 100644 clientPerDayFlow.png create mode 100644 clientPortPerDayFlow.png create mode 100644 cloud_client.png create mode 100644 flow.png create mode 100644 init_menu.png create mode 100644 init_role.png create mode 100644 k8s-node-pod-network-k8snodepod.png create mode 100644 k8s-node-pod-network.puml create mode 100644 login.png create mode 100644 main.png create mode 100644 mapping.png create mode 100644 pom.xml create mode 100644 url_info.png create mode 100644 version.md create mode 100644 visitor_port.png create mode 100644 wu-smart-agent-network-heartbeat-client/Dockerfile create mode 100644 wu-smart-agent-network-heartbeat-client/Native-Dockerfile create mode 100644 wu-smart-agent-network-heartbeat-client/README.md create mode 100644 wu-smart-agent-network-heartbeat-client/pom.xml create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/EnableHeartbeatClientAutoConfiguration.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/ClientChangeApplication.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/LazyNettyServerPropertiesApplication.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/assembler/LazyNettyServerPropertiesDTOAssembler.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesQueryListCommand.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesQueryOneCommand.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesRemoveCommand.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesStoryCommand.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesUpdateCommand.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/dto/LazyNettyServerPropertiesDTO.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/impl/LazyNettyServerPropertiesApplicationImpl.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/ClientAutoConfiguration.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/HeartbeatClientConfiguration.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/InitConfig.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/NettyClientProperties.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/PropertiesType.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/controller/LazyNettyServerPropertiesProvider.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/domain/model/lazy/netty/server/properties/LazyNettyServerProperties.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/domain/model/lazy/netty/server/properties/LazyNettyServerPropertiesRepository.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/converter/LazyNettyServerPropertiesConverter.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/entity/LazyNettyServerPropertiesDO.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/mapper/LazyNettyServerPropertiesMapper.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/persistence/LazyNettyServerPropertiesRepositoryImpl.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/xml/LazyNettyServerPropertiesMapper.xml create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleChannelHeartbeatTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientMessageTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientRealCloseVisitorTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientRealConnectTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientReportHandleChannelTransferTypeAdvancedHandleDistribute.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleClientChannelActiveAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeConnectSuccessNotificationTypeAdvancedHandle.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeDisconnectTypeAdvancedHandle.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeStagingClosedTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeStagingOpenedTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/event/ClientChangeEvent.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/event/DefaultClientChangeEventImpl.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/filter/NettyClientFilter.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/filter/NettyClientRealFilter.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/filter/NettyClientVisitorRealFilter.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/HeartBeatClientHandler.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/NettyClientHandler.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/NettyClientRealHandler.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/NettyClientVisitorRealHandler.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/listener/ClientStagingOpenedOrClosedListener.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/socket/NettyClientRealSocket.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/socket/NettyClientSocket.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/rpc/StagingNoticeApiRpc.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/ui/NettyClientLocalLazyUI.java create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/resources/META-INF/spring.factories create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/assets/index-BTaJShFE.js create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/assets/index-C9GutiFy.css create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/favicon.ico create mode 100644 wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/index.html create mode 100644 wu-smart-agent-network-heartbeat-common/pom.xml create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/ChannelContext.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/InternalNetworkPenetrationRealClient.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/MessageType.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyClientChannel.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyClientVisitorContext.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyCommunicationIdContext.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyMsg.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyProxyMsg.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyRealIdContext.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyServerContext.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyVisitorIdContext.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyVisitorPortContext.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/adapter/ChannelFlowAdapter.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/adapter/ChannelTypeAdapter.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/AbstractHandleChannelHeartbeatTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/AbstractHandleChannelTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/HandleChannelTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleClientChannelActiveAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeChannelTransferTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeClusterNodeRegisterTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeConnectSuccessNotificationTypeAdvancedHandle.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeDisconnectTypeAdvancedHandle.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientMessageTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientRealCloseVisitorTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientRealConnectTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeStagingClosedTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeStagingOpenedTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/flow/AbstractHandleChannelFlowAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/flow/ChannelFlow.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/flow/HandleChannelFlowAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleClientConnectSuccessTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportClusterNodeRegisterTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportDisconnectTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportHandleChannelTransferTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportSingleClientCloseVisitorTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportSingleClientMessage2OtherClientTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportSingleClientRealConnectTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportStagingClosedTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportStagingOpenedTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleServerChannelActiveTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/ClientConfigKeyUtils.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/NettyChannelAttributeKey.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/ProxyConfigConstant.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/RedisChannelConstant.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/decoder/NettyMsgDecoder.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/decoder/NettyProxyMsgDecoder.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/encoder/NettMsgEncoder.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/encoder/NettyProxyMsgEncoder.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/ChannelFlowEnum.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/MessageTypeEnums.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/NetWorkMode.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/NettyClientStatus.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/state/ClientOnLineState.java create mode 100644 wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/utils/ChannelAttributeKeyUtils.java create mode 100644 wu-smart-agent-network-heartbeat-server-cluster/README.md create mode 100644 wu-smart-agent-network-heartbeat-server-cluster/pom.xml create mode 100644 wu-smart-agent-network-heartbeat-server/pom.xml create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/EnableHeartbeatServerAutoConfiguration.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/EnableHeartbeatServerClusterAutoConfiguration.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/LazyNettyClusterNodeApplication.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/assembler/LazyNettyClusterNodeDTOAssembler.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeQueryListCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeQueryOneCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeRemoveCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeStoryCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeUpdateCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/dto/LazyNettyClusterNodeDTO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/impl/LazyNettyClusterNodeApplicationImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/controller/LazyNettyClusterNodeProvider.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/domain/model/cluster/Node.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/domain/model/cluster/node/LazyNettyClusterNode.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/domain/model/cluster/node/LazyNettyClusterNodeRepository.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/event/ClusterNodeChangeEventImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/converter/LazyNettyClusterNodeConverter.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/entity/LazyNettyClusterNodeDO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/mapper/LazyNettyClusterNodeMapper.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/persistence/LazyNettyClusterNodeRepositoryImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/xml/LazyNettyClusterNodeMapper.xml create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/config/HeartbeatServerConfiguration.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/config/ServerFlowConfiguration.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/init/InitClusterNode.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/init/InitServerSocket.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleChannelHeartbeatTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleClientConnectSuccessTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportClusterNodeRegisterTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportDisconnectTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportHandleChannelTransferTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportSingleClientCloseVisitorTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportSingleClientRealConnectTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportStagingClosedTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportStagingOpenedTypeAdvanced.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/filter/NettyServerFilter.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/filter/VisitorFilter.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/flow/ServerChannelFlow.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/flow/ServerHandlerInFlowHandler.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/flow/ServerHandlerOutFlowHandler.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/HeartBeatServerHandler.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/LazyServerIdleStateHandler.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/NettyServerHandler.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/VisitorHandler.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/socket/NettyOnCloudNettyServerSocket.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/socket/NettyVisitorSocket.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/properties/ServerNodeProperties.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyClientStatsChangeApplication.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyInternalNetworkPenetrationMappingApplication.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyNettyClientBlacklistApplication.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyNettyClientStateApplication.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyNettyServerVisitorApplication.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyVisitorPortFlowApplication.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyVisitorPortPerDayFlowApplication.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/InternalNetworkPenetrationMappingDTOAssembler.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/NettyClientBlacklistDTOAssembler.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/NettyClientStateDTOAssembler.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/NettyServerVisitorDTOAssembler.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/VisitorPortFlowDTOAssembler.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/VisitorPortPerDayFlowDTOAssembler.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingQueryListCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingQueryOneCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingRemoveCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingStoryCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingUpdateCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistQueryListCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistQueryOneCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistRemoveCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistStoryCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistUpdateCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientMessageCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateQueryListCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateQueryOneCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateRemoveCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateStoryCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateUpdateCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorQueryListCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorQueryOneCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorRemoveCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorStoryCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorUpdateCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowQueryListCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowQueryOneCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowRemoveCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowStoryCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowUpdateCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowQueryListCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowQueryOneCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowRemoveCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowStoryCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowUpdateCommand.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyClientChannelDTO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyClientFlowPerDayEchartsDTO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyClientPortFlowPerDayEchartsDTO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyInternalNetworkPenetrationMappingDTO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyNettyClientBlacklistDTO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyNettyClientStateDTO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyNettyServerVisitorDTO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyVisitorFlowDTO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyVisitorPortFlowDTO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyVisitorPortPerDayFlowDTO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyClientStatsChangeApplicationImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyInternalNetworkPenetrationMappingApplicationImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyNettyClientBlacklistApplicationImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyNettyClientStateApplicationImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyNettyServerVisitorApplicationImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyVisitorPortFlowApplicationImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyVisitorPortPerDayFlowApplicationImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyChannelController.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyInternalNetworkPenetrationMappingProvider.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyNettyClientBlacklistProvider.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyNettyClientStateProvider.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyNettyServerVisitorProvider.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyVisitorPortFlowProvider.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyVisitorPortPerDayFlowProvider.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMapping.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingRepository.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/blacklist/LazyNettyClientBlacklist.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/blacklist/LazyNettyClientBlacklistRepository.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/state/LazyNettyClientState.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/state/LazyNettyClientStateRepository.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/server/visitor/LazyNettyServerVisitor.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/server/visitor/LazyNettyServerVisitorRepository.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/LazyClientPerDayFlow.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/flow/LazyVisitorPortFlow.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/flow/LazyVisitorPortFlowRepository.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/port/per/day/flow/LazyVisitorPortPerDayFlow.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowRepository.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyInternalNetworkPenetrationMappingConverter.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyClientBlacklistConverter.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyClientStateConverter.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyServerVisitorConverter.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyVisitorPortFlowConverter.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyVisitorPortPerDayFlowConverter.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyInternalNetworkPenetrationMappingDO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyClientBlacklistDO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyClientStateDO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyServerVisitorDO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyVisitorPortFlowDO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyVisitorPortPerDayFlowDO.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyInternalNetworkPenetrationMappingMapper.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyClientBlacklistMapper.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyClientStateMapper.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyServerVisitorMapper.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyServerVisitorPortMapper.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyVisitorPortFlowMapper.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyVisitorPortPerDayFlowMapper.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyInternalNetworkPenetrationMappingRepositoryImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientBlacklistRepositoryImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientStateRepositoryImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyServerVisitorRepositoryImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyVisitorPortFlowRepositoryImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyVisitorPortPerDayFlowRepositoryImpl.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/xml/LazyVisitorPortFlowMapper.xml create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/xml/LazyVisitorPortPerDayFlowMapper.xml create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/ui/NettyServerLazyUI.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/resources/META-INF/spring.factories create mode 100644 wu-smart-agent-network-heartbeat-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 wu-smart-agent-network-heartbeat-server/src/test/java/org/framework/smart/agent/network/heartbeat/server/domain/model/visitor/flow/InternalNetworkPenetrationMappingTest.java create mode 100644 wu-smart-agent-network-heartbeat-server/src/test/java/org/framework/smart/agent/network/heartbeat/server/domain/model/visitor/flow/VisitorPortFlowTest.java create mode 100644 wu-smart-agent-network-heartbeat-start/pom.xml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/Dockerfile create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/Native-Dockerfile create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/README.md create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/k8s.yaml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/pom.xml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/java/org/framework/smart/agent/network/heartbeat/client/LazyCloudHeartbeatClientStart.java create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/resources/application-dev.yml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/resources/application-prod.yml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/resources/application.yml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/Dockerfile create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/README.md create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/jar-memory.png create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/k8s-node-pod.md create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/k8s.yaml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/pom.xml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/start/LazyCloudHeartbeatServerClusterStart.java create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/resources/application-dev.yml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/resources/application-prod.yml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/resources/application.yml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/Dockerfile create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/README.md create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/jar-memory.png create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/k8s.yaml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/pom.xml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/java/org/framework/smart/agent/network/heartbeat/server/LazyCloudHeartbeatServerStart.java create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/resources/application-dev.yml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/resources/application-prod.yml create mode 100644 wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/resources/application.yml create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/.gitignore create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/README.md create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/index.html create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/jsconfig.json create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/package-lock.json create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/package.json create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/public/favicon.ico create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/App.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/assets/LazyORMlog.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/assets/base.css create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/assets/logo.svg create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/assets/main.css create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/HelloWorld.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/LocalClientProperties.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/TheWelcome.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/WelcomeItem.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconCommunity.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconDocumentation.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconEcosystem.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconSupport.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconTooling.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/main.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/vite.config.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/yarn.lock create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/.eslintignore create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/.eslintrc.js create mode 100755 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/Dockerfile create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/LICENSE create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/README.md create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/babel.config.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/default.template create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/jsconfig.json create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/package-lock.json create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/package.json create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/public/favicon.ico create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/public/favicon.ico1 create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/public/index.html create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/App.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/index.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/mock-server.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/modules/cloudNetwork.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/modules/cloudNetworkReport.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/modules/system.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/json/china.json create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/logo.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/ayu-dark.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/cobalt.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/default.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/eclipse.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/idea.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/solarized light.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/CodemirrorEditor/index.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/Common.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/FunctionPage.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/dashboard/LiveChart.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/dashboard/Shortcuts.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/NavigateBar.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/NavigateMenuBar.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/SideBar.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Breadcrumb.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Hamburger.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Logo.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Personal.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/SlideMenu.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Zone.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/veBaseComponents/CardTable.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/veBaseComponents/VeTable.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/veBaseComponents/index.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/config.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/directives/index.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/directives/modules/permission.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/directives/modules/resize.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/main.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/axios.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/element.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/mock.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/permission.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/svgicon.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/router/globalRoutes.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/router/index.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/router/mainRoutes.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/add.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/database.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/db_table.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/file.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/folder.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/key.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/music-default-pic.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/redis.png create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/getters.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/index.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/app/index.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/app/type.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/settings/index.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/tabbar/index.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/tabbar/type.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/styles/common.scss create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/styles/variables.scss.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/utils/index.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/utils/validate.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/404.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/AppMain.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/Home.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/IFrame.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/Login.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/Register.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/ClientFlowManager.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/CloudClient.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/CloudClientCluster.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/NetworkMapping.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/ServerVisitor.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/CloudNetworkMenu.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/CloudServerSendMessage2Clinet.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/NetWorkMappingEdit.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/ServerVisitorEdit.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network_report/ClientPerDayFlow.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network_report/ClientPortPerDayFlow.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network_report/CloudNetworkReportMenu.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/common.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/Dictionary.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/DynamicIframe.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/Menus.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/RequestLog.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/Translate.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/DictionaryDataEdit.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/DictionaryEdit.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/MenuEdit.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/menu.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/Roles.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/Users.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/RoleEdit.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/UsersEdit.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/UsersEditRoute.vue create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/menu.js create mode 100644 wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/vue.config.js diff --git a/CloudClientInternalNetworkPenetration.README.md b/CloudClientInternalNetworkPenetration.README.md new file mode 100644 index 00000000..c4652dfd --- /dev/null +++ b/CloudClientInternalNetworkPenetration.README.md @@ -0,0 +1,92 @@ +### 内网穿透使用 + +#### 模块说明 + +| 模块 | 所属层级 | 描述 | 端口 | +|------------------------------------------------------------------------------------|------|------------------------|----------------------------------------------------------------| +| [wu-smart-agent-network-heartbeat-common](wu-smart-agent-network-heartbeat-common) | 基础模块 | 基于Netty数据解码、编码、通道处理器声明 | 无 | +| [wu-smart-agent-network-heartbeat-server](wu-smart-agent-network-heartbeat-server) | 启动模块 | 内网穿透服务端 | http端口:6001、tcp端口:7001 (默认tcp端口=http端口+1000 如:6001+1000=7001) | +| [wu-smart-agent-network-heartbeat-client](wu-smart-agent-network-heartbeat-client) | 启动模块 | 内网穿透客户端 | 6004 | + +#### 功能 + + 1.将局域网IP映射到公网IP + 2. 支持tcp、http映射 + +#### 使用 + +```text +客户端配置信息 +``` + +```yaml +spring: + middleground: + netty: + inet-host: 127.0.0.1 # 服务端地址 + inet-port: 7001 #服务端端口 + client-id: local # 客户端ID +``` + +```text +服务端配置客户端映射地址 +数据库表【internal_network_penetration_mapping】 添加数据 +``` + +| 客户端ID | 客户端真实地址 | 客户端真实端口 | 创建时间 | id | 是否删除 | 更新时间 | 访客端口 | 描述 | +|--------------|----------------|---------|------|----|------|------|-------|------------------------------------------------------------| +| local | 127.0.0.1 | 18080 | null | 1 | 0 | null | 19080 | 访客通过 --> 19080 --> 访问 --> 客户端 local本地的 18080 | +| local | 127.0.0.1 | 28080 | null | 2 | 0 | null | 29080 | 访客通过 --> 29080 --> 访问 --> 客户端 local本地的 28080 | +| local | 127.0.0.1 | 3306 | null | 3 | 0 | null | 4306 | 访客通过 --> 4306 --> 访问 --> 客户端 local本地的 3306 | +| local | 192.168.17.185 | 80 | null | 4 | 0 | null | 30080 | 访客通过 --> 30080 --> 访问 --> 客户端 local局域网内192.168.17.185的 80 | +| middleground | web-nginx | 80 | null | 5 | 0 | null | 31570 | 访客通过 --> 31570 --> 访问 --> 客户端 local局域网内web-nginx的 80 | + + + +#### 部署 + +##### 云端部署 + +```text +云端部署:内网穿透服务端 +如果云端需要部署云上暂存+内网穿透功能:需要部署 内网穿透服务端、暂存服务、内网穿透客户端、云上离线网关 +``` + +| 模块 | 说明 | 部署内网穿透必须 | 部署内网穿透+云上暂存必须 | +|------------------------------------------------------------------|------------|----------|---------------| +| [wu-smart-agent-network-heartbeat-server](wu-smart-agent-network-heartbeat-server) | 内网穿透+心跳服务端 | ☑️ | ☑️ | +| [wu-smart-agent-network-heartbeat-client](wu-smart-agent-network-heartbeat-client) | 内网穿透+心跳客户端 | ✖️ | ☑️ | +| [wu-lazy-cloud-staging-provider](wu-lazy-cloud-staging-provider) | 暂存服务 | ✖️ | ☑️ | +| [wu-lazy-cloud-central-gateway](wu-lazy-cloud-central-gateway) | 云上暂存网关 | ✖️ | ☑️ | +| [wu-lazy-cloud-central-gateway](wu-lazy-cloud-central-gateway) | 云下暂存网关 | ✖️ | ✖️ | + +##### 云网关部署 + +```text +云网关部署内网穿透客户端 +``` + +| 模块 | 说明 | 部署内网穿透必须 | 部署内网穿透+云上暂存必须 | +|------------------------------------------------------------------|------------|----------|---------------| +| [wu-smart-agent-network-heartbeat-server](wu-smart-agent-network-heartbeat-server) | 内网穿透+心跳服务端 | ✖️ | ✖️ | +| [wu-smart-agent-network-heartbeat-client](wu-smart-agent-network-heartbeat-client) | 内网穿透+心跳客户端 | ✖️ | ☑️ | +| [wu-lazy-cloud-staging-provider](wu-lazy-cloud-staging-provider) | 暂存服务 | ✖️ | ✖️ | +| [wu-lazy-cloud-central-gateway](wu-lazy-cloud-central-gateway) | 云上暂存网关 | ✖️ | ☑️ | +| [wu-lazy-cloud-central-gateway](wu-lazy-cloud-central-gateway) | 云下暂存网关 | ✖️ | ✖️ | + +##### 独立租户部署 + +```text +拥有内网穿透能力:需要部署内网穿透客户端 +内网穿透+离线暂存能力: 需要部署内网穿透客户端、离线网关、离线暂存服务 +``` + +| 模块 | 说明 | 部署内网穿透必须 | 部署内网穿透+云上暂存必须 | +|------------------------------------------------------------------|------------|----------|---------------| +| [wu-smart-agent-network-heartbeat-server](wu-smart-agent-network-heartbeat-server) | 内网穿透+心跳服务端 | ✖️ | ✖️ | +| [wu-smart-agent-network-heartbeat-client](wu-smart-agent-network-heartbeat-client) | 内网穿透+心跳客户端 | ☑️ | ☑️ | +| [wu-lazy-cloud-staging-provider](wu-lazy-cloud-staging-provider) | 暂存服务 | ✖️ | ☑️ | +| [wu-lazy-cloud-central-gateway](wu-lazy-cloud-central-gateway) | 云上暂存网关 | ✖️ | ✖️ | +| [wu-lazy-cloud-central-gateway](wu-lazy-cloud-central-gateway) | 云下暂存网关 | ✖️ | ☑️ | + + diff --git a/CloudClientInternalNetworkPenetration1.0-.png b/CloudClientInternalNetworkPenetration1.0-.png new file mode 100644 index 0000000000000000000000000000000000000000..dd2d74dd28046dc50222da38c93c2fa9e666d4af GIT binary patch literal 44110 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 [客户端真实代理通道]: 转发二进制请求到真实服务通道 + } + node “客户端真实服务”{ + component [客户端需要代理的真实服务A]{ + [客户端真实通道读数据] + [客户端真实通道返回数据] + } + } + +' [客户端真实代理通道] ...right...> [客户端真实服务]: 发送真实二进制请求到真实服务 + +} +package "服务端"{ + node "Netty服务端" { + + component [Netty服务端通道] { + component [服务端心跳通道]{ + + } + component [服务端代理通信通道]{ + [服务端通信通道读数据] + [服务端通信通道返回数据] + } + } + + component [Netty服务端绑定访客端口] { + component [服务端访客真实通道]{ + [服务端访客真实通道读数据] + [服务端访客真实通道返回数据] + } + } + + } + +} + + + + [服务端心跳通道] <----> [客户端心跳通道]:长连接channel + + + [访客] ..> [服务端访客真实通道读数据]: 访客访问数据 + [服务端访客真实通道读数据] ...> [服务端通信通道读数据]: 服务端访客数据转发到通信通道 + [服务端通信通道读数据] ..down..> [客户端通信通道读数据]: 服务端通信将数据转发到客户端通信通道 + [客户端通信通道读数据] ..down..> [客户端真实通道读数据]: 客户端通信通道将数据转发道客户端端真实代理通道 + [客户端真实通道读数据] ..left..> [客户端真实通道返回数据]: 处理数据。。。 + [客户端真实通道返回数据] ..up..> [客户端通信通道返回数据]: 客户端真实服务返回数据 + [客户端通信通道返回数据] ..up..> [服务端通信通道返回数据]: 将客户端返回的数据发送给访客真实通道 + [服务端通信通道返回数据] ..up..> [服务端访客真实通道返回数据]: 返回数据 + + + + +@enduml \ No newline at end of file diff --git a/Cluster.puml b/Cluster.puml new file mode 100644 index 00000000..a7bec99d --- /dev/null +++ b/Cluster.puml @@ -0,0 +1,55 @@ +@startuml +'https://plantuml.com/component-diagram +title 网络代理集群模式设计集群初始化 node1 初始化后自动初始化node2 + +package "Network Cluster" { + + database "Network DB" { + + } + + node "node1"{ + + node "Network Server Node1" { + + } + node "Network Client Node1" { + + } + + "Network Server Node1" ----> "Network Server Node1" : 5. rescan node config and register + + "Network Server Node1" --left--> "Network DB" :node1 config story get and use + +' "Network DB" --down-- "Network Client Node1" :node1 config get and use + + "Network Client Node1" --up--> "Network Server Node1" :node1 register + + ' "Network Server Node2" --> "Network Client Node1" :scan node config and register + } + node "node2"{ + + node "Network Server Node2" { + + } + node "Network Client Node2" { + + } + + "Network Server Node2" ----> "Network Server Node2" : rescan node config and register + + "Network Server Node2" --right--> "Network DB" :1. node2 config story get and use + +' "Network DB" --down--> "Network Client Node2" :node2 config get and use + + "Network Client Node2" --up--> "Network Server Node2" :2. node2 register.. + "Network Server Node2" --down--> "Network Client Node2" :3. node2 register success + + "Network Client Node2" --left-> "Network Server Node1" :4. send msg to all register server ,tail it scan node config and register +' "Network Client Node2" ---> "Network Server Node2" :send msg to all register server ,tail it scan node config and register + } + +} + + +@enduml \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 00000000..2fcc70b9 --- /dev/null +++ b/README.md @@ -0,0 +1,320 @@ +

+ + Maven + + + Maven + + + Apache 2 + + + jdk-11 + + + jdk-17 + +
+ +
+ + Gitee star + + + GitHub star + + + GitHub star + + +

+ +#### 项目介绍 + +wu-smart-agent-network +是一款基于([wu-framework-parent](https://gitee.com/wujiawei1207537021/wu-framework-parent))孵化出的项目,内部使用Lazy +ORM操作数据库,主要功能是网络穿透,对于没有公网IP的服务进行公网IP映射 +使用环境JDK17 Spring Boot 3.0.2 + +#### 项目地址 + +[Gitee](https://gitee.com/wujiawei1207537021/wu-smart-agent-network) + +[GitHub](https://github.com/wujiawei1207537021/wu-smart-agent-network) + +#### 架构图 + +![architecture.png](architecture.png) + +#### 实现原理 + +##### 服务端创建socket服务端绑定本地端口(用于客户端连接) + +```java +package org.framework.smart.agent.network.heartbeat.server.netty.socket; + + +import io.netty.bootstrap.ServerBootstrap; +import io.netty.channel.ChannelFuture; +import io.netty.channel.ChannelFutureListener; +import io.netty.channel.ChannelOption; +import io.netty.channel.EventLoopGroup; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.nio.NioServerSocketChannel; +import org.framework.smart.agent.network.heartbeat.server.netty.filter.NettyServerFilter; + +public class NettyOnCloudNettyServerSocket { + private final EventLoopGroup bossGroup = new NioEventLoopGroup(); + private final EventLoopGroup workerGroup = new NioEventLoopGroup(); + private final NettyServerFilter nettyServerFilter;// 通道业务处理 + private ChannelFuture channelFuture; + + public NettyOnCloudNettyServerSocket(NettyServerFilter nettyServerFilter) { + this.nettyServerFilter = nettyServerFilter; + } + + /** + * 启动服务端 + * + * @throws Exception + */ + public void startServer(int serverPort) throws Exception { + try { + + ServerBootstrap b = new ServerBootstrap(); + b.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class) + // 给服务端channel设置属性 + .option(ChannelOption.SO_BACKLOG, 128) + + .childOption(ChannelOption.SO_KEEPALIVE, true) + .childHandler(nettyServerFilter) + ; + channelFuture = b.bind(serverPort).sync(); + + channelFuture.addListener((ChannelFutureListener) channelFuture -> { + // 服务器已启动 + }); + channelFuture.channel().closeFuture().sync(); + } finally { + shutdown(); + // 服务器已关闭 + } + } + + public void shutdown() { + if (channelFuture != null) { + channelFuture.channel().close().syncUninterruptibly(); + } + if ((bossGroup != null) && (!bossGroup.isShutdown())) { + bossGroup.shutdownGracefully(); + } + if ((workerGroup != null) && (!workerGroup.isShutdown())) { + workerGroup.shutdownGracefully(); + } + } +} +``` + +##### 客户端通过class NettyClientSocket 连接服务端 + +```java +package org.framework.smart.agent.network.heartbeat.client.netty.socket; + + +import io.netty.bootstrap.Bootstrap; +import io.netty.channel.Channel; +import io.netty.channel.ChannelFuture; +import io.netty.channel.ChannelFutureListener; +import io.netty.channel.EventLoopGroup; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.nio.NioSocketChannel; +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.client.application.ClientChangeEvent; +import org.framework.smart.agent.network.heartbeat.client.netty.filter.NettyClientFilter; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelTypeAdapter; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.utils.ChannelAttributeKeyUtils; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * 客户端连接服务端 + */ +@Slf4j +public class NettyClientSocket { + private static final EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + /** + * 服务端host + */ + private final String inetHost; + /** + * 服务端端口 + */ + private final int inetPort; + /** + * 当前客户端id + */ + @Getter + private final String clientId; + /** + * nacos配置信息处理应用 + */ + @Getter + private final ClientNettyConfigApplication clientChangeEvent; + private final List handleChannelTypeAdvancedList; // 处理服务端发送过来的数据类型 + + public NettyClientSocket(String inetHost, int inetPort, String clientId, ClientNettyConfigApplication clientChangeEvent, List handleChannelTypeAdvancedList) { + this.inetHost = inetHost; + this.inetPort = inetPort; + this.clientId = clientId; + this.clientChangeEvent = clientChangeEvent; + this.handleChannelTypeAdvancedList = handleChannelTypeAdvancedList; + } + + public void newConnect2Server() throws InterruptedException { + newConnect2Server(inetHost, inetPort, clientId, clientChangeEvent); + } + + protected void newConnect2Server(String inetHost, int inetPort, String clientId, ClientNettyConfigApplication clientChangeEvent) throws InterruptedException { + Bootstrap bootstrap = new Bootstrap(); + bootstrap.group(eventLoopGroup) + .channel(NioSocketChannel.class) + .handler(new NettyClientFilter(new ChannelTypeAdapter(handleChannelTypeAdvancedList), this)) + ; + + log.info("连接服务端IP:{},连接服务端端口:{}", inetHost, inetPort); + ChannelFuture future = bootstrap.connect(inetHost, inetPort); + Channel channel = future.channel(); + + log.info("使用的客户端ID:" + clientId); + future.addListener((ChannelFutureListener) futureListener -> { + if (futureListener.isSuccess()) { + + log.info("连接服务端成功"); + // 告诉服务端这条连接是client的连接 + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setType(MessageType.REPORT_CLIENT_CONNECT_SUCCESS); + nettyMsg.setClientId(clientId); + nettyMsg.setData((clientId).getBytes()); + ChannelAttributeKeyUtils.buildClientId(channel, clientId); + channel.writeAndFlush(nettyMsg); + // 在线 + clientChangeEvent.clientOnLine(clientId); + } else { + log.info("每隔2s重连...."); + // 离线 + clientChangeEvent.clientOffLine(clientId); + futureListener.channel().eventLoop().schedule(() -> { + try { + newConnect2Server(inetHost, inetPort, clientId, clientChangeEvent); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }, 2, TimeUnit.SECONDS); + } + }); + } + + /** + * 关闭连接 + */ + + public void shutdown() { + if ((eventLoopGroup != null) && (!eventLoopGroup.isShutdown())) { + eventLoopGroup.shutdownGracefully(); + } + } + +} +``` + +##### 通过客户端与服务端建立的连接进行访客端口绑定 + + 上述连接会形成一个channel,我们称之为通道(本文中简单叫**心跳通道**) + 第一步 页面GUI进行新增访客端口而后将访客端口与客户端绑定(如果客户端已经启动,使用页面客户端下线触发第二步) + 第二步 客户端与访客端口绑定后使用**心跳通道** 发送客户端告诉客户端,你帮我绑定你本地真实端口 + 第三步 访客访问,访客通过访客端口访问数据,此时访客通道打开截取访客发送的数据,然后将数据发送给客户真实通道,数据返回后再返回给访客通道 + +### 功能 + + 1.内网穿透 + 2.服务端自主下发数据到客户端 + 3.流量监控 + +### 项目结构 + +| 模块 | 版本 | 描述 | +|-----------------------------------------------------------------------------------------------------------------------------------------|----------------------|------------------------------| +| [wu-smart-agent-network-heartbeat-common](wu-smart-agent-network-heartbeat-common) | 1.2.6-JDK17-SNAPSHOT | 内网穿透公共模块(声明接口、枚举、常量、适配器、解析器) | +| [wu-smart-agent-network-heartbeat-client](wu-smart-agent-network-heartbeat-client) | 1.2.6-JDK17-SNAPSHOT | 客户端(支持二次开发) | +| [wu-smart-agent-network-heartbeat-server](wu-smart-agent-network-heartbeat-server) | 1.2.6-JDK17-SNAPSHOT | 服务端(支持二次开发) | +| [wu-smart-agent-network-ui](wu-smart-agent-network-heartbeat-server-ui) | 1.2.6-JDK17-SNAPSHOT | 服务端页面 | +| [wu-smart-agent-network-heartbeat-client-start](wu-smart-agent-network-heartbeat-sample/wu-smart-agent-network-heartbeat-client-sample) | 1.2.6-JDK17-SNAPSHOT | 客户端样例 | +| [wu-smart-agent-network-heartbeat-server-start](wu-smart-agent-network-heartbeat-sample/wu-smart-agent-network-heartbeat-server-sample) | 1.2.6-JDK17-SNAPSHOT | 服务端样例 | + +### 使用技术 + +| 框架 | 版本 | 描述 | +|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------|--------------| +| spring-boot | 3.0.7 | springboot框架 | +| [wu-framework-web](https://gitee.com/wujiawei1207537021/wu-framework-parent/tree/master/wu-framework-web) | 1.2.6-JDK17-SNAPSHOT | web容器 | +| [Lazy -ORM](https://gitee.com/wujiawei1207537021/wu-framework-parent/tree/master/wu-inner-intergration/wu-database-parent) | 1.2.6-JDK17-SNAPSHOT | ORM | +| mysql-connector-j | 8.0.33 | mysql驱动 | +| [wu-authorization-server-platform-starter](https://gitee.com/wujiawei1207537021/wu-framework-parent/tree/master/wu-smart-platform/wu-authorization-server-platform-starter) | 1.2.6-JDK17-SNAPSHOT | 用户授权体系 | + +### 使用环境 + + IDEA + Mac、Windows + JAVA >=13 + MAVEN + +### 启动 + + docker启动 + + docker run -d -it -p 18080:18080 --name wu-smart-agent-network-heartbeat-server registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server:1.2.6-JDK17-SNAPSHOT + + http://127.0.0.1:18080/swagger-ui/index.html + + 源码启动 + +#### 页面操作 + +启动项目后打开服务端界面 +![img.png](url_info.png) + +默认账号密码:admin/admin +![img.png](login.png) + +初始化项目 +![img.png](init_menu.png) +添加角色 +![img.png](init_role.png) +为用户授权 +![img.png](authRoe2User.png) + +刷新页面 +![img.png](cloud_client.png) + +客户端管理(客户端会自动注册) +![img.png](cloud_client.png) + +网络映射管理(修改后者新增需要映射的客户端) +![img.png](mapping.png) + +访客端口池管理(服务器端需要开放的端口) +![img.png](visitor_port.png) + +流量管理(每个客户端使用的流量) +![img.png](flow.png) + + 流量日统计报表 +![clientPerDayFlow.png](clientPerDayFlow.png) + +客户端近七天使用流量 +![clientPortPerDayFlow.png](clientPortPerDayFlow.png) \ No newline at end of file diff --git a/architecture.png b/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..278da26b0e1f27d8887b2fe41e4c7e6f297d818a GIT binary patch literal 110457 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
+VyU9Y3CfJb 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 z zd+fCEeH6?6Jx>ku6(9B8gAG*CUrJx;RTrOOiITY^@_JTxt-4ae-j<4(#4i3Kfv)VM zZ`rSI#_xN+dx|na@3x$Wu|>X;Nyrf$pO%9AC<_AVxJ_>7QOSMKQnB27r^)ZJ-$fRo z4Wn8^yo5PbE6cJMHQX!di;!_ute^FzDrft!TbEKnDcw+!ib{0D23LR&AfOXSa&3rN zZZaQfa7*;Ae4da{<2E$hoL2g;4p_q@=a(eYShDb~!EI^wkWCt43a<4BT1VvI8HXh2 zmCd_?s{tX*R8(J(OlqDlTdLGQc2UGf>4^=MI{gBzS&-j~_(RgdRReB(%6~W}9BZ}f zJ-atbKcT~1OVZ@mi(XC(W85dr&=zdDTzXW&b0z!M27*8bokm0!S58xIXeN!~ra=q- zoSaTDnOzo>FdU1WTIi)$)*$rkG8`Q*z)OJ@K_Oa+=!RKV6^r^$hJZ`I@QAXaNGozbLbo_evEvzMU&d^v7OD_-B2f_5Vu(=@)BX zNY_gnDkA0&j6`EBSRXw}`SV3qk)u6#%J`s80lE3SB&YdS93 zDs*?&uPhepE8W7e_*j;+snem#{jF!e(kPd|@3!zC8n+fpmzegNY_bHr^FX;m%iwBV zpMG80x(7`d$#^K%VTeJt)#F&fM3@en)$Qr$Hm?$4LX$X|6rFei`9A$JnpazN>2giV zPKJjrG725ZQ(oiU*2H?ERx~?pQ%xSHhfF$L?;5AB~bca;%Q!;8B>-n z-bWOXmL&dh>61f?-_U(|25+tjtQ?sKLHpXqs>>evO6AG53+!je@XPnJX^ZEyRTFQe z6UJ&P=G|Dq*}T_$r<0suLGp3Hy-zhxs7Avcly0?rl<@s$Hp{wEc3HFzfXN@Q&y!rd zeV2>NI@fVnA`~Bsj;jsof5RC%{p4OAAUruL>!-mY%wUZ$f40N z?XZe!>z91B#elSBg)ien_{rP%X48^#^)@T?pz(<;6gEkp@4nwwKG;&|Gk<;y3xpVB2euo0@d~O?OJ;Ck*aGpGCgi< z)@GY*n>S@lbnSO4k1E)cqY86&g2LymdZ9=-oSVZ%f7iCrUewSbDm>!n?y!k^n4aG;MYh^CU4o;}?a+p0-#HPQo z`pjD}{hjI)bY7#VeQBxN8qdAb4Azy7XPvYRQeW>gpgzy`7nT2})vK2Xb6!{wUiGz} zCURk0g%!Faf(aJJC5JWQHwR~68q<7PgbppBS$It5j(ub1Lf_4&Rdo~9AS!OM@v7wOxH(;_mg}0S z%H9($<1}<|Pwyca=Y1rtZDwCXq0BtF@}WtsO;?;NdWuU*hI=hppk` zNRoru8l=*6>}1DRS8}|NyN;V;VjgI&%lL-d@2HDm?-bnen3-}%yGA_XGf%^La?-Lp z{Er_QGfJM)eQmZy;q`RHNt2^+05W#FHTGmHt)ML(shzh#rrOLWOJ;E5Gla!J1x}ZQ zFjIV3Q91#|UhU;gfsaMKlMe$$PcyN!U~>{$#Wuv^+xl_YaedNFYOCPs$_PpLB}BaR zYZx~9;0DJo_>z@=b$WYpOE;+HQ51aC8?5P?qoK`bJy!QD^QdbBD6wx(_P=}G2F69P za((vf*Egq|;s&Y4bJMM1J?%h9!Uq{iu{VRlF7ZJ;7kI&LQ6tV7lr*{d{)i zU&RchAQMr++==AlRf#v1m%0$ zrJB@RkEOT3<-;Wta3I(()eIyGmSvKQWTvZECA4}|R;B_s9p7iKbxD4C?sg8o3yUp# z)mISiEDFZZogJza##-nVOX_s{?7-o8Nv6g^*70--Uv!0d*;Np@S4Nt5vJX5b-+I>H zl)Yvvl~Z4k6UU22Iv0m8Ma1OMOH!9KyLJaNjR34`3Qh6Y;q*pu)ckB|p<7;W^`#f} zwaPF&&ERZuYMaG`AebCxj!t`c>dA<{PXFtz%{wm3mt~ShK)xCZ9(B@5<@0+BvOP>7 zxW3h8a@%^#P0{sVdiA>0fmXHI>Ps6(fWnGPg!PqCfW36zhs3GLtrJrCY*g&T-f~`- zgS1^n%%s-?;i2?b=CB>7>Gm>Q$sauCY6N-}+5Qrk^~M zg_^Ht<-1*;S8G2n>1eAS7Rz|nrO{Hb2dQxvJt^%FL~bP#dlB}_YIBkjt+o2_B?t+jb)pL8-rW`UgKcpyKg=8)Sz%=4sV@~73vTqxPi|uu`G8Ro=PB0J-np;#7ulRACgEjlyAF8Pbz_BoNPBke*X?{9wEIMT z(k_aAh;tRI>`qFOBd{dn351mLf!f8E;$KX-BNp~fZ+_lSPXc_e@_;5_tJt8xWE1n! zM{FNB>AI>SI|v9L;EErmGotC$BT7SMti~6o>xB9x;T?Vv6^>n7HZo@$$X*4*8yvg(IE}oq^#JQvaj6k#Csw*U9nqM6c1NwKVOd zCt<4qpzh6#I^}wXa)$N194t`)sxQLHIdt>Mg)5=UJXC!Cl#F4sPojO&-)!&}deME0 z02H-VBvt7*=9)Tf0pMls-leCR^iiR3K|jSd1N!4W`&14|*6s=D8lE*gmg6yY_~GA^ zhG#_4xG0hjf9!@9Tq7O%mUGxSd!Kjeo9l9(IDuZB;xI&W+8&#cXOg2M**WYX-RQco z;`ZBO&Bx8F(a31`fBvk@>@V|OMQSdxPI6)4n$Nt}Geui%8oa_DYB7Lhzo;O{h#14@ zbS~V8tz}VBQGo5Oqrk_t=rQz;c__r`wb`PM8JawrtIH+1%JfZnbI)MliZ4a@-Uu0y zis2$k#-OYbY+OzLQd4@xAcpbEzZ*HjBHJITbLM4rG)kFzb&qSM1+C=VRd$?a{CEy- z9+526spnf9Yx?@69nsV0P;s6kym;Eo%gTp}_gLJOIcqLd5fobNh7Rbs<@NZT31iA! z47_^|_=tSItIDzgV^j={B}#bG$4-!YCWQ_A!ry-bq!oMKHZb8_yM)Pla;@)9 zO`q`_p>D8Q778`$mA`><2-gLz(GF9{)dSRaVKjEc>9vEM!al8IX(jE`MhWNd%P6#0 zy!1BOyjgB=mX$}*fMoF0MyYN>$2sJA?DLGWhI0L@SsRA>91@PJ4VVrmjj329K6&%V zVCuqsvf=e(+qnJCOg^I?XD%(Ao?#W4a#+^eQZ;BY8PrgIxKC$+)ydkgW~qH0Cn<$z z(pf!)-b+oO|C@YDEJ%Q>w`+-|Udrd1yp!g9q6uStGXOm{9h{-Gk{;ioYb9E;RYC2d zUfU&#{smcuXC`K8`o=R@SE^ENqLXJBZ}HGsCej$MaN^nir|zF9S1<*;omiY}ME^_J(Y8HqbQmwb8>$>+9z&IxsOuJ@B?W~t5x<O*vCUF!d z2@}xM&o4t4-i0XWL4)G*|EW(;ux!557k;^x|9tt?Xxyv<>XE~8fbGW>MZpI3Dy;F) zAKqI0gFsS^ZUX3`;4d6t0|9EDV?oKc4Lx!&8$gsmhq!XCLmUOK<7`yhKmY1#U^&a@ zXiGo643?0-G%G;o4GQujxMlb>bQm#jM`(^%AU{Ve0NKkxVg8nZ(2{UKV2<`7Gx%T9 zK7MA3M0TP(LWq!?wWAGw+%2t=*}dUwH~b*NY(o+VDv%N=0asgpJXWncfSW+}AV#{W z7k_(-LqkL8>(22(zFz|i3kxy+{pUN<+mwA1#&Eyf5fFLO3r{wn=*N@wK^p*;CHc530zdJY zIx`S}fw9hC+dM&R;vrId2n;dM2+#4`+BU+fg_-!yIpV-Py{O!~lSC7?oZ6*ERdh&JYt<=2#2! zoWQCUO!Ir%2XwYeN}l(B`ndl^ z9#>ThsJm!V3u90Ie9b37&w+{zG!-t2AAFE0w23CrL@h)oUGbFY@EqAiz_Il$dP)%u zP3R25lUB;%f;%`{i5UF>;AZRGBNf_A3|81oxUJZ>qF{!!)X2~hU^J*VdA0|y>Xd6ve*k@z(s-j)V;tOpwYY8BsFjzbVI!bgom*BEk(4cH zr~%!+2bJUX>AhSi|L)s>D>zJVB|T`cIhVQV!SS1Ow=al?4B@ioBJrs;*=B3Nw5Uo@ znT66{vR0a!l86v4G zB&hhzfaOK&ie-7IrC=J0P7n~`ylE?i`E`|Ggm6wyyI}WWSEjzCG=snR%~dekOCs-E z@{o!MW-<9h|HB&huLg`nI4AV7XR5u0gf44^wX!aN362+-8Pfgkp_~XNAJ@T}0+Nuo z+^}g`dvC5!FSF!F6u(ZR+<6~m1Soa4uzA3D0GEEhY#=7GnlH@i#9*B=vj%Ee@EwO( z07R6Qg7*NkM@NYKPUsCds#$FkLN)hT7%ix;aVn3bcrh4}5$C|EEgMpSG9yot+eq(CD9pX-uD zfcbYSB<=)b#Tj0N47uZfdaI`Wd(Vv_JFMU^7UW)p;ev?v)JNjiq0)6M&AA;!QXxlXIX`ARCdY z2oL@qlilKmRso>BE(GRBFNdj+2A!S>MB+h>iz4D1NK$Wf@~1xzpg_n;m_%DA@dFN8 zR~>1%zi8n)GY6q!CtMzMgZON?Hac6w2`6>?#TYUDR&E6s(IzDCV%au!U}Zl?sIJd- zvYLylXLnH~V9+{5((OD%IcwAU5ITHRExYR%$CMqz4VDzN0^ysDvIQzv*tQJgA?WmR zU3@GcOc`A0I?qsBEHH?2HLVc5Jzh}F;8x_;m|>>U#Y*Y%`F4)_%O{8;K*mMhbGT3! zEM^s1L{HKO)c_%>>NeMM1Qr)qe*?Cf4{)cM$o$8&Yl<3RO#n*;zD=&6MV%zZrgWB| zVS^CM#aMoV+*=e2A}vA)|M+EPuf5*aYUK_-rh z4w{}1Ez6hKbifv@E*En(hXx4^lGm5Z#};a!e*OwX7#-$3jH=AnCy}P`ppl_SNZD-k zo|3;q^o+!7t8x*!;~E={of?p!bnXxvv`vBN1R6wwJf*nu6x{!b>@g(2NbbO6HoG<$ zP0vHgfaksM@fNO-fygYo@XcCF|?xkr_+1O5f$s7Qmw5zCJ>X0|~QNe0EQT6V4A zOXa-aAkhxXx|MHnHk^x!N={U@T}h*?t~5lGmmK_-XVyoC*&v{Do{x>uM`;_)ni=^v z4ic>}`2qyieK)eOk1gmX82CWkE=|(Bk5Z4Y7SCFAK`&$t+iI}N)22_5K_IxRFOB_= zF`4J*iJae9sPDss@!u-Ee>#v%_2NvT{{=#Avwfe@; zC!PRS+B;ks@&JR1Z;XDKK?7;RQWTE1ILo55ey9i3t=InZJ@fhPkDoJ_yMF)QZ!z(| z{a;Ds<%Ap?1m?9r>k~RHpT^0cXNu9XY}LO=4nlEUPJJnyCCKnx;93j)BMZnghO-EW zfyjW8=udyY{*@ef4z{q7#}y?90-dPZeg!Itvh2kq)WjiY&J=_r*I9cHE$PPs{OU%l zE?B!Y@DB>~5jy_a$Fibl-;x>lsId9-($Yk66TA2BLjjGos>oH6uDVvH_!R?5*YnD7 z=iw{#y`XIplY;PFE`34w0<+$q6A*8%E@LuUKPc0e;=9TSLx}2LS)?i@XsQ_-p9|iY zzQ5I~Nrzi6ogG?+;)DaihiV`(IYdimwpQlx?j`tS+mF?+RMpwUpj(NBXl2FaXVSu~ zFHFOWD(}Uvh&Pphj>1nvN_B$xOdDCA>axuijCdOc*L;7QK@mQ(+s-3i_bJ308Akm$FvgcT>BBem73B-H2-Ma6UKR@Fk2} z%E~Zhacg{=4Z7=?55gH1lO4Ta!N~>N)VJ)y2t~zGV&DK6yVEdVj8lfC7sP28&?621 zB-D=y8;^;|$PA&EH+(Fp`^FEU+5Ck>-vIreh7{<4uH8sit)}9geTYK=F(80$iWxTk zo`4B{s@^X5&N^o^TA*c7gdNo-J7^^kF(fb#;~fRdFUL3?*1yUx3@^0((6qK@aXNI@KJ5 ztPv^q?sU_QNDt6RI`UCJaq~iW4mRJl(GxMk<{vZBxDFRuH)9-qIG7N&xn7(T+5V|H zPgVrGk{II$y0qoWpzg!JKg#HXf`i3qa0%^Yqcj5tA*&Hxmacl1r|_m~g6s@bEet(j z(}Q%GE6xtB<~V<`r6)>RZTj@s%?Y5SNy!gUR08 zKPC5W6BA@uJxMv}Vp@LT616Asor;1>s}kTLmF zdPUM4r_=meG+(Q>1k8rYSnJjvc`dG}zNAcTk-QAZWmzz`01Buvu)W6WLcG`b8{}Y3 zPl^bFxU1d10)Ax-iAxyUU@fwy_Pp56k8sWjjfiMDR7{QazF)T#g45phJJtWFVHBY- zGc>G!enm|t5~;d?T7b1S1BoE+xS%`s*@Un*3WQJAg<7fidG}CvwIh7M0h5rG*M4Pf zii?YbZwN?dJ5J}py=AQTjqK{xkF~vKbH8V)gd>e2531)!HRglSF!R_q73x)eg!u^T z3x4l={%aQyVnXkNZ*tY|dmHD#oVfA$q5{Ms)HX`z#=Q4m>nxIkG+!5qciz=f^a4o5 z9hdJOs88N@Xv<45i)lpAp!$5bU}eyv;362XZa7`l*x0BiftiN zN=kw}+}ib2rmZt%IeV+1BM9AIzB6;FTMSwH!A~jege}_zLaR7A@mnCAFPWH!jw`I% zG&pg~p#)Fzbx6a+a8ukA{DZ7{XzkZe z@y2b4((0i?~9-iK3 z4(gp-P_u}4c)17#U(CP&7GofOf!wi=x{AFG83`l73kfBa1t_66z3%qudMc{FRXI2E9NS7DULeFSI(?WJn%VM{u5lQQ^dwW@F(p}5 zD!madvZYTfBvD%CIpT5!_k;`#zVVep_Xd;0w)Ad-T6s!WaEZ$A zN5Sg-?jM#7(cCwBhLFZ|*S=ul;B4~wxVT2hJun1So*UCKBPzh>4JF#bQ+T+S=tQ9l ze1T$%aIyzQqt(B?qr>Le-`VK$xNj7Eu=-yYMkspGh;3fJ1B@Zt`sCp0g!{~q7yk7+ zEqETx@X-k--7Na;@Md9-y#M>l=U`zLlRx|!vfbPSsb6mHyqNd@%U{JjK(fVAh&kvQ z%m1+PlejNn(zvsasMUD9uV1a$#wiX%&yV{mxiW;-~Jfy=WiCF5c%`fzenBt zVUHCQ`;a43guc&S#>dwJkvJBaVLbEce*zfcAwZOQ|9A*68>pMtJ^V;CDFTegY5>uKfp&CKodt!uOmqh9&kgY215_AT^P;UiI|3`x3*ek zpkZUxUCK!IounA4>>pmKbJi37H{el)jEESkE@av2ICF6|Ja!_WuY<3K|6xp+!EHpv zUnP{2B2>$uzE^k1q~K-DcSAO$y6^;HyMZGYW64eb^-EB{?)o3z2uF_@ahE2i9UOle}$zI3>e4=jsvC#k)E}mNRHs$bYJu=f{~VvD%wkScD=|9%S+KS z1|Vsmdv3;fG~an&P;!?7--F*BF?MRfX4_cF1RZ`Si594kTaYq*B14pqS)I^czJpXieC3Kg5Nct3 zpQQ(IO#IqeAZaq;`ED=Qg5P#48OdjR8wg*KB->Te9x9O$`r~UK&t#v zJO`DanX{yX@|Y;Sf{k)w)vxBKTLaW%raOn8vOO z72Tu{S}e>;rX`^~^KQ`t3r=<#2JM@aLz0I0+zwIHvn@;6c22NmjmV=?{;`MngU2oj)6h0HmdAeVuT6ofZHnQRU z)8^*>_svgjj>YO&x1y1wyEqij_FC9AoX8&;AUctP$8u4ryST3d_;u*=@U1@_edsPU z>=l0pwTx6)s_Fqx;N6P|3*K-km2?&$v9F(LUVYQtC z4+PXh=)VAMySDAzR=Wm(>@Xcd8H5jvgIS|gzj3b)paY7p_?+F4|0mHDw0Dfj=Tj!sicZ%Ntj)C z==H4&>j$swbE>Rd;i(H7@_e}Q5~H*$gO*OQNip3OZpMrsUnyMMNV zjrpjOta)_d)_AyxKM&;dcEhN^chsY1$y&@=OSNoQbU0X*x9n3tftvQ@Az#KJLO~Bm zaOofm8QJzUt{2{tE%YR9u(Sx%9`1xiGR+N0zoc*G z@%tLt#>=7y5P=S35-_%@^9mFz>)}*fw;Jio>=Unr3vn7HyO|xwYjQWDKam%E$T1cX zAUJ_&ftWKr3O>qY*3>TJ*H9N{2d8TOy{&2qS~2LgEy2$`jg=nfn}Mf5guX|Zvl+H@ z>R!QS9DZ!(6HCnov|w&aYu>ujS=Fm2%fZ&{rk2%OCs}G`pRVE3Rk+;SIv3UoQzW=C z=3v{LTMEeFF!s`XoZ15{0Uw(rleA)g59<0z&){p=6(|C>#fWqDW6*(qGtprtn_N+) znqqSpj#oIYy^h`gy_W9)a_7bwv_UANDHF)=_Ct{GnB1s!P9!|1C~!lqCYY%E7Etm< zvVPKu@Y0#wtFioC@I`QKH^uTPUk?om+PqqIyhMj{;%S)4HMH|CgyYwRvkXm(jYFk7 zhC81$gaD2rH*D$92k{o~NeO3S&?E&y0jSGn<%@b`aii!mds8i2fd%ksGaW`>DHk?5 z*zqVMUfJ0$C4uoPJF9A<$b%oE@TXPA;>)=3vs5UKMwucOa!F|^Z0u9l-h0mSMPrI3 z>lRR_h4+1HFJh+}TV2vJC#Ztng7>J@sS6M?wR{;P@8NbKE^+KUw|;Io;lhe98$x4< z#MLOBM|*>PGiQep=8rR9-+6&=(Z9B&_M!sRdJLIvNOmc4W%#|hZwh^8(@unM0Un~h z*8_OL#dWrV-cpB_lAupy45B9yRmPK0=zgix=}0&%n*mCLy@(>$6?heB(S4BU!gh1v zR`W5=mPS*++R2Zw?c1~9p)r9%)&(q6w5^uI_aEmrLdltN+vZ{L7gklr&^XV!payJf3|NDmi>;u*Y%)%i1VO?l2^&Y1^XSnzSy@K zIEpU=wnlu^X>NwwEZT1aFuOVMguP62=(gmFjuWS`BIp?yHVovVchq|uzABR&R&ZoP z22Tdr>HgM|_(WG^I4I{hBuYz4Fz2QBw(!Kp9Ue2Ar%f_{-=%^%ZGXOmVH1oZoZyy9 zQa}A4&L@Q zbC8}iQ}ZEEPnjD@A+EI3P_XbnJ>>~IC&lVvXC!qTPi*hJg8TB0d_es#ISK>vIz=?`21m2GUqKVj4A))=X7rP5BEXczI0nHUz!Tt?-zHiwY9aVs0j6j z6375`yVCS6z+(rF8EFGE;ne(pUChO^<1tcZlCkwyc|bnER9)PCt4pJ#V>qEeM*={m znm!o(??>SP4Qv-+o)3l|(b&@Qpi6vvCp$ZPz;#2(u|K`3-FMkif!~kSma>u7i!k@Dy&$VeeCpKRn8xSpci;G8_1l7Qzz05qWgmPh_+wcj`8;a` zdJ0}&RQ?Yii5vhOJQ`;)<_Q^1f^j8gIiGZ})}DfU;7Dyz(dNA9psD&}2Gy@*BL5b9 z|2gvIj#qBMM}ItXM)-Qo+GBUq>Q2$y&_w>*J!^iXhQyPs!DJ3L=KG<(^7W z9xA^-Cy{s>LFdK4{RYZNo!p5dCh?)#>1Tpp>JIIXNPhqOp;Qpu2Ay&qSvW`{8W;CiS^j_IJY47pDmCjWGX z975aT3)IZImlbxWOJf!ZhLyJg7Hlj)JxT;ncyvIgfiskljAC*j;?(PL3^g{*H21CS z9>*>tMn;P0#gp3079ZihiJj#TAtEnt{L=pI{XQUuWff4KZ7AymMt0B$>!QRL=&)Kd zhA+C||DIobvsr)Oh23JTU@p{#1bh4$dJ-rf)$ArE3K|oRX+6joyH@+hr&P8Tc6H49 zorZ3 zo{@Vvpns#Kx)8Vb5*5?oT@Ta1}frgqqPsi6Bc zlHsmFK}m_6(Y(Ki@SPZjF~4V+nT(|;9urQXTGa74k2Ef#PQavO72u(byX}Zgb_j`o zJ_-yAE0nF>FL+XLc58gnM!MkWn5p&GAqc1?vM7Ne7Q!ZHq8oWWTziGrrn|F6A;I1F z>4jaeYF>sG>XUURidqKCS8zY5iT~3^3T(thR3dS}bB@HvKuHMgz)Gww#g7SS2r&e& z1H``TitiyY3N!RLG`GIM%0U)g(H$S%U3px;r7*0EY4gjW8+2+>fQjYy|mf6 z8{G!Y>xk1xl!U~IAlK~JtNsGLxMQk&dSBRav9J&$x)5c}6Y6e3x5i74geF^LhmUN1 zx!DsI&j;7E$Gm?}eIH==>{0;5XbHX~~Zpna*+Y2}uXEz;*?(F`1^{YR{ z+Oi7do)9hw#C{ELZ8g{3gkL&c>oapIoJb}6ns6@cLicm&;>B6_*?bwZZdtBtFZB@| zoQ8I`aX)MakaVKIcj_qzS3**pqWc{;Sq@B?kPspyNp0#WJ1#HhCdODn?({V9J#rB6 zVFF^R^csnIx>;U02hlvU=m56^C_l^9T_h34=enn5M@_N+QA4$HX89&09l%P^&|xMM z)vn;*2!Qffz>6Dw78L-#z4&Opgp}I$;y)Z>LE)&#`B|z{W~}j339SNP!6EgF?kOlB zVGpEHC3}%qnZ)@4jFxA;<$#SM4kD$dmmW4nHBZP(%I>@ifNKecJ*nH3qDTa}YZ8PY zAYvV~q>oqO({&4k){om43fw{H!PImT`U;tK$jOhXY@d6aUl9`Eb6CJtbJi3QFP!HB zW?R@?RbqxjjpH6WmZanBRG zeh=2SjsUFDI$NoN-CMJqoJrXjj-zVt*Gaw+iFe5NMlt%S{&-J4)mvbpa{I=+>q_Zu zur_+YKpZ}V4W4D;-829WA|4eT>XYK)VwJ6@GW*l?EP!P#jAsgzF(50iGrpT%~^nFz|+W?#|fHs{%maWJ3G)_t^Qt6^5JGs^MjN zhL~-y{J=6HKFyc$Xne%!X~x0AA{&+4ZyKW1|8-rL0c7DQewJ^mM2fy>miTFdJvVhf zs2IMBPW3Jm{%CAGTab&xUNjH|GL={Z+c{4pxt-3eecY zK@ZQp`ztyw&Z27LFUTe;EX-%rU9N`UbhY<@&^_kM#-%2h6Q%E`{}!1%dU@#Zih%Z+ zbb*bmKNG2eGYHb|HG6M-=?Pv=c69k@rUY%OY|$)5!nz)lJooyM@bv43kNAGBqc$1u z1>#`0!{=k$)kPm>rjB2CdVI9B=%{+@XH4=lW5+hIB8omwgetuQLW#otYi2G{JOJR_ zDl}M(k#`pW_vh+$qwcYbPZpecQ!b-NjolMCNsrT8|P!7<-(XEV&-@A zJ?|Yg7a?8?vK|4l(eX;?pSnA9DM>&;08s+;ltZAeKX(QsN-&ig(%&HiVeYX9a)U|r zS?Ai7+7SqXF9MYC8EoBxNFMnVo?juA9?+E%rwa12q-RLWumQt+5ztkKM6%h)XGP5J zV-B-FE$NdNCW>SthE`oeA+LGx=&Kvc4#N^55QBhDE^TIu=vR^N=}G!mWT->BBz?Q1 ziFfA;1~XlfXqGqW?NL*Cded@}j-1IZTqCA>%L&PjDDC8imC_bTumw}e>X+vV^Rr3y zsd^EO*504BM~i3>4)g#Nog7*(WB3XN8s+b|2A;fwu~K%eTk3pJ9hdW6RbMq@<~Ukp zR8FypAA;?KEnBw8J0P+=^!y^JdSx`*PvrdU9-f3h{#54lI+-!#V2^Oc@+4C-KzK%@ zBIiwVPIxZopFe+&dRlvSc4^)ce*_g)IX?6=55HP{gi-^^&SgkBAS!0$RX9zf0CP`Z zMWD>tZ{P$54unYj3poL~2azzocIaR|yHd){Y2@Sf2xj)IoTMR;eui=pp?<2=-NJIr z0K^B`eUd3qB_NoX$_az_gv7!(Yx<_Bv`xvi!gw)Hae&oWxw#rUo zNEic8>~I`8(*W%g1eo3Sog)1_)E<~(q*=x+s8Y5~kM6IXDZeILshQG5BYz|1wL-wc zk0neiE|+f3z_wXLL-Qm>ea81(Jo~>A7N7O@&Bjl?GV+HXLl)k7IM%68`gs~+9TwO* zU;%RSJ>~KL`iW*(!Z_s1g&kl>Q+7fr_rj4t->o1~aRJHxkMBByIE+Ypk?b=l+4a#P zF_g@4(^)K1r7f95=U+c8gCG$2bL?;Za>k=siQWaUf);>~4~Bw1CEKK8T(+P8H2qKA zZ^A-Px^m?TY6zTQjn9Ry;6!#dNJ<%&(tqSMA^qGE=Lcb%tWzD@NNMMpmb37hWdfu|Ll;1^Rx5w3=jvwLT zBDq7)`6o2gX4()=&@PX}a1kDAwpvSB)64CSDV!71w3m0BfB$PtVas^x6WY%fxUgI$ zA@Jr-p7hS}7hAerZj5gIC3s$S``|LX)`?SpYQ#NPp}bA|y*%&f9jV$5zt&XFcHn`X zx|I38p{MgeyEK1`P?h6xZ4Xmz%l2bT3YS+uGWaC{sFKmNk&ihS8(eyl)Nx3tdwKef zjZNFMU3ioVvv~gW@taLkT|d1P`+6WvF6&ahE)R9*E(!*tRJIclESJfAe|krehyAkJ zW8$l%SOXVsJb$wEm00;ZV!P8^d2zj-`dH{3&q@&ZcGD&c}5vH@aVtr?0xc zh$nrASpN!Pg&~zc+`!JbtFk;#s-KiuY%XwG$KtZoD3zyANLb-ae2X!|@6VQtl5Zo^ zY=WkY6X)5Ti{(u(8#XIxyR`fK>E0~-oVQ!C_P@N$*237dp-FeP|HIywhf}$>Z|_VY zG7llN44E<|sYJ01MJW=M%t=&+CbLXg%d8YqDN+eJwrRf3Qv4MQNaq8foWif)cCPQy-I$AH{B&8rF})EsF5NB~jU zFR7WbLxEHjF6GB6StNvs+u6~ZLD0Ed44=HeZMboy4>PS^#F?E)-PJceRX=JH9Je%%Ir zeGqVn=HN|looy-9fXJ4?nG=4c{qndc)MK0C&%Lg8a_%dIU?xI}8zsL3VXr6lE7;imS4SHKE!=nb%UjlOf~59)fTZkZwKjpEU(h%@_Hbfh!uK z+V8QvUX7RQI01=e-ay%`e>s5jFbzoCkuQI2Ktvh(H~`4~t`54WgG8dqbB>Q&!#7&E?qA9o1R~*cw$5 zoho7C*SA%!`5_;Mt6iAe=a6NrwZfXeA&uzC$i$+~IVPbep1&GAia|7?y?=P(1FD)W zc%LXTHN4^Tbj3+Y>1V!D?_?yIz3t{DYj>1~Zg{_2&yU89`)JSnA%#-L7LD8axB5$l zAMc4q0%xzwcQ|ikLF84x^qxuq)iVTCXJay#nK@P!)C*RlCAS+oT>pI?4K|)ubzrcq zFD6$TdcJvz9;t*r*?5!2DtZpcWkkf$UmF#wHE0hl+r6M2TIiUBXx)<~r#h(!e5#m}vHR<HKh0VFc1ve?=NT!cq~)D9tB32Cf*KeEo3PZm_UIcO?`~E{nHQrVLJ~bt0OzW< zry=qvQo`w7)^~HHp|oYz+rt*%dc_r}VJF&kP{V!I!NPdIVKB(cT;!ilw{*GzSncHJ2AvX3Pgk@_-MIA*NTh!3Rm-myl?+^qOCN(mG$wA(=pQilbjYolz9FKfU40hRr z7xK{rx+T|I4GBH~B!b)sYw0OOPC(L;>4`>$j9sqHcKL)P?OYC4888KSUb&bo2@ucU z=vA!nEl0-&_I>QMLv6yM6c?UORq~)`iw`<}cr?)W99B&_BlB+-VWQuEfw2kw`&bJI z$s-_rc+Givd*2RIYjY>lvjA5=@$uO(M^Oo1WZi-uMxwzN7(HQYW9KXueCH@i6J4P7 z93aE01Mg!NjGBJDiOTQ$20ZAJZ8wg|l^cY59ZmYv|3Z_z_r4 zuE%0F`iYUAz$;vgHj$K5!r{fOpou{EY2FWt>Y|OEXzHqxzrj+9ke;fiEqLnrCX>!r z7&-ttkf*v=n^#0wx^R8*0(&MQn@an)fWPTqE+o1y5&VSqhpjp0yF$94CXQjS@wD5c zTf&rexQGy2U}B2|hF=5Su6UES%w5pUCjYz_=2?Ir>n~P|B~dE}4t(~h^zwi4YtwLw zHl}k^0)h6DT=;0$z_p-qUEZ;Jq}c-hGmjoI_FXXLAi%ts7485@-vblq3!BYW%OjTPK4LC%qHAWv%Qw<^MpnCk^%*w%H zxFtn!<4@V{wKwFmxa_(DxWa)RveR(bvH|p1-dj8nA^Tc&Q}81~TAG7bDZ`N&+OhVJ zTxlI#SH9=yaOB(Gk2;0DClta}Cpw?$!Xj);)ZdKWbJtxyFFXo{*3oxj3*N!|3k45^ z{O~1k{y%gJrdico(l1nRk52w$CEAtNUNTK(7f$ebYP~nQL--SYm`FM-3(Q8k6ac|3 zhP_E}$aM@>-D=QT8KaZk(??_nmFVgIzK!ebFj`6!Jdm5Xqb=JgQRBpOF(so$|3MFg4@~ zcna?UZ$te|Xx6^W{m3*ijK)6uyAK`{XAIJRs3-VBgJE}&wGUFk_svvO%r`MLjUc3i zH9ajAE^VCCTeRX398BN^<`;*OnM#=?ST4AkwZg~`KC@ZtweGr%KQbZ zj(Mh{6$a6dWKJiAYzd?X7D4g$$k1#s&~o{_j!i>3p#+2dT(q~9*J1u;S74zoY0{ei z*pU0V0*p;i$Oi^5dnz51+w9G)h1hP|0#opM7il#C=($n&nFZo2nv%;kphVX5&{<7c zN)7UCi1eK!^fV-B_8o0kO+)S5#`G**e>0s?!n{+TtGLjB zM6;#ZB~Z#2AO7Qr_K`1QFLw4FXAQVeeI&AaR21W_(Q?sNGfKMZ^|snKZKWF9{(|x? zy~oRwuUD?YDXtgz`rOKHUvqY2ks#cMda#UG&qcEl2TTYTR|GSL$N&K9LZq&M7%ya9 zz#s|}EznS39=Xi>3iFGXPqTvy(Ou1U<{OxesHe=iylZrzD`OI2R{2%^@l*DLgYt#s z*OSnIYy89g@KSw(s5<(hy5PgikzUrk4ndS9OnhnpFIy^ROZr*_gqZw`PcNFQ!)N>X z#WwZo3V`n~Kr=J%e-2#h`c#)G(EtN*bWrmUl*OzkE2K2GcTNDXDxe$_kr>jqx{wGl z?$2m^NZbhI5jTHfsHs>7QO`*)NX@acL zHr;xR2;IXYL(WenZL`{R(ESvn;ND(#B0EtP*7B5G?`fCo3)E*_s(RMg#uwPzL~Tmh zzP?;Y%Dq#csUAQg?2VTe`sR!%9LuJT{h=mrtYe*APv;(J|`z4GkeP0iui}0d0*dPMp4ZVbNrd4W6Aa~z& zU6*u>FGc?G28`W^-IqZECh*PL%B&?=fn$D`l72RH10zk+Q&xuTJ%nc0Iowjqmh}(e%9_ftEWsiq=G=P~-)c zs0l+jNZ3pQ74_Wg39?%6sludQjdD=#K=~P$r_L8gRjN)T2Km)86ytDs4t4IrhE$1 zpI)<{NE%tb4-ol0c6N0SN1ckS>tlEJs@*?L@J(U2KX;T#+-yH*Oz$1BlUSLHtFbaSHaVT;o4_!5hF%HL3Kf=uJmTC^3e0k{d}fjxwW%J1H3A!rvj_7R zxQONmuG;g%Y^e_`4;kRWF^6~|hR32oj>*^c(yq? z^Lqs%lNM6BX6L3&3C8}LGRRbX@Zl0%0woNhG4)Q;nSa#rle9dA<;D?VAP`&BB%Y*T z=?2)rTZ*K+6v{l8J9PEbntreS6W_^R(^hwG^{U5~2oeZZiF6qX)bYY!NSS{(dcRXf0+a(@VO))0JqZ8z_~?u%+I$ab)B7m%YLMhggv58e@G%~rO5t6XQ&7NOlCRRv+o6UZNEK*&H?)xI3T zNO$YA#ZTm~mHdr42u3Fx%N!Zx?vu?SWt;7MKmVr$D;Fg9P`_b;-+*jL5h?t-@ntF$%WW*ca_QOy7NBPjV8 zce(!G{)p*}?7w~f-~LI?0mu~Ci$O3zT-m?gGu}id%mOjd^I!icrK;*VJ@vy|er(Qf zSK`e==OYrChgoFmdW^;a7^a+jTw>F2FKjb_HWR?r-R2oIMq;9#vdr}P(xJBhaFHc8 zXEdX64h@ly@KZHFSr{1^-)B-Yn##a_;8N-k(%&+z2rzcWm**t@ghd zR6V997H~0I0wHZ-( zLoiGR9KCKNK;F!oN&MpC=fH|YM({`=iM92w<#g(lTF(UV;|KVQy+KAt?b4KnnjYFjAL&%TsP~;L{;iw?? zc!y71yk+a(Htf2AVEY?&U&dy%K(zyGjE4ebYAcu|XfjnuHqY3#v-d6Ovv1){-}|KoZ0*@CGs>Zs~0N&z%Q1BMl=07Q7}qq_Al7 zT>Q(2ZWeO};9^OIReNTiMldoYo)T~XXA;#5;@suaoHLkbhCz?1$nq_LRmS|)V6{}& z2gJZ;@>KLg@;vBQVJxSesqA*u0j#7p8z<+j{C-CG5tvo944>2T(#w}zucrg161W#w$@q$y71>;YSKNki zNO&HSqk3aF77ntrLbJDy9a=Vf9W2ds)qh{Zqy$7nDndLm2G9d537oiXv;N}InT5+> zIshOK)q!wKIKd-q1UYO}CZJn%_VIb^@pMpNRDyLdKp8^k;Kzi&eK)KyvVJlCv;yV{ zOfj~3^G+yI_*G}#TaqeT)*<-YHFLJf>mK6_BK}6JM2>@cV`xacoC69v?*Z`=E1$9R z-r?tYJFJvt%qwS~oPjWk7%_=@e(Bf+ymuF6zXv7r1QYAMt1<7ENONZ^PB1E>w|fYxmkzqgvzahuWbh%8?8UPW^cIa z1ga4Dm#xY&>wAdy&-e8U?j#v6n0?cO$k0~?>`Hv~x-3{1Q8AZ6jtOo%ovVZ2IYSQT#J4#)>A|rEBwB?;-3}`%IxbeZbB6cdkTjozY*BfY!ve6 zFE7T1pN5(UD9}dvlHRdsBSLKhpZ)m(GTAF*O$Y-TQSpw%{#=!>{y5K2-NbA8@IN|O ze=|-EI+%Y4z#Z`mxtnkH@edL-WFXz%VBp^gg`b!`)rlLCSWaV{60Y-o0eHk{IK$f# zn|)htgsp^55L~V|b7Gy%-Gez`>|t5VW^bv<1=$QHg}{!yUaX~6jGghfKN6#n!A?Da zKSIP(24VV16Y8JW6-Qe}w#}U(q(2gudjJKlcvYzKy)~^-csP zxEWGY$n1NyPDMj62o+cxQd9WPe`Dj|Ko9d(+=L^%89NbqQv+rVUSdDd>tto?3yE$R zQSSoC+pF*+-F|HipWAx{QgaoKt*=Hh=h3IW@(2tdFnT2s*A=ioFA^OU(Zg7e1-##NY zDl@_$>qm%)Z*PMzYV9mMbD0 z;B1F@LQ^6-mLr7{efbh%$v0u_b)~v2Pk~JCEPInl%|xTJFim;qN;NyDjWx~jvBX#m zcvH}3!QwEaipS_p62+jDwmbn|4!Zp8!jSMZBm&=!-sSQaj_^Y@a!R3vXXjpo7 zaUIb9L;y6wsALj!QCFh5`%HL}+S+L!*T!5JFQ|GE74_iJuDN|2f-6iZS_X~N#5nUu zwMi|tc<(sPiq_{V;aS#wUUv`2+~K?*FWn%dHv!N}r!Oja+JbKYN0xqTbN472WYJXJ zTEO^1x1gfUCWFkTbmqb_;9yRRt27Zf8Wk*ezlm4|1T0-pBz!J7yv1l6g1(D=Nx1@- z9n}@N6K6c9#`<>SI=qYZWIfUN7mebAf`>I6P>b}0RkDrlQ3Vz~? zgoLS2yxJk>M@ej#tu!`io12MgkEE<7s}Fu_j&_L`TO|JGnJl#X7=};QK7v8^cyo7I z#Ww8R<&e@4L064D%1J3!gM9Zw#;!w;B4x8ziO;1?=GmJT#SeY73>M5lV$k%*FkaUQ zqDZ6I2u54q?G*53+zgiHl6(TGR;5fTL26Vbgbv^;RcxrA2a8crAF+T*=wr%S$S|ye zeCvVtD+9+hly|%ozHW12cl{LoJ$BkRB=r;*{AY45v{4OA;qUf;5oJg()~SA8#u{Lq zKo)RG2mG>guTz{jl>ZK6#JZcVfnE&mxfM|ySu}p|^68YX1(FW;5JeUT#FyIm##Hss zB;A~HLPma|M4x#@xJ*pGc(y=!x7SuL1!A;Qq7i_TQBxfe4n$VO==`}wLi19LSf!#(q};4a&b za*z5(=DSsz=jNG8W=Na~eqC~?_f&C?_r-HsK0R=6ai=~uyt25aqxW@Vnz)n==@fOJ zv%1)|nv|u32cs*{fR(v}_6T>FzS>{VpCT7OgosEg2Bi}VCY|^fgD#r4p$yjaN3wfL z1fesKYzC06ZF?uFesUxwrE_3B-miZeYT4&fI#oY$EW<2CqEHSqwl6FDx^T+(irlCL zd0V!C;q3bCQfw;=-vi)nXb*}uFqrIN_K&DryVpLyfTi?W={P&zGf?0ZnM=_)$bTTc zg|NbE3#CMKzP~;|IS8x{dW_#uvp<$kX5@2`8B{sOg9eQ^O0<41ZIl9gUyo%Y3T!Bk z98pqLW=|@woW=z1Sr_zZ!1}>GI-1OSoAmSJr;|WA$o*V zQ0i(Z?|lzT)`w1<=b`Y;t6?$`gnNMEjZ#vTBF}{-DEgxCJwkinYLs22$bUB4F0kv? zv10j*%aY$Da^zr;SrvW8-j@0l%O(z(c3mEuxNRh!vv~eFzcX%yG^Tf-bB<`}X>3d* zn(%KD9Dgr9FTrOEMLMbC5Qj$@MQUQWWRxBa9gAV%ejmx#MQ+d82l>xRDV+{^lIc-W zMS*~bn$3NxoRducInV+T*xAu7BU{;Tu8(m=KX{uppVg{{HmNLJ zZ&UneT3w<3@{3e=cqEVtX#ugVb6+O09`I4}qEaJ>4qE<(>k0M^<>QOmDCLodn4vOP ze+MlPjeYPW)dmXl-H@`<0|mu~a9FA$jlSlN=Cs%CF@D6=20;}fukr*Yu zasDXbX0sZu4RGmXw7KqB12h@nhRbWA$oNmzC2CusIoaFK+OYgif{|K$ms=3{Bq@q! zqN*mRm&l9LhNJ0lERLNHley@GL3I;Xs;Oc-wRr>v&5R?`4ij@Ef59(Bg7zVBZJv(E9!wIX#i8EjpXP_Z9vYwu9ZF55@ahfWIbs$+~~a<#919h#RNDrg4?bx~ZS?Tm0<2p3oQJ)*h?Q7wYh z6=F8w6CH=Qx4<;OCoszFa_YcPWzt=I5d<_T&5@6djMvOf*SxS3@F6YMG8OA5hh6m@ z)T?p}|Mbc!SKp`gK)ed3Z|WAi>LX zU``x`QvM*SJW~5B?26P`B}B4ttR4nI2Tl83YvwIM;T~7k@xr?c|JUv+PzS%f7-9*8!MUBPz?aem#2#R!sW zMn6k^TY~0lt;JewDcikVDR+d8DJMb975wXsrlL}E|9iW?cTP=MGsc_Dw~?pcinWrm zZHJQ3gP5Z)FOThKRlcXT%PdXvb7V>ipQ6hoGW*WZQCJs(LlUqgfB3M0`gH6Z7iC(e z|kk;O-w%!w&1Fz?1ge6Fz4}_0i$s7N>Xz##WPlS0ihlek*$YTQ4YpQ3*5W z3;tAeVtpWEx4^*&i=C@^9gVPXdHeX|xAa?-!6Wnuhu&x)oa4a_X~uM}E`3TayN0r*?sjZ(4c_cfuiCu-|Q* zogks?nVhJg`bl!I8Ne>mr4$C$s`CQ~L8|K7{W^rZ9MSB!kHqMZVN~SkS8fJw37Avulwpo@s zZ-6-0Ps3_ZCQ-H(kuY?7U948EsX0K8%502dp-b5n+crR;dL!ePxM7!lTQ8X|II|;3 zO0`S2$pPVIfyoQac*`-e$++jD`l6b0VP$DL}C!i<&!ndhT1_!He$&sw40w7+;{z|wP-0de81W&%{@&t zr8zc7=^@0VLM4TB*}+-SCINjM;ymsrTb76K9PIiC(P_sG75wu183d(=Jzf)mNu6+; z{cgW+ebgWTmtoYs;7Vo0vIc1BqCLXh%?mx`O9vt%Bc0Y&c2iC|p`XDxi_WM~e7dHf zGbt+HlW(q~&htW-1`(T2Xi;KIZnR!jPz?uAHU7{wN(xz=f%A9ir_p+a8p)=)!AJ+z zOqKglW6z&IU((3XffPb5CeK6ml=4myp+kvWSDVuo_b`+I5IB+e^rZDsH9s}}#A?;~ zIN*NYzw8u?9`!CxNZ>A!BkTGZt=g!*avQ`2^XXThDqr8F)?PFsoUW_SW?Pk^AI}r! zX>_I&bfwM1B=l|nf47SWy2HBx81P) zN8nV7zX$}IL^Dy75x^V`;I6${+8?fQLC9A82IM1(zMnZ$ikt&7IQ}id|5y%{|=U!QdAX#1Brz^%9M|7@dh^%fDG%iS6Z=*5yeTFEq!_-OTjVf)E_LG|#*ok(G;jlL+ zN_F03dR`1|zg&tO72U@-TC_(Lq{tJ6pQwVP+)oF;QsYBN55b1{sW`vpeKp@oNNJa> z5ft(KR*HkUS8{(;QQES&B4OeH9#!1)DVU%fcXp~VTpP}8UHYgN>It| z0#*la+U=rL6OHN;G&OIqiHnY}lJs~7rMj=;i`!TqZ)wD|tF;LhD%J9m$dJ#~aZNWSWSQ zPq}F%V>%{7A#ZM|CT;VJDUW>T=4`rYKZ}k{r(CLK>$=+~MJuChvFL6@MGN9sL1(Kcam;sGVchSaYVLok)fdPdupXl8K*! zDk(*=D3}y{;9Af{zjQzHf<9IHwW78E~kNz>pZ{#;fH>eMxPrFI(iyn^O zGhi((#;(T)$zIfGsM_a+<3)c6q7Y7OQ<=%tpeqhC-%muPW zOwWkSah~X1-ryd8ptkjItj{Fq6gWW=GX+#)r+FMy zogDD)#mwNi$9s=?_lB{*C@(tHyVaRhOb>CX!8){(g3}<@~P{!-aGiDa>$NZe;#>Ae$9-hV-ltnR)JO0HUizG5vz(-;RWc5Ry;9i%A z%3w{|+8bUP?YSsnd@UDS^g}JOW;CK?tiYxu=86AU{BljzM2GeochP5RmzI8&)iL7) z>=`ILc4RkiQd&oN3|rl+=>&uH_sQy%XdfG+C_4xGmlS#f8^6)wAcOBk@zWiY$dMaf*HJiL?)rUMe0F$Mm@a=`EST4mW&i$mLXnNZ0r`+#Ws-0^f!E z^HLT|On6LIQ?F4iocCw$lya)Xr=9*EorQ-z-@p=u;|ARejc7G zuGt?J2jhtoklir?9v=*y#k`FGa5Nx*Br1PVLbG3Qy@Mb#gn=1qr>KeXY%Z~%xn%8Q z)V|PM51zv2Ey!#>y(+qfIvL|E{CyZBlO6;=H27+a2ydZ=D^bAv^G|wudb!gpPf;A3 zf&8PT1+|%<@I0AZ@EnR3=g&)`3N`oV0?6Hdl&tb(`l_MVEHIBdJ2@~g0K6Oxjb{0h zKQVmbpNYvRO54npWqxA#__sVXeAF3`PyfXK!wBU%r12n0@Kmjuy@KN=GzKEXBZ?^e z{j)Ipapt*mG0u83$S)b;j)g`FmCP9)>#|#7ugk*22p$`}muc zY)gt!TOuwa!##VM3|DA^VOSk%3_~OU{%GPr2}NgikqrvmUn);k{y{nfn3z*UBf*6F z_0MWZz;g6KK^zoC>+#vklF6lz4;dg7pv_5ve-;KhP+{2*y{`ZKDo>%{J$LqIiu}O^gGE8fPzie`QDSz_yxxy05u$!nhbXnW zv(K{sJ6a+TMVer#nb8Y;&4zqYbmoV<55pO9pyF;qHC~GiI2vfk|MJg=wd-8ZMo@a1 ze%>2ts45*Q{ldc7kDq3XqhPN%{>jv#9{ls51gN1Y00AFrHGlgqQ8C0AH!RcgnFXlL zLRm2w!6XWgNyG>XIXP4We}2I`2Z%TRZiibY>CTpp?=)gn*#(t+Fj;|EoJo$^XD~!G z{_#Z~WE(*#h@4qR?@Z9ep}N~oEcn>$YpFd1vZDpyd7{uc$vgYql@OX}oqfrqA(NSn zlGsaN%rkrwo)rin)uvkc{yfo?+5+e+44RC}1^u~A;xH>|3bhARmc(XX0flmgjf?Ba zNkw7;SvPxz*6ily;aPD2cK~bxr@$+0_I;DQUC=;-iQK1b*7Gm_`DR%;IiWm{{aJel zM2dqw&8WyliO$~KjsO&4AYO{{X6+r|le6lBfBsdGsHS1a91^lqir`w5%@$LLQ_T7kblnt9O!%`}7t4sk5iW*_o+ zDGKyHh;>V9nSJByo}zk<&L$r~C^JWNmQo?db{c~QQ6vPVf@d>nmiQvG7Kd@({Q0Md zh2t3y{`}^M55MIrmVq@NFNBkpaZ7SvF=t*IwMCSbohfGhrtSRivRG9NBG#zN?TiY) zbda)kt>i)5PfQ7JOnM*hvocW%69T?3`%u^Cd|d4C!@G~2zjR34ae1=hz~RG(cc1fj zPcc0+LyV~9#tfsc8)(jS=>^&Z-u3L|%OW`*p2P)2bMN?i7vBX+sgpa@y*u^Wu5Q1j zFx9gPd&P_JFily}r6T$foM`veOwHqN6F_u&))No``<8<|6aE)WXQn zs`BJ394Abtb}m?o5np(ZZ?LRm{p@EqZt%Bu=`^vdHkO^f%OO1Th8Q-Bq&XWA|Yan&Z*_BX!*@F}f7So$zugubu zlv?|4W|MaJZNztI1nsGtG!!b+e@khpEFUAHYYd>~@qKXo`}R}B*O4FbG+Ka!=-ix* z1@JyoV*k*8NnOlC+EKU+jvjP!e;*!B1DUT>Dgp={;g2vfXncMZD3+zL?PwmiCrYwV zRPu)^9H4hGZfe3cR!9fpJU5Uw79F8TiRLRR5^(m$tL`7pw0>;AtMzFxc;-i3PF2)){v`2MKj5c~RhdM7V zMe}1e+Z;#(IsIqcK7%L3836Jcq3p^lt!{xm1w3>t(5;!P3Hdlz zFK%n-es{uiQ0Od16cSp%iaCVsc=YH|g7^F+Js7TO|09!QA7iQ1&B5C>pBEi0@Wag; zWR5rLn^HDS5Hf@i)Y!>v7$=sRkZ|61*$+hkY&W457O1#lqwV$X`=@qQJ3Fr72yosC ziWM?+zkq;}(#m=ibR!wB6B6#PZdd7{8nVe1Oo;7}0PkM(*_dY(4raugeMZI+G7}1i!^}DqQ9a0V2D`^?H2SvTv2;N_z4uFGD?2>-a>}-_;@pC zXJ_pB=5iFvuY(%G!oqS4Dz=f4ixs}hHre7Ei3_V_VTO!L9<-Z|P1EG8 z1lZ7fsrwFsXN(Q`0hQ1)MVvk0c?zex&@1VH{BMtc95*Ka}L{Pa>%qJOV7=m)}vdfP-$dgZBi3g!USv6Wq5N}& z>fY<10GZdmri+Av zjEfw2f>2+#f%u9BlUda#mqHoP*gW4nu>tr&;*Z3)OUQg zk?=pruJ7Hu2MAQ?J}Ou?5H4CNsiV{W?Ac9lOQ;yl0hsjqCJ=WZ*MH?L-^ptNRypR( zJF)s(Mg2#52&qS=4Gn8Z7RM!S|L4_`oOnVA4F;)YI^!Rua4W zpxv6dm>6`G`eWlZ3S(niIyyQgOoLz_dsWWzO4650JgJF)-vpExgFutz7T)_$mq%(G zb44#$u#DX@0aR*@lrbGMp4E-MG{CL%z>y`QJu>#T*?! zPIMDn`C*q}@_DBt%H5%1VF=$d;|Q9`jqQNVZ|r^oPH8I=Hc~gn?G!+rY5$|(%@(K} zSAGkA6g=m_QS_wmgQn5zYSeu5x7{?X|AyTb{b2uk!!6e$YD<2Jnw*ueEUe2xLwTu* zDUjlj30lZ2B%vFW8~C9)2<_0+^H(13%SIe4^NZ1mg-ZsM zGKlnOd_HNsrXF+kh;c0c__69E9f36!`rVEQskFX+&HI}B%Q9aYM0-L1t0J?G_2lV` zDJjB(buHceznsSdEts)`c#epdFOhz^i%8V$_k$HTzLi9>Nc{UlAoYm;ZMA9*e!24h zAS~Y8gV?A5td>Bleuuvs-@1P8-```R*Bc0YLV+FhmgXbejk^8VQLF*@n8dFi zTVj3vJRAqsz?%wggogVI(~k9@r2f88Y1pqg4_W9UG@w!_=c-@5B4~f0{ya}UQ7CXy z@INtO`UX!=PedeOJzwiTAFOX`YKq|J?c28_3-LS%(+B~b(vuoUZn*^oF@eT%Vrlx{ z*Jdx2z7C+;5UBXW1iH5|toa@?B=r=W%ki58+_?$2N0?{Y6vAN^)g%w*Eghy>2&Zb(#)2zOUS7JFcUiBu9m3JOuPjFn;b(~%+ zf33Im<2{Q^QI`+fsb-?`f2DIby3S#(UCfFyrB;|N8TLp|Z2Rz_ALI^Bo;)$@z!SoJREhcbsng z=QE@s-6KXfcDSkH^Y_xzJ7DZa7RnPN-qD+ZfVSy~93E^0$bcPcxSPk4AN-fx@lf~n z9M}Yod+~25&9Bk~ZTxY)f@fbBMgd#yds)7>EqVa-`kt*2Qnd%q zv7qSCXX#F!ERRPYldQgro!?>QzgbVm{I8UH_uE|GkFB(t8r@qx(~2m_+p4TXE0*U` zA3whA#{#oH{$%`H5~U5r7c!4YDIS7$_d$KM!xMdO;;eq1n z$J5~TXAIqtIkkAh=|bc{Xh4SnwTgjYJ`P8=YqEVfP)Xe^iRY(SIo_v=1uCfymCq z7U{idBBQdVDc23V-o6dnxx}yn`Lb8C!|oxN@Y00(&&65$$n{Y@y0(5)h<=A zGSPOl^WedQgjmnP(Xp`z=`rZRHAc*F#H7A!_rJBZ@Pq2``4s;sC@|JL84Hw5*g=e| zu0<96j{LQa&#efY>dETwHUQ2sOhaiqO)*aR*aOx?$DKTzUcY%$#lVo@Y87ns9itz_ z#l?ZP1b_XAEXnDm@C$e)#BWeUylk8RH^DD;0p6gvo%}A@N39R^U_%m359EY`M0z&Q zD~!>8075GmT4&|ajfDjVh*mlB)Cx>qa4%>nRLSKY2?1u zOpZ!>+X~sJ+*U#uNebhgjBD6>#J8g zR$*A(NT6XJGM2kC%!FDM>FOevMGhJs?Ew&>>bU%#V1%w^-*f4927)%n3os~-7hr7n zuM6=2a!W*SL-D#(l!%4wN}VK;H^fK-Hg68AXk?JXU-mdd< z=wJuKt6&p;01Z%*bCZ_r5d5@ul{u3RIXl^cTcwIxegu0(iI^FPu`sBmtW-}ISyhM# zD8y3}8gAV&$Jx7=CJsaES#CSJRbuC$1<2TxJpfCIdGQYz@;5WB!chj@vT=$00Co9+ zE>xQo8UosAfBc~sw2r)X3yK^ls5hel7x|JC(Fsi7X+;pr@%}4~!R~`ans516K%f$98)&P;c)iDLPL?VMGD~VFD*Qg&7||X zr?$2h6LGRbJkWK7awR7R2ioj;By2H4N2^Jku6`r4g{@`Fpn}x-L7+zEmk={sn?^ry z#bEfQvJdo-=HIef|F0)mo9Ir7irRknpuD&=No)sF!=iR?BCadW-hSPF&M`va5NYe383O=B9_p@_95vsJ!kf zjVwChi(hA8r#W_^IRP$1#rz^=wE6sK4|Q~_x1)LI@Yk;a$}2Q_7$m-3Z~1^$nQ{ZN z^4^%kM~{|A?o7@OSflz}WuIjIg(CzvI-{uQ$eK0fC{<1V_yN$^b4iORu#|;MF6C{y zz~C6Drx)rIBA7e8gVxRcPv?-J55klMIXH9p*oDf`>BZAkD%5 zp<{SX1<|)fr(;Wu+`M?y5-qZ{4!DgEn<=d{bxH9>zS%EHAr7GVj*}jOFw}LaBGSw8IFhyC22eHD09SG; z*$F3$@1)rKOC@iV-s6v=l8#r`Pq5ns1Wc}E{K`y9)P}n9fpS6(a3oK9SMb>HVXHSQJ#KtOAfw)uHOJR<*1>b3 zPC@kC>+^_+M9EqF0_QL=g@y*5n!%^L(*RF82n>$hhC`+kQvQQhB@d(diFq4{^<&M3 zx*{c_STk<_L9au&FICcvJ1a7TsEDiMMFx0G2 z-?}zx{n)8|YoW0x8^)>@3|dlA!KEDL88y#h(RqD1(9Vr!Hr5#htPbjxk*?V+rKor< ze-}n94<0W(j8P%`Aa^BkW3{kQ9w`8s{#`yfoa>44VD(adO3ZLhWl|c}%(B{6M<%I zdGM_gxV39nqI>v&$+$u_D38Z?+OdHDgCO+W8S>Wo1)$1%yv*?ZimegNWfWGc&6^hTg!{ zK$f7^0jJ2*qCM+}#)`fA$m$R~BwQ7ArEtw>xKWFe?(@Tg25&*=q^4yCnjAs?1cNVR zw_|HZl)>rLeD3roikr?KEoOx-u&2r02}dU5=Ne4xQ>s zv+va_SD*axPXD)9v^EGhA3SeP>2n|Q`A=v?O{zwC@Ir8`LgN@qBiy04R78o+!1OU-i8n$hfy`}^5xywpL}TP8GN)06_V?TJ*bOB zH_`7^{|Syoyi&9+=hJm42Ac9}if^S=j?oH0$!zWgYl(&($67D4ak=ZH*< z!2$JXUgQWs`{yGJ0R$Q{jWp4bh)F=MUIIxEeio3Df-;ow*7iv- zZBS7m)P`i?CcfBxuMPeR*Tw?8}1hcyA#yes>Q>YBCQUI z4mI8t-m@TH%TBu04}uy3t`JA%WHE(u>Q?}d&+TRYl2Y@9s8hlp6$E?sUSDr&$}!Xd z9K%ZhhL3kgTrMF$^d?dyQN3!a#QR;;?Kgcu`Yg~uLDTW#G0Hl95QkT}^z{bse>tdz9jt8JOPqJH}Y+49E>^pyZDR#Sd;t77=s2h-u;( ziwzySzy@Kpt~KpRJ88TfdEx5nb-3k-4^DH1+}%t4GGSwwt>ETumdSo4=46zWM)1O=2R-(&x_ed ztIv?qlQ{Pde}Z zHxwxG6B83t^EEq(6g6OQ&*Our-=wKJgqFr%>{F2#`VIdfI~#U&b>Vzn z0pX)G>|FJ4m-Id63l=;flNK-IZR6^iJz8Y{RfWDN7xq++sT9h$A6Mmex6U{H{b?F~ z!3&I9Oe-Kikw(gZD)-&sF@t=XzE&2Zj!$Vy|Eszy4X1MNyCFk_Ew-Ty8A3u)X%|s! zp^zyg<8BZQs1#9>c}}S~W-^4ti4-M6QYsaR24!p`mHCM9uDd$Vbsooio-gn7;XNPD zb)C-MyS?xG{{M#cTWkG3&iST+gX6#wCvGrDw;EXy<6j^9=-dHPrrE}7U#Hm>$p-G6 zfN8bOT`Axz_lQ|`$*K7-SBMmioqhb%hYPHXCL-WXJyRiJ(Jrp<yKru#*xqSKkc^>muYAfh^f3aG{-A-PMlr(_()Imx%yH~!>;EdI+>l%r{e3G8fRTS zw_~C~_0looA(u&nwROyO(v@Y2?%JPF27-axhcdY75-I`2V1w0CamXsuD{tdLf3X&0 zk|!!iT(E2cX@56zGhx(-uc05T(mZ?#lrQcia%8mT}*KF@j+@>cr-n;`t079mHQVHvfaeM^*?xE}J z1#1OWBM6^gzI*|Ub*c!S>c-*y4H=J7Z@(#V(Lfgg)u3bpXnZZz)so`kn-dKPt|1O| zA>sA57|%v?#nnzou1W{D?4#Rk$?Tk%>)NP3lZ^2VY3AM%E-20q+*8ld=0zVcGo%k{ z3p+deR(+mvkaq}6AmsLM!*pU5hcCA$*Jo6_#B7TQ*lmP$0pXetwl@Up$B?tptOMSg zghCKNf%&>eP|pG-EImDSlKKE~8<+S`rJ1|Jta8)kj>i1{>`igHL`v;-P2!L zEl6}hZ{7+kxcx1L%^M*(gbxR9pp2Za3-ILSK|uSsIM}>VMSlWesI1Hj%nDRh%NWHP zcA*_3wYl~~;UoMQmF^Tw9MI}wOPuqSyKpW5D~8xu2ApkpU_jQUlvqfqM2zOnvDmds zYPt1H8_?%??4z_CdF#$u&lrpE@bI8;HNj-UUPwt%US8gKfj8UH(kEG*-e}|E!R5x- z3Fh^Lqv5DRD{5=W2Wv4`$A}T)?@C-nB!B>;;C#?cKsvBZG&r?Qpq9gs4;GEJ3MawI ztX~1o_q510>Z)Irl|`Dx<~Um|o}#G>^(O@jh6iyTB)}6*LAg&c!wkj^bUs+vg?0s1 z1ewr3e{RJi4rBv95KK|d)C$y~k`KfOFe6n^RIIPA?i^^Z2EgksBJB$fDrD-v>O{Fyc_YQ z(OKa@aeOm*;sfl{&d!dy=^eYiGVTMC72$?+)npm95NYVjp*0Nu;W|G{)zRGWDRcl? z6$BMK?3_sDjCzX+M(FWTco@07H#7Zh;!^%rZzrw0#L9Z;3W(({5bs;c?)<$AW%i45 z9CgSN+$4^=<)5iohx-PhJn`|@$OtHeBZXyT zSXgx*o2#xbPVPonP$GTe$e$%+YI*_OtNW@-+=}WaM|8adU4SLvTg+f*9&SfeI7Wvy z5KWEp`tD0DTPf@JLd;`(x=r(oxuQ$!g0nqB6e|m}1q&7cXnG3M&a-b2xU|z12QX_b zCXmY`-RShjaF2ktj$R;YH$<9BO(bCumePj8PT>X%VR7P?P&*G_VE0}g9x*E{4DUQ! z5nMqma=`ZK`Q@11h8&mDUOPaL-0~-LjTe2>Ldnkhpl1hb6vPR{+QE|ugL8P zNPv;+;87vbN<4ae%dwp>9Y<3lR0M(QE@FSRo$y1@dI@R=08=j|y(18edk*g_45tLV z$KfC8f6ZH~zGx3-(A>h5Rk-Bvx=H|+hC1xJX%?3>pM?$jKYTT^tkJv+k^|yK(|Lpi zB$hR1AS~TIN;d>~`hv=Oa=pmdLJu}mE8&fEoEnGXl#!!F`D~axue2#Gn&^H_P=qWC z(~!|oLJSQIxSHxGP>jp!5OPAVNMk4fM3$!jS6|l`P}Bqlsyv+_Een##0c21jULr&z zl)3 zjc)X@*ewNwq8%2*awgapW}bGFQm7aCC@WeO!~e)P?r$@P7oL_1vQsA4Rzycf1J}pu z)&>Awqo=ymh_8B8GPb( z9YirqlxI~I@7@MyYYn#!s&zO>Ob5rqa$j*rL?j~c;8xNuCVDPgJ3(&Hd3h0R60RjG z2*yV|NC0>X0b=WWDOPBWCsX_(-z^9HHkx*Z0V%0@?c$k=qU67amPqrk1-#PUnJ7?= zvkXNJaTqF1xbq>zFJxnTULprUAXp-V6_mp_Bn|`@OVA+okT+--kG=vNC%y%SV5MbS zP)`qcJtA0&N=I;-KCK0hnJ|$&6lPUw>pfV5?l>8#5^Y7tl6kls{2bU)am;j@*YB`Y zAN!Cs)bk)+x#jDK)PXUHjJw!4Zq@II>MaU_Az**3!>=a@OGiG}?rE^SCR^cunIBfRaE z2ZTa@a%W#tHbkX2rGdeRAX?pMJ=ppHkH=W^CIOcHte5rAmV#i(KPnMSZv?%Va54g@ zie29Y1t-4RzB^I)D7OZWkfL8(SCdTl+)I<4jhP)&QSgu za&PT2X^8`UwPXbpatEd;-7`mf@E@Va(!?%5cxXoFoB3|RdLj<*p;4*+r>$S41zS(R zxx=ID6J9ofdnPqRns(%Js1X0y+bbk2{Qa%Vy$IvB%D`O;mzpfraC+H4z)cAM>rLo@ zCB!5qo^I1Q2**ja>Ha?PUDyi|tGqXK%=1vlqGc#*O4hEWTqH7`ATK}vSa}urp+3er zr@Xyg^(oaZ>bdV*FFE4#lzmQ&QG6u!A-tYPd@hQQ#>XH+QX?po&A){6W(SV#dFX zBcE*0 z3Ho7q6@9Uq|L&PMEkW1M53hed4>y1^)Tw>igQp9lx%FApwUmCc3YX~6-HNO#5Xy{L z3W5f$J@Xi!^}8u`zuhQ^jdVwB($Rw`87mAN6Q-Y(PszUnT{5Nm@OIAnQJS{dZ@}`S z^cmJ}nKb9CzYRRB>NPLjnwvWch+%q-LhphRJeBt+H)oS-$+XiiSLqk;d9)}YTJ>1Z z8RmCIgkOg$Varrl$2$Vq#=7Q;;^1BWXT`UKHZLJflE%v$h$;)}Pl=nRoZc|%UZnEO zCK@%3S(&9ln;%h9!tNE63&P_J-~mPj#2_N?>=7?`Ca%GJU{`p!!L%mh;Yl%ezBWka zLiV~}G0jeH-*v}B>E<<*>$f6qH9hf0ByH&p8UW0^J__=+?e)=0OIQ`CTEVWL3cc!1oTl^+`9-D-7e^rIp$IATNC>c-al-_mx^HZ#+kvAxtn!KxMO>^ z5a{ecN|KMyYm@qtNxIITVl_TFx%(z4wH*s1nY$E>6<$X7gzl(s&L(wySj{FY+QAQh zfz9F6o{$~t9|E(!#_I4H7BUfnE|pD7#y>ud&pJ%rs+%W00Gf0O8jO~>md|i8lb!~1 zo>QPTM&d5)K;*6Oco^r2#+z9for51r6XEK{e8dvX^L=F%Es=!NrKLkSu4r=?aMz$V zRvMma^k7q+B5k29*>FtO+y`1_+Qlqa!34n8I6n@LdDgf+2cV?*>LBY!)7O9N5j*!6 zp8*ZBePJ-Y7-%ZLjFF4WSJXj+BFxv2*Rf`9IHI8dJUgX@^qnu~C1fJd9&m3(?#fx| z=j0%j^KixTltn!`*m*IDrC5RIr4LI=Ll%&Kd{f@ggHOmt&;xiCTeY1;7TIQz`+c0CN>d=TNl!>=9zM_GcaXS$L(n>%L$v1+Ztf+*j8=o z6QlUDlNj=>^tSia!GP7mMF$KFShM&Hjg7Ji+vjM1+~IbTy%JrTtWh=IEE zzKfLmEarB|f&(Y0D2j|?j6#tgfF-t#qf-Opv*X6eeQK+g%|@4SOtY<0H09wI0b07p zJ|dBbiHRk!@|X@JsG}o6xufZh_3j*oJ%x1w0&ov5v=eNnvjY^H|F9++dN2#L}hnxcBv^K?!Ojvim*L>K%Wt1Sw_;m|GKN6u*Mi z(tvQ`^^540?s~3i#EBc+BOr4Nvzc1CdpT`iz5q9H2g4ivJ8Li%MEDAuK+l0S0$EiE zNa=i@o}LB?6eU-Su5*Hj2fwN8O_l;2Nc6mZi8U{PmjMDC zOJ47fRbJFD7}X$KTfx_$U&z`CmsfQ;DRFhnoR~*b$0bG%+*w6TrN%Q>kdr2z?aDCe zcEWRXa7ET*Y@rD3&=n!|% zHha@PZjS)vB&DkTAYter%jwQk)TDW58-WGrfBT$II4@mu_8p#9;WWD(=b@B6daX@2{MiLB&x@O{moMn z`QzCLICk1ps{OpaMz2taL2u(^zNze`6S!lCxbWmN;VSI@di{p3cYh|zcx9-V>m%K{ zx=5}a9Arb+H&y4H)4^r~!zjIXdm}X7BtO^7@UZl#@?U^EoM5|6YBNXOMa%m5bt@Hf zY)U`WYJlxxn2x&)XrfvUzKpuxj*dNapfsmH>B(WfIiC)P3DsQ5!Ej-QFR0XdM)fyO zZkxh*Xn$oX<=%EYVmQHlWh$^$a6NHCpnEH)_tgd#b!r8wQH0&jix#$o8cK6d-jJtf zOc#+XVRAbe;$>`sSRSOx>@{!Fe9D3q!;I@`9s>W*~0) z-lCaMt~7-EifPs#&fOc8FP5gCqa){!X)pe5jZ+#6@vx=7+-qJw7Mv5P%H@@bCko@* zP3~7wARt}6OeP%w_SLr)bta z$ZNqNgj#~1AdWd0Mg$7={tFHMC7C-YoJfz$WljpV(B;Zf!xh8OqsH`Y*NO}-2evFV zwRV01({eFF=84o5YMY>F>`(H;US#`tO;65wS;j9H=7l*v!56GCJ#=t8fJ-ect)?3a z)@8>JL0uORV>eJ6x432=uS7(n_M}AC|tP^bAm-k@l)Zjx(0s z1`-EN>Y_cyqN0&vaB2l+R@nnhy`>mV-K^OvcctPi?8e9Ma19A>)qJ)lW!wC6U|eYl zX4n*nxSTD4%ct#mAd@sx!l(MYxp|$GR2NDfS>3~RE{{4&jV@7bDs=~kZ}v~z01+whGnC4Zd8?7pEn?t znVG!=(Bqc&A({HUDkq=Xu0oT_(XETVT7PxP^7rJbr+TA%Sr}|u#0%?GsiguMw2MAg zC&307mB`oRYXzb-g9wuC)8aB7W}vy&#IB@5CHOZw6#&u^3DK&nqKA9c{EJ<+mw%u> zFhgp5YCl)7cxJ8;TqJyLMHlrS;gj`N77s)I69{yUcaW4>L^(MJZeH!Y`OiT1zfW2k zp8d=Pu?-zPbA)^DT;`1A^dArUs*IXB@jY{ntr|K%@9sZCY{V6c;n(4wV@5?_HlSFh z|C%z*{d;(Yh4ZF9yr)KPfRZ1`)(E%!5i&k9$B{AzNLFbJE5pWQx!`_Y5s{79#|9*% z@7HiD!%=niJK`N|# zCpen>mXwr~ujTx!-r)vVYxN*I|9lN_iL1%U$+KUxfQ#!3ykybbKt({MF30!+4D>vd znYb5Ce`NfdI6{ST42Jn|nl*)MLXQ*V0B8*Deco*Iw)!{GGSBVczv>QP*lbPxtH=U> zk>bC}MX=gH;QwAE@?ZKIQp^W1f-WyFpDG%K zUkYYCk=j&z=F#9kCE`4{+1T-d^uN5o2p=i@L&z#51ra$<9OJM5FDp5pSg}!;{ii)Z zaCq3G`^zCG$LHSq|M`a_zAmT(TCM>Bep$?mUwhjYB;@mt0HBPBbg`XkgDz&_@lTlj zxPQj=rRLM=^vj@PpqBZh`jBU$f|VHN@4DF!uFVXwiezLZrdI}F?zFyp_W%e#_lm9* zGsX{SS}{JMZy{cBy)IgkwZRrdOZB{SekKdNU4g7(654k`1z#XK7cBX(uU#9q_5IjQ v5v;uM$7YkXg|KDCm6r8`!!>am+NQZ})pO_Vk>@p?hkx|64XOE>_GkYGds2?D literal 0 HcmV?d00001 diff --git a/authRoe2User.png b/authRoe2User.png new file mode 100644 index 0000000000000000000000000000000000000000..fc2846f11ae241cc6db65d39f8e683f5151accb4 GIT binary patch literal 95299 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 literal 0 HcmV?d00001 diff --git a/clientPerDayFlow.png b/clientPerDayFlow.png new file mode 100644 index 0000000000000000000000000000000000000000..dd258c818f8f02a4180d5ee1bb4f5d2cfba0896d GIT binary patch literal 205165 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

d(%-b+FU_g5j;yO1w-| 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 z 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%0A|F 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 literal 0 HcmV?d00001 diff --git a/cloud_client.png b/cloud_client.png new file mode 100644 index 0000000000000000000000000000000000000000..090101414b2a4a27fec23cbfb94d7330d58df8e6 GIT binary patch literal 115330 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 literal 0 HcmV?d00001 diff --git a/flow.png b/flow.png new file mode 100644 index 0000000000000000000000000000000000000000..c3ec8c11385d61e5ef56b1ef0d3a1644093037c0 GIT binary patch literal 100963 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 z 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 literal 0 HcmV?d00001 diff --git a/init_menu.png b/init_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..54ab27d1b942f6f0908d8271cd522c4a77ae596f GIT binary patch literal 85820 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 literal 0 HcmV?d00001 diff --git a/init_role.png b/init_role.png new file mode 100644 index 0000000000000000000000000000000000000000..c80615da23920a2710774faf48d2de28c48f67a7 GIT binary patch literal 126940 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

+y^TqC$0Z@5)(l2(p*pi%5dNJulg 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 RBOw9A6n)XS^xXA_{|$tO)bjuU literal 0 HcmV?d00001 diff --git a/k8s-node-pod-network-k8snodepod.png b/k8s-node-pod-network-k8snodepod.png new file mode 100644 index 0000000000000000000000000000000000000000..32a87e6b47062d6c2df41c07077295a59ca58a50 GIT binary patch literal 35315 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⁣ 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 z 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 literal 0 HcmV?d00001 diff --git a/mapping.png b/mapping.png new file mode 100644 index 0000000000000000000000000000000000000000..c8977bcf9dd6094b7a8b9231021099761b88779f GIT binary patch literal 151879 zcmZ6yWl&pD+csLkT?zyXR!WNoD-OkJaoR$QODR^YSg_DS@ZegsXrWkykTCPe+}cgo)(dy?f*@HB=1l-6MeAyZ3OK zhyeFX+6!jCd-uNFd#R%M25kPfl@R{h=PY5uy<*HDOTVgOG}2!`jf#kh#<8UG_-58Bx~zbYV?0Ic z{qY&Rx%tQ6+G{DFR=Wx_WwNl^r%(A4vz7v+vcK{Dm>kn^Tws*)JXVS-q=ZsPb8C*P_TD||j8~kU~KW*AY?&n&czRijKXUrem7^=`v)z8wR zRny&0|2?IcH0f$*>kTmgSwbkWnh_(4l!RMg8O=+gQx`kBv0GE@tIhcTUqp=2<7#X* zflR$lNC%Zvx}_)GSK{PIv8;ES-E>RRwKZqczeR=GPij86nCER~4Im`QBixxP;r~6) zQ3|+(lCEF^tr7bEYSJ`;l~zvfclFHAO~-r+ul0`M>VoI~1oQ)=6Lw z0`OAO!YXN2ooOFwo$zwXnzVgI!%n;F`?r}C%J!mNJ&-&G>r$h0IAIiVf~I=X@6XRkL? zjLZ`xkYHsBpe#VP+bxuxOa1ZwyM(_{LdmS|p*5mpXm0vfs8Y^>s+=REEl|fU2_eZ- zbCr&lZ_LC=D|L)UhWTk@{_CE-`ybT|69R-C%gfE$Rdwv>lNT%)t&dfPOG!32H=lZV zc-ZcYW*gLg)Nb0z@!z~$bWMBiyin3G@lDk3JRJ`2_mkmJ!L2%(_D5Oqr@V;h=%m>S zlcDd5A;B#_@hfxqI&W@%dK~5z#}!{GQRh?T+Pd$&7v5V+WG+=?uct0v7vgOWld;pjZ!eNGQ!1CXE><*S&U-ZT6b#ju-}Z?M;+vCuX!*jI z7Uo>5`fqWVeQ>zTiCC!!;t>K-0 zUZ56}$Y2qmk6#fL?5%FQQsASWIIGZU+DYT7SKQ&>6 zQA&!ZQ7CyyRq1B}%FH>wTHQv*}dLu4-#QzH6 z^_Z1R(Nxr4){c2EvB9QKR4jK#GYuYZu^(}R@p?Zw?%9UIV{}y6QtUG0I%jETxuVH+ zGo?`H+4D&=!mc>+v>p7gi8%3S!^WTM7JeLBD^YnV`?*G|U?ogj=EGgb+%6`a^-=RX=wZ&OXqkJkuCV2S0v0TfWHo z61fvPTeKqain&Gk+Ef)#$z~)l2Hp@bo2^*+d8X2M&@7TXLpeWs>$YQv-$Y?!b8y)@ z<2~ZGxiHW-X^LnpkqeofrrX3=uOWJ|}{r@5I4%hR#$fO@b z**;4gLhYtw*8&+dr*`i@8rz(7(x6ceKjJbpEu2+5|l@2CPFAx?8Kd%R@k8>kD zz}~7fJR+~6RsCs5Y}G$~g-h(E%U)h8`ZfjC4KKu(uIuZGNvE5>b6(rSobMGpV7sWs z?abAqXeAZ=g1NbOG0PD$!2Avga(dQ++88zk^O*_P2SiL30jHs|Cx0G(UI|2(F2E$u zr(f$1tlVBoI3VFoym^hnvCI;JV85al{Y`Fai8nWAx`I49S@9;Wt#2X!y4W0V`JxKc z;~d{twcq+(P37J`4!S+dy*OiN{}+0LL9`3r-i9mOD5mH>(V4b+<1|-etJ!qad~p75 zzt_2sjwbKfBSuEX$@2H2t@MbSA&cAmB(Q1+`QvvIYY|Utj$f3ExlRl^wPSeYOWb+6 zEWD4T9+NYPT`r(LHf?R2zz6CoRC=DIiTq{%0s~0(GQ-hBi^u1@XXGT4a-YwWJ&z{M zT-vb|Ra!wQI~FAZ%+C+`>0_vZwuMZe#3`I6AGL49$`l3N#l3BG3oGiHP=_}MXuC9R z8D5nk#+aTva{6DYrqSdCdm>yH>Oy7zt#;LXnBTW{4<93E_R+v%V#Hj1kX{XSℑc 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 F{y!>kNQwXe literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..513c962e --- /dev/null +++ b/pom.xml @@ -0,0 +1,259 @@ + + + 4.0.0 + + + + wu-framework-parent + top.wu2020 + 1.2.6-JDK17-SNAPSHOT + + + wu-smart-agent-network + pom + 1.2.6-JDK17-SNAPSHOT + 云上云下 + + + + + wu-smart-agent-network-heartbeat-server + wu-smart-agent-network-heartbeat-server-cluster + wu-smart-agent-network-heartbeat-client + wu-smart-agent-network-heartbeat-common + + + wu-smart-agent-network-heartbeat-start + + + + + + + + + org.projectlombok + lombok + 1.18.32 + + + org.projectlombok + lombok-mapstruct-binding + 0.2.0 + + + org.mapstruct + mapstruct + 1.6.0.Beta1 + + + org.mapstruct + mapstruct-processor + 1.6.0.Beta1 + + + org.springframework.boot + spring-boot-configuration-processor + true + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + + + top.wu2020 + wu-framework-dependencies + 1.2.6-JDK17-SNAPSHOT + pom + import + + + + + + maven_central + Maven Central + https://repo.maven.apache.org/maven2/ + + + + + + + oss + + + + + org.apache.maven.plugins + maven-source-plugin + 3.2.1 + + + package + + jar-no-fork + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.2.0 + + + package + + jar + + + en_US + UTF-8 + UTF-8 + none + + + + + + + org.apache.maven.plugins + maven-gpg-plugin + ${maven-gpg-plugin.version} + + + verify + + sign + + + + + + + org.codehaus.mojo + flatten-maven-plugin + ${flatten-maven-plugin.version} + + true + resolveCiFriendliesOnly + + + + flatten + process-resources + + flatten + + + + flatten.clean + clean + + clean + + + + + + + 发布的地址<--> + + + snapshots + https://oss.sonatype.org/content/repositories/snapshots/ + + + snapshots + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + + + + snapshots + 发布的地址<--> + + + maven-snapshots + deployment + http://192.168.17.221:31004/repository/maven-snapshots/ + + + maven-releases + deployment + http://192.168.17.221:31004/repository/maven-releases/ + + + + + native + + + + org.graalvm.buildtools + native-maven-plugin + 0.9.28 + + + + + Standard + + true + true + true + + true + + true + + + true + + + + + true + + + + + add-reachability-metadata + + add-reachability-metadata + + + + test-native + + test + + test + + + build-native + + compile-no-fork + + package + + + + + + + + + + \ No newline at end of file diff --git a/url_info.png b/url_info.png new file mode 100644 index 0000000000000000000000000000000000000000..9a805eba78db3aa12575adbdfb249ad15740f361 GIT binary patch literal 438827 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 G;o9)aKvhl_Hr>n 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Β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�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 i%85v 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

c$LFt6 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 literal 0 HcmV?d00001 diff --git a/version.md b/version.md new file mode 100644 index 00000000..2f25107f --- /dev/null +++ b/version.md @@ -0,0 +1,11 @@ +### 版本更新 +#### 1.2.3-JDK17-SNAPSHOT + 【fix】修正流量计算保存两位小数 + [fix] 添加配置spring.lazy.netty.enable 控制是否开启客户端默认是自动连接服务端的 需要手动关闭 + + +#### 1.2.6-JDK17-SNAPSHOT + [fix] 客户端添加按钮删除 + [fix] 修改浏览器title内网穿透 + [fix] HandleChannelTypeAdvanced 添加权重 order 越小越靠前 + [fix] 新增网络映射新增、修改、删除、自动变更 \ No newline at end of file diff --git a/visitor_port.png b/visitor_port.png new file mode 100644 index 0000000000000000000000000000000000000000..dd1099f690712dc8faab871a739f8c5d9eebee9a GIT binary patch literal 118108 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 z�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

l}wzbN{+hhhfYo2O~fO2V!@CR&00mM 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 + +RUN echo "Asia/Shanghai" > /etc/timezone + + + +ENV APP_JAR_NAME=$APP_NAME \ + JAVA_OPTS="-Xms512m -Xmx1024m -Djava.security.egd=file:/dev/./urandom" \ + PARAMS="" + + +COPY target/*.jar /app.jar + + + +ENTRYPOINT exec java -server $JAVA_OPTS -jar /app.jar $PARAMS + + + + + diff --git a/wu-smart-agent-network-heartbeat-client/Native-Dockerfile b/wu-smart-agent-network-heartbeat-client/Native-Dockerfile new file mode 100644 index 00000000..9a7595d8 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/Native-Dockerfile @@ -0,0 +1,16 @@ +FROM alpine + +MAINTAINER wujiawei <1207537021@qq.com> + +RUN echo "Asia/Shanghai" > /etc/timezone + + +COPY target/lazy-cloud-heartbeat-client /native-app + +ENTRYPOINT ["/bin/sh" ,"-c", "exec ./native-app"] + + + + + + diff --git a/wu-smart-agent-network-heartbeat-client/README.md b/wu-smart-agent-network-heartbeat-client/README.md new file mode 100644 index 00000000..83b4b015 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/README.md @@ -0,0 +1,55 @@ +#### 构建native 镜像 + +```shell +mvn clean compile +mvn spring-boot:process-aot -Pnative + +mvn native:build -Pnative +``` + +### 构建docker镜像 + +```shell +docker build -t docker-registry.wujiawei.com/lazy/lazy-under-cloud-heartbeat-client:lazy-2.4.2-native-SNAPSHOT_latest -f Native-Dockerfile . +docker push docker-registry.wujiawei.com/lazy/lazy-under-cloud-heartbeat-client:lazy-2.4.2-native-SNAPSHOT_latest +``` + +## BUILD IMAGE + +```shell + +#docker login --username=1207537021@qq.com registry.cn-hangzhou.aliyuncs.com + +docker build -t registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-client:server-jdk17-master . +docker push registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-client:server-jdk17-master + +``` + +### run + +```shell +docker run -d -it --name client -e spring.lazy.netty.inet-host=124.222.48.62 -e spring.lazy.netty.inet-port=30676 -e spring.lazy.netty.client-id=node1 registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-client:server-jdk17-master + + + +``` + +```shell +gu install native-image + +gu list + +mvn native:build +``` + +```shell + mvn clean native:compile -Pnative +``` + +```RUN +docker run -d -it -p 18080:18080 --name wu-smart-agent-network-heartbeat-client registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-client:server-jdk17-master + +http://127.0.0.1:18080/swagger-ui/index.html + + +``` \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/pom.xml b/wu-smart-agent-network-heartbeat-client/pom.xml new file mode 100644 index 00000000..744f2afc --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/pom.xml @@ -0,0 +1,56 @@ + + + + top.wu2020 + wu-smart-agent-network + 1.2.6-JDK17-SNAPSHOT + + 4.0.0 + + wu-smart-agent-network-heartbeat-client + 云下心跳客户端 + + + 17 + 17 + + + + + + top.wu2020 + wu-smart-agent-network-heartbeat-common + + + com.alibaba + fastjson + 2.0.50 + + + top.wu2020 + wu-framework-web-spring-starter + + + + + com.h2database + h2 + + + top.wu2020 + wu-database-lazy-plus-starter + + + + + + maven_central + Maven Central + https://repo.maven.apache.org/maven2/ + + + + + \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/EnableHeartbeatClientAutoConfiguration.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/EnableHeartbeatClientAutoConfiguration.java new file mode 100644 index 00000000..e3042949 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/EnableHeartbeatClientAutoConfiguration.java @@ -0,0 +1,9 @@ +package org.framework.smart.agent.network.heartbeat.client; + +import org.springframework.context.annotation.ComponentScan; +import org.wu.framework.lazy.orm.core.stereotype.LazyScan; + +@ComponentScan(basePackages = "org.framework.smart.agent.network.heartbeat.client") +@LazyScan(scanBasePackages = "org.framework.smart.agent.network.heartbeat.client.infrastructure.entity") +public class EnableHeartbeatClientAutoConfiguration { +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/ClientChangeApplication.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/ClientChangeApplication.java new file mode 100644 index 00000000..9c99dfb4 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/ClientChangeApplication.java @@ -0,0 +1,54 @@ +package org.framework.smart.agent.network.heartbeat.client.application; + + +import org.framework.smart.agent.network.heartbeat.client.netty.event.ClientChangeEvent; + +/** + * 客户端状态变更事件 + * @see ClientChangeEvent + */ +@Deprecated +public interface ClientChangeApplication { + + + /** + * 推送客户端在线 + */ + void clientOnLine(String clientId); + + /** + * 推送客户端在线 + * @param clientId 客户端 + * @param inetHost 服务端ip + * @param inetPort 服务端端口 + */ + void clientOnLine(String inetHost, int inetPort,String clientId); + + /** + * 推送客户端离线 + */ + void clientOffLine(String clientId); + + /** + * 推送客户端离线 + * @param clientId 客户端 + * @param inetHost 服务端ip + * @param inetPort 服务端端口 + */ + void clientOffLine(String inetHost, int inetPort,String clientId); + + /** + * 暂存开启 + * + * @param clientId 租户ID + */ + void stagingOpen(String clientId); + + + /** + * 暂存关闭 + * + * @param clientId 客户端ID 对应的租户 + */ + void stagingClose(String clientId); +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/LazyNettyServerPropertiesApplication.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/LazyNettyServerPropertiesApplication.java new file mode 100644 index 00000000..fba72266 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/LazyNettyServerPropertiesApplication.java @@ -0,0 +1,128 @@ +package org.framework.smart.agent.network.heartbeat.client.application; + +import org.wu.framework.web.response.Result; +import org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties.LazyNettyServerProperties; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesRemoveCommand; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesStoryCommand; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesUpdateCommand; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesQueryListCommand; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesQueryOneCommand; +import org.framework.smart.agent.network.heartbeat.client.application.dto.LazyNettyServerPropertiesDTO; + +import java.util.List; + +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; + +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication + **/ + +public interface LazyNettyServerPropertiesApplication { + + + /** + * describe 新增服务端配置信息 + * + * @param lazyNettyServerPropertiesStoryCommand 新增服务端配置信息 + * @return {@link Result} 服务端配置信息新增后领域对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result story(LazyNettyServerPropertiesStoryCommand lazyNettyServerPropertiesStoryCommand); + + /** + * describe 批量新增服务端配置信息 + * + * @param lazyNettyServerPropertiesStoryCommandList 批量新增服务端配置信息 + * @return {@link Result>} 服务端配置信息新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result> batchStory(List lazyNettyServerPropertiesStoryCommandList); + + /** + * describe 更新服务端配置信息 + * + * @param lazyNettyServerPropertiesUpdateCommand 更新服务端配置信息 + * @return {@link Result} 服务端配置信息领域对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result updateOne(LazyNettyServerPropertiesUpdateCommand lazyNettyServerPropertiesUpdateCommand); + + /** + * describe 查询单个服务端配置信息 + * + * @param lazyNettyServerPropertiesQueryOneCommand 查询单个服务端配置信息 + * @return {@link Result} 服务端配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result findOne(LazyNettyServerPropertiesQueryOneCommand lazyNettyServerPropertiesQueryOneCommand); + + /** + * describe 查询多个服务端配置信息 + * + * @param lazyNettyServerPropertiesQueryListCommand 查询多个服务端配置信息 + * @return {@link Result >} 服务端配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result> findList(LazyNettyServerPropertiesQueryListCommand lazyNettyServerPropertiesQueryListCommand); + + /** + * describe 分页查询多个服务端配置信息 + * + * @param lazyNettyServerPropertiesQueryListCommand 分页查询多个服务端配置信息 + * @return {@link Result >} 分页服务端配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result> findPage(int size, int current, LazyNettyServerPropertiesQueryListCommand lazyNettyServerPropertiesQueryListCommand); + + /** + * describe 删除服务端配置信息 + * + * @param lazyNettyServerPropertiesRemoveCommand 删除服务端配置信息 + * @return {@link Result} 服务端配置信息 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result remove(LazyNettyServerPropertiesRemoveCommand lazyNettyServerPropertiesRemoveCommand); + + /** + * 启动socket + * + * @param lazyNettyServerProperties 配置 + */ + void starterOneClientSocket(LazyNettyServerProperties lazyNettyServerProperties); + + /** + * 启动所有 配置的socket + */ + void starterAllClientSocket(); + + /** + * 关闭 客户端socket + * @param needCloseLazyNettyServerProperties 配置 + */ + void destroyOneClientSocket(LazyNettyServerProperties needCloseLazyNettyServerProperties); + + /** + * 关闭 客户端socket + */ + void destroyClientSocket(); + + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/assembler/LazyNettyServerPropertiesDTOAssembler.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/assembler/LazyNettyServerPropertiesDTOAssembler.java new file mode 100644 index 00000000..cacc860e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/assembler/LazyNettyServerPropertiesDTOAssembler.java @@ -0,0 +1,93 @@ +package org.framework.smart.agent.network.heartbeat.client.application.assembler; + +import org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties.LazyNettyServerProperties; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesRemoveCommand; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesStoryCommand; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesUpdateCommand; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesQueryListCommand; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesQueryOneCommand; +import org.framework.smart.agent.network.heartbeat.client.application.dto.LazyNettyServerPropertiesDTO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler + **/ +@Mapper +public interface LazyNettyServerPropertiesDTOAssembler { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + LazyNettyServerPropertiesDTOAssembler INSTANCE = Mappers.getMapper(LazyNettyServerPropertiesDTOAssembler.class); + /** + * describe 应用层存储入参转换成 领域对象 + * + * @param lazyNettyServerPropertiesStoryCommand 保存服务端配置信息对象 + * @return {@link LazyNettyServerProperties} 服务端配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + LazyNettyServerProperties toLazyNettyServerProperties(LazyNettyServerPropertiesStoryCommand lazyNettyServerPropertiesStoryCommand); + /** + * describe 应用层更新入参转换成 领域对象 + * + * @param lazyNettyServerPropertiesUpdateCommand 更新服务端配置信息对象 + * @return {@link LazyNettyServerProperties} 服务端配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + LazyNettyServerProperties toLazyNettyServerProperties(LazyNettyServerPropertiesUpdateCommand lazyNettyServerPropertiesUpdateCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyServerPropertiesQueryOneCommand 查询单个服务端配置信息对象参数 + * @return {@link LazyNettyServerProperties} 服务端配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + LazyNettyServerProperties toLazyNettyServerProperties(LazyNettyServerPropertiesQueryOneCommand lazyNettyServerPropertiesQueryOneCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyServerPropertiesQueryListCommand 查询集合服务端配置信息对象参数 + * @return {@link LazyNettyServerProperties} 服务端配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + LazyNettyServerProperties toLazyNettyServerProperties(LazyNettyServerPropertiesQueryListCommand lazyNettyServerPropertiesQueryListCommand); + /** + * describe 应用层删除入参转换成 领域对象 + * + * @param lazyNettyServerPropertiesRemoveCommand 删除服务端配置信息对象参数 + * @return {@link LazyNettyServerProperties} 服务端配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + LazyNettyServerProperties toLazyNettyServerProperties(LazyNettyServerPropertiesRemoveCommand lazyNettyServerPropertiesRemoveCommand); + /** + * describe 持久层领域对象转换成DTO对象 + * + * @param lazyNettyServerProperties 服务端配置信息领域对象 + * @return {@link LazyNettyServerPropertiesDTO} 服务端配置信息DTO对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + LazyNettyServerPropertiesDTO fromLazyNettyServerProperties(LazyNettyServerProperties lazyNettyServerProperties); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesQueryListCommand.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesQueryListCommand.java new file mode 100644 index 00000000..425b0d74 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesQueryListCommand.java @@ -0,0 +1,77 @@ +package org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.framework.smart.agent.network.heartbeat.client.config.PropertiesType; + +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Integer; +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryListCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_properties_query_List_command",description = "服务端配置信息") +public class LazyNettyServerPropertiesQueryListCommand { + + + /** + * + * 客户身份ID + */ + @Schema(description ="客户身份ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 状态(on_line、off_line) + */ + @Schema(description ="状态(on_line、off_line)",name ="connectStatus",example = "") + private NettyClientStatus connectStatus; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + + /** + * + * 服务端host + */ + @Schema(description ="服务端host",name ="inetHost",example = "") + private String inetHost; + + /** + * + * 服务端端口 + */ + @Schema(description ="服务端端口",name ="inetPort",example = "") + private Integer inetPort; + + + + /** + * + * 类型(配置、DB) + */ + @Schema(description ="类型(配置、DB)",name ="type",example = "") + private PropertiesType type; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesQueryOneCommand.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesQueryOneCommand.java new file mode 100644 index 00000000..5af7b909 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesQueryOneCommand.java @@ -0,0 +1,76 @@ +package org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.framework.smart.agent.network.heartbeat.client.config.PropertiesType; + +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Integer; +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryOneCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_properties_query_one_command",description = "服务端配置信息") +public class LazyNettyServerPropertiesQueryOneCommand { + + + /** + * + * 客户身份ID + */ + @Schema(description ="客户身份ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 状态(on_line、off_line) + */ + @Schema(description ="状态(on_line、off_line)",name ="connectStatus",example = "") + private NettyClientStatus connectStatus; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 服务端host + */ + @Schema(description ="服务端host",name ="inetHost",example = "") + private String inetHost; + + /** + * + * 服务端端口 + */ + @Schema(description ="服务端端口",name ="inetPort",example = "") + private Integer inetPort; + + + + /** + * + * 类型(配置、DB) + */ + @Schema(description ="类型(配置、DB)",name ="type",example = "") + private PropertiesType type; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesRemoveCommand.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesRemoveCommand.java new file mode 100644 index 00000000..538725f2 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesRemoveCommand.java @@ -0,0 +1,77 @@ +package org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.framework.smart.agent.network.heartbeat.client.config.PropertiesType; + +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Integer; +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_properties_remove_command",description = "服务端配置信息") +public class LazyNettyServerPropertiesRemoveCommand { + + + /** + * + * 客户身份ID + */ + @Schema(description ="客户身份ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 状态(on_line、off_line) + */ + @Schema(description ="状态(on_line、off_line)",name ="connectStatus",example = "") + private NettyClientStatus connectStatus; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + + /** + * + * 服务端host + */ + @Schema(description ="服务端host",name ="inetHost",example = "") + private String inetHost; + + /** + * + * 服务端端口 + */ + @Schema(description ="服务端端口",name ="inetPort",example = "") + private Integer inetPort; + + + + /** + * + * 类型(配置、DB) + */ + @Schema(description ="类型(配置、DB)",name ="type",example = "") + private PropertiesType type; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesStoryCommand.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesStoryCommand.java new file mode 100644 index 00000000..3eb2aca9 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesStoryCommand.java @@ -0,0 +1,76 @@ +package org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.framework.smart.agent.network.heartbeat.client.config.PropertiesType; + +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Integer; +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyStoryCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_properties_story_command",description = "服务端配置信息") +public class LazyNettyServerPropertiesStoryCommand { + + + /** + * + * 客户身份ID + */ + @Schema(description ="客户身份ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 状态(on_line、off_line) + */ + @Schema(description ="状态(on_line、off_line)",name ="connectStatus",example = "") + private NettyClientStatus connectStatus; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 服务端host + */ + @Schema(description ="服务端host",name ="inetHost",example = "") + private String inetHost; + + /** + * + * 服务端端口 + */ + @Schema(description ="服务端端口",name ="inetPort",example = "") + private Integer inetPort; + + + + /** + * + * 类型(配置、DB) + */ + @Schema(description ="类型(配置、DB)",name ="type",example = "") + private PropertiesType type; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesUpdateCommand.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesUpdateCommand.java new file mode 100644 index 00000000..256255fe --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/command/lazy/netty/server/properties/LazyNettyServerPropertiesUpdateCommand.java @@ -0,0 +1,76 @@ +package org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.framework.smart.agent.network.heartbeat.client.config.PropertiesType; + +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Integer; +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyUpdateCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_properties_update_command",description = "服务端配置信息") +public class LazyNettyServerPropertiesUpdateCommand { + + + /** + * + * 客户身份ID + */ + @Schema(description ="客户身份ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 状态(on_line、off_line) + */ + @Schema(description ="状态(on_line、off_line)",name ="connectStatus",example = "") + private NettyClientStatus connectStatus; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 服务端host + */ + @Schema(description ="服务端host",name ="inetHost",example = "") + private String inetHost; + + /** + * + * 服务端端口 + */ + @Schema(description ="服务端端口",name ="inetPort",example = "") + private Integer inetPort; + + + + /** + * + * 类型(配置、DB) + */ + @Schema(description ="类型(配置、DB)",name ="type",example = "") + private PropertiesType type; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/dto/LazyNettyServerPropertiesDTO.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/dto/LazyNettyServerPropertiesDTO.java new file mode 100644 index 00000000..efd90c59 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/dto/LazyNettyServerPropertiesDTO.java @@ -0,0 +1,76 @@ +package org.framework.smart.agent.network.heartbeat.client.application.dto; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.framework.smart.agent.network.heartbeat.client.config.PropertiesType; + +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Integer; +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_properties_command_dto",description = "服务端配置信息") +public class LazyNettyServerPropertiesDTO { + + + /** + * + * 客户身份ID + */ + @Schema(description ="客户身份ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 状态(on_line、off_line) + */ + @Schema(description ="状态(on_line、off_line)",name ="connectStatus",example = "") + private NettyClientStatus connectStatus; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 服务端host + */ + @Schema(description ="服务端host",name ="inetHost",example = "") + private String inetHost; + + /** + * + * 服务端端口 + */ + @Schema(description ="服务端端口",name ="inetPort",example = "") + private Integer inetPort; + + + + /** + * + * 类型(配置、DB) + */ + @Schema(description ="类型(配置、DB)",name ="type",example = "") + private PropertiesType type; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/impl/LazyNettyServerPropertiesApplicationImpl.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/impl/LazyNettyServerPropertiesApplicationImpl.java new file mode 100644 index 00000000..d151b921 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/application/impl/LazyNettyServerPropertiesApplicationImpl.java @@ -0,0 +1,270 @@ +package org.framework.smart.agent.network.heartbeat.client.application.impl; + +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.client.application.LazyNettyServerPropertiesApplication; +import org.framework.smart.agent.network.heartbeat.client.application.assembler.LazyNettyServerPropertiesDTOAssembler; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.*; +import org.framework.smart.agent.network.heartbeat.client.application.dto.LazyNettyServerPropertiesDTO; +import org.framework.smart.agent.network.heartbeat.client.config.NettyClientProperties; +import org.framework.smart.agent.network.heartbeat.client.config.PropertiesType; +import org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties.LazyNettyServerProperties; +import org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties.LazyNettyServerPropertiesRepository; +import org.framework.smart.agent.network.heartbeat.client.netty.event.ClientChangeEvent; +import org.framework.smart.agent.network.heartbeat.client.netty.socket.NettyClientSocket; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.wu.framework.core.NormalUsedString; +import org.wu.framework.database.lazy.web.plus.stereotype.LazyApplication; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; + +import java.util.List; +import java.util.Objects; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplicationImpl + **/ +@Slf4j +@LazyApplication +public class LazyNettyServerPropertiesApplicationImpl implements LazyNettyServerPropertiesApplication { + + @Resource + LazyNettyServerPropertiesRepository lazyNettyServerPropertiesRepository; + + @Resource + private ClientChangeEvent clientChangeEvent; + + @Resource + private List handleChannelTypeAdvancedList; // 处理服务端发送过来的数据类型 + + @Resource + private NettyClientProperties nettyClientProperties;// 默认配置文件配置 + + + // 缓存连接socket + private final ConcurrentHashMap cacheNettyClientSocketMap = new ConcurrentHashMap<>(); + + public static final ThreadPoolExecutor NETTY_CLIENT_EXECUTOR = + new ThreadPoolExecutor(20, 50, 200, TimeUnit.MILLISECONDS, + new ArrayBlockingQueue<>(1)); + + /** + * describe 新增服务端配置信息 + * + * @param lazyNettyServerPropertiesStoryCommand 新增服务端配置信息 + * @return {@link Result} 服务端配置信息新增后领域对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result story(LazyNettyServerPropertiesStoryCommand lazyNettyServerPropertiesStoryCommand) { + LazyNettyServerProperties lazyNettyServerProperties = LazyNettyServerPropertiesDTOAssembler.INSTANCE.toLazyNettyServerProperties(lazyNettyServerPropertiesStoryCommand); + + // 如果状态正在运行中直接忽略 + lazyNettyServerPropertiesRepository.exists(lazyNettyServerProperties) + .accept(exists -> { + if (!exists) { + starterOneClientSocket(lazyNettyServerProperties); + } + }); + lazyNettyServerProperties.setType(PropertiesType.DB); + return lazyNettyServerPropertiesRepository.story(lazyNettyServerProperties); + } + + /** + * describe 批量新增服务端配置信息 + * + * @param lazyNettyServerPropertiesStoryCommandList 批量新增服务端配置信息 + * @return {@link Result>} 服务端配置信息新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result> batchStory(List lazyNettyServerPropertiesStoryCommandList) { + List lazyNettyServerPropertiesList = lazyNettyServerPropertiesStoryCommandList.stream().map(LazyNettyServerPropertiesDTOAssembler.INSTANCE::toLazyNettyServerProperties).collect(Collectors.toList()); + return lazyNettyServerPropertiesRepository.batchStory(lazyNettyServerPropertiesList); + } + + /** + * describe 更新服务端配置信息 + * + * @param lazyNettyServerPropertiesUpdateCommand 更新服务端配置信息 + * @return {@link Result} 服务端配置信息领域对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result updateOne(LazyNettyServerPropertiesUpdateCommand lazyNettyServerPropertiesUpdateCommand) { + LazyNettyServerProperties lazyNettyServerProperties = LazyNettyServerPropertiesDTOAssembler.INSTANCE.toLazyNettyServerProperties(lazyNettyServerPropertiesUpdateCommand); + return lazyNettyServerPropertiesRepository.story(lazyNettyServerProperties); + } + + /** + * describe 查询单个服务端配置信息 + * + * @param lazyNettyServerPropertiesQueryOneCommand 查询单个服务端配置信息 + * @return {@link Result} 服务端配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result findOne(LazyNettyServerPropertiesQueryOneCommand lazyNettyServerPropertiesQueryOneCommand) { + LazyNettyServerProperties lazyNettyServerProperties = LazyNettyServerPropertiesDTOAssembler.INSTANCE.toLazyNettyServerProperties(lazyNettyServerPropertiesQueryOneCommand); + return lazyNettyServerPropertiesRepository.findOne(lazyNettyServerProperties).convert(LazyNettyServerPropertiesDTOAssembler.INSTANCE::fromLazyNettyServerProperties); + } + + /** + * describe 查询多个服务端配置信息 + * + * @param lazyNettyServerPropertiesQueryListCommand 查询多个服务端配置信息 + * @return {@link Result>} 服务端配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result> findList(LazyNettyServerPropertiesQueryListCommand lazyNettyServerPropertiesQueryListCommand) { + LazyNettyServerProperties lazyNettyServerProperties = LazyNettyServerPropertiesDTOAssembler.INSTANCE.toLazyNettyServerProperties(lazyNettyServerPropertiesQueryListCommand); + return lazyNettyServerPropertiesRepository.findList(lazyNettyServerProperties).convert(lazyNettyServerPropertiess -> lazyNettyServerPropertiess.stream().map(LazyNettyServerPropertiesDTOAssembler.INSTANCE::fromLazyNettyServerProperties).collect(Collectors.toList())); + } + + /** + * describe 分页查询多个服务端配置信息 + * + * @param lazyNettyServerPropertiesQueryListCommand 分页查询多个服务端配置信息 + * @return {@link Result>} 分页服务端配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyNettyServerPropertiesQueryListCommand lazyNettyServerPropertiesQueryListCommand) { + LazyNettyServerProperties lazyNettyServerProperties = LazyNettyServerPropertiesDTOAssembler.INSTANCE.toLazyNettyServerProperties(lazyNettyServerPropertiesQueryListCommand); + return lazyNettyServerPropertiesRepository.findPage(size, current, lazyNettyServerProperties).convert(page -> page.convert(LazyNettyServerPropertiesDTOAssembler.INSTANCE::fromLazyNettyServerProperties)); + } + + /** + * describe 删除服务端配置信息 + * + * @param lazyNettyServerPropertiesRemoveCommand 删除服务端配置信息 + * @return {@link Result} 服务端配置信息 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result remove(LazyNettyServerPropertiesRemoveCommand lazyNettyServerPropertiesRemoveCommand) { + LazyNettyServerProperties lazyNettyServerProperties = LazyNettyServerPropertiesDTOAssembler.INSTANCE.toLazyNettyServerProperties(lazyNettyServerPropertiesRemoveCommand); + // 关闭连接 + destroyOneClientSocket(lazyNettyServerProperties); + return lazyNettyServerPropertiesRepository.remove(lazyNettyServerProperties); + } + + /** + * 启动socket + * + * @param lazyNettyServerProperties 配置 + */ + @Override + public void starterOneClientSocket(LazyNettyServerProperties lazyNettyServerProperties) { + boolean enabled = nettyClientProperties.isEnabled(); + if (enabled) { + String inetHost = lazyNettyServerProperties.getInetHost(); + Integer inetPort = lazyNettyServerProperties.getInetPort(); + String clientId = lazyNettyServerProperties.getClientId(); + + NettyClientSocket nettyClientSocket = new + NettyClientSocket(inetHost, inetPort, clientId, + NormalUsedString.DEFAULT, + clientChangeEvent, handleChannelTypeAdvancedList); + cacheNettyClientSocketMap.put(lazyNettyServerProperties, nettyClientSocket); + + // 更新状态为运行中 + lazyNettyServerProperties.setConnectStatus(NettyClientStatus.RUNNING); + lazyNettyServerPropertiesRepository.story(lazyNettyServerProperties); + Thread thread = new Thread(() -> { + try { + nettyClientSocket.newConnect2Server(); + } catch (Exception e) { + throw new RuntimeException(e); + } + + }); + // 当前服务连接Netty客户端:{},Netty端口:{} + log.info("Current service connection Netty client: {}, Netty port: {}", inetHost, inetPort); + NETTY_CLIENT_EXECUTOR.execute(thread); + + } + } + + /** + * 启动所有 配置的socket + */ + @Override + public void starterAllClientSocket() { + boolean enabled = nettyClientProperties.isEnabled(); + if (enabled) { + // 查询所有配置 + lazyNettyServerPropertiesRepository.findList(new LazyNettyServerProperties()).accept(lazyNettyServerPropertiesDTOS -> { + for (LazyNettyServerProperties nettyServerProperties : lazyNettyServerPropertiesDTOS) { + starterOneClientSocket(nettyServerProperties); + } + }); + } + } + + /** + * 关闭 客户端socket + * + * @param needCloseLazyNettyServerProperties 配置 + */ + @Override + public void destroyOneClientSocket(LazyNettyServerProperties needCloseLazyNettyServerProperties) { + // 关闭指定socket + cacheNettyClientSocketMap.forEach(((nettyServerProperties, nettyClientSocket) -> { + String clientId = nettyServerProperties.getClientId(); + String inetHost = nettyServerProperties.getInetHost(); + Integer inetPort = nettyServerProperties.getInetPort(); + String needCloseInetHost = needCloseLazyNettyServerProperties.getInetHost(); + Integer needCloseInetPort = needCloseLazyNettyServerProperties.getInetPort(); + String needCloseClientId = needCloseLazyNettyServerProperties.getClientId(); + if (Objects.equals(clientId, needCloseClientId) + && Objects.equals(inetPort, needCloseInetPort) + && Objects.equals(inetHost, needCloseInetHost)) { + nettyClientSocket.shutdown(); + // 关闭客户端:{}与服务端连接:{}:{} + log.warn("Close client: {} Connect to server: {}: {}", clientId, inetHost, inetPort); + } + })); + } + + /** + * 关闭 客户端socket + */ + @Override + public void destroyClientSocket() { + // 关闭socket + cacheNettyClientSocketMap.forEach(((nettyServerProperties, nettyClientSocket) -> { + nettyClientSocket.shutdown(); + String clientId = nettyServerProperties.getClientId(); + String inetHost = nettyServerProperties.getInetHost(); + Integer inetPort = nettyServerProperties.getInetPort(); + // 关闭客户端:{}与服务端连接:{}:{} + log.warn("Close client: {} Connect to server: {}: {}", clientId, inetHost, inetPort); + })); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/ClientAutoConfiguration.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/ClientAutoConfiguration.java new file mode 100644 index 00000000..68bf430a --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/ClientAutoConfiguration.java @@ -0,0 +1,82 @@ +package org.framework.smart.agent.network.heartbeat.client.config; + + +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.client.netty.socket.NettyClientSocket; +import org.springframework.boot.CommandLineRunner; +import org.springframework.context.annotation.Bean; +import org.framework.smart.agent.network.heartbeat.client.netty.event.ClientChangeEvent; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.wu.framework.core.NormalUsedString; + +import java.util.List; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +/** + * description 自动配置 + * + * @author 吴佳伟 + * @date 2023/09/12 18:22 + * @see InitConfig + */ +@Deprecated +@Slf4j +public class ClientAutoConfiguration implements CommandLineRunner { + + private final NettyClientProperties nettyClientProperties; + private final ClientChangeEvent clientChangeEvent; + + private final List handleChannelTypeAdvancedList; // 处理服务端发送过来的数据类型 + + + public static final ThreadPoolExecutor NETTY_CLIENT_EXECUTOR = new ThreadPoolExecutor(1, 1, 200, TimeUnit.MILLISECONDS, + new ArrayBlockingQueue<>(1)); + + public ClientAutoConfiguration(NettyClientProperties nettyClientProperties, + ClientChangeEvent clientChangeEvent, + List handleChannelTypeAdvancedList) { + this.nettyClientProperties = nettyClientProperties; + this.clientChangeEvent = clientChangeEvent; + this.handleChannelTypeAdvancedList = handleChannelTypeAdvancedList; + } + + + @Bean(destroyMethod = "shutdown") + public NettyClientSocket nettyClientSocket() { + String inetHost = nettyClientProperties.getInetHost(); + int inetPort = nettyClientProperties.getInetPort(); + String clientId = nettyClientProperties.getClientId(); + return new NettyClientSocket(inetHost, inetPort, clientId, NormalUsedString.DEFAULT, clientChangeEvent, handleChannelTypeAdvancedList); + } + + /** + * @param args + * @throws Exception + */ + @Override + public void run(String... args) throws Exception { + + + String inetHost = nettyClientProperties.getInetHost(); + int inetPort = nettyClientProperties.getInetPort(); + String clientId = nettyClientProperties.getClientId(); + NettyClientSocket nettyClientSocket = new NettyClientSocket( + inetHost, inetPort, + clientId, NormalUsedString.DEFAULT, + clientChangeEvent, handleChannelTypeAdvancedList); + Thread thread = new Thread(() -> { + try { + nettyClientSocket.newConnect2Server(); + } catch (Exception e) { + throw new RuntimeException(e); + } + + }); + log.info("当前服务连接Netty客户端:{},Netty端口:{}", inetHost, inetPort); + NETTY_CLIENT_EXECUTOR.execute(thread); + + + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/HeartbeatClientConfiguration.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/HeartbeatClientConfiguration.java new file mode 100644 index 00000000..94eed2cf --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/HeartbeatClientConfiguration.java @@ -0,0 +1,89 @@ +package org.framework.smart.agent.network.heartbeat.client.config; + + +import org.framework.smart.agent.network.heartbeat.client.netty.advanced.*; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Role; +import org.framework.smart.agent.network.heartbeat.client.netty.event.ClientChangeEvent; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; + +import java.util.List; + +@Role(BeanDefinition.ROLE_INFRASTRUCTURE) +@ConditionalOnProperty(prefix = NettyClientProperties.PREFIX, name = "enabled", havingValue = "true", matchIfMissing = true) +public class HeartbeatClientConfiguration { + + /** + * 服务端 处理客户端心跳 + * + * @return ClientHandleChannelHeartbeatTypeAdvanced + */ + @Bean + public ClientHandleChannelHeartbeatTypeAdvanced clientChannelHeartbeatTypeAdvanced() { + return new ClientHandleChannelHeartbeatTypeAdvanced(); + } + + /** + * 处理 客户端代理的真实端口自动读写 + * + * @return ClientHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced + */ + @Bean + public ClientHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced handleDistributeSingleClientRealAutoReadConnectTypeAdvanced() { + return new ClientHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced(); + } + + /** + * 处理 接收服务端发送过来的聊天信息 + * + * @return ClientHandleDistributeSingleClientMessageTypeAdvanced + */ + @Bean + public ClientHandleDistributeSingleClientMessageTypeAdvanced handleDistributeSingleClientMessageTypeAdvanced() { + return new ClientHandleDistributeSingleClientMessageTypeAdvanced(); + } + + @Bean + public ClientHandleDistributeSingleClientRealCloseVisitorTypeAdvanced handleDistributeSingleClientRealCloseVisitorTypeAdvanced() { + return new ClientHandleDistributeSingleClientRealCloseVisitorTypeAdvanced(); + } + + @Bean + public ClientReportHandleChannelTransferTypeAdvancedHandleDistribute handleChannelTransferTypeAdvancedHandleDistribute(NettyClientProperties nettyClientProperties) { + return new ClientReportHandleChannelTransferTypeAdvancedHandleDistribute(nettyClientProperties); + } + + @Bean + public HandleDistributeConnectSuccessNotificationTypeAdvancedHandle handleDistributeConnectSuccessNotificationTypeAdvancedHandle(ClientChangeEvent clientChangeEvent) { + return new HandleDistributeConnectSuccessNotificationTypeAdvancedHandle(clientChangeEvent); + } + + @Bean + public HandleClientChannelActiveAdvanced handleClientChannelActiveAdvanced(NettyClientProperties nettyClientProperties) { + return new HandleClientChannelActiveAdvanced(nettyClientProperties); + } + + @Bean + public HandleDistributeDisconnectTypeAdvancedHandle handleDistributeDisconnectTypeAdvancedHandle(ClientChangeEvent clientChangeEvent) { + return new HandleDistributeDisconnectTypeAdvancedHandle(clientChangeEvent); + } + + @Bean + public HandleDistributeStagingClosedTypeAdvanced handleDistributeStagingClosedTypeAdvanced() { + return new HandleDistributeStagingClosedTypeAdvanced(); + } + + @Bean + public HandleDistributeStagingOpenedTypeAdvanced handleDistributeStagingOpenedTypeAdvanced() { + return new HandleDistributeStagingOpenedTypeAdvanced(); + } + + + @Bean + public ClientHandleDistributeSingleClientRealConnectTypeAdvanced clientHandleDistributeSingleClientRealConnectTypeAdvanced(NettyClientProperties nettyClientProperties, + List handleChannelTypeAdvancedList) { + return new ClientHandleDistributeSingleClientRealConnectTypeAdvanced(nettyClientProperties, handleChannelTypeAdvancedList); + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/InitConfig.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/InitConfig.java new file mode 100644 index 00000000..eaff2a53 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/InitConfig.java @@ -0,0 +1,87 @@ +package org.framework.smart.agent.network.heartbeat.client.config; + +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.client.application.LazyNettyServerPropertiesApplication; +import org.framework.smart.agent.network.heartbeat.client.infrastructure.entity.LazyNettyServerPropertiesDO; +import org.springframework.beans.factory.DisposableBean; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Role; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; + +import java.util.Objects; + +/** + * 初始化配置 + */ +@Role(BeanDefinition.ROLE_INFRASTRUCTURE) +@Slf4j +@Configuration +public class InitConfig implements CommandLineRunner, DisposableBean { + + private final NettyClientProperties nettyClientProperties; + private final LazyLambdaStream lazyLambdaStream; + + private final LazyNettyServerPropertiesApplication lazyNettyServerPropertiesApplication; + + public InitConfig(NettyClientProperties nettyClientProperties, LazyLambdaStream lazyLambdaStream, LazyNettyServerPropertiesApplication lazyNettyServerPropertiesApplication) { + this.nettyClientProperties = nettyClientProperties; + this.lazyLambdaStream = lazyLambdaStream; + this.lazyNettyServerPropertiesApplication = lazyNettyServerPropertiesApplication; + } + + + @Override + public void run(String... args) throws Exception { + try { + // 存储配置到db + initDb2Config(); + // 启动客户端连接 + lazyNettyServerPropertiesApplication.starterAllClientSocket(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 存储配置到db + */ + public void initDb2Config() { + + String clientId = nettyClientProperties.getClientId(); + String inetHost = nettyClientProperties.getInetHost(); + int inetPort = nettyClientProperties.getInetPort(); + if (Objects.isNull(clientId) || + Objects.isNull(inetHost)) { + log.warn("配置信息为空,请通过页面添加配置信息:{}", nettyClientProperties); + return; + } + LazyNettyServerPropertiesDO lazyNettyServerPropertiesDO = new LazyNettyServerPropertiesDO(); + lazyNettyServerPropertiesDO.setClientId(clientId); + lazyNettyServerPropertiesDO.setInetHost(inetHost); + lazyNettyServerPropertiesDO.setInetPort(inetPort); + lazyNettyServerPropertiesDO.setType(PropertiesType.CONFIG); + lazyNettyServerPropertiesDO.setIsDeleted(false); + // 根据服务端端口、port 唯一性验证 + boolean exists = lazyLambdaStream.exists(LazyWrappers.lambdaWrapper() + .eq(LazyNettyServerPropertiesDO::getInetHost, inetHost) + .eq(LazyNettyServerPropertiesDO::getInetPort, inetPort) + .eq(LazyNettyServerPropertiesDO::getClientId, clientId) + ); + if (!exists) { + lazyLambdaStream.insert(lazyNettyServerPropertiesDO); + } + } + + /** + * 程序关闭后执行 + */ + @Override + public void destroy() { + lazyNettyServerPropertiesApplication.destroyClientSocket(); + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/NettyClientProperties.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/NettyClientProperties.java new file mode 100644 index 00000000..2d9ae2c5 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/NettyClientProperties.java @@ -0,0 +1,36 @@ +package org.framework.smart.agent.network.heartbeat.client.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +/** + * netty 客户服务端地址配置属性 + */ +@ConfigurationProperties(prefix = NettyClientProperties.PREFIX, ignoreUnknownFields = true) +@Configuration +@Data +public class NettyClientProperties { + public static final String PREFIX = "spring.lazy.netty.client"; + /** + * 服务端地址 如:127.0.0.1 + */ + private String inetHost; + /** + * 服务端端口 如:7001 + */ + private int inetPort; + /** + * 服务端path + */ + private String inetPath = "lazy-cloud-heartbeat-server"; + /** + * 客户端ID 如:1024 + */ + private String clientId; + + /** + * 是否开启 默认是 + */ + private boolean enabled = true; +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/PropertiesType.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/PropertiesType.java new file mode 100644 index 00000000..387fd3c8 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/config/PropertiesType.java @@ -0,0 +1,14 @@ +package org.framework.smart.agent.network.heartbeat.client.config; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 属性类型 + */ +@AllArgsConstructor +@Getter +public enum PropertiesType { + DB, + CONFIG +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/controller/LazyNettyServerPropertiesProvider.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/controller/LazyNettyServerPropertiesProvider.java new file mode 100644 index 00000000..22cfe84e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/controller/LazyNettyServerPropertiesProvider.java @@ -0,0 +1,141 @@ +package org.framework.smart.agent.network.heartbeat.client.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import org.wu.framework.web.spring.EasyController; +import org.springframework.web.bind.annotation.*; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import org.springframework.beans.factory.annotation.Autowired; +import jakarta.annotation.Resource; +import org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties.LazyNettyServerProperties; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesRemoveCommand; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesStoryCommand; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesUpdateCommand; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesQueryListCommand; +import org.framework.smart.agent.network.heartbeat.client.application.command.lazy.netty.server.properties.LazyNettyServerPropertiesQueryOneCommand; +import org.framework.smart.agent.network.heartbeat.client.application.LazyNettyServerPropertiesApplication; +import org.framework.smart.agent.network.heartbeat.client.application.dto.LazyNettyServerPropertiesDTO; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyController + **/ +@Tag(name = "服务端配置信息提供者") +@EasyController("/v1/api/lazy/netty/server/properties") +public class LazyNettyServerPropertiesProvider { + + @Resource + private LazyNettyServerPropertiesApplication lazyNettyServerPropertiesApplication; + + /** + * describe 新增服务端配置信息 + * + * @param lazyNettyServerPropertiesStoryCommand 新增服务端配置信息 + * @return {@link Result} 服务端配置信息新增后领域对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + @Operation(summary = "新增服务端配置信息") + @PostMapping("/story") + public Result story(@RequestBody LazyNettyServerPropertiesStoryCommand lazyNettyServerPropertiesStoryCommand){ + return lazyNettyServerPropertiesApplication.story(lazyNettyServerPropertiesStoryCommand); + } + /** + * describe 批量新增服务端配置信息 + * + * @param lazyNettyServerPropertiesStoryCommandList 批量新增服务端配置信息 + * @return {@link Result>} 服务端配置信息新增后领域对象集合 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Operation(summary = "批量新增服务端配置信息") + @PostMapping("/batchStory") + public Result> batchStory(@RequestBody List lazyNettyServerPropertiesStoryCommandList){ + return lazyNettyServerPropertiesApplication.batchStory(lazyNettyServerPropertiesStoryCommandList); + } + /** + * describe 更新服务端配置信息 + * + * @param lazyNettyServerPropertiesUpdateCommand 更新服务端配置信息 + * @return {@link Result} 服务端配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Operation(summary = "更新服务端配置信息") + @PutMapping("/updateOne") + public Result updateOne(@RequestBody LazyNettyServerPropertiesUpdateCommand lazyNettyServerPropertiesUpdateCommand){ + return lazyNettyServerPropertiesApplication.updateOne(lazyNettyServerPropertiesUpdateCommand); + } + /** + * describe 查询单个服务端配置信息 + * + * @param lazyNettyServerPropertiesQueryOneCommand 查询单个服务端配置信息 + * @return {@link Result} 服务端配置信息DTO对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Operation(summary = "查询单个服务端配置信息") + @GetMapping("/findOne") + public Result findOne(@ModelAttribute LazyNettyServerPropertiesQueryOneCommand lazyNettyServerPropertiesQueryOneCommand){ + return lazyNettyServerPropertiesApplication.findOne(lazyNettyServerPropertiesQueryOneCommand); + } + /** + * describe 查询多个服务端配置信息 + * + * @param lazyNettyServerPropertiesQueryListCommand 查询多个服务端配置信息 + * @return {@link Result>} 服务端配置信息DTO对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Operation(summary = "查询多个服务端配置信息") + @GetMapping("/findList") + public Result> findList(@ModelAttribute LazyNettyServerPropertiesQueryListCommand lazyNettyServerPropertiesQueryListCommand){ + return lazyNettyServerPropertiesApplication.findList(lazyNettyServerPropertiesQueryListCommand); + } + /** + * describe 分页查询多个服务端配置信息 + * + * @param lazyNettyServerPropertiesQueryListCommand 分页查询多个服务端配置信息 + * @return {@link Result>} 分页服务端配置信息DTO对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Operation(summary = "分页查询多个服务端配置信息") + @GetMapping("/findPage") + public Result> findPage(@Parameter(description ="分页大小") @RequestParam(defaultValue = "10", value = "size") int size, + @Parameter(description ="当前页数") @RequestParam(defaultValue = "1", value = "current") int current,@ModelAttribute LazyNettyServerPropertiesQueryListCommand lazyNettyServerPropertiesQueryListCommand){ + return lazyNettyServerPropertiesApplication.findPage(size,current,lazyNettyServerPropertiesQueryListCommand); + } + /** + * describe 删除服务端配置信息 + * + * @param lazyNettyServerPropertiesRemoveCommand 删除服务端配置信息 + * @return {@link Result} 服务端配置信息 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Operation(summary = "删除服务端配置信息") + @DeleteMapping("/remove") + public Result remove(@ModelAttribute LazyNettyServerPropertiesRemoveCommand lazyNettyServerPropertiesRemoveCommand){ + return lazyNettyServerPropertiesApplication.remove(lazyNettyServerPropertiesRemoveCommand); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/domain/model/lazy/netty/server/properties/LazyNettyServerProperties.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/domain/model/lazy/netty/server/properties/LazyNettyServerProperties.java new file mode 100644 index 00000000..bb88a2bf --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/domain/model/lazy/netty/server/properties/LazyNettyServerProperties.java @@ -0,0 +1,76 @@ +package org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.framework.smart.agent.network.heartbeat.client.config.PropertiesType; + +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Integer; +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_properties",description = "服务端配置信息") +public class LazyNettyServerProperties { + + + /** + * + * 客户身份ID + */ + @Schema(description ="客户身份ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 状态(on_line、off_line) + */ + @Schema(description ="状态(on_line、off_line)",name ="connectStatus",example = "") + private NettyClientStatus connectStatus; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + + /** + * + * 服务端host + */ + @Schema(description ="服务端host",name ="inetHost",example = "") + private String inetHost; + + /** + * + * 服务端端口 + */ + @Schema(description ="服务端端口",name ="inetPort",example = "") + private Integer inetPort; + + + /** + * + * 类型(配置、DB) + */ + @Schema(description ="类型(配置、DB)",name ="type",example = "") + private PropertiesType type; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/domain/model/lazy/netty/server/properties/LazyNettyServerPropertiesRepository.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/domain/model/lazy/netty/server/properties/LazyNettyServerPropertiesRepository.java new file mode 100644 index 00000000..b7b47bf0 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/domain/model/lazy/netty/server/properties/LazyNettyServerPropertiesRepository.java @@ -0,0 +1,118 @@ +package org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties; + +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties.LazyNettyServerProperties; +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository + **/ + +public interface LazyNettyServerPropertiesRepository { + + + /** + * describe 新增服务端配置信息 + * + * @param lazyNettyServerProperties 新增服务端配置信息 + * @return {@link Result} 服务端配置信息新增后领域对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result story(LazyNettyServerProperties lazyNettyServerProperties); + + /** + * describe 批量新增服务端配置信息 + * + * @param lazyNettyServerPropertiesList 批量新增服务端配置信息 + * @return {@link Result>} 服务端配置信息新增后领域对象集合 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result> batchStory(List lazyNettyServerPropertiesList); + + /** + * describe 查询单个服务端配置信息 + * + * @param lazyNettyServerProperties 查询单个服务端配置信息 + * @return {@link Result} 服务端配置信息DTO对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result findOne(LazyNettyServerProperties lazyNettyServerProperties); + + /** + * describe 查询多个服务端配置信息 + * + * @param lazyNettyServerProperties 查询多个服务端配置信息 + * @return {@link Result>} 服务端配置信息DTO对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result> findList(LazyNettyServerProperties lazyNettyServerProperties); + + /** + * describe 分页查询多个服务端配置信息 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyServerProperties 分页查询多个服务端配置信息 + * @return {@link Result>} 分页服务端配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result> findPage(int size,int current,LazyNettyServerProperties lazyNettyServerProperties); + + /** + * describe 删除服务端配置信息 + * + * @param lazyNettyServerProperties 删除服务端配置信息 + * @return {@link Result} 服务端配置信息 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result remove(LazyNettyServerProperties lazyNettyServerProperties); + + /** + * describe 是否存在服务端配置信息 + * + * @param lazyNettyServerProperties 是否存在服务端配置信息 + * @return {@link Result} 服务端配置信息是否存在 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + Result exists(LazyNettyServerProperties lazyNettyServerProperties); + + /** + * 客户端连接服务端状态在线 + * @param lazyNettyServerProperties 数据 + */ + void onLine(LazyNettyServerProperties lazyNettyServerProperties); + + /** + * 推送客户端离线 + * @param lazyNettyServerProperties 数据 + */ + void offLine(LazyNettyServerProperties lazyNettyServerProperties); + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/converter/LazyNettyServerPropertiesConverter.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/converter/LazyNettyServerPropertiesConverter.java new file mode 100644 index 00000000..84667c84 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/converter/LazyNettyServerPropertiesConverter.java @@ -0,0 +1,48 @@ +package org.framework.smart.agent.network.heartbeat.client.infrastructure.converter; + +import org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties.LazyNettyServerProperties; +import org.framework.smart.agent.network.heartbeat.client.infrastructure.entity.LazyNettyServerPropertiesDO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureConverter + **/ +@Mapper +public interface LazyNettyServerPropertiesConverter { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + LazyNettyServerPropertiesConverter INSTANCE = Mappers.getMapper(LazyNettyServerPropertiesConverter.class); + /** + * describe 实体对象 转换成领域对象 + * + * @param lazyNettyServerPropertiesDO 服务端配置信息实体对象 + * @return {@link LazyNettyServerProperties} 服务端配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + LazyNettyServerProperties toLazyNettyServerProperties(LazyNettyServerPropertiesDO lazyNettyServerPropertiesDO); + /** + * describe 领域对象 转换成实体对象 + * + * @param lazyNettyServerProperties 服务端配置信息领域对象 + * @return {@link LazyNettyServerPropertiesDO} 服务端配置信息实体对象 + + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + LazyNettyServerPropertiesDO fromLazyNettyServerProperties(LazyNettyServerProperties lazyNettyServerProperties); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/entity/LazyNettyServerPropertiesDO.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/entity/LazyNettyServerPropertiesDO.java new file mode 100644 index 00000000..bbedd1bb --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/entity/LazyNettyServerPropertiesDO.java @@ -0,0 +1,97 @@ +package org.framework.smart.agent.network.heartbeat.client.infrastructure.entity; + +import lombok.Data; +import lombok.experimental.Accessors; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.framework.smart.agent.network.heartbeat.client.config.PropertiesType; +import org.wu.framework.lazy.orm.core.stereotype.LazyTableIndex; +import org.wu.framework.core.stereotype.LayerField; +import org.wu.framework.core.stereotype.LayerField.LayerFieldType; +import org.wu.framework.lazy.orm.core.stereotype.LazyTable; +import org.wu.framework.lazy.orm.core.stereotype.LazyTableField; +import org.wu.framework.lazy.orm.core.stereotype.*; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Integer; +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity + **/ +@Data +@Accessors(chain = true) +@LazyTable(tableName = "lazy_netty_server_properties",comment = "服务端配置信息") +@Schema(title = "lazy_netty_server_properties",description = "服务端配置信息") +public class LazyNettyServerPropertiesDO { + + + /** + * + * 客户身份ID + */ + @Schema(description ="客户身份ID",name ="clientId",example = "") + @LazyTableFieldUnique(name="client_id",comment="客户身份ID",columnType="varchar(255)") + private String clientId; + + /** + * + * 状态(on_line、off_line) + */ + @Schema(description ="状态(on_line、off_line)",name ="connectStatus",example = "") + @LazyTableField(name="connect_status",comment="状态(on_line、off_line)",columnType="varchar(255)") + private NettyClientStatus connectStatus; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + @LazyTableField(name="create_time",comment="创建时间") + private LocalDateTime createTime; + + + /** + * + * 服务端host + */ + @Schema(description ="服务端host",name ="inetHost",example = "") + @LazyTableFieldUnique(name="inet_host",comment="服务端host",columnType="varchar(255)") + private String inetHost; + + /** + * + * 服务端端口 + */ + @Schema(description ="服务端端口",name ="inetPort",example = "") + @LazyTableFieldUnique(name="inet_port",comment="服务端端口",columnType="int") + private Integer inetPort; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + @LazyTableField(name="is_deleted",comment="是否删除") + private Boolean isDeleted; + + /** + * + * 类型(配置、DB) + */ + @Schema(description ="类型(配置、DB)",name ="type",example = "") + @LazyTableField(name="type",comment="类型(配置、DB)",columnType="varchar(255)") + private PropertiesType type; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + @LazyTableField(name="update_time",comment="更新时间") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/mapper/LazyNettyServerPropertiesMapper.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/mapper/LazyNettyServerPropertiesMapper.java new file mode 100644 index 00000000..016189d3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/mapper/LazyNettyServerPropertiesMapper.java @@ -0,0 +1,15 @@ +package org.framework.smart.agent.network.heartbeat.client.infrastructure.mapper; + +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyNettyServerPropertiesMapper { + + + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/persistence/LazyNettyServerPropertiesRepositoryImpl.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/persistence/LazyNettyServerPropertiesRepositoryImpl.java new file mode 100644 index 00000000..ecc50495 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/persistence/LazyNettyServerPropertiesRepositoryImpl.java @@ -0,0 +1,213 @@ +package org.framework.smart.agent.network.heartbeat.client.infrastructure.persistence; + +import org.framework.smart.agent.network.heartbeat.client.config.PropertiesType; +import org.framework.smart.agent.network.heartbeat.client.infrastructure.entity.LazyNettyServerPropertiesDO; +import org.framework.smart.agent.network.heartbeat.client.infrastructure.converter.LazyNettyServerPropertiesConverter; +import org.framework.smart.agent.network.heartbeat.client.infrastructure.mapper.LazyNettyServerPropertiesMapper; +import org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties.LazyNettyServerPropertiesRepository; +import org.springframework.stereotype.Repository; + +import java.util.stream.Collectors; + +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import jakarta.annotation.Resource; +import org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties.LazyNettyServerProperties; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; + +import java.util.List; + +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; + +/** + * describe 服务端配置信息 + * + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructurePersistence + **/ +@Repository +public class LazyNettyServerPropertiesRepositoryImpl implements LazyNettyServerPropertiesRepository { + + @Resource + LazyLambdaStream lazyLambdaStream; + + /** + * describe 新增服务端配置信息 + * + * @param lazyNettyServerProperties 新增服务端配置信息 + * @return {@link Result} 服务端配置信息新增后领域对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result story(LazyNettyServerProperties lazyNettyServerProperties) { + LazyNettyServerPropertiesDO lazyNettyServerPropertiesDO = LazyNettyServerPropertiesConverter.INSTANCE.fromLazyNettyServerProperties(lazyNettyServerProperties); + String inetHost = lazyNettyServerPropertiesDO.getInetHost(); + Integer inetPort = lazyNettyServerPropertiesDO.getInetPort(); + String clientId = lazyNettyServerPropertiesDO.getClientId(); + lazyNettyServerPropertiesDO.setIsDeleted(false); + + // 查询 ip、端口、客户端 + boolean exists = lazyLambdaStream.exists(LazyWrappers.lambdaWrapper() + .eq(LazyNettyServerPropertiesDO::getInetHost, inetHost) + .eq(LazyNettyServerPropertiesDO::getInetPort, inetPort) + .eq(LazyNettyServerPropertiesDO::getClientId, clientId) + ); + if (exists) { + // 更新 + lazyLambdaStream.update(lazyNettyServerPropertiesDO, LazyWrappers.lambdaWrapper() + .eq(LazyNettyServerPropertiesDO::getInetHost, inetHost) + .eq(LazyNettyServerPropertiesDO::getInetPort, inetPort) + .eq(LazyNettyServerPropertiesDO::getClientId, clientId) + ); + } else { + lazyLambdaStream.insert(lazyNettyServerPropertiesDO); + } + + return ResultFactory.successOf(); + } + + /** + * describe 批量新增服务端配置信息 + * + * @param lazyNettyServerPropertiesList 批量新增服务端配置信息 + * @return {@link Result>} 服务端配置信息新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result> batchStory(List lazyNettyServerPropertiesList) { + List lazyNettyServerPropertiesDOList = lazyNettyServerPropertiesList.stream().map(LazyNettyServerPropertiesConverter.INSTANCE::fromLazyNettyServerProperties).collect(Collectors.toList()); + lazyLambdaStream.upsert(lazyNettyServerPropertiesDOList); + return ResultFactory.successOf(); + } + + /** + * describe 查询单个服务端配置信息 + * + * @param lazyNettyServerProperties 查询单个服务端配置信息 + * @return {@link Result} 服务端配置信息领域对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result findOne(LazyNettyServerProperties lazyNettyServerProperties) { + LazyNettyServerPropertiesDO lazyNettyServerPropertiesDO = LazyNettyServerPropertiesConverter.INSTANCE.fromLazyNettyServerProperties(lazyNettyServerProperties); + LazyNettyServerProperties lazyNettyServerPropertiesOne = lazyLambdaStream + .selectOne( + LazyWrappers.lambdaWrapperBean(lazyNettyServerPropertiesDO) + .eq(LazyNettyServerPropertiesDO::getIsDeleted,false) + , LazyNettyServerProperties.class); + return ResultFactory.successOf(lazyNettyServerPropertiesOne); + } + + /** + * describe 查询多个服务端配置信息 + * + * @param lazyNettyServerProperties 查询多个服务端配置信息 + * @return {@link Result>} 服务端配置信息领域对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result> findList(LazyNettyServerProperties lazyNettyServerProperties) { + LazyNettyServerPropertiesDO lazyNettyServerPropertiesDO = LazyNettyServerPropertiesConverter.INSTANCE.fromLazyNettyServerProperties(lazyNettyServerProperties); + List lazyNettyServerPropertiesList = lazyLambdaStream.selectList( + LazyWrappers.lambdaWrapperBean(lazyNettyServerPropertiesDO) + .eq(LazyNettyServerPropertiesDO::getIsDeleted, false) + , LazyNettyServerProperties.class); + return ResultFactory.successOf(lazyNettyServerPropertiesList); + } + + /** + * describe 分页查询多个服务端配置信息 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyServerProperties 分页查询多个服务端配置信息 + * @return {@link Result>} 分页服务端配置信息领域对象 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyNettyServerProperties lazyNettyServerProperties) { + LazyNettyServerPropertiesDO lazyNettyServerPropertiesDO = LazyNettyServerPropertiesConverter.INSTANCE.fromLazyNettyServerProperties(lazyNettyServerProperties); + LazyPage lazyPage = new LazyPage<>(current, size); + LazyPage lazyNettyServerPropertiesLazyPage = lazyLambdaStream.selectPage( + LazyWrappers + .lambdaWrapperBean(lazyNettyServerPropertiesDO) + .eq(LazyNettyServerPropertiesDO::getIsDeleted, false) + , lazyPage, LazyNettyServerProperties.class); + return ResultFactory.successOf(lazyNettyServerPropertiesLazyPage); + } + + /** + * describe 删除服务端配置信息 + * + * @param lazyNettyServerProperties 删除服务端配置信息 + * @return {@link Result} 服务端配置信息 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result remove(LazyNettyServerProperties lazyNettyServerProperties) { + LazyNettyServerPropertiesDO lazyNettyServerPropertiesDO = LazyNettyServerPropertiesConverter.INSTANCE.fromLazyNettyServerProperties(lazyNettyServerProperties); + lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyNettyServerPropertiesDO)); + return ResultFactory.successOf(); + } + + /** + * describe 是否存在服务端配置信息 + * + * @param lazyNettyServerProperties 服务端配置信息领域对象 + * @return {@link Result} 是否存在 true 存在,false 不存在 + * @author Jia wei Wu + * @date 2024/04/03 03:00 下午 + **/ + + @Override + public Result exists(LazyNettyServerProperties lazyNettyServerProperties) { + LazyNettyServerPropertiesDO lazyNettyServerPropertiesDO = LazyNettyServerPropertiesConverter.INSTANCE.fromLazyNettyServerProperties(lazyNettyServerProperties); + Boolean exists = lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyNettyServerPropertiesDO)); + return ResultFactory.successOf(exists); + } + + /** + * 客户端连接服务端状态在线 + * + * @param lazyNettyServerProperties 数据 + */ + @Override + public void onLine(LazyNettyServerProperties lazyNettyServerProperties) { + LazyNettyServerPropertiesDO lazyNettyServerPropertiesDO = LazyNettyServerPropertiesConverter.INSTANCE.fromLazyNettyServerProperties(lazyNettyServerProperties); + lazyLambdaStream.update(lazyNettyServerPropertiesDO,LazyWrappers.lambdaWrapper() + .eq(LazyNettyServerPropertiesDO::getInetPort,lazyNettyServerPropertiesDO.getInetPort()) + .eq(LazyNettyServerPropertiesDO::getInetHost,lazyNettyServerPropertiesDO.getInetHost()) + .eq(LazyNettyServerPropertiesDO::getClientId,lazyNettyServerPropertiesDO.getClientId()) + ); + + } + + /** + * 推送客户端离线 + * + * @param lazyNettyServerProperties 数据 + */ + @Override + public void offLine(LazyNettyServerProperties lazyNettyServerProperties) { + LazyNettyServerPropertiesDO lazyNettyServerPropertiesDO = LazyNettyServerPropertiesConverter.INSTANCE.fromLazyNettyServerProperties(lazyNettyServerProperties); + lazyLambdaStream.update(lazyNettyServerPropertiesDO,LazyWrappers.lambdaWrapper() + .eq(LazyNettyServerPropertiesDO::getInetPort,lazyNettyServerPropertiesDO.getInetPort()) + .eq(LazyNettyServerPropertiesDO::getInetHost,lazyNettyServerPropertiesDO.getInetHost()) + .eq(LazyNettyServerPropertiesDO::getClientId,lazyNettyServerPropertiesDO.getClientId()) + ); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/xml/LazyNettyServerPropertiesMapper.xml b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/xml/LazyNettyServerPropertiesMapper.xml new file mode 100644 index 00000000..054f0737 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/infrastructure/xml/LazyNettyServerPropertiesMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleChannelHeartbeatTypeAdvanced.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleChannelHeartbeatTypeAdvanced.java new file mode 100644 index 00000000..4d8ed2b3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleChannelHeartbeatTypeAdvanced.java @@ -0,0 +1,29 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.advanced; + + +import io.netty.channel.Channel; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelHeartbeatTypeAdvanced; + + +/** + * 服务端 处理客户端心跳 + * TYPE_HEARTBEAT + */ +public class ClientHandleChannelHeartbeatTypeAdvanced extends AbstractHandleChannelHeartbeatTypeAdvanced { + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param msg 通道数据 + */ + @Override + public void doHandler(Channel channel, NettyProxyMsg msg) { + NettyProxyMsg hb = new NettyProxyMsg(); + hb.setType(MessageType.TYPE_HEARTBEAT); +// channel.writeAndFlush(hb); + } + +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientMessageTypeAdvanced.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientMessageTypeAdvanced.java new file mode 100644 index 00000000..91273859 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientMessageTypeAdvanced.java @@ -0,0 +1,26 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.advanced; + +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.client.AbstractHandleDistributeSingleClientMessageTypeAdvanced; + +/** + * 接收服务端发送过来的聊天信息 + */ +@Slf4j +public class ClientHandleDistributeSingleClientMessageTypeAdvanced extends AbstractHandleDistributeSingleClientMessageTypeAdvanced { + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param nettyProxyMsg 通道数据 + */ + @Override + protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + byte[] clientId = nettyProxyMsg.getClientId(); + byte[] data = nettyProxyMsg.getData(); + log.info("接收客户端:{},发送过来的聊天信息:{}", new String(clientId), new String(data)); + + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced.java new file mode 100644 index 00000000..cc3da62f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced.java @@ -0,0 +1,29 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.advanced; + +import io.netty.channel.Channel; +import io.netty.channel.ChannelOption; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.NettyRealIdContext; +import org.framework.smart.agent.network.heartbeat.common.advanced.client.AbstractHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced; + +@Slf4j +public class ClientHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced extends AbstractHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced { + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param nettyProxyMsg 通道数据 + */ + @Override + protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + // 获取访客ID + byte[] visitorId = nettyProxyMsg.getVisitorId(); + // 获取访客对应的真实代理通道 + Channel realChannel = NettyRealIdContext.getReal(visitorId); + if (realChannel != null) { + realChannel.config().setOption(ChannelOption.AUTO_READ, true); + } + + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientRealCloseVisitorTypeAdvanced.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientRealCloseVisitorTypeAdvanced.java new file mode 100644 index 00000000..93869ba5 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientRealCloseVisitorTypeAdvanced.java @@ -0,0 +1,26 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.advanced; + +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.common.NettyCommunicationIdContext; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.NettyRealIdContext; +import org.framework.smart.agent.network.heartbeat.common.advanced.client.AbstractHandleDistributeSingleClientRealCloseVisitorTypeAdvanced; + +@Slf4j +public class ClientHandleDistributeSingleClientRealCloseVisitorTypeAdvanced extends AbstractHandleDistributeSingleClientRealCloseVisitorTypeAdvanced { + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param nettyProxyMsg 通道数据 + */ + @Override + protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + // 关闭代理的真实通道 + byte[] visitorId = nettyProxyMsg.getVisitorId(); + NettyRealIdContext.clear(visitorId); + NettyCommunicationIdContext.clear(visitorId); + + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientRealConnectTypeAdvanced.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientRealConnectTypeAdvanced.java new file mode 100644 index 00000000..61a89050 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientHandleDistributeSingleClientRealConnectTypeAdvanced.java @@ -0,0 +1,56 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.advanced; + +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.client.config.NettyClientProperties; +import org.framework.smart.agent.network.heartbeat.client.netty.socket.NettyClientRealSocket; +import org.framework.smart.agent.network.heartbeat.common.InternalNetworkPenetrationRealClient; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.client.AbstractHandleDistributeSingleClientRealConnectTypeAdvanced; + +import java.util.List; + +/** + * 客户端创建真实代理同奥 + */ +@Slf4j +public class ClientHandleDistributeSingleClientRealConnectTypeAdvanced extends AbstractHandleDistributeSingleClientRealConnectTypeAdvanced { + + private final NettyClientProperties nettyClientProperties;// 服务端地址信息 + private final List handleChannelTypeAdvancedList; + + public ClientHandleDistributeSingleClientRealConnectTypeAdvanced(NettyClientProperties nettyClientProperties, List handleChannelTypeAdvancedList) { + this.nettyClientProperties = nettyClientProperties; + this.handleChannelTypeAdvancedList = handleChannelTypeAdvancedList; + } + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param msg 通道数据 + */ + @Override + protected void doHandler(Channel channel, NettyProxyMsg msg) { + // 创建真实端口监听 + byte[] clientIdBytes = msg.getClientId(); + byte[] visitorPort = msg.getVisitorPort(); + byte[] clientTargetIp = msg.getClientTargetIp(); + byte[] clientTargetPort = msg.getClientTargetPort(); + byte[] visitorIdBytes = msg.getVisitorId(); + InternalNetworkPenetrationRealClient internalNetworkPenetrationRealClient = + InternalNetworkPenetrationRealClient + .builder() + .clientId(new String(clientIdBytes)) + .visitorPort(Integer.valueOf(new String(visitorPort))) + .clientTargetIp(new String(clientTargetIp)) + .clientTargetPort(Integer.valueOf(new String(clientTargetPort))) + .visitorId(new String(visitorIdBytes)) + .build(); + + // 绑定真实服务端口 + NettyClientRealSocket.buildRealServer(internalNetworkPenetrationRealClient, nettyClientProperties, handleChannelTypeAdvancedList); + + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientReportHandleChannelTransferTypeAdvancedHandleDistribute.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientReportHandleChannelTransferTypeAdvancedHandleDistribute.java new file mode 100644 index 00000000..d5d76fe4 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/ClientReportHandleChannelTransferTypeAdvancedHandleDistribute.java @@ -0,0 +1,58 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.advanced; + + +import io.netty.buffer.ByteBuf; +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.client.config.NettyClientProperties; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.NettyRealIdContext; +import org.framework.smart.agent.network.heartbeat.common.advanced.client.AbstractHandleDistributeChannelTransferTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + + +/** + * 服务端处理客户端数据传输 + * + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_TRANSFER + */ +@Slf4j +public class ClientReportHandleChannelTransferTypeAdvancedHandleDistribute extends AbstractHandleDistributeChannelTransferTypeAdvanced { + + private final NettyClientProperties nettyClientProperties; + + public ClientReportHandleChannelTransferTypeAdvancedHandleDistribute(NettyClientProperties nettyClientProperties) { + this.nettyClientProperties = nettyClientProperties; + } + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param nettyProxyMsg 通道数据 + */ + @Override + public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + log.debug("接收到服务端需要内网穿透的数据:{}" , nettyProxyMsg); + String clientId = nettyClientProperties.getClientId(); + byte[] visitorPort = nettyProxyMsg.getVisitorPort(); + byte[] clientTargetIp = nettyProxyMsg.getClientTargetIp(); + byte[] clientTargetPort = nettyProxyMsg.getClientTargetPort(); + byte[] visitorId = nettyProxyMsg.getVisitorId(); + // 真实服务通道 + Channel realChannel = NettyRealIdContext.getReal(new String(visitorId)); + if (realChannel == null) { + log.error("无法获取访客:{} 真实服务", new String(visitorId)); + return; + } + + + // 把数据转到真实服务 + ByteBuf buf = channel.config().getAllocator().buffer(nettyProxyMsg.getData().length); + buf.writeBytes(nettyProxyMsg.getData()); + + realChannel.writeAndFlush(buf); + + } + +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleClientChannelActiveAdvanced.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleClientChannelActiveAdvanced.java new file mode 100644 index 00000000..f7cff39f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleClientChannelActiveAdvanced.java @@ -0,0 +1,34 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.advanced; + +import io.netty.channel.Channel; +import org.framework.smart.agent.network.heartbeat.client.config.NettyClientProperties; +import org.framework.smart.agent.network.heartbeat.common.ChannelContext; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.client.AbstractHandleClientChannelActiveAdvanced; +import org.framework.smart.agent.network.heartbeat.common.utils.ChannelAttributeKeyUtils; + +/** + * 客户端通道 is active + */ +public class HandleClientChannelActiveAdvanced extends AbstractHandleClientChannelActiveAdvanced { + private final NettyClientProperties nettyClientProperties; + + public HandleClientChannelActiveAdvanced(NettyClientProperties nettyClientProperties) { + this.nettyClientProperties = nettyClientProperties; + } + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param nettyProxyMsg 通道数据 + */ + @Override + protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + // 缓存当前通道 + byte[] clientIdByte = nettyProxyMsg.getClientId(); + String clientId = new String(clientIdByte); + ChannelContext.push(channel, clientId); + ChannelAttributeKeyUtils.buildClientId(channel, clientId); + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeConnectSuccessNotificationTypeAdvancedHandle.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeConnectSuccessNotificationTypeAdvancedHandle.java new file mode 100644 index 00000000..6782c374 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeConnectSuccessNotificationTypeAdvancedHandle.java @@ -0,0 +1,44 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.advanced; + +import com.alibaba.fastjson.JSONObject; +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.client.netty.event.ClientChangeEvent; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.client.AbstractHandleDistributeConnectSuccessNotificationTypeAdvancedHandle; + +import java.util.List; + +/** + * 客户端连接成功通知 + */ +@Slf4j +public class HandleDistributeConnectSuccessNotificationTypeAdvancedHandle extends AbstractHandleDistributeConnectSuccessNotificationTypeAdvancedHandle { + + private final ClientChangeEvent clientChangeEvent; + + + public HandleDistributeConnectSuccessNotificationTypeAdvancedHandle(ClientChangeEvent clientChangeEvent) { + this.clientChangeEvent = clientChangeEvent; + } + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param msg 通道数据 + */ + @Override + protected void doHandler(Channel channel, NettyProxyMsg msg) { + // 客户端ID:{},客户端:{}连接成功 + log.warn("Client ID: {}, Client Data : {} Connection successful", new String(msg.getClientId()), new String(msg.getData())); + + + // 存储其他客户端状态 + List clientIdList = JSONObject.parseArray(new String(msg.getData()), String.class); + for (String tenantId : clientIdList) { + clientChangeEvent.clientOnLine(tenantId); + } + + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeDisconnectTypeAdvancedHandle.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeDisconnectTypeAdvancedHandle.java new file mode 100644 index 00000000..d81e780f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeDisconnectTypeAdvancedHandle.java @@ -0,0 +1,43 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.advanced; + + +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.client.netty.event.ClientChangeEvent; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.client.AbstractHandleDistributeDisconnectTypeAdvancedHandle; + + +/** + * 服务端处理客户端断开连接处理 + * TYPE_DISCONNECT + */ +@Slf4j +public class HandleDistributeDisconnectTypeAdvancedHandle extends AbstractHandleDistributeDisconnectTypeAdvancedHandle { + + + private final ClientChangeEvent clientChangeEvent; + + public HandleDistributeDisconnectTypeAdvancedHandle(ClientChangeEvent clientChangeEvent) { + this.clientChangeEvent = clientChangeEvent; + } + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param msg 通道数据 + */ + @Override + public void doHandler(Channel channel, NettyProxyMsg msg) { + // 服务下线 + byte[] data = msg.getData(); + byte[] clientId = msg.getClientId(); + String tenantId = new String(clientId); + //客户端:{}下线 + log.warn("Client: {} Offline", tenantId); + clientChangeEvent.clientOffLine(tenantId); + + } + +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeStagingClosedTypeAdvanced.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeStagingClosedTypeAdvanced.java new file mode 100644 index 00000000..49085dd5 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeStagingClosedTypeAdvanced.java @@ -0,0 +1,30 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.advanced; + +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.client.AbstractHandleDistributeStagingClosedTypeAdvanced; + +/** + * 服务端下发暂存关闭消息处理 + */ +@Slf4j +public class HandleDistributeStagingClosedTypeAdvanced extends AbstractHandleDistributeStagingClosedTypeAdvanced { + + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param msg 通道数据 + */ + @Override + protected void doHandler(Channel channel, NettyProxyMsg msg) { + String clientId = new String(msg.getClientId()); + log.info("客户端:{}离线暂存关闭", clientId); + // 修改redis 客户端暂存状态 +// String stagingStatusKey = StagingConfigKeyConstant.getStagingStatusKey(clientId); +// stringRedisTemplate.opsForValue().set(stagingStatusKey, StagingStatus.CLOSED.name()); + + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeStagingOpenedTypeAdvanced.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeStagingOpenedTypeAdvanced.java new file mode 100644 index 00000000..514a33a5 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/advanced/HandleDistributeStagingOpenedTypeAdvanced.java @@ -0,0 +1,34 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.advanced; + +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.client.AbstractHandleDistributeStagingOpenedTypeAdvanced; + +/** + * 服务端下发暂存开启消息处理 + */ +@Slf4j +public class HandleDistributeStagingOpenedTypeAdvanced extends AbstractHandleDistributeStagingOpenedTypeAdvanced { + + + public HandleDistributeStagingOpenedTypeAdvanced() { + + } + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param msg 通道数据 + */ + @Override + protected void doHandler(Channel channel, NettyProxyMsg msg) { + String clientId = new String(msg.getClientId()); + //客户端:{}离线暂存开启 + log.warn("Client: {} Offline temporary storage enabled", new String(msg.getClientId())); + // 修改redis 客户端暂存状态 +// String stagingStatusKey = StagingConfigKeyConstant.getStagingStatusKey(clientId); +// stringRedisTemplate.opsForValue().set(stagingStatusKey, StagingStatus.OPENED.name()); + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/event/ClientChangeEvent.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/event/ClientChangeEvent.java new file mode 100644 index 00000000..b4249aea --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/event/ClientChangeEvent.java @@ -0,0 +1,52 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.event; + +/** + * 客户端状态变更事件 + */ +public interface ClientChangeEvent { + + + /** + * 推送客户端在线 + */ + void clientOnLine(String clientId); + + /** + * 推送客户端在线 + * @param clientId 客户端 + * @param inetHost 服务端ip + * @param inetPort 服务端端口 + * @param serverId 服务端ID + */ + void clientOnLine(String inetHost, int inetPort,String serverId ,String clientId); + + /** + * 推送客户端离线 + */ + void clientOffLine(String clientId); + + /** + * 推送客户端离线 + * + * @param inetHost 服务端ip + * @param inetPort 服务端端口 + * @param serverId 服务端ID + * @param clientId 客户端 + */ + void clientOffLine(String inetHost, int inetPort,String serverId,String clientId); + + /** + * 暂存开启 + * + * @param clientId 租户ID + */ + void stagingOpen(String clientId); + + + /** + * 暂存关闭 + * + * @param clientId 客户端ID 对应的租户 + */ + void stagingClose(String clientId); +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/event/DefaultClientChangeEventImpl.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/event/DefaultClientChangeEventImpl.java new file mode 100644 index 00000000..b817998f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/event/DefaultClientChangeEventImpl.java @@ -0,0 +1,131 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.event; + + +import jakarta.annotation.Resource; +import org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties.LazyNettyServerProperties; +import org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties.LazyNettyServerPropertiesRepository; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.springframework.stereotype.Component; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Component +public class DefaultClientChangeEventImpl implements ClientChangeEvent { + + + @Resource + private LazyNettyServerPropertiesRepository lazyNettyServerPropertiesRepository; + + +// private final StringRedisTemplate stringRedisTemplate; +// private final RedisProviderTemplate redisProviderTemplate; +// +// public DefaultClientChangeEvent1Impl(StringRedisTemplate stringRedisTemplate, RedisProviderTemplate redisProviderTemplate) { +// this.stringRedisTemplate = stringRedisTemplate; +// this.redisProviderTemplate = redisProviderTemplate; +// } + + + /** + * 推送客户端在线 + */ + @Override + public void clientOnLine(String clientId) { +// // 获取当前客户端ID +// if (ObjectUtils.isEmpty(clientId)) { +// clientId = stringRedisTemplate.opsForValue().get(ClientConfigKeyUtils.CLIENT_ID_KEY); +// } +// String clientStatusKey = ClientConfigKeyUtils.getClientStatusKey(clientId); +// // 如果可以已经在线状态不推送 +// stringRedisTemplate.opsForValue().set(clientStatusKey, NettyClientStatus.ON_LINE.name()); +// ClientOnLineState clientOnLineState = new ClientOnLineState(); +// clientOnLineState.setClientId(clientId); +// clientOnLineState.setOnLineState(NettyClientStatus.ON_LINE.name()); +// // 暂存扫描触发 +// redisProviderTemplate.send(RedisChannelConstant.REDIS_CLIENT_ONLINE_OR_OFFLINE_CHANNEL,clientOnLineState); + + } + + /** + * 推送客户端在线 + * + * @param inetHost 服务端ip + * @param inetPort 服务端端口 + * @param serverId 服务端ID + * @param clientId 客户端 + */ + @Override + public void clientOnLine(String inetHost, int inetPort, String serverId, String clientId) { + LazyNettyServerProperties lazyNettyServerProperties = new LazyNettyServerProperties(); + lazyNettyServerProperties.setClientId(clientId); + lazyNettyServerProperties.setInetHost(inetHost); + lazyNettyServerProperties.setInetPort(inetPort); + lazyNettyServerProperties.setConnectStatus(NettyClientStatus.ON_LINE); + lazyNettyServerPropertiesRepository.onLine(lazyNettyServerProperties); + // 更改状态未在线 + clientOnLine(clientId); + } + + + /** + * 推送客户端离线 + */ + @Override + public void clientOffLine(String clientId) { +// if (ObjectUtils.isEmpty(clientId)) { +// clientId = stringRedisTemplate.opsForValue().get(ClientConfigKeyUtils.CLIENT_ID_KEY); +// } +// String clientStatusKey = ClientConfigKeyUtils.getClientStatusKey(clientId); +// // 离线状态 +// stringRedisTemplate.opsForValue().set(clientStatusKey, NettyClientStatus.OFF_LINE.name()); +// // 暂存状态 +// stagingOpen(clientId); +// // 暂存扫描触发 +// ClientOnLineState clientOnLineState = new ClientOnLineState(); +// clientOnLineState.setClientId(clientId); +// clientOnLineState.setOnLineState(NettyClientStatus.OFF_LINE.name()); +// redisProviderTemplate.send(RedisChannelConstant.REDIS_CLIENT_ONLINE_OR_OFFLINE_CHANNEL,clientOnLineState); + } + + /** + * 推送客户端离线 + * + * @param inetHost 服务端ip + * @param inetPort 服务端端口 + * @param serverId + * @param clientId 客户端 + */ + @Override + public void clientOffLine(String inetHost, int inetPort, String serverId, String clientId) { + LazyNettyServerProperties lazyNettyServerProperties = new LazyNettyServerProperties(); + lazyNettyServerProperties.setClientId(clientId); + lazyNettyServerProperties.setInetHost(inetHost); + lazyNettyServerProperties.setInetPort(inetPort); + lazyNettyServerProperties.setConnectStatus(NettyClientStatus.OFF_LINE); + lazyNettyServerPropertiesRepository.offLine(lazyNettyServerProperties); + clientOffLine(clientId); + } + + @Override + public void stagingOpen(String clientId) { +// String stagingStatusKey = StagingConfigKeyConstant.getStagingStatusKey(clientId); +// stringRedisTemplate.opsForValue().set(stagingStatusKey, StagingStatus.OPENED.name()); + + } + + /** + * 暂存关闭 + * + * @param clientId 租户ID + */ + @Override + public void stagingClose(String clientId) { +// if (clientId == null) { +// clientId = stringRedisTemplate.opsForValue().get(ClientConfigKeyUtils.CLIENT_ID_KEY); +// } +// String stagingStatusKey = StagingConfigKeyConstant.getStagingStatusKey(clientId); +// stringRedisTemplate.opsForValue().set(stagingStatusKey, StagingStatus.CLOSED.name()); + + } + +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/filter/NettyClientFilter.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/filter/NettyClientFilter.java new file mode 100644 index 00000000..a5f57688 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/filter/NettyClientFilter.java @@ -0,0 +1,45 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.filter; + +import io.netty.channel.ChannelInitializer; +import io.netty.channel.ChannelPipeline; +import io.netty.channel.socket.SocketChannel; +import io.netty.handler.codec.string.StringDecoder; +import io.netty.handler.codec.string.StringEncoder; +import io.netty.handler.timeout.IdleStateHandler; +import org.framework.smart.agent.network.heartbeat.client.netty.handler.NettyClientHandler; +import org.framework.smart.agent.network.heartbeat.client.netty.socket.NettyClientSocket; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelTypeAdapter; +import org.framework.smart.agent.network.heartbeat.common.decoder.NettyProxyMsgDecoder; +import org.framework.smart.agent.network.heartbeat.common.encoder.NettyProxyMsgEncoder; + +public class NettyClientFilter extends ChannelInitializer { + + + private final ChannelTypeAdapter channelTypeAdapter; + private final NettyClientSocket nettyClientSocket; + + public NettyClientFilter(ChannelTypeAdapter channelTypeAdapter, NettyClientSocket nettyClientSocket) { + this.channelTypeAdapter = channelTypeAdapter; + this.nettyClientSocket = nettyClientSocket; + } + + @Override + protected void initChannel(SocketChannel ch) throws Exception { + ChannelPipeline pipeline = ch.pipeline(); + + /* * 解码和编码,应和服务端一致 * */ +// pipeline.addLast(new NettyMsgDecoder(Integer.MAX_VALUE, 0, 4, -4, 0)); +// pipeline.addLast(new NettMsgEncoder()); + // 解码、编码 + pipeline.addLast(new NettyProxyMsgDecoder(Integer.MAX_VALUE, 0, 4, -4, 0)); + pipeline.addLast(new NettyProxyMsgEncoder()); +// pipeline.addLast("framer", new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter())); + //入参说明: 读超时时间、写超时时间、所有类型的超时时间、时间格式 + //因为服务端设置的超时时间是5秒,所以设置4秒 + + pipeline.addLast(new IdleStateHandler(0, 4, 0)); + pipeline.addLast("decoder", new StringDecoder()); + pipeline.addLast("encoder", new StringEncoder()); + pipeline.addLast("doHandler", new NettyClientHandler(channelTypeAdapter, nettyClientSocket)); //客户端的逻辑 + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/filter/NettyClientRealFilter.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/filter/NettyClientRealFilter.java new file mode 100644 index 00000000..dce60da9 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/filter/NettyClientRealFilter.java @@ -0,0 +1,30 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.filter; + +import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInitializer; +import io.netty.channel.ChannelPipeline; +import io.netty.channel.socket.SocketChannel; +import org.framework.smart.agent.network.heartbeat.client.netty.handler.NettyClientRealHandler; + +public class NettyClientRealFilter extends ChannelInitializer { + /** + * This method will be called once the {@link Channel} was registered. After the method returns this instance + * will be removed from the {@link ChannelPipeline} of the {@link Channel}. + * + * @param ch the {@link Channel} which was registered. + * @throws Exception is thrown if an error occurs. In that case it will be handled by + * {@link #exceptionCaught(ChannelHandlerContext, Throwable)} which will by default connectionClose + * the {@link Channel}. + */ + @Override + protected void initChannel(SocketChannel ch) throws Exception { + ChannelPipeline pipeline = ch.pipeline(); + pipeline.addLast(new NettyClientRealHandler()); +// // 解码、编码 +// pipeline.addLast(new NettyProxyMsgDecoder(Integer.MAX_VALUE, 0, 4, -4, 0)); +// pipeline.addLast(new NettMsgEncoder()); +// pipeline.addLast(new NettyProxyMsgDecoder(Integer.MAX_VALUE, 0, 4, -4, 0)); +// pipeline.addLast(new NettyProxyMsgEncoder()); + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/filter/NettyClientVisitorRealFilter.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/filter/NettyClientVisitorRealFilter.java new file mode 100644 index 00000000..3df23738 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/filter/NettyClientVisitorRealFilter.java @@ -0,0 +1,42 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.filter; + +import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInitializer; +import io.netty.channel.ChannelPipeline; +import io.netty.channel.socket.SocketChannel; +import org.framework.smart.agent.network.heartbeat.client.netty.handler.NettyClientVisitorRealHandler; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelTypeAdapter; +import org.framework.smart.agent.network.heartbeat.common.decoder.NettyProxyMsgDecoder; +import org.framework.smart.agent.network.heartbeat.common.encoder.NettyProxyMsgEncoder; + +/** + * netty 客户端连接真实服服务端访客拦截器 + */ +public class NettyClientVisitorRealFilter extends ChannelInitializer { + private final ChannelTypeAdapter channelTypeAdapter; + + public NettyClientVisitorRealFilter(ChannelTypeAdapter channelTypeAdapter) { + this.channelTypeAdapter = channelTypeAdapter; + } + + /** + * This method will be called once the {@link Channel} was registered. After the method returns this instance + * will be removed from the {@link ChannelPipeline} of the {@link Channel}. + * + * @param ch the {@link Channel} which was registered. + * @throws Exception is thrown if an error occurs. In that case it will be handled by + * {@link #exceptionCaught(ChannelHandlerContext, Throwable)} which will by default connectionClose + * the {@link Channel}. + */ + @Override + protected void initChannel(SocketChannel ch) throws Exception { + ChannelPipeline pipeline = ch.pipeline(); +// // 解码、编码 +// pipeline.addLast(new NettyProxyMsgDecoder(Integer.MAX_VALUE, 0, 4, -4, 0)); +// pipeline.addLast(new NettMsgEncoder()); + pipeline.addLast(new NettyProxyMsgDecoder(Integer.MAX_VALUE, 0, 4, -4, 0)); + pipeline.addLast(new NettyProxyMsgEncoder()); + pipeline.addLast(new NettyClientVisitorRealHandler(channelTypeAdapter)); + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/HeartBeatClientHandler.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/HeartBeatClientHandler.java new file mode 100644 index 00000000..b3d36194 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/HeartBeatClientHandler.java @@ -0,0 +1,24 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.handler; + +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInboundHandlerAdapter; +import io.netty.handler.timeout.IdleState; +import io.netty.handler.timeout.IdleStateEvent; + +import java.util.Date; + +public class HeartBeatClientHandler extends ChannelInboundHandlerAdapter { + private final int lossConnectCount = 0; + + @Override + public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception { + System.out.println("客户端循环心跳监测发送: " + new Date()); + if (evt instanceof IdleStateEvent event) { + if (event.state() == IdleState.WRITER_IDLE) { + ctx.writeAndFlush("biubiu"); + } + + } + } + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/NettyClientHandler.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/NettyClientHandler.java new file mode 100644 index 00000000..555ccc25 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/NettyClientHandler.java @@ -0,0 +1,121 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.handler; + +import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.EventLoop; +import io.netty.channel.SimpleChannelInboundHandler; +import io.netty.handler.timeout.IdleState; +import io.netty.handler.timeout.IdleStateEvent; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.client.netty.socket.NettyClientSocket; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelTypeAdapter; + +import java.nio.charset.StandardCharsets; +import java.util.Date; +import java.util.concurrent.TimeUnit; + +/** + * description + * + * @author 吴佳伟 + * @date 2023/09/13 10:29 + */ +@Slf4j +public class NettyClientHandler extends SimpleChannelInboundHandler { + + private final ChannelTypeAdapter channelTypeAdapter; + private final NettyClientSocket nettyClientSocket; + + + public NettyClientHandler(ChannelTypeAdapter channelTypeAdapter, NettyClientSocket nettyClientSocket) { + this.channelTypeAdapter = channelTypeAdapter; + this.nettyClientSocket = nettyClientSocket; + } + + /** + * @param ctx the {@link ChannelHandlerContext} which this {@link SimpleChannelInboundHandler} + * belongs to + * @param msg the message to handle + */ + @Override + protected void channelRead0(ChannelHandlerContext ctx, NettyProxyMsg msg) { +// log.info("第" + count + "次" + ",客户端接受的消息:" + msg); +// log.info("第" + count + "次" + ",客户端接受的消息内容:" + new String(msg.getData())); +// count++; + // 接收服务端、或者是代理端的信息 + Channel channel = ctx.channel(); +// log.info("type:{},clientId:{},data:{}",msg.getMysqlType(),new String(msg.getClientId()),new String(msg.getData())); + channelTypeAdapter.handler(channel, msg); + } + + /** + * 建立连接时 + */ + @Override + public void channelActive(ChannelHandlerContext ctx) throws Exception { + // 建立连接时 + log.info("When establishing a connection:{}" , new Date()); + ctx.fireChannelActive(); + String clientId = nettyClientSocket.getClientId(); + // 处理客户端连接成功 + Channel channel = ctx.channel(); + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setType(MessageType.CLIENT_CHANNEL_ACTIVE); + nettyMsg.setClientId(clientId); + channelTypeAdapter.handler(channel, nettyMsg); + + + } + + /** + * 关闭连接时 + */ + @Override + public void channelInactive(ChannelHandlerContext ctx) throws Exception { + //服务端主动关闭当前客户端连接时 + log.info("When the server actively closes the current client connection:{}" , new Date()); + final EventLoop eventLoop = ctx.channel().eventLoop(); + eventLoop.schedule(() -> { + try { + nettyClientSocket.newConnect2Server(); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + }, 1L, TimeUnit.SECONDS); + + super.channelInactive(ctx); + } + + /** + * 心跳请求处理 * 每4秒发送一次心跳请求; * + */ + @Override + public void userEventTriggered(ChannelHandlerContext ctx, Object obj) throws Exception { + if (obj instanceof IdleStateEvent event) { + if (IdleState.WRITER_IDLE.equals(event.state())) { //如果写通道处于空闲状态,就发送心跳命令 + String clientId = nettyClientSocket.getClientId(); + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setType(MessageType.TYPE_HEARTBEAT); + nettyMsg.setData(clientId.getBytes(StandardCharsets.UTF_8)); + nettyMsg.setClientId(clientId.getBytes(StandardCharsets.UTF_8)); + ctx.writeAndFlush(nettyMsg);// 发送心跳数据 + } else if (event.state() == IdleState.WRITER_IDLE) { // 如果检测到写空闲状态,关闭连接 + // 离线、暂存通知 + String clientId = nettyClientSocket.getClientId(); + Channel channel = ctx.channel(); + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setType(MessageType.DISTRIBUTE_CLIENT_DISCONNECTION_NOTIFICATION); + nettyMsg.setClientId(clientId.getBytes(StandardCharsets.UTF_8)); + channelTypeAdapter.handler(channel, nettyMsg); + ctx.close(); + } + + } else { + super.userEventTriggered(ctx, obj); + } + } + + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/NettyClientRealHandler.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/NettyClientRealHandler.java new file mode 100644 index 00000000..61e9a574 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/NettyClientRealHandler.java @@ -0,0 +1,85 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.handler; + + +import io.netty.buffer.ByteBuf; +import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.SimpleChannelInboundHandler; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyCommunicationIdContext; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.utils.ChannelAttributeKeyUtils; + +/** + * 来自客户端 真实服务器返回的数据请求 + */ +@Slf4j +public class NettyClientRealHandler extends SimpleChannelInboundHandler { + + @Override + public void channelRead0(ChannelHandlerContext ctx, ByteBuf buf) throws Exception { + + // 客户端发送真实数据到代理了 + byte[] bytes = new byte[buf.readableBytes()]; + buf.readBytes(bytes); + log.debug("接收客户端真实服务数据:{}", new String(bytes)); + String visitorId = ChannelAttributeKeyUtils.getVisitorId(ctx.channel()); + Integer visitorPort = ChannelAttributeKeyUtils.getVisitorPort(ctx.channel()); + String clientId = ChannelAttributeKeyUtils.getClientId(ctx.channel()); + // 访客通信通道 上报服务端代理完成 + Channel visitorChannel = NettyCommunicationIdContext.getVisitor(visitorId); + NettyProxyMsg returnMessage = new NettyProxyMsg(); + returnMessage.setType(MessageType.REPORT_CLIENT_TRANSFER); + returnMessage.setVisitorId(visitorId); + returnMessage.setClientId(clientId); + returnMessage.setVisitorPort(visitorPort); + returnMessage.setData(bytes); + + visitorChannel.writeAndFlush(returnMessage); + + + } + + @Override + public void channelActive(ChannelHandlerContext ctx) throws Exception { + super.channelActive(ctx); + } + + @Override + public void channelInactive(ChannelHandlerContext ctx) throws Exception { + String clientId = ChannelAttributeKeyUtils.getClientId(ctx.channel()); + String visitorId = ChannelAttributeKeyUtils.getVisitorId(ctx.channel()); + // 客户端真实通信通道 + Channel visitor = NettyCommunicationIdContext.getVisitor(visitorId); + if (visitor != null) { + // 上报关闭这个客户端的访客通道 + NettyProxyMsg closeVisitorMsg = new NettyProxyMsg(); + closeVisitorMsg.setType(MessageType.REPORT_SINGLE_CLIENT_CLOSE_VISITOR); + closeVisitorMsg.setVisitorId(visitorId); + visitor.writeAndFlush(closeVisitorMsg); + } + + super.channelInactive(ctx); + } + + @Override + public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception { +// String vid = ctx.channel().attr(Constant.VID).get(); +// if (StringUtil.isNullOrEmpty(vid)) { +// super.channelWritabilityChanged(ctx); +// return; +// } +// Channel proxyChannel = Constant.vpc.get(vid); +// if (proxyChannel != null) { +// proxyChannel.config().setOption(ChannelOption.AUTO_READ, ctx.channel().isWritable()); +// } + + super.channelWritabilityChanged(ctx); + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { + super.exceptionCaught(ctx, cause); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/NettyClientVisitorRealHandler.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/NettyClientVisitorRealHandler.java new file mode 100644 index 00000000..71c56a0a --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/handler/NettyClientVisitorRealHandler.java @@ -0,0 +1,66 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.handler; + + +import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.SimpleChannelInboundHandler; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.common.ChannelContext; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelTypeAdapter; +import org.framework.smart.agent.network.heartbeat.common.utils.ChannelAttributeKeyUtils; + +/** + * 客户端访客通信通道 处理器 + */ +@Slf4j +public class NettyClientVisitorRealHandler extends SimpleChannelInboundHandler { + private final ChannelTypeAdapter channelTypeAdapter; + + public NettyClientVisitorRealHandler(ChannelTypeAdapter channelTypeAdapter) { + this.channelTypeAdapter = channelTypeAdapter; + } + + @Override + public void channelRead0(ChannelHandlerContext ctx, NettyProxyMsg nettyProxyMsg) throws Exception { + Channel channel = ctx.channel(); + channelTypeAdapter.handler(channel, nettyProxyMsg); + + } + + @Override + public void channelActive(ChannelHandlerContext ctx) throws Exception { + super.channelActive(ctx); + } + + @Override + public void channelInactive(ChannelHandlerContext ctx) throws Exception { + + String clientId = ChannelAttributeKeyUtils.getClientId(ctx.channel()); + String visitorId = ChannelAttributeKeyUtils.getVisitorId(ctx.channel()); + // 关闭访客 + ChannelContext.ClientChannel clientChannel = ChannelContext.get(clientId); + if (clientChannel != null) { + Channel channel = clientChannel.getChannel(); + // 上报关闭这个客户端的访客通道 + NettyProxyMsg closeVisitorMsg = new NettyProxyMsg(); + closeVisitorMsg.setType(MessageType.REPORT_SINGLE_CLIENT_CLOSE_VISITOR); + closeVisitorMsg.setVisitorId(visitorId); + channel.writeAndFlush(closeVisitorMsg); + } + + super.channelInactive(ctx); + } + + @Override + public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception { + + super.channelWritabilityChanged(ctx); + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { + super.exceptionCaught(ctx, cause); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/listener/ClientStagingOpenedOrClosedListener.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/listener/ClientStagingOpenedOrClosedListener.java new file mode 100644 index 00000000..6df48a57 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/listener/ClientStagingOpenedOrClosedListener.java @@ -0,0 +1,53 @@ +//package org.framework.smart.agent.network.heartbeat.client.netty.listener; +// +// +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.stereotype.Component; +//import org.framework.smart.agent.network.heartbeat.client.netty.config.NettyClientProperties; +//import org.framework.smart.agent.network.heartbeat.client.rpc.StagingNoticeApiRpc; +//import org.framework.smart.agent.network.heartbeat.common.constant.RedisChannelConstant; +// +///** +// * 客户端暂存开启、关闭通知 +// * +// * @see RedisChannelConstant#REDIS_CLIENT_STAGING_OPENED_OR_CLOSED_CHANNEL +// */ +//@Slf4j +//@Component +//public class ClientStagingOpenedOrClosedListener { +// +// private final StagingNoticeApiRpc stagingNoticeApiRpc; +// private final NettyClientProperties nettyServerProperties; +// +// +// public ClientStagingOpenedOrClosedListener(StagingNoticeApiRpc stagingNoticeApiRpc, NettyClientProperties nettyServerProperties) { +// this.stagingNoticeApiRpc = stagingNoticeApiRpc; +// this.nettyServerProperties = nettyServerProperties; +// +// } +// +//// /** +//// * 使用redis监听注解监听数据 +//// * +//// * @param consumerRecord 客户端暂存开启、关闭通知 +//// */ +//// @EasyRedisListener(topics = RedisChannelConstant.REDIS_CLIENT_STAGING_OPENED_OR_CLOSED_CHANNEL) +//// public void subscription(ConsumerRecord consumerRecord, Acknowledgment acknowledgment) { +//// ClientStagingRedisChannelBo payload = consumerRecord.payload(); +//// String clientId = payload.getClientId(); +//// // 如果客户端ID为空默认当前客户端 +//// if (ObjectUtils.isEmpty(clientId)) { +//// clientId = nettyServerProperties.getClientId(); +//// } +//// StagingStatus stagingStatus = payload.getStagingStatus(); +//// log.info("客户端:【{}】暂存:【{}】通知", clientId, stagingStatus); +//// +//// +//// if (StagingStatus.OPENED.equals(stagingStatus)) { +//// stagingNoticeApiRpc.stagingOpened(clientId); +//// } else if (StagingStatus.CLOSED.equals(stagingStatus)) { +//// stagingNoticeApiRpc.stagingClosed(clientId); +//// } +//// acknowledgment.acknowledge(); +//// } +//} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/socket/NettyClientRealSocket.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/socket/NettyClientRealSocket.java new file mode 100644 index 00000000..00316e2e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/socket/NettyClientRealSocket.java @@ -0,0 +1,183 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.socket; + + +import io.netty.bootstrap.Bootstrap; +import io.netty.channel.*; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.nio.NioSocketChannel; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.client.config.NettyClientProperties; +import org.framework.smart.agent.network.heartbeat.client.netty.filter.NettyClientRealFilter; +import org.framework.smart.agent.network.heartbeat.client.netty.filter.NettyClientVisitorRealFilter; +import org.framework.smart.agent.network.heartbeat.common.*; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelTypeAdapter; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.utils.ChannelAttributeKeyUtils; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * 客户端连接真实服务 + */ +@Slf4j +public class NettyClientRealSocket { + static EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + + /** + * 连接真实服务 + * + * @param internalNetworkPenetrationRealClient 访客信息 + * @param nettyClientProperties 服务端地址信息 + */ + public static void buildRealServer(InternalNetworkPenetrationRealClient internalNetworkPenetrationRealClient, + NettyClientProperties nettyClientProperties, + List handleChannelTypeAdvancedList) { + + buildNewRealServer(internalNetworkPenetrationRealClient, nettyClientProperties, handleChannelTypeAdvancedList); + + } + + /** + * @param internalNetworkPenetrationRealClient 访客信息 + * @param nettyClientProperties 服务端地址信息 + */ + private static void buildNewRealServer(InternalNetworkPenetrationRealClient internalNetworkPenetrationRealClient, + NettyClientProperties nettyClientProperties, + List handleChannelTypeAdvancedList) { + try { + String clientId = internalNetworkPenetrationRealClient.getClientId(); + String clientTargetIp = internalNetworkPenetrationRealClient.getClientTargetIp(); + Integer clientTargetPort = internalNetworkPenetrationRealClient.getClientTargetPort(); + Integer visitorPort = internalNetworkPenetrationRealClient.getVisitorPort(); + String visitorId = internalNetworkPenetrationRealClient.getVisitorId(); + Bootstrap bootstrap = new Bootstrap(); + bootstrap.group(eventLoopGroup).channel(NioSocketChannel.class) + .handler(new NettyClientRealFilter()); + bootstrap.connect(clientTargetIp, clientTargetPort).addListener((ChannelFutureListener) future -> { + if (future.isSuccess()) { + // 客户端链接真实服务成功 设置自动读写false 等待访客连接成功后设置成true + Channel realChannel = future.channel(); + realChannel.config().setOption(ChannelOption.AUTO_READ, false); + + log.info("访客通过 客户端:【{}】,绑定本地服务,IP:{},端口:{} 新建通道成功", clientId, clientTargetIp, clientTargetPort); + // 客户端真实通道 + NettyRealIdContext.pushReal(realChannel, visitorId); + // 绑定访客ID到当前真实通道属性 + ChannelAttributeKeyUtils.buildVisitorId(realChannel, visitorId); + ChannelAttributeKeyUtils.buildClientId(realChannel, clientId); + ChannelAttributeKeyUtils.buildVisitorPort(realChannel, visitorPort); + // 通知服务端访客连接成功 + + + // 新建一个通道处理 + newVisitorConnect2Server(internalNetworkPenetrationRealClient, nettyClientProperties, handleChannelTypeAdvancedList); + + // 是否等 服务端相应访客通道已经可以自动读写 +// realChannel.config().setOption(ChannelOption.AUTO_READ, true); + // 模拟发送 + String byteData = "GET /swagger-ui/index.html HTTP/1.1\n" + + "Host: 127.0.0.1:19080\n" + + "Connection: keep-alive\n" + + "Cache-Control: max-age=0\n" + + "sec-ch-ua: \"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"\n" + + "sec-ch-ua-mobile: ?0\n" + + "sec-ch-ua-platform: \"macOS\"\n" + + "Upgrade-Insecure-Requests: 1\n" + + "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\n" + + "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\n" + + "Sec-Fetch-Site: none\n" + + "Sec-Fetch-Mode: navigate\n" + + "Sec-Fetch-User: ?1\n" + + "Sec-Fetch-Dest: document\n" + + "Accept-Encoding: gzip, deflate, br\n" + + "Accept-Language: zh-CN,zh;q=0.9\n" + + "Cookie: XXL_JOB_LOGIN_IDENTITY=7b226964223a312c22757365726e616d65223a2261646d696e222c2270617373776f7264223a226531306164633339343962613539616262653536653035376632306638383365222c22726f6c65223a312c227065726d697373696f6e223a6e756c6c7d; Hm_lvt_173e771eef816c412396d2cb4fe2d632=1703040917\n"; +// ChannelContext.ClientChannel clientChannel = ChannelContext.get(String.valueOf(visitorPort).getBytes(StandardCharsets.UTF_8)); +// Channel channel = clientChannel.getChannel(); +// channel.writeAndFlush(byteData.getBytes(StandardCharsets.UTF_8)); +// future.channel().attr(Constant.VID).set(internalNetworkPenetrationRealClient); +// Constant.vrc.put(internalNetworkPenetrationRealClient, future.channel()); +// ProxySocket.connectProxyServer(internalNetworkPenetrationRealClient); + } else { + log.error("客户:【{}】,无法连接当前网络内的目标IP:【{}】,目标端口:【{}】", clientId, clientTargetIp, clientTargetPort); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 创建访客连接服务端 + * + * @param internalNetworkPenetrationRealClient 内网穿透信息 + * @param nettyClientProperties 服务端配置信息 + * @param handleChannelTypeAdvancedList 处理器适配器 + * @throws InterruptedException 异常 + */ + protected static void newVisitorConnect2Server(InternalNetworkPenetrationRealClient internalNetworkPenetrationRealClient, + NettyClientProperties nettyClientProperties, + List handleChannelTypeAdvancedList) throws InterruptedException { + Bootstrap bootstrap = new Bootstrap(); + bootstrap.group(eventLoopGroup) + .channel(NioSocketChannel.class) + .handler(new NettyClientVisitorRealFilter(new ChannelTypeAdapter(handleChannelTypeAdvancedList))) + ; + + String inetHost = nettyClientProperties.getInetHost(); + int inetPort = nettyClientProperties.getInetPort(); + // local client id + + String clientId = nettyClientProperties.getClientId(); + + + String visitorId = internalNetworkPenetrationRealClient.getVisitorId(); + Integer visitorPort = internalNetworkPenetrationRealClient.getVisitorPort(); + String clientTargetIp = internalNetworkPenetrationRealClient.getClientTargetIp(); + Integer clientTargetPort = internalNetworkPenetrationRealClient.getClientTargetPort(); + String visitorClientId = internalNetworkPenetrationRealClient.getClientId(); + + // 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{} + log.info("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {}", inetHost, inetPort); + ChannelFuture future = bootstrap.connect(inetHost, inetPort); + + // 使用的客户端ID:{} + log.info("Client ID used: {}" , visitorClientId); + future.addListener((ChannelFutureListener) futureListener -> { + Channel channel = futureListener.channel(); + if (futureListener.isSuccess()) { + + NettyProxyMsg myMsg = new NettyProxyMsg(); + myMsg.setType(MessageType.REPORT_SINGLE_CLIENT_REAL_CONNECT); + myMsg.setClientId(visitorClientId); + myMsg.setVisitorPort(visitorPort); + myMsg.setClientTargetIp(clientTargetIp); + myMsg.setClientTargetPort(clientTargetPort); + + myMsg.setVisitorId(visitorId); + channel.writeAndFlush(myMsg); + // 绑定客户端真实通信通道 + NettyCommunicationIdContext.pushVisitor(channel, visitorId); + ChannelAttributeKeyUtils.buildVisitorId(channel, visitorId); + ChannelAttributeKeyUtils.buildClientId(channel, visitorClientId); + // 客户端真实通道自动读写打开 + Channel visitor = NettyRealIdContext.getReal(visitorId); + visitor.config().setOption(ChannelOption.AUTO_READ, true); + + + } else { + log.info("每隔2s重连...."); + // 离线 + channel.eventLoop().schedule(() -> { + try { + newVisitorConnect2Server(internalNetworkPenetrationRealClient, nettyClientProperties, handleChannelTypeAdvancedList); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }, 2, TimeUnit.SECONDS); + } + }); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/socket/NettyClientSocket.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/socket/NettyClientSocket.java new file mode 100644 index 00000000..91ced6a5 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/netty/socket/NettyClientSocket.java @@ -0,0 +1,122 @@ +package org.framework.smart.agent.network.heartbeat.client.netty.socket; + + +import io.netty.bootstrap.Bootstrap; +import io.netty.channel.Channel; +import io.netty.channel.ChannelFuture; +import io.netty.channel.ChannelFutureListener; +import io.netty.channel.EventLoopGroup; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.nio.NioSocketChannel; +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.client.netty.event.ClientChangeEvent; +import org.framework.smart.agent.network.heartbeat.client.netty.filter.NettyClientFilter; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.NettyServerContext; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelTypeAdapter; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.utils.ChannelAttributeKeyUtils; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * 客户端连接服务端 + */ +@Slf4j +public class NettyClientSocket { + private final EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + /** + * 服务端host + */ + private final String inetHost; + /** + * 服务端端口 + */ + private final int inetPort; + /** + * 当前客户端id + */ + @Getter + private final String clientId; + + /** + * 当前连接的服务端ID + */ + private final String serverId; + /** + * 客户端状态变更事件 + */ + @Getter + private final ClientChangeEvent clientChangeEvent; + private final List handleChannelTypeAdvancedList; // 处理服务端发送过来的数据类型 + + public NettyClientSocket(String inetHost, int inetPort, String clientId, String serverId, ClientChangeEvent clientChangeEvent, List handleChannelTypeAdvancedList) { + this.inetHost = inetHost; + this.inetPort = inetPort; + this.clientId = clientId; + this.serverId = serverId; + this.clientChangeEvent = clientChangeEvent; + this.handleChannelTypeAdvancedList = handleChannelTypeAdvancedList; + } + + public void newConnect2Server() throws InterruptedException { + newConnect2Server(inetHost, inetPort, clientId, serverId, clientChangeEvent); + } + + protected void newConnect2Server(String inetHost, int inetPort, String clientId, String serverId, ClientChangeEvent clientChangeEvent) throws InterruptedException { + Bootstrap bootstrap = new Bootstrap(); + bootstrap.group(eventLoopGroup) + .channel(NioSocketChannel.class) + .handler(new NettyClientFilter(new ChannelTypeAdapter(handleChannelTypeAdvancedList), this)) + ; + + log.info("use clientId:{} connect to server IP:{},server port :{}", clientId, inetHost, inetPort); + ChannelFuture future = bootstrap.connect(inetHost, inetPort); + // 客户端连接服务端的channel + Channel serviceChannel = future.channel(); + + future.addListener((ChannelFutureListener) futureListener -> { + if (futureListener.isSuccess()) { + + log.info("clientId:{},connect to server IP:{},server port :{} isSuccess ", clientId, inetHost, inetPort); + // 告诉服务端这条连接是client的连接 + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setType(MessageType.REPORT_CLIENT_CONNECT_SUCCESS); + nettyMsg.setClientId(clientId); + nettyMsg.setData((clientId).getBytes()); + ChannelAttributeKeyUtils.buildClientId(serviceChannel, clientId); + serviceChannel.writeAndFlush(nettyMsg); + + NettyServerContext.pushServerEndpointChannel(serverId, clientId, serviceChannel); + // 在线 客户端注册服务端成功 + clientChangeEvent.clientOnLine(inetHost, inetPort,serverId, clientId); + } else { + log.warn("Reconnect every 2 seconds...."); + // 离线 + NettyServerContext.removeServerEndpointChannels(serverId, clientId); + clientChangeEvent.clientOffLine(inetHost, inetPort,serverId, clientId); + futureListener.channel().eventLoop().schedule(() -> { + try { + newConnect2Server(inetHost, inetPort, clientId, serverId, clientChangeEvent); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }, 2, TimeUnit.SECONDS); + } + }); + } + + /** + * 关闭连接 + */ + + public void shutdown() { + if ((eventLoopGroup != null) && (!eventLoopGroup.isShutdown())) { + eventLoopGroup.shutdownGracefully(); + } + } + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/rpc/StagingNoticeApiRpc.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/rpc/StagingNoticeApiRpc.java new file mode 100644 index 00000000..bb8a4616 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/rpc/StagingNoticeApiRpc.java @@ -0,0 +1,65 @@ +//package org.framework.smart.agent.network.heartbeat.client.rpc; +// +//import org.wu.framework.database.lazy.web.plus.stereotype.LazyRpc; +//import org.wu.framework.web.response.Result; +//import org.wu.framework.web.response.ResultFactory; +//import io.netty.channel.Channel; +//import org.framework.smart.agent.network.heartbeat.common.ChannelContext; +//import org.framework.smart.agent.network.heartbeat.common.MessageType; +//import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +// +//import java.nio.charset.StandardCharsets; +//import java.util.List; +// +//@LazyRpc +//public class StagingNoticeApiRpc { +// +// +// /** +// * 前提当前客户端曾经有过离线、而后上线了,但是呢现在有暂存的数据,因此暂存是打开的,所以这个时候可以通知服务端让其告知其他客户户我暂存了 +// * 通知自己暂存了 +// * +// * @param clientId 租户ID +// * @return +// */ +// public Result stagingOpened(String clientId) { +// List clientChannels = ChannelContext.get(); +// for (ChannelContext.ClientChannel clientChannel : clientChannels) { +// // 上报 当前通道暂存开启了 +// Channel channel = clientChannel.getChannel(); +// +// NettyProxyMsg nettyMsg = new NettyProxyMsg(); +// nettyMsg.setType(MessageType.REPORT_CLIENT_STAGING_OPENED); +// nettyMsg.setData((clientId +// .getBytes(StandardCharsets.UTF_8))); +// nettyMsg.setClientId((clientId +// .getBytes(StandardCharsets.UTF_8))); +// channel.writeAndFlush(nettyMsg); +// } +// +// return ResultFactory.successOf(); +// } +// +// /** +// * 暂存恢复 +// * +// * @param clientId 租户ID +// * @return +// */ +// public Result stagingClosed(String clientId) { +// List clientChannels = ChannelContext.get(); +// for (ChannelContext.ClientChannel clientChannel : clientChannels) { +// // 上报 当前通道暂存关闭了 +// Channel channel = clientChannel.getChannel(); +// NettyProxyMsg nettyMsg = new NettyProxyMsg(); +// nettyMsg.setType(MessageType.REPORT_CLIENT_STAGING_CLOSED); +// nettyMsg.setData((clientId +// .getBytes(StandardCharsets.UTF_8))); +// nettyMsg.setClientId((clientId +// .getBytes(StandardCharsets.UTF_8))); +// channel.writeAndFlush(nettyMsg); +// } +// +// return ResultFactory.successOf(); +// } +//} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/ui/NettyClientLocalLazyUI.java b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/ui/NettyClientLocalLazyUI.java new file mode 100644 index 00000000..bfdc81e6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/java/org/framework/smart/agent/network/heartbeat/client/ui/NettyClientLocalLazyUI.java @@ -0,0 +1,65 @@ +package org.framework.smart.agent.network.heartbeat.client.ui; + +import org.springframework.context.annotation.Configuration; +import org.wu.framework.web.ui.LazyUI; + +/** + * netty 客户端本地UI + */ +@Configuration +public class NettyClientLocalLazyUI implements LazyUI { + public static final String UI_URL = "/netty-client-local-ui/**"; + public static final String UI_URL_INDEX = "/netty-client-local-ui/index.html"; + public static final String CLASSPATH = "classpath:/netty-client-local-ui/v1/"; + + /** + * 是否支持 default false + *

+ * pathPatterns 格式 /acw-client-ui/** + * locations 格式 classpath:/acw-local-client/v1/ + *

+ * + * @return true、false + */ + @Override + public boolean support() { + return true; + } + + /** + * @return UI 描述 + */ + @Override + public String desc() { + return "Netty 本地客户端 UI"; + } + + /** + * @return UI 访问的path + * 例如:/acw-client-ui/** + */ + @Override + public String pathPatterns() { + return UI_URL; + } + + /** + * 返回页面首页地址 + * + * @return String + * 例如 /acw-client-ui/index.html + */ + @Override + public String index() { + return UI_URL_INDEX; + } + + /** + * @return 文件资源 + * 例如:classpath:/acw-local-client/v1/ + */ + @Override + public String locations() { + return CLASSPATH; + } +} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/resources/META-INF/spring.factories b/wu-smart-agent-network-heartbeat-client/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000..03a9ba6d --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/resources/META-INF/spring.factories @@ -0,0 +1,6 @@ +# Auto Configure +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +org.framework.smart.agent.network.heartbeat.client.EnableHeartbeatClientAutoConfiguration,\ +org.framework.smart.agent.network.heartbeat.client.config.NettyClientProperties,\ +org.framework.smart.agent.network.heartbeat.client.config.InitConfig,\ +org.framework.smart.agent.network.heartbeat.client.config.HeartbeatClientConfiguration diff --git a/wu-smart-agent-network-heartbeat-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/wu-smart-agent-network-heartbeat-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 00000000..88f206b2 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,4 @@ +org.framework.smart.agent.network.heartbeat.client.EnableHeartbeatClientAutoConfiguration +org.framework.smart.agent.network.heartbeat.client.config.NettyClientProperties +org.framework.smart.agent.network.heartbeat.client.config.InitConfig +org.framework.smart.agent.network.heartbeat.client.config.HeartbeatClientConfiguration diff --git a/wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/assets/index-BTaJShFE.js b/wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/assets/index-BTaJShFE.js new file mode 100644 index 00000000..2acdebc4 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/assets/index-BTaJShFE.js @@ -0,0 +1,65 @@ +var __=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var cie=__((Un,Yn)=>{(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))o(a);new MutationObserver(a=>{for(const r of a)if(r.type==="childList")for(const l of r.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&o(l)}).observe(document,{childList:!0,subtree:!0});function n(a){const r={};return a.integrity&&(r.integrity=a.integrity),a.referrerPolicy&&(r.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?r.credentials="include":a.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(a){if(a.ep)return;a.ep=!0;const r=n(a);fetch(a.href,r)}})();/** +* @vue/shared v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function g0(e,t){const n=new Set(e.split(","));return t?o=>n.has(o.toLowerCase()):o=>n.has(o)}const Yt={},tl=[],Et=()=>{},b_=()=>!1,ec=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),y0=e=>e.startsWith("onUpdate:"),ln=Object.assign,_0=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},w_=Object.prototype.hasOwnProperty,yt=(e,t)=>w_.call(e,t),Ie=Array.isArray,nl=e=>Us(e)==="[object Map]",tc=e=>Us(e)==="[object Set]",wr=e=>Us(e)==="[object Date]",Xe=e=>typeof e=="function",Ze=e=>typeof e=="string",Ba=e=>typeof e=="symbol",ct=e=>e!==null&&typeof e=="object",ys=e=>(ct(e)||Xe(e))&&Xe(e.then)&&Xe(e.catch),hm=Object.prototype.toString,Us=e=>hm.call(e),Fi=e=>Us(e).slice(8,-1),Cu=e=>Us(e)==="[object Object]",b0=e=>Ze(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,as=g0(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),nc=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},C_=/-(\w)/g,lo=nc(e=>e.replace(C_,(t,n)=>n?n.toUpperCase():"")),S_=/\B([A-Z])/g,qa=nc(e=>e.replace(S_,"-$1").toLowerCase()),Ys=nc(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ki=nc(e=>e?`on${Ys(e)}`:""),za=(e,t)=>!Object.is(e,t),Wi=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Kd=e=>{const t=parseFloat(e);return isNaN(t)?e:t},k_=e=>{const t=Ze(e)?Number(e):NaN;return isNaN(t)?e:t};let Tp;const mm=()=>Tp||(Tp=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function De(e){if(Ie(e)){const t={};for(let n=0;n{if(n){const o=n.split(x_);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function $(e){let t="";if(Ze(e))t=e;else if(Ie(e))for(let n=0;ndl(n,t))}const Me=e=>Ze(e)?e:e==null?"":Ie(e)||ct(e)&&(e.toString===hm||!Xe(e.toString))?JSON.stringify(e,_m,2):String(e),_m=(e,t)=>t&&t.__v_isRef?_m(e,t.value):nl(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,a],r)=>(n[nd(o,r)+" =>"]=a,n),{})}:tc(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>nd(n))}:Ba(t)?nd(t):ct(t)&&!Ie(t)&&!Cu(t)?String(t):t,nd=(e,t="")=>{var n;return Ba(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Wn;class bm{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Wn,!t&&Wn&&(this.index=(Wn.scopes||(Wn.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Wn;try{return Wn=this,t()}finally{Wn=n}}}on(){Wn=this}off(){Wn=this.parent}stop(t){if(this._active){let n,o;for(n=0,o=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Rr()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ra,n=pr;try{return Ra=!0,pr=this,this._runnings++,Ap(this),this.fn()}finally{Op(this),this._runnings--,pr=n,Ra=t}}stop(){var t;this.active&&(Ap(this),Op(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function R_(e){return e.value}function Ap(e){e._trackId++,e._depsLength=0}function Op(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},ku=new WeakMap,vr=Symbol(""),qd=Symbol("");function zn(e,t,n){if(Ra&&pr){let o=ku.get(e);o||ku.set(e,o=new Map);let a=o.get(n);a||o.set(n,a=Mm(()=>o.delete(n))),Em(pr,a)}}function Qo(e,t,n,o,a,r){const l=ku.get(e);if(!l)return;let i=[];if(t==="clear")i=[...l.values()];else if(n==="length"&&Ie(e)){const u=Number(o);l.forEach((d,f)=>{(f==="length"||!Ba(f)&&f>=u)&&i.push(d)})}else switch(n!==void 0&&i.push(l.get(n)),t){case"add":Ie(e)?b0(n)&&i.push(l.get("length")):(i.push(l.get(vr)),nl(e)&&i.push(l.get(qd)));break;case"delete":Ie(e)||(i.push(l.get(vr)),nl(e)&&i.push(l.get(qd)));break;case"set":nl(e)&&i.push(l.get(vr));break}C0();for(const u of i)u&&xm(u,4);S0()}function P_(e,t){var n;return(n=ku.get(e))==null?void 0:n.get(t)}const L_=g0("__proto__,__v_isRef,__isVue"),$m=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ba)),Np=V_();function V_(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const o=xt(this);for(let r=0,l=this.length;r{e[t]=function(...n){Ir(),C0();const o=xt(this)[t].apply(this,n);return S0(),Rr(),o}}),e}function B_(e){const t=xt(this);return zn(t,"has",e),t.hasOwnProperty(e)}class Tm{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){const a=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return r;if(n==="__v_raw")return o===(a?r?J_:Im:r?Nm:Om).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const l=Ie(t);if(!a){if(l&&yt(Np,n))return Reflect.get(Np,n,o);if(n==="hasOwnProperty")return B_}const i=Reflect.get(t,n,o);return(Ba(n)?$m.has(n):L_(n))||(a||zn(t,"get",n),r)?i:Pt(i)?l&&b0(n)?i:i.value:ct(i)?a?Ol(i):wt(i):i}}class Am extends Tm{constructor(t=!1){super(!1,t)}set(t,n,o,a){let r=t[n];if(!this._isShallow){const u=fl(r);if(!Eu(o)&&!fl(o)&&(r=xt(r),o=xt(o)),!Ie(t)&&Pt(r)&&!Pt(o))return u?!1:(r.value=o,!0)}const l=Ie(t)&&b0(n)?Number(n)e,oc=e=>Reflect.getPrototypeOf(e);function gi(e,t,n=!1,o=!1){e=e.__v_raw;const a=xt(e),r=xt(t);n||(za(t,r)&&zn(a,"get",t),zn(a,"get",r));const{has:l}=oc(a),i=o?k0:n?M0:_s;if(l.call(a,t))return i(e.get(t));if(l.call(a,r))return i(e.get(r));e!==a&&e.get(t)}function yi(e,t=!1){const n=this.__v_raw,o=xt(n),a=xt(e);return t||(za(e,a)&&zn(o,"has",e),zn(o,"has",a)),e===a?n.has(e):n.has(e)||n.has(a)}function _i(e,t=!1){return e=e.__v_raw,!t&&zn(xt(e),"iterate",vr),Reflect.get(e,"size",e)}function Ip(e){e=xt(e);const t=xt(this);return oc(t).has.call(t,e)||(t.add(e),Qo(t,"add",e,e)),this}function Rp(e,t){t=xt(t);const n=xt(this),{has:o,get:a}=oc(n);let r=o.call(n,e);r||(e=xt(e),r=o.call(n,e));const l=a.call(n,e);return n.set(e,t),r?za(t,l)&&Qo(n,"set",e,t):Qo(n,"add",e,t),this}function Pp(e){const t=xt(this),{has:n,get:o}=oc(t);let a=n.call(t,e);a||(e=xt(e),a=n.call(t,e)),o&&o.call(t,e);const r=t.delete(e);return a&&Qo(t,"delete",e,void 0),r}function Lp(){const e=xt(this),t=e.size!==0,n=e.clear();return t&&Qo(e,"clear",void 0,void 0),n}function bi(e,t){return function(o,a){const r=this,l=r.__v_raw,i=xt(l),u=t?k0:e?M0:_s;return!e&&zn(i,"iterate",vr),l.forEach((d,f)=>o.call(a,u(d),u(f),r))}}function wi(e,t,n){return function(...o){const a=this.__v_raw,r=xt(a),l=nl(r),i=e==="entries"||e===Symbol.iterator&&l,u=e==="keys"&&l,d=a[e](...o),f=n?k0:t?M0:_s;return!t&&zn(r,"iterate",u?qd:vr),{next(){const{value:c,done:p}=d.next();return p?{value:c,done:p}:{value:i?[f(c[0]),f(c[1])]:f(c),done:p}},[Symbol.iterator](){return this}}}}function ya(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function K_(){const e={get(r){return gi(this,r)},get size(){return _i(this)},has:yi,add:Ip,set:Rp,delete:Pp,clear:Lp,forEach:bi(!1,!1)},t={get(r){return gi(this,r,!1,!0)},get size(){return _i(this)},has:yi,add:Ip,set:Rp,delete:Pp,clear:Lp,forEach:bi(!1,!0)},n={get(r){return gi(this,r,!0)},get size(){return _i(this,!0)},has(r){return yi.call(this,r,!0)},add:ya("add"),set:ya("set"),delete:ya("delete"),clear:ya("clear"),forEach:bi(!0,!1)},o={get(r){return gi(this,r,!0,!0)},get size(){return _i(this,!0)},has(r){return yi.call(this,r,!0)},add:ya("add"),set:ya("set"),delete:ya("delete"),clear:ya("clear"),forEach:bi(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{e[r]=wi(r,!1,!1),n[r]=wi(r,!0,!1),t[r]=wi(r,!1,!0),o[r]=wi(r,!0,!0)}),[e,n,t,o]}const[W_,j_,q_,U_]=K_();function E0(e,t){const n=t?e?U_:q_:e?j_:W_;return(o,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(yt(n,a)&&a in o?n:o,a,r)}const Y_={get:E0(!1,!1)},G_={get:E0(!1,!0)},X_={get:E0(!0,!1)},Om=new WeakMap,Nm=new WeakMap,Im=new WeakMap,J_=new WeakMap;function Z_(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Q_(e){return e.__v_skip||!Object.isExtensible(e)?0:Z_(Fi(e))}function wt(e){return fl(e)?e:x0(e,!1,H_,Y_,Om)}function Rm(e){return x0(e,!1,F_,G_,Nm)}function Ol(e){return x0(e,!0,D_,X_,Im)}function x0(e,t,n,o,a){if(!ct(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=a.get(e);if(r)return r;const l=Q_(e);if(l===0)return e;const i=new Proxy(e,l===2?o:n);return a.set(e,i),i}function ol(e){return fl(e)?ol(e.__v_raw):!!(e&&e.__v_isReactive)}function fl(e){return!!(e&&e.__v_isReadonly)}function Eu(e){return!!(e&&e.__v_isShallow)}function Pm(e){return ol(e)||fl(e)}function xt(e){const t=e&&e.__v_raw;return t?xt(t):e}function hr(e){return Object.isExtensible(e)&&Su(e,"__v_skip",!0),e}const _s=e=>ct(e)?wt(e):e,M0=e=>ct(e)?Ol(e):e;class Lm{constructor(t,n,o,a){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new w0(()=>t(this._value),()=>ji(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!a,this.__v_isReadonly=o}get value(){const t=xt(this);return(!t._cacheable||t.effect.dirty)&&za(t._value,t._value=t.effect.run())&&ji(t,4),Bm(t),t.effect._dirtyLevel>=2&&ji(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Vm(e,t,n=!1){let o,a;const r=Xe(e);return r?(o=e,a=Et):(o=e.get,a=e.set),new Lm(o,a,r||!a,n)}function Bm(e){var t;Ra&&pr&&(e=xt(e),Em(pr,(t=e.dep)!=null?t:e.dep=Mm(()=>e.dep=void 0,e instanceof Lm?e:void 0)))}function ji(e,t=4,n){e=xt(e);const o=e.dep;o&&xm(o,t)}function Pt(e){return!!(e&&e.__v_isRef===!0)}function R(e){return zm(e,!1)}function Rt(e){return zm(e,!0)}function zm(e,t){return Pt(e)?e:new eb(e,t)}class eb{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:xt(t),this._value=n?t:_s(t)}get value(){return Bm(this),this._value}set value(t){const n=this.__v_isShallow||Eu(t)||fl(t);t=n?t:xt(t),za(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:_s(t),ji(this,4))}}function s(e){return Pt(e)?e.value:e}const tb={get:(e,t,n)=>s(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return Pt(a)&&!Pt(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function Hm(e){return ol(e)?e:new Proxy(e,tb)}function un(e){const t=Ie(e)?new Array(e.length):{};for(const n in e)t[n]=Dm(e,n);return t}class nb{constructor(t,n,o){this._object=t,this._key=n,this._defaultValue=o,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return P_(xt(this._object),this._key)}}class ob{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function At(e,t,n){return Pt(e)?e:Xe(e)?new ob(e):ct(e)&&arguments.length>1?Dm(e,t,n):R(e)}function Dm(e,t,n){const o=e[t];return Pt(o)?o:new nb(e,t,n)}/** +* @vue/runtime-core v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Pa(e,t,n,o){try{return o?e(...o):e()}catch(a){ac(a,t,n)}}function no(e,t,n,o){if(Xe(e)){const r=Pa(e,t,n,o);return r&&ys(r)&&r.catch(l=>{ac(l,t,n)}),r}const a=[];for(let r=0;r>>1,a=bn[o],r=ws(a);rTo&&bn.splice(t,1)}function sb(e){Ie(e)?al.push(...e):(!xa||!xa.includes(e,e.allowRecurse?nr+1:nr))&&al.push(e),Km()}function Vp(e,t,n=bs?To+1:0){for(;nws(n)-ws(o));if(al.length=0,xa){xa.push(...t);return}for(xa=t,nr=0;nre.id==null?1/0:e.id,ib=(e,t)=>{const n=ws(e)-ws(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function jm(e){Ud=!1,bs=!0,bn.sort(ib);try{for(To=0;ToZe(h)?h.trim():h)),c&&(a=n.map(Kd))}let i,u=o[i=Ki(t)]||o[i=Ki(lo(t))];!u&&r&&(u=o[i=Ki(qa(t))]),u&&no(u,e,6,a);const d=o[i+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,no(d,e,6,a)}}function qm(e,t,n=!1){const o=t.emitsCache,a=o.get(e);if(a!==void 0)return a;const r=e.emits;let l={},i=!1;if(!Xe(e)){const u=d=>{const f=qm(d,t,!0);f&&(i=!0,ln(l,f))};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!r&&!i?(ct(e)&&o.set(e,null),null):(Ie(r)?r.forEach(u=>l[u]=null):ln(l,r),ct(e)&&o.set(e,l),l)}function rc(e,t){return!e||!ec(t)?!1:(t=t.slice(2).replace(/Once$/,""),yt(e,t[0].toLowerCase()+t.slice(1))||yt(e,qa(t))||yt(e,t))}let sn=null,lc=null;function xu(e){const t=sn;return sn=e,lc=e&&e.type.__scopeId||null,t}function Um(e){lc=e}function Ym(){lc=null}function G(e,t=sn,n){if(!t||e._n)return e;const o=(...a)=>{o._d&&Jp(-1);const r=xu(t);let l;try{l=e(...a)}finally{xu(r),o._d&&Jp(1)}return l};return o._n=!0,o._c=!0,o._d=!0,o}function od(e){const{type:t,vnode:n,proxy:o,withProxy:a,props:r,propsOptions:[l],slots:i,attrs:u,emit:d,render:f,renderCache:c,data:p,setupState:h,ctx:m,inheritAttrs:v}=e;let _,g;const w=xu(e);try{if(n.shapeFlag&4){const C=a||o,x=C;_=$o(f.call(x,C,c,r,h,p,m)),g=u}else{const C=t;_=$o(C.length>1?C(r,{attrs:u,slots:i,emit:d}):C(r,null)),g=t.props?u:cb(u)}}catch(C){us.length=0,ac(C,e,1),_=W($n)}let b=_;if(g&&v!==!1){const C=Object.keys(g),{shapeFlag:x}=b;C.length&&x&7&&(l&&C.some(y0)&&(g=db(g,l)),b=oa(b,g))}return n.dirs&&(b=oa(b),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&(b.transition=n.transition),_=b,xu(w),_}const cb=e=>{let t;for(const n in e)(n==="class"||n==="style"||ec(n))&&((t||(t={}))[n]=e[n]);return t},db=(e,t)=>{const n={};for(const o in e)(!y0(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function fb(e,t,n){const{props:o,children:a,component:r}=e,{props:l,children:i,patchFlag:u}=t,d=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&u>=0){if(u&1024)return!0;if(u&16)return o?Bp(o,l,d):!!l;if(u&8){const f=t.dynamicProps;for(let c=0;ce.__isSuspense;function mb(e,t){t&&t.pendingBranch?Ie(e)?t.effects.push(...e):t.effects.push(e):sb(e)}const gb=Symbol.for("v-scx"),yb=()=>Pe(gb);function gn(e,t){return N0(e,null,t)}const Ci={};function pe(e,t,n){return N0(e,t,n)}function N0(e,t,{immediate:n,deep:o,flush:a,once:r,onTrack:l,onTrigger:i}=Yt){if(t&&r){const E=t;t=(...O)=>{E(...O),x()}}const u=vn,d=E=>o===!0?E:lr(E,o===!1?1:void 0);let f,c=!1,p=!1;if(Pt(e)?(f=()=>e.value,c=Eu(e)):ol(e)?(f=()=>d(e),c=!0):Ie(e)?(p=!0,c=e.some(E=>ol(E)||Eu(E)),f=()=>e.map(E=>{if(Pt(E))return E.value;if(ol(E))return d(E);if(Xe(E))return Pa(E,u,2)})):Xe(e)?t?f=()=>Pa(e,u,2):f=()=>(h&&h(),no(e,u,3,[m])):f=Et,t&&o){const E=f;f=()=>lr(E())}let h,m=E=>{h=b.onStop=()=>{Pa(E,u,4),h=b.onStop=void 0}},v;if(fc)if(m=Et,t?n&&no(t,u,3,[f(),p?[]:void 0,m]):f(),a==="sync"){const E=yb();v=E.__watcherHandles||(E.__watcherHandles=[])}else return Et;let _=p?new Array(e.length).fill(Ci):Ci;const g=()=>{if(!(!b.active||!b.dirty))if(t){const E=b.run();(o||c||(p?E.some((O,T)=>za(O,_[T])):za(E,_)))&&(h&&h(),no(t,u,3,[E,_===Ci?void 0:p&&_[0]===Ci?[]:_,m]),_=E)}else b.run()};g.allowRecurse=!!t;let w;a==="sync"?w=g:a==="post"?w=()=>Pn(g,u&&u.suspense):(g.pre=!0,u&&(g.id=u.uid),w=()=>T0(g));const b=new w0(f,Et,w),C=wm(),x=()=>{b.stop(),C&&_0(C.effects,b)};return t?n?g():_=b.run():a==="post"?Pn(b.run.bind(b),u&&u.suspense):b.run(),v&&v.push(x),x}function _b(e,t,n){const o=this.proxy,a=Ze(e)?e.includes(".")?Xm(o,e):()=>o[e]:e.bind(o,o);let r;Xe(t)?r=t:(r=t.handler,n=t);const l=Gs(this),i=N0(a,r.bind(o),n);return l(),i}function Xm(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;a0){if(n>=t)return e;n++}if(o=o||new Set,o.has(e))return e;if(o.add(e),Pt(e))lr(e.value,t,n,o);else if(Ie(e))for(let a=0;a{lr(a,t,n,o)});else if(Cu(e))for(const a in e)lr(e[a],t,n,o);return e}function Qe(e,t){if(sn===null)return e;const n=pc(sn)||sn.proxy,o=e.dirs||(e.dirs=[]);for(let a=0;a{e.isMounted=!0}),It(()=>{e.isUnmounting=!0}),e}const Xn=[Function,Array],Zm={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Xn,onEnter:Xn,onAfterEnter:Xn,onEnterCancelled:Xn,onBeforeLeave:Xn,onLeave:Xn,onAfterLeave:Xn,onLeaveCancelled:Xn,onBeforeAppear:Xn,onAppear:Xn,onAfterAppear:Xn,onAppearCancelled:Xn},bb={name:"BaseTransition",props:Zm,setup(e,{slots:t}){const n=rt(),o=Jm();return()=>{const a=t.default&&I0(t.default(),!0);if(!a||!a.length)return;let r=a[0];if(a.length>1){for(const p of a)if(p.type!==$n){r=p;break}}const l=xt(e),{mode:i}=l;if(o.isLeaving)return ad(r);const u=Hp(r);if(!u)return ad(r);const d=Cs(u,l,o,n);Ss(u,d);const f=n.subTree,c=f&&Hp(f);if(c&&c.type!==$n&&!or(u,c)){const p=Cs(c,l,o,n);if(Ss(c,p),i==="out-in")return o.isLeaving=!0,p.afterLeave=()=>{o.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},ad(r);i==="in-out"&&u.type!==$n&&(p.delayLeave=(h,m,v)=>{const _=Qm(o,c);_[String(c.key)]=c,h[Ma]=()=>{m(),h[Ma]=void 0,delete d.delayedLeave},d.delayedLeave=v})}return r}}},wb=bb;function Qm(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function Cs(e,t,n,o){const{appear:a,mode:r,persisted:l=!1,onBeforeEnter:i,onEnter:u,onAfterEnter:d,onEnterCancelled:f,onBeforeLeave:c,onLeave:p,onAfterLeave:h,onLeaveCancelled:m,onBeforeAppear:v,onAppear:_,onAfterAppear:g,onAppearCancelled:w}=t,b=String(e.key),C=Qm(n,e),x=(T,V)=>{T&&no(T,o,9,V)},E=(T,V)=>{const L=V[1];x(T,V),Ie(T)?T.every(P=>P.length<=1)&&L():T.length<=1&&L()},O={mode:r,persisted:l,beforeEnter(T){let V=i;if(!n.isMounted)if(a)V=v||i;else return;T[Ma]&&T[Ma](!0);const L=C[b];L&&or(e,L)&&L.el[Ma]&&L.el[Ma](),x(V,[T])},enter(T){let V=u,L=d,P=f;if(!n.isMounted)if(a)V=_||u,L=g||d,P=w||f;else return;let z=!1;const j=T[Si]=K=>{z||(z=!0,K?x(P,[T]):x(L,[T]),O.delayedLeave&&O.delayedLeave(),T[Si]=void 0)};V?E(V,[T,j]):j()},leave(T,V){const L=String(e.key);if(T[Si]&&T[Si](!0),n.isUnmounting)return V();x(c,[T]);let P=!1;const z=T[Ma]=j=>{P||(P=!0,V(),j?x(m,[T]):x(h,[T]),T[Ma]=void 0,C[L]===e&&delete C[L])};C[L]=e,p?E(p,[T,z]):z()},clone(T){return Cs(T,t,n,o)}};return O}function ad(e){if(ic(e))return e=oa(e),e.children=null,e}function Hp(e){return ic(e)?e.children?e.children[0]:void 0:e}function Ss(e,t){e.shapeFlag&6&&e.component?Ss(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function I0(e,t=!1,n){let o=[],a=0;for(let r=0;r1)for(let r=0;r!!e.type.__asyncLoader,ic=e=>e.type.__isKeepAlive;function Cb(e,t){t4(e,"a",t)}function e4(e,t){t4(e,"da",t)}function t4(e,t,n=vn){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(uc(t,o,n),n){let a=n.parent;for(;a&&a.parent;)ic(a.parent.vnode)&&Sb(o,t,n,a),a=a.parent}}function Sb(e,t,n,o){const a=uc(t,e,o,!0);Ua(()=>{_0(o[t],a)},n)}function uc(e,t,n=vn,o=!1){if(n){const a=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...l)=>{if(n.isUnmounted)return;Ir();const i=Gs(n),u=no(t,n,e,l);return i(),Rr(),u});return o?a.unshift(r):a.push(r),r}}const ia=e=>(t,n=vn)=>(!fc||e==="sp")&&uc(e,(...o)=>t(...o),n),cc=ia("bm"),et=ia("m"),n4=ia("bu"),ua=ia("u"),It=ia("bum"),Ua=ia("um"),kb=ia("sp"),Eb=ia("rtg"),xb=ia("rtc");function Mb(e,t=vn){uc("ec",e,t)}function mt(e,t,n,o){let a;const r=n&&n[o];if(Ie(e)||Ze(e)){a=new Array(e.length);for(let l=0,i=e.length;lt(l,i,void 0,r&&r[i]));else{const l=Object.keys(e);a=new Array(l.length);for(let i=0,u=l.length;i{const r=o.fn(...a);return r&&(r.key=o.key),r}:o.fn)}return e}function re(e,t,n={},o,a){if(sn.isCE||sn.parent&&rs(sn.parent)&&sn.parent.isCE)return t!=="default"&&(n.name=t),W("slot",n,o&&o());let r=e[t];r&&r._c&&(r._d=!1),y();const l=r&&o4(r(n)),i=oe(Fe,{key:n.key||l&&l.key||`_${t}`},l||(o?o():[]),l&&e._===1?64:-2);return!a&&i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),r&&r._c&&(r._d=!0),i}function o4(e){return e.some(t=>zt(t)?!(t.type===$n||t.type===Fe&&!o4(t.children)):!0)?e:null}function $b(e,t){const n={};for(const o in e)n[t&&/[A-Z]/.test(o)?`on:${o}`:Ki(o)]=e[o];return n}const Yd=e=>e?m4(e)?pc(e)||e.proxy:Yd(e.parent):null,ls=ln(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Yd(e.parent),$root:e=>Yd(e.root),$emit:e=>e.emit,$options:e=>R0(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,T0(e.update)}),$nextTick:e=>e.n||(e.n=We.bind(e.proxy)),$watch:e=>_b.bind(e)}),rd=(e,t)=>e!==Yt&&!e.__isScriptSetup&&yt(e,t),Tb={get({_:e},t){const{ctx:n,setupState:o,data:a,props:r,accessCache:l,type:i,appContext:u}=e;let d;if(t[0]!=="$"){const h=l[t];if(h!==void 0)switch(h){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return r[t]}else{if(rd(o,t))return l[t]=1,o[t];if(a!==Yt&&yt(a,t))return l[t]=2,a[t];if((d=e.propsOptions[0])&&yt(d,t))return l[t]=3,r[t];if(n!==Yt&&yt(n,t))return l[t]=4,n[t];Gd&&(l[t]=0)}}const f=ls[t];let c,p;if(f)return t==="$attrs"&&zn(e,"get",t),f(e);if((c=i.__cssModules)&&(c=c[t]))return c;if(n!==Yt&&yt(n,t))return l[t]=4,n[t];if(p=u.config.globalProperties,yt(p,t))return p[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:r}=e;return rd(a,t)?(a[t]=n,!0):o!==Yt&&yt(o,t)?(o[t]=n,!0):yt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:a,propsOptions:r}},l){let i;return!!n[l]||e!==Yt&&yt(e,l)||rd(t,l)||(i=r[0])&&yt(i,l)||yt(o,l)||yt(ls,l)||yt(a.config.globalProperties,l)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:yt(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function fn(){return a4().slots}function Pr(){return a4().attrs}function a4(){const e=rt();return e.setupContext||(e.setupContext=y4(e))}function Dp(e){return Ie(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Gd=!0;function Ab(e){const t=R0(e),n=e.proxy,o=e.ctx;Gd=!1,t.beforeCreate&&Fp(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:l,watch:i,provide:u,inject:d,created:f,beforeMount:c,mounted:p,beforeUpdate:h,updated:m,activated:v,deactivated:_,beforeDestroy:g,beforeUnmount:w,destroyed:b,unmounted:C,render:x,renderTracked:E,renderTriggered:O,errorCaptured:T,serverPrefetch:V,expose:L,inheritAttrs:P,components:z,directives:j,filters:K}=t;if(d&&Ob(d,o,null),l)for(const I in l){const H=l[I];Xe(H)&&(o[I]=H.bind(n))}if(a){const I=a.call(n,n);ct(I)&&(e.data=wt(I))}if(Gd=!0,r)for(const I in r){const H=r[I],N=Xe(H)?H.bind(n,n):Xe(H.get)?H.get.bind(n,n):Et,D=!Xe(H)&&Xe(H.set)?H.set.bind(n):Et,q=S({get:N,set:D});Object.defineProperty(o,I,{enumerable:!0,configurable:!0,get:()=>q.value,set:Y=>q.value=Y})}if(i)for(const I in i)r4(i[I],o,n,I);if(u){const I=Xe(u)?u.call(n):u;Reflect.ownKeys(I).forEach(H=>{pt(H,I[H])})}f&&Fp(f,e,"c");function B(I,H){Ie(H)?H.forEach(N=>I(N.bind(n))):H&&I(H.bind(n))}if(B(cc,c),B(et,p),B(n4,h),B(ua,m),B(Cb,v),B(e4,_),B(Mb,T),B(xb,E),B(Eb,O),B(It,w),B(Ua,C),B(kb,V),Ie(L))if(L.length){const I=e.exposed||(e.exposed={});L.forEach(H=>{Object.defineProperty(I,H,{get:()=>n[H],set:N=>n[H]=N})})}else e.exposed||(e.exposed={});x&&e.render===Et&&(e.render=x),P!=null&&(e.inheritAttrs=P),z&&(e.components=z),j&&(e.directives=j)}function Ob(e,t,n=Et){Ie(e)&&(e=Xd(e));for(const o in e){const a=e[o];let r;ct(a)?"default"in a?r=Pe(a.from||o,a.default,!0):r=Pe(a.from||o):r=Pe(a),Pt(r)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>r.value,set:l=>r.value=l}):t[o]=r}}function Fp(e,t,n){no(Ie(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function r4(e,t,n,o){const a=o.includes(".")?Xm(n,o):()=>n[o];if(Ze(e)){const r=t[e];Xe(r)&&pe(a,r)}else if(Xe(e))pe(a,e.bind(n));else if(ct(e))if(Ie(e))e.forEach(r=>r4(r,t,n,o));else{const r=Xe(e.handler)?e.handler.bind(n):t[e.handler];Xe(r)&&pe(a,r,e)}}function R0(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:l}}=e.appContext,i=r.get(t);let u;return i?u=i:!a.length&&!n&&!o?u=t:(u={},a.length&&a.forEach(d=>Mu(u,d,l,!0)),Mu(u,t,l)),ct(t)&&r.set(t,u),u}function Mu(e,t,n,o=!1){const{mixins:a,extends:r}=t;r&&Mu(e,r,n,!0),a&&a.forEach(l=>Mu(e,l,n,!0));for(const l in t)if(!(o&&l==="expose")){const i=Nb[l]||n&&n[l];e[l]=i?i(e[l],t[l]):t[l]}return e}const Nb={data:Kp,props:Wp,emits:Wp,methods:Zl,computed:Zl,beforeCreate:Mn,created:Mn,beforeMount:Mn,mounted:Mn,beforeUpdate:Mn,updated:Mn,beforeDestroy:Mn,beforeUnmount:Mn,destroyed:Mn,unmounted:Mn,activated:Mn,deactivated:Mn,errorCaptured:Mn,serverPrefetch:Mn,components:Zl,directives:Zl,watch:Rb,provide:Kp,inject:Ib};function Kp(e,t){return t?e?function(){return ln(Xe(e)?e.call(this,this):e,Xe(t)?t.call(this,this):t)}:t:e}function Ib(e,t){return Zl(Xd(e),Xd(t))}function Xd(e){if(Ie(e)){const t={};for(let n=0;n1)return n&&Xe(t)?t.call(o&&o.proxy):t}}function Vb(e,t,n,o=!1){const a={},r={};Su(r,dc,1),e.propsDefaults=Object.create(null),s4(e,t,a,r);for(const l in e.propsOptions[0])l in a||(a[l]=void 0);n?e.props=o?a:Rm(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function Bb(e,t,n,o){const{props:a,attrs:r,vnode:{patchFlag:l}}=e,i=xt(a),[u]=e.propsOptions;let d=!1;if((o||l>0)&&!(l&16)){if(l&8){const f=e.vnode.dynamicProps;for(let c=0;c{u=!0;const[p,h]=i4(c,t,!0);ln(l,p),h&&i.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!r&&!u)return ct(e)&&o.set(e,tl),tl;if(Ie(r))for(let f=0;f-1,h[1]=v<0||m-1||yt(h,"default"))&&i.push(c)}}}const d=[l,i];return ct(e)&&o.set(e,d),d}function jp(e){return e[0]!=="$"&&!as(e)}function qp(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Up(e,t){return qp(e)===qp(t)}function Yp(e,t){return Ie(t)?t.findIndex(n=>Up(n,e)):Xe(t)&&Up(t,e)?0:-1}const u4=e=>e[0]==="_"||e==="$stable",P0=e=>Ie(e)?e.map($o):[$o(e)],zb=(e,t,n)=>{if(t._n)return t;const o=G((...a)=>P0(t(...a)),n);return o._c=!1,o},c4=(e,t,n)=>{const o=e._ctx;for(const a in e){if(u4(a))continue;const r=e[a];if(Xe(r))t[a]=zb(a,r,o);else if(r!=null){const l=P0(r);t[a]=()=>l}}},d4=(e,t)=>{const n=P0(t);e.slots.default=()=>n},Hb=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=xt(t),Su(t,"_",n)):c4(t,e.slots={})}else e.slots={},t&&d4(e,t);Su(e.slots,dc,1)},Db=(e,t,n)=>{const{vnode:o,slots:a}=e;let r=!0,l=Yt;if(o.shapeFlag&32){const i=t._;i?n&&i===1?r=!1:(ln(a,t),!n&&i===1&&delete a._):(r=!t.$stable,c4(t,a)),l=t}else t&&(d4(e,t),l={default:1});if(r)for(const i in a)!u4(i)&&l[i]==null&&delete a[i]};function Zd(e,t,n,o,a=!1){if(Ie(e)){e.forEach((p,h)=>Zd(p,t&&(Ie(t)?t[h]:t),n,o,a));return}if(rs(o)&&!a)return;const r=o.shapeFlag&4?pc(o.component)||o.component.proxy:o.el,l=a?null:r,{i,r:u}=e,d=t&&t.r,f=i.refs===Yt?i.refs={}:i.refs,c=i.setupState;if(d!=null&&d!==u&&(Ze(d)?(f[d]=null,yt(c,d)&&(c[d]=null)):Pt(d)&&(d.value=null)),Xe(u))Pa(u,i,12,[l,f]);else{const p=Ze(u),h=Pt(u);if(p||h){const m=()=>{if(e.f){const v=p?yt(c,u)?c[u]:f[u]:u.value;a?Ie(v)&&_0(v,r):Ie(v)?v.includes(r)||v.push(r):p?(f[u]=[r],yt(c,u)&&(c[u]=f[u])):(u.value=[r],e.k&&(f[e.k]=u.value))}else p?(f[u]=l,yt(c,u)&&(c[u]=l)):h&&(u.value=l,e.k&&(f[e.k]=l))};l?(m.id=-1,Pn(m,n)):m()}}}const Pn=mb;function Fb(e){return Kb(e)}function Kb(e,t){const n=mm();n.__VUE__=!0;const{insert:o,remove:a,patchProp:r,createElement:l,createText:i,createComment:u,setText:d,setElementText:f,parentNode:c,nextSibling:p,setScopeId:h=Et,insertStaticContent:m}=e,v=(U,te,ve,be=null,ue=null,ye=null,we=void 0,Ce=null,he=!!te.dynamicChildren)=>{if(U===te)return;U&&!or(U,te)&&(be=le(U),Y(U,ue,ye,!0),U=null),te.patchFlag===-2&&(he=!1,te.dynamicChildren=null);const{type:Se,ref:Re,shapeFlag:He}=te;switch(Se){case Il:_(U,te,ve,be);break;case $n:g(U,te,ve,be);break;case sd:U==null&&w(te,ve,be,we);break;case Fe:z(U,te,ve,be,ue,ye,we,Ce,he);break;default:He&1?x(U,te,ve,be,ue,ye,we,Ce,he):He&6?j(U,te,ve,be,ue,ye,we,Ce,he):(He&64||He&128)&&Se.process(U,te,ve,be,ue,ye,we,Ce,he,ce)}Re!=null&&ue&&Zd(Re,U&&U.ref,ye,te||U,!te)},_=(U,te,ve,be)=>{if(U==null)o(te.el=i(te.children),ve,be);else{const ue=te.el=U.el;te.children!==U.children&&d(ue,te.children)}},g=(U,te,ve,be)=>{U==null?o(te.el=u(te.children||""),ve,be):te.el=U.el},w=(U,te,ve,be)=>{[U.el,U.anchor]=m(U.children,te,ve,be,U.el,U.anchor)},b=({el:U,anchor:te},ve,be)=>{let ue;for(;U&&U!==te;)ue=p(U),o(U,ve,be),U=ue;o(te,ve,be)},C=({el:U,anchor:te})=>{let ve;for(;U&&U!==te;)ve=p(U),a(U),U=ve;a(te)},x=(U,te,ve,be,ue,ye,we,Ce,he)=>{te.type==="svg"?we="svg":te.type==="math"&&(we="mathml"),U==null?E(te,ve,be,ue,ye,we,Ce,he):V(U,te,ue,ye,we,Ce,he)},E=(U,te,ve,be,ue,ye,we,Ce)=>{let he,Se;const{props:Re,shapeFlag:He,transition:de,dirs:Le}=U;if(he=U.el=l(U.type,ye,Re&&Re.is,Re),He&8?f(he,U.children):He&16&&T(U.children,he,null,be,ue,ld(U,ye),we,Ce),Le&&Xa(U,null,be,"created"),O(he,U,U.scopeId,we,be),Re){for(const ot in Re)ot!=="value"&&!as(ot)&&r(he,ot,null,Re[ot],ye,U.children,be,ue,Q);"value"in Re&&r(he,"value",null,Re.value,ye),(Se=Re.onVnodeBeforeMount)&&Mo(Se,be,U)}Le&&Xa(U,null,be,"beforeMount");const Ue=Wb(ue,de);Ue&&de.beforeEnter(he),o(he,te,ve),((Se=Re&&Re.onVnodeMounted)||Ue||Le)&&Pn(()=>{Se&&Mo(Se,be,U),Ue&&de.enter(he),Le&&Xa(U,null,be,"mounted")},ue)},O=(U,te,ve,be,ue)=>{if(ve&&h(U,ve),be)for(let ye=0;ye{for(let Se=he;Se{const Ce=te.el=U.el;let{patchFlag:he,dynamicChildren:Se,dirs:Re}=te;he|=U.patchFlag&16;const He=U.props||Yt,de=te.props||Yt;let Le;if(ve&&Ja(ve,!1),(Le=de.onVnodeBeforeUpdate)&&Mo(Le,ve,te,U),Re&&Xa(te,U,ve,"beforeUpdate"),ve&&Ja(ve,!0),Se?L(U.dynamicChildren,Se,Ce,ve,be,ld(te,ue),ye):we||H(U,te,Ce,null,ve,be,ld(te,ue),ye,!1),he>0){if(he&16)P(Ce,te,He,de,ve,be,ue);else if(he&2&&He.class!==de.class&&r(Ce,"class",null,de.class,ue),he&4&&r(Ce,"style",He.style,de.style,ue),he&8){const Ue=te.dynamicProps;for(let ot=0;ot{Le&&Mo(Le,ve,te,U),Re&&Xa(te,U,ve,"updated")},be)},L=(U,te,ve,be,ue,ye,we)=>{for(let Ce=0;Ce{if(ve!==be){if(ve!==Yt)for(const Ce in ve)!as(Ce)&&!(Ce in be)&&r(U,Ce,ve[Ce],null,we,te.children,ue,ye,Q);for(const Ce in be){if(as(Ce))continue;const he=be[Ce],Se=ve[Ce];he!==Se&&Ce!=="value"&&r(U,Ce,Se,he,we,te.children,ue,ye,Q)}"value"in be&&r(U,"value",ve.value,be.value,we)}},z=(U,te,ve,be,ue,ye,we,Ce,he)=>{const Se=te.el=U?U.el:i(""),Re=te.anchor=U?U.anchor:i("");let{patchFlag:He,dynamicChildren:de,slotScopeIds:Le}=te;Le&&(Ce=Ce?Ce.concat(Le):Le),U==null?(o(Se,ve,be),o(Re,ve,be),T(te.children||[],ve,Re,ue,ye,we,Ce,he)):He>0&&He&64&&de&&U.dynamicChildren?(L(U.dynamicChildren,de,ve,ue,ye,we,Ce),(te.key!=null||ue&&te===ue.subTree)&&L0(U,te,!0)):H(U,te,ve,Re,ue,ye,we,Ce,he)},j=(U,te,ve,be,ue,ye,we,Ce,he)=>{te.slotScopeIds=Ce,U==null?te.shapeFlag&512?ue.ctx.activate(te,ve,be,we,he):K(te,ve,be,ue,ye,we,he):F(U,te,he)},K=(U,te,ve,be,ue,ye,we)=>{const Ce=U.component=Qb(U,be,ue);if(ic(U)&&(Ce.ctx.renderer=ce),ew(Ce),Ce.asyncDep){if(ue&&ue.registerDep(Ce,B),!U.el){const he=Ce.subTree=W($n);g(null,he,te,ve)}}else B(Ce,U,te,ve,ue,ye,we)},F=(U,te,ve)=>{const be=te.component=U.component;if(fb(U,te,ve))if(be.asyncDep&&!be.asyncResolved){I(be,te,ve);return}else be.next=te,lb(be.update),be.effect.dirty=!0,be.update();else te.el=U.el,be.vnode=te},B=(U,te,ve,be,ue,ye,we)=>{const Ce=()=>{if(U.isMounted){let{next:Re,bu:He,u:de,parent:Le,vnode:Ue}=U;{const $e=f4(U);if($e){Re&&(Re.el=Ue.el,I(U,Re,we)),$e.asyncDep.then(()=>{U.isUnmounted||Ce()});return}}let ot=Re,dt;Ja(U,!1),Re?(Re.el=Ue.el,I(U,Re,we)):Re=Ue,He&&Wi(He),(dt=Re.props&&Re.props.onVnodeBeforeUpdate)&&Mo(dt,Le,Re,Ue),Ja(U,!0);const je=od(U),fe=U.subTree;U.subTree=je,v(fe,je,c(fe.el),le(fe),U,ue,ye),Re.el=je.el,ot===null&&pb(U,je.el),de&&Pn(de,ue),(dt=Re.props&&Re.props.onVnodeUpdated)&&Pn(()=>Mo(dt,Le,Re,Ue),ue)}else{let Re;const{el:He,props:de}=te,{bm:Le,m:Ue,parent:ot}=U,dt=rs(te);if(Ja(U,!1),Le&&Wi(Le),!dt&&(Re=de&&de.onVnodeBeforeMount)&&Mo(Re,ot,te),Ja(U,!0),He&&Ae){const je=()=>{U.subTree=od(U),Ae(He,U.subTree,U,ue,null)};dt?te.type.__asyncLoader().then(()=>!U.isUnmounted&&je()):je()}else{const je=U.subTree=od(U);v(null,je,ve,be,U,ue,ye),te.el=je.el}if(Ue&&Pn(Ue,ue),!dt&&(Re=de&&de.onVnodeMounted)){const je=te;Pn(()=>Mo(Re,ot,je),ue)}(te.shapeFlag&256||ot&&rs(ot.vnode)&&ot.vnode.shapeFlag&256)&&U.a&&Pn(U.a,ue),U.isMounted=!0,te=ve=be=null}},he=U.effect=new w0(Ce,Et,()=>T0(Se),U.scope),Se=U.update=()=>{he.dirty&&he.run()};Se.id=U.uid,Ja(U,!0),Se()},I=(U,te,ve)=>{te.component=U;const be=U.vnode.props;U.vnode=te,U.next=null,Bb(U,te.props,be,ve),Db(U,te.children,ve),Ir(),Vp(U),Rr()},H=(U,te,ve,be,ue,ye,we,Ce,he=!1)=>{const Se=U&&U.children,Re=U?U.shapeFlag:0,He=te.children,{patchFlag:de,shapeFlag:Le}=te;if(de>0){if(de&128){D(Se,He,ve,be,ue,ye,we,Ce,he);return}else if(de&256){N(Se,He,ve,be,ue,ye,we,Ce,he);return}}Le&8?(Re&16&&Q(Se,ue,ye),He!==Se&&f(ve,He)):Re&16?Le&16?D(Se,He,ve,be,ue,ye,we,Ce,he):Q(Se,ue,ye,!0):(Re&8&&f(ve,""),Le&16&&T(He,ve,be,ue,ye,we,Ce,he))},N=(U,te,ve,be,ue,ye,we,Ce,he)=>{U=U||tl,te=te||tl;const Se=U.length,Re=te.length,He=Math.min(Se,Re);let de;for(de=0;deRe?Q(U,ue,ye,!0,!1,He):T(te,ve,be,ue,ye,we,Ce,he,He)},D=(U,te,ve,be,ue,ye,we,Ce,he)=>{let Se=0;const Re=te.length;let He=U.length-1,de=Re-1;for(;Se<=He&&Se<=de;){const Le=U[Se],Ue=te[Se]=he?$a(te[Se]):$o(te[Se]);if(or(Le,Ue))v(Le,Ue,ve,null,ue,ye,we,Ce,he);else break;Se++}for(;Se<=He&&Se<=de;){const Le=U[He],Ue=te[de]=he?$a(te[de]):$o(te[de]);if(or(Le,Ue))v(Le,Ue,ve,null,ue,ye,we,Ce,he);else break;He--,de--}if(Se>He){if(Se<=de){const Le=de+1,Ue=Lede)for(;Se<=He;)Y(U[Se],ue,ye,!0),Se++;else{const Le=Se,Ue=Se,ot=new Map;for(Se=Ue;Se<=de;Se++){const ne=te[Se]=he?$a(te[Se]):$o(te[Se]);ne.key!=null&&ot.set(ne.key,Se)}let dt,je=0;const fe=de-Ue+1;let $e=!1,ee=0;const ie=new Array(fe);for(Se=0;Se=fe){Y(ne,ue,ye,!0);continue}let ze;if(ne.key!=null)ze=ot.get(ne.key);else for(dt=Ue;dt<=de;dt++)if(ie[dt-Ue]===0&&or(ne,te[dt])){ze=dt;break}ze===void 0?Y(ne,ue,ye,!0):(ie[ze-Ue]=Se+1,ze>=ee?ee=ze:$e=!0,v(ne,te[ze],ve,null,ue,ye,we,Ce,he),je++)}const ke=$e?jb(ie):tl;for(dt=ke.length-1,Se=fe-1;Se>=0;Se--){const ne=Ue+Se,ze=te[ne],tt=ne+1{const{el:ye,type:we,transition:Ce,children:he,shapeFlag:Se}=U;if(Se&6){q(U.component.subTree,te,ve,be);return}if(Se&128){U.suspense.move(te,ve,be);return}if(Se&64){we.move(U,te,ve,ce);return}if(we===Fe){o(ye,te,ve);for(let He=0;HeCe.enter(ye),ue);else{const{leave:He,delayLeave:de,afterLeave:Le}=Ce,Ue=()=>o(ye,te,ve),ot=()=>{He(ye,()=>{Ue(),Le&&Le()})};de?de(ye,Ue,ot):ot()}else o(ye,te,ve)},Y=(U,te,ve,be=!1,ue=!1)=>{const{type:ye,props:we,ref:Ce,children:he,dynamicChildren:Se,shapeFlag:Re,patchFlag:He,dirs:de}=U;if(Ce!=null&&Zd(Ce,null,ve,U,!0),Re&256){te.ctx.deactivate(U);return}const Le=Re&1&&de,Ue=!rs(U);let ot;if(Ue&&(ot=we&&we.onVnodeBeforeUnmount)&&Mo(ot,te,U),Re&6)_e(U.component,ve,be);else{if(Re&128){U.suspense.unmount(ve,be);return}Le&&Xa(U,null,te,"beforeUnmount"),Re&64?U.type.remove(U,te,ve,ue,ce,be):Se&&(ye!==Fe||He>0&&He&64)?Q(Se,te,ve,!1,!0):(ye===Fe&&He&384||!ue&&Re&16)&&Q(he,te,ve),be&&J(U)}(Ue&&(ot=we&&we.onVnodeUnmounted)||Le)&&Pn(()=>{ot&&Mo(ot,te,U),Le&&Xa(U,null,te,"unmounted")},ve)},J=U=>{const{type:te,el:ve,anchor:be,transition:ue}=U;if(te===Fe){se(ve,be);return}if(te===sd){C(U);return}const ye=()=>{a(ve),ue&&!ue.persisted&&ue.afterLeave&&ue.afterLeave()};if(U.shapeFlag&1&&ue&&!ue.persisted){const{leave:we,delayLeave:Ce}=ue,he=()=>we(ve,ye);Ce?Ce(U.el,ye,he):he()}else ye()},se=(U,te)=>{let ve;for(;U!==te;)ve=p(U),a(U),U=ve;a(te)},_e=(U,te,ve)=>{const{bum:be,scope:ue,update:ye,subTree:we,um:Ce}=U;be&&Wi(be),ue.stop(),ye&&(ye.active=!1,Y(we,U,te,ve)),Ce&&Pn(Ce,te),Pn(()=>{U.isUnmounted=!0},te),te&&te.pendingBranch&&!te.isUnmounted&&U.asyncDep&&!U.asyncResolved&&U.suspenseId===te.pendingId&&(te.deps--,te.deps===0&&te.resolve())},Q=(U,te,ve,be=!1,ue=!1,ye=0)=>{for(let we=ye;weU.shapeFlag&6?le(U.component.subTree):U.shapeFlag&128?U.suspense.next():p(U.anchor||U.el);let ae=!1;const Te=(U,te,ve)=>{U==null?te._vnode&&Y(te._vnode,null,null,!0):v(te._vnode||null,U,te,null,null,null,ve),ae||(ae=!0,Vp(),Wm(),ae=!1),te._vnode=U},ce={p:v,um:Y,m:q,r:J,mt:K,mc:T,pc:H,pbc:L,n:le,o:e};let ge,Ae;return t&&([ge,Ae]=t(ce)),{render:Te,hydrate:ge,createApp:Lb(Te,ge)}}function ld({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Ja({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Wb(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function L0(e,t,n=!1){const o=e.children,a=t.children;if(Ie(o)&&Ie(a))for(let r=0;r>1,e[n[i]]0&&(t[o]=n[r-1]),n[r]=o)}}for(r=n.length,l=n[r-1];r-- >0;)n[r]=l,l=t[l];return n}function f4(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:f4(t)}const qb=e=>e.__isTeleport,is=e=>e&&(e.disabled||e.disabled===""),Gp=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Xp=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Qd=(e,t)=>{const n=e&&e.to;return Ze(n)?t?t(n):null:n},Ub={name:"Teleport",__isTeleport:!0,process(e,t,n,o,a,r,l,i,u,d){const{mc:f,pc:c,pbc:p,o:{insert:h,querySelector:m,createText:v,createComment:_}}=d,g=is(t.props);let{shapeFlag:w,children:b,dynamicChildren:C}=t;if(e==null){const x=t.el=v(""),E=t.anchor=v("");h(x,n,o),h(E,n,o);const O=t.target=Qd(t.props,m),T=t.targetAnchor=v("");O&&(h(T,O),l==="svg"||Gp(O)?l="svg":(l==="mathml"||Xp(O))&&(l="mathml"));const V=(L,P)=>{w&16&&f(b,L,P,a,r,l,i,u)};g?V(n,E):O&&V(O,T)}else{t.el=e.el;const x=t.anchor=e.anchor,E=t.target=e.target,O=t.targetAnchor=e.targetAnchor,T=is(e.props),V=T?n:E,L=T?x:O;if(l==="svg"||Gp(E)?l="svg":(l==="mathml"||Xp(E))&&(l="mathml"),C?(p(e.dynamicChildren,C,V,a,r,l,i),L0(e,t,!0)):u||c(e,t,V,L,a,r,l,i,!1),g)T?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ki(t,n,x,d,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const P=t.target=Qd(t.props,m);P&&ki(t,P,null,d,0)}else T&&ki(t,E,O,d,1)}p4(t)},remove(e,t,n,o,{um:a,o:{remove:r}},l){const{shapeFlag:i,children:u,anchor:d,targetAnchor:f,target:c,props:p}=e;if(c&&r(f),l&&r(d),i&16){const h=l||!is(p);for(let m=0;m0?_o||tl:null,Gb(),ks>0&&_o&&_o.push(e),e}function M(e,t,n,o,a,r){return v4(k(e,t,n,o,a,r,!0))}function oe(e,t,n,o,a){return v4(W(e,t,n,o,a,!0))}function zt(e){return e?e.__v_isVNode===!0:!1}function or(e,t){return e.type===t.type&&e.key===t.key}const dc="__vInternal",h4=({key:e})=>e??null,qi=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ze(e)||Pt(e)||Xe(e)?{i:sn,r:e,k:t,f:!!n}:e:null);function k(e,t=null,n=null,o=0,a=null,r=e===Fe?0:1,l=!1,i=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&h4(t),ref:t&&qi(t),scopeId:lc,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:o,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:sn};return i?(V0(u,n),r&128&&e.normalize(u)):n&&(u.shapeFlag|=Ze(n)?8:16),ks>0&&!l&&_o&&(u.patchFlag>0||r&6)&&u.patchFlag!==32&&_o.push(u),u}const W=Xb;function Xb(e,t=null,n=null,o=0,a=null,r=!1){if((!e||e===Gm)&&(e=$n),zt(e)){const i=oa(e,t,!0);return n&&V0(i,n),ks>0&&!r&&_o&&(i.shapeFlag&6?_o[_o.indexOf(e)]=i:_o.push(i)),i.patchFlag|=-2,i}if(aw(e)&&(e=e.__vccOpts),t){t=pl(t);let{class:i,style:u}=t;i&&!Ze(i)&&(t.class=$(i)),ct(u)&&(Pm(u)&&!Ie(u)&&(u=ln({},u)),t.style=De(u))}const l=Ze(e)?1:hb(e)?128:qb(e)?64:ct(e)?4:Xe(e)?2:0;return k(e,t,n,o,a,l,r,!0)}function pl(e){return e?Pm(e)||dc in e?ln({},e):e:null}function oa(e,t,n=!1){const{props:o,ref:a,patchFlag:r,children:l}=e,i=t?ft(o||{},t):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:i,key:i&&h4(i),ref:t&&t.ref?n&&a?Ie(a)?a.concat(qi(t)):[a,qi(t)]:qi(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Fe?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&oa(e.ssContent),ssFallback:e.ssFallback&&oa(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function vt(e=" ",t=0){return W(Il,null,e,t)}function Z(e="",t=!1){return t?(y(),oe($n,null,e)):W($n,null,e)}function $o(e){return e==null||typeof e=="boolean"?W($n):Ie(e)?W(Fe,null,e.slice()):typeof e=="object"?$a(e):W(Il,null,String(e))}function $a(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:oa(e)}function V0(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Ie(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),V0(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!(dc in t)?t._ctx=sn:a===3&&sn&&(sn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Xe(t)?(t={default:t,_ctx:sn},n=32):(t=String(t),o&64?(n=16,t=[vt(t)]):n=8);e.children=t,e.shapeFlag|=n}function ft(...e){const t={};for(let n=0;nvn||sn;let $u,ef;{const e=mm(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),r=>{a.length>1?a.forEach(l=>l(r)):a[0](r)}};$u=t("__VUE_INSTANCE_SETTERS__",n=>vn=n),ef=t("__VUE_SSR_SETTERS__",n=>fc=n)}const Gs=e=>{const t=vn;return $u(e),e.scope.on(),()=>{e.scope.off(),$u(t)}},Zp=()=>{vn&&vn.scope.off(),$u(null)};function m4(e){return e.vnode.shapeFlag&4}let fc=!1;function ew(e,t=!1){t&&ef(t);const{props:n,children:o}=e.vnode,a=m4(e);Vb(e,n,a,t),Hb(e,o);const r=a?tw(e,t):void 0;return t&&ef(!1),r}function tw(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=hr(new Proxy(e.ctx,Tb));const{setup:o}=n;if(o){const a=e.setupContext=o.length>1?y4(e):null,r=Gs(e);Ir();const l=Pa(o,e,0,[e.props,a]);if(Rr(),r(),ys(l)){if(l.then(Zp,Zp),t)return l.then(i=>{Qp(e,i,t)}).catch(i=>{ac(i,e,0)});e.asyncDep=l}else Qp(e,l,t)}else g4(e,t)}function Qp(e,t,n){Xe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ct(t)&&(e.setupState=Hm(t)),g4(e,n)}let ev;function g4(e,t,n){const o=e.type;if(!e.render){if(!t&&ev&&!o.render){const a=o.template||R0(e).template;if(a){const{isCustomElement:r,compilerOptions:l}=e.appContext.config,{delimiters:i,compilerOptions:u}=o,d=ln(ln({isCustomElement:r,delimiters:i},l),u);o.render=ev(a,d)}}e.render=o.render||Et}{const a=Gs(e);Ir();try{Ab(e)}finally{Rr(),a()}}}function nw(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return zn(e,"get","$attrs"),t[n]}}))}function y4(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return nw(e)},slots:e.slots,emit:e.emit,expose:t}}function pc(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Hm(hr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ls)return ls[n](e)},has(t,n){return n in t||n in ls}}))}function ow(e,t=!0){return Xe(e)?e.displayName||e.name:e.name||t&&e.__name}function aw(e){return Xe(e)&&"__vccOpts"in e}const S=(e,t)=>Vm(e,t,fc);function qe(e,t,n){const o=arguments.length;return o===2?ct(t)&&!Ie(t)?zt(t)?W(e,null,[t]):W(e,t):W(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&zt(n)&&(n=[n]),W(e,t,n))}const rw="3.4.21",lw=Et;/** +* @vue/runtime-dom v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const sw="http://www.w3.org/2000/svg",iw="http://www.w3.org/1998/Math/MathML",Ta=typeof document<"u"?document:null,tv=Ta&&Ta.createElement("template"),uw={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const a=t==="svg"?Ta.createElementNS(sw,e):t==="mathml"?Ta.createElementNS(iw,e):Ta.createElement(e,n?{is:n}:void 0);return e==="select"&&o&&o.multiple!=null&&a.setAttribute("multiple",o.multiple),a},createText:e=>Ta.createTextNode(e),createComment:e=>Ta.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ta.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,a,r){const l=n?n.previousSibling:t.lastChild;if(a&&(a===r||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n),!(a===r||!(a=a.nextSibling)););else{tv.innerHTML=o==="svg"?`${e}`:o==="mathml"?`${e}`:e;const i=tv.content;if(o==="svg"||o==="mathml"){const u=i.firstChild;for(;u.firstChild;)i.appendChild(u.firstChild);i.removeChild(u)}t.insertBefore(i,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},_a="transition",Kl="animation",vl=Symbol("_vtc"),nn=(e,{slots:t})=>qe(wb,b4(e),t);nn.displayName="Transition";const _4={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},cw=nn.props=ln({},Zm,_4),Za=(e,t=[])=>{Ie(e)?e.forEach(n=>n(...t)):e&&e(...t)},nv=e=>e?Ie(e)?e.some(t=>t.length>1):e.length>1:!1;function b4(e){const t={};for(const z in e)z in _4||(t[z]=e[z]);if(e.css===!1)return t;const{name:n="v",type:o,duration:a,enterFromClass:r=`${n}-enter-from`,enterActiveClass:l=`${n}-enter-active`,enterToClass:i=`${n}-enter-to`,appearFromClass:u=r,appearActiveClass:d=l,appearToClass:f=i,leaveFromClass:c=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,m=dw(a),v=m&&m[0],_=m&&m[1],{onBeforeEnter:g,onEnter:w,onEnterCancelled:b,onLeave:C,onLeaveCancelled:x,onBeforeAppear:E=g,onAppear:O=w,onAppearCancelled:T=b}=t,V=(z,j,K)=>{Ca(z,j?f:i),Ca(z,j?d:l),K&&K()},L=(z,j)=>{z._isLeaving=!1,Ca(z,c),Ca(z,h),Ca(z,p),j&&j()},P=z=>(j,K)=>{const F=z?O:w,B=()=>V(j,z,K);Za(F,[j,B]),ov(()=>{Ca(j,z?u:r),Yo(j,z?f:i),nv(F)||av(j,o,v,B)})};return ln(t,{onBeforeEnter(z){Za(g,[z]),Yo(z,r),Yo(z,l)},onBeforeAppear(z){Za(E,[z]),Yo(z,u),Yo(z,d)},onEnter:P(!1),onAppear:P(!0),onLeave(z,j){z._isLeaving=!0;const K=()=>L(z,j);Yo(z,c),C4(),Yo(z,p),ov(()=>{z._isLeaving&&(Ca(z,c),Yo(z,h),nv(C)||av(z,o,_,K))}),Za(C,[z,K])},onEnterCancelled(z){V(z,!1),Za(b,[z])},onAppearCancelled(z){V(z,!0),Za(T,[z])},onLeaveCancelled(z){L(z),Za(x,[z])}})}function dw(e){if(e==null)return null;if(ct(e))return[id(e.enter),id(e.leave)];{const t=id(e);return[t,t]}}function id(e){return k_(e)}function Yo(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[vl]||(e[vl]=new Set)).add(t)}function Ca(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.remove(o));const n=e[vl];n&&(n.delete(t),n.size||(e[vl]=void 0))}function ov(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let fw=0;function av(e,t,n,o){const a=e._endId=++fw,r=()=>{a===e._endId&&o()};if(n)return setTimeout(r,n);const{type:l,timeout:i,propCount:u}=w4(e,t);if(!l)return o();const d=l+"end";let f=0;const c=()=>{e.removeEventListener(d,p),r()},p=h=>{h.target===e&&++f>=u&&c()};setTimeout(()=>{f(n[m]||"").split(", "),a=o(`${_a}Delay`),r=o(`${_a}Duration`),l=rv(a,r),i=o(`${Kl}Delay`),u=o(`${Kl}Duration`),d=rv(i,u);let f=null,c=0,p=0;t===_a?l>0&&(f=_a,c=l,p=r.length):t===Kl?d>0&&(f=Kl,c=d,p=u.length):(c=Math.max(l,d),f=c>0?l>d?_a:Kl:null,p=f?f===_a?r.length:u.length:0);const h=f===_a&&/\b(transform|all)(,|$)/.test(o(`${_a}Property`).toString());return{type:f,timeout:c,propCount:p,hasTransform:h}}function rv(e,t){for(;e.lengthlv(n)+lv(e[o])))}function lv(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function C4(){return document.body.offsetHeight}function pw(e,t,n){const o=e[vl];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Tu=Symbol("_vod"),S4=Symbol("_vsh"),bt={beforeMount(e,{value:t},{transition:n}){e[Tu]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Wl(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),Wl(e,!0),o.enter(e)):o.leave(e,()=>{Wl(e,!1)}):Wl(e,t))},beforeUnmount(e,{value:t}){Wl(e,t)}};function Wl(e,t){e.style.display=t?e[Tu]:"none",e[S4]=!t}const vw=Symbol(""),hw=/(^|;)\s*display\s*:/;function mw(e,t,n){const o=e.style,a=Ze(n);let r=!1;if(n&&!a){if(t)if(Ze(t))for(const l of t.split(";")){const i=l.slice(0,l.indexOf(":")).trim();n[i]==null&&Ui(o,i,"")}else for(const l in t)n[l]==null&&Ui(o,l,"");for(const l in n)l==="display"&&(r=!0),Ui(o,l,n[l])}else if(a){if(t!==n){const l=o[vw];l&&(n+=";"+l),o.cssText=n,r=hw.test(n)}}else t&&e.removeAttribute("style");Tu in e&&(e[Tu]=r?o.display:"",e[S4]&&(o.display="none"))}const sv=/\s*!important$/;function Ui(e,t,n){if(Ie(n))n.forEach(o=>Ui(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=gw(e,t);sv.test(n)?e.setProperty(qa(o),n.replace(sv,""),"important"):e[o]=n}}const iv=["Webkit","Moz","ms"],ud={};function gw(e,t){const n=ud[t];if(n)return n;let o=lo(t);if(o!=="filter"&&o in e)return ud[t]=o;o=Ys(o);for(let a=0;acd||(Sw.then(()=>cd=0),cd=Date.now());function Ew(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;no(xw(o,n.value),t,5,[o])};return n.value=e,n.attached=kw(),n}function xw(e,t){if(Ie(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(o=>a=>!a._stopped&&o&&o(a))}else return t}const fv=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Mw=(e,t,n,o,a,r,l,i,u)=>{const d=a==="svg";t==="class"?pw(e,o,d):t==="style"?mw(e,n,o):ec(t)?y0(t)||ww(e,t,n,o,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):$w(e,t,o,d))?_w(e,t,o,r,l,i,u):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),yw(e,t,o,d))};function $w(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&fv(t)&&Xe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return fv(t)&&Ze(n)?!1:t in e}const k4=new WeakMap,E4=new WeakMap,Au=Symbol("_moveCb"),pv=Symbol("_enterCb"),x4={name:"TransitionGroup",props:ln({},cw,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=rt(),o=Jm();let a,r;return ua(()=>{if(!a.length)return;const l=e.moveClass||`${e.name||"v"}-move`;if(!Iw(a[0].el,n.vnode.el,l))return;a.forEach(Aw),a.forEach(Ow);const i=a.filter(Nw);C4(),i.forEach(u=>{const d=u.el,f=d.style;Yo(d,l),f.transform=f.webkitTransform=f.transitionDuration="";const c=d[Au]=p=>{p&&p.target!==d||(!p||/transform$/.test(p.propertyName))&&(d.removeEventListener("transitionend",c),d[Au]=null,Ca(d,l))};d.addEventListener("transitionend",c)})}),()=>{const l=xt(e),i=b4(l);let u=l.tag||Fe;a=r,r=t.default?I0(t.default()):[];for(let d=0;ddelete e.mode;x4.props;const M4=x4;function Aw(e){const t=e.el;t[Au]&&t[Au](),t[pv]&&t[pv]()}function Ow(e){E4.set(e,e.el.getBoundingClientRect())}function Nw(e){const t=k4.get(e),n=E4.get(e),o=t.left-n.left,a=t.top-n.top;if(o||a){const r=e.el.style;return r.transform=r.webkitTransform=`translate(${o}px,${a}px)`,r.transitionDuration="0s",e}}function Iw(e,t,n){const o=e.cloneNode(),a=e[vl];a&&a.forEach(i=>{i.split(/\s+/).forEach(u=>u&&o.classList.remove(u))}),n.split(/\s+/).forEach(i=>i&&o.classList.add(i)),o.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(o);const{hasTransform:l}=w4(o);return r.removeChild(o),l}const hl=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Ie(t)?n=>Wi(t,n):t};function Rw(e){e.target.composing=!0}function vv(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ea=Symbol("_assign"),B0={created(e,{modifiers:{lazy:t,trim:n,number:o}},a){e[ea]=hl(a);const r=o||a.props&&a.props.type==="number";Aa(e,t?"change":"input",l=>{if(l.target.composing)return;let i=e.value;n&&(i=i.trim()),r&&(i=Kd(i)),e[ea](i)}),n&&Aa(e,"change",()=>{e.value=e.value.trim()}),t||(Aa(e,"compositionstart",Rw),Aa(e,"compositionend",vv),Aa(e,"change",vv))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:o,number:a}},r){if(e[ea]=hl(r),e.composing)return;const l=a||e.type==="number"?Kd(e.value):e.value,i=t??"";l!==i&&(document.activeElement===e&&e.type!=="range"&&(n||o&&e.value.trim()===i)||(e.value=i))}},Ou={deep:!0,created(e,t,n){e[ea]=hl(n),Aa(e,"change",()=>{const o=e._modelValue,a=T4(e),r=e.checked,l=e[ea];if(Ie(o)){const i=ym(o,a),u=i!==-1;if(r&&!u)l(o.concat(a));else if(!r&&u){const d=[...o];d.splice(i,1),l(d)}}else if(tc(o)){const i=new Set(o);r?i.add(a):i.delete(a),l(i)}else l(A4(e,r))})},mounted:hv,beforeUpdate(e,t,n){e[ea]=hl(n),hv(e,t,n)}};function hv(e,{value:t,oldValue:n},o){e._modelValue=t,Ie(t)?e.checked=ym(t,o.props.value)>-1:tc(t)?e.checked=t.has(o.props.value):t!==n&&(e.checked=dl(t,A4(e,!0)))}const $4={created(e,{value:t},n){e.checked=dl(t,n.props.value),e[ea]=hl(n),Aa(e,"change",()=>{e[ea](T4(e))})},beforeUpdate(e,{value:t,oldValue:n},o){e[ea]=hl(o),t!==n&&(e.checked=dl(t,o.props.value))}};function T4(e){return"_value"in e?e._value:e.value}function A4(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Pw=["ctrl","shift","alt","meta"],Lw={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Pw.some(n=>e[`${n}Key`]&&!t.includes(n))},Ge=(e,t)=>{const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(a,...r)=>{for(let l=0;l{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=a=>{if(!("key"in a))return;const r=qa(a.key);if(t.some(l=>l===r||Vw[l]===r))return e(a)})},Bw=ln({patchProp:Mw},uw);let mv;function O4(){return mv||(mv=Fb(Bw))}const Ha=(...e)=>{O4().render(...e)},N4=(...e)=>{const t=O4().createApp(...e),{mount:n}=t;return t.mount=o=>{const a=Hw(o);if(!a)return;const r=t._component;!Xe(r)&&!r.render&&!r.template&&(r.template=a.innerHTML),a.innerHTML="";const l=n(a,!1,zw(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),l},t};function zw(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Hw(e){return Ze(e)?document.querySelector(e):e}const Dw="data:image/png;base64,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",I4=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},Fw=e=>(Um("data-v-3cc994dc"),e=e(),Ym(),e),Kw={class:"greetings"},Ww={class:"green"},jw=Fw(()=>k("h3",null,[vt(" You can see detail with project "),k("a",{href:"https://gitee.com/wujiawei1207537021/wu-framework-parent/tree/master/wu-database-parent",target:"_blank",rel:"noopener"},"Lazy ORM"),vt(" + "),k("a",{href:"https://gitee.com/wujiawei1207537021/wu-framework-parent/tree/master/wu-smart-integration/wu-smart-agent-network",target:"_blank",rel:"noopener"},"NetWork Local Client"),vt(". ")],-1)),qw={__name:"HelloWorld",props:{msg:{type:String,required:!0}},setup(e){return(t,n)=>(y(),M("div",Kw,[k("h1",Ww,Me(e.msg),1),jw]))}},Uw=I4(qw,[["__scopeId","data-v-3cc994dc"]]),Yw='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',Gw=e=>getComputedStyle(e).position==="fixed"?!1:e.offsetParent!==null,gv=e=>Array.from(e.querySelectorAll(Yw)).filter(t=>Xw(t)&&Gw(t)),Xw=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},Yi=function(e,t,...n){let o;t.includes("mouse")||t.includes("click")?o="MouseEvents":t.includes("key")?o="KeyboardEvent":o="HTMLEvents";const a=document.createEvent(o);return a.initEvent(t,...n),e.dispatchEvent(a),e},R4=e=>!e.getAttribute("aria-owns"),P4=(e,t,n)=>{const{parentNode:o}=e;if(!o)return null;const a=o.querySelectorAll(n),r=Array.prototype.indexOf.call(a,e);return a[r+t]||null},Gi=e=>{e&&(e.focus(),!R4(e)&&e.click())},jt=(e,t,{checkForDefaultPrevented:n=!0}={})=>a=>{const r=e==null?void 0:e(a);if(n===!1||!r)return t==null?void 0:t(a)},yv=e=>t=>t.pointerType==="mouse"?e(t):void 0;var Jw=Object.defineProperty,Zw=Object.defineProperties,Qw=Object.getOwnPropertyDescriptors,_v=Object.getOwnPropertySymbols,e5=Object.prototype.hasOwnProperty,t5=Object.prototype.propertyIsEnumerable,bv=(e,t,n)=>t in e?Jw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,n5=(e,t)=>{for(var n in t||(t={}))e5.call(t,n)&&bv(e,n,t[n]);if(_v)for(var n of _v(t))t5.call(t,n)&&bv(e,n,t[n]);return e},o5=(e,t)=>Zw(e,Qw(t));function wv(e,t){var n;const o=Rt();return gn(()=>{o.value=e()},o5(n5({},t),{flush:(n=t==null?void 0:t.flush)!=null?n:"sync"})),Ol(o)}var Cv;const gt=typeof window<"u",a5=e=>typeof e<"u",r5=e=>typeof e=="function",l5=e=>typeof e=="string",ml=()=>{},s5=gt&&((Cv=window==null?void 0:window.navigator)==null?void 0:Cv.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Da(e){return typeof e=="function"?e():s(e)}function L4(e,t){function n(...o){return new Promise((a,r)=>{Promise.resolve(e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})).then(a).catch(r)})}return n}function i5(e,t={}){let n,o,a=ml;const r=i=>{clearTimeout(i),a(),a=ml};return i=>{const u=Da(e),d=Da(t.maxWait);return n&&r(n),u<=0||d!==void 0&&d<=0?(o&&(r(o),o=null),Promise.resolve(i())):new Promise((f,c)=>{a=t.rejectOnCancel?c:f,d&&!o&&(o=setTimeout(()=>{n&&r(n),o=null,f(i())},d)),n=setTimeout(()=>{o&&r(o),o=null,f(i())},u)})}}function u5(e,t=!0,n=!0,o=!1){let a=0,r,l=!0,i=ml,u;const d=()=>{r&&(clearTimeout(r),r=void 0,i(),i=ml)};return c=>{const p=Da(e),h=Date.now()-a,m=()=>u=c();return d(),p<=0?(a=Date.now(),m()):(h>p&&(n||!l)?(a=Date.now(),m()):t&&(u=new Promise((v,_)=>{i=o?_:v,r=setTimeout(()=>{a=Date.now(),l=!0,v(m()),d()},Math.max(0,p-h))})),!n&&!r&&(r=setTimeout(()=>l=!0,p)),l=!1,u)}}function c5(e){return e}function Xs(e){return wm()?(Cm(e),!0):!1}function d5(e,t=200,n={}){return L4(i5(t,n),e)}function f5(e,t=200,n={}){const o=R(e.value),a=d5(()=>{o.value=e.value},t,n);return pe(e,()=>a()),o}function V4(e,t=200,n=!1,o=!0,a=!1){return L4(u5(t,n,o,a),e)}function z0(e,t=!0){rt()?et(e):t?e():We(e)}function Cr(e,t,n={}){const{immediate:o=!0}=n,a=R(!1);let r=null;function l(){r&&(clearTimeout(r),r=null)}function i(){a.value=!1,l()}function u(...d){l(),a.value=!0,r=setTimeout(()=>{a.value=!1,r=null,e(...d)},Da(t))}return o&&(a.value=!0,gt&&u()),Xs(i),{isPending:Ol(a),start:u,stop:i}}function Ln(e){var t;const n=Da(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Lr=gt?window:void 0,p5=gt?window.document:void 0;function Vt(...e){let t,n,o,a;if(l5(e[0])||Array.isArray(e[0])?([n,o,a]=e,t=Lr):[t,n,o,a]=e,!t)return ml;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const r=[],l=()=>{r.forEach(f=>f()),r.length=0},i=(f,c,p,h)=>(f.addEventListener(c,p,h),()=>f.removeEventListener(c,p,h)),u=pe(()=>[Ln(t),Da(a)],([f,c])=>{l(),f&&r.push(...n.flatMap(p=>o.map(h=>i(f,p,h,c))))},{immediate:!0,flush:"post"}),d=()=>{u(),l()};return Xs(d),d}let Sv=!1;function H0(e,t,n={}){const{window:o=Lr,ignore:a=[],capture:r=!0,detectIframe:l=!1}=n;if(!o)return;s5&&!Sv&&(Sv=!0,Array.from(o.document.body.children).forEach(p=>p.addEventListener("click",ml)));let i=!0;const u=p=>a.some(h=>{if(typeof h=="string")return Array.from(o.document.querySelectorAll(h)).some(m=>m===p.target||p.composedPath().includes(m));{const m=Ln(h);return m&&(p.target===m||p.composedPath().includes(m))}}),f=[Vt(o,"click",p=>{const h=Ln(e);if(!(!h||h===p.target||p.composedPath().includes(h))){if(p.detail===0&&(i=!u(p)),!i){i=!0;return}t(p)}},{passive:!0,capture:r}),Vt(o,"pointerdown",p=>{const h=Ln(e);h&&(i=!p.composedPath().includes(h)&&!u(p))},{passive:!0}),l&&Vt(o,"blur",p=>{var h;const m=Ln(e);((h=o.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!(m!=null&&m.contains(o.document.activeElement))&&t(p)})].filter(Boolean);return()=>f.forEach(p=>p())}function B4(e,t=!1){const n=R(),o=()=>n.value=!!e();return o(),z0(o,t),n}function v5(e){return JSON.parse(JSON.stringify(e))}const kv=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Ev="__vueuse_ssr_handlers__";kv[Ev]=kv[Ev]||{};function h5(e,t,{window:n=Lr,initialValue:o=""}={}){const a=R(o),r=S(()=>{var l;return Ln(t)||((l=n==null?void 0:n.document)==null?void 0:l.documentElement)});return pe([r,()=>Da(e)],([l,i])=>{var u;if(l&&n){const d=(u=n.getComputedStyle(l).getPropertyValue(i))==null?void 0:u.trim();a.value=d||o}},{immediate:!0}),pe(a,l=>{var i;(i=r.value)!=null&&i.style&&r.value.style.setProperty(Da(e),l)}),a}function m5({document:e=p5}={}){if(!e)return R("visible");const t=R(e.visibilityState);return Vt(e,"visibilitychange",()=>{t.value=e.visibilityState}),t}var xv=Object.getOwnPropertySymbols,g5=Object.prototype.hasOwnProperty,y5=Object.prototype.propertyIsEnumerable,_5=(e,t)=>{var n={};for(var o in e)g5.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&xv)for(var o of xv(e))t.indexOf(o)<0&&y5.call(e,o)&&(n[o]=e[o]);return n};function Kt(e,t,n={}){const o=n,{window:a=Lr}=o,r=_5(o,["window"]);let l;const i=B4(()=>a&&"ResizeObserver"in a),u=()=>{l&&(l.disconnect(),l=void 0)},d=pe(()=>Ln(e),c=>{u(),i.value&&a&&c&&(l=new ResizeObserver(t),l.observe(c,r))},{immediate:!0,flush:"post"}),f=()=>{u(),d()};return Xs(f),{isSupported:i,stop:f}}function Mv(e,t={}){const{reset:n=!0,windowResize:o=!0,windowScroll:a=!0,immediate:r=!0}=t,l=R(0),i=R(0),u=R(0),d=R(0),f=R(0),c=R(0),p=R(0),h=R(0);function m(){const v=Ln(e);if(!v){n&&(l.value=0,i.value=0,u.value=0,d.value=0,f.value=0,c.value=0,p.value=0,h.value=0);return}const _=v.getBoundingClientRect();l.value=_.height,i.value=_.bottom,u.value=_.left,d.value=_.right,f.value=_.top,c.value=_.width,p.value=_.x,h.value=_.y}return Kt(e,m),pe(()=>Ln(e),v=>!v&&m()),a&&Vt("scroll",m,{capture:!0,passive:!0}),o&&Vt("resize",m,{passive:!0}),z0(()=>{r&&m()}),{height:l,bottom:i,left:u,right:d,top:f,width:c,x:p,y:h,update:m}}var $v=Object.getOwnPropertySymbols,b5=Object.prototype.hasOwnProperty,w5=Object.prototype.propertyIsEnumerable,C5=(e,t)=>{var n={};for(var o in e)b5.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&$v)for(var o of $v(e))t.indexOf(o)<0&&w5.call(e,o)&&(n[o]=e[o]);return n};function z4(e,t,n={}){const o=n,{window:a=Lr}=o,r=C5(o,["window"]);let l;const i=B4(()=>a&&"MutationObserver"in a),u=()=>{l&&(l.disconnect(),l=void 0)},d=pe(()=>Ln(e),c=>{u(),i.value&&a&&c&&(l=new MutationObserver(t),l.observe(c,r))},{immediate:!0}),f=()=>{u(),d()};return Xs(f),{isSupported:i,stop:f}}var Tv;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(Tv||(Tv={}));var S5=Object.defineProperty,Av=Object.getOwnPropertySymbols,k5=Object.prototype.hasOwnProperty,E5=Object.prototype.propertyIsEnumerable,Ov=(e,t,n)=>t in e?S5(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x5=(e,t)=>{for(var n in t||(t={}))k5.call(t,n)&&Ov(e,n,t[n]);if(Av)for(var n of Av(t))E5.call(t,n)&&Ov(e,n,t[n]);return e};const M5={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};x5({linear:c5},M5);function H4(e,t,n,o={}){var a,r,l;const{clone:i=!1,passive:u=!1,eventName:d,deep:f=!1,defaultValue:c}=o,p=rt(),h=n||(p==null?void 0:p.emit)||((a=p==null?void 0:p.$emit)==null?void 0:a.bind(p))||((l=(r=p==null?void 0:p.proxy)==null?void 0:r.$emit)==null?void 0:l.bind(p==null?void 0:p.proxy));let m=d;t||(t="modelValue"),m=d||m||`update:${t.toString()}`;const v=g=>i?r5(i)?i(g):v5(g):g,_=()=>a5(e[t])?v(e[t]):c;if(u){const g=_(),w=R(g);return pe(()=>e[t],b=>w.value=v(b)),pe(w,b=>{(b!==e[t]||f)&&h(m,b)},{deep:f}),w}else return S({get(){return _()},set(g){h(m,g)}})}function $5({window:e=Lr}={}){if(!e)return R(!1);const t=R(e.document.hasFocus());return Vt(e,"blur",()=>{t.value=!1}),Vt(e,"focus",()=>{t.value=!0}),t}function T5(e={}){const{window:t=Lr,initialWidth:n=1/0,initialHeight:o=1/0,listenOrientation:a=!0,includeScrollbar:r=!0}=e,l=R(n),i=R(o),u=()=>{t&&(r?(l.value=t.innerWidth,i.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,i.value=t.document.documentElement.clientHeight))};return u(),z0(u),Vt("resize",u,{passive:!0}),a&&Vt("orientationchange",u,{passive:!0}),{width:l,height:i}}const D4=()=>gt&&/firefox/i.test(window.navigator.userAgent),A5=(e,t)=>{if(!gt||!e||!t)return!1;const n=e.getBoundingClientRect();let o;return t instanceof Element?o=t.getBoundingClientRect():o={top:0,right:window.innerWidth,bottom:window.innerHeight,left:0},n.topo.top&&n.right>o.left&&n.left{let t=0,n=e;for(;n;)t+=n.offsetTop,n=n.offsetParent;return t},tf=(e,t)=>Math.abs(Nv(e)-Nv(t)),D0=e=>{let t,n;return e.type==="touchend"?(n=e.changedTouches[0].clientY,t=e.changedTouches[0].clientX):e.type.startsWith("touch")?(n=e.touches[0].clientY,t=e.touches[0].clientX):(n=e.clientY,t=e.clientX),{clientX:t,clientY:n}};function O5(e,t,n,o){const a=n-t;return e/=o/2,e<1?a/2*e*e*e+t:a/2*((e-=2)*e*e+2)+t}var F4=typeof global=="object"&&global&&global.Object===Object&&global,N5=typeof self=="object"&&self&&self.Object===Object&&self,Co=F4||N5||Function("return this")(),so=Co.Symbol,K4=Object.prototype,I5=K4.hasOwnProperty,R5=K4.toString,jl=so?so.toStringTag:void 0;function P5(e){var t=I5.call(e,jl),n=e[jl];try{e[jl]=void 0;var o=!0}catch{}var a=R5.call(e);return o&&(t?e[jl]=n:delete e[jl]),a}var L5=Object.prototype,V5=L5.toString;function B5(e){return V5.call(e)}var z5="[object Null]",H5="[object Undefined]",Iv=so?so.toStringTag:void 0;function Vr(e){return e==null?e===void 0?H5:z5:Iv&&Iv in Object(e)?P5(e):B5(e)}function Ro(e){return e!=null&&typeof e=="object"}var D5="[object Symbol]";function vc(e){return typeof e=="symbol"||Ro(e)&&Vr(e)==D5}function F0(e,t){for(var n=-1,o=e==null?0:e.length,a=Array(o);++n0){if(++t>=_9)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function S9(e){return function(){return e}}var Nu=function(){try{var e=zr(Object,"defineProperty");return e({},"",{}),e}catch{}}(),k9=Nu?function(e,t){return Nu(e,"toString",{configurable:!0,enumerable:!1,value:S9(t),writable:!0})}:K0;const E9=k9;var q4=C9(E9);function x9(e,t){for(var n=-1,o=e==null?0:e.length;++n-1}var O9=9007199254740991,N9=/^(?:0|[1-9]\d*)$/;function hc(e,t){var n=typeof e;return t=t??O9,!!t&&(n=="number"||n!="symbol"&&N9.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=P9}function Pl(e){return e!=null&&U0(e.length)&&!W0(e)}function L9(e,t,n){if(!On(n))return!1;var o=typeof t;return(o=="number"?Pl(n)&&hc(t,n.length):o=="string"&&t in n)?Js(n[t],e):!1}function V9(e){return G4(function(t,n){var o=-1,a=n.length,r=a>1?n[a-1]:void 0,l=a>2?n[2]:void 0;for(r=e.length>3&&typeof r=="function"?(a--,r):void 0,l&&L9(n[0],n[1],l)&&(r=a<3?void 0:r,a=1),t=Object(t);++o-1}function UC(e,t){var n=this.__data__,o=mc(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}function ca(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(i)?t>1?ei(i,t-1,n,o,a):Z0(a,i):o||(a[a.length]=i)}return a}function tg(e){var t=e==null?0:e.length;return t?ei(e,1):[]}function ng(e){return q4(Y4(e,void 0,tg),e+"")}var u7=eg(Object.getPrototypeOf,Object);const Q0=u7;var c7="[object Object]",d7=Function.prototype,f7=Object.prototype,og=d7.toString,p7=f7.hasOwnProperty,v7=og.call(Object);function ag(e){if(!Ro(e)||Vr(e)!=c7)return!1;var t=Q0(e);if(t===null)return!0;var n=p7.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&og.call(n)==v7}function h7(e,t,n){var o=-1,a=e.length;t<0&&(t=-t>a?0:a+t),n=n>a?a:n,n<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var r=Array(a);++oi))return!1;var d=r.get(e),f=r.get(t);if(d&&f)return d==t&&f==e;var c=-1,p=!0,h=n&XS?new As:void 0;for(r.set(e,t),r.set(t,e);++c=t||O<0||c&&T>=r}function g(){var E=vd();if(_(E))return w(E);i=setTimeout(g,v(E))}function w(E){return i=void 0,p&&o?h(E):(o=a=void 0,l)}function b(){i!==void 0&&clearTimeout(i),d=0,o=u=a=i=void 0}function C(){return i===void 0?l:w(vd())}function x(){var E=vd(),O=_(E);if(o=arguments,a=this,u=E,O){if(i===void 0)return m(u);if(c)return clearTimeout(i),i=setTimeout(g,t),h(u)}return i===void 0&&(i=setTimeout(g,t)),l}return x.cancel=b,x.flush=C,x}function sf(e,t,n){(n!==void 0&&!Js(e[t],n)||n===void 0&&!(t in e))&&j0(e,t,n)}function Sg(e){return Ro(e)&&Pl(e)}function uf(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function zk(e){return Rl(e,Qs(e))}function Hk(e,t,n,o,a,r,l){var i=uf(e,n),u=uf(t,n),d=l.get(u);if(d){sf(e,n,d);return}var f=r?r(i,u,n+"",e,t,l):void 0,c=f===void 0;if(c){var p=An(u),h=!p&&xs(u),m=!p&&!h&&X0(u);f=u,p||h||m?An(i)?f=i:Sg(i)?f=j4(i):h?(c=!1,f=lg(u,!0)):m?(c=!1,f=dg(u,!0)):f=[]:ag(u)||Es(u)?(f=i,Es(i)?f=zk(i):(!On(i)||W0(i))&&(f=fg(u))):c=!1}c&&(l.set(u,f),a(f,u,o,r,l),l.delete(u)),sf(e,n,f)}function kg(e,t,n,o,a){e!==t&&Cg(t,function(r,l){if(a||(a=new wo),On(r))Hk(e,t,l,n,kg,o,a);else{var i=o?o(uf(e,l),r,l+"",e,t,a):void 0;i===void 0&&(i=r),sf(e,l,i)}},Qs)}function Dk(e,t,n){for(var o=-1,a=e==null?0:e.length;++o1),r}),Rl(e,cg(e),n),o&&(n=ll(n,tE|nE|oE,eE));for(var a=t.length;a--;)Qk(n,t[a]);return n});function Mg(e,t,n,o){if(!On(e))return e;t=Ll(t,e);for(var a=-1,r=t.length,l=r-1,i=e;i!=null&&++a=dE){var d=t?null:cE(e);if(d)return n2(d);l=!1,a=mg,u=new As}else u=t?[]:i;e:for(;++oe===void 0,Qt=e=>typeof e=="boolean",Ye=e=>typeof e=="number",Qn=e=>!e&&e!==0||Ie(e)&&e.length===0||ct(e)&&!Object.keys(e).length,io=e=>typeof Element>"u"?!1:e instanceof Element,Er=e=>tn(e),pE=e=>Ze(e)?!Number.isNaN(Number(e)):!1,wc=e=>e===window,Fa=e=>gt?window.requestAnimationFrame(e):setTimeout(e,16),xr=e=>gt?window.cancelAnimationFrame(e):clearTimeout(e),o2=(e="")=>e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),Ao=e=>Ys(e),yl=e=>Object.keys(e),vE=e=>Object.entries(e),Xi=(e,t,n)=>({get value(){return Gt(e,t,n)},set value(o){sE(e,t,o)}});class hE extends Error{constructor(t){super(t),this.name="ElementPlusError"}}function on(e,t){throw new hE(`[${e}] ${t}`)}const $g=(e="")=>e.split(" ").filter(t=>!!t.trim()),oo=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},eo=(e,t)=>{!e||!t.trim()||e.classList.add(...$g(t))},Cn=(e,t)=>{!e||!t.trim()||e.classList.remove(...$g(t))},Oa=(e,t)=>{var n;if(!gt||!e||!t)return"";let o=lo(t);o==="float"&&(o="cssFloat");try{const a=e.style[o];if(a)return a;const r=(n=document.defaultView)==null?void 0:n.getComputedStyle(e,"");return r?r[o]:""}catch{return e.style[o]}};function Xt(e,t="px"){if(!e)return"";if(Ye(e)||pE(e))return`${e}${t}`;if(Ze(e))return e}const mE=(e,t)=>{if(!gt)return!1;const n={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],o=Oa(e,n);return["scroll","auto","overlay"].some(a=>o.includes(a))},a2=(e,t)=>{if(!gt)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(mE(n,t))return n;n=n.parentNode}return n};let xi;const Tg=e=>{var t;if(!gt)return 0;if(xi!==void 0)return xi;const n=document.createElement("div");n.className=`${e}-scrollbar__wrap`,n.style.visibility="hidden",n.style.width="100px",n.style.position="absolute",n.style.top="-9999px",document.body.appendChild(n);const o=n.offsetWidth;n.style.overflow="scroll";const a=document.createElement("div");a.style.width="100%",n.appendChild(a);const r=a.offsetWidth;return(t=n.parentNode)==null||t.removeChild(n),xi=o-r,xi};function Ag(e,t){if(!gt)return;if(!t){e.scrollTop=0;return}const n=[];let o=t.offsetParent;for(;o!==null&&e!==o&&e.contains(o);)n.push(o),o=o.offsetParent;const a=t.offsetTop+n.reduce((u,d)=>u+d.offsetTop,0),r=a+t.offsetHeight,l=e.scrollTop,i=l+e.clientHeight;ai&&(e.scrollTop=r-e.clientHeight)}function gE(e,t,n,o,a){const r=Date.now();let l;const i=()=>{const d=Date.now()-r,f=O5(d>o?o:d,t,n,o);wc(e)?e.scrollTo(window.pageXOffset,f):e.scrollTop=f,d{l&&xr(l)}}const c1=(e,t)=>wc(t)?e.ownerDocument.documentElement:t,d1=e=>wc(e)?window.scrollY:e.scrollTop,Mi=e=>{if(!gt||e==="")return null;if(Ze(e))try{return document.querySelector(e)}catch{return null}return e};/*! Element Plus Icons Vue v2.3.1 */var yE=A({name:"AddLocation",__name:"add-location",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32"}),k("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),k("path",{fill:"currentColor",d:"M544 384h96a32 32 0 1 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0z"})]))}}),_E=yE,bE=A({name:"Aim",__name:"aim",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),k("path",{fill:"currentColor",d:"M512 96a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V128a32 32 0 0 1 32-32m0 576a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V704a32 32 0 0 1 32-32M96 512a32 32 0 0 1 32-32h192a32 32 0 0 1 0 64H128a32 32 0 0 1-32-32m576 0a32 32 0 0 1 32-32h192a32 32 0 1 1 0 64H704a32 32 0 0 1-32-32"})]))}}),wE=bE,CE=A({name:"AlarmClock",__name:"alarm-clock",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 832a320 320 0 1 0 0-640 320 320 0 0 0 0 640m0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768"}),k("path",{fill:"currentColor",d:"m292.288 824.576 55.424 32-48 83.136a32 32 0 1 1-55.424-32zm439.424 0-55.424 32 48 83.136a32 32 0 1 0 55.424-32zM512 512h160a32 32 0 1 1 0 64H480a32 32 0 0 1-32-32V320a32 32 0 0 1 64 0zM90.496 312.256A160 160 0 0 1 312.32 90.496l-46.848 46.848a96 96 0 0 0-128 128L90.56 312.256zm835.264 0A160 160 0 0 0 704 90.496l46.848 46.848a96 96 0 0 1 128 128z"})]))}}),SE=CE,kE=A({name:"Apple",__name:"apple",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M599.872 203.776a189.44 189.44 0 0 1 64.384-4.672l2.624.128c31.168 1.024 51.2 4.096 79.488 16.32 37.632 16.128 74.496 45.056 111.488 89.344 96.384 115.264 82.752 372.8-34.752 521.728-7.68 9.728-32 41.6-30.72 39.936a426.624 426.624 0 0 1-30.08 35.776c-31.232 32.576-65.28 49.216-110.08 50.048-31.36.64-53.568-5.312-84.288-18.752l-6.528-2.88c-20.992-9.216-30.592-11.904-47.296-11.904-18.112 0-28.608 2.88-51.136 12.672l-6.464 2.816c-28.416 12.224-48.32 18.048-76.16 19.2-74.112 2.752-116.928-38.08-180.672-132.16-96.64-142.08-132.608-349.312-55.04-486.4 46.272-81.92 129.92-133.632 220.672-135.04 32.832-.576 60.288 6.848 99.648 22.72 27.136 10.88 34.752 13.76 37.376 14.272 16.256-20.16 27.776-36.992 34.56-50.24 13.568-26.304 27.2-59.968 40.704-100.8a32 32 0 1 1 60.8 20.224c-12.608 37.888-25.408 70.4-38.528 97.664zm-51.52 78.08c-14.528 17.792-31.808 37.376-51.904 58.816a32 32 0 1 1-46.72-43.776l12.288-13.248c-28.032-11.2-61.248-26.688-95.68-26.112-70.4 1.088-135.296 41.6-171.648 105.792C121.6 492.608 176 684.16 247.296 788.992c34.816 51.328 76.352 108.992 130.944 106.944 52.48-2.112 72.32-34.688 135.872-34.688 63.552 0 81.28 34.688 136.96 33.536 56.448-1.088 75.776-39.04 126.848-103.872 107.904-136.768 107.904-362.752 35.776-449.088-72.192-86.272-124.672-84.096-151.68-85.12-41.472-4.288-81.6 12.544-113.664 25.152z"})]))}}),EE=kE,xE=A({name:"ArrowDownBold",__name:"arrow-down-bold",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M104.704 338.752a64 64 0 0 1 90.496 0l316.8 316.8 316.8-316.8a64 64 0 0 1 90.496 90.496L557.248 791.296a64 64 0 0 1-90.496 0L104.704 429.248a64 64 0 0 1 0-90.496z"})]))}}),ME=xE,$E=A({name:"ArrowDown",__name:"arrow-down",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z"})]))}}),Bo=$E,TE=A({name:"ArrowLeftBold",__name:"arrow-left-bold",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M685.248 104.704a64 64 0 0 1 0 90.496L368.448 512l316.8 316.8a64 64 0 0 1-90.496 90.496L232.704 557.248a64 64 0 0 1 0-90.496l362.048-362.048a64 64 0 0 1 90.496 0z"})]))}}),AE=TE,OE=A({name:"ArrowLeft",__name:"arrow-left",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"})]))}}),aa=OE,NE=A({name:"ArrowRightBold",__name:"arrow-right-bold",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M338.752 104.704a64 64 0 0 0 0 90.496l316.8 316.8-316.8 316.8a64 64 0 0 0 90.496 90.496l362.048-362.048a64 64 0 0 0 0-90.496L429.248 104.704a64 64 0 0 0-90.496 0z"})]))}}),IE=NE,RE=A({name:"ArrowRight",__name:"arrow-right",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}}),Sn=RE,PE=A({name:"ArrowUpBold",__name:"arrow-up-bold",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M104.704 685.248a64 64 0 0 0 90.496 0l316.8-316.8 316.8 316.8a64 64 0 0 0 90.496-90.496L557.248 232.704a64 64 0 0 0-90.496 0L104.704 594.752a64 64 0 0 0 0 90.496z"})]))}}),LE=PE,VE=A({name:"ArrowUp",__name:"arrow-up",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}}),Cc=VE,BE=A({name:"Avatar",__name:"avatar",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M628.736 528.896A416 416 0 0 1 928 928H96a415.872 415.872 0 0 1 299.264-399.104L512 704zM720 304a208 208 0 1 1-416 0 208 208 0 0 1 416 0"})]))}}),zE=BE,HE=A({name:"Back",__name:"back",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64"}),k("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312z"})]))}}),Og=HE,DE=A({name:"Baseball",__name:"baseball",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M195.2 828.8a448 448 0 1 1 633.6-633.6 448 448 0 0 1-633.6 633.6zm45.248-45.248a384 384 0 1 0 543.104-543.104 384 384 0 0 0-543.104 543.104"}),k("path",{fill:"currentColor",d:"M497.472 96.896c22.784 4.672 44.416 9.472 64.896 14.528a256.128 256.128 0 0 0 350.208 350.208c5.056 20.48 9.856 42.112 14.528 64.896A320.128 320.128 0 0 1 497.472 96.896zM108.48 491.904a320.128 320.128 0 0 1 423.616 423.68c-23.04-3.648-44.992-7.424-65.728-11.52a256.128 256.128 0 0 0-346.496-346.432 1736.64 1736.64 0 0 1-11.392-65.728z"})]))}}),FE=DE,KE=A({name:"Basketball",__name:"basketball",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M778.752 788.224a382.464 382.464 0 0 0 116.032-245.632 256.512 256.512 0 0 0-241.728-13.952 762.88 762.88 0 0 1 125.696 259.584zm-55.04 44.224a699.648 699.648 0 0 0-125.056-269.632 256.128 256.128 0 0 0-56.064 331.968 382.72 382.72 0 0 0 181.12-62.336m-254.08 61.248A320.128 320.128 0 0 1 557.76 513.6a715.84 715.84 0 0 0-48.192-48.128 320.128 320.128 0 0 1-379.264 88.384 382.4 382.4 0 0 0 110.144 229.696 382.4 382.4 0 0 0 229.184 110.08zM129.28 481.088a256.128 256.128 0 0 0 331.072-56.448 699.648 699.648 0 0 0-268.8-124.352 382.656 382.656 0 0 0-62.272 180.8m106.56-235.84a762.88 762.88 0 0 1 258.688 125.056 256.512 256.512 0 0 0-13.44-241.088A382.464 382.464 0 0 0 235.84 245.248zm318.08-114.944c40.576 89.536 37.76 193.92-8.448 281.344a779.84 779.84 0 0 1 66.176 66.112 320.832 320.832 0 0 1 282.112-8.128 382.4 382.4 0 0 0-110.144-229.12 382.4 382.4 0 0 0-229.632-110.208zM828.8 828.8a448 448 0 1 1-633.6-633.6 448 448 0 0 1 633.6 633.6"})]))}}),WE=KE,jE=A({name:"BellFilled",__name:"bell-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M640 832a128 128 0 0 1-256 0zm192-64H134.4a38.4 38.4 0 0 1 0-76.8H192V448c0-154.88 110.08-284.16 256.32-313.6a64 64 0 1 1 127.36 0A320.128 320.128 0 0 1 832 448v243.2h57.6a38.4 38.4 0 0 1 0 76.8z"})]))}}),qE=jE,UE=A({name:"Bell",__name:"bell",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64"}),k("path",{fill:"currentColor",d:"M256 768h512V448a256 256 0 1 0-512 0zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320"}),k("path",{fill:"currentColor",d:"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32m352 128h128a64 64 0 0 1-128 0"})]))}}),YE=UE,GE=A({name:"Bicycle",__name:"bicycle",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 832a128 128 0 1 0 0-256 128 128 0 0 0 0 256m0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384"}),k("path",{fill:"currentColor",d:"M288 672h320q32 0 32 32t-32 32H288q-32 0-32-32t32-32"}),k("path",{fill:"currentColor",d:"M768 832a128 128 0 1 0 0-256 128 128 0 0 0 0 256m0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384"}),k("path",{fill:"currentColor",d:"M480 192a32 32 0 0 1 0-64h160a32 32 0 0 1 31.04 24.256l96 384a32 32 0 0 1-62.08 15.488L615.04 192zM96 384a32 32 0 0 1 0-64h128a32 32 0 0 1 30.336 21.888l64 192a32 32 0 1 1-60.672 20.224L200.96 384z"}),k("path",{fill:"currentColor",d:"m373.376 599.808-42.752-47.616 320-288 42.752 47.616z"})]))}}),XE=GE,JE=A({name:"BottomLeft",__name:"bottom-left",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 768h416a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V352a32 32 0 0 1 64 0z"}),k("path",{fill:"currentColor",d:"M246.656 822.656a32 32 0 0 1-45.312-45.312l544-544a32 32 0 0 1 45.312 45.312l-544 544z"})]))}}),ZE=JE,QE=A({name:"BottomRight",__name:"bottom-right",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M352 768a32 32 0 1 0 0 64h448a32 32 0 0 0 32-32V352a32 32 0 0 0-64 0v416z"}),k("path",{fill:"currentColor",d:"M777.344 822.656a32 32 0 0 0 45.312-45.312l-544-544a32 32 0 0 0-45.312 45.312z"})]))}}),ex=QE,tx=A({name:"Bottom",__name:"bottom",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"})]))}}),nx=tx,ox=A({name:"Bowl",__name:"bowl",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M714.432 704a351.744 351.744 0 0 0 148.16-256H161.408a351.744 351.744 0 0 0 148.16 256zM288 766.592A415.68 415.68 0 0 1 96 416a32 32 0 0 1 32-32h768a32 32 0 0 1 32 32 415.68 415.68 0 0 1-192 350.592V832a64 64 0 0 1-64 64H352a64 64 0 0 1-64-64zM493.248 320h-90.496l254.4-254.4a32 32 0 1 1 45.248 45.248zm187.328 0h-128l269.696-155.712a32 32 0 0 1 32 55.424zM352 768v64h320v-64z"})]))}}),ax=ox,rx=A({name:"Box",__name:"box",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M317.056 128 128 344.064V896h768V344.064L706.944 128zm-14.528-64h418.944a32 32 0 0 1 24.064 10.88l206.528 236.096A32 32 0 0 1 960 332.032V928a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V332.032a32 32 0 0 1 7.936-21.12L278.4 75.008A32 32 0 0 1 302.528 64z"}),k("path",{fill:"currentColor",d:"M64 320h896v64H64z"}),k("path",{fill:"currentColor",d:"M448 327.872V640h128V327.872L526.08 128h-28.16zM448 64h128l64 256v352a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V320z"})]))}}),lx=rx,sx=A({name:"Briefcase",__name:"briefcase",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M320 320V128h384v192h192v192H128V320zM128 576h768v320H128zm256-256h256.064V192H384z"})]))}}),ix=sx,ux=A({name:"BrushFilled",__name:"brush-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M608 704v160a96 96 0 0 1-192 0V704h-96a128 128 0 0 1-128-128h640a128 128 0 0 1-128 128zM192 512V128.064h640V512z"})]))}}),cx=ux,dx=A({name:"Brush",__name:"brush",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M896 448H128v192a64 64 0 0 0 64 64h192v192h256V704h192a64 64 0 0 0 64-64zm-770.752-64c0-47.552 5.248-90.24 15.552-128 14.72-54.016 42.496-107.392 83.2-160h417.28l-15.36 70.336L736 96h211.2c-24.832 42.88-41.92 96.256-51.2 160a663.872 663.872 0 0 0-6.144 128H960v256a128 128 0 0 1-128 128H704v160a32 32 0 0 1-32 32H352a32 32 0 0 1-32-32V768H192A128 128 0 0 1 64 640V384h61.248zm64 0h636.544c-2.048-45.824.256-91.584 6.848-137.216 4.48-30.848 10.688-59.776 18.688-86.784h-96.64l-221.12 141.248L561.92 160H256.512c-25.856 37.888-43.776 75.456-53.952 112.832-8.768 32.064-13.248 69.12-13.312 111.168z"})]))}}),fx=dx,px=A({name:"Burger",__name:"burger",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M160 512a32 32 0 0 0-32 32v64a32 32 0 0 0 30.08 32H864a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32zm736-58.56A96 96 0 0 1 960 544v64a96 96 0 0 1-51.968 85.312L855.36 833.6a96 96 0 0 1-89.856 62.272H258.496A96 96 0 0 1 168.64 833.6l-52.608-140.224A96 96 0 0 1 64 608v-64a96 96 0 0 1 64-90.56V448a384 384 0 1 1 768 5.44M832 448a320 320 0 0 0-640 0zM512 704H188.352l40.192 107.136a32 32 0 0 0 29.952 20.736h507.008a32 32 0 0 0 29.952-20.736L835.648 704z"})]))}}),vx=px,hx=A({name:"Calendar",__name:"calendar",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64"})]))}}),Ng=hx,mx=A({name:"CameraFilled",__name:"camera-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M160 224a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h704a64 64 0 0 0 64-64V288a64 64 0 0 0-64-64H748.416l-46.464-92.672A64 64 0 0 0 644.736 96H379.328a64 64 0 0 0-57.216 35.392L275.776 224zm352 435.2a115.2 115.2 0 1 0 0-230.4 115.2 115.2 0 0 0 0 230.4m0 140.8a256 256 0 1 1 0-512 256 256 0 0 1 0 512"})]))}}),gx=mx,yx=A({name:"Camera",__name:"camera",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M896 256H128v576h768zm-199.424-64-32.064-64h-304.96l-32 64zM96 192h160l46.336-92.608A64 64 0 0 1 359.552 64h304.96a64 64 0 0 1 57.216 35.328L768.192 192H928a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32m416 512a160 160 0 1 0 0-320 160 160 0 0 0 0 320m0 64a224 224 0 1 1 0-448 224 224 0 0 1 0 448"})]))}}),_x=yx,bx=A({name:"CaretBottom",__name:"caret-bottom",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m192 384 320 384 320-384z"})]))}}),wx=bx,Cx=A({name:"CaretLeft",__name:"caret-left",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M672 192 288 511.936 672 832z"})]))}}),Sx=Cx,kx=A({name:"CaretRight",__name:"caret-right",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"})]))}}),r2=kx,Ex=A({name:"CaretTop",__name:"caret-top",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 320 192 704h639.936z"})]))}}),Ig=Ex,xx=A({name:"Cellphone",__name:"cellphone",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 128a64 64 0 0 0-64 64v640a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h512a128 128 0 0 1 128 128v640a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V192A128 128 0 0 1 256 64m128 128h256a32 32 0 1 1 0 64H384a32 32 0 0 1 0-64m128 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128"})]))}}),Mx=xx,$x=A({name:"ChatDotRound",__name:"chat-dot-round",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z"}),k("path",{fill:"currentColor",d:"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4"})]))}}),Tx=$x,Ax=A({name:"ChatDotSquare",__name:"chat-dot-square",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128z"}),k("path",{fill:"currentColor",d:"M512 499.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4z"})]))}}),Ox=Ax,Nx=A({name:"ChatLineRound",__name:"chat-line-round",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z"}),k("path",{fill:"currentColor",d:"M352 576h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32m32-192h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32"})]))}}),Ix=Nx,Rx=A({name:"ChatLineSquare",__name:"chat-line-square",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M160 826.88 273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128z"}),k("path",{fill:"currentColor",d:"M352 512h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32m0-192h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32"})]))}}),Px=Rx,Lx=A({name:"ChatRound",__name:"chat-round",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m174.72 855.68 130.048-43.392 23.424 11.392C382.4 849.984 444.352 864 512 864c223.744 0 384-159.872 384-352 0-192.832-159.104-352-384-352S128 319.168 128 512a341.12 341.12 0 0 0 69.248 204.288l21.632 28.8-44.16 110.528zm-45.248 82.56A32 32 0 0 1 89.6 896l56.512-141.248A405.12 405.12 0 0 1 64 512C64 299.904 235.648 96 512 96s448 203.904 448 416-173.44 416-448 416c-79.68 0-150.848-17.152-211.712-46.72l-170.88 56.96z"})]))}}),Vx=Lx,Bx=A({name:"ChatSquare",__name:"chat-square",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128z"})]))}}),zx=Bx,Hx=A({name:"Check",__name:"check",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}}),Bl=Hx,Dx=A({name:"Checked",__name:"checked",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160.064v64H704zM311.616 537.28l-45.312 45.248L447.36 763.52l316.8-316.8-45.312-45.184L447.36 673.024zM384 192V96h256v96z"})]))}}),Fx=Dx,Kx=A({name:"Cherry",__name:"cherry",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M261.056 449.6c13.824-69.696 34.88-128.96 63.36-177.728 23.744-40.832 61.12-88.64 112.256-143.872H320a32 32 0 0 1 0-64h384a32 32 0 1 1 0 64H554.752c14.912 39.168 41.344 86.592 79.552 141.76 47.36 68.48 84.8 106.752 106.304 114.304a224 224 0 1 1-84.992 14.784c-22.656-22.912-47.04-53.76-73.92-92.608-38.848-56.128-67.008-105.792-84.352-149.312-55.296 58.24-94.528 107.52-117.76 147.2-23.168 39.744-41.088 88.768-53.568 147.072a224.064 224.064 0 1 1-64.96-1.6zM288 832a160 160 0 1 0 0-320 160 160 0 0 0 0 320m448-64a160 160 0 1 0 0-320 160 160 0 0 0 0 320"})]))}}),Wx=Kx,jx=A({name:"Chicken",__name:"chicken",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M349.952 716.992 478.72 588.16a106.688 106.688 0 0 1-26.176-19.072 106.688 106.688 0 0 1-19.072-26.176L304.704 671.744c.768 3.072 1.472 6.144 2.048 9.216l2.048 31.936 31.872 1.984c3.136.64 6.208 1.28 9.28 2.112zm57.344 33.152a128 128 0 1 1-216.32 114.432l-1.92-32-32-1.92a128 128 0 1 1 114.432-216.32L416.64 469.248c-2.432-101.44 58.112-239.104 149.056-330.048 107.328-107.328 231.296-85.504 316.8 0 85.44 85.44 107.328 209.408 0 316.8-91.008 90.88-228.672 151.424-330.112 149.056L407.296 750.08zm90.496-226.304c49.536 49.536 233.344-7.04 339.392-113.088 78.208-78.208 63.232-163.072 0-226.304-63.168-63.232-148.032-78.208-226.24 0C504.896 290.496 448.32 474.368 497.792 523.84M244.864 708.928a64 64 0 1 0-59.84 59.84l56.32-3.52zm8.064 127.68a64 64 0 1 0 59.84-59.84l-56.32 3.52-3.52 56.32z"})]))}}),qx=jx,Ux=A({name:"ChromeFilled",__name:"chrome-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M938.67 512.01c0-44.59-6.82-87.6-19.54-128H682.67a212.372 212.372 0 0 1 42.67 128c.06 38.71-10.45 76.7-30.42 109.87l-182.91 316.8c235.65-.01 426.66-191.02 426.66-426.67z"}),k("path",{fill:"currentColor",d:"M576.79 401.63a127.92 127.92 0 0 0-63.56-17.6c-22.36-.22-44.39 5.43-63.89 16.38s-35.79 26.82-47.25 46.02a128.005 128.005 0 0 0-2.16 127.44l1.24 2.13a127.906 127.906 0 0 0 46.36 46.61 127.907 127.907 0 0 0 63.38 17.44c22.29.2 44.24-5.43 63.68-16.33a127.94 127.94 0 0 0 47.16-45.79v-.01l1.11-1.92a127.984 127.984 0 0 0 .29-127.46 127.957 127.957 0 0 0-46.36-46.91"}),k("path",{fill:"currentColor",d:"M394.45 333.96A213.336 213.336 0 0 1 512 298.67h369.58A426.503 426.503 0 0 0 512 85.34a425.598 425.598 0 0 0-171.74 35.98 425.644 425.644 0 0 0-142.62 102.22l118.14 204.63a213.397 213.397 0 0 1 78.67-94.21m117.56 604.72H512zm-97.25-236.73a213.284 213.284 0 0 1-89.54-86.81L142.48 298.6c-36.35 62.81-57.13 135.68-57.13 213.42 0 203.81 142.93 374.22 333.95 416.55h.04l118.19-204.71a213.315 213.315 0 0 1-122.77-21.91z"})]))}}),Yx=Ux,Gx=A({name:"CircleCheckFilled",__name:"circle-check-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),Rg=Gx,Xx=A({name:"CircleCheck",__name:"circle-check",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),k("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z"})]))}}),Sc=Xx,Jx=A({name:"CircleCloseFilled",__name:"circle-close-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}}),kc=Jx,Zx=A({name:"CircleClose",__name:"circle-close",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),k("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),fa=Zx,Qx=A({name:"CirclePlusFilled",__name:"circle-plus-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0v147.2z"})]))}}),eM=Qx,tM=A({name:"CirclePlus",__name:"circle-plus",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64"}),k("path",{fill:"currentColor",d:"M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0"}),k("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),nM=tM,oM=A({name:"Clock",__name:"clock",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),k("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"}),k("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32"})]))}}),l2=oM,aM=A({name:"CloseBold",__name:"close-bold",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z"})]))}}),rM=aM,lM=A({name:"Close",__name:"close",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),uo=lM,sM=A({name:"Cloudy",__name:"cloudy",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M598.4 831.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 831.872m-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 381.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z"})]))}}),iM=sM,uM=A({name:"CoffeeCup",__name:"coffee-cup",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M768 192a192 192 0 1 1-8 383.808A256.128 256.128 0 0 1 512 768H320A256 256 0 0 1 64 512V160a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 64v256a128 128 0 1 0 0-256M96 832h640a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64m32-640v320a192 192 0 0 0 192 192h192a192 192 0 0 0 192-192V192z"})]))}}),cM=uM,dM=A({name:"Coffee",__name:"coffee",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M822.592 192h14.272a32 32 0 0 1 31.616 26.752l21.312 128A32 32 0 0 1 858.24 384h-49.344l-39.04 546.304A32 32 0 0 1 737.92 960H285.824a32 32 0 0 1-32-29.696L214.912 384H165.76a32 32 0 0 1-31.552-37.248l21.312-128A32 32 0 0 1 187.136 192h14.016l-6.72-93.696A32 32 0 0 1 226.368 64h571.008a32 32 0 0 1 31.936 34.304zm-64.128 0 4.544-64H260.736l4.544 64h493.184m-548.16 128H820.48l-10.688-64H214.208l-10.688 64h6.784m68.736 64 36.544 512H708.16l36.544-512z"})]))}}),fM=dM,pM=A({name:"Coin",__name:"coin",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z"}),k("path",{fill:"currentColor",d:"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z"}),k("path",{fill:"currentColor",d:"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224m0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160"})]))}}),vM=pM,hM=A({name:"ColdDrink",__name:"cold-drink",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M768 64a192 192 0 1 1-69.952 370.88L480 725.376V896h96a32 32 0 1 1 0 64H320a32 32 0 1 1 0-64h96V725.376L76.8 273.536a64 64 0 0 1-12.8-38.4v-10.688a32 32 0 0 1 32-32h71.808l-65.536-83.84a32 32 0 0 1 50.432-39.424l96.256 123.264h337.728A192.064 192.064 0 0 1 768 64M656.896 192.448H800a32 32 0 0 1 32 32v10.624a64 64 0 0 1-12.8 38.4l-80.448 107.2a128 128 0 1 0-81.92-188.16v-.064zm-357.888 64 129.472 165.76a32 32 0 0 1-50.432 39.36l-160.256-205.12H144l304 404.928 304-404.928z"})]))}}),mM=hM,gM=A({name:"CollectionTag",__name:"collection-tag",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 128v698.88l196.032-156.864a96 96 0 0 1 119.936 0L768 826.816V128zm-32-64h576a32 32 0 0 1 32 32v797.44a32 32 0 0 1-51.968 24.96L531.968 720a32 32 0 0 0-39.936 0L243.968 918.4A32 32 0 0 1 192 893.44V96a32 32 0 0 1 32-32"})]))}}),yM=gM,_M=A({name:"Collection",__name:"collection",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M192 736h640V128H256a64 64 0 0 0-64 64zm64-672h608a32 32 0 0 1 32 32v672a32 32 0 0 1-32 32H160l-32 57.536V192A128 128 0 0 1 256 64"}),k("path",{fill:"currentColor",d:"M240 800a48 48 0 1 0 0 96h592v-96zm0-64h656v160a64 64 0 0 1-64 64H240a112 112 0 0 1 0-224m144-608v250.88l96-76.8 96 76.8V128zm-64-64h320v381.44a32 32 0 0 1-51.968 24.96L480 384l-108.032 86.4A32 32 0 0 1 320 445.44z"})]))}}),bM=_M,wM=A({name:"Comment",__name:"comment",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M736 504a56 56 0 1 1 0-112 56 56 0 0 1 0 112m-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112m-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112M128 128v640h192v160l224-160h352V128z"})]))}}),CM=wM,SM=A({name:"Compass",__name:"compass",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),k("path",{fill:"currentColor",d:"M725.888 315.008C676.48 428.672 624 513.28 568.576 568.64c-55.424 55.424-139.968 107.904-253.568 157.312a12.8 12.8 0 0 1-16.896-16.832c49.536-113.728 102.016-198.272 157.312-253.632 55.36-55.296 139.904-107.776 253.632-157.312a12.8 12.8 0 0 1 16.832 16.832"})]))}}),kM=SM,EM=A({name:"Connection",__name:"connection",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M640 384v64H448a128 128 0 0 0-128 128v128a128 128 0 0 0 128 128h320a128 128 0 0 0 128-128V576a128 128 0 0 0-64-110.848V394.88c74.56 26.368 128 97.472 128 181.056v128a192 192 0 0 1-192 192H448a192 192 0 0 1-192-192V576a192 192 0 0 1 192-192z"}),k("path",{fill:"currentColor",d:"M384 640v-64h192a128 128 0 0 0 128-128V320a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128v128a128 128 0 0 0 64 110.848v70.272A192.064 192.064 0 0 1 64 448V320a192 192 0 0 1 192-192h320a192 192 0 0 1 192 192v128a192 192 0 0 1-192 192z"})]))}}),xM=EM,MM=A({name:"Coordinate",__name:"coordinate",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M480 512h64v320h-64z"}),k("path",{fill:"currentColor",d:"M192 896h640a64 64 0 0 0-64-64H256a64 64 0 0 0-64 64m64-128h512a128 128 0 0 1 128 128v64H128v-64a128 128 0 0 1 128-128m256-256a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512"})]))}}),$M=MM,TM=A({name:"CopyDocument",__name:"copy-document",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64z"}),k("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64"})]))}}),AM=TM,OM=A({name:"Cpu",__name:"cpu",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128"}),k("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32M64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32"})]))}}),NM=OM,IM=A({name:"CreditCard",__name:"credit-card",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M896 324.096c0-42.368-2.496-55.296-9.536-68.48a52.352 52.352 0 0 0-22.144-22.08c-13.12-7.04-26.048-9.536-68.416-9.536H228.096c-42.368 0-55.296 2.496-68.48 9.536a52.352 52.352 0 0 0-22.08 22.144c-7.04 13.12-9.536 26.048-9.536 68.416v375.808c0 42.368 2.496 55.296 9.536 68.48a52.352 52.352 0 0 0 22.144 22.08c13.12 7.04 26.048 9.536 68.416 9.536h567.808c42.368 0 55.296-2.496 68.48-9.536a52.352 52.352 0 0 0 22.08-22.144c7.04-13.12 9.536-26.048 9.536-68.416zm64 0v375.808c0 57.088-5.952 77.76-17.088 98.56-11.136 20.928-27.52 37.312-48.384 48.448-20.864 11.136-41.6 17.088-98.56 17.088H228.032c-57.088 0-77.76-5.952-98.56-17.088a116.288 116.288 0 0 1-48.448-48.384c-11.136-20.864-17.088-41.6-17.088-98.56V324.032c0-57.088 5.952-77.76 17.088-98.56 11.136-20.928 27.52-37.312 48.384-48.448 20.864-11.136 41.6-17.088 98.56-17.088H795.84c57.088 0 77.76 5.952 98.56 17.088 20.928 11.136 37.312 27.52 48.448 48.384 11.136 20.864 17.088 41.6 17.088 98.56z"}),k("path",{fill:"currentColor",d:"M64 320h896v64H64zm0 128h896v64H64zm128 192h256v64H192z"})]))}}),RM=IM,PM=A({name:"Crop",__name:"crop",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 768h672a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V96a32 32 0 0 1 64 0z"}),k("path",{fill:"currentColor",d:"M832 224v704a32 32 0 1 1-64 0V256H96a32 32 0 0 1 0-64h704a32 32 0 0 1 32 32"})]))}}),LM=PM,VM=A({name:"DArrowLeft",__name:"d-arrow-left",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224zm256 0a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224z"})]))}}),Mr=VM,BM=A({name:"DArrowRight",__name:"d-arrow-right",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L764.736 512 452.864 192a30.592 30.592 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L508.736 512 196.864 192a30.592 30.592 0 0 1 0-42.688z"})]))}}),$r=BM,zM=A({name:"DCaret",__name:"d-caret",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m512 128 288 320H224zM224 576h576L512 896z"})]))}}),HM=zM,DM=A({name:"DataAnalysis",__name:"data-analysis",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m665.216 768 110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32l110.848-192H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32zM832 192H192v512h640zM352 448a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0v-64a32 32 0 0 1 32-32m160-64a32 32 0 0 1 32 32v128a32 32 0 0 1-64 0V416a32 32 0 0 1 32-32m160-64a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V352a32 32 0 0 1 32-32"})]))}}),FM=DM,KM=A({name:"DataBoard",__name:"data-board",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M32 128h960v64H32z"}),k("path",{fill:"currentColor",d:"M192 192v512h640V192zm-64-64h768v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32z"}),k("path",{fill:"currentColor",d:"M322.176 960H248.32l144.64-250.56 55.424 32zm453.888 0h-73.856L576 741.44l55.424-32z"})]))}}),WM=KM,jM=A({name:"DataLine",__name:"data-line",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M359.168 768H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32H665.216l110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32zM832 192H192v512h640zM342.656 534.656a32 32 0 1 1-45.312-45.312L444.992 341.76l125.44 94.08L679.04 300.032a32 32 0 1 1 49.92 39.936L581.632 524.224 451.008 426.24 342.656 534.592z"})]))}}),qM=jM,UM=A({name:"DeleteFilled",__name:"delete-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M352 192V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64H96a32 32 0 0 1 0-64zm64 0h192v-64H416zM192 960a32 32 0 0 1-32-32V256h704v672a32 32 0 0 1-32 32zm224-192a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32m192 0a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32"})]))}}),YM=UM,GM=A({name:"DeleteLocation",__name:"delete-location",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32"}),k("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),k("path",{fill:"currentColor",d:"M384 384h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32"})]))}}),XM=GM,JM=A({name:"Delete",__name:"delete",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),Pg=JM,ZM=A({name:"Dessert",__name:"dessert",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 416v-48a144 144 0 0 1 168.64-141.888 224.128 224.128 0 0 1 430.72 0A144 144 0 0 1 896 368v48a384 384 0 0 1-352 382.72V896h-64v-97.28A384 384 0 0 1 128 416m287.104-32.064h193.792a143.808 143.808 0 0 1 58.88-132.736 160.064 160.064 0 0 0-311.552 0 143.808 143.808 0 0 1 58.88 132.8zm-72.896 0a72 72 0 1 0-140.48 0h140.48m339.584 0h140.416a72 72 0 1 0-140.48 0zM512 736a320 320 0 0 0 318.4-288.064H193.6A320 320 0 0 0 512 736M384 896.064h256a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64"})]))}}),QM=ZM,e$=A({name:"Discount",__name:"discount",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M224 704h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0L224 318.336zm0 64v128h576V768zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0"}),k("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"})]))}}),t$=e$,n$=A({name:"DishDot",__name:"dish-dot",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m384.064 274.56.064-50.688A128 128 0 0 1 512.128 96c70.528 0 127.68 57.152 127.68 127.68v50.752A448.192 448.192 0 0 1 955.392 768H68.544A448.192 448.192 0 0 1 384 274.56zM96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64m32-128h768a384 384 0 1 0-768 0m447.808-448v-32.32a63.68 63.68 0 0 0-63.68-63.68 64 64 0 0 0-64 63.936V256z"})]))}}),o$=n$,a$=A({name:"Dish",__name:"dish",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M480 257.152V192h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64h-96v65.152A448 448 0 0 1 955.52 768H68.48A448 448 0 0 1 480 257.152M128 704h768a384 384 0 1 0-768 0M96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64"})]))}}),r$=a$,l$=A({name:"DocumentAdd",__name:"document-add",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m320 512V448h64v128h128v64H544v128h-64V640H352v-64z"})]))}}),s$=l$,i$=A({name:"DocumentChecked",__name:"document-checked",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320zM832 384H576V128H192v768h640zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m318.4 582.144 180.992-180.992L704.64 510.4 478.4 736.64 320 578.304l45.248-45.312z"})]))}}),u$=i$,c$=A({name:"DocumentCopy",__name:"document-copy",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 320v576h576V320zm-32-64h640a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32M960 96v704a32 32 0 0 1-32 32h-96v-64h64V128H384v64h-64V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32M256 672h320v64H256zm0-192h320v64H256z"})]))}}),d$=c$,f$=A({name:"DocumentDelete",__name:"document-delete",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320zM832 384H576V128H192v768h640zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m308.992 546.304-90.496-90.624 45.248-45.248 90.56 90.496 90.496-90.432 45.248 45.248-90.496 90.56 90.496 90.496-45.248 45.248-90.496-90.496-90.56 90.496-45.248-45.248 90.496-90.496z"})]))}}),p$=f$,v$=A({name:"DocumentRemove",__name:"document-remove",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320zM832 384H576V128H192v768h640zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m192 512h320v64H352z"})]))}}),h$=v$,m$=A({name:"Document",__name:"document",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),Lg=m$,g$=A({name:"Download",__name:"download",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m384-253.696 236.288-236.352 45.248 45.248L508.8 704 192 387.2l45.248-45.248L480 584.704V128h64z"})]))}}),y$=g$,_$=A({name:"Drizzling",__name:"drizzling",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480M288 800h64v64h-64zm192 0h64v64h-64zm-96 96h64v64h-64zm192 0h64v64h-64zm96-96h64v64h-64z"})]))}}),b$=_$,w$=A({name:"EditPen",__name:"edit-pen",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696zM455.04 229.248l193.92 112 56.704-98.112-193.984-112-56.64 98.112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336zm384 254.272v-64h448v64h-448z"})]))}}),C$=w$,S$=A({name:"Edit",__name:"edit",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640z"}),k("path",{fill:"currentColor",d:"m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z"})]))}}),k$=S$,E$=A({name:"ElemeFilled",__name:"eleme-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M176 64h672c61.824 0 112 50.176 112 112v672a112 112 0 0 1-112 112H176A112 112 0 0 1 64 848V176c0-61.824 50.176-112 112-112m150.528 173.568c-152.896 99.968-196.544 304.064-97.408 456.96a330.688 330.688 0 0 0 456.96 96.64c9.216-5.888 17.6-11.776 25.152-18.56a18.24 18.24 0 0 0 4.224-24.32L700.352 724.8a47.552 47.552 0 0 0-65.536-14.272A234.56 234.56 0 0 1 310.592 641.6C240 533.248 271.104 387.968 379.456 316.48a234.304 234.304 0 0 1 276.352 15.168c1.664.832 2.56 2.56 3.392 4.224 5.888 8.384 3.328 19.328-5.12 25.216L456.832 489.6a47.552 47.552 0 0 0-14.336 65.472l16 24.384c5.888 8.384 16.768 10.88 25.216 5.056l308.224-199.936a19.584 19.584 0 0 0 6.72-23.488v-.896c-4.992-9.216-10.048-17.6-15.104-26.88-99.968-151.168-304.064-194.88-456.96-95.744zM786.88 504.704l-62.208 40.32c-8.32 5.888-10.88 16.768-4.992 25.216L760 632.32c5.888 8.448 16.768 11.008 25.152 5.12l31.104-20.16a55.36 55.36 0 0 0 16-76.48l-20.224-31.04a19.52 19.52 0 0 0-25.152-5.12z"})]))}}),x$=E$,M$=A({name:"Eleme",__name:"eleme",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M300.032 188.8c174.72-113.28 408-63.36 522.24 109.44 5.76 10.56 11.52 20.16 17.28 30.72v.96a22.4 22.4 0 0 1-7.68 26.88l-352.32 228.48c-9.6 6.72-22.08 3.84-28.8-5.76l-18.24-27.84a54.336 54.336 0 0 1 16.32-74.88l225.6-146.88c9.6-6.72 12.48-19.2 5.76-28.8-.96-1.92-1.92-3.84-3.84-4.8a267.84 267.84 0 0 0-315.84-17.28c-123.84 81.6-159.36 247.68-78.72 371.52a268.096 268.096 0 0 0 370.56 78.72 54.336 54.336 0 0 1 74.88 16.32l17.28 26.88c5.76 9.6 3.84 21.12-4.8 27.84-8.64 7.68-18.24 14.4-28.8 21.12a377.92 377.92 0 0 1-522.24-110.4c-113.28-174.72-63.36-408 111.36-522.24zm526.08 305.28a22.336 22.336 0 0 1 28.8 5.76l23.04 35.52a63.232 63.232 0 0 1-18.24 87.36l-35.52 23.04c-9.6 6.72-22.08 3.84-28.8-5.76l-46.08-71.04c-6.72-9.6-3.84-22.08 5.76-28.8l71.04-46.08z"})]))}}),$$=M$,T$=A({name:"ElementPlus",__name:"element-plus",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M839.7 734.7c0 33.3-17.9 41-17.9 41S519.7 949.8 499.2 960c-10.2 5.1-20.5 5.1-30.7 0 0 0-314.9-184.3-325.1-192-5.1-5.1-10.2-12.8-12.8-20.5V368.6c0-17.9 20.5-28.2 20.5-28.2L466 158.6c12.8-5.1 25.6-5.1 38.4 0 0 0 279 161.3 309.8 179.2 17.9 7.7 28.2 25.6 25.6 46.1-.1-5-.1 317.5-.1 350.8M714.2 371.2c-64-35.8-217.6-125.4-217.6-125.4-7.7-5.1-20.5-5.1-30.7 0L217.6 389.1s-17.9 10.2-17.9 23v297c0 5.1 5.1 12.8 7.7 17.9 7.7 5.1 256 148.5 256 148.5 7.7 5.1 17.9 5.1 25.6 0 15.4-7.7 250.9-145.9 250.9-145.9s12.8-5.1 12.8-30.7v-74.2l-276.5 169v-64c0-17.9 7.7-30.7 20.5-46.1L745 535c5.1-7.7 10.2-20.5 10.2-30.7v-66.6l-279 169v-69.1c0-15.4 5.1-30.7 17.9-38.4l220.1-128zM919 135.7c0-5.1-5.1-7.7-7.7-7.7h-58.9V66.6c0-5.1-5.1-5.1-10.2-5.1l-30.7 5.1c-5.1 0-5.1 2.6-5.1 5.1V128h-56.3c-5.1 0-5.1 5.1-7.7 5.1v38.4h69.1v64c0 5.1 5.1 5.1 10.2 5.1l30.7-5.1c5.1 0 5.1-2.6 5.1-5.1v-56.3h64l-2.5-38.4z"})]))}}),A$=T$,O$=A({name:"Expand",__name:"expand",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 192h768v128H128zm0 256h512v128H128zm0 256h768v128H128zm576-352 192 160-192 128z"})]))}}),N$=O$,I$=A({name:"Failed",__name:"failed",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m557.248 608 135.744-135.744-45.248-45.248-135.68 135.744-135.808-135.68-45.248 45.184L466.752 608l-135.68 135.68 45.184 45.312L512 653.248l135.744 135.744 45.248-45.248L557.312 608zM704 192h160v736H160V192h160v64h384zm-320 0V96h256v96z"})]))}}),R$=I$,P$=A({name:"Female",__name:"female",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 640a256 256 0 1 0 0-512 256 256 0 0 0 0 512m0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640"}),k("path",{fill:"currentColor",d:"M512 640q32 0 32 32v256q0 32-32 32t-32-32V672q0-32 32-32"}),k("path",{fill:"currentColor",d:"M352 800h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32"})]))}}),L$=P$,V$=A({name:"Files",__name:"files",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 384v448h768V384zm-32-64h832a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32m64-128h704v64H160zm96-128h512v64H256z"})]))}}),B$=V$,z$=A({name:"Film",__name:"film",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"}),k("path",{fill:"currentColor",d:"M320 288V128h64v352h256V128h64v160h160v64H704v128h160v64H704v128h160v64H704v160h-64V544H384v352h-64V736H128v-64h192V544H128v-64h192V352H128v-64z"})]))}}),H$=z$,D$=A({name:"Filter",__name:"filter",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M384 523.392V928a32 32 0 0 0 46.336 28.608l192-96A32 32 0 0 0 640 832V523.392l280.768-343.104a32 32 0 1 0-49.536-40.576l-288 352A32 32 0 0 0 576 512v300.224l-128 64V512a32 32 0 0 0-7.232-20.288L195.52 192H704a32 32 0 1 0 0-64H128a32 32 0 0 0-24.768 52.288z"})]))}}),F$=D$,K$=A({name:"Finished",__name:"finished",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M280.768 753.728 691.456 167.04a32 32 0 1 1 52.416 36.672L314.24 817.472a32 32 0 0 1-45.44 7.296l-230.4-172.8a32 32 0 0 1 38.4-51.2l203.968 152.96zM736 448a32 32 0 1 1 0-64h192a32 32 0 1 1 0 64zM608 640a32 32 0 0 1 0-64h319.936a32 32 0 1 1 0 64zM480 832a32 32 0 1 1 0-64h447.936a32 32 0 1 1 0 64z"})]))}}),W$=K$,j$=A({name:"FirstAidKit",__name:"first-aid-kit",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M192 256a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128"}),k("path",{fill:"currentColor",d:"M544 512h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0zM352 128v64h320v-64zm-32-64h384a32 32 0 0 1 32 32v128a32 32 0 0 1-32 32H320a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"})]))}}),q$=j$,U$=A({name:"Flag",__name:"flag",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M288 128h608L736 384l160 256H288v320h-96V64h96z"})]))}}),Y$=U$,G$=A({name:"Fold",__name:"fold",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M896 192H128v128h768zm0 256H384v128h512zm0 256H128v128h768zM320 384 128 512l192 128z"})]))}}),X$=G$,J$=A({name:"FolderAdd",__name:"folder-add",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m384 416V416h64v128h128v64H544v128h-64V608H352v-64z"})]))}}),Z$=J$,Q$=A({name:"FolderChecked",__name:"folder-checked",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m414.08 502.144 180.992-180.992L736.32 494.4 510.08 720.64l-158.4-158.336 45.248-45.312z"})]))}}),eT=Q$,tT=A({name:"FolderDelete",__name:"folder-delete",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m370.752 448-90.496-90.496 45.248-45.248L512 530.752l90.496-90.496 45.248 45.248L557.248 576l90.496 90.496-45.248 45.248L512 621.248l-90.496 90.496-45.248-45.248z"})]))}}),nT=tT,oT=A({name:"FolderOpened",__name:"folder-opened",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M878.08 448H241.92l-96 384h636.16l96-384zM832 384v-64H485.76L357.504 192H128v448l57.92-231.744A32 32 0 0 1 216.96 384zm-24.96 512H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h287.872l128.384 128H864a32 32 0 0 1 32 32v96h23.04a32 32 0 0 1 31.04 39.744l-112 448A32 32 0 0 1 807.04 896"})]))}}),aT=oT,rT=A({name:"FolderRemove",__name:"folder-remove",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m256 416h320v64H352z"})]))}}),lT=rT,sT=A({name:"Folder",__name:"folder",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32"})]))}}),iT=sT,uT=A({name:"Food",__name:"food",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 352.576V352a288 288 0 0 1 491.072-204.224 192 192 0 0 1 274.24 204.48 64 64 0 0 1 57.216 74.24C921.6 600.512 850.048 710.656 736 756.992V800a96 96 0 0 1-96 96H384a96 96 0 0 1-96-96v-43.008c-114.048-46.336-185.6-156.48-214.528-330.496A64 64 0 0 1 128 352.64zm64-.576h64a160 160 0 0 1 320 0h64a224 224 0 0 0-448 0m128 0h192a96 96 0 0 0-192 0m439.424 0h68.544A128.256 128.256 0 0 0 704 192c-15.36 0-29.952 2.688-43.52 7.616 11.328 18.176 20.672 37.76 27.84 58.304A64.128 64.128 0 0 1 759.424 352M672 768H352v32a32 32 0 0 0 32 32h256a32 32 0 0 0 32-32zm-342.528-64h365.056c101.504-32.64 165.76-124.928 192.896-288H136.576c27.136 163.072 91.392 255.36 192.896 288"})]))}}),cT=uT,dT=A({name:"Football",__name:"football",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896m0-64a384 384 0 1 0 0-768 384 384 0 0 0 0 768"}),k("path",{fill:"currentColor",d:"M186.816 268.288c16-16.384 31.616-31.744 46.976-46.08 17.472 30.656 39.808 58.112 65.984 81.28l-32.512 56.448a385.984 385.984 0 0 1-80.448-91.648zm653.696-5.312a385.92 385.92 0 0 1-83.776 96.96l-32.512-56.384a322.923 322.923 0 0 0 68.48-85.76c15.552 14.08 31.488 29.12 47.808 45.184zM465.984 445.248l11.136-63.104a323.584 323.584 0 0 0 69.76 0l11.136 63.104a387.968 387.968 0 0 1-92.032 0m-62.72-12.8A381.824 381.824 0 0 1 320 396.544l32-55.424a319.885 319.885 0 0 0 62.464 27.712l-11.2 63.488zm300.8-35.84a381.824 381.824 0 0 1-83.328 35.84l-11.2-63.552A319.885 319.885 0 0 0 672 341.184l32 55.424zm-520.768 364.8a385.92 385.92 0 0 1 83.968-97.28l32.512 56.32c-26.88 23.936-49.856 52.352-67.52 84.032-16-13.44-32.32-27.712-48.96-43.072zm657.536.128a1442.759 1442.759 0 0 1-49.024 43.072 321.408 321.408 0 0 0-67.584-84.16l32.512-56.32c33.216 27.456 61.696 60.352 84.096 97.408zM465.92 578.752a387.968 387.968 0 0 1 92.032 0l-11.136 63.104a323.584 323.584 0 0 0-69.76 0zm-62.72 12.8 11.2 63.552a319.885 319.885 0 0 0-62.464 27.712L320 627.392a381.824 381.824 0 0 1 83.264-35.84zm300.8 35.84-32 55.424a318.272 318.272 0 0 0-62.528-27.712l11.2-63.488c29.44 8.64 57.28 20.736 83.264 35.776z"})]))}}),fT=dT,pT=A({name:"ForkSpoon",__name:"fork-spoon",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 410.304V96a32 32 0 0 1 64 0v314.304a96 96 0 0 0 64-90.56V96a32 32 0 0 1 64 0v223.744a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.544a160 160 0 0 1-128-156.8V96a32 32 0 0 1 64 0v223.744a96 96 0 0 0 64 90.56zM672 572.48C581.184 552.128 512 446.848 512 320c0-141.44 85.952-256 192-256s192 114.56 192 256c0 126.848-69.184 232.128-160 252.48V928a32 32 0 1 1-64 0zM704 512c66.048 0 128-82.56 128-192s-61.952-192-128-192-128 82.56-128 192 61.952 192 128 192"})]))}}),vT=pT,hT=A({name:"Fries",__name:"fries",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M608 224v-64a32 32 0 0 0-64 0v336h26.88A64 64 0 0 0 608 484.096zm101.12 160A64 64 0 0 0 672 395.904V384h64V224a32 32 0 1 0-64 0v160zm74.88 0a92.928 92.928 0 0 1 91.328 110.08l-60.672 323.584A96 96 0 0 1 720.32 896H303.68a96 96 0 0 1-94.336-78.336L148.672 494.08A92.928 92.928 0 0 1 240 384h-16V224a96 96 0 0 1 188.608-25.28A95.744 95.744 0 0 1 480 197.44V160a96 96 0 0 1 188.608-25.28A96 96 0 0 1 800 224v160zM670.784 512a128 128 0 0 1-99.904 48H453.12a128 128 0 0 1-99.84-48H352v-1.536a128.128 128.128 0 0 1-9.984-14.976L314.88 448H240a28.928 28.928 0 0 0-28.48 34.304L241.088 640h541.824l29.568-157.696A28.928 28.928 0 0 0 784 448h-74.88l-27.136 47.488A132.405 132.405 0 0 1 672 510.464V512zM480 288a32 32 0 0 0-64 0v196.096A64 64 0 0 0 453.12 496H480zm-128 96V224a32 32 0 0 0-64 0v160zh-37.12A64 64 0 0 1 352 395.904zm-98.88 320 19.072 101.888A32 32 0 0 0 303.68 832h416.64a32 32 0 0 0 31.488-26.112L770.88 704z"})]))}}),mT=hT,gT=A({name:"FullScreen",__name:"full-screen",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64l192-.192zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),Vg=gT,yT=A({name:"GobletFull",__name:"goblet-full",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 320h512c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320m503.936 64H264.064a256.128 256.128 0 0 0 495.872 0zM544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4"})]))}}),_T=yT,bT=A({name:"GobletSquareFull",__name:"goblet-square-full",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 270.912c10.048 6.72 22.464 14.912 28.992 18.624a220.16 220.16 0 0 0 114.752 30.72c30.592 0 49.408-9.472 91.072-41.152l.64-.448c52.928-40.32 82.368-55.04 132.288-54.656 55.552.448 99.584 20.8 142.72 57.408l1.536 1.28V128H256v142.912zm.96 76.288C266.368 482.176 346.88 575.872 512 576c157.44.064 237.952-85.056 253.248-209.984a952.32 952.32 0 0 1-40.192-35.712c-32.704-27.776-63.36-41.92-101.888-42.24-31.552-.256-50.624 9.28-93.12 41.6l-.576.448c-52.096 39.616-81.024 54.208-129.792 54.208-54.784 0-100.48-13.376-142.784-37.056zM480 638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96z"})]))}}),wT=bT,CT=A({name:"GobletSquare",__name:"goblet-square",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M544 638.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912M256 319.68c0 149.568 80 256.192 256 256.256C688.128 576 768 469.568 768 320V128H256z"})]))}}),ST=CT,kT=A({name:"Goblet",__name:"goblet",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4M256 320a256 256 0 1 0 512 0c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320"})]))}}),ET=kT,xT=A({name:"GoldMedal",__name:"gold-medal",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m772.13 452.84 53.86-351.81c1.32-10.01-1.17-18.68-7.49-26.02S804.35 64 795.01 64H228.99v-.01h-.06c-9.33 0-17.15 3.67-23.49 11.01s-8.83 16.01-7.49 26.02l53.87 351.89C213.54 505.73 193.59 568.09 192 640c2 90.67 33.17 166.17 93.5 226.5S421.33 957.99 512 960c90.67-2 166.17-33.17 226.5-93.5 60.33-60.34 91.49-135.83 93.5-226.5-1.59-71.94-21.56-134.32-59.87-187.16zM640.01 128h117.02l-39.01 254.02c-20.75-10.64-40.74-19.73-59.94-27.28-5.92-3-11.95-5.8-18.08-8.41V128h.01zM576 128v198.76c-13.18-2.58-26.74-4.43-40.67-5.55-8.07-.8-15.85-1.2-23.33-1.2-10.54 0-21.09.66-31.64 1.96a359.844 359.844 0 0 0-32.36 4.79V128zm-192 0h.04v218.3c-6.22 2.66-12.34 5.5-18.36 8.56-19.13 7.54-39.02 16.6-59.66 27.16L267.01 128zm308.99 692.99c-48 48-108.33 73-180.99 75.01-72.66-2.01-132.99-27.01-180.99-75.01S258.01 712.66 256 640c2.01-72.66 27.01-132.99 75.01-180.99 19.67-19.67 41.41-35.47 65.22-47.41 38.33-15.04 71.15-23.92 98.44-26.65 5.07-.41 10.2-.7 15.39-.88.63-.01 1.28-.03 1.91-.03.66 0 1.35.03 2.02.04 5.11.17 10.15.46 15.13.86 27.4 2.71 60.37 11.65 98.91 26.79 23.71 11.93 45.36 27.69 64.96 47.29 48 48 73 108.33 75.01 180.99-2.01 72.65-27.01 132.98-75.01 180.98z"}),k("path",{fill:"currentColor",d:"M544 480H416v64h64v192h-64v64h192v-64h-64z"})]))}}),MT=xT,$T=A({name:"GoodsFilled",__name:"goods-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M192 352h640l64 544H128zm128 224h64V448h-64zm320 0h64V448h-64zM384 288h-64a192 192 0 1 1 384 0h-64a128 128 0 1 0-256 0"})]))}}),TT=$T,AT=A({name:"Goods",__name:"goods",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M320 288v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4h131.072a32 32 0 0 1 31.808 28.8l57.6 576a32 32 0 0 1-31.808 35.2H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320zm64 0h256v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4zm-64 64H217.92l-51.2 512h690.56l-51.264-512H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0z"})]))}}),OT=AT,NT=A({name:"Grape",__name:"grape",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M544 195.2a160 160 0 0 1 96 60.8 160 160 0 1 1 146.24 254.976 160 160 0 0 1-128 224 160 160 0 1 1-292.48 0 160 160 0 0 1-128-224A160 160 0 1 1 384 256a160 160 0 0 1 96-60.8V128h-64a32 32 0 0 1 0-64h192a32 32 0 0 1 0 64h-64zM512 448a96 96 0 1 0 0-192 96 96 0 0 0 0 192m-256 0a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192"})]))}}),IT=NT,RT=A({name:"Grid",__name:"grid",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M640 384v256H384V384zm64 0h192v256H704zm-64 512H384V704h256zm64 0V704h192v192zm-64-768v192H384V128zm64 0h192v192H704zM320 384v256H128V384zm0 512H128V704h192zm0-768v192H128V128z"})]))}}),PT=RT,LT=A({name:"Guide",__name:"guide",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M640 608h-64V416h64zm0 160v160a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V768h64v128h128V768zM384 608V416h64v192zm256-352h-64V128H448v128h-64V96a32 32 0 0 1 32-32h192a32 32 0 0 1 32 32z"}),k("path",{fill:"currentColor",d:"m220.8 256-71.232 80 71.168 80H768V256H220.8zm-14.4-64H800a32 32 0 0 1 32 32v224a32 32 0 0 1-32 32H206.4a32 32 0 0 1-23.936-10.752l-99.584-112a32 32 0 0 1 0-42.496l99.584-112A32 32 0 0 1 206.4 192m678.784 496-71.104 80H266.816V608h547.2l71.168 80zm-56.768-144H234.88a32 32 0 0 0-32 32v224a32 32 0 0 0 32 32h593.6a32 32 0 0 0 23.936-10.752l99.584-112a32 32 0 0 0 0-42.496l-99.584-112A32 32 0 0 0 828.48 544z"})]))}}),VT=LT,BT=A({name:"Handbag",__name:"handbag",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M887.01 264.99c-6-5.99-13.67-8.99-23.01-8.99H704c-1.34-54.68-20.01-100.01-56-136s-81.32-54.66-136-56c-54.68 1.34-100.01 20.01-136 56s-54.66 81.32-56 136H160c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.67-8.99 23.01v640c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V288c0-9.35-2.99-17.02-8.99-23.01M421.5 165.5c24.32-24.34 54.49-36.84 90.5-37.5 35.99.68 66.16 13.18 90.5 37.5s36.84 54.49 37.5 90.5H384c.68-35.99 13.18-66.16 37.5-90.5M832 896H192V320h128v128h64V320h256v128h64V320h128z"})]))}}),zT=BT,HT=A({name:"Headset",__name:"headset",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M896 529.152V512a384 384 0 1 0-768 0v17.152A128 128 0 0 1 320 640v128a128 128 0 1 1-256 0V512a448 448 0 1 1 896 0v256a128 128 0 1 1-256 0V640a128 128 0 0 1 192-110.848M896 640a64 64 0 0 0-128 0v128a64 64 0 0 0 128 0zm-768 0v128a64 64 0 0 0 128 0V640a64 64 0 1 0-128 0"})]))}}),DT=HT,FT=A({name:"HelpFilled",__name:"help-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M926.784 480H701.312A192.512 192.512 0 0 0 544 322.688V97.216A416.064 416.064 0 0 1 926.784 480m0 64A416.064 416.064 0 0 1 544 926.784V701.312A192.512 192.512 0 0 0 701.312 544zM97.28 544h225.472A192.512 192.512 0 0 0 480 701.312v225.472A416.064 416.064 0 0 1 97.216 544zm0-64A416.064 416.064 0 0 1 480 97.216v225.472A192.512 192.512 0 0 0 322.688 480H97.216z"})]))}}),KT=FT,WT=A({name:"Help",__name:"help",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m759.936 805.248-90.944-91.008A254.912 254.912 0 0 1 512 768a254.912 254.912 0 0 1-156.992-53.76l-90.944 91.008A382.464 382.464 0 0 0 512 896c94.528 0 181.12-34.176 247.936-90.752m45.312-45.312A382.464 382.464 0 0 0 896 512c0-94.528-34.176-181.12-90.752-247.936l-91.008 90.944C747.904 398.4 768 452.864 768 512c0 59.136-20.096 113.6-53.76 156.992l91.008 90.944zm-45.312-541.184A382.464 382.464 0 0 0 512 128c-94.528 0-181.12 34.176-247.936 90.752l90.944 91.008A254.912 254.912 0 0 1 512 256c59.136 0 113.6 20.096 156.992 53.76l90.944-91.008zm-541.184 45.312A382.464 382.464 0 0 0 128 512c0 94.528 34.176 181.12 90.752 247.936l91.008-90.944A254.912 254.912 0 0 1 256 512c0-59.136 20.096-113.6 53.76-156.992zm417.28 394.496a194.56 194.56 0 0 0 22.528-22.528C686.912 602.56 704 559.232 704 512a191.232 191.232 0 0 0-67.968-146.56A191.296 191.296 0 0 0 512 320a191.232 191.232 0 0 0-146.56 67.968C337.088 421.44 320 464.768 320 512a191.232 191.232 0 0 0 67.968 146.56C421.44 686.912 464.768 704 512 704c47.296 0 90.56-17.088 124.032-45.44zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),jT=WT,qT=A({name:"Hide",__name:"hide",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4-6.4-6.4-12.8-9.6-22.4-9.6-9.6 0-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176C44.8 438.4 0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4 0 9.6 3.2 16 9.6 22.4 6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4Zm-646.4 528c-76.8-70.4-128-128-153.6-172.8 28.8-48 80-105.6 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4Zm140.8-96c-12.8-22.4-19.2-48-19.2-76.8 0-44.8 16-83.2 48-112 32-28.8 67.2-48 112-48 28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6-28.8 48-80 105.6-153.6 172.8-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176C979.199 585.6 1024 528 1024 512s-48.001-73.6-134.401-176Z"}),k("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112-32 28.8-67.2 48-112 48Z"})]))}}),Bg=qT,UT=A({name:"Histogram",__name:"histogram",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M416 896V128h192v768zm-288 0V448h192v448zm576 0V320h192v576z"})]))}}),YT=UT,GT=A({name:"HomeFilled",__name:"home-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 128 128 447.936V896h255.936V640H640v256h255.936V447.936z"})]))}}),XT=GT,JT=A({name:"HotWater",__name:"hot-water",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M273.067 477.867h477.866V409.6H273.067zm0 68.266v51.2A187.733 187.733 0 0 0 460.8 785.067h102.4a187.733 187.733 0 0 0 187.733-187.734v-51.2H273.067zm-34.134-204.8h546.134a34.133 34.133 0 0 1 34.133 34.134v221.866a256 256 0 0 1-256 256H460.8a256 256 0 0 1-256-256V375.467a34.133 34.133 0 0 1 34.133-34.134zM512 34.133a34.133 34.133 0 0 1 34.133 34.134v170.666a34.133 34.133 0 0 1-68.266 0V68.267A34.133 34.133 0 0 1 512 34.133zM375.467 102.4a34.133 34.133 0 0 1 34.133 34.133v102.4a34.133 34.133 0 0 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.134-34.133m273.066 0a34.133 34.133 0 0 1 34.134 34.133v102.4a34.133 34.133 0 1 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.133-34.133M170.667 921.668h682.666a34.133 34.133 0 1 1 0 68.267H170.667a34.133 34.133 0 1 1 0-68.267z"})]))}}),ZT=JT,QT=A({name:"House",__name:"house",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M192 413.952V896h640V413.952L512 147.328zM139.52 374.4l352-293.312a32 32 0 0 1 40.96 0l352 293.312A32 32 0 0 1 896 398.976V928a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V398.976a32 32 0 0 1 11.52-24.576"})]))}}),eA=QT,tA=A({name:"IceCreamRound",__name:"ice-cream-round",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m308.352 489.344 226.304 226.304a32 32 0 0 0 45.248 0L783.552 512A192 192 0 1 0 512 240.448L308.352 444.16a32 32 0 0 0 0 45.248zm135.744 226.304L308.352 851.392a96 96 0 0 1-135.744-135.744l135.744-135.744-45.248-45.248a96 96 0 0 1 0-135.808L466.752 195.2A256 256 0 0 1 828.8 557.248L625.152 760.96a96 96 0 0 1-135.808 0l-45.248-45.248zM398.848 670.4 353.6 625.152 217.856 760.896a32 32 0 0 0 45.248 45.248zm248.96-384.64a32 32 0 0 1 0 45.248L466.624 512a32 32 0 1 1-45.184-45.248l180.992-181.056a32 32 0 0 1 45.248 0zm90.496 90.496a32 32 0 0 1 0 45.248L557.248 602.496A32 32 0 1 1 512 557.248l180.992-180.992a32 32 0 0 1 45.312 0z"})]))}}),nA=tA,oA=A({name:"IceCreamSquare",__name:"ice-cream-square",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M416 640h256a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32H352a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32zm192 64v160a96 96 0 0 1-192 0V704h-64a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96h320a96 96 0 0 1 96 96v448a96 96 0 0 1-96 96zm-64 0h-64v160a32 32 0 1 0 64 0z"})]))}}),aA=oA,rA=A({name:"IceCream",__name:"ice-cream",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128.64 448a208 208 0 0 1 193.536-191.552 224 224 0 0 1 445.248 15.488A208.128 208.128 0 0 1 894.784 448H896L548.8 983.68a32 32 0 0 1-53.248.704L128 448zm64.256 0h286.208a144 144 0 0 0-286.208 0zm351.36 0h286.272a144 144 0 0 0-286.272 0zm-294.848 64 271.808 396.608L778.24 512H249.408zM511.68 352.64a207.872 207.872 0 0 1 189.184-96.192 160 160 0 0 0-314.752 5.632c52.608 12.992 97.28 46.08 125.568 90.56"})]))}}),lA=rA,sA=A({name:"IceDrink",__name:"ice-drink",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 448v128h239.68l16.064-128zm-64 0H256.256l16.064 128H448zm64-255.36V384h247.744A256.128 256.128 0 0 0 512 192.64m-64 8.064A256.448 256.448 0 0 0 264.256 384H448zm64-72.064A320.128 320.128 0 0 1 825.472 384H896a32 32 0 1 1 0 64h-64v1.92l-56.96 454.016A64 64 0 0 1 711.552 960H312.448a64 64 0 0 1-63.488-56.064L192 449.92V448h-64a32 32 0 0 1 0-64h70.528A320.384 320.384 0 0 1 448 135.04V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H544a32 32 0 0 0-32 32zM743.68 640H280.32l32.128 256h399.104z"})]))}}),iA=sA,uA=A({name:"IceTea",__name:"ice-tea",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M197.696 259.648a320.128 320.128 0 0 1 628.608 0A96 96 0 0 1 896 352v64a96 96 0 0 1-71.616 92.864l-49.408 395.072A64 64 0 0 1 711.488 960H312.512a64 64 0 0 1-63.488-56.064l-49.408-395.072A96 96 0 0 1 128 416v-64a96 96 0 0 1 69.696-92.352M264.064 256h495.872a256.128 256.128 0 0 0-495.872 0m495.424 256H264.512l48 384h398.976zM224 448h576a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32H224a32 32 0 0 0-32 32v64a32 32 0 0 0 32 32m160 192h64v64h-64zm192 64h64v64h-64zm-128 64h64v64h-64zm64-192h64v64h-64z"})]))}}),cA=uA,dA=A({name:"InfoFilled",__name:"info-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),Ec=dA,fA=A({name:"Iphone",__name:"iphone",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M224 768v96.064a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V768zm0-64h576V160a64 64 0 0 0-64-64H288a64 64 0 0 0-64 64zm32 288a96 96 0 0 1-96-96V128a96 96 0 0 1 96-96h512a96 96 0 0 1 96 96v768a96 96 0 0 1-96 96zm304-144a48 48 0 1 1-96 0 48 48 0 0 1 96 0"})]))}}),pA=fA,vA=A({name:"Key",__name:"key",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M448 456.064V96a32 32 0 0 1 32-32.064L672 64a32 32 0 0 1 0 64H512v128h160a32 32 0 0 1 0 64H512v128a256 256 0 1 1-64 8.064M512 896a192 192 0 1 0 0-384 192 192 0 0 0 0 384"})]))}}),hA=vA,mA=A({name:"KnifeFork",__name:"knife-fork",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 410.56V96a32 32 0 0 1 64 0v314.56A96 96 0 0 0 384 320V96a32 32 0 0 1 64 0v224a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.8A160 160 0 0 1 128 320V96a32 32 0 0 1 64 0v224a96 96 0 0 0 64 90.56m384-250.24V544h126.72c-3.328-78.72-12.928-147.968-28.608-207.744-14.336-54.528-46.848-113.344-98.112-175.872zM640 608v320a32 32 0 1 1-64 0V64h64c85.312 89.472 138.688 174.848 160 256 21.312 81.152 32 177.152 32 288z"})]))}}),gA=mA,yA=A({name:"Lightning",__name:"lightning",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M288 671.36v64.128A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 736 734.016v-64.768a192 192 0 0 0 3.328-377.92l-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 91.968 70.464 167.36 160.256 175.232z"}),k("path",{fill:"currentColor",d:"M416 736a32 32 0 0 1-27.776-47.872l128-224a32 32 0 1 1 55.552 31.744L471.168 672H608a32 32 0 0 1 27.776 47.872l-128 224a32 32 0 1 1-55.68-31.744L552.96 736z"})]))}}),_A=yA,bA=A({name:"Link",__name:"link",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M715.648 625.152 670.4 579.904l90.496-90.56c75.008-74.944 85.12-186.368 22.656-248.896-62.528-62.464-173.952-52.352-248.96 22.656L444.16 353.6l-45.248-45.248 90.496-90.496c100.032-99.968 251.968-110.08 339.456-22.656 87.488 87.488 77.312 239.424-22.656 339.456l-90.496 90.496zm-90.496 90.496-90.496 90.496C434.624 906.112 282.688 916.224 195.2 828.8c-87.488-87.488-77.312-239.424 22.656-339.456l90.496-90.496 45.248 45.248-90.496 90.56c-75.008 74.944-85.12 186.368-22.656 248.896 62.528 62.464 173.952 52.352 248.96-22.656l90.496-90.496zm0-362.048 45.248 45.248L398.848 670.4 353.6 625.152z"})]))}}),wA=bA,CA=A({name:"List",__name:"list",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160v64h384zM288 512h448v-64H288zm0 256h448v-64H288zm96-576V96h256v96z"})]))}}),SA=CA,kA=A({name:"Loading",__name:"loading",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z"})]))}}),pa=kA,EA=A({name:"LocationFilled",__name:"location-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 928c23.936 0 117.504-68.352 192.064-153.152C803.456 661.888 864 535.808 864 416c0-189.632-155.84-320-352-320S160 226.368 160 416c0 120.32 60.544 246.4 159.936 359.232C394.432 859.84 488 928 512 928m0-435.2a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 140.8a204.8 204.8 0 1 1 0-409.6 204.8 204.8 0 0 1 0 409.6"})]))}}),xA=EA,MA=A({name:"LocationInformation",__name:"location-information",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32"}),k("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),k("path",{fill:"currentColor",d:"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192m0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320"})]))}}),$A=MA,TA=A({name:"Location",__name:"location",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),k("path",{fill:"currentColor",d:"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192m0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320"})]))}}),AA=TA,OA=A({name:"Lock",__name:"lock",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96"}),k("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m192-160v-64a192 192 0 1 0-384 0v64zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64"})]))}}),NA=OA,IA=A({name:"Lollipop",__name:"lollipop",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M513.28 448a64 64 0 1 1 76.544 49.728A96 96 0 0 0 768 448h64a160 160 0 0 1-320 0zm-126.976-29.696a256 256 0 1 0 43.52-180.48A256 256 0 0 1 832 448h-64a192 192 0 0 0-381.696-29.696m105.664 249.472L285.696 874.048a96 96 0 0 1-135.68-135.744l206.208-206.272a320 320 0 1 1 135.744 135.744zm-54.464-36.032a321.92 321.92 0 0 1-45.248-45.248L195.2 783.552a32 32 0 1 0 45.248 45.248l197.056-197.12z"})]))}}),RA=IA,PA=A({name:"MagicStick",__name:"magic-stick",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64h64v192h-64zm0 576h64v192h-64zM160 480v-64h192v64zm576 0v-64h192v64zM249.856 199.04l45.248-45.184L430.848 289.6 385.6 334.848 249.856 199.104zM657.152 606.4l45.248-45.248 135.744 135.744-45.248 45.248zM114.048 923.2 68.8 877.952l316.8-316.8 45.248 45.248zM702.4 334.848 657.152 289.6l135.744-135.744 45.248 45.248z"})]))}}),LA=PA,VA=A({name:"Magnet",__name:"magnet",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M832 320V192H704v320a192 192 0 1 1-384 0V192H192v128h128v64H192v128a320 320 0 0 0 640 0V384H704v-64zM640 512V128h256v384a384 384 0 1 1-768 0V128h256v384a128 128 0 1 0 256 0"})]))}}),BA=VA,zA=A({name:"Male",__name:"male",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M399.5 849.5a225 225 0 1 0 0-450 225 225 0 0 0 0 450m0 56.25a281.25 281.25 0 1 1 0-562.5 281.25 281.25 0 0 1 0 562.5m253.125-787.5h225q28.125 0 28.125 28.125T877.625 174.5h-225q-28.125 0-28.125-28.125t28.125-28.125"}),k("path",{fill:"currentColor",d:"M877.625 118.25q28.125 0 28.125 28.125v225q0 28.125-28.125 28.125T849.5 371.375v-225q0-28.125 28.125-28.125"}),k("path",{fill:"currentColor",d:"M604.813 458.9 565.1 419.131l292.613-292.668 39.825 39.824z"})]))}}),HA=zA,DA=A({name:"Management",__name:"management",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M576 128v288l96-96 96 96V128h128v768H320V128zm-448 0h128v768H128z"})]))}}),FA=DA,KA=A({name:"MapLocation",__name:"map-location",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544"}),k("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256m345.6 192L960 960H672v-64H352v64H64l102.4-256zm-68.928 0H235.328l-76.8 192h706.944z"})]))}}),WA=KA,jA=A({name:"Medal",__name:"medal",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 896a256 256 0 1 0 0-512 256 256 0 0 0 0 512m0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640"}),k("path",{fill:"currentColor",d:"M576 128H448v200a286.72 286.72 0 0 1 64-8c19.52 0 40.832 2.688 64 8zm64 0v219.648c24.448 9.088 50.56 20.416 78.4 33.92L757.44 128zm-256 0H266.624l39.04 253.568c27.84-13.504 53.888-24.832 78.336-33.92V128zM229.312 64h565.376a32 32 0 0 1 31.616 36.864L768 480c-113.792-64-199.104-96-256-96-56.896 0-142.208 32-256 96l-58.304-379.136A32 32 0 0 1 229.312 64"})]))}}),qA=jA,UA=A({name:"Memo",__name:"memo",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M480 320h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32"}),k("path",{fill:"currentColor",d:"M887.01 72.99C881.01 67 873.34 64 864 64H160c-9.35 0-17.02 3-23.01 8.99C131 78.99 128 86.66 128 96v832c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V96c0-9.35-3-17.02-8.99-23.01M192 896V128h96v768zm640 0H352V128h480z"}),k("path",{fill:"currentColor",d:"M480 512h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32m0 192h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32"})]))}}),YA=UA,GA=A({name:"Menu",__name:"menu",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M160 448a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32zm448 0a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32zM160 896a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32zm448 0a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32z"})]))}}),XA=GA,JA=A({name:"MessageBox",__name:"message-box",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M288 384h448v64H288zm96-128h256v64H384zM131.456 512H384v128h256V512h252.544L721.856 192H302.144zM896 576H704v128H320V576H128v256h768zM275.776 128h472.448a32 32 0 0 1 28.608 17.664l179.84 359.552A32 32 0 0 1 960 519.552V864a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V519.552a32 32 0 0 1 3.392-14.336l179.776-359.552A32 32 0 0 1 275.776 128z"})]))}}),ZA=JA,QA=A({name:"Message",__name:"message",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 224v512a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V224zm0-64h768a64 64 0 0 1 64 64v512a128 128 0 0 1-128 128H192A128 128 0 0 1 64 736V224a64 64 0 0 1 64-64"}),k("path",{fill:"currentColor",d:"M904 224 656.512 506.88a192 192 0 0 1-289.024 0L120 224zm-698.944 0 210.56 240.704a128 128 0 0 0 192.704 0L818.944 224H205.056"})]))}}),eO=QA,tO=A({name:"Mic",__name:"mic",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M480 704h160a64 64 0 0 0 64-64v-32h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-32a64 64 0 0 0-64-64H384a64 64 0 0 0-64 64v32h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v32a64 64 0 0 0 64 64zm64 64v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768h-96a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64h256a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128z"})]))}}),nO=tO,oO=A({name:"Microphone",__name:"microphone",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 128a128 128 0 0 0-128 128v256a128 128 0 1 0 256 0V256a128 128 0 0 0-128-128m0-64a192 192 0 0 1 192 192v256a192 192 0 1 1-384 0V256A192 192 0 0 1 512 64m-32 832v-64a288 288 0 0 1-288-288v-32a32 32 0 0 1 64 0v32a224 224 0 0 0 224 224h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64z"})]))}}),aO=oO,rO=A({name:"MilkTea",__name:"milk-tea",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M416 128V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H512a32 32 0 0 0-32 32v32h320a96 96 0 0 1 11.712 191.296l-39.68 581.056A64 64 0 0 1 708.224 960H315.776a64 64 0 0 1-63.872-59.648l-39.616-581.056A96 96 0 0 1 224 128zM276.48 320l39.296 576h392.448l4.8-70.784a224.064 224.064 0 0 1 30.016-439.808L747.52 320zM224 256h576a32 32 0 1 0 0-64H224a32 32 0 0 0 0 64m493.44 503.872 21.12-309.12a160 160 0 0 0-21.12 309.12"})]))}}),lO=rO,sO=A({name:"Minus",__name:"minus",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64"})]))}}),zg=sO,iO=A({name:"Money",__name:"money",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 640v192h640V384H768v-64h150.976c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H233.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096c-2.688-5.184-4.224-10.368-4.224-24.576V640z"}),k("path",{fill:"currentColor",d:"M768 192H128v448h640zm64-22.976v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 682.432 64 677.248 64 663.04V169.024c0-14.272 1.472-19.456 4.288-24.64a29.056 29.056 0 0 1 12.096-12.16C85.568 129.536 90.752 128 104.96 128h685.952c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64z"}),k("path",{fill:"currentColor",d:"M448 576a160 160 0 1 1 0-320 160 160 0 0 1 0 320m0-64a96 96 0 1 0 0-192 96 96 0 0 0 0 192"})]))}}),uO=iO,cO=A({name:"Monitor",__name:"monitor",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M544 768v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768H192A128 128 0 0 1 64 640V256a128 128 0 0 1 128-128h640a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128zM192 192a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64z"})]))}}),dO=cO,fO=A({name:"MoonNight",__name:"moon-night",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M384 512a448 448 0 0 1 215.872-383.296A384 384 0 0 0 213.76 640h188.8A448.256 448.256 0 0 1 384 512M171.136 704a448 448 0 0 1 636.992-575.296A384 384 0 0 0 499.328 704h-328.32z"}),k("path",{fill:"currentColor",d:"M32 640h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32m128 128h384a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m160 127.68 224 .256a32 32 0 0 1 32 32V928a32 32 0 0 1-32 32l-224-.384a32 32 0 0 1-32-32v-.064a32 32 0 0 1 32-32z"})]))}}),pO=fO,vO=A({name:"Moon",__name:"moon",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M240.448 240.448a384 384 0 1 0 559.424 525.696 448 448 0 0 1-542.016-542.08 390.592 390.592 0 0 0-17.408 16.384zm181.056 362.048a384 384 0 0 0 525.632 16.384A448 448 0 1 1 405.056 76.8a384 384 0 0 0 16.448 525.696"})]))}}),hO=vO,mO=A({name:"MoreFilled",__name:"more-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224"})]))}}),cf=mO,gO=A({name:"More",__name:"more",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"})]))}}),Hg=gO,yO=A({name:"MostlyCloudy",__name:"mostly-cloudy",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M737.216 357.952 704 349.824l-11.776-32a192.064 192.064 0 0 0-367.424 23.04l-8.96 39.04-39.04 8.96A192.064 192.064 0 0 0 320 768h368a207.808 207.808 0 0 0 207.808-208 208.32 208.32 0 0 0-158.592-202.048m15.168-62.208A272.32 272.32 0 0 1 959.744 560a271.808 271.808 0 0 1-271.552 272H320a256 256 0 0 1-57.536-505.536 256.128 256.128 0 0 1 489.92-30.72"})]))}}),_O=yO,bO=A({name:"Mouse",__name:"mouse",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M438.144 256c-68.352 0-92.736 4.672-117.76 18.112-20.096 10.752-35.52 26.176-46.272 46.272C260.672 345.408 256 369.792 256 438.144v275.712c0 68.352 4.672 92.736 18.112 117.76 10.752 20.096 26.176 35.52 46.272 46.272C345.408 891.328 369.792 896 438.144 896h147.712c68.352 0 92.736-4.672 117.76-18.112 20.096-10.752 35.52-26.176 46.272-46.272C763.328 806.592 768 782.208 768 713.856V438.144c0-68.352-4.672-92.736-18.112-117.76a110.464 110.464 0 0 0-46.272-46.272C678.592 260.672 654.208 256 585.856 256zm0-64h147.712c85.568 0 116.608 8.96 147.904 25.6 31.36 16.768 55.872 41.344 72.576 72.64C823.104 321.536 832 352.576 832 438.08v275.84c0 85.504-8.96 116.544-25.6 147.84a174.464 174.464 0 0 1-72.64 72.576C702.464 951.104 671.424 960 585.92 960H438.08c-85.504 0-116.544-8.96-147.84-25.6a174.464 174.464 0 0 1-72.64-72.704c-16.768-31.296-25.664-62.336-25.664-147.84v-275.84c0-85.504 8.96-116.544 25.6-147.84a174.464 174.464 0 0 1 72.768-72.576c31.232-16.704 62.272-25.6 147.776-25.6z"}),k("path",{fill:"currentColor",d:"M512 320q32 0 32 32v128q0 32-32 32t-32-32V352q0-32 32-32m32-96a32 32 0 0 1-64 0v-64a32 32 0 0 0-32-32h-96a32 32 0 0 1 0-64h96a96 96 0 0 1 96 96z"})]))}}),wO=bO,CO=A({name:"Mug",__name:"mug",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M736 800V160H160v640a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64m64-544h63.552a96 96 0 0 1 96 96v224a96 96 0 0 1-96 96H800v128a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V128a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 64v288h63.552a32 32 0 0 0 32-32V352a32 32 0 0 0-32-32z"})]))}}),SO=CO,kO=A({name:"MuteNotification",__name:"mute-notification",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m241.216 832 63.616-64H768V448c0-42.368-10.24-82.304-28.48-117.504l46.912-47.232C815.36 331.392 832 387.84 832 448v320h96a32 32 0 1 1 0 64zm-90.24 0H96a32 32 0 1 1 0-64h96V448a320.128 320.128 0 0 1 256-313.6V128a64 64 0 1 1 128 0v6.4a319.552 319.552 0 0 1 171.648 97.088l-45.184 45.44A256 256 0 0 0 256 448v278.336L151.04 832zM448 896h128a64 64 0 0 1-128 0"}),k("path",{fill:"currentColor",d:"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z"})]))}}),EO=kO,xO=A({name:"Mute",__name:"mute",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m412.16 592.128-45.44 45.44A191.232 191.232 0 0 1 320 512V256a192 192 0 1 1 384 0v44.352l-64 64V256a128 128 0 1 0-256 0v256c0 30.336 10.56 58.24 28.16 80.128m51.968 38.592A128 128 0 0 0 640 512v-57.152l64-64V512a192 192 0 0 1-287.68 166.528zM314.88 779.968l46.144-46.08A222.976 222.976 0 0 0 480 768h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64h64v-64c-61.44 0-118.4-19.2-165.12-52.032M266.752 737.6A286.976 286.976 0 0 1 192 544v-32a32 32 0 0 1 64 0v32c0 56.832 21.184 108.8 56.064 148.288z"}),k("path",{fill:"currentColor",d:"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z"})]))}}),MO=xO,$O=A({name:"NoSmoking",__name:"no-smoking",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M440.256 576H256v128h56.256l-64 64H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32h280.256zm143.488 128H704V583.744L775.744 512H928a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H519.744zM768 576v128h128V576zm-29.696-207.552 45.248 45.248-497.856 497.856-45.248-45.248zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z"})]))}}),TO=$O,AO=A({name:"Notebook",__name:"notebook",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M192 128v768h640V128zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"}),k("path",{fill:"currentColor",d:"M672 128h64v768h-64zM96 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32"})]))}}),OO=AO,NO=A({name:"Notification",__name:"notification",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 128v64H256a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V512h64v256a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V256a128 128 0 0 1 128-128z"}),k("path",{fill:"currentColor",d:"M768 384a128 128 0 1 0 0-256 128 128 0 0 0 0 256m0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384"})]))}}),IO=NO,RO=A({name:"Odometer",__name:"odometer",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),k("path",{fill:"currentColor",d:"M192 512a320 320 0 1 1 640 0 32 32 0 1 1-64 0 256 256 0 1 0-512 0 32 32 0 0 1-64 0"}),k("path",{fill:"currentColor",d:"M570.432 627.84A96 96 0 1 1 509.568 608l60.992-187.776A32 32 0 1 1 631.424 440l-60.992 187.776zM502.08 734.464a32 32 0 1 0 19.84-60.928 32 32 0 0 0-19.84 60.928"})]))}}),PO=RO,LO=A({name:"OfficeBuilding",__name:"office-building",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M192 128v704h384V128zm-32-64h448a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"}),k("path",{fill:"currentColor",d:"M256 256h256v64H256zm0 192h256v64H256zm0 192h256v64H256zm384-128h128v64H640zm0 128h128v64H640zM64 832h896v64H64z"}),k("path",{fill:"currentColor",d:"M640 384v448h192V384zm-32-64h256a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H608a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32"})]))}}),VO=LO,BO=A({name:"Open",__name:"open",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z"}),k("path",{fill:"currentColor",d:"M694.044 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454m0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088"})]))}}),zO=BO,HO=A({name:"Operation",__name:"operation",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M389.44 768a96.064 96.064 0 0 1 181.12 0H896v64H570.56a96.064 96.064 0 0 1-181.12 0H128v-64zm192-288a96.064 96.064 0 0 1 181.12 0H896v64H762.56a96.064 96.064 0 0 1-181.12 0H128v-64zm-320-288a96.064 96.064 0 0 1 181.12 0H896v64H442.56a96.064 96.064 0 0 1-181.12 0H128v-64z"})]))}}),DO=HO,FO=A({name:"Opportunity",__name:"opportunity",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M384 960v-64h192.064v64zm448-544a350.656 350.656 0 0 1-128.32 271.424C665.344 719.04 640 763.776 640 813.504V832H320v-14.336c0-48-19.392-95.36-57.216-124.992a351.552 351.552 0 0 1-128.448-344.256c25.344-136.448 133.888-248.128 269.76-276.48A352.384 352.384 0 0 1 832 416m-544 32c0-132.288 75.904-224 192-224v-64c-154.432 0-256 122.752-256 288z"})]))}}),KO=FO,WO=A({name:"Orange",__name:"orange",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M544 894.72a382.336 382.336 0 0 0 215.936-89.472L577.024 622.272c-10.24 6.016-21.248 10.688-33.024 13.696v258.688zm261.248-134.784A382.336 382.336 0 0 0 894.656 544H635.968c-3.008 11.776-7.68 22.848-13.696 33.024l182.976 182.912zM894.656 480a382.336 382.336 0 0 0-89.408-215.936L622.272 446.976c6.016 10.24 10.688 21.248 13.696 33.024h258.688zm-134.72-261.248A382.336 382.336 0 0 0 544 129.344v258.688c11.776 3.008 22.848 7.68 33.024 13.696zM480 129.344a382.336 382.336 0 0 0-215.936 89.408l182.912 182.976c10.24-6.016 21.248-10.688 33.024-13.696zm-261.248 134.72A382.336 382.336 0 0 0 129.344 480h258.688c3.008-11.776 7.68-22.848 13.696-33.024zM129.344 544a382.336 382.336 0 0 0 89.408 215.936l182.976-182.912A127.232 127.232 0 0 1 388.032 544zm134.72 261.248A382.336 382.336 0 0 0 480 894.656V635.968a127.232 127.232 0 0 1-33.024-13.696zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896m0-384a64 64 0 1 0 0-128 64 64 0 0 0 0 128"})]))}}),jO=WO,qO=A({name:"Paperclip",__name:"paperclip",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744l294.144-294.208z"})]))}}),UO=qO,YO=A({name:"PartlyCloudy",__name:"partly-cloudy",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M598.4 895.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 895.872m-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 445.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z"}),k("path",{fill:"currentColor",d:"M139.84 501.888a256 256 0 1 1 417.856-277.12c-17.728 2.176-38.208 8.448-61.504 18.816A192 192 0 1 0 189.12 460.48a6003.84 6003.84 0 0 0-49.28 41.408z"})]))}}),GO=YO,XO=A({name:"Pear",__name:"pear",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M542.336 258.816a443.255 443.255 0 0 0-9.024 25.088 32 32 0 1 1-60.8-20.032l1.088-3.328a162.688 162.688 0 0 0-122.048 131.392l-17.088 102.72-20.736 15.36C256.192 552.704 224 610.88 224 672c0 120.576 126.4 224 288 224s288-103.424 288-224c0-61.12-32.192-119.296-89.728-161.92l-20.736-15.424-17.088-102.72a162.688 162.688 0 0 0-130.112-133.12zm-40.128-66.56c7.936-15.552 16.576-30.08 25.92-43.776 23.296-33.92 49.408-59.776 78.528-77.12a32 32 0 1 1 32.704 55.04c-20.544 12.224-40.064 31.552-58.432 58.304a316.608 316.608 0 0 0-9.792 15.104 226.688 226.688 0 0 1 164.48 181.568l12.8 77.248C819.456 511.36 864 587.392 864 672c0 159.04-157.568 288-352 288S160 831.04 160 672c0-84.608 44.608-160.64 115.584-213.376l12.8-77.248a226.624 226.624 0 0 1 213.76-189.184z"})]))}}),JO=XO,ZO=A({name:"PhoneFilled",__name:"phone-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M199.232 125.568 90.624 379.008a32 32 0 0 0 6.784 35.2l512.384 512.384a32 32 0 0 0 35.2 6.784l253.44-108.608a32 32 0 0 0 10.048-52.032L769.6 633.92a32 32 0 0 0-36.928-5.952l-130.176 65.088-271.488-271.552 65.024-130.176a32 32 0 0 0-5.952-36.928L251.2 115.52a32 32 0 0 0-51.968 10.048z"})]))}}),QO=ZO,eN=A({name:"Phone",__name:"phone",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M79.36 432.256 591.744 944.64a32 32 0 0 0 35.2 6.784l253.44-108.544a32 32 0 0 0 9.984-52.032l-153.856-153.92a32 32 0 0 0-36.928-6.016l-69.888 34.944L358.08 394.24l35.008-69.888a32 32 0 0 0-5.952-36.928L233.152 133.568a32 32 0 0 0-52.032 10.048L72.512 397.056a32 32 0 0 0 6.784 35.2zm60.48-29.952 81.536-190.08L325.568 316.48l-24.64 49.216-20.608 41.216 32.576 32.64 271.552 271.552 32.64 32.64 41.216-20.672 49.28-24.576 104.192 104.128-190.08 81.472L139.84 402.304zM512 320v-64a256 256 0 0 1 256 256h-64a192 192 0 0 0-192-192m0-192V64a448 448 0 0 1 448 448h-64a384 384 0 0 0-384-384"})]))}}),tN=eN,nN=A({name:"PictureFilled",__name:"picture-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112M256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384"})]))}}),Dg=nN,oN=A({name:"PictureRounded",__name:"picture-rounded",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 128a384 384 0 1 0 0 768 384 384 0 0 0 0-768m0-64a448 448 0 1 1 0 896 448 448 0 0 1 0-896"}),k("path",{fill:"currentColor",d:"M640 288q64 0 64 64t-64 64q-64 0-64-64t64-64M214.656 790.656l-45.312-45.312 185.664-185.6a96 96 0 0 1 123.712-10.24l138.24 98.688a32 32 0 0 0 39.872-2.176L906.688 422.4l42.624 47.744L699.52 693.696a96 96 0 0 1-119.808 6.592l-138.24-98.752a32 32 0 0 0-41.152 3.456l-185.664 185.6z"})]))}}),aN=oN,rN=A({name:"Picture",__name:"picture",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"}),k("path",{fill:"currentColor",d:"M384 288q64 0 64 64t-64 64q-64 0-64-64t64-64M185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952z"})]))}}),lN=rN,sN=A({name:"PieChart",__name:"pie-chart",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M448 68.48v64.832A384.128 384.128 0 0 0 512 896a384.128 384.128 0 0 0 378.688-320h64.768A448.128 448.128 0 0 1 64 512 448.128 448.128 0 0 1 448 68.48z"}),k("path",{fill:"currentColor",d:"M576 97.28V448h350.72A384.064 384.064 0 0 0 576 97.28zM512 64V33.152A448 448 0 0 1 990.848 512H512z"})]))}}),iN=sN,uN=A({name:"Place",__name:"place",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512"}),k("path",{fill:"currentColor",d:"M512 512a32 32 0 0 1 32 32v256a32 32 0 1 1-64 0V544a32 32 0 0 1 32-32"}),k("path",{fill:"currentColor",d:"M384 649.088v64.96C269.76 732.352 192 771.904 192 800c0 37.696 139.904 96 320 96s320-58.304 320-96c0-28.16-77.76-67.648-192-85.952v-64.96C789.12 671.04 896 730.368 896 800c0 88.32-171.904 160-384 160s-384-71.68-384-160c0-69.696 106.88-128.96 256-150.912"})]))}}),cN=uN,dN=A({name:"Platform",__name:"platform",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M448 832v-64h128v64h192v64H256v-64zM128 704V128h768v576z"})]))}}),fN=dN,pN=A({name:"Plus",__name:"plus",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}}),s2=pN,vN=A({name:"Pointer",__name:"pointer",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M511.552 128c-35.584 0-64.384 28.8-64.384 64.448v516.48L274.048 570.88a94.272 94.272 0 0 0-112.896-3.456 44.416 44.416 0 0 0-8.96 62.208L332.8 870.4A64 64 0 0 0 384 896h512V575.232a64 64 0 0 0-45.632-61.312l-205.952-61.76A96 96 0 0 1 576 360.192V192.448C576 156.8 547.2 128 511.552 128M359.04 556.8l24.128 19.2V192.448a128.448 128.448 0 1 1 256.832 0v167.744a32 32 0 0 0 22.784 30.656l206.016 61.76A128 128 0 0 1 960 575.232V896a64 64 0 0 1-64 64H384a128 128 0 0 1-102.4-51.2L101.056 668.032A108.416 108.416 0 0 1 128 512.512a158.272 158.272 0 0 1 185.984 8.32z"})]))}}),hN=vN,mN=A({name:"Position",__name:"position",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m249.6 417.088 319.744 43.072 39.168 310.272L845.12 178.88 249.6 417.088zm-129.024 47.168a32 32 0 0 1-7.68-61.44l777.792-311.04a32 32 0 0 1 41.6 41.6l-310.336 775.68a32 32 0 0 1-61.44-7.808L512 516.992l-391.424-52.736z"})]))}}),gN=mN,yN=A({name:"Postcard",__name:"postcard",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M160 224a32 32 0 0 0-32 32v512a32 32 0 0 0 32 32h704a32 32 0 0 0 32-32V256a32 32 0 0 0-32-32zm0-64h704a96 96 0 0 1 96 96v512a96 96 0 0 1-96 96H160a96 96 0 0 1-96-96V256a96 96 0 0 1 96-96"}),k("path",{fill:"currentColor",d:"M704 320a64 64 0 1 1 0 128 64 64 0 0 1 0-128M288 448h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32m0 128h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32"})]))}}),_N=yN,bN=A({name:"Pouring",__name:"pouring",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480M224 800a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32m192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32m192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32m192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32"})]))}}),wN=bN,CN=A({name:"Present",__name:"present",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M480 896V640H192v-64h288V320H192v576zm64 0h288V320H544v256h288v64H544zM128 256h768v672a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32z"}),k("path",{fill:"currentColor",d:"M96 256h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32"}),k("path",{fill:"currentColor",d:"M416 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"}),k("path",{fill:"currentColor",d:"M608 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"})]))}}),SN=CN,kN=A({name:"PriceTag",__name:"price-tag",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M224 318.336V896h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0z"}),k("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"})]))}}),EN=kN,xN=A({name:"Printer",__name:"printer",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 768H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 746.432 64 741.248 64 727.04V379.072c0-42.816 4.48-58.304 12.8-73.984 8.384-15.616 20.672-27.904 36.288-36.288 15.68-8.32 31.168-12.8 73.984-12.8H256V64h512v192h68.928c42.816 0 58.304 4.48 73.984 12.8 15.616 8.384 27.904 20.672 36.288 36.288 8.32 15.68 12.8 31.168 12.8 73.984v347.904c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H768v192H256zm64-192v320h384V576zm-64 128V512h512v192h128V379.072c0-29.376-1.408-36.48-5.248-43.776a23.296 23.296 0 0 0-10.048-10.048c-7.232-3.84-14.4-5.248-43.776-5.248H187.072c-29.376 0-36.48 1.408-43.776 5.248a23.296 23.296 0 0 0-10.048 10.048c-3.84 7.232-5.248 14.4-5.248 43.776V704zm64-448h384V128H320zm-64 128h64v64h-64zm128 0h64v64h-64z"})]))}}),MN=xN,$N=A({name:"Promotion",__name:"promotion",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472zm256 512V657.024L512 768z"})]))}}),TN=$N,AN=A({name:"QuartzWatch",__name:"quartz-watch",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M422.02 602.01v-.03c-6.68-5.99-14.35-8.83-23.01-8.51-8.67.32-16.17 3.66-22.5 10.02-6.33 6.36-9.5 13.7-9.5 22.02s3 15.82 8.99 22.5c8.68 8.68 19.02 11.35 31.01 8s19.49-10.85 22.5-22.5c3.01-11.65.51-22.15-7.49-31.49zM384 512c0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.67 8.99-23.01m6.53-82.49c11.65 3.01 22.15.51 31.49-7.49h.04c5.99-6.68 8.83-14.34 8.51-23.01-.32-8.67-3.66-16.16-10.02-22.5-6.36-6.33-13.7-9.5-22.02-9.5s-15.82 3-22.5 8.99c-8.68 8.69-11.35 19.02-8 31.01 3.35 11.99 10.85 19.49 22.5 22.5zm242.94 0c11.67-3.03 19.01-10.37 22.02-22.02 3.01-11.65.51-22.15-7.49-31.49h.01c-6.68-5.99-14.18-8.99-22.5-8.99s-15.66 3.16-22.02 9.5c-6.36 6.34-9.7 13.84-10.02 22.5-.32 8.66 2.52 16.33 8.51 23.01 9.32 8.02 19.82 10.52 31.49 7.49M512 640c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01s-3-17.02-8.99-23.01c-6-5.99-13.66-8.99-23.01-8.99m183.01-151.01c-6-5.99-13.66-8.99-23.01-8.99s-17.02 3-23.01 8.99c-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99s17.02-3 23.01-8.99c5.99-6 8.99-13.67 8.99-23.01 0-9.35-3-17.02-8.99-23.01"}),k("path",{fill:"currentColor",d:"M832 512c-2-90.67-33.17-166.17-93.5-226.5-20.43-20.42-42.6-37.49-66.5-51.23V64H352v170.26c-23.9 13.74-46.07 30.81-66.5 51.24-60.33 60.33-91.49 135.83-93.5 226.5 2 90.67 33.17 166.17 93.5 226.5 20.43 20.43 42.6 37.5 66.5 51.24V960h320V789.74c23.9-13.74 46.07-30.81 66.5-51.24 60.33-60.34 91.49-135.83 93.5-226.5M416 128h192v78.69c-29.85-9.03-61.85-13.93-96-14.69-34.15.75-66.15 5.65-96 14.68zm192 768H416v-78.68c29.85 9.03 61.85 13.93 96 14.68 34.15-.75 66.15-5.65 96-14.68zm-96-128c-72.66-2.01-132.99-27.01-180.99-75.01S258.01 584.66 256 512c2.01-72.66 27.01-132.99 75.01-180.99S439.34 258.01 512 256c72.66 2.01 132.99 27.01 180.99 75.01S765.99 439.34 768 512c-2.01 72.66-27.01 132.99-75.01 180.99S584.66 765.99 512 768"}),k("path",{fill:"currentColor",d:"M512 320c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01 0 9.35 3 17.02 8.99 23.01 6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01 0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99m112.99 273.5c-8.66-.32-16.33 2.52-23.01 8.51-7.98 9.32-10.48 19.82-7.49 31.49s10.49 19.17 22.5 22.5 22.35.66 31.01-8v.04c5.99-6.68 8.99-14.18 8.99-22.5s-3.16-15.66-9.5-22.02-13.84-9.7-22.5-10.02"})]))}}),ON=AN,NN=A({name:"QuestionFilled",__name:"question-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592 0-42.944-14.08-76.736-42.24-101.376-28.16-25.344-65.472-37.312-111.232-37.312zm-12.672 406.208a54.272 54.272 0 0 0-38.72 14.784 49.408 49.408 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.848 54.848 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.968 51.968 0 0 0-15.488-38.016 55.936 55.936 0 0 0-39.424-14.784z"})]))}}),Fg=NN,IN=A({name:"Rank",__name:"rank",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m186.496 544 41.408 41.344a32 32 0 1 1-45.248 45.312l-96-96a32 32 0 0 1 0-45.312l96-96a32 32 0 1 1 45.248 45.312L186.496 480h290.816V186.432l-41.472 41.472a32 32 0 1 1-45.248-45.184l96-96.128a32 32 0 0 1 45.312 0l96 96.064a32 32 0 0 1-45.248 45.184l-41.344-41.28V480H832l-41.344-41.344a32 32 0 0 1 45.248-45.312l96 96a32 32 0 0 1 0 45.312l-96 96a32 32 0 0 1-45.248-45.312L832 544H541.312v293.44l41.344-41.28a32 32 0 1 1 45.248 45.248l-96 96a32 32 0 0 1-45.312 0l-96-96a32 32 0 1 1 45.312-45.248l41.408 41.408V544H186.496z"})]))}}),RN=IN,PN=A({name:"ReadingLamp",__name:"reading-lamp",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M352 896h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32m-44.672-768-99.52 448h608.384l-99.52-448zm-25.6-64h460.608a32 32 0 0 1 31.232 25.088l113.792 512A32 32 0 0 1 856.128 640H167.872a32 32 0 0 1-31.232-38.912l113.792-512A32 32 0 0 1 281.664 64z"}),k("path",{fill:"currentColor",d:"M672 576q32 0 32 32v128q0 32-32 32t-32-32V608q0-32 32-32m-192-.064h64V960h-64z"})]))}}),LN=PN,VN=A({name:"Reading",__name:"reading",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m512 863.36 384-54.848v-638.72L525.568 222.72a96 96 0 0 1-27.136 0L128 169.792v638.72zM137.024 106.432l370.432 52.928a32 32 0 0 0 9.088 0l370.432-52.928A64 64 0 0 1 960 169.792v638.72a64 64 0 0 1-54.976 63.36l-388.48 55.488a32 32 0 0 1-9.088 0l-388.48-55.488A64 64 0 0 1 64 808.512v-638.72a64 64 0 0 1 73.024-63.36z"}),k("path",{fill:"currentColor",d:"M480 192h64v704h-64z"})]))}}),BN=VN,zN=A({name:"RefreshLeft",__name:"refresh-left",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}}),Kg=zN,HN=A({name:"RefreshRight",__name:"refresh-right",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88z"})]))}}),Wg=HN,DN=A({name:"Refresh",__name:"refresh",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z"})]))}}),FN=DN,KN=A({name:"Refrigerator",__name:"refrigerator",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 448h512V160a32 32 0 0 0-32-32H288a32 32 0 0 0-32 32zm0 64v352a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V512zm32-448h448a96 96 0 0 1 96 96v704a96 96 0 0 1-96 96H288a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96m32 224h64v96h-64zm0 288h64v96h-64z"})]))}}),WN=KN,jN=A({name:"RemoveFilled",__name:"remove-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896M288 512a38.4 38.4 0 0 0 38.4 38.4h371.2a38.4 38.4 0 0 0 0-76.8H326.4A38.4 38.4 0 0 0 288 512"})]))}}),qN=jN,UN=A({name:"Remove",__name:"remove",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64"}),k("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),YN=UN,GN=A({name:"Right",__name:"right",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M754.752 480H160a32 32 0 1 0 0 64h594.752L521.344 777.344a32 32 0 0 0 45.312 45.312l288-288a32 32 0 0 0 0-45.312l-288-288a32 32 0 1 0-45.312 45.312z"})]))}}),XN=GN,JN=A({name:"ScaleToOriginal",__name:"scale-to-original",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118zm-361.412 0a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118M512 361.412a30.118 30.118 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.118 30.118 0 0 0 512 361.412M512 512a30.118 30.118 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.118 30.118 0 0 0 512 512"})]))}}),jg=JN,ZN=A({name:"School",__name:"school",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M224 128v704h576V128zm-32-64h640a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32"}),k("path",{fill:"currentColor",d:"M64 832h896v64H64zm256-640h128v96H320z"}),k("path",{fill:"currentColor",d:"M384 832h256v-64a128 128 0 1 0-256 0zm128-256a192 192 0 0 1 192 192v128H320V768a192 192 0 0 1 192-192M320 384h128v96H320zm256-192h128v96H576zm0 192h128v96H576z"})]))}}),QN=ZN,eI=A({name:"Scissor",__name:"scissor",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m512.064 578.368-106.88 152.768a160 160 0 1 1-23.36-78.208L472.96 522.56 196.864 128.256a32 32 0 1 1 52.48-36.736l393.024 561.344a160 160 0 1 1-23.36 78.208l-106.88-152.704zm54.4-189.248 208.384-297.6a32 32 0 0 1 52.48 36.736l-221.76 316.672-39.04-55.808zm-376.32 425.856a96 96 0 1 0 110.144-157.248 96 96 0 0 0-110.08 157.248zm643.84 0a96 96 0 1 0-110.08-157.248 96 96 0 0 0 110.08 157.248"})]))}}),tI=eI,nI=A({name:"Search",__name:"search",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704"})]))}}),qg=nI,oI=A({name:"Select",__name:"select",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z"})]))}}),aI=oI,rI=A({name:"Sell",__name:"sell",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 483.84L768 698.496V928a32 32 0 1 1-64 0V698.496l-73.344 73.344a32 32 0 1 1-45.248-45.248l128-128a32 32 0 0 1 45.248 0l128 128a32 32 0 1 1-45.248 45.248z"})]))}}),lI=rI,sI=A({name:"SemiSelect",__name:"semi-select",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 448h768q64 0 64 64t-64 64H128q-64 0-64-64t64-64"})]))}}),iI=sI,uI=A({name:"Service",__name:"service",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M864 409.6a192 192 0 0 1-37.888 349.44A256.064 256.064 0 0 1 576 960h-96a32 32 0 1 1 0-64h96a192.064 192.064 0 0 0 181.12-128H736a32 32 0 0 1-32-32V416a32 32 0 0 1 32-32h32c10.368 0 20.544.832 30.528 2.432a288 288 0 0 0-573.056 0A193.235 193.235 0 0 1 256 384h32a32 32 0 0 1 32 32v320a32 32 0 0 1-32 32h-32a192 192 0 0 1-96-358.4 352 352 0 0 1 704 0M256 448a128 128 0 1 0 0 256zm640 128a128 128 0 0 0-128-128v256a128 128 0 0 0 128-128"})]))}}),cI=uI,dI=A({name:"SetUp",__name:"set-up",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M224 160a64 64 0 0 0-64 64v576a64 64 0 0 0 64 64h576a64 64 0 0 0 64-64V224a64 64 0 0 0-64-64zm0-64h576a128 128 0 0 1 128 128v576a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V224A128 128 0 0 1 224 96"}),k("path",{fill:"currentColor",d:"M384 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"}),k("path",{fill:"currentColor",d:"M480 320h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32m160 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"}),k("path",{fill:"currentColor",d:"M288 640h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32"})]))}}),fI=dI,pI=A({name:"Setting",__name:"setting",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357.12 357.12 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a351.616 351.616 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357.12 357.12 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294.113 294.113 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293.12 293.12 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294.113 294.113 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288.282 288.282 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293.12 293.12 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a287.616 287.616 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256"})]))}}),vI=pI,hI=A({name:"Share",__name:"share",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m679.872 348.8-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z"})]))}}),mI=hI,gI=A({name:"Ship",__name:"ship",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 386.88V448h405.568a32 32 0 0 1 30.72 40.768l-76.48 267.968A192 192 0 0 1 687.168 896H336.832a192 192 0 0 1-184.64-139.264L75.648 488.768A32 32 0 0 1 106.368 448H448V117.888a32 32 0 0 1 47.36-28.096l13.888 7.616L512 96v2.88l231.68 126.4a32 32 0 0 1-2.048 57.216zm0-70.272 144.768-65.792L512 171.84zM512 512H148.864l18.24 64H856.96l18.24-64zM185.408 640l28.352 99.2A128 128 0 0 0 336.832 832h350.336a128 128 0 0 0 123.072-92.8l28.352-99.2H185.408"})]))}}),yI=gI,_I=A({name:"Shop",__name:"shop",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M704 704h64v192H256V704h64v64h384zm188.544-152.192C894.528 559.616 896 567.616 896 576a96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0c0-8.384 1.408-16.384 3.392-24.192L192 128h640z"})]))}}),bI=_I,wI=A({name:"ShoppingBag",__name:"shopping-bag",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M704 320v96a32 32 0 0 1-32 32h-32V320H384v128h-32a32 32 0 0 1-32-32v-96H192v576h640V320zm-384-64a192 192 0 1 1 384 0h160a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32zm64 0h256a128 128 0 1 0-256 0"}),k("path",{fill:"currentColor",d:"M192 704h640v64H192z"})]))}}),CI=wI,SI=A({name:"ShoppingCartFull",__name:"shopping-cart-full",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96m320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96M96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128zm314.24 576h395.904l82.304-384H333.44l76.8 384z"}),k("path",{fill:"currentColor",d:"M699.648 256 608 145.984 516.352 256h183.296zm-140.8-151.04a64 64 0 0 1 98.304 0L836.352 320H379.648l179.2-215.04"})]))}}),kI=SI,EI=A({name:"ShoppingCart",__name:"shopping-cart",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96m320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96M96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128zm314.24 576h395.904l82.304-384H333.44l76.8 384z"})]))}}),xI=EI,MI=A({name:"ShoppingTrolley",__name:"shopping-trolley",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M368 833c-13.3 0-24.5 4.5-33.5 13.5S321 866.7 321 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S415 893.3 415 880s-4.5-24.5-13.5-33.5S381.3 833 368 833m439-193c7.4 0 13.8-2.2 19.5-6.5S836 623.3 838 616l112-448c2-10-.2-19.2-6.5-27.5S929 128 919 128H96c-9.3 0-17 3-23 9s-9 13.7-9 23 3 17 9 23 13.7 9 23 9h96v576h672c9.3 0 17-3 23-9s9-13.7 9-23-3-17-9-23-13.7-9-23-9H256v-64zM256 192h622l-96 384H256zm432 641c-13.3 0-24.5 4.5-33.5 13.5S641 866.7 641 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S735 893.3 735 880s-4.5-24.5-13.5-33.5S701.3 833 688 833"})]))}}),$I=MI,TI=A({name:"Smoking",__name:"smoking",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 576v128h640V576zm-32-64h704a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32"}),k("path",{fill:"currentColor",d:"M704 576h64v128h-64zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z"})]))}}),AI=TI,OI=A({name:"Soccer",__name:"soccer",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M418.496 871.04 152.256 604.8c-16.512 94.016-2.368 178.624 42.944 224 44.928 44.928 129.344 58.752 223.296 42.24m72.32-18.176a573.056 573.056 0 0 0 224.832-137.216 573.12 573.12 0 0 0 137.216-224.832L533.888 171.84a578.56 578.56 0 0 0-227.52 138.496A567.68 567.68 0 0 0 170.432 532.48l320.384 320.384zM871.04 418.496c16.512-93.952 2.688-178.368-42.24-223.296-44.544-44.544-128.704-58.048-222.592-41.536zM149.952 874.048c-112.96-112.96-88.832-408.96 111.168-608.96C461.056 65.152 760.96 36.928 874.048 149.952c113.024 113.024 86.784 411.008-113.152 610.944-199.936 199.936-497.92 226.112-610.944 113.152m452.544-497.792 22.656-22.656a32 32 0 0 1 45.248 45.248l-22.656 22.656 45.248 45.248A32 32 0 1 1 647.744 512l-45.248-45.248L557.248 512l45.248 45.248a32 32 0 1 1-45.248 45.248L512 557.248l-45.248 45.248L512 647.744a32 32 0 1 1-45.248 45.248l-45.248-45.248-22.656 22.656a32 32 0 1 1-45.248-45.248l22.656-22.656-45.248-45.248A32 32 0 1 1 376.256 512l45.248 45.248L466.752 512l-45.248-45.248a32 32 0 1 1 45.248-45.248L512 466.752l45.248-45.248L512 376.256a32 32 0 0 1 45.248-45.248l45.248 45.248z"})]))}}),NI=OI,II=A({name:"SoldOut",__name:"sold-out",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 476.16a32 32 0 1 1 45.248 45.184l-128 128a32 32 0 0 1-45.248 0l-128-128a32 32 0 1 1 45.248-45.248L704 837.504V608a32 32 0 1 1 64 0v229.504l73.408-73.408z"})]))}}),RI=II,PI=A({name:"SortDown",__name:"sort-down",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M576 96v709.568L333.312 562.816A32 32 0 1 0 288 608l297.408 297.344A32 32 0 0 0 640 882.688V96a32 32 0 0 0-64 0"})]))}}),Ug=PI,LI=A({name:"SortUp",__name:"sort-up",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M384 141.248V928a32 32 0 1 0 64 0V218.56l242.688 242.688A32 32 0 1 0 736 416L438.592 118.656A32 32 0 0 0 384 141.248"})]))}}),Yg=LI,VI=A({name:"Sort",__name:"sort",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M384 96a32 32 0 0 1 64 0v786.752a32 32 0 0 1-54.592 22.656L95.936 608a32 32 0 0 1 0-45.312h.128a32 32 0 0 1 45.184 0L384 805.632zm192 45.248a32 32 0 0 1 54.592-22.592L928.064 416a32 32 0 0 1 0 45.312h-.128a32 32 0 0 1-45.184 0L640 218.496V928a32 32 0 1 1-64 0V141.248z"})]))}}),BI=VI,zI=A({name:"Stamp",__name:"stamp",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M624 475.968V640h144a128 128 0 0 1 128 128H128a128 128 0 0 1 128-128h144V475.968a192 192 0 1 1 224 0M128 896v-64h768v64z"})]))}}),HI=zI,DI=A({name:"StarFilled",__name:"star-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M283.84 867.84 512 747.776l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72z"})]))}}),Ql=DI,FI=A({name:"Star",__name:"star",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m512 747.84 228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}}),Gg=FI,KI=A({name:"Stopwatch",__name:"stopwatch",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),k("path",{fill:"currentColor",d:"M672 234.88c-39.168 174.464-80 298.624-122.688 372.48-64 110.848-202.624 30.848-138.624-80C453.376 453.44 540.48 355.968 672 234.816z"})]))}}),WI=KI,jI=A({name:"SuccessFilled",__name:"success-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),i2=jI,qI=A({name:"Sugar",__name:"sugar",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m801.728 349.184 4.48 4.48a128 128 0 0 1 0 180.992L534.656 806.144a128 128 0 0 1-181.056 0l-4.48-4.48-19.392 109.696a64 64 0 0 1-108.288 34.176L78.464 802.56a64 64 0 0 1 34.176-108.288l109.76-19.328-4.544-4.544a128 128 0 0 1 0-181.056l271.488-271.488a128 128 0 0 1 181.056 0l4.48 4.48 19.392-109.504a64 64 0 0 1 108.352-34.048l142.592 143.04a64 64 0 0 1-34.24 108.16l-109.248 19.2zm-548.8 198.72h447.168v2.24l60.8-60.8a63.808 63.808 0 0 0 18.752-44.416h-426.88l-89.664 89.728a64.064 64.064 0 0 0-10.24 13.248zm0 64c2.752 4.736 6.144 9.152 10.176 13.248l135.744 135.744a64 64 0 0 0 90.496 0L638.4 611.904zm490.048-230.976L625.152 263.104a64 64 0 0 0-90.496 0L416.768 380.928zM123.712 757.312l142.976 142.976 24.32-137.6a25.6 25.6 0 0 0-29.696-29.632l-137.6 24.256zm633.6-633.344-24.32 137.472a25.6 25.6 0 0 0 29.632 29.632l137.28-24.064-142.656-143.04z"})]))}}),UI=qI,YI=A({name:"SuitcaseLine",__name:"suitcase-line",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M922.5 229.5c-24.32-24.34-54.49-36.84-90.5-37.5H704v-64c-.68-17.98-7.02-32.98-19.01-44.99S658.01 64.66 640 64H384c-17.98.68-32.98 7.02-44.99 19.01S320.66 110 320 128v64H192c-35.99.68-66.16 13.18-90.5 37.5C77.16 253.82 64.66 283.99 64 320v448c.68 35.99 13.18 66.16 37.5 90.5s54.49 36.84 90.5 37.5h640c35.99-.68 66.16-13.18 90.5-37.5s36.84-54.49 37.5-90.5V320c-.68-35.99-13.18-66.16-37.5-90.5M384 128h256v64H384zM256 832h-64c-17.98-.68-32.98-7.02-44.99-19.01S128.66 786.01 128 768V448h128zm448 0H320V448h384zm192-64c-.68 17.98-7.02 32.98-19.01 44.99S850.01 831.34 832 832h-64V448h128zm0-384H128v-64c.69-17.98 7.02-32.98 19.01-44.99S173.99 256.66 192 256h640c17.98.69 32.98 7.02 44.99 19.01S895.34 301.99 896 320z"})]))}}),GI=YI,XI=A({name:"Suitcase",__name:"suitcase",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 384h768v-64a64 64 0 0 0-64-64H192a64 64 0 0 0-64 64zm0 64v320a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V448zm64-256h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128"}),k("path",{fill:"currentColor",d:"M384 128v64h256v-64zm0-64h256a64 64 0 0 1 64 64v64a64 64 0 0 1-64 64H384a64 64 0 0 1-64-64v-64a64 64 0 0 1 64-64"})]))}}),JI=XI,ZI=A({name:"Sunny",__name:"sunny",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 704a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512m0-704a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 768a32 32 0 0 1 32 32v64a32 32 0 1 1-64 0v-64a32 32 0 0 1 32-32M195.2 195.2a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 1 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm543.104 543.104a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 0 1-45.248 45.248l-45.248-45.248a32 32 0 0 1 0-45.248M64 512a32 32 0 0 1 32-32h64a32 32 0 0 1 0 64H96a32 32 0 0 1-32-32m768 0a32 32 0 0 1 32-32h64a32 32 0 1 1 0 64h-64a32 32 0 0 1-32-32M195.2 828.8a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248L240.448 828.8a32 32 0 0 1-45.248 0zm543.104-543.104a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248l-45.248 45.248a32 32 0 0 1-45.248 0"})]))}}),QI=ZI,eR=A({name:"Sunrise",__name:"sunrise",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M32 768h960a32 32 0 1 1 0 64H32a32 32 0 1 1 0-64m129.408-96a352 352 0 0 1 701.184 0h-64.32a288 288 0 0 0-572.544 0h-64.32zM512 128a32 32 0 0 1 32 32v96a32 32 0 0 1-64 0v-96a32 32 0 0 1 32-32m407.296 168.704a32 32 0 0 1 0 45.248l-67.84 67.84a32 32 0 1 1-45.248-45.248l67.84-67.84a32 32 0 0 1 45.248 0zm-814.592 0a32 32 0 0 1 45.248 0l67.84 67.84a32 32 0 1 1-45.248 45.248l-67.84-67.84a32 32 0 0 1 0-45.248"})]))}}),tR=eR,nR=A({name:"Sunset",__name:"sunset",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M82.56 640a448 448 0 1 1 858.88 0h-67.2a384 384 0 1 0-724.288 0zM32 704h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32m256 128h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32"})]))}}),oR=nR,aR=A({name:"SwitchButton",__name:"switch-button",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M352 159.872V230.4a352 352 0 1 0 320 0v-70.528A416.128 416.128 0 0 1 512 960a416 416 0 0 1-160-800.128z"}),k("path",{fill:"currentColor",d:"M512 64q32 0 32 32v320q0 32-32 32t-32-32V96q0-32 32-32"})]))}}),rR=aR,lR=A({name:"SwitchFilled",__name:"switch-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M247.47 358.4v.04c.07 19.17 7.72 37.53 21.27 51.09s31.92 21.2 51.09 21.27c39.86 0 72.41-32.6 72.41-72.4s-32.6-72.36-72.41-72.36-72.36 32.55-72.36 72.36z"}),k("path",{fill:"currentColor",d:"M492.38 128H324.7c-52.16 0-102.19 20.73-139.08 57.61a196.655 196.655 0 0 0-57.61 139.08V698.7c-.01 25.84 5.08 51.42 14.96 75.29s24.36 45.56 42.63 63.83 39.95 32.76 63.82 42.65a196.67 196.67 0 0 0 75.28 14.98h167.68c3.03 0 5.46-2.43 5.46-5.42V133.42c.6-2.99-1.83-5.42-5.46-5.42zm-56.11 705.88H324.7c-17.76.13-35.36-3.33-51.75-10.18s-31.22-16.94-43.61-29.67c-25.3-25.35-39.81-59.1-39.81-95.32V324.69c-.13-17.75 3.33-35.35 10.17-51.74a131.695 131.695 0 0 1 29.64-43.62c25.39-25.3 59.14-39.81 95.36-39.81h111.57zm402.12-647.67a196.655 196.655 0 0 0-139.08-57.61H580.48c-3.03 0-4.82 2.43-4.82 4.82v757.16c-.6 2.99 1.79 5.42 5.42 5.42h118.23a196.69 196.69 0 0 0 139.08-57.61A196.655 196.655 0 0 0 896 699.31V325.29a196.69 196.69 0 0 0-57.61-139.08zm-111.3 441.92c-42.83 0-77.82-34.99-77.82-77.82s34.98-77.82 77.82-77.82c42.83 0 77.82 34.99 77.82 77.82s-34.99 77.82-77.82 77.82z"})]))}}),sR=lR,iR=A({name:"Switch",__name:"switch",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M118.656 438.656a32 32 0 0 1 0-45.248L416 96l4.48-3.776A32 32 0 0 1 461.248 96l3.712 4.48a32.064 32.064 0 0 1-3.712 40.832L218.56 384H928a32 32 0 1 1 0 64H141.248a32 32 0 0 1-22.592-9.344zM64 608a32 32 0 0 1 32-32h786.752a32 32 0 0 1 22.656 54.592L608 928l-4.48 3.776a32.064 32.064 0 0 1-40.832-49.024L805.632 640H96a32 32 0 0 1-32-32"})]))}}),uR=iR,cR=A({name:"TakeawayBox",__name:"takeaway-box",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M832 384H192v448h640zM96 320h832V128H96zm800 64v480a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V384H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h896a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32zM416 512h192a32 32 0 0 1 0 64H416a32 32 0 0 1 0-64"})]))}}),dR=cR,fR=A({name:"Ticket",__name:"ticket",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M640 832H64V640a128 128 0 1 0 0-256V192h576v160h64V192h256v192a128 128 0 1 0 0 256v192H704V672h-64zm0-416v192h64V416z"})]))}}),pR=fR,vR=A({name:"Tickets",__name:"tickets",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M192 128v768h640V128zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h192v64H320zm0 384h384v64H320z"})]))}}),hR=vR,mR=A({name:"Timer",__name:"timer",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 896a320 320 0 1 0 0-640 320 320 0 0 0 0 640m0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768"}),k("path",{fill:"currentColor",d:"M512 320a32 32 0 0 1 32 32l-.512 224a32 32 0 1 1-64 0L480 352a32 32 0 0 1 32-32"}),k("path",{fill:"currentColor",d:"M448 576a64 64 0 1 0 128 0 64 64 0 1 0-128 0m96-448v128h-64V128h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64z"})]))}}),gR=mR,yR=A({name:"ToiletPaper",__name:"toilet-paper",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M595.2 128H320a192 192 0 0 0-192 192v576h384V352c0-90.496 32.448-171.2 83.2-224M736 64c123.712 0 224 128.96 224 288S859.712 640 736 640H576v320H64V320A256 256 0 0 1 320 64zM576 352v224h160c84.352 0 160-97.28 160-224s-75.648-224-160-224-160 97.28-160 224"}),k("path",{fill:"currentColor",d:"M736 448c-35.328 0-64-43.008-64-96s28.672-96 64-96 64 43.008 64 96-28.672 96-64 96"})]))}}),_R=yR,bR=A({name:"Tools",__name:"tools",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M764.416 254.72a351.68 351.68 0 0 1 86.336 149.184H960v192.064H850.752a351.68 351.68 0 0 1-86.336 149.312l54.72 94.72-166.272 96-54.592-94.72a352.64 352.64 0 0 1-172.48 0L371.136 936l-166.272-96 54.72-94.72a351.68 351.68 0 0 1-86.336-149.312H64v-192h109.248a351.68 351.68 0 0 1 86.336-149.312L204.8 160l166.208-96h.192l54.656 94.592a352.64 352.64 0 0 1 172.48 0L652.8 64h.128L819.2 160l-54.72 94.72zM704 499.968a192 192 0 1 0-384 0 192 192 0 0 0 384 0"})]))}}),wR=bR,CR=A({name:"TopLeft",__name:"top-left",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M256 256h416a32 32 0 1 0 0-64H224a32 32 0 0 0-32 32v448a32 32 0 0 0 64 0z"}),k("path",{fill:"currentColor",d:"M246.656 201.344a32 32 0 0 0-45.312 45.312l544 544a32 32 0 0 0 45.312-45.312l-544-544z"})]))}}),SR=CR,kR=A({name:"TopRight",__name:"top-right",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M768 256H353.6a32 32 0 1 1 0-64H800a32 32 0 0 1 32 32v448a32 32 0 0 1-64 0z"}),k("path",{fill:"currentColor",d:"M777.344 201.344a32 32 0 0 1 45.312 45.312l-544 544a32 32 0 0 1-45.312-45.312l544-544z"})]))}}),ER=kR,xR=A({name:"Top",__name:"top",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})]))}}),MR=xR,$R=A({name:"TrendCharts",__name:"trend-charts",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128 896V128h768v768zm291.712-327.296 128 102.4 180.16-201.792-47.744-42.624-139.84 156.608-128-102.4-180.16 201.792 47.744 42.624 139.84-156.608zM816 352a48 48 0 1 0-96 0 48 48 0 0 0 96 0"})]))}}),TR=$R,AR=A({name:"TrophyBase",__name:"trophy-base",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M918.4 201.6c-6.4-6.4-12.8-9.6-22.4-9.6H768V96c0-9.6-3.2-16-9.6-22.4C752 67.2 745.6 64 736 64H288c-9.6 0-16 3.2-22.4 9.6C259.2 80 256 86.4 256 96v96H128c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 16-9.6 22.4 3.2 108.8 25.6 185.6 64 224 34.4 34.4 77.56 55.65 127.65 61.99 10.91 20.44 24.78 39.25 41.95 56.41 40.86 40.86 91 65.47 150.4 71.9V768h-96c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h256c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6h-96V637.26c59.4-7.71 109.54-30.01 150.4-70.86 17.2-17.2 31.51-36.06 42.81-56.55 48.93-6.51 90.02-27.7 126.79-61.85 38.4-38.4 60.8-112 64-224 0-6.4-3.2-16-9.6-22.4zM256 438.4c-19.2-6.4-35.2-19.2-51.2-35.2-22.4-22.4-35.2-70.4-41.6-147.2H256zm390.4 80C608 553.6 566.4 576 512 576s-99.2-19.2-134.4-57.6C342.4 480 320 438.4 320 384V128h384v256c0 54.4-19.2 99.2-57.6 134.4m172.8-115.2c-16 16-32 25.6-51.2 35.2V256h92.8c-6.4 76.8-19.2 124.8-41.6 147.2zM768 896H256c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h512c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6"})]))}}),OR=AR,NR=A({name:"Trophy",__name:"trophy",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M480 896V702.08A256.256 256.256 0 0 1 264.064 512h-32.64a96 96 0 0 1-91.968-68.416L93.632 290.88a76.8 76.8 0 0 1 73.6-98.88H256V96a32 32 0 0 1 32-32h448a32 32 0 0 1 32 32v96h88.768a76.8 76.8 0 0 1 73.6 98.88L884.48 443.52A96 96 0 0 1 792.576 512h-32.64A256.256 256.256 0 0 1 544 702.08V896h128a32 32 0 1 1 0 64H352a32 32 0 1 1 0-64zm224-448V128H320v320a192 192 0 1 0 384 0m64 0h24.576a32 32 0 0 0 30.656-22.784l45.824-152.768A12.8 12.8 0 0 0 856.768 256H768zm-512 0V256h-88.768a12.8 12.8 0 0 0-12.288 16.448l45.824 152.768A32 32 0 0 0 231.424 448z"})]))}}),IR=NR,RR=A({name:"TurnOff",__name:"turn-off",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z"}),k("path",{fill:"currentColor",d:"M329.956 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454m0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088"})]))}}),PR=RR,LR=A({name:"Umbrella",__name:"umbrella",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M320 768a32 32 0 1 1 64 0 64 64 0 0 0 128 0V512H64a448 448 0 1 1 896 0H576v256a128 128 0 1 1-256 0m570.688-320a384.128 384.128 0 0 0-757.376 0z"})]))}}),VR=LR,BR=A({name:"Unlock",__name:"unlock",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96"}),k("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m178.304-295.296A192.064 192.064 0 0 0 320 320v64h352l96 38.4V448H256V320a256 256 0 0 1 493.76-95.104z"})]))}}),zR=BR,HR=A({name:"UploadFilled",__name:"upload-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M544 864V672h128L512 480 352 672h128v192H320v-1.6c-5.376.32-10.496 1.6-16 1.6A240 240 0 0 1 64 624c0-123.136 93.12-223.488 212.608-237.248A239.808 239.808 0 0 1 512 192a239.872 239.872 0 0 1 235.456 194.752c119.488 13.76 212.48 114.112 212.48 237.248a240 240 0 0 1-240 240c-5.376 0-10.56-1.28-16-1.6v1.6z"})]))}}),DR=HR,FR=A({name:"Upload",__name:"upload",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m384-578.304V704h-64V247.296L237.248 490.048 192 444.8 508.8 128l316.8 316.8-45.312 45.248z"})]))}}),KR=FR,WR=A({name:"UserFilled",__name:"user-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0m544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"})]))}}),jR=WR,qR=A({name:"User",__name:"user",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512m320 320v-96a96 96 0 0 0-96-96H288a96 96 0 0 0-96 96v96a32 32 0 1 1-64 0v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 1 1-64 0"})]))}}),UR=qR,YR=A({name:"Van",__name:"van",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M128.896 736H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v96h164.544a32 32 0 0 1 31.616 27.136l54.144 352A32 32 0 0 1 922.688 736h-91.52a144 144 0 1 1-286.272 0H415.104a144 144 0 1 1-286.272 0zm23.36-64a143.872 143.872 0 0 1 239.488 0H568.32c17.088-25.6 42.24-45.376 71.744-55.808V256H128v416zm655.488 0h77.632l-19.648-128H704v64.896A144 144 0 0 1 807.744 672m48.128-192-14.72-96H704v96h151.872M688 832a80 80 0 1 0 0-160 80 80 0 0 0 0 160m-416 0a80 80 0 1 0 0-160 80 80 0 0 0 0 160"})]))}}),GR=YR,XR=A({name:"VideoCameraFilled",__name:"video-camera-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m768 576 192-64v320l-192-64v96a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V480a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zM192 768v64h384v-64zm192-480a160 160 0 0 1 320 0 160 160 0 0 1-320 0m64 0a96 96 0 1 0 192.064-.064A96 96 0 0 0 448 288m-320 32a128 128 0 1 1 256.064.064A128 128 0 0 1 128 320m64 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0"})]))}}),JR=XR,ZR=A({name:"VideoCamera",__name:"video-camera",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M704 768V256H128v512zm64-416 192-96v512l-192-96v128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 71.552v176.896l128 64V359.552zM192 320h192v64H192z"})]))}}),QR=ZR,eP=A({name:"VideoPause",__name:"video-pause",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32m192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32"})]))}}),tP=eP,nP=A({name:"VideoPlay",__name:"video-play",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-48-247.616L668.608 512 464 375.616zm10.624-342.656 249.472 166.336a48 48 0 0 1 0 79.872L474.624 718.272A48 48 0 0 1 400 678.336V345.6a48 48 0 0 1 74.624-39.936z"})]))}}),oP=nP,aP=A({name:"View",__name:"view",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),Xg=aP,rP=A({name:"WalletFilled",__name:"wallet-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M688 512a112 112 0 1 0 0 224h208v160H128V352h768v160zm32 160h-32a48 48 0 0 1 0-96h32a48 48 0 0 1 0 96m-80-544 128 160H384z"})]))}}),lP=rP,sP=A({name:"Wallet",__name:"wallet",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M640 288h-64V128H128v704h384v32a32 32 0 0 0 32 32H96a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32z"}),k("path",{fill:"currentColor",d:"M128 320v512h768V320zm-32-64h832a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32"}),k("path",{fill:"currentColor",d:"M704 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128"})]))}}),iP=sP,uP=A({name:"WarnTriangleFilled",__name:"warn-triangle-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M928.99 755.83 574.6 203.25c-12.89-20.16-36.76-32.58-62.6-32.58s-49.71 12.43-62.6 32.58L95.01 755.83c-12.91 20.12-12.9 44.91.01 65.03 12.92 20.12 36.78 32.51 62.59 32.49h708.78c25.82.01 49.68-12.37 62.59-32.49 12.91-20.12 12.92-44.91.01-65.03M554.67 768h-85.33v-85.33h85.33zm0-426.67v298.66h-85.33V341.32z"})]))}}),cP=uP,dP=A({name:"WarningFilled",__name:"warning-filled",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}}),ti=dP,fP=A({name:"Warning",__name:"warning",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0m-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"})]))}}),pP=fP,vP=A({name:"Watch",__name:"watch",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M512 768a256 256 0 1 0 0-512 256 256 0 0 0 0 512m0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640"}),k("path",{fill:"currentColor",d:"M480 352a32 32 0 0 1 32 32v160a32 32 0 0 1-64 0V384a32 32 0 0 1 32-32"}),k("path",{fill:"currentColor",d:"M480 512h128q32 0 32 32t-32 32H480q-32 0-32-32t32-32m128-256V128H416v128h-64V64h320v192zM416 768v128h192V768h64v192H352V768z"})]))}}),hP=vP,mP=A({name:"Watermelon",__name:"watermelon",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m683.072 600.32-43.648 162.816-61.824-16.512 53.248-198.528L576 493.248l-158.4 158.4-45.248-45.248 158.4-158.4-55.616-55.616-198.528 53.248-16.512-61.824 162.816-43.648L282.752 200A384 384 0 0 0 824 741.248zm231.552 141.056a448 448 0 1 1-632-632l632 632"})]))}}),gP=mP,yP=A({name:"WindPower",__name:"wind-power",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"M160 64q32 0 32 32v832q0 32-32 32t-32-32V96q0-32 32-32m416 354.624 128-11.584V168.96l-128-11.52v261.12zm-64 5.824V151.552L320 134.08V160h-64V64l616.704 56.064A96 96 0 0 1 960 215.68v144.64a96 96 0 0 1-87.296 95.616L256 512V224h64v217.92zm256-23.232 98.88-8.96A32 32 0 0 0 896 360.32V215.68a32 32 0 0 0-29.12-31.872l-98.88-8.96z"})]))}}),_P=yP,bP=A({name:"ZoomIn",__name:"zoom-in",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),u2=bP,wP=A({name:"ZoomOut",__name:"zoom-out",setup(e){return(t,n)=>(y(),M("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[k("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}}),Jg=wP;const CP=Object.freeze(Object.defineProperty({__proto__:null,AddLocation:_E,Aim:wE,AlarmClock:SE,Apple:EE,ArrowDown:Bo,ArrowDownBold:ME,ArrowLeft:aa,ArrowLeftBold:AE,ArrowRight:Sn,ArrowRightBold:IE,ArrowUp:Cc,ArrowUpBold:LE,Avatar:zE,Back:Og,Baseball:FE,Basketball:WE,Bell:YE,BellFilled:qE,Bicycle:XE,Bottom:nx,BottomLeft:ZE,BottomRight:ex,Bowl:ax,Box:lx,Briefcase:ix,Brush:fx,BrushFilled:cx,Burger:vx,Calendar:Ng,Camera:_x,CameraFilled:gx,CaretBottom:wx,CaretLeft:Sx,CaretRight:r2,CaretTop:Ig,Cellphone:Mx,ChatDotRound:Tx,ChatDotSquare:Ox,ChatLineRound:Ix,ChatLineSquare:Px,ChatRound:Vx,ChatSquare:zx,Check:Bl,Checked:Fx,Cherry:Wx,Chicken:qx,ChromeFilled:Yx,CircleCheck:Sc,CircleCheckFilled:Rg,CircleClose:fa,CircleCloseFilled:kc,CirclePlus:nM,CirclePlusFilled:eM,Clock:l2,Close:uo,CloseBold:rM,Cloudy:iM,Coffee:fM,CoffeeCup:cM,Coin:vM,ColdDrink:mM,Collection:bM,CollectionTag:yM,Comment:CM,Compass:kM,Connection:xM,Coordinate:$M,CopyDocument:AM,Cpu:NM,CreditCard:RM,Crop:LM,DArrowLeft:Mr,DArrowRight:$r,DCaret:HM,DataAnalysis:FM,DataBoard:WM,DataLine:qM,Delete:Pg,DeleteFilled:YM,DeleteLocation:XM,Dessert:QM,Discount:t$,Dish:r$,DishDot:o$,Document:Lg,DocumentAdd:s$,DocumentChecked:u$,DocumentCopy:d$,DocumentDelete:p$,DocumentRemove:h$,Download:y$,Drizzling:b$,Edit:k$,EditPen:C$,Eleme:$$,ElemeFilled:x$,ElementPlus:A$,Expand:N$,Failed:R$,Female:L$,Files:B$,Film:H$,Filter:F$,Finished:W$,FirstAidKit:q$,Flag:Y$,Fold:X$,Folder:iT,FolderAdd:Z$,FolderChecked:eT,FolderDelete:nT,FolderOpened:aT,FolderRemove:lT,Food:cT,Football:fT,ForkSpoon:vT,Fries:mT,FullScreen:Vg,Goblet:ET,GobletFull:_T,GobletSquare:ST,GobletSquareFull:wT,GoldMedal:MT,Goods:OT,GoodsFilled:TT,Grape:IT,Grid:PT,Guide:VT,Handbag:zT,Headset:DT,Help:jT,HelpFilled:KT,Hide:Bg,Histogram:YT,HomeFilled:XT,HotWater:ZT,House:eA,IceCream:lA,IceCreamRound:nA,IceCreamSquare:aA,IceDrink:iA,IceTea:cA,InfoFilled:Ec,Iphone:pA,Key:hA,KnifeFork:gA,Lightning:_A,Link:wA,List:SA,Loading:pa,Location:AA,LocationFilled:xA,LocationInformation:$A,Lock:NA,Lollipop:RA,MagicStick:LA,Magnet:BA,Male:HA,Management:FA,MapLocation:WA,Medal:qA,Memo:YA,Menu:XA,Message:eO,MessageBox:ZA,Mic:nO,Microphone:aO,MilkTea:lO,Minus:zg,Money:uO,Monitor:dO,Moon:hO,MoonNight:pO,More:Hg,MoreFilled:cf,MostlyCloudy:_O,Mouse:wO,Mug:SO,Mute:MO,MuteNotification:EO,NoSmoking:TO,Notebook:OO,Notification:IO,Odometer:PO,OfficeBuilding:VO,Open:zO,Operation:DO,Opportunity:KO,Orange:jO,Paperclip:UO,PartlyCloudy:GO,Pear:JO,Phone:tN,PhoneFilled:QO,Picture:lN,PictureFilled:Dg,PictureRounded:aN,PieChart:iN,Place:cN,Platform:fN,Plus:s2,Pointer:hN,Position:gN,Postcard:_N,Pouring:wN,Present:SN,PriceTag:EN,Printer:MN,Promotion:TN,QuartzWatch:ON,QuestionFilled:Fg,Rank:RN,Reading:BN,ReadingLamp:LN,Refresh:FN,RefreshLeft:Kg,RefreshRight:Wg,Refrigerator:WN,Remove:YN,RemoveFilled:qN,Right:XN,ScaleToOriginal:jg,School:QN,Scissor:tI,Search:qg,Select:aI,Sell:lI,SemiSelect:iI,Service:cI,SetUp:fI,Setting:vI,Share:mI,Ship:yI,Shop:bI,ShoppingBag:CI,ShoppingCart:xI,ShoppingCartFull:kI,ShoppingTrolley:$I,Smoking:AI,Soccer:NI,SoldOut:RI,Sort:BI,SortDown:Ug,SortUp:Yg,Stamp:HI,Star:Gg,StarFilled:Ql,Stopwatch:WI,SuccessFilled:i2,Sugar:UI,Suitcase:JI,SuitcaseLine:GI,Sunny:QI,Sunrise:tR,Sunset:oR,Switch:uR,SwitchButton:rR,SwitchFilled:sR,TakeawayBox:dR,Ticket:pR,Tickets:hR,Timer:gR,ToiletPaper:_R,Tools:wR,Top:MR,TopLeft:SR,TopRight:ER,TrendCharts:TR,Trophy:IR,TrophyBase:OR,TurnOff:PR,Umbrella:VR,Unlock:zR,Upload:KR,UploadFilled:DR,User:UR,UserFilled:jR,Van:GR,VideoCamera:QR,VideoCameraFilled:JR,VideoPause:tP,VideoPlay:oP,View:Xg,Wallet:iP,WalletFilled:lP,WarnTriangleFilled:cP,Warning:pP,WarningFilled:ti,Watch:hP,Watermelon:gP,WindPower:_P,ZoomIn:u2,ZoomOut:Jg},Symbol.toStringTag,{value:"Module"})),Zg="__epPropKey",X=e=>e,SP=e=>ct(e)&&!!e[Zg],So=(e,t)=>{if(!ct(e)||SP(e))return e;const{values:n,required:o,default:a,type:r,validator:l}=e,u={type:r,required:!!o,validator:n||l?d=>{let f=!1,c=[];if(n&&(c=Array.from(n),yt(e,"default")&&c.push(a),f||(f=c.includes(d))),l&&(f||(f=l(d))),!f&&c.length>0){const p=[...new Set(c)].map(h=>JSON.stringify(h)).join(", ");lw(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${p}], got value ${JSON.stringify(d)}.`)}return f}:void 0,[Zg]:!0};return yt(e,"default")&&(u.default=a),u},Ee=e=>Pu(Object.entries(e).map(([t,n])=>[t,So(n,t)])),$t=X([String,Object,Function]),c2={Close:uo},d2={Close:uo,SuccessFilled:i2,InfoFilled:Ec,WarningFilled:ti,CircleCloseFilled:kc},Ka={success:i2,warning:ti,error:kc,info:Ec},f2={validating:pa,success:Sc,error:fa},lt=(e,t)=>{if(e.install=n=>{for(const o of[e,...Object.values(t??{})])n.component(o.name,o)},t)for(const[n,o]of Object.entries(t))e[n]=o;return e},Qg=(e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e),kP=(e,t)=>(e.install=n=>{n.directive(t,e)},e),Dt=e=>(e.install=Et,e),xc=(...e)=>t=>{e.forEach(n=>{Xe(n)?n(t):n.value=t})},Ke={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},EP=["year","years","month","date","dates","week","datetime","datetimerange","daterange","monthrange"],md=["sun","mon","tue","wed","thu","fri","sat"],it="update:modelValue",Bt="change",Tn="input",f1=Symbol("INSTALLED_KEY"),zo=["","default","small","large"],e6=e=>["",...zo].includes(e);var Zn=(e=>(e[e.TEXT=1]="TEXT",e[e.CLASS=2]="CLASS",e[e.STYLE=4]="STYLE",e[e.PROPS=8]="PROPS",e[e.FULL_PROPS=16]="FULL_PROPS",e[e.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",e[e.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",e[e.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",e[e.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",e[e.NEED_PATCH=512]="NEED_PATCH",e[e.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",e[e.HOISTED=-1]="HOISTED",e[e.BAIL=-2]="BAIL",e))(Zn||{});function df(e){return zt(e)&&e.type===Fe}function xP(e){return zt(e)&&e.type===$n}function MP(e){return zt(e)&&!df(e)&&!xP(e)}const $P=e=>{if(!zt(e))return{};const t=e.props||{},n=(zt(e.type)?e.type.props:void 0)||{},o={};return Object.keys(n).forEach(a=>{yt(n[a],"default")&&(o[a]=n[a].default)}),Object.keys(t).forEach(a=>{o[lo(a)]=t[a]}),o},TP=e=>{if(!Ie(e)||e.length>1)throw new Error("expect to receive a single Vue element child");return e[0]},La=e=>{const t=Ie(e)?e:[e],n=[];return t.forEach(o=>{var a;Ie(o)?n.push(...La(o)):zt(o)&&Ie(o.children)?n.push(...La(o.children)):(n.push(o),zt(o)&&((a=o.component)!=null&&a.subTree)&&n.push(...La(o.component.subTree)))}),n},p1=e=>[...new Set(e)],jn=e=>!e&&e!==0?[]:Array.isArray(e)?e:[e],p2=e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e),Ht=e=>e;function AP(e){let t=0;const n=(...o)=>{t&&xr(t),t=Fa(()=>{e(...o),t=0})};return n.cancel=()=>{xr(t),t=0},n}const OP=["class","style"],NP=/^on[A-Z]/,v2=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,o=S(()=>((n==null?void 0:n.value)||[]).concat(OP)),a=rt();return S(a?()=>{var r;return Pu(Object.entries((r=a.proxy)==null?void 0:r.$attrs).filter(([l])=>!o.value.includes(l)&&!(t&&NP.test(l))))}:()=>({}))},gr=({from:e,replacement:t,scope:n,version:o,ref:a,type:r="API"},l)=>{pe(()=>s(l),i=>{},{immediate:!0})},t6=(e,t,n,o)=>{let a={offsetX:0,offsetY:0};const r=u=>{const d=u.clientX,f=u.clientY,{offsetX:c,offsetY:p}=a,h=e.value.getBoundingClientRect(),m=h.left,v=h.top,_=h.width,g=h.height,w=document.documentElement.clientWidth,b=document.documentElement.clientHeight,C=-m+c,x=-v+p,E=w-m-_+c,O=b-v-g+p,T=L=>{let P=c+L.clientX-d,z=p+L.clientY-f;o!=null&&o.value||(P=Math.min(Math.max(P,C),E),z=Math.min(Math.max(z,x),O)),a={offsetX:P,offsetY:z},e.value&&(e.value.style.transform=`translate(${Xt(P)}, ${Xt(z)})`)},V=()=>{document.removeEventListener("mousemove",T),document.removeEventListener("mouseup",V)};document.addEventListener("mousemove",T),document.addEventListener("mouseup",V)},l=()=>{t.value&&e.value&&t.value.addEventListener("mousedown",r)},i=()=>{t.value&&e.value&&t.value.removeEventListener("mousedown",r)};et(()=>{gn(()=>{n.value?l():i()})}),It(()=>{i()})};var IP={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color."},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tour:{next:"Next",previous:"Previous",finish:"Finish"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const RP=e=>(t,n)=>PP(t,n,s(e)),PP=(e,t,n)=>Gt(n,e,e).replace(/\{(\w+)\}/g,(o,a)=>{var r;return`${(r=t==null?void 0:t[a])!=null?r:`{${a}}`}`}),LP=e=>{const t=S(()=>s(e).name),n=Pt(e)?e:R(e);return{lang:t,locale:n,t:RP(e)}},n6=Symbol("localeContextKey"),_t=e=>{const t=e||Pe(n6,R());return LP(S(()=>t.value||IP))},ds="el",VP="is-",Qa=(e,t,n,o,a)=>{let r=`${e}-${t}`;return n&&(r+=`-${n}`),o&&(r+=`__${o}`),a&&(r+=`--${a}`),r},o6=Symbol("namespaceContextKey"),h2=e=>{const t=e||(rt()?Pe(o6,R(ds)):R(ds));return S(()=>s(t)||ds)},me=(e,t)=>{const n=h2(t);return{namespace:n,b:(v="")=>Qa(n.value,e,v,"",""),e:v=>v?Qa(n.value,e,"",v,""):"",m:v=>v?Qa(n.value,e,"","",v):"",be:(v,_)=>v&&_?Qa(n.value,e,v,_,""):"",em:(v,_)=>v&&_?Qa(n.value,e,"",v,_):"",bm:(v,_)=>v&&_?Qa(n.value,e,v,"",_):"",bem:(v,_,g)=>v&&_&&g?Qa(n.value,e,v,_,g):"",is:(v,..._)=>{const g=_.length>=1?_[0]:!0;return v&&g?`${VP}${v}`:""},cssVar:v=>{const _={};for(const g in v)v[g]&&(_[`--${n.value}-${g}`]=v[g]);return _},cssVarName:v=>`--${n.value}-${v}`,cssVarBlock:v=>{const _={};for(const g in v)v[g]&&(_[`--${n.value}-${e}-${g}`]=v[g]);return _},cssVarBlockName:v=>`--${n.value}-${e}-${v}`}},m2=(e,t={})=>{Pt(e)||on("[useLockscreen]","You need to pass a ref param to this function");const n=t.ns||me("popup"),o=Vm(()=>n.bm("parent","hidden"));if(!gt||oo(document.body,o.value))return;let a=0,r=!1,l="0";const i=()=>{setTimeout(()=>{Cn(document==null?void 0:document.body,o.value),r&&document&&(document.body.style.width=l)},200)};pe(e,u=>{if(!u){i();return}r=!oo(document.body,o.value),r&&(l=document.body.style.width),a=Tg(n.namespace.value);const d=document.documentElement.clientHeight0&&(d||f==="scroll")&&r&&(document.body.style.width=`calc(100% - ${a}px)`),eo(document.body,o.value)}),Cm(()=>i())},BP=So({type:X(Boolean),default:null}),zP=So({type:X(Function)}),a6=e=>{const t=`update:${e}`,n=`onUpdate:${e}`,o=[t],a={[e]:BP,[n]:zP};return{useModelToggle:({indicator:l,toggleReason:i,shouldHideWhenRouteChanges:u,shouldProceed:d,onShow:f,onHide:c})=>{const p=rt(),{emit:h}=p,m=p.props,v=S(()=>Xe(m[n])),_=S(()=>m[e]===null),g=O=>{l.value!==!0&&(l.value=!0,i&&(i.value=O),Xe(f)&&f(O))},w=O=>{l.value!==!1&&(l.value=!1,i&&(i.value=O),Xe(c)&&c(O))},b=O=>{if(m.disabled===!0||Xe(d)&&!d())return;const T=v.value&>T&&h(t,!0),(_.value||!T)&&g(O)},C=O=>{if(m.disabled===!0||!gt)return;const T=v.value&>T&&h(t,!1),(_.value||!T)&&w(O)},x=O=>{Qt(O)&&(m.disabled&&O?v.value&&h(t,!1):l.value!==O&&(O?g():w()))},E=()=>{l.value?C():b()};return pe(()=>m[e],x),u&&p.appContext.config.globalProperties.$route!==void 0&&pe(()=>({...p.proxy.$route}),()=>{u.value&&l.value&&C()}),et(()=>{x(m[e])}),{hide:C,show:b,toggle:E,hasUpdateHandler:v}},useModelToggleProps:a,useModelToggleEmits:o}};a6("modelValue");const r6=e=>{const t=rt();return S(()=>{var n,o;return(o=(n=t==null?void 0:t.proxy)==null?void 0:n.$props)==null?void 0:o[e]})};var Vn="top",co="bottom",fo="right",Bn="left",g2="auto",ni=[Vn,co,fo,Bn],_l="start",Os="end",HP="clippingParents",l6="viewport",ql="popper",DP="reference",v1=ni.reduce(function(e,t){return e.concat([t+"-"+_l,t+"-"+Os])},[]),Hr=[].concat(ni,[g2]).reduce(function(e,t){return e.concat([t,t+"-"+_l,t+"-"+Os])},[]),FP="beforeRead",KP="read",WP="afterRead",jP="beforeMain",qP="main",UP="afterMain",YP="beforeWrite",GP="write",XP="afterWrite",JP=[FP,KP,WP,jP,qP,UP,YP,GP,XP];function Po(e){return e?(e.nodeName||"").toLowerCase():null}function ko(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function bl(e){var t=ko(e).Element;return e instanceof t||e instanceof Element}function ao(e){var t=ko(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function y2(e){if(typeof ShadowRoot>"u")return!1;var t=ko(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function ZP(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var o=t.styles[n]||{},a=t.attributes[n]||{},r=t.elements[n];!ao(r)||!Po(r)||(Object.assign(r.style,o),Object.keys(a).forEach(function(l){var i=a[l];i===!1?r.removeAttribute(l):r.setAttribute(l,i===!0?"":i)}))})}function QP(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(o){var a=t.elements[o],r=t.attributes[o]||{},l=Object.keys(t.styles.hasOwnProperty(o)?t.styles[o]:n[o]),i=l.reduce(function(u,d){return u[d]="",u},{});!ao(a)||!Po(a)||(Object.assign(a.style,i),Object.keys(r).forEach(function(u){a.removeAttribute(u)}))})}}var s6={name:"applyStyles",enabled:!0,phase:"write",fn:ZP,effect:QP,requires:["computeStyles"]};function Io(e){return e.split("-")[0]}var yr=Math.max,Lu=Math.min,wl=Math.round;function Cl(e,t){t===void 0&&(t=!1);var n=e.getBoundingClientRect(),o=1,a=1;if(ao(e)&&t){var r=e.offsetHeight,l=e.offsetWidth;l>0&&(o=wl(n.width)/l||1),r>0&&(a=wl(n.height)/r||1)}return{width:n.width/o,height:n.height/a,top:n.top/a,right:n.right/o,bottom:n.bottom/a,left:n.left/o,x:n.left/o,y:n.top/a}}function _2(e){var t=Cl(e),n=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:o}}function i6(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&y2(n)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function ra(e){return ko(e).getComputedStyle(e)}function eL(e){return["table","td","th"].indexOf(Po(e))>=0}function Ya(e){return((bl(e)?e.ownerDocument:e.document)||window.document).documentElement}function Mc(e){return Po(e)==="html"?e:e.assignedSlot||e.parentNode||(y2(e)?e.host:null)||Ya(e)}function h1(e){return!ao(e)||ra(e).position==="fixed"?null:e.offsetParent}function tL(e){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,n=navigator.userAgent.indexOf("Trident")!==-1;if(n&&ao(e)){var o=ra(e);if(o.position==="fixed")return null}var a=Mc(e);for(y2(a)&&(a=a.host);ao(a)&&["html","body"].indexOf(Po(a))<0;){var r=ra(a);if(r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].indexOf(r.willChange)!==-1||t&&r.willChange==="filter"||t&&r.filter&&r.filter!=="none")return a;a=a.parentNode}return null}function oi(e){for(var t=ko(e),n=h1(e);n&&eL(n)&&ra(n).position==="static";)n=h1(n);return n&&(Po(n)==="html"||Po(n)==="body"&&ra(n).position==="static")?t:n||tL(e)||t}function b2(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function fs(e,t,n){return yr(e,Lu(t,n))}function nL(e,t,n){var o=fs(e,t,n);return o>n?n:o}function u6(){return{top:0,right:0,bottom:0,left:0}}function c6(e){return Object.assign({},u6(),e)}function d6(e,t){return t.reduce(function(n,o){return n[o]=e,n},{})}var oL=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,c6(typeof e!="number"?e:d6(e,ni))};function aL(e){var t,n=e.state,o=e.name,a=e.options,r=n.elements.arrow,l=n.modifiersData.popperOffsets,i=Io(n.placement),u=b2(i),d=[Bn,fo].indexOf(i)>=0,f=d?"height":"width";if(!(!r||!l)){var c=oL(a.padding,n),p=_2(r),h=u==="y"?Vn:Bn,m=u==="y"?co:fo,v=n.rects.reference[f]+n.rects.reference[u]-l[u]-n.rects.popper[f],_=l[u]-n.rects.reference[u],g=oi(r),w=g?u==="y"?g.clientHeight||0:g.clientWidth||0:0,b=v/2-_/2,C=c[h],x=w-p[f]-c[m],E=w/2-p[f]/2+b,O=fs(C,E,x),T=u;n.modifiersData[o]=(t={},t[T]=O,t.centerOffset=O-E,t)}}function rL(e){var t=e.state,n=e.options,o=n.element,a=o===void 0?"[data-popper-arrow]":o;a!=null&&(typeof a=="string"&&(a=t.elements.popper.querySelector(a),!a)||!i6(t.elements.popper,a)||(t.elements.arrow=a))}var lL={name:"arrow",enabled:!0,phase:"main",fn:aL,effect:rL,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Sl(e){return e.split("-")[1]}var sL={top:"auto",right:"auto",bottom:"auto",left:"auto"};function iL(e){var t=e.x,n=e.y,o=window,a=o.devicePixelRatio||1;return{x:wl(t*a)/a||0,y:wl(n*a)/a||0}}function m1(e){var t,n=e.popper,o=e.popperRect,a=e.placement,r=e.variation,l=e.offsets,i=e.position,u=e.gpuAcceleration,d=e.adaptive,f=e.roundOffsets,c=e.isFixed,p=l.x,h=p===void 0?0:p,m=l.y,v=m===void 0?0:m,_=typeof f=="function"?f({x:h,y:v}):{x:h,y:v};h=_.x,v=_.y;var g=l.hasOwnProperty("x"),w=l.hasOwnProperty("y"),b=Bn,C=Vn,x=window;if(d){var E=oi(n),O="clientHeight",T="clientWidth";if(E===ko(n)&&(E=Ya(n),ra(E).position!=="static"&&i==="absolute"&&(O="scrollHeight",T="scrollWidth")),E=E,a===Vn||(a===Bn||a===fo)&&r===Os){C=co;var V=c&&E===x&&x.visualViewport?x.visualViewport.height:E[O];v-=V-o.height,v*=u?1:-1}if(a===Bn||(a===Vn||a===co)&&r===Os){b=fo;var L=c&&E===x&&x.visualViewport?x.visualViewport.width:E[T];h-=L-o.width,h*=u?1:-1}}var P=Object.assign({position:i},d&&sL),z=f===!0?iL({x:h,y:v}):{x:h,y:v};if(h=z.x,v=z.y,u){var j;return Object.assign({},P,(j={},j[C]=w?"0":"",j[b]=g?"0":"",j.transform=(x.devicePixelRatio||1)<=1?"translate("+h+"px, "+v+"px)":"translate3d("+h+"px, "+v+"px, 0)",j))}return Object.assign({},P,(t={},t[C]=w?v+"px":"",t[b]=g?h+"px":"",t.transform="",t))}function uL(e){var t=e.state,n=e.options,o=n.gpuAcceleration,a=o===void 0?!0:o,r=n.adaptive,l=r===void 0?!0:r,i=n.roundOffsets,u=i===void 0?!0:i,d={placement:Io(t.placement),variation:Sl(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,m1(Object.assign({},d,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:l,roundOffsets:u})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,m1(Object.assign({},d,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var f6={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:uL,data:{}},$i={passive:!0};function cL(e){var t=e.state,n=e.instance,o=e.options,a=o.scroll,r=a===void 0?!0:a,l=o.resize,i=l===void 0?!0:l,u=ko(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return r&&d.forEach(function(f){f.addEventListener("scroll",n.update,$i)}),i&&u.addEventListener("resize",n.update,$i),function(){r&&d.forEach(function(f){f.removeEventListener("scroll",n.update,$i)}),i&&u.removeEventListener("resize",n.update,$i)}}var p6={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:cL,data:{}},dL={left:"right",right:"left",bottom:"top",top:"bottom"};function Ji(e){return e.replace(/left|right|bottom|top/g,function(t){return dL[t]})}var fL={start:"end",end:"start"};function g1(e){return e.replace(/start|end/g,function(t){return fL[t]})}function w2(e){var t=ko(e),n=t.pageXOffset,o=t.pageYOffset;return{scrollLeft:n,scrollTop:o}}function C2(e){return Cl(Ya(e)).left+w2(e).scrollLeft}function pL(e){var t=ko(e),n=Ya(e),o=t.visualViewport,a=n.clientWidth,r=n.clientHeight,l=0,i=0;return o&&(a=o.width,r=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(l=o.offsetLeft,i=o.offsetTop)),{width:a,height:r,x:l+C2(e),y:i}}function vL(e){var t,n=Ya(e),o=w2(e),a=(t=e.ownerDocument)==null?void 0:t.body,r=yr(n.scrollWidth,n.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),l=yr(n.scrollHeight,n.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),i=-o.scrollLeft+C2(e),u=-o.scrollTop;return ra(a||n).direction==="rtl"&&(i+=yr(n.clientWidth,a?a.clientWidth:0)-r),{width:r,height:l,x:i,y:u}}function S2(e){var t=ra(e),n=t.overflow,o=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+o)}function v6(e){return["html","body","#document"].indexOf(Po(e))>=0?e.ownerDocument.body:ao(e)&&S2(e)?e:v6(Mc(e))}function ps(e,t){var n;t===void 0&&(t=[]);var o=v6(e),a=o===((n=e.ownerDocument)==null?void 0:n.body),r=ko(o),l=a?[r].concat(r.visualViewport||[],S2(o)?o:[]):o,i=t.concat(l);return a?i:i.concat(ps(Mc(l)))}function ff(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function hL(e){var t=Cl(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}function y1(e,t){return t===l6?ff(pL(e)):bl(t)?hL(t):ff(vL(Ya(e)))}function mL(e){var t=ps(Mc(e)),n=["absolute","fixed"].indexOf(ra(e).position)>=0,o=n&&ao(e)?oi(e):e;return bl(o)?t.filter(function(a){return bl(a)&&i6(a,o)&&Po(a)!=="body"}):[]}function gL(e,t,n){var o=t==="clippingParents"?mL(e):[].concat(t),a=[].concat(o,[n]),r=a[0],l=a.reduce(function(i,u){var d=y1(e,u);return i.top=yr(d.top,i.top),i.right=Lu(d.right,i.right),i.bottom=Lu(d.bottom,i.bottom),i.left=yr(d.left,i.left),i},y1(e,r));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function h6(e){var t=e.reference,n=e.element,o=e.placement,a=o?Io(o):null,r=o?Sl(o):null,l=t.x+t.width/2-n.width/2,i=t.y+t.height/2-n.height/2,u;switch(a){case Vn:u={x:l,y:t.y-n.height};break;case co:u={x:l,y:t.y+t.height};break;case fo:u={x:t.x+t.width,y:i};break;case Bn:u={x:t.x-n.width,y:i};break;default:u={x:t.x,y:t.y}}var d=a?b2(a):null;if(d!=null){var f=d==="y"?"height":"width";switch(r){case _l:u[d]=u[d]-(t[f]/2-n[f]/2);break;case Os:u[d]=u[d]+(t[f]/2-n[f]/2);break}}return u}function Ns(e,t){t===void 0&&(t={});var n=t,o=n.placement,a=o===void 0?e.placement:o,r=n.boundary,l=r===void 0?HP:r,i=n.rootBoundary,u=i===void 0?l6:i,d=n.elementContext,f=d===void 0?ql:d,c=n.altBoundary,p=c===void 0?!1:c,h=n.padding,m=h===void 0?0:h,v=c6(typeof m!="number"?m:d6(m,ni)),_=f===ql?DP:ql,g=e.rects.popper,w=e.elements[p?_:f],b=gL(bl(w)?w:w.contextElement||Ya(e.elements.popper),l,u),C=Cl(e.elements.reference),x=h6({reference:C,element:g,strategy:"absolute",placement:a}),E=ff(Object.assign({},g,x)),O=f===ql?E:C,T={top:b.top-O.top+v.top,bottom:O.bottom-b.bottom+v.bottom,left:b.left-O.left+v.left,right:O.right-b.right+v.right},V=e.modifiersData.offset;if(f===ql&&V){var L=V[a];Object.keys(T).forEach(function(P){var z=[fo,co].indexOf(P)>=0?1:-1,j=[Vn,co].indexOf(P)>=0?"y":"x";T[P]+=L[j]*z})}return T}function yL(e,t){t===void 0&&(t={});var n=t,o=n.placement,a=n.boundary,r=n.rootBoundary,l=n.padding,i=n.flipVariations,u=n.allowedAutoPlacements,d=u===void 0?Hr:u,f=Sl(o),c=f?i?v1:v1.filter(function(m){return Sl(m)===f}):ni,p=c.filter(function(m){return d.indexOf(m)>=0});p.length===0&&(p=c);var h=p.reduce(function(m,v){return m[v]=Ns(e,{placement:v,boundary:a,rootBoundary:r,padding:l})[Io(v)],m},{});return Object.keys(h).sort(function(m,v){return h[m]-h[v]})}function _L(e){if(Io(e)===g2)return[];var t=Ji(e);return[g1(e),t,g1(t)]}function bL(e){var t=e.state,n=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var a=n.mainAxis,r=a===void 0?!0:a,l=n.altAxis,i=l===void 0?!0:l,u=n.fallbackPlacements,d=n.padding,f=n.boundary,c=n.rootBoundary,p=n.altBoundary,h=n.flipVariations,m=h===void 0?!0:h,v=n.allowedAutoPlacements,_=t.options.placement,g=Io(_),w=g===_,b=u||(w||!m?[Ji(_)]:_L(_)),C=[_].concat(b).reduce(function(se,_e){return se.concat(Io(_e)===g2?yL(t,{placement:_e,boundary:f,rootBoundary:c,padding:d,flipVariations:m,allowedAutoPlacements:v}):_e)},[]),x=t.rects.reference,E=t.rects.popper,O=new Map,T=!0,V=C[0],L=0;L=0,F=K?"width":"height",B=Ns(t,{placement:P,boundary:f,rootBoundary:c,altBoundary:p,padding:d}),I=K?j?fo:Bn:j?co:Vn;x[F]>E[F]&&(I=Ji(I));var H=Ji(I),N=[];if(r&&N.push(B[z]<=0),i&&N.push(B[I]<=0,B[H]<=0),N.every(function(se){return se})){V=P,T=!1;break}O.set(P,N)}if(T)for(var D=m?3:1,q=function(se){var _e=C.find(function(Q){var le=O.get(Q);if(le)return le.slice(0,se).every(function(ae){return ae})});if(_e)return V=_e,"break"},Y=D;Y>0;Y--){var J=q(Y);if(J==="break")break}t.placement!==V&&(t.modifiersData[o]._skip=!0,t.placement=V,t.reset=!0)}}var wL={name:"flip",enabled:!0,phase:"main",fn:bL,requiresIfExists:["offset"],data:{_skip:!1}};function _1(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function b1(e){return[Vn,fo,co,Bn].some(function(t){return e[t]>=0})}function CL(e){var t=e.state,n=e.name,o=t.rects.reference,a=t.rects.popper,r=t.modifiersData.preventOverflow,l=Ns(t,{elementContext:"reference"}),i=Ns(t,{altBoundary:!0}),u=_1(l,o),d=_1(i,a,r),f=b1(u),c=b1(d);t.modifiersData[n]={referenceClippingOffsets:u,popperEscapeOffsets:d,isReferenceHidden:f,hasPopperEscaped:c},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":c})}var SL={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:CL};function kL(e,t,n){var o=Io(e),a=[Bn,Vn].indexOf(o)>=0?-1:1,r=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,l=r[0],i=r[1];return l=l||0,i=(i||0)*a,[Bn,fo].indexOf(o)>=0?{x:i,y:l}:{x:l,y:i}}function EL(e){var t=e.state,n=e.options,o=e.name,a=n.offset,r=a===void 0?[0,0]:a,l=Hr.reduce(function(f,c){return f[c]=kL(c,t.rects,r),f},{}),i=l[t.placement],u=i.x,d=i.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=u,t.modifiersData.popperOffsets.y+=d),t.modifiersData[o]=l}var xL={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:EL};function ML(e){var t=e.state,n=e.name;t.modifiersData[n]=h6({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var m6={name:"popperOffsets",enabled:!0,phase:"read",fn:ML,data:{}};function $L(e){return e==="x"?"y":"x"}function TL(e){var t=e.state,n=e.options,o=e.name,a=n.mainAxis,r=a===void 0?!0:a,l=n.altAxis,i=l===void 0?!1:l,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,c=n.padding,p=n.tether,h=p===void 0?!0:p,m=n.tetherOffset,v=m===void 0?0:m,_=Ns(t,{boundary:u,rootBoundary:d,padding:c,altBoundary:f}),g=Io(t.placement),w=Sl(t.placement),b=!w,C=b2(g),x=$L(C),E=t.modifiersData.popperOffsets,O=t.rects.reference,T=t.rects.popper,V=typeof v=="function"?v(Object.assign({},t.rects,{placement:t.placement})):v,L=typeof V=="number"?{mainAxis:V,altAxis:V}:Object.assign({mainAxis:0,altAxis:0},V),P=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,z={x:0,y:0};if(E){if(r){var j,K=C==="y"?Vn:Bn,F=C==="y"?co:fo,B=C==="y"?"height":"width",I=E[C],H=I+_[K],N=I-_[F],D=h?-T[B]/2:0,q=w===_l?O[B]:T[B],Y=w===_l?-T[B]:-O[B],J=t.elements.arrow,se=h&&J?_2(J):{width:0,height:0},_e=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:u6(),Q=_e[K],le=_e[F],ae=fs(0,O[B],se[B]),Te=b?O[B]/2-D-ae-Q-L.mainAxis:q-ae-Q-L.mainAxis,ce=b?-O[B]/2+D+ae+le+L.mainAxis:Y+ae+le+L.mainAxis,ge=t.elements.arrow&&oi(t.elements.arrow),Ae=ge?C==="y"?ge.clientTop||0:ge.clientLeft||0:0,U=(j=P==null?void 0:P[C])!=null?j:0,te=I+Te-U-Ae,ve=I+ce-U,be=fs(h?Lu(H,te):H,I,h?yr(N,ve):N);E[C]=be,z[C]=be-I}if(i){var ue,ye=C==="x"?Vn:Bn,we=C==="x"?co:fo,Ce=E[x],he=x==="y"?"height":"width",Se=Ce+_[ye],Re=Ce-_[we],He=[Vn,Bn].indexOf(g)!==-1,de=(ue=P==null?void 0:P[x])!=null?ue:0,Le=He?Se:Ce-O[he]-T[he]-de+L.altAxis,Ue=He?Ce+O[he]+T[he]-de-L.altAxis:Re,ot=h&&He?nL(Le,Ce,Ue):fs(h?Le:Se,Ce,h?Ue:Re);E[x]=ot,z[x]=ot-Ce}t.modifiersData[o]=z}}var AL={name:"preventOverflow",enabled:!0,phase:"main",fn:TL,requiresIfExists:["offset"]};function OL(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function NL(e){return e===ko(e)||!ao(e)?w2(e):OL(e)}function IL(e){var t=e.getBoundingClientRect(),n=wl(t.width)/e.offsetWidth||1,o=wl(t.height)/e.offsetHeight||1;return n!==1||o!==1}function RL(e,t,n){n===void 0&&(n=!1);var o=ao(t),a=ao(t)&&IL(t),r=Ya(t),l=Cl(e,a),i={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(o||!o&&!n)&&((Po(t)!=="body"||S2(r))&&(i=NL(t)),ao(t)?(u=Cl(t,!0),u.x+=t.clientLeft,u.y+=t.clientTop):r&&(u.x=C2(r))),{x:l.left+i.scrollLeft-u.x,y:l.top+i.scrollTop-u.y,width:l.width,height:l.height}}function PL(e){var t=new Map,n=new Set,o=[];e.forEach(function(r){t.set(r.name,r)});function a(r){n.add(r.name);var l=[].concat(r.requires||[],r.requiresIfExists||[]);l.forEach(function(i){if(!n.has(i)){var u=t.get(i);u&&a(u)}}),o.push(r)}return e.forEach(function(r){n.has(r.name)||a(r)}),o}function LL(e){var t=PL(e);return JP.reduce(function(n,o){return n.concat(t.filter(function(a){return a.phase===o}))},[])}function VL(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function BL(e){var t=e.reduce(function(n,o){var a=n[o.name];return n[o.name]=a?Object.assign({},a,o,{options:Object.assign({},a.options,o.options),data:Object.assign({},a.data,o.data)}):o,n},{});return Object.keys(t).map(function(n){return t[n]})}var w1={placement:"bottom",modifiers:[],strategy:"absolute"};function C1(){for(var e=arguments.length,t=new Array(e),n=0;n{const o={name:"updateState",enabled:!0,phase:"write",fn:({state:u})=>{const d=KL(u);Object.assign(l.value,d)},requires:["computeStyles"]},a=S(()=>{const{onFirstUpdate:u,placement:d,strategy:f,modifiers:c}=s(n);return{onFirstUpdate:u,placement:d||"bottom",strategy:f||"absolute",modifiers:[...c||[],o,{name:"applyStyles",enabled:!1}]}}),r=Rt(),l=R({styles:{popper:{position:s(a).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),i=()=>{r.value&&(r.value.destroy(),r.value=void 0)};return pe(a,u=>{const d=s(r);d&&d.setOptions(u)},{deep:!0}),pe([e,t],([u,d])=>{i(),!(!u||!d)&&(r.value=DL(u,d,s(a)))}),It(()=>{i()}),{state:S(()=>{var u;return{...((u=s(r))==null?void 0:u.state)||{}}}),styles:S(()=>s(l).styles),attributes:S(()=>s(l).attributes),update:()=>{var u;return(u=s(r))==null?void 0:u.update()},forceUpdate:()=>{var u;return(u=s(r))==null?void 0:u.forceUpdate()},instanceRef:S(()=>s(r))}};function KL(e){const t=Object.keys(e.elements),n=Pu(t.map(a=>[a,e.styles[a]||{}])),o=Pu(t.map(a=>[a,e.attributes[a]]));return{styles:n,attributes:o}}const E2=e=>{if(!e)return{onClick:Et,onMousedown:Et,onMouseup:Et};let t=!1,n=!1;return{onClick:l=>{t&&n&&e(l),t=n=!1},onMousedown:l=>{t=l.target===l.currentTarget},onMouseup:l=>{n=l.target===l.currentTarget}}},WL=(e,t=0)=>{if(t===0)return e;const n=R(!1);let o=0;const a=()=>{o&&clearTimeout(o),o=window.setTimeout(()=>{n.value=e.value},t)};return et(a),pe(()=>e.value,r=>{r?a():n.value=r}),n};function S1(){let e;const t=(o,a)=>{n(),e=window.setTimeout(o,a)},n=()=>window.clearTimeout(e);return Xs(()=>n()),{registerTimeout:t,cancelTimeout:n}}const k1={prefix:Math.floor(Math.random()*1e4),current:0},jL=Symbol("elIdInjection"),x2=()=>rt()?Pe(jL,k1):k1,kn=e=>{const t=x2(),n=h2();return S(()=>s(e)||`${n.value}-id-${t.prefix}-${t.current++}`)};let Yr=[];const E1=e=>{const t=e;t.key===Ke.esc&&Yr.forEach(n=>n(t))},qL=e=>{et(()=>{Yr.length===0&&document.addEventListener("keydown",E1),gt&&Yr.push(e)}),It(()=>{Yr=Yr.filter(t=>t!==e),Yr.length===0&>&&document.removeEventListener("keydown",E1)})};let x1;const g6=()=>{const e=h2(),t=x2(),n=S(()=>`${e.value}-popper-container-${t.prefix}`),o=S(()=>`#${n.value}`);return{id:n,selector:o}},UL=e=>{const t=document.createElement("div");return t.id=e,document.body.appendChild(t),t},YL=()=>{const{id:e,selector:t}=g6();return cc(()=>{gt&&!x1&&!document.body.querySelector(t.value)&&(x1=UL(e.value))}),{id:e,selector:t}},GL=Ee({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),XL=({showAfter:e,hideAfter:t,autoClose:n,open:o,close:a})=>{const{registerTimeout:r}=S1(),{registerTimeout:l,cancelTimeout:i}=S1();return{onOpen:f=>{r(()=>{o(f);const c=s(n);Ye(c)&&c>0&&l(()=>{a(f)},c)},s(e))},onClose:f=>{i(),r(()=>{a(f)},s(t))}}},y6=Symbol("elForwardRef"),JL=e=>{pt(y6,{setForwardRef:n=>{e.value=n}})},ZL=e=>({mounted(t){e(t)},updated(t){e(t)},unmounted(){e(null)}}),M1={current:0},$1=R(0),_6=2e3,T1=Symbol("elZIndexContextKey"),b6=Symbol("zIndexContextKey"),zl=e=>{const t=rt()?Pe(T1,M1):M1,n=e||(rt()?Pe(b6,void 0):void 0),o=S(()=>{const l=s(n);return Ye(l)?l:_6}),a=S(()=>o.value+$1.value),r=()=>(t.current++,$1.value=t.current,a.value);return!gt&&Pe(T1),{initialZIndex:o,currentZIndex:a,nextZIndex:r}},kl=Math.min,_r=Math.max,Vu=Math.round,Ti=Math.floor,Wa=e=>({x:e,y:e}),QL={left:"right",right:"left",bottom:"top",top:"bottom"},eV={start:"end",end:"start"};function pf(e,t,n){return _r(e,kl(t,n))}function ai(e,t){return typeof e=="function"?e(t):e}function Tr(e){return e.split("-")[0]}function ri(e){return e.split("-")[1]}function w6(e){return e==="x"?"y":"x"}function M2(e){return e==="y"?"height":"width"}function $c(e){return["top","bottom"].includes(Tr(e))?"y":"x"}function $2(e){return w6($c(e))}function tV(e,t,n){n===void 0&&(n=!1);const o=ri(e),a=$2(e),r=M2(a);let l=a==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[r]>t.floating[r]&&(l=Bu(l)),[l,Bu(l)]}function nV(e){const t=Bu(e);return[vf(e),t,vf(t)]}function vf(e){return e.replace(/start|end/g,t=>eV[t])}function oV(e,t,n){const o=["left","right"],a=["right","left"],r=["top","bottom"],l=["bottom","top"];switch(e){case"top":case"bottom":return n?t?a:o:t?o:a;case"left":case"right":return t?r:l;default:return[]}}function aV(e,t,n,o){const a=ri(e);let r=oV(Tr(e),n==="start",o);return a&&(r=r.map(l=>l+"-"+a),t&&(r=r.concat(r.map(vf)))),r}function Bu(e){return e.replace(/left|right|bottom|top/g,t=>QL[t])}function rV(e){return{top:0,right:0,bottom:0,left:0,...e}}function C6(e){return typeof e!="number"?rV(e):{top:e,right:e,bottom:e,left:e}}function zu(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}function A1(e,t,n){let{reference:o,floating:a}=e;const r=$c(t),l=$2(t),i=M2(l),u=Tr(t),d=r==="y",f=o.x+o.width/2-a.width/2,c=o.y+o.height/2-a.height/2,p=o[i]/2-a[i]/2;let h;switch(u){case"top":h={x:f,y:o.y-a.height};break;case"bottom":h={x:f,y:o.y+o.height};break;case"right":h={x:o.x+o.width,y:c};break;case"left":h={x:o.x-a.width,y:c};break;default:h={x:o.x,y:o.y}}switch(ri(t)){case"start":h[l]-=p*(n&&d?-1:1);break;case"end":h[l]+=p*(n&&d?-1:1);break}return h}const lV=async(e,t,n)=>{const{placement:o="bottom",strategy:a="absolute",middleware:r=[],platform:l}=n,i=r.filter(Boolean),u=await(l.isRTL==null?void 0:l.isRTL(t));let d=await l.getElementRects({reference:e,floating:t,strategy:a}),{x:f,y:c}=A1(d,o,u),p=o,h={},m=0;for(let v=0;v({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:a,rects:r,platform:l,elements:i,middlewareData:u}=t,{element:d,padding:f=0}=ai(e,t)||{};if(d==null)return{};const c=C6(f),p={x:n,y:o},h=$2(a),m=M2(h),v=await l.getDimensions(d),_=h==="y",g=_?"top":"left",w=_?"bottom":"right",b=_?"clientHeight":"clientWidth",C=r.reference[m]+r.reference[h]-p[h]-r.floating[m],x=p[h]-r.reference[h],E=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d));let O=E?E[b]:0;(!O||!await(l.isElement==null?void 0:l.isElement(E)))&&(O=i.floating[b]||r.floating[m]);const T=C/2-x/2,V=O/2-v[m]/2-1,L=kl(c[g],V),P=kl(c[w],V),z=L,j=O-v[m]-P,K=O/2-v[m]/2+T,F=pf(z,K,j),B=!u.arrow&&ri(a)!=null&&K!==F&&r.reference[m]/2-(Kz<=0)){var V,L;const z=(((V=r.flip)==null?void 0:V.index)||0)+1,j=x[z];if(j)return{data:{index:z,overflows:T},reset:{placement:j}};let K=(L=T.filter(F=>F.overflows[0]<=0).sort((F,B)=>F.overflows[1]-B.overflows[1])[0])==null?void 0:L.placement;if(!K)switch(h){case"bestFit":{var P;const F=(P=T.map(B=>[B.placement,B.overflows.filter(I=>I>0).reduce((I,H)=>I+H,0)]).sort((B,I)=>B[1]-I[1])[0])==null?void 0:P[0];F&&(K=F);break}case"initialPlacement":K=i;break}if(a!==K)return{reset:{placement:K}}}return{}}}};async function uV(e,t){const{placement:n,platform:o,elements:a}=e,r=await(o.isRTL==null?void 0:o.isRTL(a.floating)),l=Tr(n),i=ri(n),u=$c(n)==="y",d=["left","top"].includes(l)?-1:1,f=r&&u?-1:1,c=ai(t,e);let{mainAxis:p,crossAxis:h,alignmentAxis:m}=typeof c=="number"?{mainAxis:c,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...c};return i&&typeof m=="number"&&(h=i==="end"?m*-1:m),u?{x:h*f,y:p*d}:{x:p*d,y:h*f}}const S6=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:a,y:r,placement:l,middlewareData:i}=t,u=await uV(t,e);return l===((n=i.offset)==null?void 0:n.placement)&&(o=i.arrow)!=null&&o.alignmentOffset?{}:{x:a+u.x,y:r+u.y,data:{...u,placement:l}}}}},cV=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:a}=t,{mainAxis:r=!0,crossAxis:l=!1,limiter:i={fn:_=>{let{x:g,y:w}=_;return{x:g,y:w}}},...u}=ai(e,t),d={x:n,y:o},f=await T2(t,u),c=$c(Tr(a)),p=w6(c);let h=d[p],m=d[c];if(r){const _=p==="y"?"top":"left",g=p==="y"?"bottom":"right",w=h+f[_],b=h-f[g];h=pf(w,h,b)}if(l){const _=c==="y"?"top":"left",g=c==="y"?"bottom":"right",w=m+f[_],b=m-f[g];m=pf(w,m,b)}const v=i.fn({...t,[p]:h,[c]:m});return{...v,data:{x:v.x-n,y:v.y-o}}}}};function ja(e){return k6(e)?(e.nodeName||"").toLowerCase():"#document"}function Gn(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function va(e){var t;return(t=(k6(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function k6(e){return e instanceof Node||e instanceof Gn(e).Node}function la(e){return e instanceof Element||e instanceof Gn(e).Element}function Lo(e){return e instanceof HTMLElement||e instanceof Gn(e).HTMLElement}function O1(e){return typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Gn(e).ShadowRoot}function li(e){const{overflow:t,overflowX:n,overflowY:o,display:a}=po(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!["inline","contents"].includes(a)}function dV(e){return["table","td","th"].includes(ja(e))}function A2(e){const t=O2(),n=po(e);return n.transform!=="none"||n.perspective!=="none"||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||["transform","perspective","filter"].some(o=>(n.willChange||"").includes(o))||["paint","layout","strict","content"].some(o=>(n.contain||"").includes(o))}function fV(e){let t=El(e);for(;Lo(t)&&!Tc(t);){if(A2(t))return t;t=El(t)}return null}function O2(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function Tc(e){return["html","body","#document"].includes(ja(e))}function po(e){return Gn(e).getComputedStyle(e)}function Ac(e){return la(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function El(e){if(ja(e)==="html")return e;const t=e.assignedSlot||e.parentNode||O1(e)&&e.host||va(e);return O1(t)?t.host:t}function E6(e){const t=El(e);return Tc(t)?e.ownerDocument?e.ownerDocument.body:e.body:Lo(t)&&li(t)?t:E6(t)}function Is(e,t,n){var o;t===void 0&&(t=[]),n===void 0&&(n=!0);const a=E6(e),r=a===((o=e.ownerDocument)==null?void 0:o.body),l=Gn(a);return r?t.concat(l,l.visualViewport||[],li(a)?a:[],l.frameElement&&n?Is(l.frameElement):[]):t.concat(a,Is(a,[],n))}function x6(e){const t=po(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const a=Lo(e),r=a?e.offsetWidth:n,l=a?e.offsetHeight:o,i=Vu(n)!==r||Vu(o)!==l;return i&&(n=r,o=l),{width:n,height:o,$:i}}function N2(e){return la(e)?e:e.contextElement}function sl(e){const t=N2(e);if(!Lo(t))return Wa(1);const n=t.getBoundingClientRect(),{width:o,height:a,$:r}=x6(t);let l=(r?Vu(n.width):n.width)/o,i=(r?Vu(n.height):n.height)/a;return(!l||!Number.isFinite(l))&&(l=1),(!i||!Number.isFinite(i))&&(i=1),{x:l,y:i}}const pV=Wa(0);function M6(e){const t=Gn(e);return!O2()||!t.visualViewport?pV:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function vV(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Gn(e)?!1:t}function Ar(e,t,n,o){t===void 0&&(t=!1),n===void 0&&(n=!1);const a=e.getBoundingClientRect(),r=N2(e);let l=Wa(1);t&&(o?la(o)&&(l=sl(o)):l=sl(e));const i=vV(r,n,o)?M6(r):Wa(0);let u=(a.left+i.x)/l.x,d=(a.top+i.y)/l.y,f=a.width/l.x,c=a.height/l.y;if(r){const p=Gn(r),h=o&&la(o)?Gn(o):o;let m=p,v=m.frameElement;for(;v&&o&&h!==m;){const _=sl(v),g=v.getBoundingClientRect(),w=po(v),b=g.left+(v.clientLeft+parseFloat(w.paddingLeft))*_.x,C=g.top+(v.clientTop+parseFloat(w.paddingTop))*_.y;u*=_.x,d*=_.y,f*=_.x,c*=_.y,u+=b,d+=C,m=Gn(v),v=m.frameElement}}return zu({width:f,height:c,x:u,y:d})}const hV=[":popover-open",":modal"];function $6(e){return hV.some(t=>{try{return e.matches(t)}catch{return!1}})}function mV(e){let{elements:t,rect:n,offsetParent:o,strategy:a}=e;const r=a==="fixed",l=va(o),i=t?$6(t.floating):!1;if(o===l||i&&r)return n;let u={scrollLeft:0,scrollTop:0},d=Wa(1);const f=Wa(0),c=Lo(o);if((c||!c&&!r)&&((ja(o)!=="body"||li(l))&&(u=Ac(o)),Lo(o))){const p=Ar(o);d=sl(o),f.x=p.x+o.clientLeft,f.y=p.y+o.clientTop}return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-u.scrollLeft*d.x+f.x,y:n.y*d.y-u.scrollTop*d.y+f.y}}function gV(e){return Array.from(e.getClientRects())}function T6(e){return Ar(va(e)).left+Ac(e).scrollLeft}function yV(e){const t=va(e),n=Ac(e),o=e.ownerDocument.body,a=_r(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),r=_r(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let l=-n.scrollLeft+T6(e);const i=-n.scrollTop;return po(o).direction==="rtl"&&(l+=_r(t.clientWidth,o.clientWidth)-a),{width:a,height:r,x:l,y:i}}function _V(e,t){const n=Gn(e),o=va(e),a=n.visualViewport;let r=o.clientWidth,l=o.clientHeight,i=0,u=0;if(a){r=a.width,l=a.height;const d=O2();(!d||d&&t==="fixed")&&(i=a.offsetLeft,u=a.offsetTop)}return{width:r,height:l,x:i,y:u}}function bV(e,t){const n=Ar(e,!0,t==="fixed"),o=n.top+e.clientTop,a=n.left+e.clientLeft,r=Lo(e)?sl(e):Wa(1),l=e.clientWidth*r.x,i=e.clientHeight*r.y,u=a*r.x,d=o*r.y;return{width:l,height:i,x:u,y:d}}function N1(e,t,n){let o;if(t==="viewport")o=_V(e,n);else if(t==="document")o=yV(va(e));else if(la(t))o=bV(t,n);else{const a=M6(e);o={...t,x:t.x-a.x,y:t.y-a.y}}return zu(o)}function A6(e,t){const n=El(e);return n===t||!la(n)||Tc(n)?!1:po(n).position==="fixed"||A6(n,t)}function wV(e,t){const n=t.get(e);if(n)return n;let o=Is(e,[],!1).filter(i=>la(i)&&ja(i)!=="body"),a=null;const r=po(e).position==="fixed";let l=r?El(e):e;for(;la(l)&&!Tc(l);){const i=po(l),u=A2(l);!u&&i.position==="fixed"&&(a=null),(r?!u&&!a:!u&&i.position==="static"&&!!a&&["absolute","fixed"].includes(a.position)||li(l)&&!u&&A6(e,l))?o=o.filter(f=>f!==l):a=i,l=El(l)}return t.set(e,o),o}function CV(e){let{element:t,boundary:n,rootBoundary:o,strategy:a}=e;const l=[...n==="clippingAncestors"?wV(t,this._c):[].concat(n),o],i=l[0],u=l.reduce((d,f)=>{const c=N1(t,f,a);return d.top=_r(c.top,d.top),d.right=kl(c.right,d.right),d.bottom=kl(c.bottom,d.bottom),d.left=_r(c.left,d.left),d},N1(t,i,a));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function SV(e){const{width:t,height:n}=x6(e);return{width:t,height:n}}function kV(e,t,n){const o=Lo(t),a=va(t),r=n==="fixed",l=Ar(e,!0,r,t);let i={scrollLeft:0,scrollTop:0};const u=Wa(0);if(o||!o&&!r)if((ja(t)!=="body"||li(a))&&(i=Ac(t)),o){const c=Ar(t,!0,r,t);u.x=c.x+t.clientLeft,u.y=c.y+t.clientTop}else a&&(u.x=T6(a));const d=l.left+i.scrollLeft-u.x,f=l.top+i.scrollTop-u.y;return{x:d,y:f,width:l.width,height:l.height}}function I1(e,t){return!Lo(e)||po(e).position==="fixed"?null:t?t(e):e.offsetParent}function O6(e,t){const n=Gn(e);if(!Lo(e)||$6(e))return n;let o=I1(e,t);for(;o&&dV(o)&&po(o).position==="static";)o=I1(o,t);return o&&(ja(o)==="html"||ja(o)==="body"&&po(o).position==="static"&&!A2(o))?n:o||fV(e)||n}const EV=async function(e){const t=this.getOffsetParent||O6,n=this.getDimensions;return{reference:kV(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,...await n(e.floating)}}};function xV(e){return po(e).direction==="rtl"}const MV={convertOffsetParentRelativeRectToViewportRelativeRect:mV,getDocumentElement:va,getClippingRect:CV,getOffsetParent:O6,getElementRects:EV,getClientRects:gV,getDimensions:SV,getScale:sl,isElement:la,isRTL:xV};function $V(e,t){let n=null,o;const a=va(e);function r(){var i;clearTimeout(o),(i=n)==null||i.disconnect(),n=null}function l(i,u){i===void 0&&(i=!1),u===void 0&&(u=1),r();const{left:d,top:f,width:c,height:p}=e.getBoundingClientRect();if(i||t(),!c||!p)return;const h=Ti(f),m=Ti(a.clientWidth-(d+c)),v=Ti(a.clientHeight-(f+p)),_=Ti(d),w={rootMargin:-h+"px "+-m+"px "+-v+"px "+-_+"px",threshold:_r(0,kl(1,u))||1};let b=!0;function C(x){const E=x[0].intersectionRatio;if(E!==u){if(!b)return l();E?l(!1,E):o=setTimeout(()=>{l(!1,1e-7)},100)}b=!1}try{n=new IntersectionObserver(C,{...w,root:a.ownerDocument})}catch{n=new IntersectionObserver(C,w)}n.observe(e)}return l(!0),r}function TV(e,t,n,o){o===void 0&&(o={});const{ancestorScroll:a=!0,ancestorResize:r=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:i=typeof IntersectionObserver=="function",animationFrame:u=!1}=o,d=N2(e),f=a||r?[...d?Is(d):[],...Is(t)]:[];f.forEach(g=>{a&&g.addEventListener("scroll",n,{passive:!0}),r&&g.addEventListener("resize",n)});const c=d&&i?$V(d,n):null;let p=-1,h=null;l&&(h=new ResizeObserver(g=>{let[w]=g;w&&w.target===d&&h&&(h.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var b;(b=h)==null||b.observe(t)})),n()}),d&&!u&&h.observe(d),h.observe(t));let m,v=u?Ar(e):null;u&&_();function _(){const g=Ar(e);v&&(g.x!==v.x||g.y!==v.y||g.width!==v.width||g.height!==v.height)&&n(),v=g,m=requestAnimationFrame(_)}return n(),()=>{var g;f.forEach(w=>{a&&w.removeEventListener("scroll",n),r&&w.removeEventListener("resize",n)}),c==null||c(),(g=h)==null||g.disconnect(),h=null,u&&cancelAnimationFrame(m)}}const AV=cV,OV=iV,N6=sV,I6=(e,t,n)=>{const o=new Map,a={platform:MV,...n},r={...a.platform,_c:o};return lV(e,t,{...a,platform:r})};Ee({});const NV=e=>{if(!gt)return;if(!e)return e;const t=Ln(e);return t||(Pt(e)?t:e)},IV=({middleware:e,placement:t,strategy:n})=>{const o=R(),a=R(),r=R(),l=R(),i=R({}),u={x:r,y:l,placement:t,strategy:n,middlewareData:i},d=async()=>{if(!gt)return;const f=NV(o),c=Ln(a);if(!f||!c)return;const p=await I6(f,c,{placement:s(t),strategy:s(n),middleware:s(e)});yl(u).forEach(h=>{u[h].value=p[h]})};return et(()=>{gn(()=>{d()})}),{...u,update:d,referenceRef:o,contentRef:a}},RV=({arrowRef:e,padding:t})=>({name:"arrow",options:{element:e,padding:t},fn(n){const o=s(e);return o?N6({element:o,padding:t}).fn(n):{}}});function PV(e){const t=R();function n(){if(e.value==null)return;const{selectionStart:a,selectionEnd:r,value:l}=e.value;if(a==null||r==null)return;const i=l.slice(0,Math.max(0,a)),u=l.slice(Math.max(0,r));t.value={selectionStart:a,selectionEnd:r,value:l,beforeTxt:i,afterTxt:u}}function o(){if(e.value==null||t.value==null)return;const{value:a}=e.value,{beforeTxt:r,afterTxt:l,selectionStart:i}=t.value;if(r==null||l==null||i==null)return;let u=a.length;if(a.endsWith(l))u=a.length-l.length;else if(a.startsWith(r))u=r.length;else{const d=r[i-1],f=a.indexOf(d,i-1);f!==-1&&(u=f+1)}e.value.setSelectionRange(u,u)}return[n,o]}const LV=(e,t,n)=>La(e.subTree).filter(r=>{var l;return zt(r)&&((l=r.type)==null?void 0:l.name)===t&&!!r.component}).map(r=>r.component.uid).map(r=>n[r]).filter(r=>!!r),I2=(e,t)=>{const n={},o=Rt([]);return{children:o,addChild:l=>{n[l.uid]=l,o.value=LV(e,t,n)},removeChild:l=>{delete n[l],o.value=o.value.filter(i=>i.uid!==l)}}},cn=So({type:String,values:zo,required:!1}),R6=Symbol("size"),VV=()=>{const e=Pe(R6,{});return S(()=>s(e.size)||"")};function Oc(e,{afterFocus:t,beforeBlur:n,afterBlur:o}={}){const a=rt(),{emit:r}=a,l=Rt(),i=R(!1),u=c=>{i.value||(i.value=!0,r("focus",c),t==null||t())},d=c=>{var p;Xe(n)&&n(c)||c.relatedTarget&&((p=l.value)!=null&&p.contains(c.relatedTarget))||(i.value=!1,r("blur",c),o==null||o())},f=()=>{var c;(c=e.value)==null||c.focus()};return pe(l,c=>{c&&c.setAttribute("tabindex","-1")}),Vt(l,"click",f),{wrapperRef:l,isFocused:i,handleFocus:u,handleBlur:d}}const P6=Symbol(),Hu=R();function Nc(e,t=void 0){const n=rt()?Pe(P6,Hu):Hu;return e?S(()=>{var o,a;return(a=(o=n.value)==null?void 0:o[e])!=null?a:t}):n}function Ic(e,t){const n=Nc(),o=me(e,S(()=>{var i;return((i=n.value)==null?void 0:i.namespace)||ds})),a=_t(S(()=>{var i;return(i=n.value)==null?void 0:i.locale})),r=zl(S(()=>{var i;return((i=n.value)==null?void 0:i.zIndex)||_6})),l=S(()=>{var i;return s(t)||((i=n.value)==null?void 0:i.size)||""});return R2(S(()=>s(n)||{})),{ns:o,locale:a,zIndex:r,size:l}}const R2=(e,t,n=!1)=>{var o;const a=!!rt(),r=a?Nc():void 0,l=(o=t==null?void 0:t.provide)!=null?o:a?pt:void 0;if(!l)return;const i=S(()=>{const u=s(e);return r!=null&&r.value?BV(r.value,u):u});return l(P6,i),l(n6,S(()=>i.value.locale)),l(o6,S(()=>i.value.namespace)),l(b6,S(()=>i.value.zIndex)),l(R6,{size:S(()=>i.value.size||"")}),(n||!Hu.value)&&(Hu.value=i.value),i},BV=(e,t)=>{var n;const o=[...new Set([...yl(e),...yl(t)])],a={};for(const r of o)a[r]=(n=t[r])!=null?n:e[r];return a},zV=Ee({a11y:{type:Boolean,default:!0},locale:{type:X(Object)},size:cn,button:{type:X(Object)},experimentalFeatures:{type:X(Object)},keyboardNavigation:{type:Boolean,default:!0},message:{type:X(Object)},zIndex:Number,namespace:{type:String,default:"el"}}),hf={},HV=A({name:"ElConfigProvider",props:zV,setup(e,{slots:t}){pe(()=>e.message,o=>{Object.assign(hf,o??{})},{immediate:!0,deep:!0});const n=R2(e);return()=>re(t,"default",{config:n==null?void 0:n.value})}}),DV=lt(HV),FV="2.6.3",KV=(e=[])=>({version:FV,install:(n,o)=>{n[f1]||(n[f1]=!0,e.forEach(a=>n.use(a)),o&&R2(o,n,!0))}}),WV=Ee({zIndex:{type:X([Number,String]),default:100},target:{type:String,default:""},offset:{type:Number,default:0},position:{type:String,values:["top","bottom"],default:"top"}}),jV={scroll:({scrollTop:e,fixed:t})=>Ye(e)&&Qt(t),[Bt]:e=>Qt(e)};var xe=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n};const L6="ElAffix",qV=A({name:L6}),UV=A({...qV,props:WV,emits:jV,setup(e,{expose:t,emit:n}){const o=e,a=me("affix"),r=Rt(),l=Rt(),i=Rt(),{height:u}=T5(),{height:d,width:f,top:c,bottom:p,update:h}=Mv(l,{windowScroll:!1}),m=Mv(r),v=R(!1),_=R(0),g=R(0),w=S(()=>({height:v.value?`${d.value}px`:"",width:v.value?`${f.value}px`:""})),b=S(()=>{if(!v.value)return{};const E=o.offset?Xt(o.offset):0;return{height:`${d.value}px`,width:`${f.value}px`,top:o.position==="top"?E:"",bottom:o.position==="bottom"?E:"",transform:g.value?`translateY(${g.value}px)`:"",zIndex:o.zIndex}}),C=()=>{if(i.value)if(_.value=i.value instanceof Window?document.documentElement.scrollTop:i.value.scrollTop||0,o.position==="top")if(o.target){const E=m.bottom.value-o.offset-d.value;v.value=o.offset>c.value&&m.bottom.value>0,g.value=E<0?E:0}else v.value=o.offset>c.value;else if(o.target){const E=u.value-m.top.value-o.offset-d.value;v.value=u.value-o.offsetm.top.value,g.value=E<0?-E:0}else v.value=u.value-o.offset{h(),n("scroll",{scrollTop:_.value,fixed:v.value})};return pe(v,E=>n("change",E)),et(()=>{var E;o.target?(r.value=(E=document.querySelector(o.target))!=null?E:void 0,r.value||on(L6,`Target is not existed: ${o.target}`)):r.value=document.documentElement,i.value=a2(l.value,!0),h()}),Vt(i,"scroll",x),gn(C),t({update:C,updateRoot:h}),(E,O)=>(y(),M("div",{ref_key:"root",ref:l,class:$(s(a).b()),style:De(s(w))},[k("div",{class:$({[s(a).m("fixed")]:v.value}),style:De(s(b))},[re(E.$slots,"default")],6)],6))}});var YV=xe(UV,[["__file","affix.vue"]]);const GV=lt(YV),XV=Ee({size:{type:X([Number,String])},color:{type:String}}),JV=A({name:"ElIcon",inheritAttrs:!1}),ZV=A({...JV,props:XV,setup(e){const t=e,n=me("icon"),o=S(()=>{const{size:a,color:r}=t;return!a&&!r?{}:{fontSize:Zt(a)?void 0:Xt(a),"--color":r}});return(a,r)=>(y(),M("i",ft({class:s(n).b(),style:s(o)},a.$attrs),[re(a.$slots,"default")],16))}});var QV=xe(ZV,[["__file","icon.vue"]]);const Be=lt(QV),eB=["light","dark"],tB=Ee({title:{type:String,default:""},description:{type:String,default:""},type:{type:String,values:yl(Ka),default:"info"},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},showIcon:Boolean,center:Boolean,effect:{type:String,values:eB,default:"light"}}),nB={close:e=>e instanceof MouseEvent},oB=A({name:"ElAlert"}),aB=A({...oB,props:tB,emits:nB,setup(e,{emit:t}){const n=e,{Close:o}=d2,a=fn(),r=me("alert"),l=R(!0),i=S(()=>Ka[n.type]),u=S(()=>[r.e("icon"),{[r.is("big")]:!!n.description||!!a.default}]),d=S(()=>({"with-description":n.description||a.default})),f=c=>{l.value=!1,t("close",c)};return(c,p)=>(y(),oe(nn,{name:s(r).b("fade"),persisted:""},{default:G(()=>[Qe(k("div",{class:$([s(r).b(),s(r).m(c.type),s(r).is("center",c.center),s(r).is(c.effect)]),role:"alert"},[c.showIcon&&s(i)?(y(),oe(s(Be),{key:0,class:$(s(u))},{default:G(()=>[(y(),oe(ut(s(i))))]),_:1},8,["class"])):Z("v-if",!0),k("div",{class:$(s(r).e("content"))},[c.title||c.$slots.title?(y(),M("span",{key:0,class:$([s(r).e("title"),s(d)])},[re(c.$slots,"title",{},()=>[vt(Me(c.title),1)])],2)):Z("v-if",!0),c.$slots.default||c.description?(y(),M("p",{key:1,class:$(s(r).e("description"))},[re(c.$slots,"default",{},()=>[vt(Me(c.description),1)])],2)):Z("v-if",!0),c.closable?(y(),M(Fe,{key:2},[c.closeText?(y(),M("div",{key:0,class:$([s(r).e("close-btn"),s(r).is("customed")]),onClick:f},Me(c.closeText),3)):(y(),oe(s(Be),{key:1,class:$(s(r).e("close-btn")),onClick:f},{default:G(()=>[W(s(o))]),_:1},8,["class"]))],64)):Z("v-if",!0)],2)],2),[[bt,l.value]])]),_:3},8,["name"]))}});var rB=xe(aB,[["__file","alert.vue"]]);const lB=lt(rB),Dr=Symbol("formContextKey"),Vo=Symbol("formItemContextKey"),an=(e,t={})=>{const n=R(void 0),o=t.prop?n:r6("size"),a=t.global?n:VV(),r=t.form?{size:void 0}:Pe(Dr,void 0),l=t.formItem?{size:void 0}:Pe(Vo,void 0);return S(()=>o.value||s(e)||(l==null?void 0:l.size)||(r==null?void 0:r.size)||a.value||"")},Dn=e=>{const t=r6("disabled"),n=Pe(Dr,void 0);return S(()=>t.value||s(e)||(n==null?void 0:n.disabled)||!1)},Nn=()=>{const e=Pe(Dr,void 0),t=Pe(Vo,void 0);return{form:e,formItem:t}},Ho=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:o})=>{n||(n=R(!1)),o||(o=R(!1));const a=R();let r;const l=S(()=>{var i;return!!(!e.label&&t&&t.inputIds&&((i=t.inputIds)==null?void 0:i.length)<=1)});return et(()=>{r=pe([At(e,"id"),n],([i,u])=>{const d=i??(u?void 0:kn().value);d!==a.value&&(t!=null&&t.removeInputId&&(a.value&&t.removeInputId(a.value),!(o!=null&&o.value)&&!u&&d&&t.addInputId(d)),a.value=d)},{immediate:!0})}),Ua(()=>{r&&r(),t!=null&&t.removeInputId&&a.value&&t.removeInputId(a.value)}),{isLabeledByFormItem:l,inputId:a}},sB=Ee({size:{type:String,values:zo},disabled:Boolean}),iB=Ee({...sB,model:Object,rules:{type:X(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:Boolean,scrollToError:Boolean,scrollIntoViewOptions:{type:[Object,Boolean]}}),uB={validate:(e,t,n)=>(Ie(e)||Ze(e))&&Qt(t)&&Ze(n)};function cB(){const e=R([]),t=S(()=>{if(!e.value.length)return"0";const r=Math.max(...e.value);return r?`${r}px`:""});function n(r){const l=e.value.indexOf(r);return l===-1&&t.value,l}function o(r,l){if(r&&l){const i=n(l);e.value.splice(i,1,r)}else r&&e.value.push(r)}function a(r){const l=n(r);l>-1&&e.value.splice(l,1)}return{autoLabelWidth:t,registerLabelWidth:o,deregisterLabelWidth:a}}const Ai=(e,t)=>{const n=kr(t);return n.length>0?e.filter(o=>o.prop&&n.includes(o.prop)):e},dB="ElForm",fB=A({name:dB}),pB=A({...fB,props:iB,emits:uB,setup(e,{expose:t,emit:n}){const o=e,a=[],r=an(),l=me("form"),i=S(()=>{const{labelPosition:b,inline:C}=o;return[l.b(),l.m(r.value||"default"),{[l.m(`label-${b}`)]:b,[l.m("inline")]:C}]}),u=b=>a.find(C=>C.prop===b),d=b=>{a.push(b)},f=b=>{b.prop&&a.splice(a.indexOf(b),1)},c=(b=[])=>{o.model&&Ai(a,b).forEach(C=>C.resetField())},p=(b=[])=>{Ai(a,b).forEach(C=>C.clearValidate())},h=S(()=>!!o.model),m=b=>{if(a.length===0)return[];const C=Ai(a,b);return C.length?C:[]},v=async b=>g(void 0,b),_=async(b=[])=>{if(!h.value)return!1;const C=m(b);if(C.length===0)return!0;let x={};for(const E of C)try{await E.validate("")}catch(O){x={...x,...O}}return Object.keys(x).length===0?!0:Promise.reject(x)},g=async(b=[],C)=>{const x=!Xe(C);try{const E=await _(b);return E===!0&&(C==null||C(E)),E}catch(E){if(E instanceof Error)throw E;const O=E;return o.scrollToError&&w(Object.keys(O)[0]),C==null||C(!1,O),x&&Promise.reject(O)}},w=b=>{var C;const x=Ai(a,b)[0];x&&((C=x.$el)==null||C.scrollIntoView(o.scrollIntoViewOptions))};return pe(()=>o.rules,()=>{o.validateOnRuleChange&&v().catch(b=>void 0)},{deep:!0}),pt(Dr,wt({...un(o),emit:n,resetFields:c,clearValidate:p,validateField:g,getField:u,addField:d,removeField:f,...cB()})),t({validate:v,validateField:g,resetFields:c,clearValidate:p,scrollToField:w}),(b,C)=>(y(),M("form",{class:$(s(i))},[re(b.$slots,"default")],2))}});var vB=xe(pB,[["__file","form.vue"]]);function sr(){return sr=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Zi(e,t,n){return mB()?Zi=Reflect.construct.bind():Zi=function(a,r,l){var i=[null];i.push.apply(i,r);var u=Function.bind.apply(a,i),d=new u;return l&&Rs(d,l.prototype),d},Zi.apply(null,arguments)}function gB(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function gf(e){var t=typeof Map=="function"?new Map:void 0;return gf=function(o){if(o===null||!gB(o))return o;if(typeof o!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(o))return t.get(o);t.set(o,a)}function a(){return Zi(o,arguments,mf(this).constructor)}return a.prototype=Object.create(o.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),Rs(a,o)},gf(e)}var yB=/%[sdj%]/g,_B=function(){};function yf(e){if(!e||!e.length)return null;var t={};return e.forEach(function(n){var o=n.field;t[o]=t[o]||[],t[o].push(n)}),t}function qn(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o=r)return i;switch(i){case"%s":return String(n[a++]);case"%d":return Number(n[a++]);case"%j":try{return JSON.stringify(n[a++])}catch{return"[Circular]"}break;default:return i}});return l}return e}function bB(e){return e==="string"||e==="url"||e==="hex"||e==="email"||e==="date"||e==="pattern"}function dn(e,t){return!!(e==null||t==="array"&&Array.isArray(e)&&!e.length||bB(t)&&typeof e=="string"&&!e)}function wB(e,t,n){var o=[],a=0,r=e.length;function l(i){o.push.apply(o,i||[]),a++,a===r&&n(o)}e.forEach(function(i){t(i,l)})}function R1(e,t,n){var o=0,a=e.length;function r(l){if(l&&l.length){n(l);return}var i=o;o=o+1,i()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},es={integer:function(t){return es.number(t)&&parseInt(t,10)===t},float:function(t){return es.number(t)&&!es.integer(t)},array:function(t){return Array.isArray(t)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch{return!1}},date:function(t){return typeof t.getTime=="function"&&typeof t.getMonth=="function"&&typeof t.getYear=="function"&&!isNaN(t.getTime())},number:function(t){return isNaN(t)?!1:typeof t=="number"},object:function(t){return typeof t=="object"&&!es.array(t)},method:function(t){return typeof t=="function"},email:function(t){return typeof t=="string"&&t.length<=320&&!!t.match(B1.email)},url:function(t){return typeof t=="string"&&t.length<=2048&&!!t.match(MB())},hex:function(t){return typeof t=="string"&&!!t.match(B1.hex)}},$B=function(t,n,o,a,r){if(t.required&&n===void 0){V6(t,n,o,a,r);return}var l=["integer","float","array","regexp","object","method","email","number","date","url","hex"],i=t.type;l.indexOf(i)>-1?es[i](n)||a.push(qn(r.messages.types[i],t.fullField,t.type)):i&&typeof n!==t.type&&a.push(qn(r.messages.types[i],t.fullField,t.type))},TB=function(t,n,o,a,r){var l=typeof t.len=="number",i=typeof t.min=="number",u=typeof t.max=="number",d=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,f=n,c=null,p=typeof n=="number",h=typeof n=="string",m=Array.isArray(n);if(p?c="number":h?c="string":m&&(c="array"),!c)return!1;m&&(f=n.length),h&&(f=n.replace(d,"_").length),l?f!==t.len&&a.push(qn(r.messages[c].len,t.fullField,t.len)):i&&!u&&ft.max?a.push(qn(r.messages[c].max,t.fullField,t.max)):i&&u&&(ft.max)&&a.push(qn(r.messages[c].range,t.fullField,t.min,t.max))},Kr="enum",AB=function(t,n,o,a,r){t[Kr]=Array.isArray(t[Kr])?t[Kr]:[],t[Kr].indexOf(n)===-1&&a.push(qn(r.messages[Kr],t.fullField,t[Kr].join(", ")))},OB=function(t,n,o,a,r){if(t.pattern){if(t.pattern instanceof RegExp)t.pattern.lastIndex=0,t.pattern.test(n)||a.push(qn(r.messages.pattern.mismatch,t.fullField,n,t.pattern));else if(typeof t.pattern=="string"){var l=new RegExp(t.pattern);l.test(n)||a.push(qn(r.messages.pattern.mismatch,t.fullField,n,t.pattern))}}},Tt={required:V6,whitespace:xB,type:$B,range:TB,enum:AB,pattern:OB},NB=function(t,n,o,a,r){var l=[],i=t.required||!t.required&&a.hasOwnProperty(t.field);if(i){if(dn(n,"string")&&!t.required)return o();Tt.required(t,n,a,l,r,"string"),dn(n,"string")||(Tt.type(t,n,a,l,r),Tt.range(t,n,a,l,r),Tt.pattern(t,n,a,l,r),t.whitespace===!0&&Tt.whitespace(t,n,a,l,r))}o(l)},IB=function(t,n,o,a,r){var l=[],i=t.required||!t.required&&a.hasOwnProperty(t.field);if(i){if(dn(n)&&!t.required)return o();Tt.required(t,n,a,l,r),n!==void 0&&Tt.type(t,n,a,l,r)}o(l)},RB=function(t,n,o,a,r){var l=[],i=t.required||!t.required&&a.hasOwnProperty(t.field);if(i){if(n===""&&(n=void 0),dn(n)&&!t.required)return o();Tt.required(t,n,a,l,r),n!==void 0&&(Tt.type(t,n,a,l,r),Tt.range(t,n,a,l,r))}o(l)},PB=function(t,n,o,a,r){var l=[],i=t.required||!t.required&&a.hasOwnProperty(t.field);if(i){if(dn(n)&&!t.required)return o();Tt.required(t,n,a,l,r),n!==void 0&&Tt.type(t,n,a,l,r)}o(l)},LB=function(t,n,o,a,r){var l=[],i=t.required||!t.required&&a.hasOwnProperty(t.field);if(i){if(dn(n)&&!t.required)return o();Tt.required(t,n,a,l,r),dn(n)||Tt.type(t,n,a,l,r)}o(l)},VB=function(t,n,o,a,r){var l=[],i=t.required||!t.required&&a.hasOwnProperty(t.field);if(i){if(dn(n)&&!t.required)return o();Tt.required(t,n,a,l,r),n!==void 0&&(Tt.type(t,n,a,l,r),Tt.range(t,n,a,l,r))}o(l)},BB=function(t,n,o,a,r){var l=[],i=t.required||!t.required&&a.hasOwnProperty(t.field);if(i){if(dn(n)&&!t.required)return o();Tt.required(t,n,a,l,r),n!==void 0&&(Tt.type(t,n,a,l,r),Tt.range(t,n,a,l,r))}o(l)},zB=function(t,n,o,a,r){var l=[],i=t.required||!t.required&&a.hasOwnProperty(t.field);if(i){if(n==null&&!t.required)return o();Tt.required(t,n,a,l,r,"array"),n!=null&&(Tt.type(t,n,a,l,r),Tt.range(t,n,a,l,r))}o(l)},HB=function(t,n,o,a,r){var l=[],i=t.required||!t.required&&a.hasOwnProperty(t.field);if(i){if(dn(n)&&!t.required)return o();Tt.required(t,n,a,l,r),n!==void 0&&Tt.type(t,n,a,l,r)}o(l)},DB="enum",FB=function(t,n,o,a,r){var l=[],i=t.required||!t.required&&a.hasOwnProperty(t.field);if(i){if(dn(n)&&!t.required)return o();Tt.required(t,n,a,l,r),n!==void 0&&Tt[DB](t,n,a,l,r)}o(l)},KB=function(t,n,o,a,r){var l=[],i=t.required||!t.required&&a.hasOwnProperty(t.field);if(i){if(dn(n,"string")&&!t.required)return o();Tt.required(t,n,a,l,r),dn(n,"string")||Tt.pattern(t,n,a,l,r)}o(l)},WB=function(t,n,o,a,r){var l=[],i=t.required||!t.required&&a.hasOwnProperty(t.field);if(i){if(dn(n,"date")&&!t.required)return o();if(Tt.required(t,n,a,l,r),!dn(n,"date")){var u;n instanceof Date?u=n:u=new Date(n),Tt.type(t,u,a,l,r),u&&Tt.range(t,u.getTime(),a,l,r)}}o(l)},jB=function(t,n,o,a,r){var l=[],i=Array.isArray(n)?"array":typeof n;Tt.required(t,n,a,l,r,i),o(l)},gd=function(t,n,o,a,r){var l=t.type,i=[],u=t.required||!t.required&&a.hasOwnProperty(t.field);if(u){if(dn(n,l)&&!t.required)return o();Tt.required(t,n,a,i,r,l),dn(n,l)||Tt.type(t,n,a,i,r)}o(i)},qB=function(t,n,o,a,r){var l=[],i=t.required||!t.required&&a.hasOwnProperty(t.field);if(i){if(dn(n)&&!t.required)return o();Tt.required(t,n,a,l,r)}o(l)},vs={string:NB,method:IB,number:RB,boolean:PB,regexp:LB,integer:VB,float:BB,array:zB,object:HB,enum:FB,pattern:KB,date:WB,url:gd,hex:gd,email:gd,required:jB,any:qB};function _f(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var t=JSON.parse(JSON.stringify(this));return t.clone=this.clone,t}}}var bf=_f(),si=function(){function e(n){this.rules=null,this._messages=bf,this.define(n)}var t=e.prototype;return t.define=function(o){var a=this;if(!o)throw new Error("Cannot configure a schema with no rules");if(typeof o!="object"||Array.isArray(o))throw new Error("Rules must be an object");this.rules={},Object.keys(o).forEach(function(r){var l=o[r];a.rules[r]=Array.isArray(l)?l:[l]})},t.messages=function(o){return o&&(this._messages=V1(_f(),o)),this._messages},t.validate=function(o,a,r){var l=this;a===void 0&&(a={}),r===void 0&&(r=function(){});var i=o,u=a,d=r;if(typeof u=="function"&&(d=u,u={}),!this.rules||Object.keys(this.rules).length===0)return d&&d(null,i),Promise.resolve(i);function f(v){var _=[],g={};function w(C){if(Array.isArray(C)){var x;_=(x=_).concat.apply(x,C)}else _.push(C)}for(var b=0;b");const a=me("form"),r=R(),l=R(0),i=()=>{var f;if((f=r.value)!=null&&f.firstElementChild){const c=window.getComputedStyle(r.value.firstElementChild).width;return Math.ceil(Number.parseFloat(c))}else return 0},u=(f="update")=>{We(()=>{t.default&&e.isAutoWidth&&(f==="update"?l.value=i():f==="remove"&&(n==null||n.deregisterLabelWidth(l.value)))})},d=()=>u("update");return et(()=>{d()}),It(()=>{u("remove")}),ua(()=>d()),pe(l,(f,c)=>{e.updateAll&&(n==null||n.registerLabelWidth(f,c))}),Kt(S(()=>{var f,c;return(c=(f=r.value)==null?void 0:f.firstElementChild)!=null?c:null}),d),()=>{var f,c;if(!t)return null;const{isAutoWidth:p}=e;if(p){const h=n==null?void 0:n.autoLabelWidth,m=o==null?void 0:o.hasLabel,v={};if(m&&h&&h!=="auto"){const _=Math.max(0,Number.parseInt(h,10)-l.value),g=n.labelPosition==="left"?"marginRight":"marginLeft";_&&(v[g]=`${_}px`)}return W("div",{ref:r,class:[a.be("item","label-wrap")],style:v},[(f=t.default)==null?void 0:f.call(t)])}else return W(Fe,{ref:r},[(c=t.default)==null?void 0:c.call(t)])}}});const XB=["role","aria-labelledby"],JB=A({name:"ElFormItem"}),ZB=A({...JB,props:YB,setup(e,{expose:t}){const n=e,o=fn(),a=Pe(Dr,void 0),r=Pe(Vo,void 0),l=an(void 0,{formItem:!1}),i=me("form-item"),u=kn().value,d=R([]),f=R(""),c=f5(f,100),p=R(""),h=R();let m,v=!1;const _=S(()=>{if((a==null?void 0:a.labelPosition)==="top")return{};const le=Xt(n.labelWidth||(a==null?void 0:a.labelWidth)||"");return le?{width:le}:{}}),g=S(()=>{if((a==null?void 0:a.labelPosition)==="top"||a!=null&&a.inline)return{};if(!n.label&&!n.labelWidth&&V)return{};const le=Xt(n.labelWidth||(a==null?void 0:a.labelWidth)||"");return!n.label&&!o.label?{marginLeft:le}:{}}),w=S(()=>[i.b(),i.m(l.value),i.is("error",f.value==="error"),i.is("validating",f.value==="validating"),i.is("success",f.value==="success"),i.is("required",K.value||n.required),i.is("no-asterisk",a==null?void 0:a.hideRequiredAsterisk),(a==null?void 0:a.requireAsteriskPosition)==="right"?"asterisk-right":"asterisk-left",{[i.m("feedback")]:a==null?void 0:a.statusIcon}]),b=S(()=>Qt(n.inlineMessage)?n.inlineMessage:(a==null?void 0:a.inlineMessage)||!1),C=S(()=>[i.e("error"),{[i.em("error","inline")]:b.value}]),x=S(()=>n.prop?Ze(n.prop)?n.prop:n.prop.join("."):""),E=S(()=>!!(n.label||o.label)),O=S(()=>n.for||(d.value.length===1?d.value[0]:void 0)),T=S(()=>!O.value&&E.value),V=!!r,L=S(()=>{const le=a==null?void 0:a.model;if(!(!le||!n.prop))return Xi(le,n.prop).value}),P=S(()=>{const{required:le}=n,ae=[];n.rules&&ae.push(...kr(n.rules));const Te=a==null?void 0:a.rules;if(Te&&n.prop){const ce=Xi(Te,n.prop).value;ce&&ae.push(...kr(ce))}if(le!==void 0){const ce=ae.map((ge,Ae)=>[ge,Ae]).filter(([ge])=>Object.keys(ge).includes("required"));if(ce.length>0)for(const[ge,Ae]of ce)ge.required!==le&&(ae[Ae]={...ge,required:le});else ae.push({required:le})}return ae}),z=S(()=>P.value.length>0),j=le=>P.value.filter(Te=>!Te.trigger||!le?!0:Array.isArray(Te.trigger)?Te.trigger.includes(le):Te.trigger===le).map(({trigger:Te,...ce})=>ce),K=S(()=>P.value.some(le=>le.required)),F=S(()=>{var le;return c.value==="error"&&n.showMessage&&((le=a==null?void 0:a.showMessage)!=null?le:!0)}),B=S(()=>`${n.label||""}${(a==null?void 0:a.labelSuffix)||""}`),I=le=>{f.value=le},H=le=>{var ae,Te;const{errors:ce,fields:ge}=le;(!ce||!ge)&&console.error(le),I("error"),p.value=ce?(Te=(ae=ce==null?void 0:ce[0])==null?void 0:ae.message)!=null?Te:`${n.prop} is required`:"",a==null||a.emit("validate",n.prop,!1,p.value)},N=()=>{I("success"),a==null||a.emit("validate",n.prop,!0,"")},D=async le=>{const ae=x.value;return new si({[ae]:le}).validate({[ae]:L.value},{firstFields:!0}).then(()=>(N(),!0)).catch(ce=>(H(ce),Promise.reject(ce)))},q=async(le,ae)=>{if(v||!n.prop)return!1;const Te=Xe(ae);if(!z.value)return ae==null||ae(!1),!1;const ce=j(le);return ce.length===0?(ae==null||ae(!0),!0):(I("validating"),D(ce).then(()=>(ae==null||ae(!0),!0)).catch(ge=>{const{fields:Ae}=ge;return ae==null||ae(!1,Ae),Te?!1:Promise.reject(Ae)}))},Y=()=>{I(""),p.value="",v=!1},J=async()=>{const le=a==null?void 0:a.model;if(!le||!n.prop)return;const ae=Xi(le,n.prop);v=!0,ae.value=r1(m),await We(),Y(),v=!1},se=le=>{d.value.includes(le)||d.value.push(le)},_e=le=>{d.value=d.value.filter(ae=>ae!==le)};pe(()=>n.error,le=>{p.value=le||"",I(le?"error":"")},{immediate:!0}),pe(()=>n.validateStatus,le=>I(le||""));const Q=wt({...un(n),$el:h,size:l,validateState:f,labelId:u,inputIds:d,isGroup:T,hasLabel:E,fieldValue:L,addInputId:se,removeInputId:_e,resetField:J,clearValidate:Y,validate:q});return pt(Vo,Q),et(()=>{n.prop&&(a==null||a.addField(Q),m=r1(L.value))}),It(()=>{a==null||a.removeField(Q)}),t({size:l,validateMessage:p,validateState:f,validate:q,clearValidate:Y,resetField:J}),(le,ae)=>{var Te;return y(),M("div",{ref_key:"formItemRef",ref:h,class:$(s(w)),role:s(T)?"group":void 0,"aria-labelledby":s(T)?s(u):void 0},[W(s(GB),{"is-auto-width":s(_).width==="auto","update-all":((Te=s(a))==null?void 0:Te.labelWidth)==="auto"},{default:G(()=>[s(E)?(y(),oe(ut(s(O)?"label":"div"),{key:0,id:s(u),for:s(O),class:$(s(i).e("label")),style:De(s(_))},{default:G(()=>[re(le.$slots,"label",{label:s(B)},()=>[vt(Me(s(B)),1)])]),_:3},8,["id","for","class","style"])):Z("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),k("div",{class:$(s(i).e("content")),style:De(s(g))},[re(le.$slots,"default"),W(M4,{name:`${s(i).namespace.value}-zoom-in-top`},{default:G(()=>[s(F)?re(le.$slots,"error",{key:0,error:p.value},()=>[k("div",{class:$(s(C))},Me(p.value),3)]):Z("v-if",!0)]),_:3},8,["name"])],6)],10,XB)}}});var B6=xe(ZB,[["__file","form-item.vue"]]);const QB=lt(vB,{FormItem:B6}),ez=Dt(B6);let mo;const tz=` + height:0 !important; + visibility:hidden !important; + ${D4()?"":"overflow:hidden !important;"} + position:absolute !important; + z-index:-1000 !important; + top:0 !important; + right:0 !important; +`,nz=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"];function oz(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),o=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),a=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:nz.map(l=>`${l}:${t.getPropertyValue(l)}`).join(";"),paddingSize:o,borderSize:a,boxSizing:n}}function H1(e,t=1,n){var o;mo||(mo=document.createElement("textarea"),document.body.appendChild(mo));const{paddingSize:a,borderSize:r,boxSizing:l,contextStyle:i}=oz(e);mo.setAttribute("style",`${i};${tz}`),mo.value=e.value||e.placeholder||"";let u=mo.scrollHeight;const d={};l==="border-box"?u=u+r:l==="content-box"&&(u=u-a),mo.value="";const f=mo.scrollHeight-a;if(Ye(t)){let c=f*t;l==="border-box"&&(c=c+a+r),u=Math.max(c,u),d.minHeight=`${c}px`}if(Ye(n)){let c=f*n;l==="border-box"&&(c=c+a+r),u=Math.min(c,u)}return d.height=`${u}px`,(o=mo.parentNode)==null||o.removeChild(mo),mo=void 0,d}const az=Ee({id:{type:String,default:void 0},size:cn,disabled:Boolean,modelValue:{type:X([String,Number,Object]),default:""},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:X([Boolean,Object]),default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showWordLimit:{type:Boolean,default:!1},suffixIcon:{type:$t},prefixIcon:{type:$t},containerRole:{type:String,default:void 0},label:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:X([Object,Array,String]),default:()=>Ht({})},autofocus:{type:Boolean,default:!1}}),rz={[it]:e=>Ze(e),input:e=>Ze(e),change:e=>Ze(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},lz=["role"],sz=["id","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus"],iz=["id","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus"],uz=A({name:"ElInput",inheritAttrs:!1}),cz=A({...uz,props:az,emits:rz,setup(e,{expose:t,emit:n}){const o=e,a=Pr(),r=fn(),l=S(()=>{const de={};return o.containerRole==="combobox"&&(de["aria-haspopup"]=a["aria-haspopup"],de["aria-owns"]=a["aria-owns"],de["aria-expanded"]=a["aria-expanded"]),de}),i=S(()=>[o.type==="textarea"?_.b():v.b(),v.m(h.value),v.is("disabled",m.value),v.is("exceed",se.value),{[v.b("group")]:r.prepend||r.append,[v.bm("group","append")]:r.append,[v.bm("group","prepend")]:r.prepend,[v.m("prefix")]:r.prefix||o.prefixIcon,[v.m("suffix")]:r.suffix||o.suffixIcon||o.clearable||o.showPassword,[v.bm("suffix","password-clear")]:D.value&&q.value,[v.b("hidden")]:o.type==="hidden"},a.class]),u=S(()=>[v.e("wrapper"),v.is("focus",L.value)]),d=v2({excludeKeys:S(()=>Object.keys(l.value))}),{form:f,formItem:c}=Nn(),{inputId:p}=Ho(o,{formItemContext:c}),h=an(),m=Dn(),v=me("input"),_=me("textarea"),g=Rt(),w=Rt(),b=R(!1),C=R(!1),x=R(!1),E=R(),O=Rt(o.inputStyle),T=S(()=>g.value||w.value),{wrapperRef:V,isFocused:L,handleFocus:P,handleBlur:z}=Oc(T,{afterBlur(){var de;o.validateEvent&&((de=c==null?void 0:c.validate)==null||de.call(c,"blur").catch(Le=>void 0))}}),j=S(()=>{var de;return(de=f==null?void 0:f.statusIcon)!=null?de:!1}),K=S(()=>(c==null?void 0:c.validateState)||""),F=S(()=>K.value&&f2[K.value]),B=S(()=>x.value?Xg:Bg),I=S(()=>[a.style]),H=S(()=>[o.inputStyle,O.value,{resize:o.resize}]),N=S(()=>tn(o.modelValue)?"":String(o.modelValue)),D=S(()=>o.clearable&&!m.value&&!o.readonly&&!!N.value&&(L.value||b.value)),q=S(()=>o.showPassword&&!m.value&&!o.readonly&&!!N.value&&(!!N.value||L.value)),Y=S(()=>o.showWordLimit&&!!o.maxlength&&(o.type==="text"||o.type==="textarea")&&!m.value&&!o.readonly&&!o.showPassword),J=S(()=>N.value.length),se=S(()=>!!Y.value&&J.value>Number(o.maxlength)),_e=S(()=>!!r.suffix||!!o.suffixIcon||D.value||o.showPassword||Y.value||!!K.value&&j.value),[Q,le]=PV(g);Kt(w,de=>{if(ce(),!Y.value||o.resize!=="both")return;const Le=de[0],{width:Ue}=Le.contentRect;E.value={right:`calc(100% - ${Ue+15+6}px)`}});const ae=()=>{const{type:de,autosize:Le}=o;if(!(!gt||de!=="textarea"||!w.value))if(Le){const Ue=ct(Le)?Le.minRows:void 0,ot=ct(Le)?Le.maxRows:void 0,dt=H1(w.value,Ue,ot);O.value={overflowY:"hidden",...dt},We(()=>{w.value.offsetHeight,O.value=dt})}else O.value={minHeight:H1(w.value).minHeight}},ce=(de=>{let Le=!1;return()=>{var Ue;if(Le||!o.autosize)return;((Ue=w.value)==null?void 0:Ue.offsetParent)===null||(de(),Le=!0)}})(ae),ge=()=>{const de=T.value,Le=o.formatter?o.formatter(N.value):N.value;!de||de.value===Le||(de.value=Le)},Ae=async de=>{Q();let{value:Le}=de.target;if(o.formatter&&(Le=o.parser?o.parser(Le):Le),!C.value){if(Le===N.value){ge();return}n(it,Le),n("input",Le),await We(),ge(),le()}},U=de=>{n("change",de.target.value)},te=de=>{n("compositionstart",de),C.value=!0},ve=de=>{var Le;n("compositionupdate",de);const Ue=(Le=de.target)==null?void 0:Le.value,ot=Ue[Ue.length-1]||"";C.value=!p2(ot)},be=de=>{n("compositionend",de),C.value&&(C.value=!1,Ae(de))},ue=()=>{x.value=!x.value,ye()},ye=async()=>{var de;await We(),(de=T.value)==null||de.focus()},we=()=>{var de;return(de=T.value)==null?void 0:de.blur()},Ce=de=>{b.value=!1,n("mouseleave",de)},he=de=>{b.value=!0,n("mouseenter",de)},Se=de=>{n("keydown",de)},Re=()=>{var de;(de=T.value)==null||de.select()},He=()=>{n(it,""),n("change",""),n("clear"),n("input","")};return pe(()=>o.modelValue,()=>{var de;We(()=>ae()),o.validateEvent&&((de=c==null?void 0:c.validate)==null||de.call(c,"change").catch(Le=>void 0))}),pe(N,()=>ge()),pe(()=>o.type,async()=>{await We(),ge(),ae()}),et(()=>{!o.formatter&&o.parser,ge(),We(ae)}),t({input:g,textarea:w,ref:T,textareaStyle:H,autosize:At(o,"autosize"),focus:ye,blur:we,select:Re,clear:He,resizeTextarea:ae}),(de,Le)=>(y(),M("div",ft(s(l),{class:s(i),style:s(I),role:de.containerRole,onMouseenter:he,onMouseleave:Ce}),[Z(" input "),de.type!=="textarea"?(y(),M(Fe,{key:0},[Z(" prepend slot "),de.$slots.prepend?(y(),M("div",{key:0,class:$(s(v).be("group","prepend"))},[re(de.$slots,"prepend")],2)):Z("v-if",!0),k("div",{ref_key:"wrapperRef",ref:V,class:$(s(u))},[Z(" prefix slot "),de.$slots.prefix||de.prefixIcon?(y(),M("span",{key:0,class:$(s(v).e("prefix"))},[k("span",{class:$(s(v).e("prefix-inner"))},[re(de.$slots,"prefix"),de.prefixIcon?(y(),oe(s(Be),{key:0,class:$(s(v).e("icon"))},{default:G(()=>[(y(),oe(ut(de.prefixIcon)))]),_:1},8,["class"])):Z("v-if",!0)],2)],2)):Z("v-if",!0),k("input",ft({id:s(p),ref_key:"input",ref:g,class:s(v).e("inner")},s(d),{minlength:de.minlength,maxlength:de.maxlength,type:de.showPassword?x.value?"text":"password":de.type,disabled:s(m),readonly:de.readonly,autocomplete:de.autocomplete,tabindex:de.tabindex,"aria-label":de.label,placeholder:de.placeholder,style:de.inputStyle,form:de.form,autofocus:de.autofocus,onCompositionstart:te,onCompositionupdate:ve,onCompositionend:be,onInput:Ae,onFocus:Le[0]||(Le[0]=(...Ue)=>s(P)&&s(P)(...Ue)),onBlur:Le[1]||(Le[1]=(...Ue)=>s(z)&&s(z)(...Ue)),onChange:U,onKeydown:Se}),null,16,sz),Z(" suffix slot "),s(_e)?(y(),M("span",{key:1,class:$(s(v).e("suffix"))},[k("span",{class:$(s(v).e("suffix-inner"))},[!s(D)||!s(q)||!s(Y)?(y(),M(Fe,{key:0},[re(de.$slots,"suffix"),de.suffixIcon?(y(),oe(s(Be),{key:0,class:$(s(v).e("icon"))},{default:G(()=>[(y(),oe(ut(de.suffixIcon)))]),_:1},8,["class"])):Z("v-if",!0)],64)):Z("v-if",!0),s(D)?(y(),oe(s(Be),{key:1,class:$([s(v).e("icon"),s(v).e("clear")]),onMousedown:Ge(s(Et),["prevent"]),onClick:He},{default:G(()=>[W(s(fa))]),_:1},8,["class","onMousedown"])):Z("v-if",!0),s(q)?(y(),oe(s(Be),{key:2,class:$([s(v).e("icon"),s(v).e("password")]),onClick:ue},{default:G(()=>[(y(),oe(ut(s(B))))]),_:1},8,["class"])):Z("v-if",!0),s(Y)?(y(),M("span",{key:3,class:$(s(v).e("count"))},[k("span",{class:$(s(v).e("count-inner"))},Me(s(J))+" / "+Me(de.maxlength),3)],2)):Z("v-if",!0),s(K)&&s(F)&&s(j)?(y(),oe(s(Be),{key:4,class:$([s(v).e("icon"),s(v).e("validateIcon"),s(v).is("loading",s(K)==="validating")])},{default:G(()=>[(y(),oe(ut(s(F))))]),_:1},8,["class"])):Z("v-if",!0)],2)],2)):Z("v-if",!0)],2),Z(" append slot "),de.$slots.append?(y(),M("div",{key:1,class:$(s(v).be("group","append"))},[re(de.$slots,"append")],2)):Z("v-if",!0)],64)):(y(),M(Fe,{key:1},[Z(" textarea "),k("textarea",ft({id:s(p),ref_key:"textarea",ref:w,class:s(_).e("inner")},s(d),{minlength:de.minlength,maxlength:de.maxlength,tabindex:de.tabindex,disabled:s(m),readonly:de.readonly,autocomplete:de.autocomplete,style:s(H),"aria-label":de.label,placeholder:de.placeholder,form:de.form,autofocus:de.autofocus,onCompositionstart:te,onCompositionupdate:ve,onCompositionend:be,onInput:Ae,onFocus:Le[2]||(Le[2]=(...Ue)=>s(P)&&s(P)(...Ue)),onBlur:Le[3]||(Le[3]=(...Ue)=>s(z)&&s(z)(...Ue)),onChange:U,onKeydown:Se}),null,16,iz),s(Y)?(y(),M("span",{key:0,style:De(E.value),class:$(s(v).e("count"))},Me(s(J))+" / "+Me(de.maxlength),7)):Z("v-if",!0)],64))],16,lz))}});var dz=xe(cz,[["__file","input.vue"]]);const mn=lt(dz),Wr=4,z6={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},fz=({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}),P2=Symbol("scrollbarContextKey"),pz=Ee({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),vz="Thumb",hz=A({__name:"thumb",props:pz,setup(e){const t=e,n=Pe(P2),o=me("scrollbar");n||on(vz,"can not inject scrollbar context");const a=R(),r=R(),l=R({}),i=R(!1);let u=!1,d=!1,f=gt?document.onselectstart:null;const c=S(()=>z6[t.vertical?"vertical":"horizontal"]),p=S(()=>fz({size:t.size,move:t.move,bar:c.value})),h=S(()=>a.value[c.value.offset]**2/n.wrapElement[c.value.scrollSize]/t.ratio/r.value[c.value.offset]),m=E=>{var O;if(E.stopPropagation(),E.ctrlKey||[1,2].includes(E.button))return;(O=window.getSelection())==null||O.removeAllRanges(),_(E);const T=E.currentTarget;T&&(l.value[c.value.axis]=T[c.value.offset]-(E[c.value.client]-T.getBoundingClientRect()[c.value.direction]))},v=E=>{if(!r.value||!a.value||!n.wrapElement)return;const O=Math.abs(E.target.getBoundingClientRect()[c.value.direction]-E[c.value.client]),T=r.value[c.value.offset]/2,V=(O-T)*100*h.value/a.value[c.value.offset];n.wrapElement[c.value.scroll]=V*n.wrapElement[c.value.scrollSize]/100},_=E=>{E.stopImmediatePropagation(),u=!0,document.addEventListener("mousemove",g),document.addEventListener("mouseup",w),f=document.onselectstart,document.onselectstart=()=>!1},g=E=>{if(!a.value||!r.value||u===!1)return;const O=l.value[c.value.axis];if(!O)return;const T=(a.value.getBoundingClientRect()[c.value.direction]-E[c.value.client])*-1,V=r.value[c.value.offset]-O,L=(T-V)*100*h.value/a.value[c.value.offset];n.wrapElement[c.value.scroll]=L*n.wrapElement[c.value.scrollSize]/100},w=()=>{u=!1,l.value[c.value.axis]=0,document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",w),x(),d&&(i.value=!1)},b=()=>{d=!1,i.value=!!t.size},C=()=>{d=!0,i.value=u};It(()=>{x(),document.removeEventListener("mouseup",w)});const x=()=>{document.onselectstart!==f&&(document.onselectstart=f)};return Vt(At(n,"scrollbarElement"),"mousemove",b),Vt(At(n,"scrollbarElement"),"mouseleave",C),(E,O)=>(y(),oe(nn,{name:s(o).b("fade"),persisted:""},{default:G(()=>[Qe(k("div",{ref_key:"instance",ref:a,class:$([s(o).e("bar"),s(o).is(s(c).key)]),onMousedown:v},[k("div",{ref_key:"thumb",ref:r,class:$(s(o).e("thumb")),style:De(s(p)),onMousedown:m},null,38)],34),[[bt,E.always||i.value]])]),_:1},8,["name"]))}});var D1=xe(hz,[["__file","thumb.vue"]]);const mz=Ee({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),gz=A({__name:"bar",props:mz,setup(e,{expose:t}){const n=e,o=Pe(P2),a=R(0),r=R(0),l=R(""),i=R(""),u=R(1),d=R(1);return t({handleScroll:p=>{if(p){const h=p.offsetHeight-Wr,m=p.offsetWidth-Wr;r.value=p.scrollTop*100/h*u.value,a.value=p.scrollLeft*100/m*d.value}},update:()=>{const p=o==null?void 0:o.wrapElement;if(!p)return;const h=p.offsetHeight-Wr,m=p.offsetWidth-Wr,v=h**2/p.scrollHeight,_=m**2/p.scrollWidth,g=Math.max(v,n.minSize),w=Math.max(_,n.minSize);u.value=v/(h-v)/(g/(h-g)),d.value=_/(m-_)/(w/(m-w)),i.value=g+Wr(y(),M(Fe,null,[W(D1,{move:a.value,ratio:d.value,size:l.value,always:p.always},null,8,["move","ratio","size","always"]),W(D1,{move:r.value,ratio:u.value,size:i.value,vertical:"",always:p.always},null,8,["move","ratio","size","always"])],64))}});var yz=xe(gz,[["__file","bar.vue"]]);const _z=Ee({height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:{type:Boolean,default:!1},wrapStyle:{type:X([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},id:String,role:String,ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical"]}}),bz={scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(Ye)},wz="ElScrollbar",Cz=A({name:wz}),Sz=A({...Cz,props:_z,emits:bz,setup(e,{expose:t,emit:n}){const o=e,a=me("scrollbar");let r,l;const i=R(),u=R(),d=R(),f=R(),c=S(()=>{const b={};return o.height&&(b.height=Xt(o.height)),o.maxHeight&&(b.maxHeight=Xt(o.maxHeight)),[o.wrapStyle,b]}),p=S(()=>[o.wrapClass,a.e("wrap"),{[a.em("wrap","hidden-default")]:!o.native}]),h=S(()=>[a.e("view"),o.viewClass]),m=()=>{var b;u.value&&((b=f.value)==null||b.handleScroll(u.value),n("scroll",{scrollTop:u.value.scrollTop,scrollLeft:u.value.scrollLeft}))};function v(b,C){ct(b)?u.value.scrollTo(b):Ye(b)&&Ye(C)&&u.value.scrollTo(b,C)}const _=b=>{Ye(b)&&(u.value.scrollTop=b)},g=b=>{Ye(b)&&(u.value.scrollLeft=b)},w=()=>{var b;(b=f.value)==null||b.update()};return pe(()=>o.noresize,b=>{b?(r==null||r(),l==null||l()):({stop:r}=Kt(d,w),l=Vt("resize",w))},{immediate:!0}),pe(()=>[o.maxHeight,o.height],()=>{o.native||We(()=>{var b;w(),u.value&&((b=f.value)==null||b.handleScroll(u.value))})}),pt(P2,wt({scrollbarElement:i,wrapElement:u})),et(()=>{o.native||We(()=>{w()})}),ua(()=>w()),t({wrapRef:u,update:w,scrollTo:v,setScrollTop:_,setScrollLeft:g,handleScroll:m}),(b,C)=>(y(),M("div",{ref_key:"scrollbarRef",ref:i,class:$(s(a).b())},[k("div",{ref_key:"wrapRef",ref:u,class:$(s(p)),style:De(s(c)),onScroll:m},[(y(),oe(ut(b.tag),{id:b.id,ref_key:"resizeRef",ref:d,class:$(s(h)),style:De(b.viewStyle),role:b.role,"aria-label":b.ariaLabel,"aria-orientation":b.ariaOrientation},{default:G(()=>[re(b.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],38),b.native?Z("v-if",!0):(y(),oe(yz,{key:0,ref_key:"barRef",ref:f,always:b.always,"min-size":b.minSize},null,8,["always","min-size"]))],2))}});var kz=xe(Sz,[["__file","scrollbar.vue"]]);const ha=lt(kz),L2=Symbol("popper"),H6=Symbol("popperContent"),Ez=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],D6=Ee({role:{type:String,values:Ez,default:"tooltip"}}),xz=A({name:"ElPopper",inheritAttrs:!1}),Mz=A({...xz,props:D6,setup(e,{expose:t}){const n=e,o=R(),a=R(),r=R(),l=R(),i=S(()=>n.role),u={triggerRef:o,popperInstanceRef:a,contentRef:r,referenceRef:l,role:i};return t(u),pt(L2,u),(d,f)=>re(d.$slots,"default")}});var $z=xe(Mz,[["__file","popper.vue"]]);const F6=Ee({arrowOffset:{type:Number,default:5}}),Tz=A({name:"ElPopperArrow",inheritAttrs:!1}),Az=A({...Tz,props:F6,setup(e,{expose:t}){const n=e,o=me("popper"),{arrowOffset:a,arrowRef:r,arrowStyle:l}=Pe(H6,void 0);return pe(()=>n.arrowOffset,i=>{a.value=i}),It(()=>{r.value=void 0}),t({arrowRef:r}),(i,u)=>(y(),M("span",{ref_key:"arrowRef",ref:r,class:$(s(o).e("arrow")),style:De(s(l)),"data-popper-arrow":""},null,6))}});var Oz=xe(Az,[["__file","arrow.vue"]]);const Nz="ElOnlyChild",K6=A({name:Nz,setup(e,{slots:t,attrs:n}){var o;const a=Pe(y6),r=ZL((o=a==null?void 0:a.setForwardRef)!=null?o:Et);return()=>{var l;const i=(l=t.default)==null?void 0:l.call(t,n);if(!i||i.length>1)return null;const u=W6(i);return u?Qe(oa(u,n),[[r]]):null}}});function W6(e){if(!e)return null;const t=e;for(const n of t){if(ct(n))switch(n.type){case $n:continue;case Il:case"svg":return F1(n);case Fe:return W6(n.children);default:return n}return F1(n)}return null}function F1(e){const t=me("only-child");return W("span",{class:t.e("content")},[e])}const j6=Ee({virtualRef:{type:X(Object)},virtualTriggering:Boolean,onMouseenter:{type:X(Function)},onMouseleave:{type:X(Function)},onClick:{type:X(Function)},onKeydown:{type:X(Function)},onFocus:{type:X(Function)},onBlur:{type:X(Function)},onContextmenu:{type:X(Function)},id:String,open:Boolean}),Iz=A({name:"ElPopperTrigger",inheritAttrs:!1}),Rz=A({...Iz,props:j6,setup(e,{expose:t}){const n=e,{role:o,triggerRef:a}=Pe(L2,void 0);JL(a);const r=S(()=>i.value?n.id:void 0),l=S(()=>{if(o&&o.value==="tooltip")return n.open&&n.id?n.id:void 0}),i=S(()=>{if(o&&o.value!=="tooltip")return o.value}),u=S(()=>i.value?`${n.open}`:void 0);let d;return et(()=>{pe(()=>n.virtualRef,f=>{f&&(a.value=Ln(f))},{immediate:!0}),pe(a,(f,c)=>{d==null||d(),d=void 0,io(f)&&(["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"].forEach(p=>{var h;const m=n[p];m&&(f.addEventListener(p.slice(2).toLowerCase(),m),(h=c==null?void 0:c.removeEventListener)==null||h.call(c,p.slice(2).toLowerCase(),m))}),d=pe([r,l,i,u],p=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((h,m)=>{tn(p[m])?f.removeAttribute(h):f.setAttribute(h,p[m])})},{immediate:!0})),io(c)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(p=>c.removeAttribute(p))},{immediate:!0})}),It(()=>{d==null||d(),d=void 0}),t({triggerRef:a}),(f,c)=>f.virtualTriggering?Z("v-if",!0):(y(),oe(s(K6),ft({key:0},f.$attrs,{"aria-controls":s(r),"aria-describedby":s(l),"aria-expanded":s(u),"aria-haspopup":s(i)}),{default:G(()=>[re(f.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var Pz=xe(Rz,[["__file","trigger.vue"]]);const yd="focus-trap.focus-after-trapped",_d="focus-trap.focus-after-released",Lz="focus-trap.focusout-prevented",K1={cancelable:!0,bubbles:!1},Vz={cancelable:!0,bubbles:!1},W1="focusAfterTrapped",j1="focusAfterReleased",V2=Symbol("elFocusTrap"),B2=R(),Rc=R(0),z2=R(0);let Ni=0;const q6=e=>{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const a=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||a?NodeFilter.FILTER_SKIP:o.tabIndex>=0||o===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},q1=(e,t)=>{for(const n of e)if(!Bz(n,t))return n},Bz=(e,t)=>{if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1},zz=e=>{const t=q6(e),n=q1(t,e),o=q1(t.reverse(),e);return[n,o]},Hz=e=>e instanceof HTMLInputElement&&"select"in e,Sa=(e,t)=>{if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),z2.value=window.performance.now(),e!==n&&Hz(e)&&t&&e.select()}};function U1(e,t){const n=[...e],o=e.indexOf(t);return o!==-1&&n.splice(o,1),n}const Dz=()=>{let e=[];return{push:o=>{const a=e[0];a&&o!==a&&a.pause(),e=U1(e,o),e.unshift(o)},remove:o=>{var a,r;e=U1(e,o),(r=(a=e[0])==null?void 0:a.resume)==null||r.call(a)}}},Fz=(e,t=!1)=>{const n=document.activeElement;for(const o of e)if(Sa(o,t),document.activeElement!==n)return},Y1=Dz(),Kz=()=>Rc.value>z2.value,Ii=()=>{B2.value="pointer",Rc.value=window.performance.now()},G1=()=>{B2.value="keyboard",Rc.value=window.performance.now()},Wz=()=>(et(()=>{Ni===0&&(document.addEventListener("mousedown",Ii),document.addEventListener("touchstart",Ii),document.addEventListener("keydown",G1)),Ni++}),It(()=>{Ni--,Ni<=0&&(document.removeEventListener("mousedown",Ii),document.removeEventListener("touchstart",Ii),document.removeEventListener("keydown",G1))}),{focusReason:B2,lastUserFocusTimestamp:Rc,lastAutomatedFocusTimestamp:z2}),Ri=e=>new CustomEvent(Lz,{...Vz,detail:e}),jz=A({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[W1,j1,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=R();let o,a;const{focusReason:r}=Wz();qL(m=>{e.trapped&&!l.paused&&t("release-requested",m)});const l={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},i=m=>{if(!e.loop&&!e.trapped||l.paused)return;const{key:v,altKey:_,ctrlKey:g,metaKey:w,currentTarget:b,shiftKey:C}=m,{loop:x}=e,E=v===Ke.tab&&!_&&!g&&!w,O=document.activeElement;if(E&&O){const T=b,[V,L]=zz(T);if(V&&L){if(!C&&O===L){const z=Ri({focusReason:r.value});t("focusout-prevented",z),z.defaultPrevented||(m.preventDefault(),x&&Sa(V,!0))}else if(C&&[V,T].includes(O)){const z=Ri({focusReason:r.value});t("focusout-prevented",z),z.defaultPrevented||(m.preventDefault(),x&&Sa(L,!0))}}else if(O===T){const z=Ri({focusReason:r.value});t("focusout-prevented",z),z.defaultPrevented||m.preventDefault()}}};pt(V2,{focusTrapRef:n,onKeydown:i}),pe(()=>e.focusTrapEl,m=>{m&&(n.value=m)},{immediate:!0}),pe([n],([m],[v])=>{m&&(m.addEventListener("keydown",i),m.addEventListener("focusin",f),m.addEventListener("focusout",c)),v&&(v.removeEventListener("keydown",i),v.removeEventListener("focusin",f),v.removeEventListener("focusout",c))});const u=m=>{t(W1,m)},d=m=>t(j1,m),f=m=>{const v=s(n);if(!v)return;const _=m.target,g=m.relatedTarget,w=_&&v.contains(_);e.trapped||g&&v.contains(g)||(o=g),w&&t("focusin",m),!l.paused&&e.trapped&&(w?a=_:Sa(a,!0))},c=m=>{const v=s(n);if(!(l.paused||!v))if(e.trapped){const _=m.relatedTarget;!tn(_)&&!v.contains(_)&&setTimeout(()=>{if(!l.paused&&e.trapped){const g=Ri({focusReason:r.value});t("focusout-prevented",g),g.defaultPrevented||Sa(a,!0)}},0)}else{const _=m.target;_&&v.contains(_)||t("focusout",m)}};async function p(){await We();const m=s(n);if(m){Y1.push(l);const v=m.contains(document.activeElement)?o:document.activeElement;if(o=v,!m.contains(v)){const g=new Event(yd,K1);m.addEventListener(yd,u),m.dispatchEvent(g),g.defaultPrevented||We(()=>{let w=e.focusStartEl;Ze(w)||(Sa(w),document.activeElement!==w&&(w="first")),w==="first"&&Fz(q6(m),!0),(document.activeElement===v||w==="container")&&Sa(m)})}}}function h(){const m=s(n);if(m){m.removeEventListener(yd,u);const v=new CustomEvent(_d,{...K1,detail:{focusReason:r.value}});m.addEventListener(_d,d),m.dispatchEvent(v),!v.defaultPrevented&&(r.value=="keyboard"||!Kz()||m.contains(document.activeElement))&&Sa(o??document.body),m.removeEventListener(_d,d),Y1.remove(l)}}return et(()=>{e.trapped&&p(),pe(()=>e.trapped,m=>{m?p():h()})}),It(()=>{e.trapped&&h()}),{onKeydown:i}}});function qz(e,t,n,o,a,r){return re(e.$slots,"default",{handleKeydown:e.onKeydown})}var ii=xe(jz,[["render",qz],["__file","focus-trap.vue"]]);const Uz=["fixed","absolute"],Yz=Ee({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:X(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:Hr,default:"bottom"},popperOptions:{type:X(Object),default:()=>({})},strategy:{type:String,values:Uz,default:"absolute"}}),U6=Ee({...Yz,id:String,style:{type:X([String,Array,Object])},className:{type:X([String,Array,Object])},effect:{type:String,default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:{type:Boolean,default:!1},trapping:{type:Boolean,default:!1},popperClass:{type:X([String,Array,Object])},popperStyle:{type:X([String,Array,Object])},referenceEl:{type:X(Object)},triggerTargetEl:{type:X(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},ariaLabel:{type:String,default:void 0},virtualTriggering:Boolean,zIndex:Number}),Gz={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},Xz=(e,t=[])=>{const{placement:n,strategy:o,popperOptions:a}=e,r={placement:n,strategy:o,...a,modifiers:[...Zz(e),...t]};return Qz(r,a==null?void 0:a.modifiers),r},Jz=e=>{if(gt)return Ln(e)};function Zz(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:o}=e;return[{name:"offset",options:{offset:[0,t??12]}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5,fallbackPlacements:o}},{name:"computeStyles",options:{gpuAcceleration:n}}]}function Qz(e,t){t&&(e.modifiers=[...e.modifiers,...t??[]])}const eH=0,tH=e=>{const{popperInstanceRef:t,contentRef:n,triggerRef:o,role:a}=Pe(L2,void 0),r=R(),l=R(),i=S(()=>({name:"eventListeners",enabled:!!e.visible})),u=S(()=>{var g;const w=s(r),b=(g=s(l))!=null?g:eH;return{name:"arrow",enabled:!xg(w),options:{element:w,padding:b}}}),d=S(()=>({onFirstUpdate:()=>{m()},...Xz(e,[s(u),s(i)])})),f=S(()=>Jz(e.referenceEl)||s(o)),{attributes:c,state:p,styles:h,update:m,forceUpdate:v,instanceRef:_}=FL(f,n,d);return pe(_,g=>t.value=g),et(()=>{pe(()=>{var g;return(g=s(f))==null?void 0:g.getBoundingClientRect()},()=>{m()})}),{attributes:c,arrowRef:r,contentRef:n,instanceRef:_,state:p,styles:h,role:a,forceUpdate:v,update:m}},nH=(e,{attributes:t,styles:n,role:o})=>{const{nextZIndex:a}=zl(),r=me("popper"),l=S(()=>s(t).popper),i=R(Ye(e.zIndex)?e.zIndex:a()),u=S(()=>[r.b(),r.is("pure",e.pure),r.is(e.effect),e.popperClass]),d=S(()=>[{zIndex:s(i)},s(n).popper,e.popperStyle||{}]),f=S(()=>o.value==="dialog"?"false":void 0),c=S(()=>s(n).arrow||{});return{ariaModal:f,arrowStyle:c,contentAttrs:l,contentClass:u,contentStyle:d,contentZIndex:i,updateZIndex:()=>{i.value=Ye(e.zIndex)?e.zIndex:a()}}},oH=(e,t)=>{const n=R(!1),o=R();return{focusStartRef:o,trapped:n,onFocusAfterReleased:d=>{var f;((f=d.detail)==null?void 0:f.focusReason)!=="pointer"&&(o.value="first",t("blur"))},onFocusAfterTrapped:()=>{t("focus")},onFocusInTrap:d=>{e.visible&&!n.value&&(d.target&&(o.value=d.target),n.value=!0)},onFocusoutPrevented:d=>{e.trapping||(d.detail.focusReason==="pointer"&&d.preventDefault(),n.value=!1)},onReleaseRequested:()=>{n.value=!1,t("close")}}},aH=A({name:"ElPopperContent"}),rH=A({...aH,props:U6,emits:Gz,setup(e,{expose:t,emit:n}){const o=e,{focusStartRef:a,trapped:r,onFocusAfterReleased:l,onFocusAfterTrapped:i,onFocusInTrap:u,onFocusoutPrevented:d,onReleaseRequested:f}=oH(o,n),{attributes:c,arrowRef:p,contentRef:h,styles:m,instanceRef:v,role:_,update:g}=tH(o),{ariaModal:w,arrowStyle:b,contentAttrs:C,contentClass:x,contentStyle:E,updateZIndex:O}=nH(o,{styles:m,attributes:c,role:_}),T=Pe(Vo,void 0),V=R();pt(H6,{arrowStyle:b,arrowRef:p,arrowOffset:V}),T&&(T.addInputId||T.removeInputId)&&pt(Vo,{...T,addInputId:Et,removeInputId:Et});let L;const P=(j=!0)=>{g(),j&&O()},z=()=>{P(!1),o.visible&&o.focusOnShow?r.value=!0:o.visible===!1&&(r.value=!1)};return et(()=>{pe(()=>o.triggerTargetEl,(j,K)=>{L==null||L(),L=void 0;const F=s(j||h.value),B=s(K||h.value);io(F)&&(L=pe([_,()=>o.ariaLabel,w,()=>o.id],I=>{["role","aria-label","aria-modal","id"].forEach((H,N)=>{tn(I[N])?F.removeAttribute(H):F.setAttribute(H,I[N])})},{immediate:!0})),B!==F&&io(B)&&["role","aria-label","aria-modal","id"].forEach(I=>{B.removeAttribute(I)})},{immediate:!0}),pe(()=>o.visible,z,{immediate:!0})}),It(()=>{L==null||L(),L=void 0}),t({popperContentRef:h,popperInstanceRef:v,updatePopper:P,contentStyle:E}),(j,K)=>(y(),M("div",ft({ref_key:"contentRef",ref:h},s(C),{style:s(E),class:s(x),tabindex:"-1",onMouseenter:K[0]||(K[0]=F=>j.$emit("mouseenter",F)),onMouseleave:K[1]||(K[1]=F=>j.$emit("mouseleave",F))}),[W(s(ii),{trapped:s(r),"trap-on-focus-in":!0,"focus-trap-el":s(h),"focus-start-el":s(a),onFocusAfterTrapped:s(i),onFocusAfterReleased:s(l),onFocusin:s(u),onFocusoutPrevented:s(d),onReleaseRequested:s(f)},{default:G(()=>[re(j.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16))}});var lH=xe(rH,[["__file","content.vue"]]);const Y6=lt($z),Pc=Symbol("elTooltip"),pn=Ee({...GL,...U6,appendTo:{type:X([String,Object])},content:{type:String,default:""},rawContent:{type:Boolean,default:!1},persistent:Boolean,ariaLabel:String,visible:{type:X(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean}),Ps=Ee({...j6,disabled:Boolean,trigger:{type:X([String,Array]),default:"hover"},triggerKeys:{type:X(Array),default:()=>[Ke.enter,Ke.space]}}),{useModelToggleProps:sH,useModelToggleEmits:iH,useModelToggle:uH}=a6("visible"),cH=Ee({...D6,...sH,...pn,...Ps,...F6,showArrow:{type:Boolean,default:!0}}),dH=[...iH,"before-show","before-hide","show","hide","open","close"],fH=(e,t)=>Ie(e)?e.includes(t):e===t,jr=(e,t,n)=>o=>{fH(s(e),t)&&n(o)},pH=A({name:"ElTooltipTrigger"}),vH=A({...pH,props:Ps,setup(e,{expose:t}){const n=e,o=me("tooltip"),{controlled:a,id:r,open:l,onOpen:i,onClose:u,onToggle:d}=Pe(Pc,void 0),f=R(null),c=()=>{if(s(a)||n.disabled)return!0},p=At(n,"trigger"),h=jt(c,jr(p,"hover",i)),m=jt(c,jr(p,"hover",u)),v=jt(c,jr(p,"click",C=>{C.button===0&&d(C)})),_=jt(c,jr(p,"focus",i)),g=jt(c,jr(p,"focus",u)),w=jt(c,jr(p,"contextmenu",C=>{C.preventDefault(),d(C)})),b=jt(c,C=>{const{code:x}=C;n.triggerKeys.includes(x)&&(C.preventDefault(),d(C))});return t({triggerRef:f}),(C,x)=>(y(),oe(s(Pz),{id:s(r),"virtual-ref":C.virtualRef,open:s(l),"virtual-triggering":C.virtualTriggering,class:$(s(o).e("trigger")),onBlur:s(g),onClick:s(v),onContextmenu:s(w),onFocus:s(_),onMouseenter:s(h),onMouseleave:s(m),onKeydown:s(b)},{default:G(()=>[re(C.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var hH=xe(vH,[["__file","trigger.vue"]]);const mH=A({name:"ElTooltipContent",inheritAttrs:!1}),gH=A({...mH,props:pn,setup(e,{expose:t}){const n=e,{selector:o}=g6(),a=me("tooltip"),r=R(null),l=R(!1),{controlled:i,id:u,open:d,trigger:f,onClose:c,onOpen:p,onShow:h,onHide:m,onBeforeShow:v,onBeforeHide:_}=Pe(Pc,void 0),g=S(()=>n.transition||`${a.namespace.value}-fade-in-linear`),w=S(()=>n.persistent);It(()=>{l.value=!0});const b=S(()=>s(w)?!0:s(d)),C=S(()=>n.disabled?!1:s(d)),x=S(()=>n.appendTo||o.value),E=S(()=>{var I;return(I=n.style)!=null?I:{}}),O=S(()=>!s(d)),T=()=>{m()},V=()=>{if(s(i))return!0},L=jt(V,()=>{n.enterable&&s(f)==="hover"&&p()}),P=jt(V,()=>{s(f)==="hover"&&c()}),z=()=>{var I,H;(H=(I=r.value)==null?void 0:I.updatePopper)==null||H.call(I),v==null||v()},j=()=>{_==null||_()},K=()=>{h(),B=H0(S(()=>{var I;return(I=r.value)==null?void 0:I.popperContentRef}),()=>{if(s(i))return;s(f)!=="hover"&&c()})},F=()=>{n.virtualTriggering||c()};let B;return pe(()=>s(d),I=>{I||B==null||B()},{flush:"post"}),pe(()=>n.content,()=>{var I,H;(H=(I=r.value)==null?void 0:I.updatePopper)==null||H.call(I)}),t({contentRef:r}),(I,H)=>(y(),oe(Nl,{disabled:!I.teleported,to:s(x)},[W(nn,{name:s(g),onAfterLeave:T,onBeforeEnter:z,onAfterEnter:K,onBeforeLeave:j},{default:G(()=>[s(b)?Qe((y(),oe(s(lH),ft({key:0,id:s(u),ref_key:"contentRef",ref:r},I.$attrs,{"aria-label":I.ariaLabel,"aria-hidden":s(O),"boundaries-padding":I.boundariesPadding,"fallback-placements":I.fallbackPlacements,"gpu-acceleration":I.gpuAcceleration,offset:I.offset,placement:I.placement,"popper-options":I.popperOptions,strategy:I.strategy,effect:I.effect,enterable:I.enterable,pure:I.pure,"popper-class":I.popperClass,"popper-style":[I.popperStyle,s(E)],"reference-el":I.referenceEl,"trigger-target-el":I.triggerTargetEl,visible:s(C),"z-index":I.zIndex,onMouseenter:s(L),onMouseleave:s(P),onBlur:F,onClose:s(c)}),{default:G(()=>[l.value?Z("v-if",!0):re(I.$slots,"default",{key:0})]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"])),[[bt,s(C)]]):Z("v-if",!0)]),_:3},8,["name"])],8,["disabled","to"]))}});var yH=xe(gH,[["__file","content.vue"]]);const _H=["innerHTML"],bH={key:1},wH=A({name:"ElTooltip"}),CH=A({...wH,props:cH,emits:dH,setup(e,{expose:t,emit:n}){const o=e;YL();const a=kn(),r=R(),l=R(),i=()=>{var g;const w=s(r);w&&((g=w.popperInstanceRef)==null||g.update())},u=R(!1),d=R(),{show:f,hide:c,hasUpdateHandler:p}=uH({indicator:u,toggleReason:d}),{onOpen:h,onClose:m}=XL({showAfter:At(o,"showAfter"),hideAfter:At(o,"hideAfter"),autoClose:At(o,"autoClose"),open:f,close:c}),v=S(()=>Qt(o.visible)&&!p.value);pt(Pc,{controlled:v,id:a,open:Ol(u),trigger:At(o,"trigger"),onOpen:g=>{h(g)},onClose:g=>{m(g)},onToggle:g=>{s(u)?m(g):h(g)},onShow:()=>{n("show",d.value)},onHide:()=>{n("hide",d.value)},onBeforeShow:()=>{n("before-show",d.value)},onBeforeHide:()=>{n("before-hide",d.value)},updatePopper:i}),pe(()=>o.disabled,g=>{g&&u.value&&(u.value=!1)});const _=g=>{var w,b;const C=(b=(w=l.value)==null?void 0:w.contentRef)==null?void 0:b.popperContentRef,x=(g==null?void 0:g.relatedTarget)||document.activeElement;return C&&C.contains(x)};return e4(()=>u.value&&c()),t({popperRef:r,contentRef:l,isFocusInsideContent:_,updatePopper:i,onOpen:h,onClose:m,hide:c}),(g,w)=>(y(),oe(s(Y6),{ref_key:"popperRef",ref:r,role:g.role},{default:G(()=>[W(hH,{disabled:g.disabled,trigger:g.trigger,"trigger-keys":g.triggerKeys,"virtual-ref":g.virtualRef,"virtual-triggering":g.virtualTriggering},{default:G(()=>[g.$slots.default?re(g.$slots,"default",{key:0}):Z("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering"]),W(yH,{ref_key:"contentRef",ref:l,"aria-label":g.ariaLabel,"boundaries-padding":g.boundariesPadding,content:g.content,disabled:g.disabled,effect:g.effect,enterable:g.enterable,"fallback-placements":g.fallbackPlacements,"hide-after":g.hideAfter,"gpu-acceleration":g.gpuAcceleration,offset:g.offset,persistent:g.persistent,"popper-class":g.popperClass,"popper-style":g.popperStyle,placement:g.placement,"popper-options":g.popperOptions,pure:g.pure,"raw-content":g.rawContent,"reference-el":g.referenceEl,"trigger-target-el":g.triggerTargetEl,"show-after":g.showAfter,strategy:g.strategy,teleported:g.teleported,transition:g.transition,"virtual-triggering":g.virtualTriggering,"z-index":g.zIndex,"append-to":g.appendTo},{default:G(()=>[re(g.$slots,"content",{},()=>[g.rawContent?(y(),M("span",{key:0,innerHTML:g.content},null,8,_H)):(y(),M("span",bH,Me(g.content),1))]),g.showArrow?(y(),oe(s(Oz),{key:0,"arrow-offset":g.arrowOffset},null,8,["arrow-offset"])):Z("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});var SH=xe(CH,[["__file","tooltip.vue"]]);const En=lt(SH),kH=Ee({valueKey:{type:String,default:"value"},modelValue:{type:[String,Number],default:""},debounce:{type:Number,default:300},placement:{type:X(String),values:["top","top-start","top-end","bottom","bottom-start","bottom-end"],default:"bottom-start"},fetchSuggestions:{type:X([Function,Array]),default:Et},popperClass:{type:String,default:""},triggerOnFocus:{type:Boolean,default:!0},selectWhenUnmatched:{type:Boolean,default:!1},hideLoading:{type:Boolean,default:!1},label:{type:String},teleported:pn.teleported,highlightFirstItem:{type:Boolean,default:!1},fitInputWidth:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},name:String}),EH={[it]:e=>Ze(e),[Tn]:e=>Ze(e),[Bt]:e=>Ze(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,select:e=>ct(e)},xH=["aria-expanded","aria-owns"],MH={key:0},$H=["id","aria-selected","onClick"],G6="ElAutocomplete",TH=A({name:G6,inheritAttrs:!1}),AH=A({...TH,props:kH,emits:EH,setup(e,{expose:t,emit:n}){const o=e,a=v2(),r=Pr(),l=Dn(),i=me("autocomplete"),u=R(),d=R(),f=R(),c=R();let p=!1,h=!1;const m=R([]),v=R(-1),_=R(""),g=R(!1),w=R(!1),b=R(!1),C=kn(),x=S(()=>r.style),E=S(()=>(m.value.length>0||b.value)&&g.value),O=S(()=>!o.hideLoading&&b.value),T=S(()=>u.value?Array.from(u.value.$el.querySelectorAll("input")):[]),V=()=>{E.value&&(_.value=`${u.value.$el.offsetWidth}px`)},L=()=>{v.value=-1},z=Hn(async Q=>{if(w.value)return;const le=ae=>{b.value=!1,!w.value&&(Ie(ae)?(m.value=ae,v.value=o.highlightFirstItem?0:-1):on(G6,"autocomplete suggestions must be an array"))};if(b.value=!0,Ie(o.fetchSuggestions))le(o.fetchSuggestions);else{const ae=await o.fetchSuggestions(Q,le);Ie(ae)&&le(ae)}},o.debounce),j=Q=>{const le=!!Q;if(n(Tn,Q),n(it,Q),w.value=!1,g.value||(g.value=le),!o.triggerOnFocus&&!Q){w.value=!0,m.value=[];return}z(Q)},K=Q=>{var le;l.value||(((le=Q.target)==null?void 0:le.tagName)!=="INPUT"||T.value.includes(document.activeElement))&&(g.value=!0)},F=Q=>{n(Bt,Q)},B=Q=>{h?h=!1:(g.value=!0,n("focus",Q),o.triggerOnFocus&&!p&&z(String(o.modelValue)))},I=Q=>{setTimeout(()=>{var le;if((le=f.value)!=null&&le.isFocusInsideContent()){h=!0;return}g.value&&q(),n("blur",Q)})},H=()=>{g.value=!1,n(it,""),n("clear")},N=async()=>{E.value&&v.value>=0&&v.value{E.value&&(Q.preventDefault(),Q.stopPropagation(),q())},q=()=>{g.value=!1},Y=()=>{var Q;(Q=u.value)==null||Q.focus()},J=()=>{var Q;(Q=u.value)==null||Q.blur()},se=async Q=>{n(Tn,Q[o.valueKey]),n(it,Q[o.valueKey]),n("select",Q),m.value=[],v.value=-1},_e=Q=>{if(!E.value||b.value)return;if(Q<0){v.value=-1;return}Q>=m.value.length&&(Q=m.value.length-1);const le=d.value.querySelector(`.${i.be("suggestion","wrap")}`),Te=le.querySelectorAll(`.${i.be("suggestion","list")} li`)[Q],ce=le.scrollTop,{offsetTop:ge,scrollHeight:Ae}=Te;ge+Ae>ce+le.clientHeight&&(le.scrollTop+=Ae),ge{E.value&&q()}),et(()=>{u.value.ref.setAttribute("role","textbox"),u.value.ref.setAttribute("aria-autocomplete","list"),u.value.ref.setAttribute("aria-controls","id"),u.value.ref.setAttribute("aria-activedescendant",`${C.value}-item-${v.value}`),p=u.value.ref.hasAttribute("readonly")}),t({highlightedIndex:v,activated:g,loading:b,inputRef:u,popperRef:f,suggestions:m,handleSelect:se,handleKeyEnter:N,focus:Y,blur:J,close:q,highlight:_e}),(Q,le)=>(y(),oe(s(En),{ref_key:"popperRef",ref:f,visible:s(E),placement:Q.placement,"fallback-placements":["bottom-start","top-start"],"popper-class":[s(i).e("popper"),Q.popperClass],teleported:Q.teleported,"gpu-acceleration":!1,pure:"","manual-mode":"",effect:"light",trigger:"click",transition:`${s(i).namespace.value}-zoom-in-top`,persistent:"",role:"listbox",onBeforeShow:V,onHide:L},{content:G(()=>[k("div",{ref_key:"regionRef",ref:d,class:$([s(i).b("suggestion"),s(i).is("loading",s(O))]),style:De({[Q.fitInputWidth?"width":"minWidth"]:_.value,outline:"none"}),role:"region"},[W(s(ha),{id:s(C),tag:"ul","wrap-class":s(i).be("suggestion","wrap"),"view-class":s(i).be("suggestion","list"),role:"listbox"},{default:G(()=>[s(O)?(y(),M("li",MH,[re(Q.$slots,"loading",{},()=>[W(s(Be),{class:$(s(i).is("loading"))},{default:G(()=>[W(s(pa))]),_:1},8,["class"])])])):(y(!0),M(Fe,{key:1},mt(m.value,(ae,Te)=>(y(),M("li",{id:`${s(C)}-item-${Te}`,key:Te,class:$({highlighted:v.value===Te}),role:"option","aria-selected":v.value===Te,onClick:ce=>se(ae)},[re(Q.$slots,"default",{item:ae},()=>[vt(Me(ae[Q.valueKey]),1)])],10,$H))),128))]),_:3},8,["id","wrap-class","view-class"])],6)]),default:G(()=>[k("div",{ref_key:"listboxRef",ref:c,class:$([s(i).b(),Q.$attrs.class]),style:De(s(x)),role:"combobox","aria-haspopup":"listbox","aria-expanded":s(E),"aria-owns":s(C)},[W(s(mn),ft({ref_key:"inputRef",ref:u},s(a),{clearable:Q.clearable,disabled:s(l),name:Q.name,"model-value":Q.modelValue,onInput:j,onChange:F,onFocus:B,onBlur:I,onClear:H,onKeydown:[le[0]||(le[0]=Mt(Ge(ae=>_e(v.value-1),["prevent"]),["up"])),le[1]||(le[1]=Mt(Ge(ae=>_e(v.value+1),["prevent"]),["down"])),Mt(N,["enter"]),Mt(q,["tab"]),Mt(D,["esc"])],onMousedown:K}),na({_:2},[Q.$slots.prepend?{name:"prepend",fn:G(()=>[re(Q.$slots,"prepend")])}:void 0,Q.$slots.append?{name:"append",fn:G(()=>[re(Q.$slots,"append")])}:void 0,Q.$slots.prefix?{name:"prefix",fn:G(()=>[re(Q.$slots,"prefix")])}:void 0,Q.$slots.suffix?{name:"suffix",fn:G(()=>[re(Q.$slots,"suffix")])}:void 0]),1040,["clearable","disabled","name","model-value","onKeydown"])],14,xH)]),_:3},8,["visible","placement","popper-class","teleported","transition"]))}});var OH=xe(AH,[["__file","autocomplete.vue"]]);const NH=lt(OH),IH=Ee({size:{type:[Number,String],values:zo,default:"",validator:e=>Ye(e)},shape:{type:String,values:["circle","square"],default:"circle"},icon:{type:$t},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:X(String),default:"cover"}}),RH={error:e=>e instanceof Event},PH=["src","alt","srcset"],LH=A({name:"ElAvatar"}),VH=A({...LH,props:IH,emits:RH,setup(e,{emit:t}){const n=e,o=me("avatar"),a=R(!1),r=S(()=>{const{size:d,icon:f,shape:c}=n,p=[o.b()];return Ze(d)&&p.push(o.m(d)),f&&p.push(o.m("icon")),c&&p.push(o.m(c)),p}),l=S(()=>{const{size:d}=n;return Ye(d)?o.cssVarBlock({size:Xt(d)||""}):void 0}),i=S(()=>({objectFit:n.fit}));pe(()=>n.src,()=>a.value=!1);function u(d){a.value=!0,t("error",d)}return(d,f)=>(y(),M("span",{class:$(s(r)),style:De(s(l))},[(d.src||d.srcSet)&&!a.value?(y(),M("img",{key:0,src:d.src,alt:d.alt,srcset:d.srcSet,style:De(s(i)),onError:u},null,44,PH)):d.icon?(y(),oe(s(Be),{key:1},{default:G(()=>[(y(),oe(ut(d.icon)))]),_:1})):re(d.$slots,"default",{key:2})],6))}});var BH=xe(VH,[["__file","avatar.vue"]]);const zH=lt(BH),HH={visibilityHeight:{type:Number,default:200},target:{type:String,default:""},right:{type:Number,default:40},bottom:{type:Number,default:40}},DH={click:e=>e instanceof MouseEvent},FH=(e,t,n)=>{const o=Rt(),a=Rt(),r=R(!1),l=()=>{o.value&&(r.value=o.value.scrollTop>=e.visibilityHeight)},i=d=>{var f;(f=o.value)==null||f.scrollTo({top:0,behavior:"smooth"}),t("click",d)},u=V4(l,300,!0);return Vt(a,"scroll",u),et(()=>{var d;a.value=document,o.value=document.documentElement,e.target&&(o.value=(d=document.querySelector(e.target))!=null?d:void 0,o.value||on(n,`target does not exist: ${e.target}`),a.value=o.value),l()}),{visible:r,handleClick:i}},X6="ElBacktop",KH=A({name:X6}),WH=A({...KH,props:HH,emits:DH,setup(e,{emit:t}){const n=e,o=me("backtop"),{handleClick:a,visible:r}=FH(n,t,X6),l=S(()=>({right:`${n.right}px`,bottom:`${n.bottom}px`}));return(i,u)=>(y(),oe(nn,{name:`${s(o).namespace.value}-fade-in`},{default:G(()=>[s(r)?(y(),M("div",{key:0,style:De(s(l)),class:$(s(o).b()),onClick:u[0]||(u[0]=Ge((...d)=>s(a)&&s(a)(...d),["stop"]))},[re(i.$slots,"default",{},()=>[W(s(Be),{class:$(s(o).e("icon"))},{default:G(()=>[W(s(Ig))]),_:1},8,["class"])])],6)):Z("v-if",!0)]),_:3},8,["name"]))}});var jH=xe(WH,[["__file","backtop.vue"]]);const qH=lt(jH),UH=Ee({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String}),YH=["textContent"],GH=A({name:"ElBadge"}),XH=A({...GH,props:UH,setup(e,{expose:t}){const n=e,o=me("badge"),a=S(()=>n.isDot?"":Ye(n.value)&&Ye(n.max)?n.max(y(),M("div",{class:$(s(o).b())},[re(r.$slots,"default"),W(nn,{name:`${s(o).namespace.value}-zoom-in-center`,persisted:""},{default:G(()=>[Qe(k("sup",{class:$([s(o).e("content"),s(o).em("content",r.type),s(o).is("fixed",!!r.$slots.default),s(o).is("dot",r.isDot)]),style:De({backgroundColor:r.color}),textContent:Me(s(a))},null,14,YH),[[bt,!r.hidden&&(s(a)||r.isDot)]])]),_:1},8,["name"])],2))}});var JH=xe(XH,[["__file","badge.vue"]]);const J6=lt(JH),Z6=Symbol("breadcrumbKey"),ZH=Ee({separator:{type:String,default:"/"},separatorIcon:{type:$t}}),QH=["aria-label"],eD=A({name:"ElBreadcrumb"}),tD=A({...eD,props:ZH,setup(e){const t=e,{t:n}=_t(),o=me("breadcrumb"),a=R();return pt(Z6,t),et(()=>{const r=a.value.querySelectorAll(`.${o.e("item")}`);r.length&&r[r.length-1].setAttribute("aria-current","page")}),(r,l)=>(y(),M("div",{ref_key:"breadcrumb",ref:a,class:$(s(o).b()),"aria-label":s(n)("el.breadcrumb.label"),role:"navigation"},[re(r.$slots,"default")],10,QH))}});var nD=xe(tD,[["__file","breadcrumb.vue"]]);const oD=Ee({to:{type:X([String,Object]),default:""},replace:{type:Boolean,default:!1}}),aD=A({name:"ElBreadcrumbItem"}),rD=A({...aD,props:oD,setup(e){const t=e,n=rt(),o=Pe(Z6,void 0),a=me("breadcrumb"),r=n.appContext.config.globalProperties.$router,l=R(),i=()=>{!t.to||!r||(t.replace?r.replace(t.to):r.push(t.to))};return(u,d)=>{var f,c;return y(),M("span",{class:$(s(a).e("item"))},[k("span",{ref_key:"link",ref:l,class:$([s(a).e("inner"),s(a).is("link",!!u.to)]),role:"link",onClick:i},[re(u.$slots,"default")],2),(f=s(o))!=null&&f.separatorIcon?(y(),oe(s(Be),{key:0,class:$(s(a).e("separator"))},{default:G(()=>[(y(),oe(ut(s(o).separatorIcon)))]),_:1},8,["class"])):(y(),M("span",{key:1,class:$(s(a).e("separator")),role:"presentation"},Me((c=s(o))==null?void 0:c.separator),3))],2)}}});var Q6=xe(rD,[["__file","breadcrumb-item.vue"]]);const lD=lt(nD,{BreadcrumbItem:Q6}),sD=Dt(Q6),e3=Symbol("buttonGroupContextKey"),iD=(e,t)=>{gr({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},S(()=>e.type==="text"));const n=Pe(e3,void 0),o=Nc("button"),{form:a}=Nn(),r=an(S(()=>n==null?void 0:n.size)),l=Dn(),i=R(),u=fn(),d=S(()=>e.type||(n==null?void 0:n.type)||""),f=S(()=>{var m,v,_;return(_=(v=e.autoInsertSpace)!=null?v:(m=o.value)==null?void 0:m.autoInsertSpace)!=null?_:!1}),c=S(()=>e.tag==="button"?{ariaDisabled:l.value||e.loading,disabled:l.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),p=S(()=>{var m;const v=(m=u.default)==null?void 0:m.call(u);if(f.value&&(v==null?void 0:v.length)===1){const _=v[0];if((_==null?void 0:_.type)===Il){const g=_.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(g.trim())}}return!1});return{_disabled:l,_size:r,_type:d,_ref:i,_props:c,shouldAddSpace:p,handleClick:m=>{e.nativeType==="reset"&&(a==null||a.resetFields()),t("click",m)}}},wf=["default","primary","success","warning","info","danger","text",""],uD=["button","submit","reset"],Cf=Ee({size:cn,disabled:Boolean,type:{type:String,values:wf,default:""},icon:{type:$t},nativeType:{type:String,values:uD,default:"button"},loading:Boolean,loadingIcon:{type:$t,default:()=>pa},plain:Boolean,text:Boolean,link:Boolean,bg:Boolean,autofocus:Boolean,round:Boolean,circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:X([String,Object]),default:"button"}}),cD={click:e=>e instanceof MouseEvent};function yn(e,t){dD(e)&&(e="100%");var n=fD(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function Pi(e){return Math.min(1,Math.max(0,e))}function dD(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function fD(e){return typeof e=="string"&&e.indexOf("%")!==-1}function t3(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Li(e){return e<=1?"".concat(Number(e)*100,"%"):e}function ir(e){return e.length===1?"0"+e:String(e)}function pD(e,t,n){return{r:yn(e,255)*255,g:yn(t,255)*255,b:yn(n,255)*255}}function X1(e,t,n){e=yn(e,255),t=yn(t,255),n=yn(n,255);var o=Math.max(e,t,n),a=Math.min(e,t,n),r=0,l=0,i=(o+a)/2;if(o===a)l=0,r=0;else{var u=o-a;switch(l=i>.5?u/(2-o-a):u/(o+a),o){case e:r=(t-n)/u+(t1&&(n-=1),n<1/6?e+(t-e)*(6*n):n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function vD(e,t,n){var o,a,r;if(e=yn(e,360),t=yn(t,100),n=yn(n,100),t===0)a=n,r=n,o=n;else{var l=n<.5?n*(1+t):n+t-n*t,i=2*n-l;o=bd(i,l,e+1/3),a=bd(i,l,e),r=bd(i,l,e-1/3)}return{r:o*255,g:a*255,b:r*255}}function J1(e,t,n){e=yn(e,255),t=yn(t,255),n=yn(n,255);var o=Math.max(e,t,n),a=Math.min(e,t,n),r=0,l=o,i=o-a,u=o===0?0:i/o;if(o===a)r=0;else{switch(o){case e:r=(t-n)/i+(t>16,g:(e&65280)>>8,b:e&255}}var Sf={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function _D(e){var t={r:0,g:0,b:0},n=1,o=null,a=null,r=null,l=!1,i=!1;return typeof e=="string"&&(e=CD(e)),typeof e=="object"&&(Uo(e.r)&&Uo(e.g)&&Uo(e.b)?(t=pD(e.r,e.g,e.b),l=!0,i=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Uo(e.h)&&Uo(e.s)&&Uo(e.v)?(o=Li(e.s),a=Li(e.v),t=hD(e.h,o,a),l=!0,i="hsv"):Uo(e.h)&&Uo(e.s)&&Uo(e.l)&&(o=Li(e.s),r=Li(e.l),t=vD(e.h,o,r),l=!0,i="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(n=e.a)),n=t3(n),{ok:l,format:e.format||i,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}var bD="[-\\+]?\\d+%?",wD="[-\\+]?\\d*\\.\\d+%?",Na="(?:".concat(wD,")|(?:").concat(bD,")"),wd="[\\s|\\(]+(".concat(Na,")[,|\\s]+(").concat(Na,")[,|\\s]+(").concat(Na,")\\s*\\)?"),Cd="[\\s|\\(]+(".concat(Na,")[,|\\s]+(").concat(Na,")[,|\\s]+(").concat(Na,")[,|\\s]+(").concat(Na,")\\s*\\)?"),go={CSS_UNIT:new RegExp(Na),rgb:new RegExp("rgb"+wd),rgba:new RegExp("rgba"+Cd),hsl:new RegExp("hsl"+wd),hsla:new RegExp("hsla"+Cd),hsv:new RegExp("hsv"+wd),hsva:new RegExp("hsva"+Cd),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function CD(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(Sf[e])e=Sf[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n=go.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=go.rgba.exec(e),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=go.hsl.exec(e),n?{h:n[1],s:n[2],l:n[3]}:(n=go.hsla.exec(e),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=go.hsv.exec(e),n?{h:n[1],s:n[2],v:n[3]}:(n=go.hsva.exec(e),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=go.hex8.exec(e),n?{r:Kn(n[1]),g:Kn(n[2]),b:Kn(n[3]),a:Q1(n[4]),format:t?"name":"hex8"}:(n=go.hex6.exec(e),n?{r:Kn(n[1]),g:Kn(n[2]),b:Kn(n[3]),format:t?"name":"hex"}:(n=go.hex4.exec(e),n?{r:Kn(n[1]+n[1]),g:Kn(n[2]+n[2]),b:Kn(n[3]+n[3]),a:Q1(n[4]+n[4]),format:t?"name":"hex8"}:(n=go.hex3.exec(e),n?{r:Kn(n[1]+n[1]),g:Kn(n[2]+n[2]),b:Kn(n[3]+n[3]),format:t?"name":"hex"}:!1)))))))))}function Uo(e){return!!go.CSS_UNIT.exec(String(e))}var n3=function(){function e(t,n){t===void 0&&(t=""),n===void 0&&(n={});var o;if(t instanceof e)return t;typeof t=="number"&&(t=yD(t)),this.originalInput=t;var a=_D(t);this.originalInput=t,this.r=a.r,this.g=a.g,this.b=a.b,this.a=a.a,this.roundA=Math.round(100*this.a)/100,this.format=(o=n.format)!==null&&o!==void 0?o:a.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=a.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),n,o,a,r=t.r/255,l=t.g/255,i=t.b/255;return r<=.03928?n=r/12.92:n=Math.pow((r+.055)/1.055,2.4),l<=.03928?o=l/12.92:o=Math.pow((l+.055)/1.055,2.4),i<=.03928?a=i/12.92:a=Math.pow((i+.055)/1.055,2.4),.2126*n+.7152*o+.0722*a},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=t3(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){var t=this.toHsl().s;return t===0},e.prototype.toHsv=function(){var t=J1(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=J1(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),a=Math.round(t.v*100);return this.a===1?"hsv(".concat(n,", ").concat(o,"%, ").concat(a,"%)"):"hsva(".concat(n,", ").concat(o,"%, ").concat(a,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=X1(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=X1(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),a=Math.round(t.l*100);return this.a===1?"hsl(".concat(n,", ").concat(o,"%, ").concat(a,"%)"):"hsla(".concat(n,", ").concat(o,"%, ").concat(a,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=!1),Z1(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=!1),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=!1),mD(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=!1),"#"+this.toHex8(t)},e.prototype.toHexShortString=function(t){return t===void 0&&(t=!1),this.a===1?this.toHexString(t):this.toHex8String(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),n=Math.round(this.g),o=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(n,", ").concat(o,")"):"rgba(".concat(t,", ").concat(n,", ").concat(o,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(n){return"".concat(Math.round(yn(n,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(n){return Math.round(yn(n,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var t="#"+Z1(this.r,this.g,this.b,!1),n=0,o=Object.entries(Sf);n=0,r=!n&&a&&(t.startsWith("hex")||t==="name");return r?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(o=this.toRgbString()),t==="prgb"&&(o=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(o=this.toHexString()),t==="hex3"&&(o=this.toHexString(!0)),t==="hex4"&&(o=this.toHex8String(!0)),t==="hex8"&&(o=this.toHex8String()),t==="name"&&(o=this.toName()),t==="hsl"&&(o=this.toHslString()),t==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=Pi(n.l),new e(n)},e.prototype.brighten=function(t){t===void 0&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(t/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(t/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(t/100)))),new e(n)},e.prototype.darken=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=Pi(n.l),new e(n)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=Pi(n.s),new e(n)},e.prototype.saturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=Pi(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),o=(n.h+t)%360;return n.h=o<0?360+o:o,new e(n)},e.prototype.mix=function(t,n){n===void 0&&(n=50);var o=this.toRgb(),a=new e(t).toRgb(),r=n/100,l={r:(a.r-o.r)*r+o.r,g:(a.g-o.g)*r+o.g,b:(a.b-o.b)*r+o.b,a:(a.a-o.a)*r+o.a};return new e(l)},e.prototype.analogous=function(t,n){t===void 0&&(t=6),n===void 0&&(n=30);var o=this.toHsl(),a=360/n,r=[this];for(o.h=(o.h-(a*t>>1)+720)%360;--t;)o.h=(o.h+a)%360,r.push(new e(o));return r},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var n=this.toHsv(),o=n.h,a=n.s,r=n.v,l=[],i=1/t;t--;)l.push(new e({h:o,s:a,v:r})),r=(r+i)%1;return l},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),o=new e(t).toRgb(),a=n.a+o.a*(1-n.a);return new e({r:(n.r*n.a+o.r*o.a*(1-n.a))/a,g:(n.g*n.a+o.g*o.a*(1-n.a))/a,b:(n.b*n.a+o.b*o.a*(1-n.a))/a,a})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),o=n.h,a=[this],r=360/t,l=1;l{let o={};const a=e.color;if(a){const r=new n3(a),l=e.dark?r.tint(20).toString():ba(r,20);if(e.plain)o=n.cssVarBlock({"bg-color":e.dark?ba(r,90):r.tint(90).toString(),"text-color":a,"border-color":e.dark?ba(r,50):r.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":a,"hover-border-color":a,"active-bg-color":l,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":l}),t.value&&(o[n.cssVarBlockName("disabled-bg-color")]=e.dark?ba(r,90):r.tint(90).toString(),o[n.cssVarBlockName("disabled-text-color")]=e.dark?ba(r,50):r.tint(50).toString(),o[n.cssVarBlockName("disabled-border-color")]=e.dark?ba(r,80):r.tint(80).toString());else{const i=e.dark?ba(r,30):r.tint(30).toString(),u=r.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(o=n.cssVarBlock({"bg-color":a,"text-color":u,"border-color":a,"hover-bg-color":i,"hover-text-color":u,"hover-border-color":i,"active-bg-color":l,"active-border-color":l}),t.value){const d=e.dark?ba(r,50):r.tint(50).toString();o[n.cssVarBlockName("disabled-bg-color")]=d,o[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,o[n.cssVarBlockName("disabled-border-color")]=d}}}return o})}const kD=A({name:"ElButton"}),ED=A({...kD,props:Cf,emits:cD,setup(e,{expose:t,emit:n}){const o=e,a=SD(o),r=me("button"),{_ref:l,_size:i,_type:u,_disabled:d,_props:f,shouldAddSpace:c,handleClick:p}=iD(o,n);return t({ref:l,size:i,type:u,disabled:d,shouldAddSpace:c}),(h,m)=>(y(),oe(ut(h.tag),ft({ref_key:"_ref",ref:l},s(f),{class:[s(r).b(),s(r).m(s(u)),s(r).m(s(i)),s(r).is("disabled",s(d)),s(r).is("loading",h.loading),s(r).is("plain",h.plain),s(r).is("round",h.round),s(r).is("circle",h.circle),s(r).is("text",h.text),s(r).is("link",h.link),s(r).is("has-bg",h.bg)],style:s(a),onClick:s(p)}),{default:G(()=>[h.loading?(y(),M(Fe,{key:0},[h.$slots.loading?re(h.$slots,"loading",{key:0}):(y(),oe(s(Be),{key:1,class:$(s(r).is("loading"))},{default:G(()=>[(y(),oe(ut(h.loadingIcon)))]),_:1},8,["class"]))],64)):h.icon||h.$slots.icon?(y(),oe(s(Be),{key:1},{default:G(()=>[h.icon?(y(),oe(ut(h.icon),{key:0})):re(h.$slots,"icon",{key:1})]),_:3})):Z("v-if",!0),h.$slots.default?(y(),M("span",{key:2,class:$({[s(r).em("text","expand")]:s(c)})},[re(h.$slots,"default")],2)):Z("v-if",!0)]),_:3},16,["class","style","onClick"]))}});var xD=xe(ED,[["__file","button.vue"]]);const MD={size:Cf.size,type:Cf.type},$D=A({name:"ElButtonGroup"}),TD=A({...$D,props:MD,setup(e){const t=e;pt(e3,wt({size:At(t,"size"),type:At(t,"type")}));const n=me("button");return(o,a)=>(y(),M("div",{class:$(`${s(n).b("group")}`)},[re(o.$slots,"default")],2))}});var o3=xe(TD,[["__file","button-group.vue"]]);const rn=lt(xD,{ButtonGroup:o3}),a3=Dt(o3);var ma=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ga(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r3={exports:{}};(function(e,t){(function(n,o){e.exports=o()})(ma,function(){var n=1e3,o=6e4,a=36e5,r="millisecond",l="second",i="minute",u="hour",d="day",f="week",c="month",p="quarter",h="year",m="date",v="Invalid Date",_=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,g=/\[([^\]]+)]|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,w={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(K){var F=["th","st","nd","rd"],B=K%100;return"["+K+(F[(B-20)%10]||F[B]||F[0])+"]"}},b=function(K,F,B){var I=String(K);return!I||I.length>=F?K:""+Array(F+1-I.length).join(B)+K},C={s:b,z:function(K){var F=-K.utcOffset(),B=Math.abs(F),I=Math.floor(B/60),H=B%60;return(F<=0?"+":"-")+b(I,2,"0")+":"+b(H,2,"0")},m:function K(F,B){if(F.date()1)return K(D[0])}else{var q=F.name;E[q]=F,H=q}return!I&&H&&(x=H),H||!I&&x},L=function(K,F){if(T(K))return K.clone();var B=typeof F=="object"?F:{};return B.date=K,B.args=arguments,new z(B)},P=C;P.l=V,P.i=T,P.w=function(K,F){return L(K,{locale:F.$L,utc:F.$u,x:F.$x,$offset:F.$offset})};var z=function(){function K(B){this.$L=V(B.locale,null,!0),this.parse(B),this.$x=this.$x||B.x||{},this[O]=!0}var F=K.prototype;return F.parse=function(B){this.$d=function(I){var H=I.date,N=I.utc;if(H===null)return new Date(NaN);if(P.u(H))return new Date;if(H instanceof Date)return new Date(H);if(typeof H=="string"&&!/Z$/i.test(H)){var D=H.match(_);if(D){var q=D[2]-1||0,Y=(D[7]||"0").substring(0,3);return N?new Date(Date.UTC(D[1],q,D[3]||1,D[4]||0,D[5]||0,D[6]||0,Y)):new Date(D[1],q,D[3]||1,D[4]||0,D[5]||0,D[6]||0,Y)}}return new Date(H)}(B),this.init()},F.init=function(){var B=this.$d;this.$y=B.getFullYear(),this.$M=B.getMonth(),this.$D=B.getDate(),this.$W=B.getDay(),this.$H=B.getHours(),this.$m=B.getMinutes(),this.$s=B.getSeconds(),this.$ms=B.getMilliseconds()},F.$utils=function(){return P},F.isValid=function(){return this.$d.toString()!==v},F.isSame=function(B,I){var H=L(B);return this.startOf(I)<=H&&H<=this.endOf(I)},F.isAfter=function(B,I){return L(B)68?1900:2e3)},d=function(v){return function(_){this[v]=+_}},f=[/[+-]\d\d:?(\d\d)?|Z/,function(v){(this.zone||(this.zone={})).offset=function(_){if(!_||_==="Z")return 0;var g=_.match(/([+-]|\d\d)/g),w=60*g[1]+(+g[2]||0);return w===0?0:g[0]==="+"?-w:w}(v)}],c=function(v){var _=i[v];return _&&(_.indexOf?_:_.s.concat(_.f))},p=function(v,_){var g,w=i.meridiem;if(w){for(var b=1;b<=24;b+=1)if(v.indexOf(w(b,0,_))>-1){g=b>12;break}}else g=v===(_?"pm":"PM");return g},h={A:[l,function(v){this.afternoon=p(v,!1)}],a:[l,function(v){this.afternoon=p(v,!0)}],S:[/\d/,function(v){this.milliseconds=100*+v}],SS:[a,function(v){this.milliseconds=10*+v}],SSS:[/\d{3}/,function(v){this.milliseconds=+v}],s:[r,d("seconds")],ss:[r,d("seconds")],m:[r,d("minutes")],mm:[r,d("minutes")],H:[r,d("hours")],h:[r,d("hours")],HH:[r,d("hours")],hh:[r,d("hours")],D:[r,d("day")],DD:[a,d("day")],Do:[l,function(v){var _=i.ordinal,g=v.match(/\d+/);if(this.day=g[0],_)for(var w=1;w<=31;w+=1)_(w).replace(/\[|\]/g,"")===v&&(this.day=w)}],M:[r,d("month")],MM:[a,d("month")],MMM:[l,function(v){var _=c("months"),g=(c("monthsShort")||_.map(function(w){return w.slice(0,3)})).indexOf(v)+1;if(g<1)throw new Error;this.month=g%12||g}],MMMM:[l,function(v){var _=c("months").indexOf(v)+1;if(_<1)throw new Error;this.month=_%12||_}],Y:[/[+-]?\d+/,d("year")],YY:[a,function(v){this.year=u(v)}],YYYY:[/\d{4}/,d("year")],Z:f,ZZ:f};function m(v){var _,g;_=v,g=i&&i.formats;for(var w=(v=_.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(V,L,P){var z=P&&P.toUpperCase();return L||g[P]||n[P]||g[z].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(j,K,F){return K||F.slice(1)})})).match(o),b=w.length,C=0;C-1)return new Date((I==="X"?1e3:1)*B);var N=m(I)(B),D=N.year,q=N.month,Y=N.day,J=N.hours,se=N.minutes,_e=N.seconds,Q=N.milliseconds,le=N.zone,ae=new Date,Te=Y||(D||q?1:ae.getDate()),ce=D||ae.getFullYear(),ge=0;D&&!q||(ge=q>0?q-1:ae.getMonth());var Ae=J||0,U=se||0,te=_e||0,ve=Q||0;return le?new Date(Date.UTC(ce,ge,Te,Ae,U,te,ve+60*le.offset*1e3)):H?new Date(Date.UTC(ce,ge,Te,Ae,U,te,ve)):new Date(ce,ge,Te,Ae,U,te,ve)}catch{return new Date("")}}(x,T,E),this.init(),z&&z!==!0&&(this.$L=this.locale(z).$L),P&&x!=this.format(T)&&(this.$d=new Date("")),i={}}else if(T instanceof Array)for(var j=T.length,K=1;K<=j;K+=1){O[1]=T[K-1];var F=g.apply(this,O);if(F.isValid()){this.$d=F.$d,this.$L=F.$L,this.init();break}K===j&&(this.$d=new Date(""))}else b.call(this,C)}}})})(l3);var OD=l3.exports;const H2=ga(OD),eh=["hours","minutes","seconds"],kf="HH:mm:ss",Gr="YYYY-MM-DD",ND={date:Gr,dates:Gr,week:"gggg[w]ww",year:"YYYY",years:"YYYY",month:"YYYY-MM",datetime:`${Gr} ${kf}`,monthrange:"YYYY-MM",daterange:Gr,datetimerange:`${Gr} ${kf}`},Sd=(e,t)=>[e>0?e-1:void 0,e,eArray.from(Array.from({length:e}).keys()),s3=e=>e.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim(),i3=e=>e.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g,"").trim(),th=function(e,t){const n=wr(e),o=wr(t);return n&&o?e.getTime()===t.getTime():!n&&!o?e===t:!1},nh=function(e,t){const n=Ie(e),o=Ie(t);return n&&o?e.length!==t.length?!1:e.every((a,r)=>th(a,t[r])):!n&&!o?th(e,t):!1},oh=function(e,t,n){const o=Qn(t)||t==="x"?at(e).locale(n):at(e,t).locale(n);return o.isValid()?o:void 0},ah=function(e,t,n){return Qn(t)?e:t==="x"?+e:at(e).locale(n).format(t)},kd=(e,t)=>{var n;const o=[],a=t==null?void 0:t();for(let r=0;r({})},modelValue:{type:X([Date,Array,String,Number]),default:""},rangeSeparator:{type:String,default:"-"},startPlaceholder:String,endPlaceholder:String,defaultValue:{type:X([Date,Array])},defaultTime:{type:X([Date,Array])},isRange:Boolean,...u3,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,label:{type:String,default:void 0},tabindex:{type:X([String,Number]),default:0},validateEvent:{type:Boolean,default:!0},unlinkPanels:Boolean}),ID=["id","name","placeholder","value","disabled","readonly"],RD=["id","name","placeholder","value","disabled","readonly"],PD=A({name:"Picker"}),LD=A({...PD,props:D2,emits:["update:modelValue","change","focus","blur","calendar-change","panel-change","visible-change","keydown"],setup(e,{expose:t,emit:n}){const o=e,a=Pr(),{lang:r}=_t(),l=me("date"),i=me("input"),u=me("range"),{form:d,formItem:f}=Nn(),c=Pe("ElPopperOptions",{}),p=R(),h=R(),m=R(!1),v=R(!1),_=R(null);let g=!1,w=!1;const b=S(()=>[l.b("editor"),l.bm("editor",o.type),i.e("wrapper"),l.is("disabled",Y.value),l.is("active",m.value),u.b("editor"),ye?u.bm("editor",ye.value):"",a.class]),C=S(()=>[i.e("icon"),u.e("close-icon"),ce.value?"":u.e("close-icon--hidden")]);pe(m,ne=>{ne?We(()=>{ne&&(_.value=o.modelValue)}):(he.value=null,We(()=>{x(o.modelValue)}))});const x=(ne,ze)=>{(ze||!nh(ne,_.value))&&(n("change",ne),o.validateEvent&&(f==null||f.validate("change").catch(tt=>void 0)))},E=ne=>{if(!nh(o.modelValue,ne)){let ze;Ie(ne)?ze=ne.map(tt=>ah(tt,o.valueFormat,r.value)):ne&&(ze=ah(ne,o.valueFormat,r.value)),n("update:modelValue",ne&&ze,r.value)}},O=ne=>{n("keydown",ne)},T=S(()=>{if(h.value){const ne=ue.value?h.value:h.value.$el;return Array.from(ne.querySelectorAll("input"))}return[]}),V=(ne,ze,tt)=>{const St=T.value;St.length&&(!tt||tt==="min"?(St[0].setSelectionRange(ne,ze),St[0].focus()):tt==="max"&&(St[1].setSelectionRange(ne,ze),St[1].focus()))},L=()=>{H(!0,!0),We(()=>{w=!1})},P=(ne="",ze=!1)=>{ze||(w=!0),m.value=ze;let tt;Ie(ne)?tt=ne.map(St=>St.toDate()):tt=ne&&ne.toDate(),he.value=null,E(tt)},z=()=>{v.value=!0},j=()=>{n("visible-change",!0)},K=ne=>{(ne==null?void 0:ne.key)===Ke.esc&&H(!0,!0)},F=()=>{v.value=!1,m.value=!1,w=!1,n("visible-change",!1)},B=()=>{m.value=!0},I=()=>{m.value=!1},H=(ne=!0,ze=!1)=>{w=ze;const[tt,St]=s(T);let Ot=tt;!ne&&ue.value&&(Ot=St),Ot&&Ot.focus()},N=ne=>{o.readonly||Y.value||m.value||w||(m.value=!0,n("focus",ne))};let D;const q=ne=>{const ze=async()=>{setTimeout(()=>{var tt;D===ze&&(!((tt=p.value)!=null&&tt.isFocusInsideContent()&&!g)&&T.value.filter(St=>St.contains(document.activeElement)).length===0&&(Se(),m.value=!1,n("blur",ne),o.validateEvent&&(f==null||f.validate("blur").catch(St=>void 0))),g=!1)},0)};D=ze,ze()},Y=S(()=>o.disabled||(d==null?void 0:d.disabled)),J=S(()=>{let ne;if(Ae.value?$e.value.getDefaultValue&&(ne=$e.value.getDefaultValue()):Ie(o.modelValue)?ne=o.modelValue.map(ze=>oh(ze,o.valueFormat,r.value)):ne=oh(o.modelValue,o.valueFormat,r.value),$e.value.getRangeAvailableTime){const ze=$e.value.getRangeAvailableTime(ne);wn(ze,ne)||(ne=ze,E(Ie(ne)?ne.map(tt=>tt.toDate()):ne.toDate()))}return Ie(ne)&&ne.some(ze=>!ze)&&(ne=[]),ne}),se=S(()=>{if(!$e.value.panelReady)return"";const ne=He(J.value);return Ie(he.value)?[he.value[0]||ne&&ne[0]||"",he.value[1]||ne&&ne[1]||""]:he.value!==null?he.value:!Q.value&&Ae.value||!m.value&&Ae.value?"":ne?le.value||ae.value?ne.join(", "):ne:""}),_e=S(()=>o.type.includes("time")),Q=S(()=>o.type.startsWith("time")),le=S(()=>o.type==="dates"),ae=S(()=>o.type==="years"),Te=S(()=>o.prefixIcon||(_e.value?l2:Ng)),ce=R(!1),ge=ne=>{o.readonly||Y.value||ce.value&&(ne.stopPropagation(),L(),E(null),x(null,!0),ce.value=!1,m.value=!1,$e.value.handleClear&&$e.value.handleClear())},Ae=S(()=>{const{modelValue:ne}=o;return!ne||Ie(ne)&&!ne.filter(Boolean).length}),U=async ne=>{var ze;o.readonly||Y.value||(((ze=ne.target)==null?void 0:ze.tagName)!=="INPUT"||T.value.includes(document.activeElement))&&(m.value=!0)},te=()=>{o.readonly||Y.value||!Ae.value&&o.clearable&&(ce.value=!0)},ve=()=>{ce.value=!1},be=ne=>{var ze;o.readonly||Y.value||(((ze=ne.touches[0].target)==null?void 0:ze.tagName)!=="INPUT"||T.value.includes(document.activeElement))&&(m.value=!0)},ue=S(()=>o.type.includes("range")),ye=an(),we=S(()=>{var ne,ze;return(ze=(ne=s(p))==null?void 0:ne.popperRef)==null?void 0:ze.contentRef}),Ce=S(()=>{var ne;return s(ue)?s(h):(ne=s(h))==null?void 0:ne.$el});H0(Ce,ne=>{const ze=s(we),tt=s(Ce);ze&&(ne.target===ze||ne.composedPath().includes(ze))||ne.target===tt||ne.composedPath().includes(tt)||(m.value=!1)});const he=R(null),Se=()=>{if(he.value){const ne=Re(se.value);ne&&de(ne)&&(E(Ie(ne)?ne.map(ze=>ze.toDate()):ne.toDate()),he.value=null)}he.value===""&&(E(null),x(null),he.value=null)},Re=ne=>ne?$e.value.parseUserInput(ne):null,He=ne=>ne?$e.value.formatToString(ne):null,de=ne=>$e.value.isValidValue(ne),Le=async ne=>{if(o.readonly||Y.value)return;const{code:ze}=ne;if(O(ne),ze===Ke.esc){m.value===!0&&(m.value=!1,ne.preventDefault(),ne.stopPropagation());return}if(ze===Ke.down&&($e.value.handleFocusPicker&&(ne.preventDefault(),ne.stopPropagation()),m.value===!1&&(m.value=!0,await We()),$e.value.handleFocusPicker)){$e.value.handleFocusPicker();return}if(ze===Ke.tab){g=!0;return}if(ze===Ke.enter||ze===Ke.numpadEnter){(he.value===null||he.value===""||de(Re(se.value)))&&(Se(),m.value=!1),ne.stopPropagation();return}if(he.value){ne.stopPropagation();return}$e.value.handleKeydownInput&&$e.value.handleKeydownInput(ne)},Ue=ne=>{he.value=ne,m.value||(m.value=!0)},ot=ne=>{const ze=ne.target;he.value?he.value=[ze.value,he.value[1]]:he.value=[ze.value,null]},dt=ne=>{const ze=ne.target;he.value?he.value=[he.value[0],ze.value]:he.value=[null,ze.value]},je=()=>{var ne;const ze=he.value,tt=Re(ze&&ze[0]),St=s(J);if(tt&&tt.isValid()){he.value=[He(tt),((ne=se.value)==null?void 0:ne[1])||null];const Ot=[tt,St&&(St[1]||null)];de(Ot)&&(E(Ot),he.value=null)}},fe=()=>{var ne;const ze=s(he),tt=Re(ze&&ze[1]),St=s(J);if(tt&&tt.isValid()){he.value=[((ne=s(se))==null?void 0:ne[0])||null,He(tt)];const Ot=[St&&St[0],tt];de(Ot)&&(E(Ot),he.value=null)}},$e=R({}),ee=ne=>{$e.value[ne[0]]=ne[1],$e.value.panelReady=!0},ie=ne=>{n("calendar-change",ne)},ke=(ne,ze,tt)=>{n("panel-change",ne,ze,tt)};return pt("EP_PICKER_BASE",{props:o}),t({focus:H,handleFocusInput:N,handleBlurInput:q,handleOpen:B,handleClose:I,onPick:P}),(ne,ze)=>(y(),oe(s(En),ft({ref_key:"refPopper",ref:p,visible:m.value,effect:"light",pure:"",trigger:"click"},ne.$attrs,{role:"dialog",teleported:"",transition:`${s(l).namespace.value}-zoom-in-top`,"popper-class":[`${s(l).namespace.value}-picker__popper`,ne.popperClass],"popper-options":s(c),"fallback-placements":["bottom","top","right","left"],"gpu-acceleration":!1,"stop-popper-mouse-event":!1,"hide-after":0,persistent:"",onBeforeShow:z,onShow:j,onHide:F}),{default:G(()=>[s(ue)?(y(),M("div",{key:1,ref_key:"inputRef",ref:h,class:$(s(b)),style:De(ne.$attrs.style),onClick:N,onMouseenter:te,onMouseleave:ve,onTouchstart:be,onKeydown:Le},[s(Te)?(y(),oe(s(Be),{key:0,class:$([s(i).e("icon"),s(u).e("icon")]),onMousedown:Ge(U,["prevent"]),onTouchstart:be},{default:G(()=>[(y(),oe(ut(s(Te))))]),_:1},8,["class","onMousedown"])):Z("v-if",!0),k("input",{id:ne.id&&ne.id[0],autocomplete:"off",name:ne.name&&ne.name[0],placeholder:ne.startPlaceholder,value:s(se)&&s(se)[0],disabled:s(Y),readonly:!ne.editable||ne.readonly,class:$(s(u).b("input")),onMousedown:U,onInput:ot,onChange:je,onFocus:N,onBlur:q},null,42,ID),re(ne.$slots,"range-separator",{},()=>[k("span",{class:$(s(u).b("separator"))},Me(ne.rangeSeparator),3)]),k("input",{id:ne.id&&ne.id[1],autocomplete:"off",name:ne.name&&ne.name[1],placeholder:ne.endPlaceholder,value:s(se)&&s(se)[1],disabled:s(Y),readonly:!ne.editable||ne.readonly,class:$(s(u).b("input")),onMousedown:U,onFocus:N,onBlur:q,onInput:dt,onChange:fe},null,42,RD),ne.clearIcon?(y(),oe(s(Be),{key:1,class:$(s(C)),onClick:ge},{default:G(()=>[(y(),oe(ut(ne.clearIcon)))]),_:1},8,["class"])):Z("v-if",!0)],38)):(y(),oe(s(mn),{key:0,id:ne.id,ref_key:"inputRef",ref:h,"container-role":"combobox","model-value":s(se),name:ne.name,size:s(ye),disabled:s(Y),placeholder:ne.placeholder,class:$([s(l).b("editor"),s(l).bm("editor",ne.type),ne.$attrs.class]),style:De(ne.$attrs.style),readonly:!ne.editable||ne.readonly||s(le)||s(ae)||ne.type==="week",label:ne.label,tabindex:ne.tabindex,"validate-event":!1,onInput:Ue,onFocus:N,onBlur:q,onKeydown:Le,onChange:Se,onMousedown:U,onMouseenter:te,onMouseleave:ve,onTouchstart:be,onClick:ze[0]||(ze[0]=Ge(()=>{},["stop"]))},{prefix:G(()=>[s(Te)?(y(),oe(s(Be),{key:0,class:$(s(i).e("icon")),onMousedown:Ge(U,["prevent"]),onTouchstart:be},{default:G(()=>[(y(),oe(ut(s(Te))))]),_:1},8,["class","onMousedown"])):Z("v-if",!0)]),suffix:G(()=>[ce.value&&ne.clearIcon?(y(),oe(s(Be),{key:0,class:$(`${s(i).e("icon")} clear-icon`),onClick:Ge(ge,["stop"])},{default:G(()=>[(y(),oe(ut(ne.clearIcon)))]),_:1},8,["class","onClick"])):Z("v-if",!0)]),_:1},8,["id","model-value","name","size","disabled","placeholder","class","style","readonly","label","tabindex","onKeydown"]))]),content:G(()=>[re(ne.$slots,"default",{visible:m.value,actualVisible:v.value,parsedValue:s(J),format:ne.format,dateFormat:ne.dateFormat,timeFormat:ne.timeFormat,unlinkPanels:ne.unlinkPanels,type:ne.type,defaultValue:ne.defaultValue,onPick:P,onSelectRange:V,onSetPickerOption:ee,onCalendarChange:ie,onPanelChange:ke,onKeydown:K,onMousedown:ze[1]||(ze[1]=Ge(()=>{},["stop"]))})]),_:3},16,["visible","transition","popper-class","popper-options"]))}});var d3=xe(LD,[["__file","picker.vue"]]);const VD=Ee({...c3,datetimeRole:String,parsedValue:{type:X(Object)}}),f3=({getAvailableHours:e,getAvailableMinutes:t,getAvailableSeconds:n})=>{const o=(l,i,u,d)=>{const f={hour:e,minute:t,second:n};let c=l;return["hour","minute","second"].forEach(p=>{if(f[p]){let h;const m=f[p];switch(p){case"minute":{h=m(c.hour(),i,d);break}case"second":{h=m(c.hour(),c.minute(),i,d);break}default:{h=m(i,d);break}}if(h!=null&&h.length&&!h.includes(c[p]())){const v=u?0:h.length-1;c=c[p](h[v])}}}),c},a={};return{timePickerOptions:a,getAvailableTime:o,onSetOption:([l,i])=>{a[l]=i}}},Ed=e=>{const t=(o,a)=>o||a,n=o=>o!==!0;return e.map(t).filter(n)},p3=(e,t,n)=>({getHoursList:(l,i)=>kd(24,e&&(()=>e==null?void 0:e(l,i))),getMinutesList:(l,i,u)=>kd(60,t&&(()=>t==null?void 0:t(l,i,u))),getSecondsList:(l,i,u,d)=>kd(60,n&&(()=>n==null?void 0:n(l,i,u,d)))}),v3=(e,t,n)=>{const{getHoursList:o,getMinutesList:a,getSecondsList:r}=p3(e,t,n);return{getAvailableHours:(d,f)=>Ed(o(d,f)),getAvailableMinutes:(d,f,c)=>Ed(a(d,f,c)),getAvailableSeconds:(d,f,c,p)=>Ed(r(d,f,c,p))}},h3=e=>{const t=R(e.parsedValue);return pe(()=>e.visible,n=>{n||(t.value=e.parsedValue)}),t},ka=new Map;let rh;gt&&(document.addEventListener("mousedown",e=>rh=e),document.addEventListener("mouseup",e=>{for(const t of ka.values())for(const{documentHandler:n}of t)n(e,rh)}));function lh(e,t){let n=[];return Array.isArray(t.arg)?n=t.arg:io(t.arg)&&n.push(t.arg),function(o,a){const r=t.instance.popperRef,l=o.target,i=a==null?void 0:a.target,u=!t||!t.instance,d=!l||!i,f=e.contains(l)||e.contains(i),c=e===l,p=n.length&&n.some(m=>m==null?void 0:m.contains(l))||n.length&&n.includes(i),h=r&&(r.contains(l)||r.contains(i));u||d||f||c||p||h||t.value(o,a)}}const sa={beforeMount(e,t){ka.has(e)||ka.set(e,[]),ka.get(e).push({documentHandler:lh(e,t),bindingFn:t.value})},updated(e,t){ka.has(e)||ka.set(e,[]);const n=ka.get(e),o=n.findIndex(r=>r.bindingFn===t.oldValue),a={documentHandler:lh(e,t),bindingFn:t.value};o>=0?n.splice(o,1,a):n.push(a)},unmounted(e){ka.delete(e)}},BD=100,zD=600,Du={beforeMount(e,t){const n=t.value,{interval:o=BD,delay:a=zD}=Xe(n)?{}:n;let r,l;const i=()=>Xe(n)?n():n.handler(),u=()=>{l&&(clearTimeout(l),l=void 0),r&&(clearInterval(r),r=void 0)};e.addEventListener("mousedown",d=>{d.button===0&&(u(),i(),document.addEventListener("mouseup",()=>u(),{once:!0}),l=setTimeout(()=>{r=setInterval(()=>{i()},o)},a))})}},Ef="_trap-focus-children",ur=[],sh=e=>{if(ur.length===0)return;const t=ur[ur.length-1][Ef];if(t.length>0&&e.code===Ke.tab){if(t.length===1){e.preventDefault(),document.activeElement!==t[0]&&t[0].focus();return}const n=e.shiftKey,o=e.target===t[0],a=e.target===t[t.length-1];o&&n&&(e.preventDefault(),t[t.length-1].focus()),a&&!n&&(e.preventDefault(),t[0].focus())}},HD={beforeMount(e){e[Ef]=gv(e),ur.push(e),ur.length<=1&&document.addEventListener("keydown",sh)},updated(e){We(()=>{e[Ef]=gv(e)})},unmounted(){ur.shift(),ur.length===0&&document.removeEventListener("keydown",sh)}};var ih=!1,ar,xf,Mf,Qi,eu,m3,tu,$f,Tf,Af,g3,Of,Nf,y3,_3;function Rn(){if(!ih){ih=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),n=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(Of=/\b(iPhone|iP[ao]d)/.exec(e),Nf=/\b(iP[ao]d)/.exec(e),Af=/Android/i.exec(e),y3=/FBAN\/\w+;/i.exec(e),_3=/Mobile/i.exec(e),g3=!!/Win64/.exec(e),t){ar=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,ar&&document&&document.documentMode&&(ar=document.documentMode);var o=/(?:Trident\/(\d+.\d+))/.exec(e);m3=o?parseFloat(o[1])+4:ar,xf=t[2]?parseFloat(t[2]):NaN,Mf=t[3]?parseFloat(t[3]):NaN,Qi=t[4]?parseFloat(t[4]):NaN,Qi?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),eu=t&&t[1]?parseFloat(t[1]):NaN):eu=NaN}else ar=xf=Mf=eu=Qi=NaN;if(n){if(n[1]){var a=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);tu=a?parseFloat(a[1].replace("_",".")):!0}else tu=!1;$f=!!n[2],Tf=!!n[3]}else tu=$f=Tf=!1}}var If={ie:function(){return Rn()||ar},ieCompatibilityMode:function(){return Rn()||m3>ar},ie64:function(){return If.ie()&&g3},firefox:function(){return Rn()||xf},opera:function(){return Rn()||Mf},webkit:function(){return Rn()||Qi},safari:function(){return If.webkit()},chrome:function(){return Rn()||eu},windows:function(){return Rn()||$f},osx:function(){return Rn()||tu},linux:function(){return Rn()||Tf},iphone:function(){return Rn()||Of},mobile:function(){return Rn()||Of||Nf||Af||_3},nativeApp:function(){return Rn()||y3},android:function(){return Rn()||Af},ipad:function(){return Rn()||Nf}},DD=If,Vi=!!(typeof window<"u"&&window.document&&window.document.createElement),FD={canUseDOM:Vi,canUseWorkers:typeof Worker<"u",canUseEventListeners:Vi&&!!(window.addEventListener||window.attachEvent),canUseViewport:Vi&&!!window.screen,isInWorker:!Vi},b3=FD,w3;b3.canUseDOM&&(w3=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function KD(e,t){if(!b3.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,o=n in document;if(!o){var a=document.createElement("div");a.setAttribute(n,"return;"),o=typeof a[n]=="function"}return!o&&w3&&e==="wheel"&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}var WD=KD,uh=10,ch=40,dh=800;function C3(e){var t=0,n=0,o=0,a=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),o=t*uh,a=n*uh,"deltaY"in e&&(a=e.deltaY),"deltaX"in e&&(o=e.deltaX),(o||a)&&e.deltaMode&&(e.deltaMode==1?(o*=ch,a*=ch):(o*=dh,a*=dh)),o&&!t&&(t=o<1?-1:1),a&&!n&&(n=a<1?-1:1),{spinX:t,spinY:n,pixelX:o,pixelY:a}}C3.getEventType=function(){return DD.firefox()?"DOMMouseScroll":WD("wheel")?"wheel":"mousewheel"};var jD=C3;/** +* Checks if an event is supported in the current execution environment. +* +* NOTE: This will not work correctly for non-generic events such as `change`, +* `reset`, `load`, `error`, and `select`. +* +* Borrows from Modernizr. +* +* @param {string} eventNameSuffix Event name, e.g. "click". +* @param {?boolean} capture Check if the capture phase is supported. +* @return {boolean} True if the event is supported. +* @internal +* @license Modernizr 3.0.0pre (Custom Build) | MIT +*/const qD=function(e,t){if(e&&e.addEventListener){const n=function(o){const a=jD(o);t&&Reflect.apply(t,this,[o,a])};e.addEventListener("wheel",n,{passive:!0})}},UD={beforeMount(e,t){qD(e,t.value)}},YD=Ee({role:{type:String,required:!0},spinnerDate:{type:X(Object),required:!0},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:X(String),default:""},...u3}),GD=["onClick"],XD=["onMouseenter"],JD=A({__name:"basic-time-spinner",props:YD,emits:["change","select-range","set-option"],setup(e,{emit:t}){const n=e,o=me("time"),{getHoursList:a,getMinutesList:r,getSecondsList:l}=p3(n.disabledHours,n.disabledMinutes,n.disabledSeconds);let i=!1;const u=R(),d=R(),f=R(),c=R(),p={hours:d,minutes:f,seconds:c},h=S(()=>n.showSeconds?eh:eh.slice(0,2)),m=S(()=>{const{spinnerDate:N}=n,D=N.hour(),q=N.minute(),Y=N.second();return{hours:D,minutes:q,seconds:Y}}),v=S(()=>{const{hours:N,minutes:D}=s(m);return{hours:a(n.role),minutes:r(N,n.role),seconds:l(N,D,n.role)}}),_=S(()=>{const{hours:N,minutes:D,seconds:q}=s(m);return{hours:Sd(N,23),minutes:Sd(D,59),seconds:Sd(q,59)}}),g=Hn(N=>{i=!1,C(N)},200),w=N=>{if(!!!n.amPmMode)return"";const q=n.amPmMode==="A";let Y=N<12?" am":" pm";return q&&(Y=Y.toUpperCase()),Y},b=N=>{let D;switch(N){case"hours":D=[0,2];break;case"minutes":D=[3,5];break;case"seconds":D=[6,8];break}const[q,Y]=D;t("select-range",q,Y),u.value=N},C=N=>{O(N,s(m)[N])},x=()=>{C("hours"),C("minutes"),C("seconds")},E=N=>N.querySelector(`.${o.namespace.value}-scrollbar__wrap`),O=(N,D)=>{if(n.arrowControl)return;const q=s(p[N]);q&&q.$el&&(E(q.$el).scrollTop=Math.max(0,D*T(N)))},T=N=>{const D=s(p[N]),q=D==null?void 0:D.$el.querySelector("li");return q&&Number.parseFloat(Oa(q,"height"))||0},V=()=>{P(1)},L=()=>{P(-1)},P=N=>{u.value||b("hours");const D=u.value,q=s(m)[D],Y=u.value==="hours"?24:60,J=z(D,q,N,Y);j(D,J),O(D,J),We(()=>b(D))},z=(N,D,q,Y)=>{let J=(D+q+Y)%Y;const se=s(v)[N];for(;se[J]&&J!==D;)J=(J+q+Y)%Y;return J},j=(N,D)=>{if(s(v)[N][D])return;const{hours:J,minutes:se,seconds:_e}=s(m);let Q;switch(N){case"hours":Q=n.spinnerDate.hour(D).minute(se).second(_e);break;case"minutes":Q=n.spinnerDate.hour(J).minute(D).second(_e);break;case"seconds":Q=n.spinnerDate.hour(J).minute(se).second(D);break}t("change",Q)},K=(N,{value:D,disabled:q})=>{q||(j(N,D),b(N),O(N,D))},F=N=>{i=!0,g(N);const D=Math.min(Math.round((E(s(p[N]).$el).scrollTop-(B(N)*.5-10)/T(N)+3)/T(N)),N==="hours"?23:59);j(N,D)},B=N=>s(p[N]).$el.offsetHeight,I=()=>{const N=D=>{const q=s(p[D]);q&&q.$el&&(E(q.$el).onscroll=()=>{F(D)})};N("hours"),N("minutes"),N("seconds")};et(()=>{We(()=>{!n.arrowControl&&I(),x(),n.role==="start"&&b("hours")})});const H=(N,D)=>{p[D].value=N};return t("set-option",[`${n.role}_scrollDown`,P]),t("set-option",[`${n.role}_emitSelectRange`,b]),pe(()=>n.spinnerDate,()=>{i||x()}),(N,D)=>(y(),M("div",{class:$([s(o).b("spinner"),{"has-seconds":N.showSeconds}])},[N.arrowControl?Z("v-if",!0):(y(!0),M(Fe,{key:0},mt(s(h),q=>(y(),oe(s(ha),{key:q,ref_for:!0,ref:Y=>H(Y,q),class:$(s(o).be("spinner","wrapper")),"wrap-style":"max-height: inherit;","view-class":s(o).be("spinner","list"),noresize:"",tag:"ul",onMouseenter:Y=>b(q),onMousemove:Y=>C(q)},{default:G(()=>[(y(!0),M(Fe,null,mt(s(v)[q],(Y,J)=>(y(),M("li",{key:J,class:$([s(o).be("spinner","item"),s(o).is("active",J===s(m)[q]),s(o).is("disabled",Y)]),onClick:se=>K(q,{value:J,disabled:Y})},[q==="hours"?(y(),M(Fe,{key:0},[vt(Me(("0"+(N.amPmMode?J%12||12:J)).slice(-2))+Me(w(J)),1)],64)):(y(),M(Fe,{key:1},[vt(Me(("0"+J).slice(-2)),1)],64))],10,GD))),128))]),_:2},1032,["class","view-class","onMouseenter","onMousemove"]))),128)),N.arrowControl?(y(!0),M(Fe,{key:1},mt(s(h),q=>(y(),M("div",{key:q,class:$([s(o).be("spinner","wrapper"),s(o).is("arrow")]),onMouseenter:Y=>b(q)},[Qe((y(),oe(s(Be),{class:$(["arrow-up",s(o).be("spinner","arrow")])},{default:G(()=>[W(s(Cc))]),_:1},8,["class"])),[[s(Du),L]]),Qe((y(),oe(s(Be),{class:$(["arrow-down",s(o).be("spinner","arrow")])},{default:G(()=>[W(s(Bo))]),_:1},8,["class"])),[[s(Du),V]]),k("ul",{class:$(s(o).be("spinner","list"))},[(y(!0),M(Fe,null,mt(s(_)[q],(Y,J)=>(y(),M("li",{key:J,class:$([s(o).be("spinner","item"),s(o).is("active",Y===s(m)[q]),s(o).is("disabled",s(v)[q][Y])])},[typeof Y=="number"?(y(),M(Fe,{key:0},[q==="hours"?(y(),M(Fe,{key:0},[vt(Me(("0"+(N.amPmMode?Y%12||12:Y)).slice(-2))+Me(w(Y)),1)],64)):(y(),M(Fe,{key:1},[vt(Me(("0"+Y).slice(-2)),1)],64))],64)):Z("v-if",!0)],2))),128))],2)],42,XD))),128)):Z("v-if",!0)],2))}});var Rf=xe(JD,[["__file","basic-time-spinner.vue"]]);const ZD=A({__name:"panel-time-pick",props:VD,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const n=e,o=Pe("EP_PICKER_BASE"),{arrowControl:a,disabledHours:r,disabledMinutes:l,disabledSeconds:i,defaultValue:u}=o.props,{getAvailableHours:d,getAvailableMinutes:f,getAvailableSeconds:c}=v3(r,l,i),p=me("time"),{t:h,lang:m}=_t(),v=R([0,2]),_=h3(n),g=S(()=>Zt(n.actualVisible)?`${p.namespace.value}-zoom-in-top`:""),w=S(()=>n.format.includes("ss")),b=S(()=>n.format.includes("A")?"A":n.format.includes("a")?"a":""),C=H=>{const N=at(H).locale(m.value),D=K(N);return N.isSame(D)},x=()=>{t("pick",_.value,!1)},E=(H=!1,N=!1)=>{N||t("pick",n.parsedValue,H)},O=H=>{if(!n.visible)return;const N=K(H).millisecond(0);t("pick",N,!0)},T=(H,N)=>{t("select-range",H,N),v.value=[H,N]},V=H=>{const N=[0,3].concat(w.value?[6]:[]),D=["hours","minutes"].concat(w.value?["seconds"]:[]),Y=(N.indexOf(v.value[0])+H+N.length)%N.length;P.start_emitSelectRange(D[Y])},L=H=>{const N=H.code,{left:D,right:q,up:Y,down:J}=Ke;if([D,q].includes(N)){V(N===D?-1:1),H.preventDefault();return}if([Y,J].includes(N)){const se=N===Y?-1:1;P.start_scrollDown(se),H.preventDefault();return}},{timePickerOptions:P,onSetOption:z,getAvailableTime:j}=f3({getAvailableHours:d,getAvailableMinutes:f,getAvailableSeconds:c}),K=H=>j(H,n.datetimeRole||"",!0),F=H=>H?at(H,n.format).locale(m.value):null,B=H=>H?H.format(n.format):null,I=()=>at(u).locale(m.value);return t("set-picker-option",["isValidValue",C]),t("set-picker-option",["formatToString",B]),t("set-picker-option",["parseUserInput",F]),t("set-picker-option",["handleKeydownInput",L]),t("set-picker-option",["getRangeAvailableTime",K]),t("set-picker-option",["getDefaultValue",I]),(H,N)=>(y(),oe(nn,{name:s(g)},{default:G(()=>[H.actualVisible||H.visible?(y(),M("div",{key:0,class:$(s(p).b("panel"))},[k("div",{class:$([s(p).be("panel","content"),{"has-seconds":s(w)}])},[W(Rf,{ref:"spinner",role:H.datetimeRole||"start","arrow-control":s(a),"show-seconds":s(w),"am-pm-mode":s(b),"spinner-date":H.parsedValue,"disabled-hours":s(r),"disabled-minutes":s(l),"disabled-seconds":s(i),onChange:O,onSetOption:s(z),onSelectRange:T},null,8,["role","arrow-control","show-seconds","am-pm-mode","spinner-date","disabled-hours","disabled-minutes","disabled-seconds","onSetOption"])],2),k("div",{class:$(s(p).be("panel","footer"))},[k("button",{type:"button",class:$([s(p).be("panel","btn"),"cancel"]),onClick:x},Me(s(h)("el.datepicker.cancel")),3),k("button",{type:"button",class:$([s(p).be("panel","btn"),"confirm"]),onClick:N[0]||(N[0]=D=>E())},Me(s(h)("el.datepicker.confirm")),3)],2)],2)):Z("v-if",!0)]),_:1},8,["name"]))}});var Fu=xe(ZD,[["__file","panel-time-pick.vue"]]);const QD=Ee({...c3,parsedValue:{type:X(Array)}}),eF=["disabled"],tF=A({__name:"panel-time-range",props:QD,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const n=e,o=(ge,Ae)=>{const U=[];for(let te=ge;te<=Ae;te++)U.push(te);return U},{t:a,lang:r}=_t(),l=me("time"),i=me("picker"),u=Pe("EP_PICKER_BASE"),{arrowControl:d,disabledHours:f,disabledMinutes:c,disabledSeconds:p,defaultValue:h}=u.props,m=S(()=>[l.be("range-picker","body"),l.be("panel","content"),l.is("arrow",d),C.value?"has-seconds":""]),v=S(()=>[l.be("range-picker","body"),l.be("panel","content"),l.is("arrow",d),C.value?"has-seconds":""]),_=S(()=>n.parsedValue[0]),g=S(()=>n.parsedValue[1]),w=h3(n),b=()=>{t("pick",w.value,!1)},C=S(()=>n.format.includes("ss")),x=S(()=>n.format.includes("A")?"A":n.format.includes("a")?"a":""),E=(ge=!1)=>{t("pick",[_.value,g.value],ge)},O=ge=>{L(ge.millisecond(0),g.value)},T=ge=>{L(_.value,ge.millisecond(0))},V=ge=>{const Ae=ge.map(te=>at(te).locale(r.value)),U=q(Ae);return Ae[0].isSame(U[0])&&Ae[1].isSame(U[1])},L=(ge,Ae)=>{t("pick",[ge,Ae],!0)},P=S(()=>_.value>g.value),z=R([0,2]),j=(ge,Ae)=>{t("select-range",ge,Ae,"min"),z.value=[ge,Ae]},K=S(()=>C.value?11:8),F=(ge,Ae)=>{t("select-range",ge,Ae,"max");const U=s(K);z.value=[ge+U,Ae+U]},B=ge=>{const Ae=C.value?[0,3,6,11,14,17]:[0,3,8,11],U=["hours","minutes"].concat(C.value?["seconds"]:[]),ve=(Ae.indexOf(z.value[0])+ge+Ae.length)%Ae.length,be=Ae.length/2;ve{const Ae=ge.code,{left:U,right:te,up:ve,down:be}=Ke;if([U,te].includes(Ae)){B(Ae===U?-1:1),ge.preventDefault();return}if([ve,be].includes(Ae)){const ue=Ae===ve?-1:1,ye=z.value[0]{const U=f?f(ge):[],te=ge==="start",be=(Ae||(te?g.value:_.value)).hour(),ue=te?o(be+1,23):o(0,be-1);return hd(U,ue)},N=(ge,Ae,U)=>{const te=c?c(ge,Ae):[],ve=Ae==="start",be=U||(ve?g.value:_.value),ue=be.hour();if(ge!==ue)return te;const ye=be.minute(),we=ve?o(ye+1,59):o(0,ye-1);return hd(te,we)},D=(ge,Ae,U,te)=>{const ve=p?p(ge,Ae,U):[],be=U==="start",ue=te||(be?g.value:_.value),ye=ue.hour(),we=ue.minute();if(ge!==ye||Ae!==we)return ve;const Ce=ue.second(),he=be?o(Ce+1,59):o(0,Ce-1);return hd(ve,he)},q=([ge,Ae])=>[Q(ge,"start",!0,Ae),Q(Ae,"end",!1,ge)],{getAvailableHours:Y,getAvailableMinutes:J,getAvailableSeconds:se}=v3(H,N,D),{timePickerOptions:_e,getAvailableTime:Q,onSetOption:le}=f3({getAvailableHours:Y,getAvailableMinutes:J,getAvailableSeconds:se}),ae=ge=>ge?Ie(ge)?ge.map(Ae=>at(Ae,n.format).locale(r.value)):at(ge,n.format).locale(r.value):null,Te=ge=>ge?Ie(ge)?ge.map(Ae=>Ae.format(n.format)):ge.format(n.format):null,ce=()=>{if(Ie(h))return h.map(Ae=>at(Ae).locale(r.value));const ge=at(h).locale(r.value);return[ge,ge.add(60,"m")]};return t("set-picker-option",["formatToString",Te]),t("set-picker-option",["parseUserInput",ae]),t("set-picker-option",["isValidValue",V]),t("set-picker-option",["handleKeydownInput",I]),t("set-picker-option",["getDefaultValue",ce]),t("set-picker-option",["getRangeAvailableTime",q]),(ge,Ae)=>ge.actualVisible?(y(),M("div",{key:0,class:$([s(l).b("range-picker"),s(i).b("panel")])},[k("div",{class:$(s(l).be("range-picker","content"))},[k("div",{class:$(s(l).be("range-picker","cell"))},[k("div",{class:$(s(l).be("range-picker","header"))},Me(s(a)("el.datepicker.startTime")),3),k("div",{class:$(s(m))},[W(Rf,{ref:"minSpinner",role:"start","show-seconds":s(C),"am-pm-mode":s(x),"arrow-control":s(d),"spinner-date":s(_),"disabled-hours":H,"disabled-minutes":N,"disabled-seconds":D,onChange:O,onSetOption:s(le),onSelectRange:j},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2),k("div",{class:$(s(l).be("range-picker","cell"))},[k("div",{class:$(s(l).be("range-picker","header"))},Me(s(a)("el.datepicker.endTime")),3),k("div",{class:$(s(v))},[W(Rf,{ref:"maxSpinner",role:"end","show-seconds":s(C),"am-pm-mode":s(x),"arrow-control":s(d),"spinner-date":s(g),"disabled-hours":H,"disabled-minutes":N,"disabled-seconds":D,onChange:T,onSetOption:s(le),onSelectRange:F},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2)],2),k("div",{class:$(s(l).be("panel","footer"))},[k("button",{type:"button",class:$([s(l).be("panel","btn"),"cancel"]),onClick:Ae[0]||(Ae[0]=U=>b())},Me(s(a)("el.datepicker.cancel")),3),k("button",{type:"button",class:$([s(l).be("panel","btn"),"confirm"]),disabled:s(P),onClick:Ae[1]||(Ae[1]=U=>E())},Me(s(a)("el.datepicker.confirm")),11,eF)],2)],2)):Z("v-if",!0)}});var nF=xe(tF,[["__file","panel-time-range.vue"]]);at.extend(H2);var oF=A({name:"ElTimePicker",install:null,props:{...D2,isRange:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,t){const n=R(),[o,a]=e.isRange?["timerange",nF]:["time",Fu],r=l=>t.emit("update:modelValue",l);return pt("ElPopperOptions",e.popperOptions),t.expose({focus:l=>{var i;(i=n.value)==null||i.handleFocusInput(l)},blur:l=>{var i;(i=n.value)==null||i.handleBlurInput(l)},handleOpen:()=>{var l;(l=n.value)==null||l.handleOpen()},handleClose:()=>{var l;(l=n.value)==null||l.handleClose()}}),()=>{var l;const i=(l=e.format)!=null?l:kf;return W(d3,ft(e,{ref:n,type:o,format:i,"onUpdate:modelValue":r}),{default:u=>W(a,u,null)})}}});const nu=oF;nu.install=e=>{e.component(nu.name,nu)};const aF=nu,rF=(e,t)=>{const n=e.subtract(1,"month").endOf("month").date();return Va(t).map((o,a)=>n-(t-a-1))},lF=e=>{const t=e.daysInMonth();return Va(t).map((n,o)=>o+1)},sF=e=>Va(e.length/7).map(t=>{const n=t*7;return e.slice(n,n+7)}),iF=Ee({selectedDay:{type:X(Object)},range:{type:X(Array)},date:{type:X(Object),required:!0},hideHeader:{type:Boolean}}),uF={pick:e=>ct(e)};var S3={exports:{}};(function(e,t){(function(n,o){e.exports=o()})(ma,function(){return function(n,o,a){var r=o.prototype,l=function(c){return c&&(c.indexOf?c:c.s)},i=function(c,p,h,m,v){var _=c.name?c:c.$locale(),g=l(_[p]),w=l(_[h]),b=g||w.map(function(x){return x.slice(0,m)});if(!v)return b;var C=_.weekStart;return b.map(function(x,E){return b[(E+(C||0))%7]})},u=function(){return a.Ls[a.locale()]},d=function(c,p){return c.formats[p]||function(h){return h.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(m,v,_){return v||_.slice(1)})}(c.formats[p.toUpperCase()])},f=function(){var c=this;return{months:function(p){return p?p.format("MMMM"):i(c,"months")},monthsShort:function(p){return p?p.format("MMM"):i(c,"monthsShort","months",3)},firstDayOfWeek:function(){return c.$locale().weekStart||0},weekdays:function(p){return p?p.format("dddd"):i(c,"weekdays")},weekdaysMin:function(p){return p?p.format("dd"):i(c,"weekdaysMin","weekdays",2)},weekdaysShort:function(p){return p?p.format("ddd"):i(c,"weekdaysShort","weekdays",3)},longDateFormat:function(p){return d(c.$locale(),p)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return f.bind(this)()},a.localeData=function(){var c=u();return{firstDayOfWeek:function(){return c.weekStart||0},weekdays:function(){return a.weekdays()},weekdaysShort:function(){return a.weekdaysShort()},weekdaysMin:function(){return a.weekdaysMin()},months:function(){return a.months()},monthsShort:function(){return a.monthsShort()},longDateFormat:function(p){return d(c,p)},meridiem:c.meridiem,ordinal:c.ordinal}},a.months=function(){return i(u(),"months")},a.monthsShort=function(){return i(u(),"monthsShort","months",3)},a.weekdays=function(c){return i(u(),"weekdays",null,null,c)},a.weekdaysShort=function(c){return i(u(),"weekdaysShort","weekdays",3,c)},a.weekdaysMin=function(c){return i(u(),"weekdaysMin","weekdays",2,c)}}})})(S3);var cF=S3.exports;const k3=ga(cF),dF=(e,t)=>{at.extend(k3);const n=at.localeData().firstDayOfWeek(),{t:o,lang:a}=_t(),r=at().locale(a.value),l=S(()=>!!e.range&&!!e.range.length),i=S(()=>{let p=[];if(l.value){const[h,m]=e.range,v=Va(m.date()-h.date()+1).map(w=>({text:h.date()+w,type:"current"}));let _=v.length%7;_=_===0?0:7-_;const g=Va(_).map((w,b)=>({text:b+1,type:"next"}));p=v.concat(g)}else{const h=e.date.startOf("month").day(),m=rF(e.date,(h-n+7)%7).map(w=>({text:w,type:"prev"})),v=lF(e.date).map(w=>({text:w,type:"current"}));p=[...m,...v];const _=7-(p.length%7||7),g=Va(_).map((w,b)=>({text:b+1,type:"next"}));p=p.concat(g)}return sF(p)}),u=S(()=>{const p=n;return p===0?md.map(h=>o(`el.datepicker.weeks.${h}`)):md.slice(p).concat(md.slice(0,p)).map(h=>o(`el.datepicker.weeks.${h}`))}),d=(p,h)=>{switch(h){case"prev":return e.date.startOf("month").subtract(1,"month").date(p);case"next":return e.date.startOf("month").add(1,"month").date(p);case"current":return e.date.date(p)}};return{now:r,isInRange:l,rows:i,weekDays:u,getFormattedDate:d,handlePickDay:({text:p,type:h})=>{const m=d(p,h);t("pick",m)},getSlotData:({text:p,type:h})=>{const m=d(p,h);return{isSelected:m.isSame(e.selectedDay),type:`${h}-month`,day:m.format("YYYY-MM-DD"),date:m.toDate()}}}},fF={key:0},pF=["onClick"],vF=A({name:"DateTable"}),hF=A({...vF,props:iF,emits:uF,setup(e,{expose:t,emit:n}){const o=e,{isInRange:a,now:r,rows:l,weekDays:i,getFormattedDate:u,handlePickDay:d,getSlotData:f}=dF(o,n),c=me("calendar-table"),p=me("calendar-day"),h=({text:m,type:v})=>{const _=[v];if(v==="current"){const g=u(m,v);g.isSame(o.selectedDay,"day")&&_.push(p.is("selected")),g.isSame(r,"day")&&_.push(p.is("today"))}return _};return t({getFormattedDate:u}),(m,v)=>(y(),M("table",{class:$([s(c).b(),s(c).is("range",s(a))]),cellspacing:"0",cellpadding:"0"},[m.hideHeader?Z("v-if",!0):(y(),M("thead",fF,[(y(!0),M(Fe,null,mt(s(i),_=>(y(),M("th",{key:_},Me(_),1))),128))])),k("tbody",null,[(y(!0),M(Fe,null,mt(s(l),(_,g)=>(y(),M("tr",{key:g,class:$({[s(c).e("row")]:!0,[s(c).em("row","hide-border")]:g===0&&m.hideHeader})},[(y(!0),M(Fe,null,mt(_,(w,b)=>(y(),M("td",{key:b,class:$(h(w)),onClick:C=>s(d)(w)},[k("div",{class:$(s(p).b())},[re(m.$slots,"date-cell",{data:s(f)(w)},()=>[k("span",null,Me(w.text),1)])],2)],10,pF))),128))],2))),128))])],2))}});var fh=xe(hF,[["__file","date-table.vue"]]);const mF=(e,t)=>{const n=e.endOf("month"),o=t.startOf("month"),r=n.isSame(o,"week")?o.add(1,"week"):o;return[[e,n],[r.startOf("week"),t]]},gF=(e,t)=>{const n=e.endOf("month"),o=e.add(1,"month").startOf("month"),a=n.isSame(o,"week")?o.add(1,"week"):o,r=a.endOf("month"),l=t.startOf("month"),i=r.isSame(l,"week")?l.add(1,"week"):l;return[[e,n],[a.startOf("week"),r],[i.startOf("week"),t]]},yF=(e,t,n)=>{const{lang:o}=_t(),a=R(),r=at().locale(o.value),l=S({get(){return e.modelValue?u.value:a.value},set(_){if(!_)return;a.value=_;const g=_.toDate();t(Tn,g),t(it,g)}}),i=S(()=>{if(!e.range)return[];const _=e.range.map(b=>at(b).locale(o.value)),[g,w]=_;return g.isAfter(w)?[]:g.isSame(w,"month")?h(g,w):g.add(1,"month").month()!==w.month()?[]:h(g,w)}),u=S(()=>e.modelValue?at(e.modelValue).locale(o.value):l.value||(i.value.length?i.value[0][0]:r)),d=S(()=>u.value.subtract(1,"month").date(1)),f=S(()=>u.value.add(1,"month").date(1)),c=S(()=>u.value.subtract(1,"year").date(1)),p=S(()=>u.value.add(1,"year").date(1)),h=(_,g)=>{const w=_.startOf("week"),b=g.endOf("week"),C=w.get("month"),x=b.get("month");return C===x?[[w,b]]:(C+1)%12===x?mF(w,b):C+2===x||(C+1)%11===x?gF(w,b):[]},m=_=>{l.value=_};return{calculateValidatedDateRange:h,date:u,realSelectedDay:l,pickDay:m,selectDate:_=>{const w={"prev-month":d.value,"next-month":f.value,"prev-year":c.value,"next-year":p.value,today:r}[_];w.isSame(u.value,"day")||m(w)},validatedRange:i}},_F=e=>Ie(e)&&e.length===2&&e.every(t=>wr(t)),bF=Ee({modelValue:{type:Date},range:{type:X(Array),validator:_F}}),wF={[it]:e=>wr(e),[Tn]:e=>wr(e)},CF="ElCalendar",SF=A({name:CF}),kF=A({...SF,props:bF,emits:wF,setup(e,{expose:t,emit:n}){const o=e,a=me("calendar"),{calculateValidatedDateRange:r,date:l,pickDay:i,realSelectedDay:u,selectDate:d,validatedRange:f}=yF(o,n),{t:c}=_t(),p=S(()=>{const h=`el.datepicker.month${l.value.format("M")}`;return`${l.value.year()} ${c("el.datepicker.year")} ${c(h)}`});return t({selectedDay:u,pickDay:i,selectDate:d,calculateValidatedDateRange:r}),(h,m)=>(y(),M("div",{class:$(s(a).b())},[k("div",{class:$(s(a).e("header"))},[re(h.$slots,"header",{date:s(p)},()=>[k("div",{class:$(s(a).e("title"))},Me(s(p)),3),s(f).length===0?(y(),M("div",{key:0,class:$(s(a).e("button-group"))},[W(s(a3),null,{default:G(()=>[W(s(rn),{size:"small",onClick:m[0]||(m[0]=v=>s(d)("prev-month"))},{default:G(()=>[vt(Me(s(c)("el.datepicker.prevMonth")),1)]),_:1}),W(s(rn),{size:"small",onClick:m[1]||(m[1]=v=>s(d)("today"))},{default:G(()=>[vt(Me(s(c)("el.datepicker.today")),1)]),_:1}),W(s(rn),{size:"small",onClick:m[2]||(m[2]=v=>s(d)("next-month"))},{default:G(()=>[vt(Me(s(c)("el.datepicker.nextMonth")),1)]),_:1})]),_:1})],2)):Z("v-if",!0)])],2),s(f).length===0?(y(),M("div",{key:0,class:$(s(a).e("body"))},[W(fh,{date:s(l),"selected-day":s(u),onPick:s(i)},na({_:2},[h.$slots["date-cell"]?{name:"date-cell",fn:G(v=>[re(h.$slots,"date-cell",Jo(pl(v)))])}:void 0]),1032,["date","selected-day","onPick"])],2)):(y(),M("div",{key:1,class:$(s(a).e("body"))},[(y(!0),M(Fe,null,mt(s(f),(v,_)=>(y(),oe(fh,{key:_,date:v[0],"selected-day":s(u),range:v,"hide-header":_!==0,onPick:s(i)},na({_:2},[h.$slots["date-cell"]?{name:"date-cell",fn:G(g=>[re(h.$slots,"date-cell",Jo(pl(g)))])}:void 0]),1032,["date","selected-day","range","hide-header","onPick"]))),128))],2))],2))}});var EF=xe(kF,[["__file","calendar.vue"]]);const xF=lt(EF),MF=Ee({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:X([String,Object,Array]),default:""},bodyClass:String,shadow:{type:String,values:["always","hover","never"],default:"always"}}),$F=A({name:"ElCard"}),TF=A({...$F,props:MF,setup(e){const t=me("card");return(n,o)=>(y(),M("div",{class:$([s(t).b(),s(t).is(`${n.shadow}-shadow`)])},[n.$slots.header||n.header?(y(),M("div",{key:0,class:$(s(t).e("header"))},[re(n.$slots,"header",{},()=>[vt(Me(n.header),1)])],2)):Z("v-if",!0),k("div",{class:$([s(t).e("body"),n.bodyClass]),style:De(n.bodyStyle)},[re(n.$slots,"default")],6),n.$slots.footer||n.footer?(y(),M("div",{key:1,class:$(s(t).e("footer"))},[re(n.$slots,"footer",{},()=>[vt(Me(n.footer),1)])],2)):Z("v-if",!0)],2))}});var AF=xe(TF,[["__file","card.vue"]]);const OF=lt(AF),NF=Ee({initialIndex:{type:Number,default:0},height:{type:String,default:""},trigger:{type:String,values:["hover","click"],default:"hover"},autoplay:{type:Boolean,default:!0},interval:{type:Number,default:3e3},indicatorPosition:{type:String,values:["","none","outside"],default:""},arrow:{type:String,values:["always","hover","never"],default:"hover"},type:{type:String,values:["","card"],default:""},loop:{type:Boolean,default:!0},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},pauseOnHover:{type:Boolean,default:!0},motionBlur:{type:Boolean,default:!1}}),IF={change:(e,t)=>[e,t].every(Ye)},E3=Symbol("carouselContextKey"),ph=300,RF=(e,t,n)=>{const{children:o,addChild:a,removeChild:r}=I2(rt(),"ElCarouselItem"),l=fn(),i=R(-1),u=R(null),d=R(!1),f=R(),c=R(0),p=R(!0),h=R(!0),m=R(!1),v=S(()=>e.arrow!=="never"&&!s(w)),_=S(()=>o.value.some(Q=>Q.props.label.toString().length>0)),g=S(()=>e.type==="card"),w=S(()=>e.direction==="vertical"),b=S(()=>e.height!=="auto"?{height:e.height}:{height:`${c.value}px`,overflow:"hidden"}),C=mr(Q=>{L(Q)},ph,{trailing:!0}),x=mr(Q=>{N(Q)},ph),E=Q=>p.value?i.value<=1?Q<=1:Q>1:!0;function O(){u.value&&(clearInterval(u.value),u.value=null)}function T(){e.interval<=0||!e.autoplay||u.value||(u.value=setInterval(()=>V(),e.interval))}const V=()=>{h.value||(m.value=!0),h.value=!1,i.valuece.props.name===Q);Te.length>0&&(Q=o.value.indexOf(Te[0]))}if(Q=Number(Q),Number.isNaN(Q)||Q!==Math.floor(Q))return;const le=o.value.length,ae=i.value;Q<0?i.value=e.loop?le-1:0:Q>=le?i.value=e.loop?0:le-1:i.value=Q,ae===i.value&&P(ae),Y()}function P(Q){o.value.forEach((le,ae)=>{le.translateItem(ae,i.value,Q)})}function z(Q,le){var ae,Te,ce,ge;const Ae=s(o),U=Ae.length;if(U===0||!Q.states.inStage)return!1;const te=le+1,ve=le-1,be=U-1,ue=Ae[be].states.active,ye=Ae[0].states.active,we=(Te=(ae=Ae[te])==null?void 0:ae.states)==null?void 0:Te.active,Ce=(ge=(ce=Ae[ve])==null?void 0:ce.states)==null?void 0:ge.active;return le===be&&ye||we?"left":le===0&&ue||Ce?"right":!1}function j(){d.value=!0,e.pauseOnHover&&O()}function K(){d.value=!1,T()}function F(){m.value=!1}function B(Q){s(w)||o.value.forEach((le,ae)=>{Q===z(le,ae)&&(le.states.hover=!0)})}function I(){s(w)||o.value.forEach(Q=>{Q.states.hover=!1})}function H(Q){Q!==i.value&&(h.value||(m.value=!0)),i.value=Q}function N(Q){e.trigger==="hover"&&Q!==i.value&&(i.value=Q,h.value||(m.value=!0))}function D(){L(i.value-1)}function q(){L(i.value+1)}function Y(){O(),e.pauseOnHover||T()}function J(Q){e.height==="auto"&&(c.value=Q)}function se(){var Q;const le=(Q=l.default)==null?void 0:Q.call(l);if(!le)return null;const ae=La(le),Te="ElCarouselItem",ce=ae.filter(ge=>zt(ge)&&ge.type.name===Te);return(ce==null?void 0:ce.length)===2&&e.loop&&!g.value?(p.value=!0,ce):(p.value=!1,null)}pe(()=>i.value,(Q,le)=>{P(le),p.value&&(Q=Q%2,le=le%2),le>-1&&t("change",Q,le)}),pe(()=>e.autoplay,Q=>{Q?T():O()}),pe(()=>e.loop,()=>{L(i.value)}),pe(()=>e.interval,()=>{Y()});const _e=Rt();return et(()=>{pe(()=>o.value,()=>{o.value.length>0&&L(e.initialIndex)},{immediate:!0}),_e.value=Kt(f.value,()=>{P()}),T()}),It(()=>{O(),f.value&&_e.value&&_e.value.stop()}),pt(E3,{root:f,isCardType:g,isVertical:w,items:o,loop:e.loop,addItem:a,removeItem:r,setActiveItem:L,setContainerHeight:J}),{root:f,activeIndex:i,arrowDisplay:v,hasLabel:_,hover:d,isCardType:g,isTransitioning:m,items:o,isVertical:w,containerStyle:b,isItemsTwoLength:p,handleButtonEnter:B,handleTransitionEnd:F,handleButtonLeave:I,handleIndicatorClick:H,handleMouseEnter:j,handleMouseLeave:K,setActiveItem:L,prev:D,next:q,PlaceholderItem:se,isTwoLengthShow:E,throttledArrowClick:C,throttledIndicatorHover:x}},PF=["aria-label"],LF=["aria-label"],VF=["onMouseenter","onClick"],BF=["aria-label"],zF={key:0},HF={key:3,xmlns:"http://www.w3.org/2000/svg",version:"1.1",style:{display:"none"}},DF=k("defs",null,[k("filter",{id:"elCarouselHorizontal"},[k("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"12,0"})]),k("filter",{id:"elCarouselVertical"},[k("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"0,10"})])],-1),FF=[DF],KF="ElCarousel",WF=A({name:KF}),jF=A({...WF,props:NF,emits:IF,setup(e,{expose:t,emit:n}){const o=e,{root:a,activeIndex:r,arrowDisplay:l,hasLabel:i,hover:u,isCardType:d,items:f,isVertical:c,containerStyle:p,handleButtonEnter:h,handleButtonLeave:m,isTransitioning:v,handleIndicatorClick:_,handleMouseEnter:g,handleMouseLeave:w,handleTransitionEnd:b,setActiveItem:C,prev:x,next:E,PlaceholderItem:O,isTwoLengthShow:T,throttledArrowClick:V,throttledIndicatorHover:L}=RF(o,n),P=me("carousel"),{t:z}=_t(),j=S(()=>{const B=[P.b(),P.m(o.direction)];return s(d)&&B.push(P.m("card")),B}),K=S(()=>{const B=[P.e("container")];return o.motionBlur&&s(v)&&B.push(s(c)?`${P.namespace.value}-transitioning-vertical`:`${P.namespace.value}-transitioning`),B}),F=S(()=>{const B=[P.e("indicators"),P.em("indicators",o.direction)];return s(i)&&B.push(P.em("indicators","labels")),o.indicatorPosition==="outside"&&B.push(P.em("indicators","outside")),s(c)&&B.push(P.em("indicators","right")),B});return t({setActiveItem:C,prev:x,next:E}),(B,I)=>(y(),M("div",{ref_key:"root",ref:a,class:$(s(j)),onMouseenter:I[7]||(I[7]=Ge((...H)=>s(g)&&s(g)(...H),["stop"])),onMouseleave:I[8]||(I[8]=Ge((...H)=>s(w)&&s(w)(...H),["stop"]))},[s(l)?(y(),oe(nn,{key:0,name:"carousel-arrow-left",persisted:""},{default:G(()=>[Qe(k("button",{type:"button",class:$([s(P).e("arrow"),s(P).em("arrow","left")]),"aria-label":s(z)("el.carousel.leftArrow"),onMouseenter:I[0]||(I[0]=H=>s(h)("left")),onMouseleave:I[1]||(I[1]=(...H)=>s(m)&&s(m)(...H)),onClick:I[2]||(I[2]=Ge(H=>s(V)(s(r)-1),["stop"]))},[W(s(Be),null,{default:G(()=>[W(s(aa))]),_:1})],42,PF),[[bt,(B.arrow==="always"||s(u))&&(o.loop||s(r)>0)]])]),_:1})):Z("v-if",!0),s(l)?(y(),oe(nn,{key:1,name:"carousel-arrow-right",persisted:""},{default:G(()=>[Qe(k("button",{type:"button",class:$([s(P).e("arrow"),s(P).em("arrow","right")]),"aria-label":s(z)("el.carousel.rightArrow"),onMouseenter:I[3]||(I[3]=H=>s(h)("right")),onMouseleave:I[4]||(I[4]=(...H)=>s(m)&&s(m)(...H)),onClick:I[5]||(I[5]=Ge(H=>s(V)(s(r)+1),["stop"]))},[W(s(Be),null,{default:G(()=>[W(s(Sn))]),_:1})],42,LF),[[bt,(B.arrow==="always"||s(u))&&(o.loop||s(r)s(b)&&s(b)(...H))},[W(s(O)),re(B.$slots,"default")],38),B.indicatorPosition!=="none"?(y(),M("ul",{key:2,class:$(s(F))},[(y(!0),M(Fe,null,mt(s(f),(H,N)=>Qe((y(),M("li",{key:N,class:$([s(P).e("indicator"),s(P).em("indicator",B.direction),s(P).is("active",N===s(r))]),onMouseenter:D=>s(L)(N),onClick:Ge(D=>s(_)(N),["stop"])},[k("button",{class:$(s(P).e("button")),"aria-label":s(z)("el.carousel.indicator",{index:N+1})},[s(i)?(y(),M("span",zF,Me(H.props.label),1)):Z("v-if",!0)],10,BF)],42,VF)),[[bt,s(T)(N)]])),128))],2)):Z("v-if",!0),o.motionBlur?(y(),M("svg",HF,FF)):Z("v-if",!0)],34))}});var qF=xe(jF,[["__file","carousel.vue"]]);const UF=Ee({name:{type:String,default:""},label:{type:[String,Number],default:""}}),YF=(e,t)=>{const n=Pe(E3),o=rt(),a=.83,r=R(),l=R(!1),i=R(0),u=R(1),d=R(!1),f=R(!1),c=R(!1),p=R(!1),{isCardType:h,isVertical:m}=n;function v(C,x,E){const O=E-1,T=x-1,V=x+1,L=E/2;return x===0&&C===O?-1:x===O&&C===0?E:C=L?E+1:C>V&&C-x>=L?-2:C}function _(C,x){var E,O;const T=s(m)?((E=n.root.value)==null?void 0:E.offsetHeight)||0:((O=n.root.value)==null?void 0:O.offsetWidth)||0;return c.value?T*((2-a)*(C-x)+1)/4:C{var O;const T=s(h),V=(O=n.items.value.length)!=null?O:Number.NaN,L=C===x;!T&&!Zt(E)&&(p.value=L||C===E),!L&&V>2&&n.loop&&(C=v(C,x,V));const P=s(m);d.value=L,T?(c.value=Math.round(Math.abs(C-x))<=1,i.value=_(C,x),u.value=s(d)?1:a):i.value=g(C,x,P),f.value=!0,L&&r.value&&n.setContainerHeight(r.value.offsetHeight)};function b(){if(n&&s(h)){const C=n.items.value.findIndex(({uid:x})=>x===o.uid);n.setActiveItem(C)}}return et(()=>{n.addItem({props:e,states:wt({hover:l,translate:i,scale:u,active:d,ready:f,inStage:c,animating:p}),uid:o.uid,translateItem:w})}),Ua(()=>{n.removeItem(o.uid)}),{carouselItemRef:r,active:d,animating:p,hover:l,inStage:c,isVertical:m,translate:i,isCardType:h,scale:u,ready:f,handleItemClick:b}},GF=A({name:"ElCarouselItem"}),XF=A({...GF,props:UF,setup(e){const t=e,n=me("carousel"),{carouselItemRef:o,active:a,animating:r,hover:l,inStage:i,isVertical:u,translate:d,isCardType:f,scale:c,ready:p,handleItemClick:h}=YF(t),m=S(()=>[n.e("item"),n.is("active",a.value),n.is("in-stage",i.value),n.is("hover",l.value),n.is("animating",r.value),{[n.em("item","card")]:f.value,[n.em("item","card-vertical")]:f.value&&u.value}]),v=S(()=>{const g=`${`translate${s(u)?"Y":"X"}`}(${s(d)}px)`,w=`scale(${s(c)})`;return{transform:[g,w].join(" ")}});return(_,g)=>Qe((y(),M("div",{ref_key:"carouselItemRef",ref:o,class:$(s(m)),style:De(s(v)),onClick:g[0]||(g[0]=(...w)=>s(h)&&s(h)(...w))},[s(f)?Qe((y(),M("div",{key:0,class:$(s(n).e("mask"))},null,2)),[[bt,!s(a)]]):Z("v-if",!0),re(_.$slots,"default")],6)),[[bt,s(p)]])}});var x3=xe(XF,[["__file","carousel-item.vue"]]);const JF=lt(qF,{CarouselItem:x3}),ZF=Dt(x3),M3={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},controls:{type:String,default:void 0},border:Boolean,size:cn,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0}},$3={[it]:e=>Ze(e)||Ye(e)||Qt(e),change:e=>Ze(e)||Ye(e)||Qt(e)},Hl=Symbol("checkboxGroupContextKey"),QF=({model:e,isChecked:t})=>{const n=Pe(Hl,void 0),o=S(()=>{var r,l;const i=(r=n==null?void 0:n.max)==null?void 0:r.value,u=(l=n==null?void 0:n.min)==null?void 0:l.value;return!Zt(i)&&e.value.length>=i&&!t.value||!Zt(u)&&e.value.length<=u&&t.value});return{isDisabled:Dn(S(()=>(n==null?void 0:n.disabled.value)||o.value)),isLimitDisabled:o}},eK=(e,{model:t,isLimitExceeded:n,hasOwnLabel:o,isDisabled:a,isLabeledByFormItem:r})=>{const l=Pe(Hl,void 0),{formItem:i}=Nn(),{emit:u}=rt();function d(m){var v,_,g,w;return[!0,e.trueValue,e.trueLabel].includes(m)?(_=(v=e.trueValue)!=null?v:e.trueLabel)!=null?_:!0:(w=(g=e.falseValue)!=null?g:e.falseLabel)!=null?w:!1}function f(m,v){u("change",d(m),v)}function c(m){if(n.value)return;const v=m.target;u("change",d(v.checked),m)}async function p(m){n.value||!o.value&&!a.value&&r.value&&(m.composedPath().some(g=>g.tagName==="LABEL")||(t.value=d([!1,e.falseValue,e.falseLabel].includes(t.value)),await We(),f(t.value,m)))}const h=S(()=>(l==null?void 0:l.validateEvent)||e.validateEvent);return pe(()=>e.modelValue,()=>{h.value&&(i==null||i.validate("change").catch(m=>void 0))}),{handleChange:c,onClickRoot:p}},tK=e=>{const t=R(!1),{emit:n}=rt(),o=Pe(Hl,void 0),a=S(()=>Zt(o)===!1),r=R(!1),l=S({get(){var i,u;return a.value?(i=o==null?void 0:o.modelValue)==null?void 0:i.value:(u=e.modelValue)!=null?u:t.value},set(i){var u,d;a.value&&Ie(i)?(r.value=((u=o==null?void 0:o.max)==null?void 0:u.value)!==void 0&&i.length>(o==null?void 0:o.max.value)&&i.length>l.value.length,r.value===!1&&((d=o==null?void 0:o.changeEvent)==null||d.call(o,i))):(n(it,i),t.value=i)}});return{model:l,isGroup:a,isLimitExceeded:r}},nK=(e,t,{model:n})=>{const o=Pe(Hl,void 0),a=R(!1),r=S(()=>Er(e.value)?e.label:e.value),l=S(()=>{const f=n.value;return Qt(f)?f:Ie(f)?ct(r.value)?f.map(xt).some(c=>wn(c,r.value)):f.map(xt).includes(r.value):f!=null?f===e.trueValue||f===e.trueLabel:!!f}),i=an(S(()=>{var f;return(f=o==null?void 0:o.size)==null?void 0:f.value}),{prop:!0}),u=an(S(()=>{var f;return(f=o==null?void 0:o.size)==null?void 0:f.value})),d=S(()=>!!t.default||!Er(r.value));return{checkboxButtonSize:i,isChecked:l,isFocused:a,checkboxSize:u,hasOwnLabel:d,actualValue:r}},T3=(e,t)=>{const{formItem:n}=Nn(),{model:o,isGroup:a,isLimitExceeded:r}=tK(e),{isFocused:l,isChecked:i,checkboxButtonSize:u,checkboxSize:d,hasOwnLabel:f,actualValue:c}=nK(e,t,{model:o}),{isDisabled:p}=QF({model:o,isChecked:i}),{inputId:h,isLabeledByFormItem:m}=Ho(e,{formItemContext:n,disableIdGeneration:f,disableIdManagement:a}),{handleChange:v,onClickRoot:_}=eK(e,{model:o,isLimitExceeded:r,hasOwnLabel:f,isDisabled:p,isLabeledByFormItem:m});return(()=>{function w(){var b,C;Ie(o.value)&&!o.value.includes(c.value)?o.value.push(c.value):o.value=(C=(b=e.trueValue)!=null?b:e.trueLabel)!=null?C:!0}e.checked&&w()})(),gr({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},S(()=>a.value&&Er(e.value))),gr({from:"true-label",replacement:"true-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},S(()=>!!e.trueLabel)),gr({from:"false-label",replacement:"false-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},S(()=>!!e.falseLabel)),{inputId:h,isLabeledByFormItem:m,isChecked:i,isDisabled:p,isFocused:l,checkboxButtonSize:u,checkboxSize:d,hasOwnLabel:f,model:o,actualValue:c,handleChange:v,onClickRoot:_}},oK=["id","indeterminate","name","tabindex","disabled","true-value","false-value"],aK=["id","indeterminate","disabled","value","name","tabindex"],rK=A({name:"ElCheckbox"}),lK=A({...rK,props:M3,emits:$3,setup(e){const t=e,n=fn(),{inputId:o,isLabeledByFormItem:a,isChecked:r,isDisabled:l,isFocused:i,checkboxSize:u,hasOwnLabel:d,model:f,actualValue:c,handleChange:p,onClickRoot:h}=T3(t,n),m=me("checkbox"),v=S(()=>[m.b(),m.m(u.value),m.is("disabled",l.value),m.is("bordered",t.border),m.is("checked",r.value)]),_=S(()=>[m.e("input"),m.is("disabled",l.value),m.is("checked",r.value),m.is("indeterminate",t.indeterminate),m.is("focus",i.value)]);return(g,w)=>(y(),oe(ut(!s(d)&&s(a)?"span":"label"),{class:$(s(v)),"aria-controls":g.indeterminate?g.controls:null,onClick:s(h)},{default:G(()=>{var b,C;return[k("span",{class:$(s(_))},[g.trueValue||g.falseValue||g.trueLabel||g.falseLabel?Qe((y(),M("input",{key:0,id:s(o),"onUpdate:modelValue":w[0]||(w[0]=x=>Pt(f)?f.value=x:null),class:$(s(m).e("original")),type:"checkbox",indeterminate:g.indeterminate,name:g.name,tabindex:g.tabindex,disabled:s(l),"true-value":(b=g.trueValue)!=null?b:g.trueLabel,"false-value":(C=g.falseValue)!=null?C:g.falseLabel,onChange:w[1]||(w[1]=(...x)=>s(p)&&s(p)(...x)),onFocus:w[2]||(w[2]=x=>i.value=!0),onBlur:w[3]||(w[3]=x=>i.value=!1),onClick:w[4]||(w[4]=Ge(()=>{},["stop"]))},null,42,oK)),[[Ou,s(f)]]):Qe((y(),M("input",{key:1,id:s(o),"onUpdate:modelValue":w[5]||(w[5]=x=>Pt(f)?f.value=x:null),class:$(s(m).e("original")),type:"checkbox",indeterminate:g.indeterminate,disabled:s(l),value:s(c),name:g.name,tabindex:g.tabindex,onChange:w[6]||(w[6]=(...x)=>s(p)&&s(p)(...x)),onFocus:w[7]||(w[7]=x=>i.value=!0),onBlur:w[8]||(w[8]=x=>i.value=!1),onClick:w[9]||(w[9]=Ge(()=>{},["stop"]))},null,42,aK)),[[Ou,s(f)]]),k("span",{class:$(s(m).e("inner"))},null,2)],2),s(d)?(y(),M("span",{key:0,class:$(s(m).e("label"))},[re(g.$slots,"default"),g.$slots.default?Z("v-if",!0):(y(),M(Fe,{key:0},[vt(Me(g.label),1)],64))],2)):Z("v-if",!0)]}),_:3},8,["class","aria-controls","onClick"]))}});var sK=xe(lK,[["__file","checkbox.vue"]]);const iK=["name","tabindex","disabled","true-value","false-value"],uK=["name","tabindex","disabled","value"],cK=A({name:"ElCheckboxButton"}),dK=A({...cK,props:M3,emits:$3,setup(e){const t=e,n=fn(),{isFocused:o,isChecked:a,isDisabled:r,checkboxButtonSize:l,model:i,actualValue:u,handleChange:d}=T3(t,n),f=Pe(Hl,void 0),c=me("checkbox"),p=S(()=>{var m,v,_,g;const w=(v=(m=f==null?void 0:f.fill)==null?void 0:m.value)!=null?v:"";return{backgroundColor:w,borderColor:w,color:(g=(_=f==null?void 0:f.textColor)==null?void 0:_.value)!=null?g:"",boxShadow:w?`-1px 0 0 0 ${w}`:void 0}}),h=S(()=>[c.b("button"),c.bm("button",l.value),c.is("disabled",r.value),c.is("checked",a.value),c.is("focus",o.value)]);return(m,v)=>{var _,g;return y(),M("label",{class:$(s(h))},[m.trueValue||m.falseValue||m.trueLabel||m.falseLabel?Qe((y(),M("input",{key:0,"onUpdate:modelValue":v[0]||(v[0]=w=>Pt(i)?i.value=w:null),class:$(s(c).be("button","original")),type:"checkbox",name:m.name,tabindex:m.tabindex,disabled:s(r),"true-value":(_=m.trueValue)!=null?_:m.trueLabel,"false-value":(g=m.falseValue)!=null?g:m.falseLabel,onChange:v[1]||(v[1]=(...w)=>s(d)&&s(d)(...w)),onFocus:v[2]||(v[2]=w=>o.value=!0),onBlur:v[3]||(v[3]=w=>o.value=!1),onClick:v[4]||(v[4]=Ge(()=>{},["stop"]))},null,42,iK)),[[Ou,s(i)]]):Qe((y(),M("input",{key:1,"onUpdate:modelValue":v[5]||(v[5]=w=>Pt(i)?i.value=w:null),class:$(s(c).be("button","original")),type:"checkbox",name:m.name,tabindex:m.tabindex,disabled:s(r),value:s(u),onChange:v[6]||(v[6]=(...w)=>s(d)&&s(d)(...w)),onFocus:v[7]||(v[7]=w=>o.value=!0),onBlur:v[8]||(v[8]=w=>o.value=!1),onClick:v[9]||(v[9]=Ge(()=>{},["stop"]))},null,42,uK)),[[Ou,s(i)]]),m.$slots.default||m.label?(y(),M("span",{key:2,class:$(s(c).be("button","inner")),style:De(s(a)?s(p):void 0)},[re(m.$slots,"default",{},()=>[vt(Me(m.label),1)])],6)):Z("v-if",!0)],2)}}});var A3=xe(dK,[["__file","checkbox-button.vue"]]);const fK=Ee({modelValue:{type:X(Array),default:()=>[]},disabled:Boolean,min:Number,max:Number,size:cn,label:String,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0}}),pK={[it]:e=>Ie(e),change:e=>Ie(e)},vK=A({name:"ElCheckboxGroup"}),hK=A({...vK,props:fK,emits:pK,setup(e,{emit:t}){const n=e,o=me("checkbox"),{formItem:a}=Nn(),{inputId:r,isLabeledByFormItem:l}=Ho(n,{formItemContext:a}),i=async d=>{t(it,d),await We(),t("change",d)},u=S({get(){return n.modelValue},set(d){i(d)}});return pt(Hl,{...Zo(un(n),["size","min","max","disabled","validateEvent","fill","textColor"]),modelValue:u,changeEvent:i}),pe(()=>n.modelValue,()=>{n.validateEvent&&(a==null||a.validate("change").catch(d=>void 0))}),(d,f)=>{var c;return y(),oe(ut(d.tag),{id:s(r),class:$(s(o).b("group")),role:"group","aria-label":s(l)?void 0:d.label||"checkbox-group","aria-labelledby":s(l)?(c=s(a))==null?void 0:c.labelId:void 0},{default:G(()=>[re(d.$slots,"default")]),_:3},8,["id","class","aria-label","aria-labelledby"])}}});var O3=xe(hK,[["__file","checkbox-group.vue"]]);const vo=lt(sK,{CheckboxButton:A3,CheckboxGroup:O3}),mK=Dt(A3),N3=Dt(O3),I3=Ee({modelValue:{type:[String,Number,Boolean],default:void 0},size:cn,disabled:Boolean,label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),gK=Ee({...I3,border:Boolean}),R3={[it]:e=>Ze(e)||Ye(e)||Qt(e),[Bt]:e=>Ze(e)||Ye(e)||Qt(e)},P3=Symbol("radioGroupKey"),L3=(e,t)=>{const n=R(),o=Pe(P3,void 0),a=S(()=>!!o),r=S(()=>Er(e.value)?e.label:e.value),l=S({get(){return a.value?o.modelValue:e.modelValue},set(c){a.value?o.changeEvent(c):t&&t(it,c),n.value.checked=e.modelValue===r.value}}),i=an(S(()=>o==null?void 0:o.size)),u=Dn(S(()=>o==null?void 0:o.disabled)),d=R(!1),f=S(()=>u.value||a.value&&l.value!==r.value?-1:0);return gr({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},S(()=>a.value&&Er(e.value))),{radioRef:n,isGroup:a,radioGroup:o,focus:d,size:i,disabled:u,tabIndex:f,modelValue:l,actualValue:r}},yK=["value","name","disabled"],_K=A({name:"ElRadio"}),bK=A({..._K,props:gK,emits:R3,setup(e,{emit:t}){const n=e,o=me("radio"),{radioRef:a,radioGroup:r,focus:l,size:i,disabled:u,modelValue:d,actualValue:f}=L3(n,t);function c(){We(()=>t("change",d.value))}return(p,h)=>{var m;return y(),M("label",{class:$([s(o).b(),s(o).is("disabled",s(u)),s(o).is("focus",s(l)),s(o).is("bordered",p.border),s(o).is("checked",s(d)===s(f)),s(o).m(s(i))])},[k("span",{class:$([s(o).e("input"),s(o).is("disabled",s(u)),s(o).is("checked",s(d)===s(f))])},[Qe(k("input",{ref_key:"radioRef",ref:a,"onUpdate:modelValue":h[0]||(h[0]=v=>Pt(d)?d.value=v:null),class:$(s(o).e("original")),value:s(f),name:p.name||((m=s(r))==null?void 0:m.name),disabled:s(u),type:"radio",onFocus:h[1]||(h[1]=v=>l.value=!0),onBlur:h[2]||(h[2]=v=>l.value=!1),onChange:c,onClick:h[3]||(h[3]=Ge(()=>{},["stop"]))},null,42,yK),[[$4,s(d)]]),k("span",{class:$(s(o).e("inner"))},null,2)],2),k("span",{class:$(s(o).e("label")),onKeydown:h[4]||(h[4]=Ge(()=>{},["stop"]))},[re(p.$slots,"default",{},()=>[vt(Me(p.label),1)])],34)],2)}}});var wK=xe(bK,[["__file","radio.vue"]]);const CK=Ee({...I3}),SK=["value","name","disabled"],kK=A({name:"ElRadioButton"}),EK=A({...kK,props:CK,setup(e){const t=e,n=me("radio"),{radioRef:o,focus:a,size:r,disabled:l,modelValue:i,radioGroup:u,actualValue:d}=L3(t),f=S(()=>({backgroundColor:(u==null?void 0:u.fill)||"",borderColor:(u==null?void 0:u.fill)||"",boxShadow:u!=null&&u.fill?`-1px 0 0 0 ${u.fill}`:"",color:(u==null?void 0:u.textColor)||""}));return(c,p)=>{var h;return y(),M("label",{class:$([s(n).b("button"),s(n).is("active",s(i)===s(d)),s(n).is("disabled",s(l)),s(n).is("focus",s(a)),s(n).bm("button",s(r))])},[Qe(k("input",{ref_key:"radioRef",ref:o,"onUpdate:modelValue":p[0]||(p[0]=m=>Pt(i)?i.value=m:null),class:$(s(n).be("button","original-radio")),value:s(d),type:"radio",name:c.name||((h=s(u))==null?void 0:h.name),disabled:s(l),onFocus:p[1]||(p[1]=m=>a.value=!0),onBlur:p[2]||(p[2]=m=>a.value=!1),onClick:p[3]||(p[3]=Ge(()=>{},["stop"]))},null,42,SK),[[$4,s(i)]]),k("span",{class:$(s(n).be("button","inner")),style:De(s(i)===s(d)?s(f):{}),onKeydown:p[4]||(p[4]=Ge(()=>{},["stop"]))},[re(c.$slots,"default",{},()=>[vt(Me(c.label),1)])],38)],2)}}});var V3=xe(EK,[["__file","radio-button.vue"]]);const xK=Ee({id:{type:String,default:void 0},size:cn,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},label:{type:String,default:void 0},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0}}),MK=R3,$K=["id","aria-label","aria-labelledby"],TK=A({name:"ElRadioGroup"}),AK=A({...TK,props:xK,emits:MK,setup(e,{emit:t}){const n=e,o=me("radio"),a=kn(),r=R(),{formItem:l}=Nn(),{inputId:i,isLabeledByFormItem:u}=Ho(n,{formItemContext:l}),d=c=>{t(it,c),We(()=>t("change",c))};et(()=>{const c=r.value.querySelectorAll("[type=radio]"),p=c[0];!Array.from(c).some(h=>h.checked)&&p&&(p.tabIndex=0)});const f=S(()=>n.name||a.value);return pt(P3,wt({...un(n),changeEvent:d,name:f})),pe(()=>n.modelValue,()=>{n.validateEvent&&(l==null||l.validate("change").catch(c=>void 0))}),(c,p)=>(y(),M("div",{id:s(i),ref_key:"radioGroupRef",ref:r,class:$(s(o).b("group")),role:"radiogroup","aria-label":s(u)?void 0:c.label||"radio-group","aria-labelledby":s(u)?s(l).labelId:void 0},[re(c.$slots,"default")],10,$K))}});var B3=xe(AK,[["__file","radio-group.vue"]]);const z3=lt(wK,{RadioButton:V3,RadioGroup:B3}),OK=Dt(B3),NK=Dt(V3);var IK=A({name:"NodeContent",setup(){return{ns:me("cascader-node")}},render(){const{ns:e}=this,{node:t,panel:n}=this.$parent,{data:o,label:a}=t,{renderLabelFn:r}=n;return qe("span",{class:e.e("label")},r?r({node:t,data:o}):a)}});const F2=Symbol(),RK=A({name:"ElCascaderNode",components:{ElCheckbox:vo,ElRadio:z3,NodeContent:IK,ElIcon:Be,Check:Bl,Loading:pa,ArrowRight:Sn},props:{node:{type:Object,required:!0},menuId:String},emits:["expand"],setup(e,{emit:t}){const n=Pe(F2),o=me("cascader-node"),a=S(()=>n.isHoverMenu),r=S(()=>n.config.multiple),l=S(()=>n.config.checkStrictly),i=S(()=>{var E;return(E=n.checkedNodes[0])==null?void 0:E.uid}),u=S(()=>e.node.isDisabled),d=S(()=>e.node.isLeaf),f=S(()=>l.value&&!d.value||!u.value),c=S(()=>h(n.expandingNode)),p=S(()=>l.value&&n.checkedNodes.some(h)),h=E=>{var O;const{level:T,uid:V}=e.node;return((O=E==null?void 0:E.pathNodes[T-1])==null?void 0:O.uid)===V},m=()=>{c.value||n.expandNode(e.node)},v=E=>{const{node:O}=e;E!==O.checked&&n.handleCheckChange(O,E)},_=()=>{n.lazyLoad(e.node,()=>{d.value||m()})},g=E=>{a.value&&(w(),!d.value&&t("expand",E))},w=()=>{const{node:E}=e;!f.value||E.loading||(E.loaded?m():_())},b=()=>{a.value&&!d.value||(d.value&&!u.value&&!l.value&&!r.value?x(!0):w())},C=E=>{l.value?(v(E),e.node.loaded&&m()):x(E)},x=E=>{e.node.loaded?(v(E),!l.value&&m()):_()};return{panel:n,isHoverMenu:a,multiple:r,checkStrictly:l,checkedNodeId:i,isDisabled:u,isLeaf:d,expandable:f,inExpandingPath:c,inCheckedPath:p,ns:o,handleHoverExpand:g,handleExpand:w,handleClick:b,handleCheck:x,handleSelectCheck:C}}}),PK=["id","aria-haspopup","aria-owns","aria-expanded","tabindex"],LK=k("span",null,null,-1);function VK(e,t,n,o,a,r){const l=nt("el-checkbox"),i=nt("el-radio"),u=nt("check"),d=nt("el-icon"),f=nt("node-content"),c=nt("loading"),p=nt("arrow-right");return y(),M("li",{id:`${e.menuId}-${e.node.uid}`,role:"menuitem","aria-haspopup":!e.isLeaf,"aria-owns":e.isLeaf?null:e.menuId,"aria-expanded":e.inExpandingPath,tabindex:e.expandable?-1:void 0,class:$([e.ns.b(),e.ns.is("selectable",e.checkStrictly),e.ns.is("active",e.node.checked),e.ns.is("disabled",!e.expandable),e.inExpandingPath&&"in-active-path",e.inCheckedPath&&"in-checked-path"]),onMouseenter:t[2]||(t[2]=(...h)=>e.handleHoverExpand&&e.handleHoverExpand(...h)),onFocus:t[3]||(t[3]=(...h)=>e.handleHoverExpand&&e.handleHoverExpand(...h)),onClick:t[4]||(t[4]=(...h)=>e.handleClick&&e.handleClick(...h))},[Z(" prefix "),e.multiple?(y(),oe(l,{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:e.isDisabled,onClick:t[0]||(t[0]=Ge(()=>{},["stop"])),"onUpdate:modelValue":e.handleSelectCheck},null,8,["model-value","indeterminate","disabled","onUpdate:modelValue"])):e.checkStrictly?(y(),oe(i,{key:1,"model-value":e.checkedNodeId,label:e.node.uid,disabled:e.isDisabled,"onUpdate:modelValue":e.handleSelectCheck,onClick:t[1]||(t[1]=Ge(()=>{},["stop"]))},{default:G(()=>[Z(` + Add an empty element to avoid render label, + do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485 + `),LK]),_:1},8,["model-value","label","disabled","onUpdate:modelValue"])):e.isLeaf&&e.node.checked?(y(),oe(d,{key:2,class:$(e.ns.e("prefix"))},{default:G(()=>[W(u)]),_:1},8,["class"])):Z("v-if",!0),Z(" content "),W(f),Z(" postfix "),e.isLeaf?Z("v-if",!0):(y(),M(Fe,{key:3},[e.node.loading?(y(),oe(d,{key:0,class:$([e.ns.is("loading"),e.ns.e("postfix")])},{default:G(()=>[W(c)]),_:1},8,["class"])):(y(),oe(d,{key:1,class:$(["arrow-right",e.ns.e("postfix")])},{default:G(()=>[W(p)]),_:1},8,["class"]))],64))],42,PK)}var BK=xe(RK,[["render",VK],["__file","node.vue"]]);const zK=A({name:"ElCascaderMenu",components:{Loading:pa,ElIcon:Be,ElScrollbar:ha,ElCascaderNode:BK},props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(e){const t=rt(),n=me("cascader-menu"),{t:o}=_t(),a=kn();let r=null,l=null;const i=Pe(F2),u=R(null),d=S(()=>!e.nodes.length),f=S(()=>!i.initialLoaded),c=S(()=>`${a.value}-${e.index}`),p=_=>{r=_.target},h=_=>{if(!(!i.isHoverMenu||!r||!u.value))if(r.contains(_.target)){m();const g=t.vnode.el,{left:w}=g.getBoundingClientRect(),{offsetWidth:b,offsetHeight:C}=g,x=_.clientX-w,E=r.offsetTop,O=E+r.offsetHeight;u.value.innerHTML=` + + + `}else l||(l=window.setTimeout(v,i.config.hoverThreshold))},m=()=>{l&&(clearTimeout(l),l=null)},v=()=>{u.value&&(u.value.innerHTML="",m())};return{ns:n,panel:i,hoverZone:u,isEmpty:d,isLoading:f,menuId:c,t:o,handleExpand:p,handleMouseMove:h,clearHoverZone:v}}});function HK(e,t,n,o,a,r){const l=nt("el-cascader-node"),i=nt("loading"),u=nt("el-icon"),d=nt("el-scrollbar");return y(),oe(d,{key:e.menuId,tag:"ul",role:"menu",class:$(e.ns.b()),"wrap-class":e.ns.e("wrap"),"view-class":[e.ns.e("list"),e.ns.is("empty",e.isEmpty)],onMousemove:e.handleMouseMove,onMouseleave:e.clearHoverZone},{default:G(()=>{var f;return[(y(!0),M(Fe,null,mt(e.nodes,c=>(y(),oe(l,{key:c.uid,node:c,"menu-id":e.menuId,onExpand:e.handleExpand},null,8,["node","menu-id","onExpand"]))),128)),e.isLoading?(y(),M("div",{key:0,class:$(e.ns.e("empty-text"))},[W(u,{size:"14",class:$(e.ns.is("loading"))},{default:G(()=>[W(i)]),_:1},8,["class"]),vt(" "+Me(e.t("el.cascader.loading")),1)],2)):e.isEmpty?(y(),M("div",{key:1,class:$(e.ns.e("empty-text"))},Me(e.t("el.cascader.noData")),3)):(f=e.panel)!=null&&f.isHoverMenu?(y(),M("svg",{key:2,ref:"hoverZone",class:$(e.ns.e("hover-zone"))},null,2)):Z("v-if",!0)]}),_:1},8,["class","wrap-class","view-class","onMousemove","onMouseleave"])}var DK=xe(zK,[["render",HK],["__file","menu.vue"]]);let FK=0;const KK=e=>{const t=[e];let{parent:n}=e;for(;n;)t.unshift(n),n=n.parent;return t};let Pf=class Lf{constructor(t,n,o,a=!1){this.data=t,this.config=n,this.parent=o,this.root=a,this.uid=FK++,this.checked=!1,this.indeterminate=!1,this.loading=!1;const{value:r,label:l,children:i}=n,u=t[i],d=KK(this);this.level=a?0:o?o.level+1:1,this.value=t[r],this.label=t[l],this.pathNodes=d,this.pathValues=d.map(f=>f.value),this.pathLabels=d.map(f=>f.label),this.childrenData=u,this.children=(u||[]).map(f=>new Lf(f,n,this)),this.loaded=!n.lazy||this.isLeaf||!Qn(u)}get isDisabled(){const{data:t,parent:n,config:o}=this,{disabled:a,checkStrictly:r}=o;return(Xe(a)?a(t,this):!!t[a])||!r&&(n==null?void 0:n.isDisabled)}get isLeaf(){const{data:t,config:n,childrenData:o,loaded:a}=this,{lazy:r,leaf:l}=n,i=Xe(l)?l(t,this):t[l];return Zt(i)?r&&!a?!1:!(Array.isArray(o)&&o.length):!!i}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(t){const{childrenData:n,children:o}=this,a=new Lf(t,this.config,this);return Array.isArray(n)?n.push(t):this.childrenData=[t],o.push(a),a}calcText(t,n){const o=t?this.pathLabels.join(n):this.label;return this.text=o,o}broadcast(t,...n){const o=`onParent${Ao(t)}`;this.children.forEach(a=>{a&&(a.broadcast(t,...n),a[o]&&a[o](...n))})}emit(t,...n){const{parent:o}=this,a=`onChild${Ao(t)}`;o&&(o[a]&&o[a](...n),o.emit(t,...n))}onParentCheck(t){this.isDisabled||this.setCheckState(t)}onChildCheck(){const{children:t}=this,n=t.filter(a=>!a.isDisabled),o=n.length?n.every(a=>a.checked):!1;this.setCheckState(o)}setCheckState(t){const n=this.children.length,o=this.children.reduce((a,r)=>{const l=r.checked?1:r.indeterminate?.5:0;return a+l},0);this.checked=this.loaded&&this.children.filter(a=>!a.isDisabled).every(a=>a.loaded&&a.checked)&&t,this.indeterminate=this.loaded&&o!==n&&o>0}doCheck(t){if(this.checked===t)return;const{checkStrictly:n,multiple:o}=this.config;n||!o?this.checked=t:(this.broadcast("check",t),this.setCheckState(t),this.emit("check"))}};const Vf=(e,t)=>e.reduce((n,o)=>(o.isLeaf?n.push(o):(!t&&n.push(o),n=n.concat(Vf(o.children,t))),n),[]);class vh{constructor(t,n){this.config=n;const o=(t||[]).map(a=>new Pf(a,this.config));this.nodes=o,this.allNodes=Vf(o,!1),this.leafNodes=Vf(o,!0)}getNodes(){return this.nodes}getFlattedNodes(t){return t?this.leafNodes:this.allNodes}appendNode(t,n){const o=n?n.appendChild(t):new Pf(t,this.config);n||this.nodes.push(o),this.allNodes.push(o),o.isLeaf&&this.leafNodes.push(o)}appendNodes(t,n){t.forEach(o=>this.appendNode(o,n))}getNodeByValue(t,n=!1){return!t&&t!==0?null:this.getFlattedNodes(n).find(a=>wn(a.value,t)||wn(a.pathValues,t))||null}getSameNode(t){return t&&this.getFlattedNodes(!1).find(({value:o,level:a})=>wn(t.value,o)&&t.level===a)||null}}const H3=Ee({modelValue:{type:X([Number,String,Array])},options:{type:X(Array),default:()=>[]},props:{type:X(Object),default:()=>({})}}),WK={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:Et,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500},jK=e=>S(()=>({...WK,...e.props})),hh=e=>{if(!e)return 0;const t=e.id.split("-");return Number(t[t.length-2])},qK=e=>{if(!e)return;const t=e.querySelector("input");t?t.click():R4(e)&&e.click()},UK=(e,t)=>{const n=t.slice(0),o=n.map(r=>r.uid),a=e.reduce((r,l)=>{const i=o.indexOf(l.uid);return i>-1&&(r.push(l),n.splice(i,1),o.splice(i,1)),r},[]);return a.push(...n),a},YK=A({name:"ElCascaderPanel",components:{ElCascaderMenu:DK},props:{...H3,border:{type:Boolean,default:!0},renderLabel:Function},emits:[it,Bt,"close","expand-change"],setup(e,{emit:t,slots:n}){let o=!1;const a=me("cascader"),r=jK(e);let l=null;const i=R(!0),u=R([]),d=R(null),f=R([]),c=R(null),p=R([]),h=S(()=>r.value.expandTrigger==="hover"),m=S(()=>e.renderLabel||n.default),v=()=>{const{options:z}=e,j=r.value;o=!1,l=new vh(z,j),f.value=[l.getNodes()],j.lazy&&Qn(e.options)?(i.value=!1,_(void 0,K=>{K&&(l=new vh(K,j),f.value=[l.getNodes()]),i.value=!0,T(!1,!0)})):T(!1,!0)},_=(z,j)=>{const K=r.value;z=z||new Pf({},K,void 0,!0),z.loading=!0;const F=B=>{const I=z,H=I.root?null:I;B&&(l==null||l.appendNodes(B,H)),I.loading=!1,I.loaded=!0,I.childrenData=I.childrenData||[],j&&j(B)};K.lazyLoad(z,F)},g=(z,j)=>{var K;const{level:F}=z,B=f.value.slice(0,F);let I;z.isLeaf?I=z.pathNodes[F-2]:(I=z,B.push(z.children)),((K=c.value)==null?void 0:K.uid)!==(I==null?void 0:I.uid)&&(c.value=z,f.value=B,!j&&t("expand-change",(z==null?void 0:z.pathValues)||[]))},w=(z,j,K=!0)=>{const{checkStrictly:F,multiple:B}=r.value,I=p.value[0];o=!0,!B&&(I==null||I.doCheck(!1)),z.doCheck(j),O(),K&&!B&&!F&&t("close"),!K&&!B&&!F&&b(z)},b=z=>{z&&(z=z.parent,b(z),z&&g(z))},C=z=>l==null?void 0:l.getFlattedNodes(z),x=z=>{var j;return(j=C(z))==null?void 0:j.filter(K=>K.checked!==!1)},E=()=>{p.value.forEach(z=>z.doCheck(!1)),O(),f.value=f.value.slice(0,1),c.value=null,t("expand-change",[])},O=()=>{var z;const{checkStrictly:j,multiple:K}=r.value,F=p.value,B=x(!j),I=UK(F,B),H=I.map(N=>N.valueByOption);p.value=I,d.value=K?H:(z=H[0])!=null?z:null},T=(z=!1,j=!1)=>{const{modelValue:K}=e,{lazy:F,multiple:B,checkStrictly:I}=r.value,H=!I;if(!(!i.value||o||!j&&wn(K,d.value)))if(F&&!z){const D=p1(Gk(jn(K))).map(q=>l==null?void 0:l.getNodeByValue(q)).filter(q=>!!q&&!q.loaded&&!q.loading);D.length?D.forEach(q=>{_(q,()=>T(!1,j))}):T(!0,j)}else{const N=B?jn(K):[K],D=p1(N.map(q=>l==null?void 0:l.getNodeByValue(q,H)));V(D,j),d.value=Ru(K)}},V=(z,j=!0)=>{const{checkStrictly:K}=r.value,F=p.value,B=z.filter(N=>!!N&&(K||N.isLeaf)),I=l==null?void 0:l.getSameNode(c.value),H=j&&I||B[0];H?H.pathNodes.forEach(N=>g(N,!0)):c.value=null,F.forEach(N=>N.doCheck(!1)),wt(B).forEach(N=>N.doCheck(!0)),p.value=B,We(L)},L=()=>{gt&&u.value.forEach(z=>{const j=z==null?void 0:z.$el;if(j){const K=j.querySelector(`.${a.namespace.value}-scrollbar__wrap`),F=j.querySelector(`.${a.b("node")}.${a.is("active")}`)||j.querySelector(`.${a.b("node")}.in-active-path`);Ag(K,F)}})},P=z=>{const j=z.target,{code:K}=z;switch(K){case Ke.up:case Ke.down:{z.preventDefault();const F=K===Ke.up?-1:1;Gi(P4(j,F,`.${a.b("node")}[tabindex="-1"]`));break}case Ke.left:{z.preventDefault();const F=u.value[hh(j)-1],B=F==null?void 0:F.$el.querySelector(`.${a.b("node")}[aria-expanded="true"]`);Gi(B);break}case Ke.right:{z.preventDefault();const F=u.value[hh(j)+1],B=F==null?void 0:F.$el.querySelector(`.${a.b("node")}[tabindex="-1"]`);Gi(B);break}case Ke.enter:qK(j);break}};return pt(F2,wt({config:r,expandingNode:c,checkedNodes:p,isHoverMenu:h,initialLoaded:i,renderLabelFn:m,lazyLoad:_,expandNode:g,handleCheckChange:w})),pe([r,()=>e.options],v,{deep:!0,immediate:!0}),pe(()=>e.modelValue,()=>{o=!1,T()},{deep:!0}),pe(()=>d.value,z=>{wn(z,e.modelValue)||(t(it,z),t(Bt,z))}),n4(()=>u.value=[]),et(()=>!Qn(e.modelValue)&&T()),{ns:a,menuList:u,menus:f,checkedNodes:p,handleKeyDown:P,handleCheckChange:w,getFlattedNodes:C,getCheckedNodes:x,clearCheckedNodes:E,calculateCheckedValue:O,scrollToExpandingNode:L}}});function GK(e,t,n,o,a,r){const l=nt("el-cascader-menu");return y(),M("div",{class:$([e.ns.b("panel"),e.ns.is("bordered",e.border)]),onKeydown:t[0]||(t[0]=(...i)=>e.handleKeyDown&&e.handleKeyDown(...i))},[(y(!0),M(Fe,null,mt(e.menus,(i,u)=>(y(),oe(l,{key:u,ref_for:!0,ref:d=>e.menuList[u]=d,index:u,nodes:[...i]},null,8,["index","nodes"]))),128))],34)}var ou=xe(YK,[["render",GK],["__file","index.vue"]]);ou.install=e=>{e.component(ou.name,ou)};const D3=ou,XK=D3,Lc=Ee({type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:zo},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),JK={close:e=>e instanceof MouseEvent,click:e=>e instanceof MouseEvent},ZK=A({name:"ElTag"}),QK=A({...ZK,props:Lc,emits:JK,setup(e,{emit:t}){const n=e,o=an(),a=me("tag"),r=S(()=>{const{type:u,hit:d,effect:f,closable:c,round:p}=n;return[a.b(),a.is("closable",c),a.m(u||"primary"),a.m(o.value),a.m(f),a.is("hit",d),a.is("round",p)]}),l=u=>{t("close",u)},i=u=>{t("click",u)};return(u,d)=>u.disableTransitions?(y(),M("span",{key:0,class:$(s(r)),style:De({backgroundColor:u.color}),onClick:i},[k("span",{class:$(s(a).e("content"))},[re(u.$slots,"default")],2),u.closable?(y(),oe(s(Be),{key:0,class:$(s(a).e("close")),onClick:Ge(l,["stop"])},{default:G(()=>[W(s(uo))]),_:1},8,["class","onClick"])):Z("v-if",!0)],6)):(y(),oe(nn,{key:1,name:`${s(a).namespace.value}-zoom-in-center`,appear:""},{default:G(()=>[k("span",{class:$(s(r)),style:De({backgroundColor:u.color}),onClick:i},[k("span",{class:$(s(a).e("content"))},[re(u.$slots,"default")],2),u.closable?(y(),oe(s(Be),{key:0,class:$(s(a).e("close")),onClick:Ge(l,["stop"])},{default:G(()=>[W(s(uo))]),_:1},8,["class","onClick"])):Z("v-if",!0)],6)]),_:3},8,["name"]))}});var eW=xe(QK,[["__file","tag.vue"]]);const Ls=lt(eW),tW=Ee({...H3,size:cn,placeholder:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,filterMethod:{type:X(Function),default:(e,t)=>e.text.includes(t)},separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,maxCollapseTags:{type:Number,default:1},collapseTagsTooltip:{type:Boolean,default:!1},debounce:{type:Number,default:300},beforeFilter:{type:X(Function),default:()=>!0},popperClass:{type:String,default:""},teleported:pn.teleported,tagType:{...Lc.type,default:"info"},validateEvent:{type:Boolean,default:!0}}),nW={[it]:e=>!!e||e===null,[Bt]:e=>!!e||e===null,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,visibleChange:e=>Qt(e),expandChange:e=>!!e,removeTag:e=>!!e},oW={key:0},aW=["placeholder","onKeydown"],rW=["onClick"],lW="ElCascader",sW=A({name:lW}),iW=A({...sW,props:tW,emits:nW,setup(e,{expose:t,emit:n}){const o=e,a={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:ee})=>{const{modifiersData:ie,placement:ke}=ee;["right","left","bottom","top"].includes(ke)||(ie.arrow.x=35)},requires:["arrow"]}]},r=Pr();let l=0,i=0;const u=me("cascader"),d=me("input"),{t:f}=_t(),{form:c,formItem:p}=Nn(),h=R(null),m=R(null),v=R(null),_=R(null),g=R(null),w=R(!1),b=R(!1),C=R(!1),x=R(!1),E=R(""),O=R(""),T=R([]),V=R([]),L=R([]),P=R(!1),z=S(()=>r.style),j=S(()=>o.disabled||(c==null?void 0:c.disabled)),K=S(()=>o.placeholder||f("el.cascader.placeholder")),F=S(()=>O.value||T.value.length>0||P.value?"":K.value),B=an(),I=S(()=>["small"].includes(B.value)?"small":"default"),H=S(()=>!!o.props.multiple),N=S(()=>!o.filterable||H.value),D=S(()=>H.value?O.value:E.value),q=S(()=>{var ee;return((ee=_.value)==null?void 0:ee.checkedNodes)||[]}),Y=S(()=>!o.clearable||j.value||C.value||!b.value?!1:!!q.value.length),J=S(()=>{const{showAllLevels:ee,separator:ie}=o,ke=q.value;return ke.length?H.value?"":ke[0].calcText(ee,ie):""}),se=S(()=>(p==null?void 0:p.validateState)||""),_e=S({get(){return Ru(o.modelValue)},set(ee){n(it,ee),n(Bt,ee),o.validateEvent&&(p==null||p.validate("change").catch(ie=>void 0))}}),Q=S(()=>[u.b(),u.m(B.value),u.is("disabled",j.value),r.class]),le=S(()=>[d.e("icon"),"icon-arrow-down",u.is("reverse",w.value)]),ae=S(()=>u.is("focus",w.value||x.value)),Te=S(()=>{var ee,ie;return(ie=(ee=h.value)==null?void 0:ee.popperRef)==null?void 0:ie.contentRef}),ce=ee=>{var ie,ke,ne;j.value||(ee=ee??!w.value,ee!==w.value&&(w.value=ee,(ke=(ie=m.value)==null?void 0:ie.input)==null||ke.setAttribute("aria-expanded",`${ee}`),ee?(ge(),We((ne=_.value)==null?void 0:ne.scrollToExpandingNode)):o.filterable&&He(),n("visibleChange",ee)))},ge=()=>{We(()=>{var ee;(ee=h.value)==null||ee.updatePopper()})},Ae=()=>{C.value=!1},U=ee=>{const{showAllLevels:ie,separator:ke}=o;return{node:ee,key:ee.uid,text:ee.calcText(ie,ke),hitState:!1,closable:!j.value&&!ee.isDisabled,isCollapseTag:!1}},te=ee=>{var ie;const ke=ee.node;ke.doCheck(!1),(ie=_.value)==null||ie.calculateCheckedValue(),n("removeTag",ke.valueByOption)},ve=()=>{if(!H.value)return;const ee=q.value,ie=[],ke=[];if(ee.forEach(ne=>ke.push(U(ne))),V.value=ke,ee.length){ee.slice(0,o.maxCollapseTags).forEach(tt=>ie.push(U(tt)));const ne=ee.slice(o.maxCollapseTags),ze=ne.length;ze&&(o.collapseTags?ie.push({key:-1,text:`+ ${ze}`,closable:!1,isCollapseTag:!0}):ne.forEach(tt=>ie.push(U(tt))))}T.value=ie},be=()=>{var ee,ie;const{filterMethod:ke,showAllLevels:ne,separator:ze}=o,tt=(ie=(ee=_.value)==null?void 0:ee.getFlattedNodes(!o.props.checkStrictly))==null?void 0:ie.filter(St=>St.isDisabled?!1:(St.calcText(ne,ze),ke(St,D.value)));H.value&&(T.value.forEach(St=>{St.hitState=!1}),V.value.forEach(St=>{St.hitState=!1})),C.value=!0,L.value=tt,ge()},ue=()=>{var ee;let ie;C.value&&g.value?ie=g.value.$el.querySelector(`.${u.e("suggestion-item")}`):ie=(ee=_.value)==null?void 0:ee.$el.querySelector(`.${u.b("node")}[tabindex="-1"]`),ie&&(ie.focus(),!C.value&&ie.click())},ye=()=>{var ee,ie;const ke=(ee=m.value)==null?void 0:ee.input,ne=v.value,ze=(ie=g.value)==null?void 0:ie.$el;if(!(!gt||!ke)){if(ze){const tt=ze.querySelector(`.${u.e("suggestion-list")}`);tt.style.minWidth=`${ke.offsetWidth}px`}if(ne){const{offsetHeight:tt}=ne,St=T.value.length>0?`${Math.max(tt+6,l)}px`:`${l}px`;ke.style.height=St,ge()}}},we=ee=>{var ie;return(ie=_.value)==null?void 0:ie.getCheckedNodes(ee)},Ce=ee=>{ge(),n("expandChange",ee)},he=ee=>{var ie;const ke=(ie=ee.target)==null?void 0:ie.value;if(ee.type==="compositionend")P.value=!1,We(()=>fe(ke));else{const ne=ke[ke.length-1]||"";P.value=!p2(ne)}},Se=ee=>{if(!P.value)switch(ee.code){case Ke.enter:ce();break;case Ke.down:ce(!0),We(ue),ee.preventDefault();break;case Ke.esc:w.value===!0&&(ee.preventDefault(),ee.stopPropagation(),ce(!1));break;case Ke.tab:ce(!1);break}},Re=()=>{var ee;(ee=_.value)==null||ee.clearCheckedNodes(),!w.value&&o.filterable&&He(),ce(!1)},He=()=>{const{value:ee}=J;E.value=ee,O.value=ee},de=ee=>{var ie,ke;const{checked:ne}=ee;H.value?(ie=_.value)==null||ie.handleCheckChange(ee,!ne,!1):(!ne&&((ke=_.value)==null||ke.handleCheckChange(ee,!0,!1)),ce(!1))},Le=ee=>{const ie=ee.target,{code:ke}=ee;switch(ke){case Ke.up:case Ke.down:{const ne=ke===Ke.up?-1:1;Gi(P4(ie,ne,`.${u.e("suggestion-item")}[tabindex="-1"]`));break}case Ke.enter:ie.click();break}},Ue=()=>{const ee=T.value,ie=ee[ee.length-1];i=O.value?0:i+1,!(!ie||!i||o.collapseTags&&ee.length>1)&&(ie.hitState?te(ie):ie.hitState=!0)},ot=ee=>{const ie=ee.target,ke=u.e("search-input");ie.className===ke&&(x.value=!0),n("focus",ee)},dt=ee=>{x.value=!1,n("blur",ee)},je=Hn(()=>{const{value:ee}=D;if(!ee)return;const ie=o.beforeFilter(ee);ys(ie)?ie.then(be).catch(()=>{}):ie!==!1?be():Ae()},o.debounce),fe=(ee,ie)=>{!w.value&&ce(!0),!(ie!=null&&ie.isComposing)&&(ee?je():Ae())},$e=ee=>Number.parseFloat(h5(d.cssVarName("input-height"),ee).value)-2;return pe(C,ge),pe([q,j],ve),pe(T,()=>{We(()=>ye())}),pe(B,async()=>{await We();const ee=m.value.input;l=$e(ee)||l,ye()}),pe(J,He,{immediate:!0}),et(()=>{const ee=m.value.input,ie=$e(ee);l=ee.offsetHeight||ie,Kt(ee,ye)}),t({getCheckedNodes:we,cascaderPanelRef:_,togglePopperVisible:ce,contentRef:Te}),(ee,ie)=>(y(),oe(s(En),{ref_key:"tooltipRef",ref:h,visible:w.value,teleported:ee.teleported,"popper-class":[s(u).e("dropdown"),ee.popperClass],"popper-options":a,"fallback-placements":["bottom-start","bottom","top-start","top","right","left"],"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:"bottom-start",transition:`${s(u).namespace.value}-zoom-in-top`,effect:"light",pure:"",persistent:"",onHide:Ae},{default:G(()=>[Qe((y(),M("div",{class:$(s(Q)),style:De(s(z)),onClick:ie[5]||(ie[5]=()=>ce(s(N)?void 0:!0)),onKeydown:Se,onMouseenter:ie[6]||(ie[6]=ke=>b.value=!0),onMouseleave:ie[7]||(ie[7]=ke=>b.value=!1)},[W(s(mn),{ref_key:"input",ref:m,modelValue:E.value,"onUpdate:modelValue":ie[1]||(ie[1]=ke=>E.value=ke),placeholder:s(F),readonly:s(N),disabled:s(j),"validate-event":!1,size:s(B),class:$(s(ae)),tabindex:s(H)&&ee.filterable&&!s(j)?-1:void 0,onCompositionstart:he,onCompositionupdate:he,onCompositionend:he,onFocus:ot,onBlur:dt,onInput:fe},{suffix:G(()=>[s(Y)?(y(),oe(s(Be),{key:"clear",class:$([s(d).e("icon"),"icon-circle-close"]),onClick:Ge(Re,["stop"])},{default:G(()=>[W(s(fa))]),_:1},8,["class","onClick"])):(y(),oe(s(Be),{key:"arrow-down",class:$(s(le)),onClick:ie[0]||(ie[0]=Ge(ke=>ce(),["stop"]))},{default:G(()=>[W(s(Bo))]),_:1},8,["class"]))]),_:1},8,["modelValue","placeholder","readonly","disabled","size","class","tabindex"]),s(H)?(y(),M("div",{key:0,ref_key:"tagWrapper",ref:v,class:$([s(u).e("tags"),s(u).is("validate",!!s(se))])},[(y(!0),M(Fe,null,mt(T.value,ke=>(y(),oe(s(Ls),{key:ke.key,type:ee.tagType,size:s(I),hit:ke.hitState,closable:ke.closable,"disable-transitions":"",onClose:ne=>te(ke)},{default:G(()=>[ke.isCollapseTag===!1?(y(),M("span",oW,Me(ke.text),1)):(y(),oe(s(En),{key:1,disabled:w.value||!ee.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom",effect:"light"},{default:G(()=>[k("span",null,Me(ke.text),1)]),content:G(()=>[k("div",{class:$(s(u).e("collapse-tags"))},[(y(!0),M(Fe,null,mt(V.value.slice(ee.maxCollapseTags),(ne,ze)=>(y(),M("div",{key:ze,class:$(s(u).e("collapse-tag"))},[(y(),oe(s(Ls),{key:ne.key,class:"in-tooltip",type:ee.tagType,size:s(I),hit:ne.hitState,closable:ne.closable,"disable-transitions":"",onClose:tt=>te(ne)},{default:G(()=>[k("span",null,Me(ne.text),1)]),_:2},1032,["type","size","hit","closable","onClose"]))],2))),128))],2)]),_:2},1032,["disabled"]))]),_:2},1032,["type","size","hit","closable","onClose"]))),128)),ee.filterable&&!s(j)?Qe((y(),M("input",{key:0,"onUpdate:modelValue":ie[2]||(ie[2]=ke=>O.value=ke),type:"text",class:$(s(u).e("search-input")),placeholder:s(J)?"":s(K),onInput:ie[3]||(ie[3]=ke=>fe(O.value,ke)),onClick:ie[4]||(ie[4]=Ge(ke=>ce(!0),["stop"])),onKeydown:Mt(Ue,["delete"]),onCompositionstart:he,onCompositionupdate:he,onCompositionend:he,onFocus:ot,onBlur:dt},null,42,aW)),[[B0,O.value]]):Z("v-if",!0)],2)):Z("v-if",!0)],38)),[[s(sa),()=>ce(!1),s(Te)]])]),content:G(()=>[Qe(W(s(D3),{ref_key:"cascaderPanelRef",ref:_,modelValue:s(_e),"onUpdate:modelValue":ie[8]||(ie[8]=ke=>Pt(_e)?_e.value=ke:null),options:ee.options,props:o.props,border:!1,"render-label":ee.$slots.default,onExpandChange:Ce,onClose:ie[9]||(ie[9]=ke=>ee.$nextTick(()=>ce(!1)))},null,8,["modelValue","options","props","render-label"]),[[bt,!C.value]]),ee.filterable?Qe((y(),oe(s(ha),{key:0,ref_key:"suggestionPanel",ref:g,tag:"ul",class:$(s(u).e("suggestion-panel")),"view-class":s(u).e("suggestion-list"),onKeydown:Le},{default:G(()=>[L.value.length?(y(!0),M(Fe,{key:0},mt(L.value,ke=>(y(),M("li",{key:ke.uid,class:$([s(u).e("suggestion-item"),s(u).is("checked",ke.checked)]),tabindex:-1,onClick:ne=>de(ke)},[k("span",null,Me(ke.text),1),ke.checked?(y(),oe(s(Be),{key:0},{default:G(()=>[W(s(Bl))]),_:1})):Z("v-if",!0)],10,rW))),128)):re(ee.$slots,"empty",{key:1},()=>[k("li",{class:$(s(u).e("empty-text"))},Me(s(f)("el.cascader.noMatch")),3)])]),_:3},8,["class","view-class"])),[[bt,C.value]]):Z("v-if",!0)]),_:3},8,["visible","teleported","popper-class","transition"]))}});var au=xe(iW,[["__file","cascader.vue"]]);au.install=e=>{e.component(au.name,au)};const uW=au,cW=uW,dW=Ee({checked:{type:Boolean,default:!1},type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"}}),fW={"update:checked":e=>Qt(e),[Bt]:e=>Qt(e)},pW=A({name:"ElCheckTag"}),vW=A({...pW,props:dW,emits:fW,setup(e,{emit:t}){const n=e,o=me("check-tag"),a=S(()=>[o.b(),o.is("checked",n.checked),o.m(n.type||"primary")]),r=()=>{const l=!n.checked;t(Bt,l),t("update:checked",l)};return(l,i)=>(y(),M("span",{class:$(s(a)),onClick:r},[re(l.$slots,"default")],2))}});var hW=xe(vW,[["__file","check-tag.vue"]]);const mW=lt(hW),F3=Symbol("rowContextKey"),gW=["start","center","end","space-around","space-between","space-evenly"],yW=["top","middle","bottom"],_W=Ee({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:gW,default:"start"},align:{type:String,values:yW}}),bW=A({name:"ElRow"}),wW=A({...bW,props:_W,setup(e){const t=e,n=me("row"),o=S(()=>t.gutter);pt(F3,{gutter:o});const a=S(()=>{const l={};return t.gutter&&(l.marginRight=l.marginLeft=`-${t.gutter/2}px`),l}),r=S(()=>[n.b(),n.is(`justify-${t.justify}`,t.justify!=="start"),n.is(`align-${t.align}`,!!t.align)]);return(l,i)=>(y(),oe(ut(l.tag),{class:$(s(r)),style:De(s(a))},{default:G(()=>[re(l.$slots,"default")]),_:3},8,["class","style"]))}});var CW=xe(wW,[["__file","row.vue"]]);const SW=lt(CW),kW=Ee({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:X([Number,Object]),default:()=>Ht({})},sm:{type:X([Number,Object]),default:()=>Ht({})},md:{type:X([Number,Object]),default:()=>Ht({})},lg:{type:X([Number,Object]),default:()=>Ht({})},xl:{type:X([Number,Object]),default:()=>Ht({})}}),EW=A({name:"ElCol"}),xW=A({...EW,props:kW,setup(e){const t=e,{gutter:n}=Pe(F3,{gutter:S(()=>0)}),o=me("col"),a=S(()=>{const l={};return n.value&&(l.paddingLeft=l.paddingRight=`${n.value/2}px`),l}),r=S(()=>{const l=[];return["span","offset","pull","push"].forEach(d=>{const f=t[d];Ye(f)&&(d==="span"?l.push(o.b(`${t[d]}`)):f>0&&l.push(o.b(`${d}-${t[d]}`)))}),["xs","sm","md","lg","xl"].forEach(d=>{Ye(t[d])?l.push(o.b(`${d}-${t[d]}`)):ct(t[d])&&Object.entries(t[d]).forEach(([f,c])=>{l.push(f!=="span"?o.b(`${d}-${f}-${c}`):o.b(`${d}-${c}`))})}),n.value&&l.push(o.is("guttered")),[o.b(),l]});return(l,i)=>(y(),oe(ut(l.tag),{class:$(s(r)),style:De(s(a))},{default:G(()=>[re(l.$slots,"default")]),_:3},8,["class","style"]))}});var MW=xe(xW,[["__file","col.vue"]]);const $W=lt(MW),mh=e=>Ye(e)||Ze(e)||Ie(e),TW=Ee({accordion:Boolean,modelValue:{type:X([Array,String,Number]),default:()=>Ht([])}}),AW={[it]:mh,[Bt]:mh},K3=Symbol("collapseContextKey"),OW=(e,t)=>{const n=R(kr(e.modelValue)),o=r=>{n.value=r;const l=e.accordion?n.value[0]:n.value;t(it,l),t(Bt,l)},a=r=>{if(e.accordion)o([n.value[0]===r?"":r]);else{const l=[...n.value],i=l.indexOf(r);i>-1?l.splice(i,1):l.push(r),o(l)}};return pe(()=>e.modelValue,()=>n.value=kr(e.modelValue),{deep:!0}),pt(K3,{activeNames:n,handleItemClick:a}),{activeNames:n,setActiveNames:o}},NW=()=>{const e=me("collapse");return{rootKls:S(()=>e.b())}},IW=A({name:"ElCollapse"}),RW=A({...IW,props:TW,emits:AW,setup(e,{expose:t,emit:n}){const o=e,{activeNames:a,setActiveNames:r}=OW(o,n),{rootKls:l}=NW();return t({activeNames:a,setActiveNames:r}),(i,u)=>(y(),M("div",{class:$(s(l))},[re(i.$slots,"default")],2))}});var PW=xe(RW,[["__file","collapse.vue"]]);const LW=A({name:"ElCollapseTransition"}),VW=A({...LW,setup(e){const t=me("collapse-transition"),n=a=>{a.style.maxHeight="",a.style.overflow=a.dataset.oldOverflow,a.style.paddingTop=a.dataset.oldPaddingTop,a.style.paddingBottom=a.dataset.oldPaddingBottom},o={beforeEnter(a){a.dataset||(a.dataset={}),a.dataset.oldPaddingTop=a.style.paddingTop,a.dataset.oldPaddingBottom=a.style.paddingBottom,a.style.height&&(a.dataset.elExistsHeight=a.style.height),a.style.maxHeight=0,a.style.paddingTop=0,a.style.paddingBottom=0},enter(a){requestAnimationFrame(()=>{a.dataset.oldOverflow=a.style.overflow,a.dataset.elExistsHeight?a.style.maxHeight=a.dataset.elExistsHeight:a.scrollHeight!==0?a.style.maxHeight=`${a.scrollHeight}px`:a.style.maxHeight=0,a.style.paddingTop=a.dataset.oldPaddingTop,a.style.paddingBottom=a.dataset.oldPaddingBottom,a.style.overflow="hidden"})},afterEnter(a){a.style.maxHeight="",a.style.overflow=a.dataset.oldOverflow},enterCancelled(a){n(a)},beforeLeave(a){a.dataset||(a.dataset={}),a.dataset.oldPaddingTop=a.style.paddingTop,a.dataset.oldPaddingBottom=a.style.paddingBottom,a.dataset.oldOverflow=a.style.overflow,a.style.maxHeight=`${a.scrollHeight}px`,a.style.overflow="hidden"},leave(a){a.scrollHeight!==0&&(a.style.maxHeight=0,a.style.paddingTop=0,a.style.paddingBottom=0)},afterLeave(a){n(a)},leaveCancelled(a){n(a)}};return(a,r)=>(y(),oe(nn,ft({name:s(t).b()},$b(o)),{default:G(()=>[re(a.$slots,"default")]),_:3},16,["name"]))}});var ru=xe(VW,[["__file","collapse-transition.vue"]]);ru.install=e=>{e.component(ru.name,ru)};const Vc=ru,BW=Vc,zW=Ee({title:{type:String,default:""},name:{type:X([String,Number]),default:void 0},disabled:Boolean}),HW=e=>{const t=Pe(K3),{namespace:n}=me("collapse"),o=R(!1),a=R(!1),r=x2(),l=S(()=>r.current++),i=S(()=>{var p;return(p=e.name)!=null?p:`${n.value}-id-${r.prefix}-${s(l)}`}),u=S(()=>t==null?void 0:t.activeNames.value.includes(s(i)));return{focusing:o,id:l,isActive:u,handleFocus:()=>{setTimeout(()=>{a.value?a.value=!1:o.value=!0},50)},handleHeaderClick:()=>{e.disabled||(t==null||t.handleItemClick(s(i)),o.value=!1,a.value=!0)},handleEnterClick:()=>{t==null||t.handleItemClick(s(i))}}},DW=(e,{focusing:t,isActive:n,id:o})=>{const a=me("collapse"),r=S(()=>[a.b("item"),a.is("active",s(n)),a.is("disabled",e.disabled)]),l=S(()=>[a.be("item","header"),a.is("active",s(n)),{focusing:s(t)&&!e.disabled}]),i=S(()=>[a.be("item","arrow"),a.is("active",s(n))]),u=S(()=>a.be("item","wrap")),d=S(()=>a.be("item","content")),f=S(()=>a.b(`content-${s(o)}`)),c=S(()=>a.b(`head-${s(o)}`));return{arrowKls:i,headKls:l,rootKls:r,itemWrapperKls:u,itemContentKls:d,scopedContentId:f,scopedHeadId:c}},FW=["id","aria-expanded","aria-controls","aria-describedby","tabindex"],KW=["id","aria-hidden","aria-labelledby"],WW=A({name:"ElCollapseItem"}),jW=A({...WW,props:zW,setup(e,{expose:t}){const n=e,{focusing:o,id:a,isActive:r,handleFocus:l,handleHeaderClick:i,handleEnterClick:u}=HW(n),{arrowKls:d,headKls:f,rootKls:c,itemWrapperKls:p,itemContentKls:h,scopedContentId:m,scopedHeadId:v}=DW(n,{focusing:o,isActive:r,id:a});return t({isActive:r}),(_,g)=>(y(),M("div",{class:$(s(c))},[k("button",{id:s(v),class:$(s(f)),"aria-expanded":s(r),"aria-controls":s(m),"aria-describedby":s(m),tabindex:_.disabled?-1:0,type:"button",onClick:g[0]||(g[0]=(...w)=>s(i)&&s(i)(...w)),onKeydown:g[1]||(g[1]=Mt(Ge((...w)=>s(u)&&s(u)(...w),["stop","prevent"]),["space","enter"])),onFocus:g[2]||(g[2]=(...w)=>s(l)&&s(l)(...w)),onBlur:g[3]||(g[3]=w=>o.value=!1)},[re(_.$slots,"title",{},()=>[vt(Me(_.title),1)]),W(s(Be),{class:$(s(d))},{default:G(()=>[W(s(Sn))]),_:1},8,["class"])],42,FW),W(s(Vc),null,{default:G(()=>[Qe(k("div",{id:s(m),role:"region",class:$(s(p)),"aria-hidden":!s(r),"aria-labelledby":s(v)},[k("div",{class:$(s(h))},[re(_.$slots,"default")],2)],10,KW),[[bt,s(r)]])]),_:3})],2))}});var W3=xe(jW,[["__file","collapse-item.vue"]]);const qW=lt(PW,{CollapseItem:W3}),UW=Dt(W3),YW=Ee({color:{type:X(Object),required:!0},vertical:{type:Boolean,default:!1}});let xd=!1;function Vs(e,t){if(!gt)return;const n=function(r){var l;(l=t.drag)==null||l.call(t,r)},o=function(r){var l;document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",o),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",o),document.onselectstart=null,document.ondragstart=null,xd=!1,(l=t.end)==null||l.call(t,r)},a=function(r){var l;xd||(r.preventDefault(),document.onselectstart=()=>!1,document.ondragstart=()=>!1,document.addEventListener("mousemove",n),document.addEventListener("mouseup",o),document.addEventListener("touchmove",n),document.addEventListener("touchend",o),xd=!0,(l=t.start)==null||l.call(t,r))};e.addEventListener("mousedown",a),e.addEventListener("touchstart",a)}const GW=e=>{const t=rt(),n=Rt(),o=Rt();function a(l){l.target!==n.value&&r(l)}function r(l){if(!o.value||!n.value)return;const u=t.vnode.el.getBoundingClientRect(),{clientX:d,clientY:f}=D0(l);if(e.vertical){let c=f-u.top;c=Math.max(n.value.offsetHeight/2,c),c=Math.min(c,u.height-n.value.offsetHeight/2),e.color.set("alpha",Math.round((c-n.value.offsetHeight/2)/(u.height-n.value.offsetHeight)*100))}else{let c=d-u.left;c=Math.max(n.value.offsetWidth/2,c),c=Math.min(c,u.width-n.value.offsetWidth/2),e.color.set("alpha",Math.round((c-n.value.offsetWidth/2)/(u.width-n.value.offsetWidth)*100))}}return{thumb:n,bar:o,handleDrag:r,handleClick:a}},XW=(e,{bar:t,thumb:n,handleDrag:o})=>{const a=rt(),r=me("color-alpha-slider"),l=R(0),i=R(0),u=R();function d(){if(!n.value||e.vertical)return 0;const w=a.vnode.el,b=e.color.get("alpha");return w?Math.round(b*(w.offsetWidth-n.value.offsetWidth/2)/100):0}function f(){if(!n.value)return 0;const w=a.vnode.el;if(!e.vertical)return 0;const b=e.color.get("alpha");return w?Math.round(b*(w.offsetHeight-n.value.offsetHeight/2)/100):0}function c(){if(e.color&&e.color.value){const{r:w,g:b,b:C}=e.color.toRgb();return`linear-gradient(to right, rgba(${w}, ${b}, ${C}, 0) 0%, rgba(${w}, ${b}, ${C}, 1) 100%)`}return""}function p(){l.value=d(),i.value=f(),u.value=c()}et(()=>{if(!t.value||!n.value)return;const w={drag:b=>{o(b)},end:b=>{o(b)}};Vs(t.value,w),Vs(n.value,w),p()}),pe(()=>e.color.get("alpha"),()=>p()),pe(()=>e.color.value,()=>p());const h=S(()=>[r.b(),r.is("vertical",e.vertical)]),m=S(()=>r.e("bar")),v=S(()=>r.e("thumb")),_=S(()=>({background:u.value})),g=S(()=>({left:Xt(l.value),top:Xt(i.value)}));return{rootKls:h,barKls:m,barStyle:_,thumbKls:v,thumbStyle:g,update:p}},JW="ElColorAlphaSlider",ZW=A({name:JW}),QW=A({...ZW,props:YW,setup(e,{expose:t}){const n=e,{bar:o,thumb:a,handleDrag:r,handleClick:l}=GW(n),{rootKls:i,barKls:u,barStyle:d,thumbKls:f,thumbStyle:c,update:p}=XW(n,{bar:o,thumb:a,handleDrag:r});return t({update:p,bar:o,thumb:a}),(h,m)=>(y(),M("div",{class:$(s(i))},[k("div",{ref_key:"bar",ref:o,class:$(s(u)),style:De(s(d)),onClick:m[0]||(m[0]=(...v)=>s(l)&&s(l)(...v))},null,6),k("div",{ref_key:"thumb",ref:a,class:$(s(f)),style:De(s(c))},null,6)],2))}});var ej=xe(QW,[["__file","alpha-slider.vue"]]);const tj=A({name:"ElColorHueSlider",props:{color:{type:Object,required:!0},vertical:Boolean},setup(e){const t=me("color-hue-slider"),n=rt(),o=R(),a=R(),r=R(0),l=R(0),i=S(()=>e.color.get("hue"));pe(()=>i.value,()=>{p()});function u(h){h.target!==o.value&&d(h)}function d(h){if(!a.value||!o.value)return;const v=n.vnode.el.getBoundingClientRect(),{clientX:_,clientY:g}=D0(h);let w;if(e.vertical){let b=g-v.top;b=Math.min(b,v.height-o.value.offsetHeight/2),b=Math.max(o.value.offsetHeight/2,b),w=Math.round((b-o.value.offsetHeight/2)/(v.height-o.value.offsetHeight)*360)}else{let b=_-v.left;b=Math.min(b,v.width-o.value.offsetWidth/2),b=Math.max(o.value.offsetWidth/2,b),w=Math.round((b-o.value.offsetWidth/2)/(v.width-o.value.offsetWidth)*360)}e.color.set("hue",w)}function f(){if(!o.value)return 0;const h=n.vnode.el;if(e.vertical)return 0;const m=e.color.get("hue");return h?Math.round(m*(h.offsetWidth-o.value.offsetWidth/2)/360):0}function c(){if(!o.value)return 0;const h=n.vnode.el;if(!e.vertical)return 0;const m=e.color.get("hue");return h?Math.round(m*(h.offsetHeight-o.value.offsetHeight/2)/360):0}function p(){r.value=f(),l.value=c()}return et(()=>{if(!a.value||!o.value)return;const h={drag:m=>{d(m)},end:m=>{d(m)}};Vs(a.value,h),Vs(o.value,h),p()}),{bar:a,thumb:o,thumbLeft:r,thumbTop:l,hueValue:i,handleClick:u,update:p,ns:t}}});function nj(e,t,n,o,a,r){return y(),M("div",{class:$([e.ns.b(),e.ns.is("vertical",e.vertical)])},[k("div",{ref:"bar",class:$(e.ns.e("bar")),onClick:t[0]||(t[0]=(...l)=>e.handleClick&&e.handleClick(...l))},null,2),k("div",{ref:"thumb",class:$(e.ns.e("thumb")),style:De({left:e.thumbLeft+"px",top:e.thumbTop+"px"})},null,6)],2)}var oj=xe(tj,[["render",nj],["__file","hue-slider.vue"]]);const aj=Ee({modelValue:String,id:String,showAlpha:Boolean,colorFormat:String,disabled:Boolean,size:cn,popperClass:{type:String,default:""},label:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},predefine:{type:X(Array)},validateEvent:{type:Boolean,default:!0}}),rj={[it]:e=>Ze(e)||tn(e),[Bt]:e=>Ze(e)||tn(e),activeChange:e=>Ze(e)||tn(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},j3=Symbol("colorPickerContextKey"),gh=function(e,t,n){return[e,t*n/((e=(2-t)*n)<1?e:2-e)||0,e/2]},lj=function(e){return typeof e=="string"&&e.includes(".")&&Number.parseFloat(e)===1},sj=function(e){return typeof e=="string"&&e.includes("%")},il=function(e,t){lj(e)&&(e="100%");const n=sj(e);return e=Math.min(t,Math.max(0,Number.parseFloat(`${e}`))),n&&(e=Number.parseInt(`${e*t}`,10)/100),Math.abs(e-t)<1e-6?1:e%t/Number.parseFloat(t)},yh={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F"},lu=e=>{e=Math.min(Math.round(e),255);const t=Math.floor(e/16),n=e%16;return`${yh[t]||t}${yh[n]||n}`},_h=function({r:e,g:t,b:n}){return Number.isNaN(+e)||Number.isNaN(+t)||Number.isNaN(+n)?"":`#${lu(e)}${lu(t)}${lu(n)}`},Md={A:10,B:11,C:12,D:13,E:14,F:15},er=function(e){return e.length===2?(Md[e[0].toUpperCase()]||+e[0])*16+(Md[e[1].toUpperCase()]||+e[1]):Md[e[1].toUpperCase()]||+e[1]},ij=function(e,t,n){t=t/100,n=n/100;let o=t;const a=Math.max(n,.01);n*=2,t*=n<=1?n:2-n,o*=a<=1?a:2-a;const r=(n+t)/2,l=n===0?2*o/(a+o):2*t/(n+t);return{h:e,s:l*100,v:r*100}},bh=(e,t,n)=>{e=il(e,255),t=il(t,255),n=il(n,255);const o=Math.max(e,t,n),a=Math.min(e,t,n);let r;const l=o,i=o-a,u=o===0?0:i/o;if(o===a)r=0;else{switch(o){case e:{r=(t-n)/i+(t{this._hue=Math.max(0,Math.min(360,o)),this._saturation=Math.max(0,Math.min(100,a)),this._value=Math.max(0,Math.min(100,r)),this.doOnChange()};if(t.includes("hsl")){const o=t.replace(/hsla|hsl|\(|\)/gm,"").split(/\s|,/g).filter(a=>a!=="").map((a,r)=>r>2?Number.parseFloat(a):Number.parseInt(a,10));if(o.length===4?this._alpha=Number.parseFloat(o[3])*100:o.length===3&&(this._alpha=100),o.length>=3){const{h:a,s:r,v:l}=ij(o[0],o[1],o[2]);n(a,r,l)}}else if(t.includes("hsv")){const o=t.replace(/hsva|hsv|\(|\)/gm,"").split(/\s|,/g).filter(a=>a!=="").map((a,r)=>r>2?Number.parseFloat(a):Number.parseInt(a,10));o.length===4?this._alpha=Number.parseFloat(o[3])*100:o.length===3&&(this._alpha=100),o.length>=3&&n(o[0],o[1],o[2])}else if(t.includes("rgb")){const o=t.replace(/rgba|rgb|\(|\)/gm,"").split(/\s|,/g).filter(a=>a!=="").map((a,r)=>r>2?Number.parseFloat(a):Number.parseInt(a,10));if(o.length===4?this._alpha=Number.parseFloat(o[3])*100:o.length===3&&(this._alpha=100),o.length>=3){const{h:a,s:r,v:l}=bh(o[0],o[1],o[2]);n(a,r,l)}}else if(t.includes("#")){const o=t.replace("#","").trim();if(!/^[0-9a-fA-F]{3}$|^[0-9a-fA-F]{6}$|^[0-9a-fA-F]{8}$/.test(o))return;let a,r,l;o.length===3?(a=er(o[0]+o[0]),r=er(o[1]+o[1]),l=er(o[2]+o[2])):(o.length===6||o.length===8)&&(a=er(o.slice(0,2)),r=er(o.slice(2,4)),l=er(o.slice(4,6))),o.length===8?this._alpha=er(o.slice(6))/255*100:(o.length===3||o.length===6)&&(this._alpha=100);const{h:i,s:u,v:d}=bh(a,r,l);n(i,u,d)}}compare(t){return Math.abs(t._hue-this._hue)<2&&Math.abs(t._saturation-this._saturation)<1&&Math.abs(t._value-this._value)<1&&Math.abs(t._alpha-this._alpha)<1}doOnChange(){const{_hue:t,_saturation:n,_value:o,_alpha:a,format:r}=this;if(this.enableAlpha)switch(r){case"hsl":{const l=gh(t,n/100,o/100);this.value=`hsla(${t}, ${Math.round(l[1]*100)}%, ${Math.round(l[2]*100)}%, ${this.get("alpha")/100})`;break}case"hsv":{this.value=`hsva(${t}, ${Math.round(n)}%, ${Math.round(o)}%, ${this.get("alpha")/100})`;break}case"hex":{this.value=`${_h(Ul(t,n,o))}${lu(a*255/100)}`;break}default:{const{r:l,g:i,b:u}=Ul(t,n,o);this.value=`rgba(${l}, ${i}, ${u}, ${this.get("alpha")/100})`}}else switch(r){case"hsl":{const l=gh(t,n/100,o/100);this.value=`hsl(${t}, ${Math.round(l[1]*100)}%, ${Math.round(l[2]*100)}%)`;break}case"hsv":{this.value=`hsv(${t}, ${Math.round(n)}%, ${Math.round(o)}%)`;break}case"rgb":{const{r:l,g:i,b:u}=Ul(t,n,o);this.value=`rgb(${l}, ${i}, ${u})`;break}default:this.value=_h(Ul(t,n,o))}}}const uj=A({props:{colors:{type:Array,required:!0},color:{type:Object,required:!0}},setup(e){const t=me("color-predefine"),{currentColor:n}=Pe(j3),o=R(r(e.colors,e.color));pe(()=>n.value,l=>{const i=new hs;i.fromString(l),o.value.forEach(u=>{u.selected=i.compare(u)})}),gn(()=>{o.value=r(e.colors,e.color)});function a(l){e.color.fromString(e.colors[l])}function r(l,i){return l.map(u=>{const d=new hs;return d.enableAlpha=!0,d.format="rgba",d.fromString(u),d.selected=d.value===i.value,d})}return{rgbaColors:o,handleSelect:a,ns:t}}}),cj=["onClick"];function dj(e,t,n,o,a,r){return y(),M("div",{class:$(e.ns.b())},[k("div",{class:$(e.ns.e("colors"))},[(y(!0),M(Fe,null,mt(e.rgbaColors,(l,i)=>(y(),M("div",{key:e.colors[i],class:$([e.ns.e("color-selector"),e.ns.is("alpha",l._alpha<100),{selected:l.selected}]),onClick:u=>e.handleSelect(i)},[k("div",{style:De({backgroundColor:l.value})},null,4)],10,cj))),128))],2)],2)}var fj=xe(uj,[["render",dj],["__file","predefine.vue"]]);const pj=A({name:"ElSlPanel",props:{color:{type:Object,required:!0}},setup(e){const t=me("color-svpanel"),n=rt(),o=R(0),a=R(0),r=R("hsl(0, 100%, 50%)"),l=S(()=>{const d=e.color.get("hue"),f=e.color.get("value");return{hue:d,value:f}});function i(){const d=e.color.get("saturation"),f=e.color.get("value"),c=n.vnode.el,{clientWidth:p,clientHeight:h}=c;a.value=d*p/100,o.value=(100-f)*h/100,r.value=`hsl(${e.color.get("hue")}, 100%, 50%)`}function u(d){const c=n.vnode.el.getBoundingClientRect(),{clientX:p,clientY:h}=D0(d);let m=p-c.left,v=h-c.top;m=Math.max(0,m),m=Math.min(m,c.width),v=Math.max(0,v),v=Math.min(v,c.height),a.value=m,o.value=v,e.color.set({saturation:m/c.width*100,value:100-v/c.height*100})}return pe(()=>l.value,()=>{i()}),et(()=>{Vs(n.vnode.el,{drag:d=>{u(d)},end:d=>{u(d)}}),i()}),{cursorTop:o,cursorLeft:a,background:r,colorValue:l,handleDrag:u,update:i,ns:t}}}),vj=k("div",null,null,-1),hj=[vj];function mj(e,t,n,o,a,r){return y(),M("div",{class:$(e.ns.b()),style:De({backgroundColor:e.background})},[k("div",{class:$(e.ns.e("white"))},null,2),k("div",{class:$(e.ns.e("black"))},null,2),k("div",{class:$(e.ns.e("cursor")),style:De({top:e.cursorTop+"px",left:e.cursorLeft+"px"})},hj,6)],6)}var gj=xe(pj,[["render",mj],["__file","sv-panel.vue"]]);const yj=["onKeydown"],_j=["id","aria-label","aria-labelledby","aria-description","aria-disabled","tabindex"],bj=A({name:"ElColorPicker"}),wj=A({...bj,props:aj,emits:rj,setup(e,{expose:t,emit:n}){const o=e,{t:a}=_t(),r=me("color"),{formItem:l}=Nn(),i=an(),u=Dn(),{inputId:d,isLabeledByFormItem:f}=Ho(o,{formItemContext:l}),c=R(),p=R(),h=R(),m=R(),v=R(),_=R(),{isFocused:g,handleFocus:w,handleBlur:b}=Oc(v,{beforeBlur(ce){var ge;return(ge=m.value)==null?void 0:ge.isFocusInsideContent(ce)},afterBlur(){B(!1),D()}}),C=ce=>{if(u.value)return Te();w(ce)};let x=!0;const E=wt(new hs({enableAlpha:o.showAlpha,format:o.colorFormat||"",value:o.modelValue})),O=R(!1),T=R(!1),V=R(""),L=S(()=>!o.modelValue&&!T.value?"transparent":F(E,o.showAlpha)),P=S(()=>!o.modelValue&&!T.value?"":E.value),z=S(()=>f.value?void 0:o.label||a("el.colorpicker.defaultLabel")),j=S(()=>f.value?l==null?void 0:l.labelId:void 0),K=S(()=>[r.b("picker"),r.is("disabled",u.value),r.bm("picker",i.value),r.is("focused",g.value)]);function F(ce,ge){if(!(ce instanceof hs))throw new TypeError("color should be instance of _color Class");const{r:Ae,g:U,b:te}=ce.toRgb();return ge?`rgba(${Ae}, ${U}, ${te}, ${ce.get("alpha")/100})`:`rgb(${Ae}, ${U}, ${te})`}function B(ce){O.value=ce}const I=Hn(B,100,{leading:!0});function H(){u.value||B(!0)}function N(){I(!1),D()}function D(){We(()=>{o.modelValue?E.fromString(o.modelValue):(E.value="",We(()=>{T.value=!1}))})}function q(){u.value||I(!O.value)}function Y(){E.fromString(V.value)}function J(){const ce=E.value;n(it,ce),n("change",ce),o.validateEvent&&(l==null||l.validate("change").catch(ge=>void 0)),I(!1),We(()=>{const ge=new hs({enableAlpha:o.showAlpha,format:o.colorFormat||"",value:o.modelValue});E.compare(ge)||D()})}function se(){I(!1),n(it,null),n("change",null),o.modelValue!==null&&o.validateEvent&&(l==null||l.validate("change").catch(ce=>void 0)),D()}function _e(ce){if(O.value&&(N(),g.value)){const ge=new FocusEvent("focus",ce);b(ge)}}function Q(ce){ce.preventDefault(),ce.stopPropagation(),B(!1),D()}function le(ce){switch(ce.code){case Ke.enter:case Ke.space:ce.preventDefault(),ce.stopPropagation(),H(),_.value.focus();break;case Ke.esc:Q(ce);break}}function ae(){v.value.focus()}function Te(){v.value.blur()}return et(()=>{o.modelValue&&(V.value=P.value)}),pe(()=>o.modelValue,ce=>{ce?ce&&ce!==E.value&&(x=!1,E.fromString(ce)):T.value=!1}),pe(()=>P.value,ce=>{V.value=ce,x&&n("activeChange",ce),x=!0}),pe(()=>E.value,()=>{!o.modelValue&&!T.value&&(T.value=!0)}),pe(()=>O.value,()=>{We(()=>{var ce,ge,Ae;(ce=c.value)==null||ce.update(),(ge=p.value)==null||ge.update(),(Ae=h.value)==null||Ae.update()})}),pt(j3,{currentColor:P}),t({color:E,show:H,hide:N,focus:ae,blur:Te}),(ce,ge)=>(y(),oe(s(En),{ref_key:"popper",ref:m,visible:O.value,"show-arrow":!1,"fallback-placements":["bottom","top","right","left"],offset:0,"gpu-acceleration":!1,"popper-class":[s(r).be("picker","panel"),s(r).b("dropdown"),ce.popperClass],"stop-popper-mouse-event":!1,effect:"light",trigger:"click",transition:`${s(r).namespace.value}-zoom-in-top`,persistent:"",onHide:ge[2]||(ge[2]=Ae=>B(!1))},{content:G(()=>[Qe((y(),M("div",{onKeydown:Mt(Q,["esc"])},[k("div",{class:$(s(r).be("dropdown","main-wrapper"))},[W(oj,{ref_key:"hue",ref:c,class:"hue-slider",color:s(E),vertical:""},null,8,["color"]),W(gj,{ref_key:"sv",ref:p,color:s(E)},null,8,["color"])],2),ce.showAlpha?(y(),oe(ej,{key:0,ref_key:"alpha",ref:h,color:s(E)},null,8,["color"])):Z("v-if",!0),ce.predefine?(y(),oe(fj,{key:1,ref:"predefine",color:s(E),colors:ce.predefine},null,8,["color","colors"])):Z("v-if",!0),k("div",{class:$(s(r).be("dropdown","btns"))},[k("span",{class:$(s(r).be("dropdown","value"))},[W(s(mn),{ref_key:"inputRef",ref:_,modelValue:V.value,"onUpdate:modelValue":ge[0]||(ge[0]=Ae=>V.value=Ae),"validate-event":!1,size:"small",onKeyup:Mt(Y,["enter"]),onBlur:Y},null,8,["modelValue","onKeyup"])],2),W(s(rn),{class:$(s(r).be("dropdown","link-btn")),text:"",size:"small",onClick:se},{default:G(()=>[vt(Me(s(a)("el.colorpicker.clear")),1)]),_:1},8,["class"]),W(s(rn),{plain:"",size:"small",class:$(s(r).be("dropdown","btn")),onClick:J},{default:G(()=>[vt(Me(s(a)("el.colorpicker.confirm")),1)]),_:1},8,["class"])],2)],40,yj)),[[s(sa),_e]])]),default:G(()=>[k("div",{id:s(d),ref_key:"triggerRef",ref:v,class:$(s(K)),role:"button","aria-label":s(z),"aria-labelledby":s(j),"aria-description":s(a)("el.colorpicker.description",{color:ce.modelValue||""}),"aria-disabled":s(u),tabindex:s(u)?-1:ce.tabindex,onKeydown:le,onFocus:C,onBlur:ge[1]||(ge[1]=(...Ae)=>s(b)&&s(b)(...Ae))},[s(u)?(y(),M("div",{key:0,class:$(s(r).be("picker","mask"))},null,2)):Z("v-if",!0),k("div",{class:$(s(r).be("picker","trigger")),onClick:q},[k("span",{class:$([s(r).be("picker","color"),s(r).is("alpha",ce.showAlpha)])},[k("span",{class:$(s(r).be("picker","color-inner")),style:De({backgroundColor:s(L)})},[Qe(W(s(Be),{class:$([s(r).be("picker","icon"),s(r).is("icon-arrow-down")])},{default:G(()=>[W(s(Bo))]),_:1},8,["class"]),[[bt,ce.modelValue||T.value]]),Qe(W(s(Be),{class:$([s(r).be("picker","empty"),s(r).is("icon-close")])},{default:G(()=>[W(s(uo))]),_:1},8,["class"]),[[bt,!ce.modelValue&&!T.value]])],6)],2)],2)],42,_j)]),_:1},8,["visible","popper-class","transition"]))}});var Cj=xe(wj,[["__file","color-picker.vue"]]);const Sj=lt(Cj),kj=A({name:"ElContainer"}),Ej=A({...kj,props:{direction:{type:String}},setup(e){const t=e,n=fn(),o=me("container"),a=S(()=>t.direction==="vertical"?!0:t.direction==="horizontal"?!1:n&&n.default?n.default().some(l=>{const i=l.type.name;return i==="ElHeader"||i==="ElFooter"}):!1);return(r,l)=>(y(),M("section",{class:$([s(o).b(),s(o).is("vertical",s(a))])},[re(r.$slots,"default")],2))}});var xj=xe(Ej,[["__file","container.vue"]]);const Mj=A({name:"ElAside"}),$j=A({...Mj,props:{width:{type:String,default:null}},setup(e){const t=e,n=me("aside"),o=S(()=>t.width?n.cssVarBlock({width:t.width}):{});return(a,r)=>(y(),M("aside",{class:$(s(n).b()),style:De(s(o))},[re(a.$slots,"default")],6))}});var q3=xe($j,[["__file","aside.vue"]]);const Tj=A({name:"ElFooter"}),Aj=A({...Tj,props:{height:{type:String,default:null}},setup(e){const t=e,n=me("footer"),o=S(()=>t.height?n.cssVarBlock({height:t.height}):{});return(a,r)=>(y(),M("footer",{class:$(s(n).b()),style:De(s(o))},[re(a.$slots,"default")],6))}});var U3=xe(Aj,[["__file","footer.vue"]]);const Oj=A({name:"ElHeader"}),Nj=A({...Oj,props:{height:{type:String,default:null}},setup(e){const t=e,n=me("header"),o=S(()=>t.height?n.cssVarBlock({height:t.height}):{});return(a,r)=>(y(),M("header",{class:$(s(n).b()),style:De(s(o))},[re(a.$slots,"default")],6))}});var Y3=xe(Nj,[["__file","header.vue"]]);const Ij=A({name:"ElMain"}),Rj=A({...Ij,setup(e){const t=me("main");return(n,o)=>(y(),M("main",{class:$(s(t).b())},[re(n.$slots,"default")],2))}});var G3=xe(Rj,[["__file","main.vue"]]);const Pj=lt(xj,{Aside:q3,Footer:U3,Header:Y3,Main:G3}),Lj=Dt(q3),Vj=Dt(U3),Bj=Dt(Y3),zj=Dt(G3);var X3={exports:{}};(function(e,t){(function(n,o){e.exports=o()})(ma,function(){return function(n,o){var a=o.prototype,r=a.format;a.format=function(l){var i=this,u=this.$locale();if(!this.isValid())return r.bind(this)(l);var d=this.$utils(),f=(l||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(c){switch(c){case"Q":return Math.ceil((i.$M+1)/3);case"Do":return u.ordinal(i.$D);case"gggg":return i.weekYear();case"GGGG":return i.isoWeekYear();case"wo":return u.ordinal(i.week(),"W");case"w":case"ww":return d.s(i.week(),c==="w"?1:2,"0");case"W":case"WW":return d.s(i.isoWeek(),c==="W"?1:2,"0");case"k":case"kk":return d.s(String(i.$H===0?24:i.$H),c==="k"?1:2,"0");case"X":return Math.floor(i.$d.getTime()/1e3);case"x":return i.$d.getTime();case"z":return"["+i.offsetName()+"]";case"zzz":return"["+i.offsetName("long")+"]";default:return c}});return r.bind(this)(f)}}})})(X3);var Hj=X3.exports;const Dj=ga(Hj);var J3={exports:{}};(function(e,t){(function(n,o){e.exports=o()})(ma,function(){var n="week",o="year";return function(a,r,l){var i=r.prototype;i.week=function(u){if(u===void 0&&(u=null),u!==null)return this.add(7*(u-this.week()),"day");var d=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var f=l(this).startOf(o).add(1,o).date(d),c=l(this).endOf(n);if(f.isBefore(c))return 1}var p=l(this).startOf(o).date(d).startOf(n).subtract(1,"millisecond"),h=this.diff(p,n,!0);return h<0?l(this).startOf("week").week():Math.ceil(h)},i.weeks=function(u){return u===void 0&&(u=null),this.week(u)}}})})(J3);var Fj=J3.exports;const Kj=ga(Fj);var Z3={exports:{}};(function(e,t){(function(n,o){e.exports=o()})(ma,function(){return function(n,o){o.prototype.weekYear=function(){var a=this.month(),r=this.week(),l=this.year();return r===1&&a===11?l+1:a===0&&r>=52?l-1:l}}})})(Z3);var Wj=Z3.exports;const jj=ga(Wj);var Q3={exports:{}};(function(e,t){(function(n,o){e.exports=o()})(ma,function(){return function(n,o,a){o.prototype.dayOfYear=function(r){var l=Math.round((a(this).startOf("day")-a(this).startOf("year"))/864e5)+1;return r==null?l:this.add(r-l,"day")}}})})(Q3);var qj=Q3.exports;const Uj=ga(qj);var e8={exports:{}};(function(e,t){(function(n,o){e.exports=o()})(ma,function(){return function(n,o){o.prototype.isSameOrAfter=function(a,r){return this.isSame(a,r)||this.isAfter(a,r)}}})})(e8);var Yj=e8.exports;const Gj=ga(Yj);var t8={exports:{}};(function(e,t){(function(n,o){e.exports=o()})(ma,function(){return function(n,o){o.prototype.isSameOrBefore=function(a,r){return this.isSame(a,r)||this.isBefore(a,r)}}})})(t8);var Xj=t8.exports;const Jj=ga(Xj),K2=Symbol(),Zj=Ee({...D2,type:{type:X(String),default:"date"}}),Qj=["date","dates","year","years","month","week","range"],W2=Ee({disabledDate:{type:X(Function)},date:{type:X(Object),required:!0},minDate:{type:X(Object)},maxDate:{type:X(Object)},parsedValue:{type:X([Object,Array])},rangeState:{type:X(Object),default:()=>({endDate:null,selecting:!1})}}),n8=Ee({type:{type:X(String),required:!0,values:EP},dateFormat:String,timeFormat:String}),o8=Ee({unlinkPanels:Boolean,parsedValue:{type:X(Array)}}),j2=e=>({type:String,values:Qj,default:e}),eq=Ee({...n8,parsedValue:{type:X([Object,Array])},visible:{type:Boolean},format:{type:String,default:""}}),tq=Ee({...W2,cellClassName:{type:X(Function)},showWeekNumber:Boolean,selectionMode:j2("date")}),nq=["changerange","pick","select"],Bf=e=>{if(!Ie(e))return!1;const[t,n]=e;return at.isDayjs(t)&&at.isDayjs(n)&&t.isSameOrBefore(n)},a8=(e,{lang:t,unit:n,unlinkPanels:o})=>{let a;if(Ie(e)){let[r,l]=e.map(i=>at(i).locale(t));return o||(l=r.add(1,n)),[r,l]}else e?a=at(e):a=at();return a=a.locale(t),[a,a.add(1,n)]},oq=(e,t,{columnIndexOffset:n,startDate:o,nextEndDate:a,now:r,unit:l,relativeDateGetter:i,setCellMetadata:u,setRowMetadata:d})=>{for(let f=0;f["normal","today"].includes(e),aq=(e,t)=>{const{lang:n}=_t(),o=R(),a=R(),r=R(),l=R(),i=R([[],[],[],[],[],[]]);let u=!1;const d=e.date.$locale().weekStart||7,f=e.date.locale("en").localeData().weekdaysShort().map(N=>N.toLowerCase()),c=S(()=>d>3?7-d:-d),p=S(()=>{const N=e.date.startOf("month");return N.subtract(N.day()||7,"day")}),h=S(()=>f.concat(f).slice(d,d+7)),m=S(()=>tg(s(C)).some(N=>N.isCurrent)),v=S(()=>{const N=e.date.startOf("month"),D=N.day()||7,q=N.daysInMonth(),Y=N.subtract(1,"month").daysInMonth();return{startOfMonthDay:D,dateCountOfMonth:q,dateCountOfLastMonth:Y}}),_=S(()=>e.selectionMode==="dates"?jn(e.parsedValue):[]),g=(N,{count:D,rowIndex:q,columnIndex:Y})=>{const{startOfMonthDay:J,dateCountOfMonth:se,dateCountOfLastMonth:_e}=s(v),Q=s(c);if(q>=0&&q<=1){const le=J+Q<0?7+J+Q:J+Q;if(Y+q*7>=le)return N.text=D,!0;N.text=_e-(le-Y%7)+1+q*7,N.type="prev-month"}else return D<=se?N.text=D:(N.text=D-se,N.type="next-month"),!0;return!1},w=(N,{columnIndex:D,rowIndex:q},Y)=>{const{disabledDate:J,cellClassName:se}=e,_e=s(_),Q=g(N,{count:Y,rowIndex:q,columnIndex:D}),le=N.dayjs.toDate();return N.selected=_e.find(ae=>ae.isSame(N.dayjs,"day")),N.isSelected=!!N.selected,N.isCurrent=E(N),N.disabled=J==null?void 0:J(le),N.customClass=se==null?void 0:se(le),Q},b=N=>{if(e.selectionMode==="week"){const[D,q]=e.showWeekNumber?[1,7]:[0,6],Y=H(N[D+1]);N[D].inRange=Y,N[D].start=Y,N[q].inRange=Y,N[q].end=Y}},C=S(()=>{const{minDate:N,maxDate:D,rangeState:q,showWeekNumber:Y}=e,J=s(c),se=s(i),_e="day";let Q=1;if(Y)for(let le=0;le<6;le++)se[le][0]||(se[le][0]={type:"week",text:s(p).add(le*7+1,_e).week()});return oq({row:6,column:7},se,{startDate:N,columnIndexOffset:Y?1:0,nextEndDate:q.endDate||D||q.selecting&&N||null,now:at().locale(s(n)).startOf(_e),unit:_e,relativeDateGetter:le=>s(p).add(le-J,_e),setCellMetadata:(...le)=>{w(...le,Q)&&(Q+=1)},setRowMetadata:b}),se});pe(()=>e.date,async()=>{var N;(N=s(o))!=null&&N.contains(document.activeElement)&&(await We(),await x())});const x=async()=>{var N;return(N=s(a))==null?void 0:N.focus()},E=N=>e.selectionMode==="date"&&zf(N.type)&&O(N,e.parsedValue),O=(N,D)=>D?at(D).locale(s(n)).isSame(e.date.date(Number(N.text)),"day"):!1,T=(N,D)=>{const q=N*7+(D-(e.showWeekNumber?1:0))-s(c);return s(p).add(q,"day")},V=N=>{var D;if(!e.rangeState.selecting)return;let q=N.target;if(q.tagName==="SPAN"&&(q=(D=q.parentNode)==null?void 0:D.parentNode),q.tagName==="DIV"&&(q=q.parentNode),q.tagName!=="TD")return;const Y=q.parentNode.rowIndex-1,J=q.cellIndex;s(C)[Y][J].disabled||(Y!==s(r)||J!==s(l))&&(r.value=Y,l.value=J,t("changerange",{selecting:!0,endDate:T(Y,J)}))},L=N=>!s(m)&&(N==null?void 0:N.text)===1&&N.type==="normal"||N.isCurrent,P=N=>{u||s(m)||e.selectionMode!=="date"||I(N,!0)},z=N=>{N.target.closest("td")&&(u=!0)},j=N=>{N.target.closest("td")&&(u=!1)},K=N=>{!e.rangeState.selecting||!e.minDate?(t("pick",{minDate:N,maxDate:null}),t("select",!0)):(N>=e.minDate?t("pick",{minDate:e.minDate,maxDate:N}):t("pick",{minDate:N,maxDate:e.minDate}),t("select",!1))},F=N=>{const D=N.week(),q=`${N.year()}w${D}`;t("pick",{year:N.year(),week:D,value:q,date:N.startOf("week")})},B=(N,D)=>{const q=D?jn(e.parsedValue).filter(Y=>(Y==null?void 0:Y.valueOf())!==N.valueOf()):jn(e.parsedValue).concat([N]);t("pick",q)},I=(N,D=!1)=>{const q=N.target.closest("td");if(!q)return;const Y=q.parentNode.rowIndex-1,J=q.cellIndex,se=s(C)[Y][J];if(se.disabled||se.type==="week")return;const _e=T(Y,J);switch(e.selectionMode){case"range":{K(_e);break}case"date":{t("pick",_e,D);break}case"week":{F(_e);break}case"dates":{B(_e,!!se.selected);break}}},H=N=>{if(e.selectionMode!=="week")return!1;let D=e.date.startOf("day");if(N.type==="prev-month"&&(D=D.subtract(1,"month")),N.type==="next-month"&&(D=D.add(1,"month")),D=D.date(Number.parseInt(N.text,10)),e.parsedValue&&!Array.isArray(e.parsedValue)){const q=(e.parsedValue.day()-d+7)%7-1;return e.parsedValue.subtract(q,"day").isSame(D,"day")}return!1};return{WEEKS:h,rows:C,tbodyRef:o,currentCellRef:a,focus:x,isCurrent:E,isWeekActive:H,isSelectedCell:L,handlePickDate:I,handleMouseUp:j,handleMouseDown:z,handleMouseMove:V,handleFocus:P}},rq=(e,{isCurrent:t,isWeekActive:n})=>{const o=me("date-table"),{t:a}=_t(),r=S(()=>[o.b(),{"is-week-mode":e.selectionMode==="week"}]),l=S(()=>a("el.datepicker.dateTablePrompt")),i=S(()=>a("el.datepicker.week"));return{tableKls:r,tableLabel:l,weekLabel:i,getCellClasses:f=>{const c=[];return zf(f.type)&&!f.disabled?(c.push("available"),f.type==="today"&&c.push("today")):c.push(f.type),t(f)&&c.push("current"),f.inRange&&(zf(f.type)||e.selectionMode==="week")&&(c.push("in-range"),f.start&&c.push("start-date"),f.end&&c.push("end-date")),f.disabled&&c.push("disabled"),f.selected&&c.push("selected"),f.customClass&&c.push(f.customClass),c.join(" ")},getRowKls:f=>[o.e("row"),{current:n(f)}],t:a}},lq=Ee({cell:{type:X(Object)}});var sq=A({name:"ElDatePickerCell",props:lq,setup(e){const t=me("date-table-cell"),{slots:n}=Pe(K2);return()=>{const{cell:o}=e;return re(n,"default",{...o},()=>[W("div",{class:t.b()},[W("span",{class:t.e("text")},[o==null?void 0:o.text])])])}}});const iq=["aria-label"],uq={key:0,scope:"col"},cq=["aria-label"],dq=["aria-current","aria-selected","tabindex"],fq=A({__name:"basic-date-table",props:tq,emits:nq,setup(e,{expose:t,emit:n}){const o=e,{WEEKS:a,rows:r,tbodyRef:l,currentCellRef:i,focus:u,isCurrent:d,isWeekActive:f,isSelectedCell:c,handlePickDate:p,handleMouseUp:h,handleMouseDown:m,handleMouseMove:v,handleFocus:_}=aq(o,n),{tableLabel:g,tableKls:w,weekLabel:b,getCellClasses:C,getRowKls:x,t:E}=rq(o,{isCurrent:d,isWeekActive:f});return t({focus:u}),(O,T)=>(y(),M("table",{"aria-label":s(g),class:$(s(w)),cellspacing:"0",cellpadding:"0",role:"grid",onClick:T[1]||(T[1]=(...V)=>s(p)&&s(p)(...V)),onMousemove:T[2]||(T[2]=(...V)=>s(v)&&s(v)(...V)),onMousedown:T[3]||(T[3]=Ge((...V)=>s(m)&&s(m)(...V),["prevent"])),onMouseup:T[4]||(T[4]=(...V)=>s(h)&&s(h)(...V))},[k("tbody",{ref_key:"tbodyRef",ref:l},[k("tr",null,[O.showWeekNumber?(y(),M("th",uq,Me(s(b)),1)):Z("v-if",!0),(y(!0),M(Fe,null,mt(s(a),(V,L)=>(y(),M("th",{key:L,"aria-label":s(E)("el.datepicker.weeksFull."+V),scope:"col"},Me(s(E)("el.datepicker.weeks."+V)),9,cq))),128))]),(y(!0),M(Fe,null,mt(s(r),(V,L)=>(y(),M("tr",{key:L,class:$(s(x)(V[1]))},[(y(!0),M(Fe,null,mt(V,(P,z)=>(y(),M("td",{key:`${L}.${z}`,ref_for:!0,ref:j=>s(c)(P)&&(i.value=j),class:$(s(C)(P)),"aria-current":P.isCurrent?"date":void 0,"aria-selected":P.isCurrent,tabindex:s(c)(P)?0:-1,onFocus:T[0]||(T[0]=(...j)=>s(_)&&s(_)(...j))},[W(s(sq),{cell:P},null,8,["cell"])],42,dq))),128))],2))),128))],512)],42,iq))}});var Hf=xe(fq,[["__file","basic-date-table.vue"]]);const pq=Ee({...W2,selectionMode:j2("month")}),vq=["aria-label"],hq=["aria-selected","aria-label","tabindex","onKeydown"],mq={class:"cell"},gq=A({__name:"basic-month-table",props:pq,emits:["changerange","pick","select"],setup(e,{expose:t,emit:n}){const o=e,a=(C,x,E)=>{const O=at().locale(E).startOf("month").month(x).year(C),T=O.daysInMonth();return Va(T).map(V=>O.add(V,"day").toDate())},r=me("month-table"),{t:l,lang:i}=_t(),u=R(),d=R(),f=R(o.date.locale("en").localeData().monthsShort().map(C=>C.toLowerCase())),c=R([[],[],[]]),p=R(),h=R(),m=S(()=>{var C,x;const E=c.value,O=at().locale(i.value).startOf("month");for(let T=0;T<3;T++){const V=E[T];for(let L=0;L<4;L++){const P=V[L]||(V[L]={row:T,column:L,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1});P.type="normal";const z=T*4+L,j=o.date.startOf("year").month(z),K=o.rangeState.endDate||o.maxDate||o.rangeState.selecting&&o.minDate||null;P.inRange=!!(o.minDate&&j.isSameOrAfter(o.minDate,"month")&&K&&j.isSameOrBefore(K,"month"))||!!(o.minDate&&j.isSameOrBefore(o.minDate,"month")&&K&&j.isSameOrAfter(K,"month")),(C=o.minDate)!=null&&C.isSameOrAfter(K)?(P.start=!!(K&&j.isSame(K,"month")),P.end=o.minDate&&j.isSame(o.minDate,"month")):(P.start=!!(o.minDate&&j.isSame(o.minDate,"month")),P.end=!!(K&&j.isSame(K,"month"))),O.isSame(j)&&(P.type="today"),P.text=z,P.disabled=((x=o.disabledDate)==null?void 0:x.call(o,j.toDate()))||!1}}return E}),v=()=>{var C;(C=d.value)==null||C.focus()},_=C=>{const x={},E=o.date.year(),O=new Date,T=C.text;return x.disabled=o.disabledDate?a(E,T,i.value).every(o.disabledDate):!1,x.current=jn(o.parsedValue).findIndex(V=>at.isDayjs(V)&&V.year()===E&&V.month()===T)>=0,x.today=O.getFullYear()===E&&O.getMonth()===T,C.inRange&&(x["in-range"]=!0,C.start&&(x["start-date"]=!0),C.end&&(x["end-date"]=!0)),x},g=C=>{const x=o.date.year(),E=C.text;return jn(o.date).findIndex(O=>O.year()===x&&O.month()===E)>=0},w=C=>{var x;if(!o.rangeState.selecting)return;let E=C.target;if(E.tagName==="SPAN"&&(E=(x=E.parentNode)==null?void 0:x.parentNode),E.tagName==="DIV"&&(E=E.parentNode),E.tagName!=="TD")return;const O=E.parentNode.rowIndex,T=E.cellIndex;m.value[O][T].disabled||(O!==p.value||T!==h.value)&&(p.value=O,h.value=T,n("changerange",{selecting:!0,endDate:o.date.startOf("year").month(O*4+T)}))},b=C=>{var x;const E=(x=C.target)==null?void 0:x.closest("td");if((E==null?void 0:E.tagName)!=="TD"||oo(E,"disabled"))return;const O=E.cellIndex,V=E.parentNode.rowIndex*4+O,L=o.date.startOf("year").month(V);o.selectionMode==="range"?o.rangeState.selecting?(o.minDate&&L>=o.minDate?n("pick",{minDate:o.minDate,maxDate:L}):n("pick",{minDate:L,maxDate:o.minDate}),n("select",!1)):(n("pick",{minDate:L,maxDate:null}),n("select",!0)):n("pick",V)};return pe(()=>o.date,async()=>{var C,x;(C=u.value)!=null&&C.contains(document.activeElement)&&(await We(),(x=d.value)==null||x.focus())}),t({focus:v}),(C,x)=>(y(),M("table",{role:"grid","aria-label":s(l)("el.datepicker.monthTablePrompt"),class:$(s(r).b()),onClick:b,onMousemove:w},[k("tbody",{ref_key:"tbodyRef",ref:u},[(y(!0),M(Fe,null,mt(s(m),(E,O)=>(y(),M("tr",{key:O},[(y(!0),M(Fe,null,mt(E,(T,V)=>(y(),M("td",{key:V,ref_for:!0,ref:L=>g(T)&&(d.value=L),class:$(_(T)),"aria-selected":`${g(T)}`,"aria-label":s(l)(`el.datepicker.month${+T.text+1}`),tabindex:g(T)?0:-1,onKeydown:[Mt(Ge(b,["prevent","stop"]),["space"]),Mt(Ge(b,["prevent","stop"]),["enter"])]},[k("div",null,[k("span",mq,Me(s(l)("el.datepicker.months."+f.value[T.text])),1)])],42,hq))),128))]))),128))],512)],42,vq))}});var Df=xe(gq,[["__file","basic-month-table.vue"]]);const{date:yq,disabledDate:_q,parsedValue:bq}=W2,wq=Ee({date:yq,disabledDate:_q,parsedValue:bq,selectionMode:j2("year")}),Cq=["aria-label"],Sq=["aria-selected","tabindex","onKeydown"],kq={class:"cell"},Eq={key:1},xq=A({__name:"basic-year-table",props:wq,emits:["pick"],setup(e,{expose:t,emit:n}){const o=e,a=(v,_)=>{const g=at(String(v)).locale(_).startOf("year"),b=g.endOf("year").dayOfYear();return Va(b).map(C=>g.add(C,"day").toDate())},r=me("year-table"),{t:l,lang:i}=_t(),u=R(),d=R(),f=S(()=>Math.floor(o.date.year()/10)*10),c=()=>{var v;(v=d.value)==null||v.focus()},p=v=>{const _={},g=at().locale(i.value);return _.disabled=o.disabledDate?a(v,i.value).every(o.disabledDate):!1,_.current=jn(o.parsedValue).findIndex(w=>w.year()===v)>=0,_.today=g.year()===v,_},h=v=>v===f.value&&o.date.year()f.value+9||jn(o.date).findIndex(_=>_.year()===v)>=0||jn(o.parsedValue).findIndex(_=>(_==null?void 0:_.year())===v)>=0,m=v=>{const g=v.target.closest("td");if(g&&g.textContent){if(oo(g,"disabled"))return;const w=g.textContent||g.innerText;if(o.selectionMode==="years"){if(v.type==="keydown"){n("pick",jn(o.parsedValue),!1);return}const b=oo(g,"current")?jn(o.parsedValue).filter(C=>(C==null?void 0:C.year())!==Number(w)):jn(o.parsedValue).concat([at(w)]);n("pick",b)}else n("pick",Number(w))}};return pe(()=>o.date,async()=>{var v,_;(v=u.value)!=null&&v.contains(document.activeElement)&&(await We(),(_=d.value)==null||_.focus())}),t({focus:c}),(v,_)=>(y(),M("table",{role:"grid","aria-label":s(l)("el.datepicker.yearTablePrompt"),class:$(s(r).b()),onClick:m},[k("tbody",{ref_key:"tbodyRef",ref:u},[(y(),M(Fe,null,mt(3,(g,w)=>k("tr",{key:w},[(y(),M(Fe,null,mt(4,(b,C)=>(y(),M(Fe,{key:w+"_"+C},[w*4+C<10?(y(),M("td",{key:0,ref_for:!0,ref:x=>h(s(f)+w*4+C)&&(d.value=x),class:$(["available",p(s(f)+w*4+C)]),"aria-selected":`${h(s(f)+w*4+C)}`,tabindex:h(s(f)+w*4+C)?0:-1,onKeydown:[Mt(Ge(m,["prevent","stop"]),["space"]),Mt(Ge(m,["prevent","stop"]),["enter"])]},[k("div",null,[k("span",kq,Me(s(f)+w*4+C),1)])],42,Sq)):(y(),M("td",Eq))],64))),64))])),64))],512)],10,Cq))}});var Mq=xe(xq,[["__file","basic-year-table.vue"]]);const $q=["onClick"],Tq=["aria-label"],Aq=["aria-label"],Oq=["aria-label"],Nq=["aria-label"],Iq=A({__name:"panel-date-pick",props:eq,emits:["pick","set-picker-option","panel-change"],setup(e,{emit:t}){const n=e,o=(fe,$e,ee)=>!0,a=me("picker-panel"),r=me("date-picker"),l=Pr(),i=fn(),{t:u,lang:d}=_t(),f=Pe("EP_PICKER_BASE"),c=Pe(Pc),{shortcuts:p,disabledDate:h,cellClassName:m,defaultTime:v}=f.props,_=At(f.props,"defaultValue"),g=R(),w=R(at().locale(d.value)),b=R(!1);let C=!1;const x=S(()=>at(v).locale(d.value)),E=S(()=>w.value.month()),O=S(()=>w.value.year()),T=R([]),V=R(null),L=R(null),P=fe=>T.value.length>0?o(fe,T.value,n.format||"HH:mm:ss"):!0,z=fe=>v&&!te.value&&!b.value&&!C?x.value.year(fe.year()).month(fe.month()).date(fe.date()):Q.value?fe.millisecond(0):fe.startOf("day"),j=(fe,...$e)=>{if(!fe)t("pick",fe,...$e);else if(Ie(fe)){const ee=fe.map(z);t("pick",ee,...$e)}else t("pick",z(fe),...$e);V.value=null,L.value=null,b.value=!1,C=!1},K=async(fe,$e)=>{if(D.value==="date"){fe=fe;let ee=n.parsedValue?n.parsedValue.year(fe.year()).month(fe.month()).date(fe.date()):fe;P(ee)||(ee=T.value[0][0].year(fe.year()).month(fe.month()).date(fe.date())),w.value=ee,j(ee,Q.value||$e),n.type==="datetime"&&(await We(),Ue())}else D.value==="week"?j(fe.date):D.value==="dates"&&j(fe,!0)},F=fe=>{const $e=fe?"add":"subtract";w.value=w.value[$e](1,"month"),je("month")},B=fe=>{const $e=w.value,ee=fe?"add":"subtract";w.value=I.value==="year"?$e[ee](10,"year"):$e[ee](1,"year"),je("year")},I=R("date"),H=S(()=>{const fe=u("el.datepicker.year");if(I.value==="year"){const $e=Math.floor(O.value/10)*10;return fe?`${$e} ${fe} - ${$e+9} ${fe}`:`${$e} - ${$e+9}`}return`${O.value} ${fe}`}),N=fe=>{const $e=Xe(fe.value)?fe.value():fe.value;if($e){C=!0,j(at($e).locale(d.value));return}fe.onClick&&fe.onClick({attrs:l,slots:i,emit:t})},D=S(()=>{const{type:fe}=n;return["week","month","year","years","dates"].includes(fe)?fe:"date"}),q=S(()=>D.value==="date"?I.value:D.value),Y=S(()=>!!p.length),J=async fe=>{w.value=w.value.startOf("month").month(fe),D.value==="month"?j(w.value,!1):(I.value="date",["month","year","date","week"].includes(D.value)&&(j(w.value,!0),await We(),Ue())),je("month")},se=async(fe,$e)=>{D.value==="year"?(w.value=w.value.startOf("year").year(fe),j(w.value,!1)):D.value==="years"?j(fe,$e??!0):(w.value=w.value.year(fe),I.value="month",["month","year","date","week"].includes(D.value)&&(j(w.value,!0),await We(),Ue())),je("year")},_e=async fe=>{I.value=fe,await We(),Ue()},Q=S(()=>n.type==="datetime"||n.type==="datetimerange"),le=S(()=>{const fe=Q.value||D.value==="dates",$e=D.value==="years",ee=I.value==="date",ie=I.value==="year";return fe&&ee||$e&&ie}),ae=S(()=>h?n.parsedValue?Ie(n.parsedValue)?h(n.parsedValue[0].toDate()):h(n.parsedValue.toDate()):!0:!1),Te=()=>{if(D.value==="dates"||D.value==="years")j(n.parsedValue);else{let fe=n.parsedValue;if(!fe){const $e=at(v).locale(d.value),ee=Le();fe=$e.year(ee.year()).month(ee.month()).date(ee.date())}w.value=fe,j(fe)}},ce=S(()=>h?h(at().locale(d.value).toDate()):!1),ge=()=>{const $e=at().locale(d.value).toDate();b.value=!0,(!h||!h($e))&&P($e)&&(w.value=at().locale(d.value),j(w.value))},Ae=S(()=>n.timeFormat||i3(n.format)),U=S(()=>n.dateFormat||s3(n.format)),te=S(()=>{if(L.value)return L.value;if(!(!n.parsedValue&&!_.value))return(n.parsedValue||w.value).format(Ae.value)}),ve=S(()=>{if(V.value)return V.value;if(!(!n.parsedValue&&!_.value))return(n.parsedValue||w.value).format(U.value)}),be=R(!1),ue=()=>{be.value=!0},ye=()=>{be.value=!1},we=fe=>({hour:fe.hour(),minute:fe.minute(),second:fe.second(),year:fe.year(),month:fe.month(),date:fe.date()}),Ce=(fe,$e,ee)=>{const{hour:ie,minute:ke,second:ne}=we(fe),ze=n.parsedValue?n.parsedValue.hour(ie).minute(ke).second(ne):fe;w.value=ze,j(w.value,!0),ee||(be.value=$e)},he=fe=>{const $e=at(fe,Ae.value).locale(d.value);if($e.isValid()&&P($e)){const{year:ee,month:ie,date:ke}=we(w.value);w.value=$e.year(ee).month(ie).date(ke),L.value=null,be.value=!1,j(w.value,!0)}},Se=fe=>{const $e=at(fe,U.value).locale(d.value);if($e.isValid()){if(h&&h($e.toDate()))return;const{hour:ee,minute:ie,second:ke}=we(w.value);w.value=$e.hour(ee).minute(ie).second(ke),V.value=null,j(w.value,!0)}},Re=fe=>at.isDayjs(fe)&&fe.isValid()&&(h?!h(fe.toDate()):!0),He=fe=>Ie(fe)?fe.map($e=>$e.format(n.format)):fe.format(n.format),de=fe=>at(fe,n.format).locale(d.value),Le=()=>{const fe=at(_.value).locale(d.value);if(!_.value){const $e=x.value;return at().hour($e.hour()).minute($e.minute()).second($e.second()).locale(d.value)}return fe},Ue=async()=>{var fe;["week","month","year","date"].includes(D.value)&&((fe=g.value)==null||fe.focus(),D.value==="week"&&dt(Ke.down))},ot=fe=>{const{code:$e}=fe;[Ke.up,Ke.down,Ke.left,Ke.right,Ke.home,Ke.end,Ke.pageUp,Ke.pageDown].includes($e)&&(dt($e),fe.stopPropagation(),fe.preventDefault()),[Ke.enter,Ke.space,Ke.numpadEnter].includes($e)&&V.value===null&&L.value===null&&(fe.preventDefault(),j(w.value,!1))},dt=fe=>{var $e;const{up:ee,down:ie,left:ke,right:ne,home:ze,end:tt,pageUp:St,pageDown:Ot}=Ke,ho={year:{[ee]:-4,[ie]:4,[ke]:-1,[ne]:1,offset:(kt,Ft)=>kt.setFullYear(kt.getFullYear()+Ft)},month:{[ee]:-4,[ie]:4,[ke]:-1,[ne]:1,offset:(kt,Ft)=>kt.setMonth(kt.getMonth()+Ft)},week:{[ee]:-1,[ie]:1,[ke]:-1,[ne]:1,offset:(kt,Ft)=>kt.setDate(kt.getDate()+Ft*7)},date:{[ee]:-7,[ie]:7,[ke]:-1,[ne]:1,[ze]:kt=>-kt.getDay(),[tt]:kt=>-kt.getDay()+6,[St]:kt=>-new Date(kt.getFullYear(),kt.getMonth(),0).getDate(),[Ot]:kt=>new Date(kt.getFullYear(),kt.getMonth()+1,0).getDate(),offset:(kt,Ft)=>kt.setDate(kt.getDate()+Ft)}},qt=w.value.toDate();for(;Math.abs(w.value.diff(qt,"year",!0))<1;){const kt=ho[q.value];if(!kt)return;if(kt.offset(qt,Xe(kt[fe])?kt[fe](qt):($e=kt[fe])!=null?$e:0),h&&h(qt))break;const Ft=at(qt).locale(d.value);w.value=Ft,t("pick",Ft,!0);break}},je=fe=>{t("panel-change",w.value.toDate(),fe,I.value)};return pe(()=>D.value,fe=>{if(["month","year"].includes(fe)){I.value=fe;return}else if(fe==="years"){I.value="year";return}I.value="date"},{immediate:!0}),pe(()=>I.value,()=>{c==null||c.updatePopper()}),pe(()=>_.value,fe=>{fe&&(w.value=Le())},{immediate:!0}),pe(()=>n.parsedValue,fe=>{if(fe){if(D.value==="dates"||D.value==="years"||Array.isArray(fe))return;w.value=fe}else w.value=Le()},{immediate:!0}),t("set-picker-option",["isValidValue",Re]),t("set-picker-option",["formatToString",He]),t("set-picker-option",["parseUserInput",de]),t("set-picker-option",["handleFocusPicker",Ue]),(fe,$e)=>(y(),M("div",{class:$([s(a).b(),s(r).b(),{"has-sidebar":fe.$slots.sidebar||s(Y),"has-time":s(Q)}])},[k("div",{class:$(s(a).e("body-wrapper"))},[re(fe.$slots,"sidebar",{class:$(s(a).e("sidebar"))}),s(Y)?(y(),M("div",{key:0,class:$(s(a).e("sidebar"))},[(y(!0),M(Fe,null,mt(s(p),(ee,ie)=>(y(),M("button",{key:ie,type:"button",class:$(s(a).e("shortcut")),onClick:ke=>N(ee)},Me(ee.text),11,$q))),128))],2)):Z("v-if",!0),k("div",{class:$(s(a).e("body"))},[s(Q)?(y(),M("div",{key:0,class:$(s(r).e("time-header"))},[k("span",{class:$(s(r).e("editor-wrap"))},[W(s(mn),{placeholder:s(u)("el.datepicker.selectDate"),"model-value":s(ve),size:"small","validate-event":!1,onInput:$e[0]||($e[0]=ee=>V.value=ee),onChange:Se},null,8,["placeholder","model-value"])],2),Qe((y(),M("span",{class:$(s(r).e("editor-wrap"))},[W(s(mn),{placeholder:s(u)("el.datepicker.selectTime"),"model-value":s(te),size:"small","validate-event":!1,onFocus:ue,onInput:$e[1]||($e[1]=ee=>L.value=ee),onChange:he},null,8,["placeholder","model-value"]),W(s(Fu),{visible:be.value,format:s(Ae),"parsed-value":w.value,onPick:Ce},null,8,["visible","format","parsed-value"])],2)),[[s(sa),ye]])],2)):Z("v-if",!0),Qe(k("div",{class:$([s(r).e("header"),(I.value==="year"||I.value==="month")&&s(r).e("header--bordered")])},[k("span",{class:$(s(r).e("prev-btn"))},[k("button",{type:"button","aria-label":s(u)("el.datepicker.prevYear"),class:$(["d-arrow-left",s(a).e("icon-btn")]),onClick:$e[2]||($e[2]=ee=>B(!1))},[W(s(Be),null,{default:G(()=>[W(s(Mr))]),_:1})],10,Tq),Qe(k("button",{type:"button","aria-label":s(u)("el.datepicker.prevMonth"),class:$([s(a).e("icon-btn"),"arrow-left"]),onClick:$e[3]||($e[3]=ee=>F(!1))},[W(s(Be),null,{default:G(()=>[W(s(aa))]),_:1})],10,Aq),[[bt,I.value==="date"]])],2),k("span",{role:"button",class:$(s(r).e("header-label")),"aria-live":"polite",tabindex:"0",onKeydown:$e[4]||($e[4]=Mt(ee=>_e("year"),["enter"])),onClick:$e[5]||($e[5]=ee=>_e("year"))},Me(s(H)),35),Qe(k("span",{role:"button","aria-live":"polite",tabindex:"0",class:$([s(r).e("header-label"),{active:I.value==="month"}]),onKeydown:$e[6]||($e[6]=Mt(ee=>_e("month"),["enter"])),onClick:$e[7]||($e[7]=ee=>_e("month"))},Me(s(u)(`el.datepicker.month${s(E)+1}`)),35),[[bt,I.value==="date"]]),k("span",{class:$(s(r).e("next-btn"))},[Qe(k("button",{type:"button","aria-label":s(u)("el.datepicker.nextMonth"),class:$([s(a).e("icon-btn"),"arrow-right"]),onClick:$e[8]||($e[8]=ee=>F(!0))},[W(s(Be),null,{default:G(()=>[W(s(Sn))]),_:1})],10,Oq),[[bt,I.value==="date"]]),k("button",{type:"button","aria-label":s(u)("el.datepicker.nextYear"),class:$([s(a).e("icon-btn"),"d-arrow-right"]),onClick:$e[9]||($e[9]=ee=>B(!0))},[W(s(Be),null,{default:G(()=>[W(s($r))]),_:1})],10,Nq)],2)],2),[[bt,I.value!=="time"]]),k("div",{class:$(s(a).e("content")),onKeydown:ot},[I.value==="date"?(y(),oe(Hf,{key:0,ref_key:"currentViewRef",ref:g,"selection-mode":s(D),date:w.value,"parsed-value":fe.parsedValue,"disabled-date":s(h),"cell-class-name":s(m),onPick:K},null,8,["selection-mode","date","parsed-value","disabled-date","cell-class-name"])):Z("v-if",!0),I.value==="year"?(y(),oe(Mq,{key:1,ref_key:"currentViewRef",ref:g,"selection-mode":s(D),date:w.value,"disabled-date":s(h),"parsed-value":fe.parsedValue,onPick:se},null,8,["selection-mode","date","disabled-date","parsed-value"])):Z("v-if",!0),I.value==="month"?(y(),oe(Df,{key:2,ref_key:"currentViewRef",ref:g,date:w.value,"parsed-value":fe.parsedValue,"disabled-date":s(h),onPick:J},null,8,["date","parsed-value","disabled-date"])):Z("v-if",!0)],34)],2)],2),Qe(k("div",{class:$(s(a).e("footer"))},[Qe(W(s(rn),{text:"",size:"small",class:$(s(a).e("link-btn")),disabled:s(ce),onClick:ge},{default:G(()=>[vt(Me(s(u)("el.datepicker.now")),1)]),_:1},8,["class","disabled"]),[[bt,s(D)!=="dates"&&s(D)!=="years"]]),W(s(rn),{plain:"",size:"small",class:$(s(a).e("link-btn")),disabled:s(ae),onClick:Te},{default:G(()=>[vt(Me(s(u)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])],2),[[bt,s(le)]])],2))}});var Rq=xe(Iq,[["__file","panel-date-pick.vue"]]);const Pq=Ee({...n8,...o8}),Lq=e=>{const{emit:t}=rt(),n=Pr(),o=fn();return r=>{const l=Xe(r.value)?r.value():r.value;if(l){t("pick",[at(l[0]).locale(e.value),at(l[1]).locale(e.value)]);return}r.onClick&&r.onClick({attrs:n,slots:o,emit:t})}},r8=(e,{defaultValue:t,leftDate:n,rightDate:o,unit:a,onParsedValueChanged:r})=>{const{emit:l}=rt(),{pickerNs:i}=Pe(K2),u=me("date-range-picker"),{t:d,lang:f}=_t(),c=Lq(f),p=R(),h=R(),m=R({endDate:null,selecting:!1}),v=b=>{m.value=b},_=(b=!1)=>{const C=s(p),x=s(h);Bf([C,x])&&l("pick",[C,x],b)},g=b=>{m.value.selecting=b,b||(m.value.endDate=null)},w=()=>{const[b,C]=a8(s(t),{lang:s(f),unit:a,unlinkPanels:e.unlinkPanels});p.value=void 0,h.value=void 0,n.value=b,o.value=C};return pe(t,b=>{b&&w()},{immediate:!0}),pe(()=>e.parsedValue,b=>{if(Ie(b)&&b.length===2){const[C,x]=b;p.value=C,n.value=C,h.value=x,r(s(p),s(h))}else w()},{immediate:!0}),{minDate:p,maxDate:h,rangeState:m,lang:f,ppNs:i,drpNs:u,handleChangeRange:v,handleRangeConfirm:_,handleShortcutClick:c,onSelect:g,t:d}},Vq=["onClick"],Bq=["aria-label"],zq=["aria-label"],Hq=["disabled","aria-label"],Dq=["disabled","aria-label"],Fq=["disabled","aria-label"],Kq=["disabled","aria-label"],Wq=["aria-label"],jq=["aria-label"],Bi="month",qq=A({__name:"panel-date-range",props:Pq,emits:["pick","set-picker-option","calendar-change","panel-change"],setup(e,{emit:t}){const n=e,o=Pe("EP_PICKER_BASE"),{disabledDate:a,cellClassName:r,format:l,defaultTime:i,clearable:u}=o.props,d=At(o.props,"shortcuts"),f=At(o.props,"defaultValue"),{lang:c}=_t(),p=R(at().locale(c.value)),h=R(at().locale(c.value).add(1,Bi)),{minDate:m,maxDate:v,rangeState:_,ppNs:g,drpNs:w,handleChangeRange:b,handleRangeConfirm:C,handleShortcutClick:x,onSelect:E,t:O}=r8(n,{defaultValue:f,leftDate:p,rightDate:h,unit:Bi,onParsedValueChanged:$e}),T=R({min:null,max:null}),V=R({min:null,max:null}),L=S(()=>`${p.value.year()} ${O("el.datepicker.year")} ${O(`el.datepicker.month${p.value.month()+1}`)}`),P=S(()=>`${h.value.year()} ${O("el.datepicker.year")} ${O(`el.datepicker.month${h.value.month()+1}`)}`),z=S(()=>p.value.year()),j=S(()=>p.value.month()),K=S(()=>h.value.year()),F=S(()=>h.value.month()),B=S(()=>!!d.value.length),I=S(()=>T.value.min!==null?T.value.min:m.value?m.value.format(Y.value):""),H=S(()=>T.value.max!==null?T.value.max:v.value||m.value?(v.value||m.value).format(Y.value):""),N=S(()=>V.value.min!==null?V.value.min:m.value?m.value.format(q.value):""),D=S(()=>V.value.max!==null?V.value.max:v.value||m.value?(v.value||m.value).format(q.value):""),q=S(()=>n.timeFormat||i3(l)),Y=S(()=>n.dateFormat||s3(l)),J=ee=>Bf(ee)&&(a?!a(ee[0].toDate())&&!a(ee[1].toDate()):!0),se=()=>{p.value=p.value.subtract(1,"year"),n.unlinkPanels||(h.value=p.value.add(1,"month")),Ae("year")},_e=()=>{p.value=p.value.subtract(1,"month"),n.unlinkPanels||(h.value=p.value.add(1,"month")),Ae("month")},Q=()=>{n.unlinkPanels?h.value=h.value.add(1,"year"):(p.value=p.value.add(1,"year"),h.value=p.value.add(1,"month")),Ae("year")},le=()=>{n.unlinkPanels?h.value=h.value.add(1,"month"):(p.value=p.value.add(1,"month"),h.value=p.value.add(1,"month")),Ae("month")},ae=()=>{p.value=p.value.add(1,"year"),Ae("year")},Te=()=>{p.value=p.value.add(1,"month"),Ae("month")},ce=()=>{h.value=h.value.subtract(1,"year"),Ae("year")},ge=()=>{h.value=h.value.subtract(1,"month"),Ae("month")},Ae=ee=>{t("panel-change",[p.value.toDate(),h.value.toDate()],ee)},U=S(()=>{const ee=(j.value+1)%12,ie=j.value+1>=12?1:0;return n.unlinkPanels&&new Date(z.value+ie,ee)n.unlinkPanels&&K.value*12+F.value-(z.value*12+j.value+1)>=12),ve=S(()=>!(m.value&&v.value&&!_.value.selecting&&Bf([m.value,v.value]))),be=S(()=>n.type==="datetime"||n.type==="datetimerange"),ue=(ee,ie)=>{if(ee)return i?at(i[ie]||i).locale(c.value).year(ee.year()).month(ee.month()).date(ee.date()):ee},ye=(ee,ie=!0)=>{const ke=ee.minDate,ne=ee.maxDate,ze=ue(ke,0),tt=ue(ne,1);v.value===tt&&m.value===ze||(t("calendar-change",[ke.toDate(),ne&&ne.toDate()]),v.value=tt,m.value=ze,!(!ie||be.value)&&C())},we=R(!1),Ce=R(!1),he=()=>{we.value=!1},Se=()=>{Ce.value=!1},Re=(ee,ie)=>{T.value[ie]=ee;const ke=at(ee,Y.value).locale(c.value);if(ke.isValid()){if(a&&a(ke.toDate()))return;ie==="min"?(p.value=ke,m.value=(m.value||p.value).year(ke.year()).month(ke.month()).date(ke.date()),!n.unlinkPanels&&(!v.value||v.value.isBefore(m.value))&&(h.value=ke.add(1,"month"),v.value=m.value.add(1,"month"))):(h.value=ke,v.value=(v.value||h.value).year(ke.year()).month(ke.month()).date(ke.date()),!n.unlinkPanels&&(!m.value||m.value.isAfter(v.value))&&(p.value=ke.subtract(1,"month"),m.value=v.value.subtract(1,"month")))}},He=(ee,ie)=>{T.value[ie]=null},de=(ee,ie)=>{V.value[ie]=ee;const ke=at(ee,q.value).locale(c.value);ke.isValid()&&(ie==="min"?(we.value=!0,m.value=(m.value||p.value).hour(ke.hour()).minute(ke.minute()).second(ke.second()),(!v.value||v.value.isBefore(m.value))&&(v.value=m.value)):(Ce.value=!0,v.value=(v.value||h.value).hour(ke.hour()).minute(ke.minute()).second(ke.second()),h.value=v.value,v.value&&v.value.isBefore(m.value)&&(m.value=v.value)))},Le=(ee,ie)=>{V.value[ie]=null,ie==="min"?(p.value=m.value,we.value=!1):(h.value=v.value,Ce.value=!1)},Ue=(ee,ie,ke)=>{V.value.min||(ee&&(p.value=ee,m.value=(m.value||p.value).hour(ee.hour()).minute(ee.minute()).second(ee.second())),ke||(we.value=ie),(!v.value||v.value.isBefore(m.value))&&(v.value=m.value,h.value=ee))},ot=(ee,ie,ke)=>{V.value.max||(ee&&(h.value=ee,v.value=(v.value||h.value).hour(ee.hour()).minute(ee.minute()).second(ee.second())),ke||(Ce.value=ie),v.value&&v.value.isBefore(m.value)&&(m.value=v.value))},dt=()=>{p.value=a8(s(f),{lang:s(c),unit:"month",unlinkPanels:n.unlinkPanels})[0],h.value=p.value.add(1,"month"),v.value=void 0,m.value=void 0,t("pick",null)},je=ee=>Ie(ee)?ee.map(ie=>ie.format(l)):ee.format(l),fe=ee=>Ie(ee)?ee.map(ie=>at(ie,l).locale(c.value)):at(ee,l).locale(c.value);function $e(ee,ie){if(n.unlinkPanels&&ie){const ke=(ee==null?void 0:ee.year())||0,ne=(ee==null?void 0:ee.month())||0,ze=ie.year(),tt=ie.month();h.value=ke===ze&&ne===tt?ie.add(1,Bi):ie}else h.value=p.value.add(1,Bi),ie&&(h.value=h.value.hour(ie.hour()).minute(ie.minute()).second(ie.second()))}return t("set-picker-option",["isValidValue",J]),t("set-picker-option",["parseUserInput",fe]),t("set-picker-option",["formatToString",je]),t("set-picker-option",["handleClear",dt]),(ee,ie)=>(y(),M("div",{class:$([s(g).b(),s(w).b(),{"has-sidebar":ee.$slots.sidebar||s(B),"has-time":s(be)}])},[k("div",{class:$(s(g).e("body-wrapper"))},[re(ee.$slots,"sidebar",{class:$(s(g).e("sidebar"))}),s(B)?(y(),M("div",{key:0,class:$(s(g).e("sidebar"))},[(y(!0),M(Fe,null,mt(s(d),(ke,ne)=>(y(),M("button",{key:ne,type:"button",class:$(s(g).e("shortcut")),onClick:ze=>s(x)(ke)},Me(ke.text),11,Vq))),128))],2)):Z("v-if",!0),k("div",{class:$(s(g).e("body"))},[s(be)?(y(),M("div",{key:0,class:$(s(w).e("time-header"))},[k("span",{class:$(s(w).e("editors-wrap"))},[k("span",{class:$(s(w).e("time-picker-wrap"))},[W(s(mn),{size:"small",disabled:s(_).selecting,placeholder:s(O)("el.datepicker.startDate"),class:$(s(w).e("editor")),"model-value":s(I),"validate-event":!1,onInput:ie[0]||(ie[0]=ke=>Re(ke,"min")),onChange:ie[1]||(ie[1]=ke=>He(ke,"min"))},null,8,["disabled","placeholder","class","model-value"])],2),Qe((y(),M("span",{class:$(s(w).e("time-picker-wrap"))},[W(s(mn),{size:"small",class:$(s(w).e("editor")),disabled:s(_).selecting,placeholder:s(O)("el.datepicker.startTime"),"model-value":s(N),"validate-event":!1,onFocus:ie[2]||(ie[2]=ke=>we.value=!0),onInput:ie[3]||(ie[3]=ke=>de(ke,"min")),onChange:ie[4]||(ie[4]=ke=>Le(ke,"min"))},null,8,["class","disabled","placeholder","model-value"]),W(s(Fu),{visible:we.value,format:s(q),"datetime-role":"start","parsed-value":p.value,onPick:Ue},null,8,["visible","format","parsed-value"])],2)),[[s(sa),he]])],2),k("span",null,[W(s(Be),null,{default:G(()=>[W(s(Sn))]),_:1})]),k("span",{class:$([s(w).e("editors-wrap"),"is-right"])},[k("span",{class:$(s(w).e("time-picker-wrap"))},[W(s(mn),{size:"small",class:$(s(w).e("editor")),disabled:s(_).selecting,placeholder:s(O)("el.datepicker.endDate"),"model-value":s(H),readonly:!s(m),"validate-event":!1,onInput:ie[5]||(ie[5]=ke=>Re(ke,"max")),onChange:ie[6]||(ie[6]=ke=>He(ke,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"])],2),Qe((y(),M("span",{class:$(s(w).e("time-picker-wrap"))},[W(s(mn),{size:"small",class:$(s(w).e("editor")),disabled:s(_).selecting,placeholder:s(O)("el.datepicker.endTime"),"model-value":s(D),readonly:!s(m),"validate-event":!1,onFocus:ie[7]||(ie[7]=ke=>s(m)&&(Ce.value=!0)),onInput:ie[8]||(ie[8]=ke=>de(ke,"max")),onChange:ie[9]||(ie[9]=ke=>Le(ke,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"]),W(s(Fu),{"datetime-role":"end",visible:Ce.value,format:s(q),"parsed-value":h.value,onPick:ot},null,8,["visible","format","parsed-value"])],2)),[[s(sa),Se]])],2)],2)):Z("v-if",!0),k("div",{class:$([[s(g).e("content"),s(w).e("content")],"is-left"])},[k("div",{class:$(s(w).e("header"))},[k("button",{type:"button",class:$([s(g).e("icon-btn"),"d-arrow-left"]),"aria-label":s(O)("el.datepicker.prevYear"),onClick:se},[W(s(Be),null,{default:G(()=>[W(s(Mr))]),_:1})],10,Bq),k("button",{type:"button",class:$([s(g).e("icon-btn"),"arrow-left"]),"aria-label":s(O)("el.datepicker.prevMonth"),onClick:_e},[W(s(Be),null,{default:G(()=>[W(s(aa))]),_:1})],10,zq),ee.unlinkPanels?(y(),M("button",{key:0,type:"button",disabled:!s(te),class:$([[s(g).e("icon-btn"),{"is-disabled":!s(te)}],"d-arrow-right"]),"aria-label":s(O)("el.datepicker.nextYear"),onClick:ae},[W(s(Be),null,{default:G(()=>[W(s($r))]),_:1})],10,Hq)):Z("v-if",!0),ee.unlinkPanels?(y(),M("button",{key:1,type:"button",disabled:!s(U),class:$([[s(g).e("icon-btn"),{"is-disabled":!s(U)}],"arrow-right"]),"aria-label":s(O)("el.datepicker.nextMonth"),onClick:Te},[W(s(Be),null,{default:G(()=>[W(s(Sn))]),_:1})],10,Dq)):Z("v-if",!0),k("div",null,Me(s(L)),1)],2),W(Hf,{"selection-mode":"range",date:p.value,"min-date":s(m),"max-date":s(v),"range-state":s(_),"disabled-date":s(a),"cell-class-name":s(r),onChangerange:s(b),onPick:ye,onSelect:s(E)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","onSelect"])],2),k("div",{class:$([[s(g).e("content"),s(w).e("content")],"is-right"])},[k("div",{class:$(s(w).e("header"))},[ee.unlinkPanels?(y(),M("button",{key:0,type:"button",disabled:!s(te),class:$([[s(g).e("icon-btn"),{"is-disabled":!s(te)}],"d-arrow-left"]),"aria-label":s(O)("el.datepicker.prevYear"),onClick:ce},[W(s(Be),null,{default:G(()=>[W(s(Mr))]),_:1})],10,Fq)):Z("v-if",!0),ee.unlinkPanels?(y(),M("button",{key:1,type:"button",disabled:!s(U),class:$([[s(g).e("icon-btn"),{"is-disabled":!s(U)}],"arrow-left"]),"aria-label":s(O)("el.datepicker.prevMonth"),onClick:ge},[W(s(Be),null,{default:G(()=>[W(s(aa))]),_:1})],10,Kq)):Z("v-if",!0),k("button",{type:"button","aria-label":s(O)("el.datepicker.nextYear"),class:$([s(g).e("icon-btn"),"d-arrow-right"]),onClick:Q},[W(s(Be),null,{default:G(()=>[W(s($r))]),_:1})],10,Wq),k("button",{type:"button",class:$([s(g).e("icon-btn"),"arrow-right"]),"aria-label":s(O)("el.datepicker.nextMonth"),onClick:le},[W(s(Be),null,{default:G(()=>[W(s(Sn))]),_:1})],10,jq),k("div",null,Me(s(P)),1)],2),W(Hf,{"selection-mode":"range",date:h.value,"min-date":s(m),"max-date":s(v),"range-state":s(_),"disabled-date":s(a),"cell-class-name":s(r),onChangerange:s(b),onPick:ye,onSelect:s(E)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","onSelect"])],2)],2)],2),s(be)?(y(),M("div",{key:0,class:$(s(g).e("footer"))},[s(u)?(y(),oe(s(rn),{key:0,text:"",size:"small",class:$(s(g).e("link-btn")),onClick:dt},{default:G(()=>[vt(Me(s(O)("el.datepicker.clear")),1)]),_:1},8,["class"])):Z("v-if",!0),W(s(rn),{plain:"",size:"small",class:$(s(g).e("link-btn")),disabled:s(ve),onClick:ie[10]||(ie[10]=ke=>s(C)(!1))},{default:G(()=>[vt(Me(s(O)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])],2)):Z("v-if",!0)],2))}});var Uq=xe(qq,[["__file","panel-date-range.vue"]]);const Yq=Ee({...o8}),Gq=["pick","set-picker-option","calendar-change"],Xq=({unlinkPanels:e,leftDate:t,rightDate:n})=>{const{t:o}=_t(),a=()=>{t.value=t.value.subtract(1,"year"),e.value||(n.value=n.value.subtract(1,"year"))},r=()=>{e.value||(t.value=t.value.add(1,"year")),n.value=n.value.add(1,"year")},l=()=>{t.value=t.value.add(1,"year")},i=()=>{n.value=n.value.subtract(1,"year")},u=S(()=>`${t.value.year()} ${o("el.datepicker.year")}`),d=S(()=>`${n.value.year()} ${o("el.datepicker.year")}`),f=S(()=>t.value.year()),c=S(()=>n.value.year()===t.value.year()?t.value.year()+1:n.value.year());return{leftPrevYear:a,rightNextYear:r,leftNextYear:l,rightPrevYear:i,leftLabel:u,rightLabel:d,leftYear:f,rightYear:c}},Jq=["onClick"],Zq=["disabled"],Qq=["disabled"],zi="year",eU=A({name:"DatePickerMonthRange"}),tU=A({...eU,props:Yq,emits:Gq,setup(e,{emit:t}){const n=e,{lang:o}=_t(),a=Pe("EP_PICKER_BASE"),{shortcuts:r,disabledDate:l,format:i}=a.props,u=At(a.props,"defaultValue"),d=R(at().locale(o.value)),f=R(at().locale(o.value).add(1,zi)),{minDate:c,maxDate:p,rangeState:h,ppNs:m,drpNs:v,handleChangeRange:_,handleRangeConfirm:g,handleShortcutClick:w,onSelect:b}=r8(n,{defaultValue:u,leftDate:d,rightDate:f,unit:zi,onParsedValueChanged:B}),C=S(()=>!!r.length),{leftPrevYear:x,rightNextYear:E,leftNextYear:O,rightPrevYear:T,leftLabel:V,rightLabel:L,leftYear:P,rightYear:z}=Xq({unlinkPanels:At(n,"unlinkPanels"),leftDate:d,rightDate:f}),j=S(()=>n.unlinkPanels&&z.value>P.value+1),K=(I,H=!0)=>{const N=I.minDate,D=I.maxDate;p.value===D&&c.value===N||(t("calendar-change",[N.toDate(),D&&D.toDate()]),p.value=D,c.value=N,H&&g())},F=I=>I.map(H=>H.format(i));function B(I,H){if(n.unlinkPanels&&H){const N=(I==null?void 0:I.year())||0,D=H.year();f.value=N===D?H.add(1,zi):H}else f.value=d.value.add(1,zi)}return t("set-picker-option",["formatToString",F]),(I,H)=>(y(),M("div",{class:$([s(m).b(),s(v).b(),{"has-sidebar":!!I.$slots.sidebar||s(C)}])},[k("div",{class:$(s(m).e("body-wrapper"))},[re(I.$slots,"sidebar",{class:$(s(m).e("sidebar"))}),s(C)?(y(),M("div",{key:0,class:$(s(m).e("sidebar"))},[(y(!0),M(Fe,null,mt(s(r),(N,D)=>(y(),M("button",{key:D,type:"button",class:$(s(m).e("shortcut")),onClick:q=>s(w)(N)},Me(N.text),11,Jq))),128))],2)):Z("v-if",!0),k("div",{class:$(s(m).e("body"))},[k("div",{class:$([[s(m).e("content"),s(v).e("content")],"is-left"])},[k("div",{class:$(s(v).e("header"))},[k("button",{type:"button",class:$([s(m).e("icon-btn"),"d-arrow-left"]),onClick:H[0]||(H[0]=(...N)=>s(x)&&s(x)(...N))},[W(s(Be),null,{default:G(()=>[W(s(Mr))]),_:1})],2),I.unlinkPanels?(y(),M("button",{key:0,type:"button",disabled:!s(j),class:$([[s(m).e("icon-btn"),{[s(m).is("disabled")]:!s(j)}],"d-arrow-right"]),onClick:H[1]||(H[1]=(...N)=>s(O)&&s(O)(...N))},[W(s(Be),null,{default:G(()=>[W(s($r))]),_:1})],10,Zq)):Z("v-if",!0),k("div",null,Me(s(V)),1)],2),W(Df,{"selection-mode":"range",date:d.value,"min-date":s(c),"max-date":s(p),"range-state":s(h),"disabled-date":s(l),onChangerange:s(_),onPick:K,onSelect:s(b)},null,8,["date","min-date","max-date","range-state","disabled-date","onChangerange","onSelect"])],2),k("div",{class:$([[s(m).e("content"),s(v).e("content")],"is-right"])},[k("div",{class:$(s(v).e("header"))},[I.unlinkPanels?(y(),M("button",{key:0,type:"button",disabled:!s(j),class:$([[s(m).e("icon-btn"),{"is-disabled":!s(j)}],"d-arrow-left"]),onClick:H[2]||(H[2]=(...N)=>s(T)&&s(T)(...N))},[W(s(Be),null,{default:G(()=>[W(s(Mr))]),_:1})],10,Qq)):Z("v-if",!0),k("button",{type:"button",class:$([s(m).e("icon-btn"),"d-arrow-right"]),onClick:H[3]||(H[3]=(...N)=>s(E)&&s(E)(...N))},[W(s(Be),null,{default:G(()=>[W(s($r))]),_:1})],2),k("div",null,Me(s(L)),1)],2),W(Df,{"selection-mode":"range",date:f.value,"min-date":s(c),"max-date":s(p),"range-state":s(h),"disabled-date":s(l),onChangerange:s(_),onPick:K,onSelect:s(b)},null,8,["date","min-date","max-date","range-state","disabled-date","onChangerange","onSelect"])],2)],2)],2)],2))}});var nU=xe(tU,[["__file","panel-month-range.vue"]]);const oU=function(e){switch(e){case"daterange":case"datetimerange":return Uq;case"monthrange":return nU;default:return Rq}};at.extend(k3);at.extend(Dj);at.extend(H2);at.extend(Kj);at.extend(jj);at.extend(Uj);at.extend(Gj);at.extend(Jj);var aU=A({name:"ElDatePicker",install:null,props:Zj,emits:["update:modelValue"],setup(e,{expose:t,emit:n,slots:o}){const a=me("picker-panel");pt("ElPopperOptions",wt(At(e,"popperOptions"))),pt(K2,{slots:o,pickerNs:a});const r=R();t({focus:(u=!0)=>{var d;(d=r.value)==null||d.focus(u)},handleOpen:()=>{var u;(u=r.value)==null||u.handleOpen()},handleClose:()=>{var u;(u=r.value)==null||u.handleClose()}});const i=u=>{n("update:modelValue",u)};return()=>{var u;const d=(u=e.format)!=null?u:ND[e.type]||Gr,f=oU(e.type);return W(d3,ft(e,{format:d,type:e.type,ref:r,"onUpdate:modelValue":i}),{default:c=>W(f,c,null),"range-separator":o["range-separator"]})}}});const su=aU;su.install=e=>{e.component(su.name,su)};const rU=su,q2=Symbol("elDescriptions");var Yl=A({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:Pe(q2,{})}},render(){var e,t,n,o,a,r,l;const i=$P(this.cell),u=(((e=this.cell)==null?void 0:e.dirs)||[]).map(x=>{const{dir:E,arg:O,modifiers:T,value:V}=x;return[E,V,O,T]}),{border:d,direction:f}=this.descriptions,c=f==="vertical",p=((o=(n=(t=this.cell)==null?void 0:t.children)==null?void 0:n.label)==null?void 0:o.call(n))||i.label,h=(l=(r=(a=this.cell)==null?void 0:a.children)==null?void 0:r.default)==null?void 0:l.call(r),m=i.span,v=i.align?`is-${i.align}`:"",_=i.labelAlign?`is-${i.labelAlign}`:v,g=i.className,w=i.labelClassName,b={width:Xt(i.width),minWidth:Xt(i.minWidth)},C=me("descriptions");switch(this.type){case"label":return Qe(qe(this.tag,{style:b,class:[C.e("cell"),C.e("label"),C.is("bordered-label",d),C.is("vertical-label",c),_,w],colSpan:c?m:1},p),u);case"content":return Qe(qe(this.tag,{style:b,class:[C.e("cell"),C.e("content"),C.is("bordered-content",d),C.is("vertical-content",c),v,g],colSpan:c?m:m*2-1},h),u);default:return Qe(qe("td",{style:b,class:[C.e("cell"),v],colSpan:m},[tn(p)?void 0:qe("span",{class:[C.e("label"),w]},p),qe("span",{class:[C.e("content"),g]},h)]),u)}}});const lU=Ee({row:{type:X(Array),default:()=>[]}}),sU={key:1},iU=A({name:"ElDescriptionsRow"}),uU=A({...iU,props:lU,setup(e){const t=Pe(q2,{});return(n,o)=>s(t).direction==="vertical"?(y(),M(Fe,{key:0},[k("tr",null,[(y(!0),M(Fe,null,mt(n.row,(a,r)=>(y(),oe(s(Yl),{key:`tr1-${r}`,cell:a,tag:"th",type:"label"},null,8,["cell"]))),128))]),k("tr",null,[(y(!0),M(Fe,null,mt(n.row,(a,r)=>(y(),oe(s(Yl),{key:`tr2-${r}`,cell:a,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(y(),M("tr",sU,[(y(!0),M(Fe,null,mt(n.row,(a,r)=>(y(),M(Fe,{key:`tr3-${r}`},[s(t).border?(y(),M(Fe,{key:0},[W(s(Yl),{cell:a,tag:"td",type:"label"},null,8,["cell"]),W(s(Yl),{cell:a,tag:"td",type:"content"},null,8,["cell"])],64)):(y(),oe(s(Yl),{key:1,cell:a,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var cU=xe(uU,[["__file","descriptions-row.vue"]]);const dU=Ee({border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:cn,title:{type:String,default:""},extra:{type:String,default:""}}),fU=A({name:"ElDescriptions"}),pU=A({...fU,props:dU,setup(e){const t=e,n=me("descriptions"),o=an(),a=fn();pt(q2,t);const r=S(()=>[n.b(),n.m(o.value)]),l=(u,d,f,c=!1)=>(u.props||(u.props={}),d>f&&(u.props.span=f),c&&(u.props.span=d),u),i=()=>{if(!a.default)return[];const u=La(a.default()).filter(h=>{var m;return((m=h==null?void 0:h.type)==null?void 0:m.name)==="ElDescriptionsItem"}),d=[];let f=[],c=t.column,p=0;return u.forEach((h,m)=>{var v;const _=((v=h.props)==null?void 0:v.span)||1;if(mc?c:_),m===u.length-1){const g=t.column-p%t.column;f.push(l(h,g,c,!0)),d.push(f);return}_(y(),M("div",{class:$(s(r))},[u.title||u.extra||u.$slots.title||u.$slots.extra?(y(),M("div",{key:0,class:$(s(n).e("header"))},[k("div",{class:$(s(n).e("title"))},[re(u.$slots,"title",{},()=>[vt(Me(u.title),1)])],2),k("div",{class:$(s(n).e("extra"))},[re(u.$slots,"extra",{},()=>[vt(Me(u.extra),1)])],2)],2)):Z("v-if",!0),k("div",{class:$(s(n).e("body"))},[k("table",{class:$([s(n).e("table"),s(n).is("bordered",u.border)])},[k("tbody",null,[(y(!0),M(Fe,null,mt(i(),(f,c)=>(y(),oe(cU,{key:c,row:f},null,8,["row"]))),128))])],2)],2)],2))}});var vU=xe(pU,[["__file","description.vue"]]);const hU=Ee({label:{type:String,default:""},span:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},labelAlign:{type:String,default:""},className:{type:String,default:""},labelClassName:{type:String,default:""}}),l8=A({name:"ElDescriptionsItem",props:hU}),mU=lt(vU,{DescriptionsItem:l8}),gU=Dt(l8),yU=Ee({mask:{type:Boolean,default:!0},customMaskEvent:{type:Boolean,default:!1},overlayClass:{type:X([String,Array,Object])},zIndex:{type:X([String,Number])}}),_U={click:e=>e instanceof MouseEvent},bU="overlay";var wU=A({name:"ElOverlay",props:yU,emits:_U,setup(e,{slots:t,emit:n}){const o=me(bU),a=u=>{n("click",u)},{onClick:r,onMousedown:l,onMouseup:i}=E2(e.customMaskEvent?void 0:a);return()=>e.mask?W("div",{class:[o.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:r,onMousedown:l,onMouseup:i},[re(t,"default")],Zn.STYLE|Zn.CLASS|Zn.PROPS,["onClick","onMouseup","onMousedown"]):qe("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[re(t,"default")])}});const U2=wU,s8=Symbol("dialogInjectionKey"),i8=Ee({center:Boolean,alignCenter:Boolean,closeIcon:{type:$t},draggable:Boolean,overflow:Boolean,fullscreen:Boolean,showClose:{type:Boolean,default:!0},title:{type:String,default:""},ariaLevel:{type:String,default:"2"}}),CU={close:()=>!0},SU=["aria-level"],kU=["aria-label"],EU=["id"],xU=A({name:"ElDialogContent"}),MU=A({...xU,props:i8,emits:CU,setup(e){const t=e,{t:n}=_t(),{Close:o}=c2,{dialogRef:a,headerRef:r,bodyId:l,ns:i,style:u}=Pe(s8),{focusTrapRef:d}=Pe(V2),f=S(()=>[i.b(),i.is("fullscreen",t.fullscreen),i.is("draggable",t.draggable),i.is("align-center",t.alignCenter),{[i.m("center")]:t.center}]),c=xc(d,a),p=S(()=>t.draggable),h=S(()=>t.overflow);return t6(a,r,p,h),(m,v)=>(y(),M("div",{ref:s(c),class:$(s(f)),style:De(s(u)),tabindex:"-1"},[k("header",{ref_key:"headerRef",ref:r,class:$([s(i).e("header"),{"show-close":m.showClose}])},[re(m.$slots,"header",{},()=>[k("span",{role:"heading","aria-level":m.ariaLevel,class:$(s(i).e("title"))},Me(m.title),11,SU)]),m.showClose?(y(),M("button",{key:0,"aria-label":s(n)("el.dialog.close"),class:$(s(i).e("headerbtn")),type:"button",onClick:v[0]||(v[0]=_=>m.$emit("close"))},[W(s(Be),{class:$(s(i).e("close"))},{default:G(()=>[(y(),oe(ut(m.closeIcon||s(o))))]),_:1},8,["class"])],10,kU)):Z("v-if",!0)],2),k("div",{id:s(l),class:$(s(i).e("body"))},[re(m.$slots,"default")],10,EU),m.$slots.footer?(y(),M("footer",{key:0,class:$(s(i).e("footer"))},[re(m.$slots,"footer")],2)):Z("v-if",!0)],6))}});var $U=xe(MU,[["__file","dialog-content.vue"]]);const u8=Ee({...i8,appendToBody:Boolean,appendTo:{type:X(String),default:"body"},beforeClose:{type:X(Function)},destroyOnClose:Boolean,closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},top:{type:String},modelValue:Boolean,modalClass:String,width:{type:[String,Number]},zIndex:{type:Number},trapFocus:{type:Boolean,default:!1},headerAriaLevel:{type:String,default:"2"}}),c8={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[it]:e=>Qt(e),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},d8=(e,t)=>{var n;const a=rt().emit,{nextZIndex:r}=zl();let l="";const i=kn(),u=kn(),d=R(!1),f=R(!1),c=R(!1),p=R((n=e.zIndex)!=null?n:r());let h,m;const v=Nc("namespace",ds),_=S(()=>{const F={},B=`--${v.value}-dialog`;return e.fullscreen||(e.top&&(F[`${B}-margin-top`]=e.top),e.width&&(F[`${B}-width`]=Xt(e.width))),F}),g=S(()=>e.alignCenter?{display:"flex"}:{});function w(){a("opened")}function b(){a("closed"),a(it,!1),e.destroyOnClose&&(c.value=!1)}function C(){a("close")}function x(){m==null||m(),h==null||h(),e.openDelay&&e.openDelay>0?{stop:h}=Cr(()=>V(),e.openDelay):V()}function E(){h==null||h(),m==null||m(),e.closeDelay&&e.closeDelay>0?{stop:m}=Cr(()=>L(),e.closeDelay):L()}function O(){function F(B){B||(f.value=!0,d.value=!1)}e.beforeClose?e.beforeClose(F):E()}function T(){e.closeOnClickModal&&O()}function V(){gt&&(d.value=!0)}function L(){d.value=!1}function P(){a("openAutoFocus")}function z(){a("closeAutoFocus")}function j(F){var B;((B=F.detail)==null?void 0:B.focusReason)==="pointer"&&F.preventDefault()}e.lockScroll&&m2(d);function K(){e.closeOnPressEscape&&O()}return pe(()=>e.modelValue,F=>{F?(f.value=!1,x(),c.value=!0,p.value=xg(e.zIndex)?r():p.value++,We(()=>{a("open"),t.value&&(t.value.scrollTop=0)})):d.value&&E()}),pe(()=>e.fullscreen,F=>{t.value&&(F?(l=t.value.style.transform,t.value.style.transform=""):t.value.style.transform=l)}),et(()=>{e.modelValue&&(d.value=!0,c.value=!0,x())}),{afterEnter:w,afterLeave:b,beforeLeave:C,handleClose:O,onModalClick:T,close:E,doClose:L,onOpenAutoFocus:P,onCloseAutoFocus:z,onCloseRequested:K,onFocusoutPrevented:j,titleId:i,bodyId:u,closed:f,style:_,overlayDialogStyle:g,rendered:c,visible:d,zIndex:p}},TU=["aria-label","aria-labelledby","aria-describedby"],AU=A({name:"ElDialog",inheritAttrs:!1}),OU=A({...AU,props:u8,emits:c8,setup(e,{expose:t}){const n=e,o=fn();gr({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},S(()=>!!o.title));const a=me("dialog"),r=R(),l=R(),i=R(),{visible:u,titleId:d,bodyId:f,style:c,overlayDialogStyle:p,rendered:h,zIndex:m,afterEnter:v,afterLeave:_,beforeLeave:g,handleClose:w,onModalClick:b,onOpenAutoFocus:C,onCloseAutoFocus:x,onCloseRequested:E,onFocusoutPrevented:O}=d8(n,r);pt(s8,{dialogRef:r,headerRef:l,bodyId:f,ns:a,rendered:h,style:c});const T=E2(b),V=S(()=>n.draggable&&!n.fullscreen);return t({visible:u,dialogContentRef:i}),(L,P)=>(y(),oe(Nl,{to:L.appendTo,disabled:L.appendTo!=="body"?!1:!L.appendToBody},[W(nn,{name:"dialog-fade",onAfterEnter:s(v),onAfterLeave:s(_),onBeforeLeave:s(g),persisted:""},{default:G(()=>[Qe(W(s(U2),{"custom-mask-event":"",mask:L.modal,"overlay-class":L.modalClass,"z-index":s(m)},{default:G(()=>[k("div",{role:"dialog","aria-modal":"true","aria-label":L.title||void 0,"aria-labelledby":L.title?void 0:s(d),"aria-describedby":s(f),class:$(`${s(a).namespace.value}-overlay-dialog`),style:De(s(p)),onClick:P[0]||(P[0]=(...z)=>s(T).onClick&&s(T).onClick(...z)),onMousedown:P[1]||(P[1]=(...z)=>s(T).onMousedown&&s(T).onMousedown(...z)),onMouseup:P[2]||(P[2]=(...z)=>s(T).onMouseup&&s(T).onMouseup(...z))},[W(s(ii),{loop:"",trapped:s(u),"focus-start-el":"container",onFocusAfterTrapped:s(C),onFocusAfterReleased:s(x),onFocusoutPrevented:s(O),onReleaseRequested:s(E)},{default:G(()=>[s(h)?(y(),oe($U,ft({key:0,ref_key:"dialogContentRef",ref:i},L.$attrs,{center:L.center,"align-center":L.alignCenter,"close-icon":L.closeIcon,draggable:s(V),overflow:L.overflow,fullscreen:L.fullscreen,"show-close":L.showClose,title:L.title,"aria-level":L.headerAriaLevel,onClose:s(w)}),na({header:G(()=>[L.$slots.title?re(L.$slots,"title",{key:1}):re(L.$slots,"header",{key:0,close:s(w),titleId:s(d),titleClass:s(a).e("title")})]),default:G(()=>[re(L.$slots,"default")]),_:2},[L.$slots.footer?{name:"footer",fn:G(()=>[re(L.$slots,"footer")])}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","show-close","title","aria-level","onClose"])):Z("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,TU)]),_:3},8,["mask","overlay-class","z-index"]),[[bt,s(u)]])]),_:3},8,["onAfterEnter","onAfterLeave","onBeforeLeave"])],8,["to","disabled"]))}});var NU=xe(OU,[["__file","dialog.vue"]]);const IU=lt(NU),RU=Ee({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},contentPosition:{type:String,values:["left","center","right"],default:"center"},borderStyle:{type:X(String),default:"solid"}}),PU=A({name:"ElDivider"}),LU=A({...PU,props:RU,setup(e){const t=e,n=me("divider"),o=S(()=>n.cssVar({"border-style":t.borderStyle}));return(a,r)=>(y(),M("div",{class:$([s(n).b(),s(n).m(a.direction)]),style:De(s(o)),role:"separator"},[a.$slots.default&&a.direction!=="vertical"?(y(),M("div",{key:0,class:$([s(n).e("text"),s(n).is(a.contentPosition)])},[re(a.$slots,"default")],2)):Z("v-if",!0)],6))}});var VU=xe(LU,[["__file","divider.vue"]]);const f8=lt(VU),BU=Ee({...u8,direction:{type:String,default:"rtl",values:["ltr","rtl","ttb","btt"]},size:{type:[String,Number],default:"30%"},withHeader:{type:Boolean,default:!0},modalFade:{type:Boolean,default:!0},headerAriaLevel:{type:String,default:"2"}}),zU=c8,HU=["aria-label","aria-labelledby","aria-describedby"],DU=["id","aria-level"],FU=["aria-label"],KU=["id"],WU=A({name:"ElDrawer",inheritAttrs:!1}),jU=A({...WU,props:BU,emits:zU,setup(e,{expose:t}){const n=e,o=fn();gr({scope:"el-drawer",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/drawer.html#slots"},S(()=>!!o.title));const a=R(),r=R(),l=me("drawer"),{t:i}=_t(),{afterEnter:u,afterLeave:d,beforeLeave:f,visible:c,rendered:p,titleId:h,bodyId:m,zIndex:v,onModalClick:_,onOpenAutoFocus:g,onCloseAutoFocus:w,onFocusoutPrevented:b,onCloseRequested:C,handleClose:x}=d8(n,a),E=S(()=>n.direction==="rtl"||n.direction==="ltr"),O=S(()=>Xt(n.size));return t({handleClose:x,afterEnter:u,afterLeave:d}),(T,V)=>(y(),oe(Nl,{to:"body",disabled:!T.appendToBody},[W(nn,{name:s(l).b("fade"),onAfterEnter:s(u),onAfterLeave:s(d),onBeforeLeave:s(f),persisted:""},{default:G(()=>[Qe(W(s(U2),{mask:T.modal,"overlay-class":T.modalClass,"z-index":s(v),onClick:s(_)},{default:G(()=>[W(s(ii),{loop:"",trapped:s(c),"focus-trap-el":a.value,"focus-start-el":r.value,onFocusAfterTrapped:s(g),onFocusAfterReleased:s(w),onFocusoutPrevented:s(b),onReleaseRequested:s(C)},{default:G(()=>[k("div",ft({ref_key:"drawerRef",ref:a,"aria-modal":"true","aria-label":T.title||void 0,"aria-labelledby":T.title?void 0:s(h),"aria-describedby":s(m)},T.$attrs,{class:[s(l).b(),T.direction,s(c)&&"open"],style:s(E)?"width: "+s(O):"height: "+s(O),role:"dialog",onClick:V[1]||(V[1]=Ge(()=>{},["stop"]))}),[k("span",{ref_key:"focusStartRef",ref:r,class:$(s(l).e("sr-focus")),tabindex:"-1"},null,2),T.withHeader?(y(),M("header",{key:0,class:$(s(l).e("header"))},[T.$slots.title?re(T.$slots,"title",{key:1},()=>[Z(" DEPRECATED SLOT ")]):re(T.$slots,"header",{key:0,close:s(x),titleId:s(h),titleClass:s(l).e("title")},()=>[T.$slots.title?Z("v-if",!0):(y(),M("span",{key:0,id:s(h),role:"heading","aria-level":T.headerAriaLevel,class:$(s(l).e("title"))},Me(T.title),11,DU))]),T.showClose?(y(),M("button",{key:2,"aria-label":s(i)("el.drawer.close"),class:$(s(l).e("close-btn")),type:"button",onClick:V[0]||(V[0]=(...L)=>s(x)&&s(x)(...L))},[W(s(Be),{class:$(s(l).e("close"))},{default:G(()=>[W(s(uo))]),_:1},8,["class"])],10,FU)):Z("v-if",!0)],2)):Z("v-if",!0),s(p)?(y(),M("div",{key:1,id:s(m),class:$(s(l).e("body"))},[re(T.$slots,"default")],10,KU)):Z("v-if",!0),T.$slots.footer?(y(),M("div",{key:2,class:$(s(l).e("footer"))},[re(T.$slots,"footer")],2)):Z("v-if",!0)],16,HU)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])]),_:3},8,["mask","overlay-class","z-index","onClick"]),[[bt,s(c)]])]),_:3},8,["name","onAfterEnter","onAfterLeave","onBeforeLeave"])],8,["disabled"]))}});var qU=xe(jU,[["__file","drawer.vue"]]);const UU=lt(qU),YU=A({inheritAttrs:!1});function GU(e,t,n,o,a,r){return re(e.$slots,"default")}var XU=xe(YU,[["render",GU],["__file","collection.vue"]]);const JU=A({name:"ElCollectionItem",inheritAttrs:!1});function ZU(e,t,n,o,a,r){return re(e.$slots,"default")}var QU=xe(JU,[["render",ZU],["__file","collection-item.vue"]]);const p8="data-el-collection-item",v8=e=>{const t=`El${e}Collection`,n=`${t}Item`,o=Symbol(t),a=Symbol(n),r={...XU,name:t,setup(){const i=R(null),u=new Map;pt(o,{itemMap:u,getItems:()=>{const f=s(i);if(!f)return[];const c=Array.from(f.querySelectorAll(`[${p8}]`));return[...u.values()].sort((h,m)=>c.indexOf(h.ref)-c.indexOf(m.ref))},collectionRef:i})}},l={...QU,name:n,setup(i,{attrs:u}){const d=R(null),f=Pe(o,void 0);pt(a,{collectionItemRef:d}),et(()=>{const c=s(d);c&&f.itemMap.set(c,{ref:c,...u})}),It(()=>{const c=s(d);f.itemMap.delete(c)})}};return{COLLECTION_INJECTION_KEY:o,COLLECTION_ITEM_INJECTION_KEY:a,ElCollection:r,ElCollectionItem:l}},eY=Ee({style:{type:X([String,Array,Object])},currentTabId:{type:X(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:X(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:tY,ElCollectionItem:nY,COLLECTION_INJECTION_KEY:Y2,COLLECTION_ITEM_INJECTION_KEY:oY}=v8("RovingFocusGroup"),G2=Symbol("elRovingFocusGroup"),h8=Symbol("elRovingFocusGroupItem"),aY={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},rY=(e,t)=>{if(t!=="rtl")return e;switch(e){case Ke.right:return Ke.left;case Ke.left:return Ke.right;default:return e}},lY=(e,t,n)=>{const o=rY(e.key,n);if(!(t==="vertical"&&[Ke.left,Ke.right].includes(o))&&!(t==="horizontal"&&[Ke.up,Ke.down].includes(o)))return aY[o]},sY=(e,t)=>e.map((n,o)=>e[(o+t)%e.length]),X2=e=>{const{activeElement:t}=document;for(const n of e)if(n===t||(n.focus(),t!==document.activeElement))return},wh="currentTabIdChange",Ch="rovingFocusGroup.entryFocus",iY={bubbles:!1,cancelable:!0},uY=A({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:eY,emits:[wh,"entryFocus"],setup(e,{emit:t}){var n;const o=R((n=e.currentTabId||e.defaultCurrentTabId)!=null?n:null),a=R(!1),r=R(!1),l=R(null),{getItems:i}=Pe(Y2,void 0),u=S(()=>[{outline:"none"},e.style]),d=v=>{t(wh,v)},f=()=>{a.value=!0},c=jt(v=>{var _;(_=e.onMousedown)==null||_.call(e,v)},()=>{r.value=!0}),p=jt(v=>{var _;(_=e.onFocus)==null||_.call(e,v)},v=>{const _=!s(r),{target:g,currentTarget:w}=v;if(g===w&&_&&!s(a)){const b=new Event(Ch,iY);if(w==null||w.dispatchEvent(b),!b.defaultPrevented){const C=i().filter(V=>V.focusable),x=C.find(V=>V.active),E=C.find(V=>V.id===s(o)),T=[x,E,...C].filter(Boolean).map(V=>V.ref);X2(T)}}r.value=!1}),h=jt(v=>{var _;(_=e.onBlur)==null||_.call(e,v)},()=>{a.value=!1}),m=(...v)=>{t("entryFocus",...v)};pt(G2,{currentTabbedId:Ol(o),loop:At(e,"loop"),tabIndex:S(()=>s(a)?-1:0),rovingFocusGroupRef:l,rovingFocusGroupRootStyle:u,orientation:At(e,"orientation"),dir:At(e,"dir"),onItemFocus:d,onItemShiftTab:f,onBlur:h,onFocus:p,onMousedown:c}),pe(()=>e.currentTabId,v=>{o.value=v??null}),Vt(l,Ch,m)}});function cY(e,t,n,o,a,r){return re(e.$slots,"default")}var dY=xe(uY,[["render",cY],["__file","roving-focus-group-impl.vue"]]);const fY=A({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:tY,ElRovingFocusGroupImpl:dY}});function pY(e,t,n,o,a,r){const l=nt("el-roving-focus-group-impl"),i=nt("el-focus-group-collection");return y(),oe(i,null,{default:G(()=>[W(l,Jo(pl(e.$attrs)),{default:G(()=>[re(e.$slots,"default")]),_:3},16)]),_:3})}var vY=xe(fY,[["render",pY],["__file","roving-focus-group.vue"]]);const hY=A({components:{ElRovingFocusCollectionItem:nY},props:{focusable:{type:Boolean,default:!0},active:{type:Boolean,default:!1}},emits:["mousedown","focus","keydown"],setup(e,{emit:t}){const{currentTabbedId:n,loop:o,onItemFocus:a,onItemShiftTab:r}=Pe(G2,void 0),{getItems:l}=Pe(Y2,void 0),i=kn(),u=R(null),d=jt(h=>{t("mousedown",h)},h=>{e.focusable?a(s(i)):h.preventDefault()}),f=jt(h=>{t("focus",h)},()=>{a(s(i))}),c=jt(h=>{t("keydown",h)},h=>{const{key:m,shiftKey:v,target:_,currentTarget:g}=h;if(m===Ke.tab&&v){r();return}if(_!==g)return;const w=lY(h);if(w){h.preventDefault();let C=l().filter(x=>x.focusable).map(x=>x.ref);switch(w){case"last":{C.reverse();break}case"prev":case"next":{w==="prev"&&C.reverse();const x=C.indexOf(g);C=o.value?sY(C,x+1):C.slice(x+1);break}}We(()=>{X2(C)})}}),p=S(()=>n.value===s(i));return pt(h8,{rovingFocusGroupItemRef:u,tabIndex:S(()=>s(p)?0:-1),handleMousedown:d,handleFocus:f,handleKeydown:c}),{id:i,handleKeydown:c,handleFocus:f,handleMousedown:d}}});function mY(e,t,n,o,a,r){const l=nt("el-roving-focus-collection-item");return y(),oe(l,{id:e.id,focusable:e.focusable,active:e.active},{default:G(()=>[re(e.$slots,"default")]),_:3},8,["id","focusable","active"])}var gY=xe(hY,[["render",mY],["__file","roving-focus-item.vue"]]);const iu=Ee({trigger:Ps.trigger,effect:{...pn.effect,default:"light"},type:{type:X(String)},placement:{type:X(String),default:"bottom"},popperOptions:{type:X(Object),default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:X([Number,String]),default:0},maxHeight:{type:X([Number,String]),default:""},popperClass:{type:String,default:""},disabled:{type:Boolean,default:!1},role:{type:String,default:"menu"},buttonProps:{type:X(Object)},teleported:pn.teleported}),m8=Ee({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:$t}}),yY=Ee({onKeydown:{type:X(Function)}}),_Y=[Ke.down,Ke.pageDown,Ke.home],g8=[Ke.up,Ke.pageUp,Ke.end],bY=[..._Y,...g8],{ElCollection:wY,ElCollectionItem:CY,COLLECTION_INJECTION_KEY:SY,COLLECTION_ITEM_INJECTION_KEY:kY}=v8("Dropdown"),Bc=Symbol("elDropdown"),{ButtonGroup:EY}=rn,xY=A({name:"ElDropdown",components:{ElButton:rn,ElButtonGroup:EY,ElScrollbar:ha,ElDropdownCollection:wY,ElTooltip:En,ElRovingFocusGroup:vY,ElOnlyChild:K6,ElIcon:Be,ArrowDown:Bo},props:iu,emits:["visible-change","click","command"],setup(e,{emit:t}){const n=rt(),o=me("dropdown"),{t:a}=_t(),r=R(),l=R(),i=R(null),u=R(null),d=R(null),f=R(null),c=R(!1),p=[Ke.enter,Ke.space,Ke.down],h=S(()=>({maxHeight:Xt(e.maxHeight)})),m=S(()=>[o.m(x.value)]),v=S(()=>kr(e.trigger)),_=kn().value,g=S(()=>e.id||_);pe([r,v],([I,H],[N])=>{var D,q,Y;(D=N==null?void 0:N.$el)!=null&&D.removeEventListener&&N.$el.removeEventListener("pointerenter",O),(q=I==null?void 0:I.$el)!=null&&q.removeEventListener&&I.$el.removeEventListener("pointerenter",O),(Y=I==null?void 0:I.$el)!=null&&Y.addEventListener&&H.includes("hover")&&I.$el.addEventListener("pointerenter",O)},{immediate:!0}),It(()=>{var I,H;(H=(I=r.value)==null?void 0:I.$el)!=null&&H.removeEventListener&&r.value.$el.removeEventListener("pointerenter",O)});function w(){b()}function b(){var I;(I=i.value)==null||I.onClose()}function C(){var I;(I=i.value)==null||I.onOpen()}const x=an();function E(...I){t("command",...I)}function O(){var I,H;(H=(I=r.value)==null?void 0:I.$el)==null||H.focus()}function T(){}function V(){const I=s(u);v.value.includes("hover")&&(I==null||I.focus()),f.value=null}function L(I){f.value=I}function P(I){c.value||(I.preventDefault(),I.stopImmediatePropagation())}function z(){t("visible-change",!0)}function j(I){(I==null?void 0:I.type)==="keydown"&&u.value.focus()}function K(){t("visible-change",!1)}return pt(Bc,{contentRef:u,role:S(()=>e.role),triggerId:g,isUsingKeyboard:c,onItemEnter:T,onItemLeave:V}),pt("elDropdown",{instance:n,dropdownSize:x,handleClick:w,commandHandler:E,trigger:At(e,"trigger"),hideOnClick:At(e,"hideOnClick")}),{t:a,ns:o,scrollbar:d,wrapStyle:h,dropdownTriggerKls:m,dropdownSize:x,triggerId:g,triggerKeys:p,currentTabId:f,handleCurrentTabIdChange:L,handlerMainButtonClick:I=>{t("click",I)},handleEntryFocus:P,handleClose:b,handleOpen:C,handleBeforeShowTooltip:z,handleShowTooltip:j,handleBeforeHideTooltip:K,onFocusAfterTrapped:I=>{var H,N;I.preventDefault(),(N=(H=u.value)==null?void 0:H.focus)==null||N.call(H,{preventScroll:!0})},popperRef:i,contentRef:u,triggeringElementRef:r,referenceElementRef:l}}});function MY(e,t,n,o,a,r){var l;const i=nt("el-dropdown-collection"),u=nt("el-roving-focus-group"),d=nt("el-scrollbar"),f=nt("el-only-child"),c=nt("el-tooltip"),p=nt("el-button"),h=nt("arrow-down"),m=nt("el-icon"),v=nt("el-button-group");return y(),M("div",{class:$([e.ns.b(),e.ns.is("disabled",e.disabled)])},[W(c,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,"hide-after":e.trigger==="hover"?e.hideTimeout:0,"manual-mode":!0,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"reference-element":(l=e.referenceElementRef)==null?void 0:l.$el,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-after":e.trigger==="hover"?e.showTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":e.triggeringElementRef,"virtual-triggering":e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,pure:"",persistent:"",onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},na({content:G(()=>[W(d,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:G(()=>[W(u,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange,onEntryFocus:e.handleEntryFocus},{default:G(()=>[W(i,null,{default:G(()=>[re(e.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange","onEntryFocus"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:G(()=>[W(f,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:G(()=>[re(e.$slots,"default")]),_:3},8,["id","tabindex"])])}]),1032,["role","effect","popper-options","hide-after","placement","popper-class","reference-element","trigger","trigger-keys","trigger-target-el","show-after","virtual-ref","virtual-triggering","disabled","transition","teleported","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(y(),oe(v,{key:0},{default:G(()=>[W(p,ft({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:G(()=>[re(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),W(p,ft({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:G(()=>[W(m,{class:$(e.ns.e("icon"))},{default:G(()=>[W(h)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):Z("v-if",!0)],2)}var $Y=xe(xY,[["render",MY],["__file","dropdown.vue"]]);const TY=A({name:"DropdownItemImpl",components:{ElIcon:Be},props:m8,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:t}){const n=me("dropdown"),{role:o}=Pe(Bc,void 0),{collectionItemRef:a}=Pe(kY,void 0),{collectionItemRef:r}=Pe(oY,void 0),{rovingFocusGroupItemRef:l,tabIndex:i,handleFocus:u,handleKeydown:d,handleMousedown:f}=Pe(h8,void 0),c=xc(a,r,l),p=S(()=>o.value==="menu"?"menuitem":o.value==="navigation"?"link":"button"),h=jt(m=>{const{code:v}=m;if(v===Ke.enter||v===Ke.space)return m.preventDefault(),m.stopImmediatePropagation(),t("clickimpl",m),!0},d);return{ns:n,itemRef:c,dataset:{[p8]:""},role:p,tabIndex:i,handleFocus:u,handleKeydown:h,handleMousedown:f}}}),AY=["aria-disabled","tabindex","role"];function OY(e,t,n,o,a,r){const l=nt("el-icon");return y(),M(Fe,null,[e.divided?(y(),M("li",ft({key:0,role:"separator",class:e.ns.bem("menu","item","divided")},e.$attrs),null,16)):Z("v-if",!0),k("li",ft({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:t[0]||(t[0]=i=>e.$emit("clickimpl",i)),onFocus:t[1]||(t[1]=(...i)=>e.handleFocus&&e.handleFocus(...i)),onKeydown:t[2]||(t[2]=Ge((...i)=>e.handleKeydown&&e.handleKeydown(...i),["self"])),onMousedown:t[3]||(t[3]=(...i)=>e.handleMousedown&&e.handleMousedown(...i)),onPointermove:t[4]||(t[4]=i=>e.$emit("pointermove",i)),onPointerleave:t[5]||(t[5]=i=>e.$emit("pointerleave",i))}),[e.icon?(y(),oe(l,{key:0},{default:G(()=>[(y(),oe(ut(e.icon)))]),_:1})):Z("v-if",!0),re(e.$slots,"default")],16,AY)],64)}var NY=xe(TY,[["render",OY],["__file","dropdown-item-impl.vue"]]);const y8=()=>{const e=Pe("elDropdown",{}),t=S(()=>e==null?void 0:e.dropdownSize);return{elDropdown:e,_elDropdownSize:t}},IY=A({name:"ElDropdownItem",components:{ElDropdownCollectionItem:CY,ElRovingFocusItem:gY,ElDropdownItemImpl:NY},inheritAttrs:!1,props:m8,emits:["pointermove","pointerleave","click"],setup(e,{emit:t,attrs:n}){const{elDropdown:o}=y8(),a=rt(),r=R(null),l=S(()=>{var h,m;return(m=(h=s(r))==null?void 0:h.textContent)!=null?m:""}),{onItemEnter:i,onItemLeave:u}=Pe(Bc,void 0),d=jt(h=>(t("pointermove",h),h.defaultPrevented),yv(h=>{if(e.disabled){u(h);return}const m=h.currentTarget;m===document.activeElement||m.contains(document.activeElement)||(i(h),h.defaultPrevented||m==null||m.focus())})),f=jt(h=>(t("pointerleave",h),h.defaultPrevented),yv(h=>{u(h)})),c=jt(h=>{if(!e.disabled)return t("click",h),h.type!=="keydown"&&h.defaultPrevented},h=>{var m,v,_;if(e.disabled){h.stopImmediatePropagation();return}(m=o==null?void 0:o.hideOnClick)!=null&&m.value&&((v=o.handleClick)==null||v.call(o)),(_=o.commandHandler)==null||_.call(o,e.command,a,h)}),p=S(()=>({...e,...n}));return{handleClick:c,handlePointerMove:d,handlePointerLeave:f,textContent:l,propsAndAttrs:p}}});function RY(e,t,n,o,a,r){var l;const i=nt("el-dropdown-item-impl"),u=nt("el-roving-focus-item"),d=nt("el-dropdown-collection-item");return y(),oe(d,{disabled:e.disabled,"text-value":(l=e.textValue)!=null?l:e.textContent},{default:G(()=>[W(u,{focusable:!e.disabled},{default:G(()=>[W(i,ft(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),{default:G(()=>[re(e.$slots,"default")]),_:3},16,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])]),_:3},8,["disabled","text-value"])}var _8=xe(IY,[["render",RY],["__file","dropdown-item.vue"]]);const PY=A({name:"ElDropdownMenu",props:yY,setup(e){const t=me("dropdown"),{_elDropdownSize:n}=y8(),o=n.value,{focusTrapRef:a,onKeydown:r}=Pe(V2,void 0),{contentRef:l,role:i,triggerId:u}=Pe(Bc,void 0),{collectionRef:d,getItems:f}=Pe(SY,void 0),{rovingFocusGroupRef:c,rovingFocusGroupRootStyle:p,tabIndex:h,onBlur:m,onFocus:v,onMousedown:_}=Pe(G2,void 0),{collectionRef:g}=Pe(Y2,void 0),w=S(()=>[t.b("menu"),t.bm("menu",o==null?void 0:o.value)]),b=xc(l,d,a,c,g),C=jt(E=>{var O;(O=e.onKeydown)==null||O.call(e,E)},E=>{const{currentTarget:O,code:T,target:V}=E;if(O.contains(V),Ke.tab===T&&E.stopImmediatePropagation(),E.preventDefault(),V!==s(l)||!bY.includes(T))return;const P=f().filter(z=>!z.disabled).map(z=>z.ref);g8.includes(T)&&P.reverse(),X2(P)});return{size:o,rovingFocusGroupRootStyle:p,tabIndex:h,dropdownKls:w,role:i,triggerId:u,dropdownListWrapperRef:b,handleKeydown:E=>{C(E),r(E)},onBlur:m,onFocus:v,onMousedown:_}}}),LY=["role","aria-labelledby"];function VY(e,t,n,o,a,r){return y(),M("ul",{ref:e.dropdownListWrapperRef,class:$(e.dropdownKls),style:De(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onBlur:t[0]||(t[0]=(...l)=>e.onBlur&&e.onBlur(...l)),onFocus:t[1]||(t[1]=(...l)=>e.onFocus&&e.onFocus(...l)),onKeydown:t[2]||(t[2]=Ge((...l)=>e.handleKeydown&&e.handleKeydown(...l),["self"])),onMousedown:t[3]||(t[3]=Ge((...l)=>e.onMousedown&&e.onMousedown(...l),["self"]))},[re(e.$slots,"default")],46,LY)}var b8=xe(PY,[["render",VY],["__file","dropdown-menu.vue"]]);const BY=lt($Y,{DropdownItem:_8,DropdownMenu:b8}),zY=Dt(_8),HY=Dt(b8),DY={viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},FY=["id"],KY=["stop-color"],WY=["stop-color"],jY=["id"],qY=["stop-color"],UY=["stop-color"],YY=["id"],GY={id:"Illustrations",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},XY={id:"B-type",transform:"translate(-1268.000000, -535.000000)"},JY={id:"Group-2",transform:"translate(1268.000000, 535.000000)"},ZY=["fill"],QY=["fill"],eG={id:"Group-Copy",transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"},tG=["fill"],nG=["fill"],oG=["fill"],aG=["fill"],rG=["fill"],lG={id:"Rectangle-Copy-17",transform:"translate(53.000000, 45.000000)"},sG=["fill","xlink:href"],iG=["fill","mask"],uG=["fill"],cG=A({name:"ImgEmpty"}),dG=A({...cG,setup(e){const t=me("empty"),n=kn();return(o,a)=>(y(),M("svg",DY,[k("defs",null,[k("linearGradient",{id:`linearGradient-1-${s(n)}`,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"},[k("stop",{"stop-color":`var(${s(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,KY),k("stop",{"stop-color":`var(${s(t).cssVarBlockName("fill-color-4")})`,offset:"100%"},null,8,WY)],8,FY),k("linearGradient",{id:`linearGradient-2-${s(n)}`,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"},[k("stop",{"stop-color":`var(${s(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,qY),k("stop",{"stop-color":`var(${s(t).cssVarBlockName("fill-color-6")})`,offset:"100%"},null,8,UY)],8,jY),k("rect",{id:`path-3-${s(n)}`,x:"0",y:"0",width:"17",height:"36"},null,8,YY)]),k("g",GY,[k("g",XY,[k("g",JY,[k("path",{id:"Oval-Copy-2",d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:`var(${s(t).cssVarBlockName("fill-color-3")})`},null,8,ZY),k("polygon",{id:"Rectangle-Copy-14",fill:`var(${s(t).cssVarBlockName("fill-color-7")})`,transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"},null,8,QY),k("g",eG,[k("polygon",{id:"Rectangle-Copy-10",fill:`var(${s(t).cssVarBlockName("fill-color-7")})`,transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"},null,8,tG),k("polygon",{id:"Rectangle-Copy-11",fill:`var(${s(t).cssVarBlockName("fill-color-5")})`,points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"},null,8,nG),k("rect",{id:"Rectangle-Copy-12",fill:`url(#linearGradient-1-${s(n)})`,transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"},null,8,oG),k("polygon",{id:"Rectangle-Copy-13",fill:`var(${s(t).cssVarBlockName("fill-color-2")})`,transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"},null,8,aG)]),k("rect",{id:"Rectangle-Copy-15",fill:`url(#linearGradient-2-${s(n)})`,x:"13",y:"45",width:"40",height:"36"},null,8,rG),k("g",lG,[k("use",{id:"Mask",fill:`var(${s(t).cssVarBlockName("fill-color-8")})`,transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":`#path-3-${s(n)}`},null,8,sG),k("polygon",{id:"Rectangle-Copy",fill:`var(${s(t).cssVarBlockName("fill-color-9")})`,mask:`url(#mask-4-${s(n)})`,transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 7 16.5"},null,8,iG)]),k("polygon",{id:"Rectangle-Copy-18",fill:`var(${s(t).cssVarBlockName("fill-color-2")})`,transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"},null,8,uG)])])])]))}});var fG=xe(dG,[["__file","img-empty.vue"]]);const pG=Ee({image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}}),vG=["src"],hG={key:1},mG=A({name:"ElEmpty"}),gG=A({...mG,props:pG,setup(e){const t=e,{t:n}=_t(),o=me("empty"),a=S(()=>t.description||n("el.table.emptyText")),r=S(()=>({width:Xt(t.imageSize)}));return(l,i)=>(y(),M("div",{class:$(s(o).b())},[k("div",{class:$(s(o).e("image")),style:De(s(r))},[l.image?(y(),M("img",{key:0,src:l.image,ondragstart:"return false"},null,8,vG)):re(l.$slots,"image",{key:1},()=>[W(fG)])],6),k("div",{class:$(s(o).e("description"))},[l.$slots.description?re(l.$slots,"description",{key:0}):(y(),M("p",hG,Me(s(a)),1))],2),l.$slots.default?(y(),M("div",{key:0,class:$(s(o).e("bottom"))},[re(l.$slots,"default")],2)):Z("v-if",!0)],2))}});var yG=xe(gG,[["__file","empty.vue"]]);const w8=lt(yG),_G=Ee({urlList:{type:X(Array),default:()=>Ht([])},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},crossorigin:{type:X(String)}}),bG={close:()=>!0,switch:e=>Ye(e),rotate:e=>Ye(e)},wG=["src","crossorigin"],CG=A({name:"ElImageViewer"}),SG=A({...CG,props:_G,emits:bG,setup(e,{expose:t,emit:n}){var o;const a=e,r={CONTAIN:{name:"contain",icon:hr(Vg)},ORIGINAL:{name:"original",icon:hr(jg)}},{t:l}=_t(),i=me("image-viewer"),{nextZIndex:u}=zl(),d=R(),f=R([]),c=N_(),p=R(!0),h=R(a.initialIndex),m=Rt(r.CONTAIN),v=R({scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),_=R((o=a.zIndex)!=null?o:u()),g=S(()=>{const{urlList:D}=a;return D.length<=1}),w=S(()=>h.value===0),b=S(()=>h.value===a.urlList.length-1),C=S(()=>a.urlList[h.value]),x=S(()=>[i.e("btn"),i.e("prev"),i.is("disabled",!a.infinite&&w.value)]),E=S(()=>[i.e("btn"),i.e("next"),i.is("disabled",!a.infinite&&b.value)]),O=S(()=>{const{scale:D,deg:q,offsetX:Y,offsetY:J,enableTransition:se}=v.value;let _e=Y/D,Q=J/D;switch(q%360){case 90:case-270:[_e,Q]=[Q,-_e];break;case 180:case-180:[_e,Q]=[-_e,-Q];break;case 270:case-90:[_e,Q]=[-Q,_e];break}const le={transform:`scale(${D}) rotate(${q}deg) translate(${_e}px, ${Q}px)`,transition:se?"transform .3s":""};return m.value.name===r.CONTAIN.name&&(le.maxWidth=le.maxHeight="100%"),le});function T(){L(),n("close")}function V(){const D=mr(Y=>{switch(Y.code){case Ke.esc:a.closeOnPressEscape&&T();break;case Ke.space:F();break;case Ke.left:I();break;case Ke.up:N("zoomIn");break;case Ke.right:H();break;case Ke.down:N("zoomOut");break}}),q=mr(Y=>{const J=Y.deltaY||Y.deltaX;N(J<0?"zoomIn":"zoomOut",{zoomRate:a.zoomRate,enableTransition:!1})});c.run(()=>{Vt(document,"keydown",D),Vt(document,"wheel",q)})}function L(){c.stop()}function P(){p.value=!1}function z(D){p.value=!1,D.target.alt=l("el.image.error")}function j(D){if(p.value||D.button!==0||!d.value)return;v.value.enableTransition=!1;const{offsetX:q,offsetY:Y}=v.value,J=D.pageX,se=D.pageY,_e=mr(le=>{v.value={...v.value,offsetX:q+le.pageX-J,offsetY:Y+le.pageY-se}}),Q=Vt(document,"mousemove",_e);Vt(document,"mouseup",()=>{Q()}),D.preventDefault()}function K(){v.value={scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function F(){if(p.value)return;const D=yl(r),q=Object.values(r),Y=m.value.name,se=(q.findIndex(_e=>_e.name===Y)+1)%D.length;m.value=r[D[se]],K()}function B(D){const q=a.urlList.length;h.value=(D+q)%q}function I(){w.value&&!a.infinite||B(h.value-1)}function H(){b.value&&!a.infinite||B(h.value+1)}function N(D,q={}){if(p.value)return;const{minScale:Y,maxScale:J}=a,{zoomRate:se,rotateDeg:_e,enableTransition:Q}={zoomRate:a.zoomRate,rotateDeg:90,enableTransition:!0,...q};switch(D){case"zoomOut":v.value.scale>Y&&(v.value.scale=Number.parseFloat((v.value.scale/se).toFixed(3)));break;case"zoomIn":v.value.scale{We(()=>{const D=f.value[0];D!=null&&D.complete||(p.value=!0)})}),pe(h,D=>{K(),n("switch",D)}),et(()=>{var D,q;V(),(q=(D=d.value)==null?void 0:D.focus)==null||q.call(D)}),t({setActiveItem:B}),(D,q)=>(y(),oe(Nl,{to:"body",disabled:!D.teleported},[W(nn,{name:"viewer-fade",appear:""},{default:G(()=>[k("div",{ref_key:"wrapper",ref:d,tabindex:-1,class:$(s(i).e("wrapper")),style:De({zIndex:_.value})},[k("div",{class:$(s(i).e("mask")),onClick:q[0]||(q[0]=Ge(Y=>D.hideOnClickModal&&T(),["self"]))},null,2),Z(" CLOSE "),k("span",{class:$([s(i).e("btn"),s(i).e("close")]),onClick:T},[W(s(Be),null,{default:G(()=>[W(s(uo))]),_:1})],2),Z(" ARROW "),s(g)?Z("v-if",!0):(y(),M(Fe,{key:0},[k("span",{class:$(s(x)),onClick:I},[W(s(Be),null,{default:G(()=>[W(s(aa))]),_:1})],2),k("span",{class:$(s(E)),onClick:H},[W(s(Be),null,{default:G(()=>[W(s(Sn))]),_:1})],2)],64)),Z(" ACTIONS "),k("div",{class:$([s(i).e("btn"),s(i).e("actions")])},[k("div",{class:$(s(i).e("actions__inner"))},[W(s(Be),{onClick:q[1]||(q[1]=Y=>N("zoomOut"))},{default:G(()=>[W(s(Jg))]),_:1}),W(s(Be),{onClick:q[2]||(q[2]=Y=>N("zoomIn"))},{default:G(()=>[W(s(u2))]),_:1}),k("i",{class:$(s(i).e("actions__divider"))},null,2),W(s(Be),{onClick:F},{default:G(()=>[(y(),oe(ut(s(m).icon)))]),_:1}),k("i",{class:$(s(i).e("actions__divider"))},null,2),W(s(Be),{onClick:q[3]||(q[3]=Y=>N("anticlockwise"))},{default:G(()=>[W(s(Kg))]),_:1}),W(s(Be),{onClick:q[4]||(q[4]=Y=>N("clockwise"))},{default:G(()=>[W(s(Wg))]),_:1})],2)],2),Z(" CANVAS "),k("div",{class:$(s(i).e("canvas"))},[(y(!0),M(Fe,null,mt(D.urlList,(Y,J)=>Qe((y(),M("img",{ref_for:!0,ref:se=>f.value[J]=se,key:Y,src:Y,style:De(s(O)),class:$(s(i).e("img")),crossorigin:D.crossorigin,onLoad:P,onError:z,onMousedown:j},null,46,wG)),[[bt,J===h.value]])),128))],2),re(D.$slots,"default")],6)]),_:3})],8,["disabled"]))}});var kG=xe(SG,[["__file","image-viewer.vue"]]);const C8=lt(kG),EG=Ee({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:X([String,Object])},previewSrcList:{type:X(Array),default:()=>Ht([])},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},crossorigin:{type:X(String)}}),xG={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>Ye(e),close:()=>!0,show:()=>!0},MG=["src","loading","crossorigin"],$G={key:0},TG=A({name:"ElImage",inheritAttrs:!1}),AG=A({...TG,props:EG,emits:xG,setup(e,{emit:t}){const n=e;let o="";const{t:a}=_t(),r=me("image"),l=Pr(),i=v2(),u=R(),d=R(!1),f=R(!0),c=R(!1),p=R(),h=R(),m=gt&&"loading"in HTMLImageElement.prototype;let v,_;const g=S(()=>[r.e("inner"),C.value&&r.e("preview"),f.value&&r.is("loading")]),w=S(()=>l.style),b=S(()=>{const{fit:H}=n;return gt&&H?{objectFit:H}:{}}),C=S(()=>{const{previewSrcList:H}=n;return Array.isArray(H)&&H.length>0}),x=S(()=>{const{previewSrcList:H,initialIndex:N}=n;let D=N;return N>H.length-1&&(D=0),D}),E=S(()=>n.loading==="eager"?!1:!m&&n.loading==="lazy"||n.lazy),O=()=>{gt&&(f.value=!0,d.value=!1,u.value=n.src)};function T(H){f.value=!1,d.value=!1,t("load",H)}function V(H){f.value=!1,d.value=!0,t("error",H)}function L(){A5(p.value,h.value)&&(O(),j())}const P=V4(L,200,!0);async function z(){var H;if(!gt)return;await We();const{scrollContainer:N}=n;io(N)?h.value=N:Ze(N)&&N!==""?h.value=(H=document.querySelector(N))!=null?H:void 0:p.value&&(h.value=a2(p.value)),h.value&&(v=Vt(h,"scroll",P),setTimeout(()=>L(),100))}function j(){!gt||!h.value||!P||(v==null||v(),h.value=void 0)}function K(H){if(H.ctrlKey){if(H.deltaY<0)return H.preventDefault(),!1;if(H.deltaY>0)return H.preventDefault(),!1}}function F(){C.value&&(_=Vt("wheel",K,{passive:!1}),o=document.body.style.overflow,document.body.style.overflow="hidden",c.value=!0,t("show"))}function B(){_==null||_(),document.body.style.overflow=o,c.value=!1,t("close")}function I(H){t("switch",H)}return pe(()=>n.src,()=>{E.value?(f.value=!0,d.value=!1,j(),z()):O()}),et(()=>{E.value?z():O()}),(H,N)=>(y(),M("div",{ref_key:"container",ref:p,class:$([s(r).b(),H.$attrs.class]),style:De(s(w))},[d.value?re(H.$slots,"error",{key:0},()=>[k("div",{class:$(s(r).e("error"))},Me(s(a)("el.image.error")),3)]):(y(),M(Fe,{key:1},[u.value!==void 0?(y(),M("img",ft({key:0},s(i),{src:u.value,loading:H.loading,style:s(b),class:s(g),crossorigin:H.crossorigin,onClick:F,onLoad:T,onError:V}),null,16,MG)):Z("v-if",!0),f.value?(y(),M("div",{key:1,class:$(s(r).e("wrapper"))},[re(H.$slots,"placeholder",{},()=>[k("div",{class:$(s(r).e("placeholder"))},null,2)])],2)):Z("v-if",!0)],64)),s(C)?(y(),M(Fe,{key:2},[c.value?(y(),oe(s(C8),{key:0,"z-index":H.zIndex,"initial-index":s(x),infinite:H.infinite,"zoom-rate":H.zoomRate,"min-scale":H.minScale,"max-scale":H.maxScale,"url-list":H.previewSrcList,"hide-on-click-modal":H.hideOnClickModal,teleported:H.previewTeleported,"close-on-press-escape":H.closeOnPressEscape,onClose:B,onSwitch:I},{default:G(()=>[H.$slots.viewer?(y(),M("div",$G,[re(H.$slots,"viewer")])):Z("v-if",!0)]),_:3},8,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","url-list","hide-on-click-modal","teleported","close-on-press-escape"])):Z("v-if",!0)],64)):Z("v-if",!0)],6))}});var OG=xe(AG,[["__file","image.vue"]]);const NG=lt(OG),IG=Ee({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.POSITIVE_INFINITY},min:{type:Number,default:Number.NEGATIVE_INFINITY},modelValue:Number,readonly:Boolean,disabled:Boolean,size:cn,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:[String,Number,null],validator:e=>e===null||Ye(e)||["min","max"].includes(e),default:null},name:String,label:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0}}),RG={[Bt]:(e,t)=>t!==e,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[Tn]:e=>Ye(e)||tn(e),[it]:e=>Ye(e)||tn(e)},PG=["aria-label","onKeydown"],LG=["aria-label","onKeydown"],VG=A({name:"ElInputNumber"}),BG=A({...VG,props:IG,emits:RG,setup(e,{expose:t,emit:n}){const o=e,{t:a}=_t(),r=me("input-number"),l=R(),i=wt({currentValue:o.modelValue,userInput:null}),{formItem:u}=Nn(),d=S(()=>Ye(o.modelValue)&&o.modelValue<=o.min),f=S(()=>Ye(o.modelValue)&&o.modelValue>=o.max),c=S(()=>{const F=g(o.step);return Zt(o.precision)?Math.max(g(o.modelValue),F):(F>o.precision,o.precision)}),p=S(()=>o.controls&&o.controlsPosition==="right"),h=an(),m=Dn(),v=S(()=>{if(i.userInput!==null)return i.userInput;let F=i.currentValue;if(tn(F))return"";if(Ye(F)){if(Number.isNaN(F))return"";Zt(o.precision)||(F=F.toFixed(o.precision))}return F}),_=(F,B)=>{if(Zt(B)&&(B=c.value),B===0)return Math.round(F);let I=String(F);const H=I.indexOf(".");if(H===-1||!I.replace(".","").split("")[H+B])return F;const q=I.length;return I.charAt(q-1)==="5"&&(I=`${I.slice(0,Math.max(0,q-1))}6`),Number.parseFloat(Number(I).toFixed(B))},g=F=>{if(tn(F))return 0;const B=F.toString(),I=B.indexOf(".");let H=0;return I!==-1&&(H=B.length-I-1),H},w=(F,B=1)=>Ye(F)?_(F+o.step*B):i.currentValue,b=()=>{if(o.readonly||m.value||f.value)return;const F=Number(v.value)||0,B=w(F);E(B),n(Tn,i.currentValue),j()},C=()=>{if(o.readonly||m.value||d.value)return;const F=Number(v.value)||0,B=w(F,-1);E(B),n(Tn,i.currentValue),j()},x=(F,B)=>{const{max:I,min:H,step:N,precision:D,stepStrictly:q,valueOnClear:Y}=o;II||JI?I:H,B&&n(it,J)),J},E=(F,B=!0)=>{var I;const H=i.currentValue,N=x(F);if(!B){n(it,N);return}H===N&&F||(i.userInput=null,n(it,N),H!==N&&n(Bt,N,H),o.validateEvent&&((I=u==null?void 0:u.validate)==null||I.call(u,"change").catch(D=>void 0)),i.currentValue=N)},O=F=>{i.userInput=F;const B=F===""?null:Number(F);n(Tn,B),E(B,!1)},T=F=>{const B=F!==""?Number(F):"";(Ye(B)&&!Number.isNaN(B)||F==="")&&E(B),j(),i.userInput=null},V=()=>{var F,B;(B=(F=l.value)==null?void 0:F.focus)==null||B.call(F)},L=()=>{var F,B;(B=(F=l.value)==null?void 0:F.blur)==null||B.call(F)},P=F=>{n("focus",F)},z=F=>{var B;i.userInput=null,n("blur",F),o.validateEvent&&((B=u==null?void 0:u.validate)==null||B.call(u,"blur").catch(I=>void 0))},j=()=>{i.currentValue!==o.modelValue&&(i.currentValue=o.modelValue)},K=F=>{document.activeElement===F.target&&F.preventDefault()};return pe(()=>o.modelValue,(F,B)=>{const I=x(F,!0);i.userInput===null&&I!==B&&(i.currentValue=I)},{immediate:!0}),et(()=>{var F;const{min:B,max:I,modelValue:H}=o,N=(F=l.value)==null?void 0:F.input;if(N.setAttribute("role","spinbutton"),Number.isFinite(I)?N.setAttribute("aria-valuemax",String(I)):N.removeAttribute("aria-valuemax"),Number.isFinite(B)?N.setAttribute("aria-valuemin",String(B)):N.removeAttribute("aria-valuemin"),N.setAttribute("aria-valuenow",i.currentValue||i.currentValue===0?String(i.currentValue):""),N.setAttribute("aria-disabled",String(m.value)),!Ye(H)&&H!=null){let D=Number(H);Number.isNaN(D)&&(D=null),n(it,D)}}),ua(()=>{var F,B;const I=(F=l.value)==null?void 0:F.input;I==null||I.setAttribute("aria-valuenow",`${(B=i.currentValue)!=null?B:""}`)}),t({focus:V,blur:L}),(F,B)=>(y(),M("div",{class:$([s(r).b(),s(r).m(s(h)),s(r).is("disabled",s(m)),s(r).is("without-controls",!F.controls),s(r).is("controls-right",s(p))]),onDragstart:B[0]||(B[0]=Ge(()=>{},["prevent"]))},[F.controls?Qe((y(),M("span",{key:0,role:"button","aria-label":s(a)("el.inputNumber.decrease"),class:$([s(r).e("decrease"),s(r).is("disabled",s(d))]),onKeydown:Mt(C,["enter"])},[re(F.$slots,"decrease-icon",{},()=>[W(s(Be),null,{default:G(()=>[s(p)?(y(),oe(s(Bo),{key:0})):(y(),oe(s(zg),{key:1}))]),_:1})])],42,PG)),[[s(Du),C]]):Z("v-if",!0),F.controls?Qe((y(),M("span",{key:1,role:"button","aria-label":s(a)("el.inputNumber.increase"),class:$([s(r).e("increase"),s(r).is("disabled",s(f))]),onKeydown:Mt(b,["enter"])},[re(F.$slots,"increase-icon",{},()=>[W(s(Be),null,{default:G(()=>[s(p)?(y(),oe(s(Cc),{key:0})):(y(),oe(s(s2),{key:1}))]),_:1})])],42,LG)),[[s(Du),b]]):Z("v-if",!0),W(s(mn),{id:F.id,ref_key:"input",ref:l,type:"number",step:F.step,"model-value":s(v),placeholder:F.placeholder,readonly:F.readonly,disabled:s(m),size:s(h),max:F.max,min:F.min,name:F.name,label:F.label,"validate-event":!1,onWheel:K,onKeydown:[Mt(Ge(b,["prevent"]),["up"]),Mt(Ge(C,["prevent"]),["down"])],onBlur:z,onFocus:P,onInput:O,onChange:T},null,8,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","label","onKeydown"])],34))}});var zG=xe(BG,[["__file","input-number.vue"]]);const S8=lt(zG),HG=Ee({type:{type:String,values:["primary","success","warning","info","danger","default"],default:"default"},underline:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},href:{type:String,default:""},target:{type:String,default:"_self"},icon:{type:$t}}),DG={click:e=>e instanceof MouseEvent},FG=["href","target"],KG=A({name:"ElLink"}),WG=A({...KG,props:HG,emits:DG,setup(e,{emit:t}){const n=e,o=me("link"),a=S(()=>[o.b(),o.m(n.type),o.is("disabled",n.disabled),o.is("underline",n.underline&&!n.disabled)]);function r(l){n.disabled||t("click",l)}return(l,i)=>(y(),M("a",{class:$(s(a)),href:l.disabled||!l.href?void 0:l.href,target:l.disabled||!l.href?void 0:l.target,onClick:r},[l.icon?(y(),oe(s(Be),{key:0},{default:G(()=>[(y(),oe(ut(l.icon)))]),_:1})):Z("v-if",!0),l.$slots.default?(y(),M("span",{key:1,class:$(s(o).e("inner"))},[re(l.$slots,"default")],2)):Z("v-if",!0),l.$slots.icon?re(l.$slots,"icon",{key:2}):Z("v-if",!0)],10,FG))}});var jG=xe(WG,[["__file","link.vue"]]);const qG=lt(jG);let UG=class{constructor(t,n){this.parent=t,this.domNode=n,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(t){t===this.subMenuItems.length?t=0:t<0&&(t=this.subMenuItems.length-1),this.subMenuItems[t].focus(),this.subIndex=t}addListeners(){const t=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,n=>{n.addEventListener("keydown",o=>{let a=!1;switch(o.code){case Ke.down:{this.gotoSubIndex(this.subIndex+1),a=!0;break}case Ke.up:{this.gotoSubIndex(this.subIndex-1),a=!0;break}case Ke.tab:{Yi(t,"mouseleave");break}case Ke.enter:case Ke.space:{a=!0,o.currentTarget.click();break}}return a&&(o.preventDefault(),o.stopPropagation()),!1})})}},YG=class{constructor(t,n){this.domNode=t,this.submenu=null,this.submenu=null,this.init(n)}init(t){this.domNode.setAttribute("tabindex","0");const n=this.domNode.querySelector(`.${t}-menu`);n&&(this.submenu=new UG(this,n)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",t=>{let n=!1;switch(t.code){case Ke.down:{Yi(t.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break}case Ke.up:{Yi(t.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break}case Ke.tab:{Yi(t.currentTarget,"mouseleave");break}case Ke.enter:case Ke.space:{n=!0,t.currentTarget.click();break}}n&&t.preventDefault()})}},GG=class{constructor(t,n){this.domNode=t,this.init(n)}init(t){const n=this.domNode.childNodes;Array.from(n).forEach(o=>{o.nodeType===1&&new YG(o,t)})}};const XG=A({name:"ElMenuCollapseTransition",setup(){const e=me("menu");return{listeners:{onBeforeEnter:n=>n.style.opacity="0.2",onEnter(n,o){eo(n,`${e.namespace.value}-opacity-transition`),n.style.opacity="1",o()},onAfterEnter(n){Cn(n,`${e.namespace.value}-opacity-transition`),n.style.opacity=""},onBeforeLeave(n){n.dataset||(n.dataset={}),oo(n,e.m("collapse"))?(Cn(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),eo(n,e.m("collapse"))):(eo(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),Cn(n,e.m("collapse"))),n.style.width=`${n.scrollWidth}px`,n.style.overflow="hidden"},onLeave(n){eo(n,"horizontal-collapse-transition"),n.style.width=`${n.dataset.scrollWidth}px`}}}}});function JG(e,t,n,o,a,r){return y(),oe(nn,ft({mode:"out-in"},e.listeners),{default:G(()=>[re(e.$slots,"default")]),_:3},16)}var ZG=xe(XG,[["render",JG],["__file","menu-collapse-transition.vue"]]);function k8(e,t){const n=S(()=>{let a=e.parent;const r=[t.value];for(;a.type.name!=="ElMenu";)a.props.index&&r.unshift(a.props.index),a=a.parent;return r});return{parentMenu:S(()=>{let a=e.parent;for(;a&&!["ElMenu","ElSubMenu"].includes(a.type.name);)a=a.parent;return a}),indexPath:n}}function QG(e){return S(()=>{const n=e.backgroundColor;return n?new n3(n).shade(20).toString():""})}const E8=(e,t)=>{const n=me("menu");return S(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":QG(e).value||"","active-color":e.activeTextColor||"",level:`${t}`}))},eX=Ee({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:$t},expandOpenIcon:{type:$t},collapseCloseIcon:{type:$t},collapseOpenIcon:{type:$t}}),$d="ElSubMenu";var J2=A({name:$d,props:eX,setup(e,{slots:t,expose:n}){const o=rt(),{indexPath:a,parentMenu:r}=k8(o,S(()=>e.index)),l=me("menu"),i=me("sub-menu"),u=Pe("rootMenu");u||on($d,"can not inject root menu");const d=Pe(`subMenu:${r.value.uid}`);d||on($d,"can not inject sub menu");const f=R({}),c=R({});let p;const h=R(!1),m=R(),v=R(null),_=S(()=>T.value==="horizontal"&&w.value?"bottom-start":"right-start"),g=S(()=>T.value==="horizontal"&&w.value||T.value==="vertical"&&!u.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?E.value?e.expandOpenIcon:e.expandCloseIcon:Bo:e.collapseCloseIcon&&e.collapseOpenIcon?E.value?e.collapseOpenIcon:e.collapseCloseIcon:Sn),w=S(()=>d.level===0),b=S(()=>{const D=e.teleported;return D===void 0?w.value:D}),C=S(()=>u.props.collapse?`${l.namespace.value}-zoom-in-left`:`${l.namespace.value}-zoom-in-top`),x=S(()=>T.value==="horizontal"&&w.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),E=S(()=>u.openedMenus.includes(e.index)),O=S(()=>{let D=!1;return Object.values(f.value).forEach(q=>{q.active&&(D=!0)}),Object.values(c.value).forEach(q=>{q.active&&(D=!0)}),D}),T=S(()=>u.props.mode),V=wt({index:e.index,indexPath:a,active:O}),L=E8(u.props,d.level+1),P=S(()=>{var D;return(D=e.popperOffset)!=null?D:u.props.popperOffset}),z=S(()=>{var D;return(D=e.popperClass)!=null?D:u.props.popperClass}),j=S(()=>{var D;return(D=e.showTimeout)!=null?D:u.props.showTimeout}),K=S(()=>{var D;return(D=e.hideTimeout)!=null?D:u.props.hideTimeout}),F=()=>{var D,q,Y;return(Y=(q=(D=v.value)==null?void 0:D.popperRef)==null?void 0:q.popperInstanceRef)==null?void 0:Y.destroy()},B=D=>{D||F()},I=()=>{u.props.menuTrigger==="hover"&&u.props.mode==="horizontal"||u.props.collapse&&u.props.mode==="vertical"||e.disabled||u.handleSubMenuClick({index:e.index,indexPath:a.value,active:O.value})},H=(D,q=j.value)=>{var Y;if(D.type!=="focus"){if(u.props.menuTrigger==="click"&&u.props.mode==="horizontal"||!u.props.collapse&&u.props.mode==="vertical"||e.disabled){d.mouseInChild.value=!0;return}d.mouseInChild.value=!0,p==null||p(),{stop:p}=Cr(()=>{u.openMenu(e.index,a.value)},q),b.value&&((Y=r.value.vnode.el)==null||Y.dispatchEvent(new MouseEvent("mouseenter")))}},N=(D=!1)=>{var q;if(u.props.menuTrigger==="click"&&u.props.mode==="horizontal"||!u.props.collapse&&u.props.mode==="vertical"){d.mouseInChild.value=!1;return}p==null||p(),d.mouseInChild.value=!1,{stop:p}=Cr(()=>!h.value&&u.closeMenu(e.index,a.value),K.value),b.value&&D&&((q=d.handleMouseleave)==null||q.call(d,!0))};pe(()=>u.props.collapse,D=>B(!!D));{const D=Y=>{c.value[Y.index]=Y},q=Y=>{delete c.value[Y.index]};pt(`subMenu:${o.uid}`,{addSubMenu:D,removeSubMenu:q,handleMouseleave:N,mouseInChild:h,level:d.level+1})}return n({opened:E}),et(()=>{u.addSubMenu(V),d.addSubMenu(V)}),It(()=>{d.removeSubMenu(V),u.removeSubMenu(V)}),()=>{var D;const q=[(D=t.title)==null?void 0:D.call(t),qe(Be,{class:i.e("icon-arrow"),style:{transform:E.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&u.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>Ze(g.value)?qe(o.appContext.components[g.value]):qe(g.value)})],Y=u.isMenuPopup?qe(En,{ref:v,visible:E.value,effect:"light",pure:!0,offset:P.value,showArrow:!1,persistent:!0,popperClass:z.value,placement:_.value,teleported:b.value,fallbackPlacements:x.value,transition:C.value,gpuAcceleration:!1},{content:()=>{var J;return qe("div",{class:[l.m(T.value),l.m("popup-container"),z.value],onMouseenter:se=>H(se,100),onMouseleave:()=>N(!0),onFocus:se=>H(se,100)},[qe("ul",{class:[l.b(),l.m("popup"),l.m(`popup-${_.value}`)],style:L.value},[(J=t.default)==null?void 0:J.call(t)])])},default:()=>qe("div",{class:i.e("title"),onClick:I},q)}):qe(Fe,{},[qe("div",{class:i.e("title"),ref:m,onClick:I},q),qe(Vc,{},{default:()=>{var J;return Qe(qe("ul",{role:"menu",class:[l.b(),l.m("inline")],style:L.value},[(J=t.default)==null?void 0:J.call(t)]),[[bt,E.value]])}})]);return qe("li",{class:[i.b(),i.is("active",O.value),i.is("opened",E.value),i.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:E.value,onMouseenter:H,onMouseleave:()=>N(),onFocus:H},[Y])}}});const tX=Ee({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:X(Array),default:()=>Ht([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:$t,default:()=>Hg},popperEffect:{type:String,values:["dark","light"],default:"dark"},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300}}),Td=e=>Array.isArray(e)&&e.every(t=>Ze(t)),nX={close:(e,t)=>Ze(e)&&Td(t),open:(e,t)=>Ze(e)&&Td(t),select:(e,t,n,o)=>Ze(e)&&Td(t)&&ct(n)&&(o===void 0||o instanceof Promise)};var oX=A({name:"ElMenu",props:tX,emits:nX,setup(e,{emit:t,slots:n,expose:o}){const a=rt(),r=a.appContext.config.globalProperties.$router,l=R(),i=me("menu"),u=me("sub-menu"),d=R(-1),f=R(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),c=R(e.defaultActive),p=R({}),h=R({}),m=S(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),v=()=>{const K=c.value&&p.value[c.value];if(!K||e.mode==="horizontal"||e.collapse)return;K.indexPath.forEach(B=>{const I=h.value[B];I&&_(B,I.indexPath)})},_=(K,F)=>{f.value.includes(K)||(e.uniqueOpened&&(f.value=f.value.filter(B=>F.includes(B))),f.value.push(K),t("open",K,F))},g=K=>{const F=f.value.indexOf(K);F!==-1&&f.value.splice(F,1)},w=(K,F)=>{g(K),t("close",K,F)},b=({index:K,indexPath:F})=>{f.value.includes(K)?w(K,F):_(K,F)},C=K=>{(e.mode==="horizontal"||e.collapse)&&(f.value=[]);const{index:F,indexPath:B}=K;if(!(tn(F)||tn(B)))if(e.router&&r){const I=K.route||F,H=r.push(I).then(N=>(N||(c.value=F),N));t("select",F,B,{index:F,indexPath:B,route:I},H)}else c.value=F,t("select",F,B,{index:F,indexPath:B})},x=K=>{const F=p.value,B=F[K]||c.value&&F[c.value]||F[e.defaultActive];B?c.value=B.index:c.value=K},E=K=>{const F=getComputedStyle(K),B=Number.parseInt(F.marginLeft,10),I=Number.parseInt(F.marginRight,10);return K.offsetWidth+B+I||0},O=()=>{var K,F;if(!l.value)return-1;const B=Array.from((F=(K=l.value)==null?void 0:K.childNodes)!=null?F:[]).filter(se=>se.nodeName!=="#comment"&&(se.nodeName!=="#text"||se.nodeValue)),I=64,H=getComputedStyle(l.value),N=Number.parseInt(H.paddingLeft,10),D=Number.parseInt(H.paddingRight,10),q=l.value.clientWidth-N-D;let Y=0,J=0;return B.forEach((se,_e)=>{Y+=E(se),Y<=q-I&&(J=_e+1)}),J===B.length?-1:J},T=K=>h.value[K].indexPath,V=(K,F=33.34)=>{let B;return()=>{B&&clearTimeout(B),B=setTimeout(()=>{K()},F)}};let L=!0;const P=()=>{if(d.value===O())return;const K=()=>{d.value=-1,We(()=>{d.value=O()})};L?K():V(K)(),L=!1};pe(()=>e.defaultActive,K=>{p.value[K]||(c.value=""),x(K)}),pe(()=>e.collapse,K=>{K&&(f.value=[])}),pe(p.value,v);let z;gn(()=>{e.mode==="horizontal"&&e.ellipsis?z=Kt(l,P).stop:z==null||z()});const j=R(!1);{const K=H=>{h.value[H.index]=H},F=H=>{delete h.value[H.index]};pt("rootMenu",wt({props:e,openedMenus:f,items:p,subMenus:h,activeIndex:c,isMenuPopup:m,addMenuItem:H=>{p.value[H.index]=H},removeMenuItem:H=>{delete p.value[H.index]},addSubMenu:K,removeSubMenu:F,openMenu:_,closeMenu:w,handleMenuItemClick:C,handleSubMenuClick:b})),pt(`subMenu:${a.uid}`,{addSubMenu:K,removeSubMenu:F,mouseInChild:j,level:0})}return et(()=>{e.mode==="horizontal"&&new GG(a.vnode.el,i.namespace.value)}),o({open:F=>{const{indexPath:B}=h.value[F];B.forEach(I=>_(I,B))},close:g,handleResize:P}),()=>{var K,F;let B=(F=(K=n.default)==null?void 0:K.call(n))!=null?F:[];const I=[];if(e.mode==="horizontal"&&l.value){const q=La(B),Y=d.value===-1?q:q.slice(0,d.value),J=d.value===-1?[]:q.slice(d.value);J!=null&&J.length&&e.ellipsis&&(B=Y,I.push(qe(J2,{index:"sub-menu-more",class:u.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>qe(Be,{class:u.e("icon-more")},{default:()=>qe(e.ellipsisIcon)}),default:()=>J})))}const H=E8(e,0),N=e.closeOnClickOutside?[[sa,()=>{f.value.length&&(j.value||(f.value.forEach(q=>t("close",q,T(q))),f.value=[]))}]]:[],D=Qe(qe("ul",{key:String(e.collapse),role:"menubar",ref:l,style:H.value,class:{[i.b()]:!0,[i.m(e.mode)]:!0,[i.m("collapse")]:e.collapse}},[...B,...I]),N);return e.collapseTransition&&e.mode==="vertical"?qe(ZG,()=>D):D}}});const aX=Ee({index:{type:X([String,null]),default:null},route:{type:X([String,Object])},disabled:Boolean}),rX={click:e=>Ze(e.index)&&Array.isArray(e.indexPath)},Ad="ElMenuItem",lX=A({name:Ad,components:{ElTooltip:En},props:aX,emits:rX,setup(e,{emit:t}){const n=rt(),o=Pe("rootMenu"),a=me("menu"),r=me("menu-item");o||on(Ad,"can not inject root menu");const{parentMenu:l,indexPath:i}=k8(n,At(e,"index")),u=Pe(`subMenu:${l.value.uid}`);u||on(Ad,"can not inject sub menu");const d=S(()=>e.index===o.activeIndex),f=wt({index:e.index,indexPath:i,active:d}),c=()=>{e.disabled||(o.handleMenuItemClick({index:e.index,indexPath:i.value,route:e.route}),t("click",f))};return et(()=>{u.addSubMenu(f),o.addMenuItem(f)}),It(()=>{u.removeSubMenu(f),o.removeMenuItem(f)}),{parentMenu:l,rootMenu:o,active:d,nsMenu:a,nsMenuItem:r,handleClick:c}}});function sX(e,t,n,o,a,r){const l=nt("el-tooltip");return y(),M("li",{class:$([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:t[0]||(t[0]=(...i)=>e.handleClick&&e.handleClick(...i))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(y(),oe(l,{key:0,effect:e.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:G(()=>[re(e.$slots,"title")]),default:G(()=>[k("div",{class:$(e.nsMenu.be("tooltip","trigger"))},[re(e.$slots,"default")],2)]),_:3},8,["effect"])):(y(),M(Fe,{key:1},[re(e.$slots,"default"),re(e.$slots,"title")],64))],2)}var x8=xe(lX,[["render",sX],["__file","menu-item.vue"]]);const iX={title:String},uX="ElMenuItemGroup",cX=A({name:uX,props:iX,setup(){return{ns:me("menu-item-group")}}});function dX(e,t,n,o,a,r){return y(),M("li",{class:$(e.ns.b())},[k("div",{class:$(e.ns.e("title"))},[e.$slots.title?re(e.$slots,"title",{key:1}):(y(),M(Fe,{key:0},[vt(Me(e.title),1)],64))],2),k("ul",null,[re(e.$slots,"default")])],2)}var M8=xe(cX,[["render",dX],["__file","menu-item-group.vue"]]);const fX=lt(oX,{MenuItem:x8,MenuItemGroup:M8,SubMenu:J2}),pX=Dt(x8),vX=Dt(M8),hX=Dt(J2),mX=Ee({icon:{type:$t,default:()=>Og},title:String,content:{type:String,default:""}}),gX={back:()=>!0},yX=["aria-label"],_X=A({name:"ElPageHeader"}),bX=A({..._X,props:mX,emits:gX,setup(e,{emit:t}){const n=fn(),{t:o}=_t(),a=me("page-header"),r=S(()=>[a.b(),{[a.m("has-breadcrumb")]:!!n.breadcrumb,[a.m("has-extra")]:!!n.extra,[a.is("contentful")]:!!n.default}]);function l(){t("back")}return(i,u)=>(y(),M("div",{class:$(s(r))},[i.$slots.breadcrumb?(y(),M("div",{key:0,class:$(s(a).e("breadcrumb"))},[re(i.$slots,"breadcrumb")],2)):Z("v-if",!0),k("div",{class:$(s(a).e("header"))},[k("div",{class:$(s(a).e("left"))},[k("div",{class:$(s(a).e("back")),role:"button",tabindex:"0",onClick:l},[i.icon||i.$slots.icon?(y(),M("div",{key:0,"aria-label":i.title||s(o)("el.pageHeader.title"),class:$(s(a).e("icon"))},[re(i.$slots,"icon",{},()=>[i.icon?(y(),oe(s(Be),{key:0},{default:G(()=>[(y(),oe(ut(i.icon)))]),_:1})):Z("v-if",!0)])],10,yX)):Z("v-if",!0),k("div",{class:$(s(a).e("title"))},[re(i.$slots,"title",{},()=>[vt(Me(i.title||s(o)("el.pageHeader.title")),1)])],2)],2),W(s(f8),{direction:"vertical"}),k("div",{class:$(s(a).e("content"))},[re(i.$slots,"content",{},()=>[vt(Me(i.content),1)])],2)],2),i.$slots.extra?(y(),M("div",{key:0,class:$(s(a).e("extra"))},[re(i.$slots,"extra")],2)):Z("v-if",!0)],2),i.$slots.default?(y(),M("div",{key:1,class:$(s(a).e("main"))},[re(i.$slots,"default")],2)):Z("v-if",!0)],2))}});var wX=xe(bX,[["__file","page-header.vue"]]);const CX=lt(wX),$8=Symbol("elPaginationKey"),SX=Ee({disabled:Boolean,currentPage:{type:Number,default:1},prevText:{type:String},prevIcon:{type:$t}}),kX={click:e=>e instanceof MouseEvent},EX=["disabled","aria-label","aria-disabled"],xX={key:0},MX=A({name:"ElPaginationPrev"}),$X=A({...MX,props:SX,emits:kX,setup(e){const t=e,{t:n}=_t(),o=S(()=>t.disabled||t.currentPage<=1);return(a,r)=>(y(),M("button",{type:"button",class:"btn-prev",disabled:s(o),"aria-label":a.prevText||s(n)("el.pagination.prev"),"aria-disabled":s(o),onClick:r[0]||(r[0]=l=>a.$emit("click",l))},[a.prevText?(y(),M("span",xX,Me(a.prevText),1)):(y(),oe(s(Be),{key:1},{default:G(()=>[(y(),oe(ut(a.prevIcon)))]),_:1}))],8,EX))}});var TX=xe($X,[["__file","prev.vue"]]);const AX=Ee({disabled:Boolean,currentPage:{type:Number,default:1},pageCount:{type:Number,default:50},nextText:{type:String},nextIcon:{type:$t}}),OX=["disabled","aria-label","aria-disabled"],NX={key:0},IX=A({name:"ElPaginationNext"}),RX=A({...IX,props:AX,emits:["click"],setup(e){const t=e,{t:n}=_t(),o=S(()=>t.disabled||t.currentPage===t.pageCount||t.pageCount===0);return(a,r)=>(y(),M("button",{type:"button",class:"btn-next",disabled:s(o),"aria-label":a.nextText||s(n)("el.pagination.next"),"aria-disabled":s(o),onClick:r[0]||(r[0]=l=>a.$emit("click",l))},[a.nextText?(y(),M("span",NX,Me(a.nextText),1)):(y(),oe(s(Be),{key:1},{default:G(()=>[(y(),oe(ut(a.nextIcon)))]),_:1}))],8,OX))}});var PX=xe(RX,[["__file","next.vue"]]);const T8=Symbol("ElSelectGroup"),ui=Symbol("ElSelect");function LX(e,t){const n=Pe(ui),o=Pe(T8,{disabled:!1}),a=S(()=>n.props.multiple?f(n.props.modelValue,e.value):f([n.props.modelValue],e.value)),r=S(()=>{if(n.props.multiple){const h=n.props.modelValue||[];return!a.value&&h.length>=n.props.multipleLimit&&n.props.multipleLimit>0}else return!1}),l=S(()=>e.label||(ct(e.value)?"":e.value)),i=S(()=>e.value||e.label||""),u=S(()=>e.disabled||t.groupDisabled||r.value),d=rt(),f=(h=[],m)=>{if(ct(e.value)){const v=n.props.valueKey;return h&&h.some(_=>xt(Gt(_,v))===Gt(m,v))}else return h&&h.includes(m)},c=()=>{!e.disabled&&!o.disabled&&(n.states.hoveringIndex=n.optionsArray.indexOf(d.proxy))},p=h=>{const m=new RegExp(o2(h),"i");t.visible=m.test(l.value)||e.created};return pe(()=>l.value,()=>{!e.created&&!n.props.remote&&n.setSelected()}),pe(()=>e.value,(h,m)=>{const{remote:v,valueKey:_}=n.props;if(wn(h,m)||(n.onOptionDestroy(m,d.proxy),n.onOptionCreate(d.proxy)),!e.created&&!v){if(_&&ct(h)&&ct(m)&&h[_]===m[_])return;n.setSelected()}}),pe(()=>o.disabled,()=>{t.groupDisabled=o.disabled},{immediate:!0}),{select:n,currentLabel:l,currentValue:i,itemSelected:a,isDisabled:u,hoverItem:c,updateOption:p}}const VX=A({name:"ElOption",componentName:"ElOption",props:{value:{required:!0,type:[String,Number,Boolean,Object]},label:[String,Number],created:Boolean,disabled:Boolean},setup(e){const t=me("select"),n=kn(),o=S(()=>[t.be("dropdown","item"),t.is("disabled",s(i)),t.is("selected",s(l)),t.is("hovering",s(p))]),a=wt({index:-1,groupDisabled:!1,visible:!0,hover:!1}),{currentLabel:r,itemSelected:l,isDisabled:i,select:u,hoverItem:d,updateOption:f}=LX(e,a),{visible:c,hover:p}=un(a),h=rt().proxy;u.onOptionCreate(h),It(()=>{const v=h.value,{selected:_}=u.states,w=(u.props.multiple?_:[_]).some(b=>b.value===h.value);We(()=>{u.states.cachedOptions.get(v)===h&&!w&&u.states.cachedOptions.delete(v)}),u.onOptionDestroy(v,h)});function m(){e.disabled!==!0&&a.groupDisabled!==!0&&u.handleOptionSelect(h)}return{ns:t,id:n,containerKls:o,currentLabel:r,itemSelected:l,isDisabled:i,select:u,hoverItem:d,updateOption:f,visible:c,hover:p,selectOptionClick:m,states:a}}}),BX=["id","aria-disabled","aria-selected"];function zX(e,t,n,o,a,r){return Qe((y(),M("li",{id:e.id,class:$(e.containerKls),role:"option","aria-disabled":e.isDisabled||void 0,"aria-selected":e.itemSelected,onMouseenter:t[0]||(t[0]=(...l)=>e.hoverItem&&e.hoverItem(...l)),onClick:t[1]||(t[1]=Ge((...l)=>e.selectOptionClick&&e.selectOptionClick(...l),["stop"]))},[re(e.$slots,"default",{},()=>[k("span",null,Me(e.currentLabel),1)])],42,BX)),[[bt,e.visible]])}var Z2=xe(VX,[["render",zX],["__file","option.vue"]]);const HX=A({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const e=Pe(ui),t=me("select"),n=S(()=>e.props.popperClass),o=S(()=>e.props.multiple),a=S(()=>e.props.fitInputWidth),r=R("");function l(){var i;r.value=`${(i=e.selectRef)==null?void 0:i.offsetWidth}px`}return et(()=>{l(),Kt(e.selectRef,l)}),{ns:t,minWidth:r,popperClass:n,isMultiple:o,isFitInputWidth:a}}});function DX(e,t,n,o,a,r){return y(),M("div",{class:$([e.ns.b("dropdown"),e.ns.is("multiple",e.isMultiple),e.popperClass]),style:De({[e.isFitInputWidth?"width":"minWidth"]:e.minWidth})},[e.$slots.header?(y(),M("div",{key:0,class:$(e.ns.be("dropdown","header"))},[re(e.$slots,"header")],2)):Z("v-if",!0),re(e.$slots,"default"),e.$slots.footer?(y(),M("div",{key:1,class:$(e.ns.be("dropdown","footer"))},[re(e.$slots,"footer")],2)):Z("v-if",!0)],6)}var FX=xe(HX,[["render",DX],["__file","select-dropdown.vue"]]);function A8(e){const t=R(!1);return{handleCompositionStart:()=>{t.value=!0},handleCompositionUpdate:r=>{const l=r.target.value,i=l[l.length-1]||"";t.value=!p2(i)},handleCompositionEnd:r=>{t.value&&(t.value=!1,Xe(e)&&e(r))}}}const KX=11,WX=(e,t)=>{const{t:n}=_t(),o=kn(),a=me("select"),r=me("input"),l=wt({inputValue:"",options:new Map,cachedOptions:new Map,disabledOptions:new Map,optionValues:[],selected:e.multiple?[]:{},selectionWidth:0,calculatorWidth:0,collapseItemWidth:0,selectedLabel:"",hoveringIndex:-1,previousQuery:null,inputHovering:!1,menuVisibleOnFocus:!1,isBeforeHide:!1}),i=R(null),u=R(null),d=R(null),f=R(null),c=R(null),p=R(null),h=R(null),m=R(null),v=R(null),_=R(null),g=R(null),w=R(null),{wrapperRef:b,isFocused:C,handleFocus:x,handleBlur:E}=Oc(c,{afterFocus(){e.automaticDropdown&&!O.value&&(O.value=!0,l.menuVisibleOnFocus=!0)},beforeBlur(Ne){var Je,Lt;return((Je=d.value)==null?void 0:Je.isFocusInsideContent(Ne))||((Lt=f.value)==null?void 0:Lt.isFocusInsideContent(Ne))},afterBlur(){O.value=!1,l.menuVisibleOnFocus=!1}}),O=R(!1),T=R(),{form:V,formItem:L}=Nn(),{inputId:P}=Ho(e,{formItemContext:L}),z=S(()=>e.disabled||(V==null?void 0:V.disabled)),j=S(()=>J.value.some(Ne=>Ne.value==="")),K=S(()=>e.multiple?Ie(e.modelValue)&&e.modelValue.length>0:!tn(e.modelValue)&&(e.modelValue!==""||j.value)),F=S(()=>e.clearable&&!z.value&&l.inputHovering&&K.value),B=S(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),I=S(()=>a.is("reverse",B.value&&O.value)),H=S(()=>(L==null?void 0:L.validateState)||""),N=S(()=>f2[H.value]),D=S(()=>e.remote?300:0),q=S(()=>e.loading?e.loadingText||n("el.select.loading"):e.remote&&!l.inputValue&&l.options.size===0?!1:e.filterable&&l.inputValue&&l.options.size>0&&Y.value===0?e.noMatchText||n("el.select.noMatch"):l.options.size===0?e.noDataText||n("el.select.noData"):null),Y=S(()=>J.value.filter(Ne=>Ne.visible).length),J=S(()=>{const Ne=Array.from(l.options.values()),Je=[];return l.optionValues.forEach(Lt=>{const Jt=Ne.findIndex(Eo=>Eo.value===Lt);Jt>-1&&Je.push(Ne[Jt])}),Je.length>=Ne.length?Je:Ne}),se=S(()=>Array.from(l.cachedOptions.values())),_e=S(()=>{const Ne=J.value.filter(Je=>!Je.created).some(Je=>Je.currentLabel===l.inputValue);return e.filterable&&e.allowCreate&&l.inputValue!==""&&!Ne}),Q=()=>{e.filterable&&Xe(e.filterMethod)||e.filterable&&e.remote&&Xe(e.remoteMethod)||J.value.forEach(Ne=>{var Je;(Je=Ne.updateOption)==null||Je.call(Ne,l.inputValue)})},le=an(),ae=S(()=>["small"].includes(le.value)?"small":"default"),Te=S({get(){return O.value&&q.value!==!1},set(Ne){O.value=Ne}}),ce=S(()=>Ie(e.modelValue)?e.modelValue.length===0&&!l.inputValue:e.filterable?!l.inputValue:!0),ge=S(()=>{var Ne;const Je=(Ne=e.placeholder)!=null?Ne:n("el.select.placeholder");return e.multiple||!K.value?Je:l.selectedLabel});pe(()=>e.modelValue,(Ne,Je)=>{e.multiple&&e.filterable&&!e.reserveKeyword&&(l.inputValue="",Ae("")),te(),!wn(Ne,Je)&&e.validateEvent&&(L==null||L.validate("change").catch(Lt=>void 0))},{flush:"post",deep:!0}),pe(()=>O.value,Ne=>{Ne?Ae(l.inputValue):(l.inputValue="",l.previousQuery=null,l.isBeforeHide=!0),t("visible-change",Ne)}),pe(()=>l.options.entries(),()=>{var Ne;if(!gt)return;const Je=((Ne=i.value)==null?void 0:Ne.querySelectorAll("input"))||[];(!e.filterable&&!e.defaultFirstOption&&!Zt(e.modelValue)||!Array.from(Je).includes(document.activeElement))&&te(),e.defaultFirstOption&&(e.filterable||e.remote)&&Y.value&&U()},{flush:"post"}),pe(()=>l.hoveringIndex,Ne=>{Ye(Ne)&&Ne>-1?T.value=J.value[Ne]||{}:T.value={},J.value.forEach(Je=>{Je.hover=T.value===Je})}),gn(()=>{l.isBeforeHide||Q()});const Ae=Ne=>{l.previousQuery!==Ne&&(l.previousQuery=Ne,e.filterable&&Xe(e.filterMethod)?e.filterMethod(Ne):e.filterable&&e.remote&&Xe(e.remoteMethod)&&e.remoteMethod(Ne),e.defaultFirstOption&&(e.filterable||e.remote)&&Y.value?We(U):We(be))},U=()=>{const Ne=J.value.filter(Jt=>Jt.visible&&!Jt.disabled&&!Jt.states.groupDisabled),Je=Ne.find(Jt=>Jt.created),Lt=Ne[0];l.hoveringIndex=fe(J.value,Je||Lt)},te=()=>{if(e.multiple)l.selectedLabel="";else{const Je=ve(e.modelValue);l.selectedLabel=Je.currentLabel,l.selected=Je;return}const Ne=[];Ie(e.modelValue)&&e.modelValue.forEach(Je=>{Ne.push(ve(Je))}),l.selected=Ne},ve=Ne=>{let Je;const Lt=Fi(Ne).toLowerCase()==="object",Jt=Fi(Ne).toLowerCase()==="null",Eo=Fi(Ne).toLowerCase()==="undefined";for(let jo=l.cachedOptions.size-1;jo>=0;jo--){const In=se.value[jo];if(Lt?Gt(In.value,e.valueKey)===Gt(Ne,e.valueKey):In.value===Ne){Je={value:Ne,currentLabel:In.currentLabel,isDisabled:In.isDisabled};break}}if(Je)return Je;const Wo=Lt?Ne.label:!Jt&&!Eo?Ne:"";return{value:Ne,currentLabel:Wo}},be=()=>{e.multiple?l.hoveringIndex=J.value.findIndex(Ne=>l.selected.some(Je=>Ko(Je)===Ko(Ne))):l.hoveringIndex=J.value.findIndex(Ne=>Ko(Ne)===Ko(l.selected))},ue=()=>{l.selectionWidth=u.value.getBoundingClientRect().width},ye=()=>{l.calculatorWidth=p.value.getBoundingClientRect().width},we=()=>{l.collapseItemWidth=g.value.getBoundingClientRect().width},Ce=()=>{var Ne,Je;(Je=(Ne=d.value)==null?void 0:Ne.updatePopper)==null||Je.call(Ne)},he=()=>{var Ne,Je;(Je=(Ne=f.value)==null?void 0:Ne.updatePopper)==null||Je.call(Ne)},Se=()=>{l.inputValue.length>0&&!O.value&&(O.value=!0),Ae(l.inputValue)},Re=Ne=>{if(l.inputValue=Ne.target.value,e.remote)He();else return Se()},He=Hn(()=>{Se()},D.value),de=Ne=>{wn(e.modelValue,Ne)||t(Bt,Ne)},Le=Ne=>Eg(Ne,Je=>!l.disabledOptions.has(Je)),Ue=Ne=>{if(e.multiple&&Ne.code!==Ke.delete&&Ne.target.value.length<=0){const Je=e.modelValue.slice(),Lt=Le(Je);if(Lt<0)return;Je.splice(Lt,1),t(it,Je),de(Je)}},ot=(Ne,Je)=>{const Lt=l.selected.indexOf(Je);if(Lt>-1&&!z.value){const Jt=e.modelValue.slice();Jt.splice(Lt,1),t(it,Jt),de(Jt),t("remove-tag",Je.value)}Ne.stopPropagation(),Ot()},dt=Ne=>{Ne.stopPropagation();const Je=e.multiple?[]:void 0;if(e.multiple)for(const Lt of l.selected)Lt.isDisabled&&Je.push(Lt.value);t(it,Je),de(Je),l.hoveringIndex=-1,O.value=!1,t("clear"),Ot()},je=Ne=>{if(e.multiple){const Je=(e.modelValue||[]).slice(),Lt=fe(Je,Ne.value);Lt>-1?Je.splice(Lt,1):(e.multipleLimit<=0||Je.length{$e(Ne)})},fe=(Ne=[],Je)=>{if(!ct(Je))return Ne.indexOf(Je);const Lt=e.valueKey;let Jt=-1;return Ne.some((Eo,Wo)=>xt(Gt(Eo,Lt))===Gt(Je,Lt)?(Jt=Wo,!0):!1),Jt},$e=Ne=>{var Je,Lt,Jt,Eo,Wo;const Fr=Ie(Ne)?Ne[0]:Ne;let jo=null;if(Fr!=null&&Fr.value){const In=J.value.filter(mi=>mi.value===Fr.value);In.length>0&&(jo=In[0].$el)}if(d.value&&jo){const In=(Eo=(Jt=(Lt=(Je=d.value)==null?void 0:Je.popperRef)==null?void 0:Lt.contentRef)==null?void 0:Jt.querySelector)==null?void 0:Eo.call(Jt,`.${a.be("dropdown","wrap")}`);In&&Ag(In,jo)}(Wo=w.value)==null||Wo.handleScroll()},ee=Ne=>{l.options.set(Ne.value,Ne),l.cachedOptions.set(Ne.value,Ne),Ne.disabled&&l.disabledOptions.set(Ne.value,Ne)},ie=(Ne,Je)=>{l.options.get(Ne)===Je&&l.options.delete(Ne)},{handleCompositionStart:ke,handleCompositionUpdate:ne,handleCompositionEnd:ze}=A8(Ne=>Re(Ne)),tt=S(()=>{var Ne,Je;return(Je=(Ne=d.value)==null?void 0:Ne.popperRef)==null?void 0:Je.contentRef}),St=()=>{We(()=>$e(l.selected))},Ot=()=>{var Ne;(Ne=c.value)==null||Ne.focus()},ho=()=>{kt()},qt=Ne=>{dt(Ne)},kt=Ne=>{if(O.value=!1,C.value){const Je=new FocusEvent("focus",Ne);We(()=>E(Je))}},Ft=()=>{l.inputValue.length>0?l.inputValue="":O.value=!1},Fn=()=>{z.value||(l.menuVisibleOnFocus?l.menuVisibleOnFocus=!1:O.value=!O.value)},Gc=()=>{O.value?J.value[l.hoveringIndex]&&je(J.value[l.hoveringIndex]):Fn()},Ko=Ne=>ct(Ne.value)?Gt(Ne.value,e.valueKey):Ne.value,vi=S(()=>J.value.filter(Ne=>Ne.visible).every(Ne=>Ne.disabled)),hi=S(()=>e.multiple?e.collapseTags?l.selected.slice(0,e.maxCollapseTags):l.selected:[]),Xc=S(()=>e.multiple?e.collapseTags?l.selected.slice(e.maxCollapseTags):[]:[]),Ga=Ne=>{if(!O.value){O.value=!0;return}if(!(l.options.size===0||Y.value===0)&&!vi.value){Ne==="next"?(l.hoveringIndex++,l.hoveringIndex===l.options.size&&(l.hoveringIndex=0)):Ne==="prev"&&(l.hoveringIndex--,l.hoveringIndex<0&&(l.hoveringIndex=l.options.size-1));const Je=J.value[l.hoveringIndex];(Je.disabled===!0||Je.states.groupDisabled===!0||!Je.visible)&&Ga(Ne),We(()=>$e(T.value))}},Jc=()=>{if(!u.value)return 0;const Ne=window.getComputedStyle(u.value);return Number.parseFloat(Ne.gap||"6px")},Zc=S(()=>{const Ne=Jc();return{maxWidth:`${g.value&&e.maxCollapseTags===1?l.selectionWidth-l.collapseItemWidth-Ne:l.selectionWidth}px`}}),Qc=S(()=>({maxWidth:`${l.selectionWidth}px`})),ed=S(()=>({width:`${Math.max(l.calculatorWidth,KX)}px`}));return e.multiple&&!Ie(e.modelValue)&&t(it,[]),!e.multiple&&Ie(e.modelValue)&&t(it,""),Kt(u,ue),Kt(p,ye),Kt(v,Ce),Kt(b,Ce),Kt(_,he),Kt(g,we),et(()=>{te()}),{inputId:P,contentId:o,nsSelect:a,nsInput:r,states:l,isFocused:C,expanded:O,optionsArray:J,hoverOption:T,selectSize:le,filteredOptionsCount:Y,resetCalculatorWidth:ye,updateTooltip:Ce,updateTagTooltip:he,debouncedOnInputChange:He,onInput:Re,deletePrevTag:Ue,deleteTag:ot,deleteSelected:dt,handleOptionSelect:je,scrollToOption:$e,hasModelValue:K,shouldShowPlaceholder:ce,currentPlaceholder:ge,showClose:F,iconComponent:B,iconReverse:I,validateState:H,validateIcon:N,showNewOption:_e,updateOptions:Q,collapseTagSize:ae,setSelected:te,selectDisabled:z,emptyText:q,handleCompositionStart:ke,handleCompositionUpdate:ne,handleCompositionEnd:ze,onOptionCreate:ee,onOptionDestroy:ie,handleMenuEnter:St,handleFocus:x,focus:Ot,blur:ho,handleBlur:E,handleClearClick:qt,handleClickOutside:kt,handleEsc:Ft,toggleMenu:Fn,selectOption:Gc,getValueKey:Ko,navigateOptions:Ga,dropdownMenuVisible:Te,showTagList:hi,collapseTagList:Xc,tagStyle:Zc,collapseTagStyle:Qc,inputStyle:ed,popperRef:tt,inputRef:c,tooltipRef:d,tagTooltipRef:f,calculatorRef:p,prefixRef:h,suffixRef:m,selectRef:i,wrapperRef:b,selectionRef:u,scrollbarRef:w,menuRef:v,tagMenuRef:_,collapseItemRef:g}};var jX=A({name:"ElOptions",setup(e,{slots:t}){const n=Pe(ui);let o=[];return()=>{var a,r;const l=(a=t.default)==null?void 0:a.call(t),i=[];function u(d){Ie(d)&&d.forEach(f=>{var c,p,h,m;const v=(c=(f==null?void 0:f.type)||{})==null?void 0:c.name;v==="ElOptionGroup"?u(!Ze(f.children)&&!Ie(f.children)&&Xe((p=f.children)==null?void 0:p.default)?(h=f.children)==null?void 0:h.default():f.children):v==="ElOption"?i.push((m=f.props)==null?void 0:m.value):Ie(f.children)&&u(f.children)})}return l.length&&u((r=l[0])==null?void 0:r.children),wn(i,o)||(o=i,n&&(n.states.optionValues=i)),l}}});const qX=Ee({name:String,id:String,modelValue:{type:[Array,String,Number,Boolean,Object],default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:cn,effect:{type:X(String),default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperOptions:{type:X(Object),default:()=>({})},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},teleported:pn.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:$t,default:fa},fitInputWidth:Boolean,suffixIcon:{type:$t,default:Bo},tagType:{...Lc.type,default:"info"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,placement:{type:X(String),values:Hr,default:"bottom-start"},fallbackPlacements:{type:X(Array),default:["bottom-start","top-start","right","left"]},ariaLabel:{type:String,default:void 0}}),Sh="ElSelect",UX=A({name:Sh,componentName:Sh,components:{ElInput:mn,ElSelectMenu:FX,ElOption:Z2,ElOptions:jX,ElTag:Ls,ElScrollbar:ha,ElTooltip:En,ElIcon:Be},directives:{ClickOutside:sa},props:qX,emits:[it,Bt,"remove-tag","clear","visible-change","focus","blur"],setup(e,{emit:t}){const n=WX(e,t);return pt(ui,wt({props:e,states:n.states,optionsArray:n.optionsArray,handleOptionSelect:n.handleOptionSelect,onOptionCreate:n.onOptionCreate,onOptionDestroy:n.onOptionDestroy,selectRef:n.selectRef,setSelected:n.setSelected})),{...n}}}),YX=["id","disabled","autocomplete","readonly","aria-activedescendant","aria-controls","aria-expanded","aria-label"],GX=["textContent"];function XX(e,t,n,o,a,r){const l=nt("el-tag"),i=nt("el-tooltip"),u=nt("el-icon"),d=nt("el-option"),f=nt("el-options"),c=nt("el-scrollbar"),p=nt("el-select-menu"),h=sc("click-outside");return Qe((y(),M("div",{ref:"selectRef",class:$([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),onMouseenter:t[16]||(t[16]=m=>e.states.inputHovering=!0),onMouseleave:t[17]||(t[17]=m=>e.states.inputHovering=!1),onClick:t[18]||(t[18]=Ge((...m)=>e.toggleMenu&&e.toggleMenu(...m),["prevent","stop"]))},[W(i,{ref:"tooltipRef",visible:e.dropdownMenuVisible,placement:e.placement,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,pure:"",trigger:"click",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:e.persistent,onBeforeShow:e.handleMenuEnter,onHide:t[15]||(t[15]=m=>e.states.isBeforeHide=!1)},{default:G(()=>{var m;return[k("div",{ref:"wrapperRef",class:$([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)])},[e.$slots.prefix?(y(),M("div",{key:0,ref:"prefixRef",class:$(e.nsSelect.e("prefix"))},[re(e.$slots,"prefix")],2)):Z("v-if",!0),k("div",{ref:"selectionRef",class:$([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.states.selected.length)])},[e.multiple?re(e.$slots,"tag",{key:0},()=>[(y(!0),M(Fe,null,mt(e.showTagList,v=>(y(),M("div",{key:e.getValueKey(v),class:$(e.nsSelect.e("selected-item"))},[W(l,{closable:!e.selectDisabled&&!v.isDisabled,size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",style:De(e.tagStyle),onClose:_=>e.deleteTag(_,v)},{default:G(()=>[k("span",{class:$(e.nsSelect.e("tags-text"))},Me(v.currentLabel),3)]),_:2},1032,["closable","size","type","style","onClose"])],2))),128)),e.collapseTags&&e.states.selected.length>e.maxCollapseTags?(y(),oe(i,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom",teleported:e.teleported},{default:G(()=>[k("div",{ref:"collapseItemRef",class:$(e.nsSelect.e("selected-item"))},[W(l,{closable:!1,size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",style:De(e.collapseTagStyle)},{default:G(()=>[k("span",{class:$(e.nsSelect.e("tags-text"))}," + "+Me(e.states.selected.length-e.maxCollapseTags),3)]),_:1},8,["size","type","style"])],2)]),content:G(()=>[k("div",{ref:"tagMenuRef",class:$(e.nsSelect.e("selection"))},[(y(!0),M(Fe,null,mt(e.collapseTagList,v=>(y(),M("div",{key:e.getValueKey(v),class:$(e.nsSelect.e("selected-item"))},[W(l,{class:"in-tooltip",closable:!e.selectDisabled&&!v.isDisabled,size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",onClose:_=>e.deleteTag(_,v)},{default:G(()=>[k("span",{class:$(e.nsSelect.e("tags-text"))},Me(v.currentLabel),3)]),_:2},1032,["closable","size","type","onClose"])],2))),128))],2)]),_:1},8,["disabled","effect","teleported"])):Z("v-if",!0)]):Z("v-if",!0),e.selectDisabled?Z("v-if",!0):(y(),M("div",{key:1,class:$([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable)])},[Qe(k("input",{id:e.inputId,ref:"inputRef","onUpdate:modelValue":t[0]||(t[0]=v=>e.states.inputValue=v),type:"text",class:$([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,autocomplete:e.autocomplete,style:De(e.inputStyle),role:"combobox",readonly:!e.filterable,spellcheck:"false","aria-activedescendant":((m=e.hoverOption)==null?void 0:m.id)||"","aria-controls":e.contentId,"aria-expanded":e.dropdownMenuVisible,"aria-label":e.ariaLabel,"aria-autocomplete":"none","aria-haspopup":"listbox",onFocus:t[1]||(t[1]=(...v)=>e.handleFocus&&e.handleFocus(...v)),onBlur:t[2]||(t[2]=(...v)=>e.handleBlur&&e.handleBlur(...v)),onKeydown:[t[3]||(t[3]=Mt(Ge(v=>e.navigateOptions("next"),["stop","prevent"]),["down"])),t[4]||(t[4]=Mt(Ge(v=>e.navigateOptions("prev"),["stop","prevent"]),["up"])),t[5]||(t[5]=Mt(Ge((...v)=>e.handleEsc&&e.handleEsc(...v),["stop","prevent"]),["esc"])),t[6]||(t[6]=Mt(Ge((...v)=>e.selectOption&&e.selectOption(...v),["stop","prevent"]),["enter"])),t[7]||(t[7]=Mt(Ge((...v)=>e.deletePrevTag&&e.deletePrevTag(...v),["stop"]),["delete"]))],onCompositionstart:t[8]||(t[8]=(...v)=>e.handleCompositionStart&&e.handleCompositionStart(...v)),onCompositionupdate:t[9]||(t[9]=(...v)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...v)),onCompositionend:t[10]||(t[10]=(...v)=>e.handleCompositionEnd&&e.handleCompositionEnd(...v)),onInput:t[11]||(t[11]=(...v)=>e.onInput&&e.onInput(...v)),onClick:t[12]||(t[12]=Ge((...v)=>e.toggleMenu&&e.toggleMenu(...v),["stop"]))},null,46,YX),[[B0,e.states.inputValue]]),e.filterable?(y(),M("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:$(e.nsSelect.e("input-calculator")),textContent:Me(e.states.inputValue)},null,10,GX)):Z("v-if",!0)],2)),e.shouldShowPlaceholder?(y(),M("div",{key:2,class:$([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[k("span",null,Me(e.currentPlaceholder),1)],2)):Z("v-if",!0)],2),k("div",{ref:"suffixRef",class:$(e.nsSelect.e("suffix"))},[e.iconComponent&&!e.showClose?(y(),oe(u,{key:0,class:$([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.iconReverse])},{default:G(()=>[(y(),oe(ut(e.iconComponent)))]),_:1},8,["class"])):Z("v-if",!0),e.showClose&&e.clearIcon?(y(),oe(u,{key:1,class:$([e.nsSelect.e("caret"),e.nsSelect.e("icon")]),onClick:e.handleClearClick},{default:G(()=>[(y(),oe(ut(e.clearIcon)))]),_:1},8,["class","onClick"])):Z("v-if",!0),e.validateState&&e.validateIcon?(y(),oe(u,{key:2,class:$([e.nsInput.e("icon"),e.nsInput.e("validateIcon")])},{default:G(()=>[(y(),oe(ut(e.validateIcon)))]),_:1},8,["class"])):Z("v-if",!0)],2)],2)]}),content:G(()=>[W(p,{ref:"menuRef"},{default:G(()=>[e.$slots.header?(y(),M("div",{key:0,class:$(e.nsSelect.be("dropdown","header")),onClick:t[13]||(t[13]=Ge(()=>{},["stop"]))},[re(e.$slots,"header")],2)):Z("v-if",!0),Qe(W(c,{id:e.contentId,ref:"scrollbarRef",tag:"ul","wrap-class":e.nsSelect.be("dropdown","wrap"),"view-class":e.nsSelect.be("dropdown","list"),class:$([e.nsSelect.is("empty",e.filteredOptionsCount===0)]),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical"},{default:G(()=>[e.showNewOption?(y(),oe(d,{key:0,value:e.states.inputValue,created:!0},null,8,["value"])):Z("v-if",!0),W(f,null,{default:G(()=>[re(e.$slots,"default")]),_:3})]),_:3},8,["id","wrap-class","view-class","class","aria-label"]),[[bt,e.states.options.size>0&&!e.loading]]),e.$slots.loading&&e.loading?(y(),M("div",{key:1,class:$(e.nsSelect.be("dropdown","loading"))},[re(e.$slots,"loading")],2)):e.loading||e.filteredOptionsCount===0?(y(),M("div",{key:2,class:$(e.nsSelect.be("dropdown","empty"))},[re(e.$slots,"empty",{},()=>[k("span",null,Me(e.emptyText),1)])],2)):Z("v-if",!0),e.$slots.footer?(y(),M("div",{key:3,class:$(e.nsSelect.be("dropdown","footer")),onClick:t[14]||(t[14]=Ge(()=>{},["stop"]))},[re(e.$slots,"footer")],2)):Z("v-if",!0)]),_:3},512)]),_:3},8,["visible","placement","teleported","popper-class","popper-options","fallback-placements","effect","transition","persistent","onBeforeShow"])],34)),[[h,e.handleClickOutside,e.popperRef]])}var JX=xe(UX,[["render",XX],["__file","select.vue"]]);const ZX=A({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:Boolean},setup(e){const t=me("select"),n=R(null),o=rt(),a=R([]);pt(T8,wt({...un(e)}));const r=S(()=>a.value.some(u=>u.visible===!0)),l=u=>{const d=[];return Ie(u.children)&&u.children.forEach(f=>{var c,p;f.type&&f.type.name==="ElOption"&&f.component&&f.component.proxy?d.push(f.component.proxy):(c=f.children)!=null&&c.length?d.push(...l(f)):(p=f.component)!=null&&p.subTree&&d.push(...l(f.component.subTree))}),d},i=()=>{a.value=l(o.subTree)};return et(()=>{i()}),z4(n,i,{attributes:!0,subtree:!0,childList:!0}),{groupRef:n,visible:r,ns:t}}});function QX(e,t,n,o,a,r){return Qe((y(),M("ul",{ref:"groupRef",class:$(e.ns.be("group","wrap"))},[k("li",{class:$(e.ns.be("group","title"))},Me(e.label),3),k("li",null,[k("ul",{class:$(e.ns.b("group"))},[re(e.$slots,"default")],2)])],2)),[[bt,e.visible]])}var O8=xe(ZX,[["render",QX],["__file","option-group.vue"]]);const Or=lt(JX,{Option:Z2,OptionGroup:O8}),Ku=Dt(Z2),eJ=Dt(O8),Q2=()=>Pe($8,{}),tJ=Ee({pageSize:{type:Number,required:!0},pageSizes:{type:X(Array),default:()=>Ht([10,20,30,40,50,100])},popperClass:{type:String},disabled:Boolean,teleported:Boolean,size:{type:String,values:zo}}),nJ=A({name:"ElPaginationSizes"}),oJ=A({...nJ,props:tJ,emits:["page-size-change"],setup(e,{emit:t}){const n=e,{t:o}=_t(),a=me("pagination"),r=Q2(),l=R(n.pageSize);pe(()=>n.pageSizes,(d,f)=>{if(!wn(d,f)&&Array.isArray(d)){const c=d.includes(n.pageSize)?n.pageSize:n.pageSizes[0];t("page-size-change",c)}}),pe(()=>n.pageSize,d=>{l.value=d});const i=S(()=>n.pageSizes);function u(d){var f;d!==l.value&&(l.value=d,(f=r.handleSizeChange)==null||f.call(r,Number(d)))}return(d,f)=>(y(),M("span",{class:$(s(a).e("sizes"))},[W(s(Or),{"model-value":l.value,disabled:d.disabled,"popper-class":d.popperClass,size:d.size,teleported:d.teleported,"validate-event":!1,onChange:u},{default:G(()=>[(y(!0),M(Fe,null,mt(s(i),c=>(y(),oe(s(Ku),{key:c,value:c,label:c+s(o)("el.pagination.pagesize")},null,8,["value","label"]))),128))]),_:1},8,["model-value","disabled","popper-class","size","teleported"])],2))}});var aJ=xe(oJ,[["__file","sizes.vue"]]);const rJ=Ee({size:{type:String,values:zo}}),lJ=["disabled"],sJ=A({name:"ElPaginationJumper"}),iJ=A({...sJ,props:rJ,setup(e){const{t}=_t(),n=me("pagination"),{pageCount:o,disabled:a,currentPage:r,changeEvent:l}=Q2(),i=R(),u=S(()=>{var c;return(c=i.value)!=null?c:r==null?void 0:r.value});function d(c){i.value=c?+c:""}function f(c){c=Math.trunc(+c),l==null||l(c),i.value=void 0}return(c,p)=>(y(),M("span",{class:$(s(n).e("jump")),disabled:s(a)},[k("span",{class:$([s(n).e("goto")])},Me(s(t)("el.pagination.goto")),3),W(s(mn),{size:c.size,class:$([s(n).e("editor"),s(n).is("in-pagination")]),min:1,max:s(o),disabled:s(a),"model-value":s(u),"validate-event":!1,label:s(t)("el.pagination.page"),type:"number","onUpdate:modelValue":d,onChange:f},null,8,["size","class","max","disabled","model-value","label"]),k("span",{class:$([s(n).e("classifier")])},Me(s(t)("el.pagination.pageClassifier")),3)],10,lJ))}});var uJ=xe(iJ,[["__file","jumper.vue"]]);const cJ=Ee({total:{type:Number,default:1e3}}),dJ=["disabled"],fJ=A({name:"ElPaginationTotal"}),pJ=A({...fJ,props:cJ,setup(e){const{t}=_t(),n=me("pagination"),{disabled:o}=Q2();return(a,r)=>(y(),M("span",{class:$(s(n).e("total")),disabled:s(o)},Me(s(t)("el.pagination.total",{total:a.total})),11,dJ))}});var vJ=xe(pJ,[["__file","total.vue"]]);const hJ=Ee({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),mJ=["onKeyup"],gJ=["aria-current","aria-label","tabindex"],yJ=["tabindex","aria-label"],_J=["aria-current","aria-label","tabindex"],bJ=["tabindex","aria-label"],wJ=["aria-current","aria-label","tabindex"],CJ=A({name:"ElPaginationPager"}),SJ=A({...CJ,props:hJ,emits:["change"],setup(e,{emit:t}){const n=e,o=me("pager"),a=me("icon"),{t:r}=_t(),l=R(!1),i=R(!1),u=R(!1),d=R(!1),f=R(!1),c=R(!1),p=S(()=>{const C=n.pagerCount,x=(C-1)/2,E=Number(n.currentPage),O=Number(n.pageCount);let T=!1,V=!1;O>C&&(E>C-x&&(T=!0),E["more","btn-quickprev",a.b(),o.is("disabled",n.disabled)]),m=S(()=>["more","btn-quicknext",a.b(),o.is("disabled",n.disabled)]),v=S(()=>n.disabled?-1:0);gn(()=>{const C=(n.pagerCount-1)/2;l.value=!1,i.value=!1,n.pageCount>n.pagerCount&&(n.currentPage>n.pagerCount-C&&(l.value=!0),n.currentPageO&&(E=O)),E!==T&&t("change",E)}return(C,x)=>(y(),M("ul",{class:$(s(o).b()),onClick:b,onKeyup:Mt(w,["enter"])},[C.pageCount>0?(y(),M("li",{key:0,class:$([[s(o).is("active",C.currentPage===1),s(o).is("disabled",C.disabled)],"number"]),"aria-current":C.currentPage===1,"aria-label":s(r)("el.pagination.currentPage",{pager:1}),tabindex:s(v)}," 1 ",10,gJ)):Z("v-if",!0),l.value?(y(),M("li",{key:1,class:$(s(h)),tabindex:s(v),"aria-label":s(r)("el.pagination.prevPages",{pager:C.pagerCount-2}),onMouseenter:x[0]||(x[0]=E=>_(!0)),onMouseleave:x[1]||(x[1]=E=>u.value=!1),onFocus:x[2]||(x[2]=E=>g(!0)),onBlur:x[3]||(x[3]=E=>f.value=!1)},[(u.value||f.value)&&!C.disabled?(y(),oe(s(Mr),{key:0})):(y(),oe(s(cf),{key:1}))],42,yJ)):Z("v-if",!0),(y(!0),M(Fe,null,mt(s(p),E=>(y(),M("li",{key:E,class:$([[s(o).is("active",C.currentPage===E),s(o).is("disabled",C.disabled)],"number"]),"aria-current":C.currentPage===E,"aria-label":s(r)("el.pagination.currentPage",{pager:E}),tabindex:s(v)},Me(E),11,_J))),128)),i.value?(y(),M("li",{key:2,class:$(s(m)),tabindex:s(v),"aria-label":s(r)("el.pagination.nextPages",{pager:C.pagerCount-2}),onMouseenter:x[4]||(x[4]=E=>_()),onMouseleave:x[5]||(x[5]=E=>d.value=!1),onFocus:x[6]||(x[6]=E=>g()),onBlur:x[7]||(x[7]=E=>c.value=!1)},[(d.value||c.value)&&!C.disabled?(y(),oe(s($r),{key:0})):(y(),oe(s(cf),{key:1}))],42,bJ)):Z("v-if",!0),C.pageCount>1?(y(),M("li",{key:3,class:$([[s(o).is("active",C.currentPage===C.pageCount),s(o).is("disabled",C.disabled)],"number"]),"aria-current":C.currentPage===C.pageCount,"aria-label":s(r)("el.pagination.currentPage",{pager:C.pageCount}),tabindex:s(v)},Me(C.pageCount),11,wJ)):Z("v-if",!0)],42,mJ))}});var kJ=xe(SJ,[["__file","pager.vue"]]);const xn=e=>typeof e!="number",EJ=Ee({pageSize:Number,defaultPageSize:Number,total:Number,pageCount:Number,pagerCount:{type:Number,validator:e=>Ye(e)&&Math.trunc(e)===e&&e>4&&e<22&&e%2===1,default:7},currentPage:Number,defaultCurrentPage:Number,layout:{type:String,default:["prev","pager","next","jumper","->","total"].join(", ")},pageSizes:{type:X(Array),default:()=>Ht([10,20,30,40,50,100])},popperClass:{type:String,default:""},prevText:{type:String,default:""},prevIcon:{type:$t,default:()=>aa},nextText:{type:String,default:""},nextIcon:{type:$t,default:()=>Sn},teleported:{type:Boolean,default:!0},small:Boolean,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean}),xJ={"update:current-page":e=>Ye(e),"update:page-size":e=>Ye(e),"size-change":e=>Ye(e),change:(e,t)=>Ye(e)&&Ye(t),"current-change":e=>Ye(e),"prev-click":e=>Ye(e),"next-click":e=>Ye(e)},kh="ElPagination";var MJ=A({name:kh,props:EJ,emits:xJ,setup(e,{emit:t,slots:n}){const{t:o}=_t(),a=me("pagination"),r=rt().vnode.props||{},l="onUpdate:currentPage"in r||"onUpdate:current-page"in r||"onCurrentChange"in r,i="onUpdate:pageSize"in r||"onUpdate:page-size"in r||"onSizeChange"in r,u=S(()=>{if(xn(e.total)&&xn(e.pageCount)||!xn(e.currentPage)&&!l)return!1;if(e.layout.includes("sizes")){if(xn(e.pageCount)){if(!xn(e.total)&&!xn(e.pageSize)&&!i)return!1}else if(!i)return!1}return!0}),d=R(xn(e.defaultPageSize)?10:e.defaultPageSize),f=R(xn(e.defaultCurrentPage)?1:e.defaultCurrentPage),c=S({get(){return xn(e.pageSize)?d.value:e.pageSize},set(b){xn(e.pageSize)&&(d.value=b),i&&(t("update:page-size",b),t("size-change",b))}}),p=S(()=>{let b=0;return xn(e.pageCount)?xn(e.total)||(b=Math.max(1,Math.ceil(e.total/c.value))):b=e.pageCount,b}),h=S({get(){return xn(e.currentPage)?f.value:e.currentPage},set(b){let C=b;b<1?C=1:b>p.value&&(C=p.value),xn(e.currentPage)&&(f.value=C),l&&(t("update:current-page",C),t("current-change",C))}});pe(p,b=>{h.value>b&&(h.value=b)}),pe([h,c],b=>{t("change",...b)},{flush:"post"});function m(b){h.value=b}function v(b){c.value=b;const C=p.value;h.value>C&&(h.value=C)}function _(){e.disabled||(h.value-=1,t("prev-click",h.value))}function g(){e.disabled||(h.value+=1,t("next-click",h.value))}function w(b,C){b&&(b.props||(b.props={}),b.props.class=[b.props.class,C].join(" "))}return pt($8,{pageCount:p,disabled:S(()=>e.disabled),currentPage:h,changeEvent:m,handleSizeChange:v}),()=>{var b,C;if(!u.value)return o("el.pagination.deprecationWarning"),null;if(!e.layout||e.hideOnSinglePage&&p.value<=1)return null;const x=[],E=[],O=qe("div",{class:a.e("rightwrapper")},E),T={prev:qe(TX,{disabled:e.disabled,currentPage:h.value,prevText:e.prevText,prevIcon:e.prevIcon,onClick:_}),jumper:qe(uJ,{size:e.small?"small":"default"}),pager:qe(kJ,{currentPage:h.value,pageCount:p.value,pagerCount:e.pagerCount,onChange:m,disabled:e.disabled}),next:qe(PX,{disabled:e.disabled,currentPage:h.value,pageCount:p.value,nextText:e.nextText,nextIcon:e.nextIcon,onClick:g}),sizes:qe(aJ,{pageSize:c.value,pageSizes:e.pageSizes,popperClass:e.popperClass,disabled:e.disabled,teleported:e.teleported,size:e.small?"small":"default"}),slot:(C=(b=n==null?void 0:n.default)==null?void 0:b.call(n))!=null?C:null,total:qe(vJ,{total:xn(e.total)?0:e.total})},V=e.layout.split(",").map(P=>P.trim());let L=!1;return V.forEach(P=>{if(P==="->"){L=!0;return}L?E.push(T[P]):x.push(T[P])}),w(x[0],a.is("first")),w(x[x.length-1],a.is("last")),L&&E.length>0&&(w(E[0],a.is("first")),w(E[E.length-1],a.is("last")),x.push(O)),qe("div",{class:[a.b(),a.is("background",e.background),{[a.m("small")]:e.small}]},x)}}});const $J=lt(MJ),TJ=Ee({title:String,confirmButtonText:String,cancelButtonText:String,confirmButtonType:{type:String,values:wf,default:"primary"},cancelButtonType:{type:String,values:wf,default:"text"},icon:{type:$t,default:()=>Fg},iconColor:{type:String,default:"#f90"},hideIcon:{type:Boolean,default:!1},hideAfter:{type:Number,default:200},teleported:pn.teleported,persistent:pn.persistent,width:{type:[String,Number],default:150}}),AJ={confirm:e=>e instanceof MouseEvent,cancel:e=>e instanceof MouseEvent},OJ=A({name:"ElPopconfirm"}),NJ=A({...OJ,props:TJ,emits:AJ,setup(e,{emit:t}){const n=e,{t:o}=_t(),a=me("popconfirm"),r=R(),l=()=>{var p,h;(h=(p=r.value)==null?void 0:p.onClose)==null||h.call(p)},i=S(()=>({width:Xt(n.width)})),u=p=>{t("confirm",p),l()},d=p=>{t("cancel",p),l()},f=S(()=>n.confirmButtonText||o("el.popconfirm.confirmButtonText")),c=S(()=>n.cancelButtonText||o("el.popconfirm.cancelButtonText"));return(p,h)=>(y(),oe(s(En),ft({ref_key:"tooltipRef",ref:r,trigger:"click",effect:"light"},p.$attrs,{"popper-class":`${s(a).namespace.value}-popover`,"popper-style":s(i),teleported:p.teleported,"fallback-placements":["bottom","top","right","left"],"hide-after":p.hideAfter,persistent:p.persistent}),{content:G(()=>[k("div",{class:$(s(a).b())},[k("div",{class:$(s(a).e("main"))},[!p.hideIcon&&p.icon?(y(),oe(s(Be),{key:0,class:$(s(a).e("icon")),style:De({color:p.iconColor})},{default:G(()=>[(y(),oe(ut(p.icon)))]),_:1},8,["class","style"])):Z("v-if",!0),vt(" "+Me(p.title),1)],2),k("div",{class:$(s(a).e("action"))},[W(s(rn),{size:"small",type:p.cancelButtonType==="text"?"":p.cancelButtonType,text:p.cancelButtonType==="text",onClick:d},{default:G(()=>[vt(Me(s(c)),1)]),_:1},8,["type","text"]),W(s(rn),{size:"small",type:p.confirmButtonType==="text"?"":p.confirmButtonType,text:p.confirmButtonType==="text",onClick:u},{default:G(()=>[vt(Me(s(f)),1)]),_:1},8,["type","text"])],2)],2)]),default:G(()=>[p.$slots.reference?re(p.$slots,"reference",{key:0}):Z("v-if",!0)]),_:3},16,["popper-class","popper-style","teleported","hide-after","persistent"]))}});var IJ=xe(NJ,[["__file","popconfirm.vue"]]);const RJ=lt(IJ),PJ=Ee({trigger:Ps.trigger,placement:iu.placement,disabled:Ps.disabled,visible:pn.visible,transition:pn.transition,popperOptions:iu.popperOptions,tabindex:iu.tabindex,content:pn.content,popperStyle:pn.popperStyle,popperClass:pn.popperClass,enterable:{...pn.enterable,default:!0},effect:{...pn.effect,default:"light"},teleported:pn.teleported,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),LJ={"update:visible":e=>Qt(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},VJ="onUpdate:visible",BJ=A({name:"ElPopover"}),zJ=A({...BJ,props:PJ,emits:LJ,setup(e,{expose:t,emit:n}){const o=e,a=S(()=>o[VJ]),r=me("popover"),l=R(),i=S(()=>{var _;return(_=s(l))==null?void 0:_.popperRef}),u=S(()=>[{width:Xt(o.width)},o.popperStyle]),d=S(()=>[r.b(),o.popperClass,{[r.m("plain")]:!!o.content}]),f=S(()=>o.transition===`${r.namespace.value}-fade-in-linear`),c=()=>{var _;(_=l.value)==null||_.hide()},p=()=>{n("before-enter")},h=()=>{n("before-leave")},m=()=>{n("after-enter")},v=()=>{n("update:visible",!1),n("after-leave")};return t({popperRef:i,hide:c}),(_,g)=>(y(),oe(s(En),ft({ref_key:"tooltipRef",ref:l},_.$attrs,{trigger:_.trigger,placement:_.placement,disabled:_.disabled,visible:_.visible,transition:_.transition,"popper-options":_.popperOptions,tabindex:_.tabindex,content:_.content,offset:_.offset,"show-after":_.showAfter,"hide-after":_.hideAfter,"auto-close":_.autoClose,"show-arrow":_.showArrow,"aria-label":_.title,effect:_.effect,enterable:_.enterable,"popper-class":s(d),"popper-style":s(u),teleported:_.teleported,persistent:_.persistent,"gpu-acceleration":s(f),"onUpdate:visible":s(a),onBeforeShow:p,onBeforeHide:h,onShow:m,onHide:v}),{content:G(()=>[_.title?(y(),M("div",{key:0,class:$(s(r).e("title")),role:"title"},Me(_.title),3)):Z("v-if",!0),re(_.$slots,"default",{},()=>[vt(Me(_.content),1)])]),default:G(()=>[_.$slots.reference?re(_.$slots,"reference",{key:0}):Z("v-if",!0)]),_:3},16,["trigger","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","persistent","gpu-acceleration","onUpdate:visible"]))}});var HJ=xe(zJ,[["__file","popover.vue"]]);const Eh=(e,t)=>{const n=t.arg||t.value,o=n==null?void 0:n.popperRef;o&&(o.triggerRef=e)};var DJ={mounted(e,t){Eh(e,t)},updated(e,t){Eh(e,t)}};const FJ="popover",N8=kP(DJ,FJ),KJ=lt(HJ,{directive:N8}),WJ=Ee({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:{type:Boolean,default:!1},duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:X(String),default:"round"},textInside:{type:Boolean,default:!1},width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:X([String,Array,Function]),default:""},striped:Boolean,stripedFlow:Boolean,format:{type:X(Function),default:e=>`${e}%`}}),jJ=["aria-valuenow"],qJ={viewBox:"0 0 100 100"},UJ=["d","stroke","stroke-linecap","stroke-width"],YJ=["d","stroke","opacity","stroke-linecap","stroke-width"],GJ={key:0},XJ=A({name:"ElProgress"}),JJ=A({...XJ,props:WJ,setup(e){const t=e,n={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},o=me("progress"),a=S(()=>({width:`${t.percentage}%`,animationDuration:`${t.duration}s`,backgroundColor:w(t.percentage)})),r=S(()=>(t.strokeWidth/t.width*100).toFixed(1)),l=S(()=>["circle","dashboard"].includes(t.type)?Number.parseInt(`${50-Number.parseFloat(r.value)/2}`,10):0),i=S(()=>{const b=l.value,C=t.type==="dashboard";return` + M 50 50 + m 0 ${C?"":"-"}${b} + a ${b} ${b} 0 1 1 0 ${C?"-":""}${b*2} + a ${b} ${b} 0 1 1 0 ${C?"":"-"}${b*2} + `}),u=S(()=>2*Math.PI*l.value),d=S(()=>t.type==="dashboard"?.75:1),f=S(()=>`${-1*u.value*(1-d.value)/2}px`),c=S(()=>({strokeDasharray:`${u.value*d.value}px, ${u.value}px`,strokeDashoffset:f.value})),p=S(()=>({strokeDasharray:`${u.value*d.value*(t.percentage/100)}px, ${u.value}px`,strokeDashoffset:f.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),h=S(()=>{let b;return t.color?b=w(t.percentage):b=n[t.status]||n.default,b}),m=S(()=>t.status==="warning"?ti:t.type==="line"?t.status==="success"?Sc:fa:t.status==="success"?Bl:uo),v=S(()=>t.type==="line"?12+t.strokeWidth*.4:t.width*.111111+2),_=S(()=>t.format(t.percentage));function g(b){const C=100/b.length;return b.map((E,O)=>Ze(E)?{color:E,percentage:(O+1)*C}:E).sort((E,O)=>E.percentage-O.percentage)}const w=b=>{var C;const{color:x}=t;if(Xe(x))return x(b);if(Ze(x))return x;{const E=g(x);for(const O of E)if(O.percentage>b)return O.color;return(C=E[E.length-1])==null?void 0:C.color}};return(b,C)=>(y(),M("div",{class:$([s(o).b(),s(o).m(b.type),s(o).is(b.status),{[s(o).m("without-text")]:!b.showText,[s(o).m("text-inside")]:b.textInside}]),role:"progressbar","aria-valuenow":b.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[b.type==="line"?(y(),M("div",{key:0,class:$(s(o).b("bar"))},[k("div",{class:$(s(o).be("bar","outer")),style:De({height:`${b.strokeWidth}px`})},[k("div",{class:$([s(o).be("bar","inner"),{[s(o).bem("bar","inner","indeterminate")]:b.indeterminate},{[s(o).bem("bar","inner","striped")]:b.striped},{[s(o).bem("bar","inner","striped-flow")]:b.stripedFlow}]),style:De(s(a))},[(b.showText||b.$slots.default)&&b.textInside?(y(),M("div",{key:0,class:$(s(o).be("bar","innerText"))},[re(b.$slots,"default",{percentage:b.percentage},()=>[k("span",null,Me(s(_)),1)])],2)):Z("v-if",!0)],6)],6)],2)):(y(),M("div",{key:1,class:$(s(o).b("circle")),style:De({height:`${b.width}px`,width:`${b.width}px`})},[(y(),M("svg",qJ,[k("path",{class:$(s(o).be("circle","track")),d:s(i),stroke:`var(${s(o).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":b.strokeLinecap,"stroke-width":s(r),fill:"none",style:De(s(c))},null,14,UJ),k("path",{class:$(s(o).be("circle","path")),d:s(i),stroke:s(h),fill:"none",opacity:b.percentage?1:0,"stroke-linecap":b.strokeLinecap,"stroke-width":s(r),style:De(s(p))},null,14,YJ)]))],6)),(b.showText||b.$slots.default)&&!b.textInside?(y(),M("div",{key:2,class:$(s(o).e("text")),style:De({fontSize:`${s(v)}px`})},[re(b.$slots,"default",{percentage:b.percentage},()=>[b.status?(y(),oe(s(Be),{key:1},{default:G(()=>[(y(),oe(ut(s(m))))]),_:1})):(y(),M("span",GJ,Me(s(_)),1))])],6)):Z("v-if",!0)],10,jJ))}});var ZJ=xe(JJ,[["__file","progress.vue"]]);const I8=lt(ZJ),QJ=Ee({modelValue:{type:Number,default:0},id:{type:String,default:void 0},lowThreshold:{type:Number,default:2},highThreshold:{type:Number,default:4},max:{type:Number,default:5},colors:{type:X([Array,Object]),default:()=>Ht(["","",""])},voidColor:{type:String,default:""},disabledVoidColor:{type:String,default:""},icons:{type:X([Array,Object]),default:()=>[Ql,Ql,Ql]},voidIcon:{type:$t,default:()=>Gg},disabledVoidIcon:{type:$t,default:()=>Ql},disabled:Boolean,allowHalf:Boolean,showText:Boolean,showScore:Boolean,textColor:{type:String,default:""},texts:{type:X(Array),default:()=>Ht(["Extremely bad","Disappointed","Fair","Satisfied","Surprise"])},scoreTemplate:{type:String,default:"{value}"},size:cn,label:{type:String,default:void 0},clearable:{type:Boolean,default:!1}}),eZ={[Bt]:e=>Ye(e),[it]:e=>Ye(e)},tZ=["id","aria-label","aria-labelledby","aria-valuenow","aria-valuetext","aria-valuemax"],nZ=["onMousemove","onClick"],oZ=A({name:"ElRate"}),aZ=A({...oZ,props:QJ,emits:eZ,setup(e,{expose:t,emit:n}){const o=e;function a(B,I){const H=q=>ct(q),N=Object.keys(I).map(q=>+q).filter(q=>{const Y=I[q];return(H(Y)?Y.excluded:!1)?Bq-Y),D=I[N[0]];return H(D)&&D.value||D}const r=Pe(Dr,void 0),l=Pe(Vo,void 0),i=an(),u=me("rate"),{inputId:d,isLabeledByFormItem:f}=Ho(o,{formItemContext:l}),c=R(o.modelValue),p=R(-1),h=R(!0),m=S(()=>[u.b(),u.m(i.value)]),v=S(()=>o.disabled||(r==null?void 0:r.disabled)),_=S(()=>u.cssVarBlock({"void-color":o.voidColor,"disabled-void-color":o.disabledVoidColor,"fill-color":C.value})),g=S(()=>{let B="";return o.showScore?B=o.scoreTemplate.replace(/\{\s*value\s*\}/,v.value?`${o.modelValue}`:`${c.value}`):o.showText&&(B=o.texts[Math.ceil(c.value)-1]),B}),w=S(()=>o.modelValue*100-Math.floor(o.modelValue)*100),b=S(()=>Ie(o.colors)?{[o.lowThreshold]:o.colors[0],[o.highThreshold]:{value:o.colors[1],excluded:!0},[o.max]:o.colors[2]}:o.colors),C=S(()=>{const B=a(c.value,b.value);return ct(B)?"":B}),x=S(()=>{let B="";return v.value?B=`${w.value}%`:o.allowHalf&&(B="50%"),{color:C.value,width:B}}),E=S(()=>{let B=Ie(o.icons)?[...o.icons]:{...o.icons};return B=hr(B),Ie(B)?{[o.lowThreshold]:B[0],[o.highThreshold]:{value:B[1],excluded:!0},[o.max]:B[2]}:B}),O=S(()=>a(o.modelValue,E.value)),T=S(()=>v.value?Ze(o.disabledVoidIcon)?o.disabledVoidIcon:hr(o.disabledVoidIcon):Ze(o.voidIcon)?o.voidIcon:hr(o.voidIcon)),V=S(()=>a(c.value,E.value));function L(B){const I=v.value&&w.value>0&&B-1o.modelValue,H=o.allowHalf&&h.value&&B-.5<=c.value&&B>c.value;return I||H}function P(B){o.clearable&&B===o.modelValue&&(B=0),n(it,B),o.modelValue!==B&&n("change",B)}function z(B){v.value||(o.allowHalf&&h.value?P(c.value):P(B))}function j(B){if(v.value)return;let I=c.value;const H=B.code;return H===Ke.up||H===Ke.right?(o.allowHalf?I+=.5:I+=1,B.stopPropagation(),B.preventDefault()):(H===Ke.left||H===Ke.down)&&(o.allowHalf?I-=.5:I-=1,B.stopPropagation(),B.preventDefault()),I=I<0?0:I,I=I>o.max?o.max:I,n(it,I),n("change",I),I}function K(B,I){if(!v.value){if(o.allowHalf&&I){let H=I.target;oo(H,u.e("item"))&&(H=H.querySelector(`.${u.e("icon")}`)),(H.clientWidth===0||oo(H,u.e("decimal")))&&(H=H.parentNode),h.value=I.offsetX*2<=H.clientWidth,c.value=h.value?B-.5:B}else c.value=B;p.value=B}}function F(){v.value||(o.allowHalf&&(h.value=o.modelValue!==Math.floor(o.modelValue)),c.value=o.modelValue,p.value=-1)}return pe(()=>o.modelValue,B=>{c.value=B,h.value=o.modelValue!==Math.floor(o.modelValue)}),o.modelValue||n(it,0),t({setCurrentValue:K,resetCurrentValue:F}),(B,I)=>{var H;return y(),M("div",{id:s(d),class:$([s(m),s(u).is("disabled",s(v))]),role:"slider","aria-label":s(f)?void 0:B.label||"rating","aria-labelledby":s(f)?(H=s(l))==null?void 0:H.labelId:void 0,"aria-valuenow":c.value,"aria-valuetext":s(g)||void 0,"aria-valuemin":"0","aria-valuemax":B.max,tabindex:"0",style:De(s(_)),onKeydown:j},[(y(!0),M(Fe,null,mt(B.max,(N,D)=>(y(),M("span",{key:D,class:$(s(u).e("item")),onMousemove:q=>K(N,q),onMouseleave:F,onClick:q=>z(N)},[W(s(Be),{class:$([s(u).e("icon"),{hover:p.value===N},s(u).is("active",N<=c.value)])},{default:G(()=>[L(N)?Z("v-if",!0):(y(),M(Fe,{key:0},[Qe((y(),oe(ut(s(V)),null,null,512)),[[bt,N<=c.value]]),Qe((y(),oe(ut(s(T)),null,null,512)),[[bt,!(N<=c.value)]])],64)),L(N)?(y(),M(Fe,{key:1},[(y(),oe(ut(s(T)),{class:$([s(u).em("decimal","box")])},null,8,["class"])),W(s(Be),{style:De(s(x)),class:$([s(u).e("icon"),s(u).e("decimal")])},{default:G(()=>[(y(),oe(ut(s(O))))]),_:1},8,["style","class"])],64)):Z("v-if",!0)]),_:2},1032,["class"])],42,nZ))),128)),B.showText||B.showScore?(y(),M("span",{key:0,class:$(s(u).e("text")),style:De({color:B.textColor})},Me(s(g)),7)):Z("v-if",!0)],46,tZ)}}});var rZ=xe(aZ,[["__file","rate.vue"]]);const lZ=lt(rZ),Zr={success:"icon-success",warning:"icon-warning",error:"icon-error",info:"icon-info"},xh={[Zr.success]:Rg,[Zr.warning]:ti,[Zr.error]:kc,[Zr.info]:Ec},sZ=Ee({title:{type:String,default:""},subTitle:{type:String,default:""},icon:{type:String,values:["success","warning","info","error"],default:"info"}}),iZ=A({name:"ElResult"}),uZ=A({...iZ,props:sZ,setup(e){const t=e,n=me("result"),o=S(()=>{const a=t.icon,r=a&&Zr[a]?Zr[a]:"icon-info",l=xh[r]||xh["icon-info"];return{class:r,component:l}});return(a,r)=>(y(),M("div",{class:$(s(n).b())},[k("div",{class:$(s(n).e("icon"))},[re(a.$slots,"icon",{},()=>[s(o).component?(y(),oe(ut(s(o).component),{key:0,class:$(s(o).class)},null,8,["class"])):Z("v-if",!0)])],2),a.title||a.$slots.title?(y(),M("div",{key:0,class:$(s(n).e("title"))},[re(a.$slots,"title",{},()=>[k("p",null,Me(a.title),1)])],2)):Z("v-if",!0),a.subTitle||a.$slots["sub-title"]?(y(),M("div",{key:1,class:$(s(n).e("subtitle"))},[re(a.$slots,"sub-title",{},()=>[k("p",null,Me(a.subTitle),1)])],2)):Z("v-if",!0),a.$slots.extra?(y(),M("div",{key:2,class:$(s(n).e("extra"))},[re(a.$slots,"extra")],2)):Z("v-if",!0)],2))}});var cZ=xe(uZ,[["__file","result.vue"]]);const dZ=lt(cZ);var Mh=Number.isNaN||function(t){return typeof t=="number"&&t!==t};function fZ(e,t){return!!(e===t||Mh(e)&&Mh(t))}function pZ(e,t){if(e.length!==t.length)return!1;for(var n=0;n{const t=rt().proxy.$props;return S(()=>{const n=(o,a,r)=>({});return t.perfMode?yc(n):vZ(n)})},Ff=50,Wu="itemRendered",ju="scroll",Qr="forward",qu="backward",to="auto",zc="smart",Bs="start",Oo="center",zs="end",xl="horizontal",ep="vertical",hZ="ltr",ul="rtl",Hs="negative",tp="positive-ascending",np="positive-descending",mZ={[xl]:"left",[ep]:"top"},gZ=20,yZ={[xl]:"deltaX",[ep]:"deltaY"},_Z=({atEndEdge:e,atStartEdge:t,layout:n},o)=>{let a,r=0;const l=u=>u<0&&t.value||u>0&&e.value;return{hasReachedEdge:l,onWheel:u=>{xr(a);const d=u[yZ[n.value]];l(r)&&l(r+d)||(r+=d,D4()||u.preventDefault(),a=Fa(()=>{o(r),r=0}))}}},Kf=So({type:X([Number,Function]),required:!0}),Wf=So({type:Number}),jf=So({type:Number,default:2}),bZ=So({type:String,values:["ltr","rtl"],default:"ltr"}),qf=So({type:Number,default:0}),Uu=So({type:Number,required:!0}),P8=So({type:String,values:["horizontal","vertical"],default:ep}),L8=Ee({className:{type:String,default:""},containerElement:{type:X([String,Object]),default:"div"},data:{type:X(Array),default:()=>Ht([])},direction:bZ,height:{type:[String,Number],required:!0},innerElement:{type:[String,Object],default:"div"},style:{type:X([Object,String,Array])},useIsScrolling:{type:Boolean,default:!1},width:{type:[Number,String],required:!1},perfMode:{type:Boolean,default:!0},scrollbarAlwaysOn:{type:Boolean,default:!1}}),V8=Ee({cache:jf,estimatedItemSize:Wf,layout:P8,initScrollOffset:qf,total:Uu,itemSize:Kf,...L8}),Uf={type:Number,default:6},B8={type:Number,default:0},z8={type:Number,default:2},br=Ee({columnCache:jf,columnWidth:Kf,estimatedColumnWidth:Wf,estimatedRowHeight:Wf,initScrollLeft:qf,initScrollTop:qf,itemKey:{type:X(Function),default:({columnIndex:e,rowIndex:t})=>`${t}:${e}`},rowCache:jf,rowHeight:Kf,totalColumn:Uu,totalRow:Uu,hScrollbarSize:Uf,vScrollbarSize:Uf,scrollbarStartGap:B8,scrollbarEndGap:z8,role:String,...L8}),H8=Ee({alwaysOn:Boolean,class:String,layout:P8,total:Uu,ratio:{type:Number,required:!0},clientSize:{type:Number,required:!0},scrollFrom:{type:Number,required:!0},scrollbarSize:Uf,startGap:B8,endGap:z8,visible:Boolean}),cr=(e,t)=>ee===hZ||e===ul||e===xl,$h=e=>e===ul;let qr=null;function Yu(e=!1){if(qr===null||e){const t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",n.direction="rtl";const o=document.createElement("div"),a=o.style;return a.width="100px",a.height="100px",t.appendChild(o),document.body.appendChild(t),t.scrollLeft>0?qr=np:(t.scrollLeft=1,t.scrollLeft===0?qr=Hs:qr=tp),document.body.removeChild(t),qr}return qr}function wZ({move:e,size:t,bar:n},o){const a={},r=`translate${n.axis}(${e}px)`;return a[n.size]=t,a.transform=r,a.msTransform=r,a.webkitTransform=r,o==="horizontal"?a.height="100%":a.width="100%",a}const Yf=A({name:"ElVirtualScrollBar",props:H8,emits:["scroll","start-move","stop-move"],setup(e,{emit:t}){const n=S(()=>e.startGap+e.endGap),o=me("virtual-scrollbar"),a=me("scrollbar"),r=R(),l=R();let i=null,u=null;const d=wt({isDragging:!1,traveled:0}),f=S(()=>z6[e.layout]),c=S(()=>e.clientSize-s(n)),p=S(()=>({position:"absolute",width:`${xl===e.layout?c.value:e.scrollbarSize}px`,height:`${xl===e.layout?e.scrollbarSize:c.value}px`,[mZ[e.layout]]:"2px",right:"2px",bottom:"2px",borderRadius:"4px"})),h=S(()=>{const E=e.ratio,O=e.clientSize;if(E>=100)return Number.POSITIVE_INFINITY;if(E>=50)return E*O/100;const T=O/3;return Math.floor(Math.min(Math.max(E*O,gZ),T))}),m=S(()=>{if(!Number.isFinite(h.value))return{display:"none"};const E=`${h.value}px`;return wZ({bar:f.value,size:E,move:d.traveled},e.layout)}),v=S(()=>Math.floor(e.clientSize-h.value-s(n))),_=()=>{window.addEventListener("mousemove",C),window.addEventListener("mouseup",b);const E=s(l);E&&(u=document.onselectstart,document.onselectstart=()=>!1,E.addEventListener("touchmove",C),E.addEventListener("touchend",b))},g=()=>{window.removeEventListener("mousemove",C),window.removeEventListener("mouseup",b),document.onselectstart=u,u=null;const E=s(l);E&&(E.removeEventListener("touchmove",C),E.removeEventListener("touchend",b))},w=E=>{E.stopImmediatePropagation(),!(E.ctrlKey||[1,2].includes(E.button))&&(d.isDragging=!0,d[f.value.axis]=E.currentTarget[f.value.offset]-(E[f.value.client]-E.currentTarget.getBoundingClientRect()[f.value.direction]),t("start-move"),_())},b=()=>{d.isDragging=!1,d[f.value.axis]=0,t("stop-move"),g()},C=E=>{const{isDragging:O}=d;if(!O||!l.value||!r.value)return;const T=d[f.value.axis];if(!T)return;xr(i);const V=(r.value.getBoundingClientRect()[f.value.direction]-E[f.value.client])*-1,L=l.value[f.value.offset]-T,P=V-L;i=Fa(()=>{d.traveled=Math.max(e.startGap,Math.min(P,v.value)),t("scroll",P,v.value)})},x=E=>{const O=Math.abs(E.target.getBoundingClientRect()[f.value.direction]-E[f.value.client]),T=l.value[f.value.offset]/2,V=O-T;d.traveled=Math.max(0,Math.min(V,v.value)),t("scroll",V,v.value)};return pe(()=>e.scrollFrom,E=>{d.isDragging||(d.traveled=Math.ceil(E*v.value))}),It(()=>{g()}),()=>qe("div",{role:"presentation",ref:r,class:[o.b(),e.class,(e.alwaysOn||d.isDragging)&&"always-on"],style:p.value,onMousedown:Ge(x,["stop","prevent"]),onTouchstartPrevent:w},qe("div",{ref:l,class:a.e("thumb"),style:m.value,onMousedown:w},[]))}}),D8=({name:e,getOffset:t,getItemSize:n,getItemOffset:o,getEstimatedTotalSize:a,getStartIndexForOffset:r,getStopIndexForStartIndex:l,initCache:i,clearCache:u,validateProps:d})=>A({name:e??"ElVirtualList",props:V8,emits:[Wu,ju],setup(f,{emit:c,expose:p}){d(f);const h=rt(),m=me("vl"),v=R(i(f,h)),_=R8(),g=R(),w=R(),b=R(),C=R({isScrolling:!1,scrollDir:"forward",scrollOffset:Ye(f.initScrollOffset)?f.initScrollOffset:0,updateRequested:!1,isScrollbarDragging:!1,scrollbarAlwaysOn:f.scrollbarAlwaysOn}),x=S(()=>{const{total:J,cache:se}=f,{isScrolling:_e,scrollDir:Q,scrollOffset:le}=s(C);if(J===0)return[0,0,0,0];const ae=r(f,le,s(v)),Te=l(f,ae,le,s(v)),ce=!_e||Q===qu?Math.max(1,se):1,ge=!_e||Q===Qr?Math.max(1,se):1;return[Math.max(0,ae-ce),Math.max(0,Math.min(J-1,Te+ge)),ae,Te]}),E=S(()=>a(f,s(v))),O=S(()=>Ds(f.layout)),T=S(()=>[{position:"relative",[`overflow-${O.value?"x":"y"}`]:"scroll",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:f.direction,height:Ye(f.height)?`${f.height}px`:f.height,width:Ye(f.width)?`${f.width}px`:f.width},f.style]),V=S(()=>{const J=s(E),se=s(O);return{height:se?"100%":`${J}px`,pointerEvents:s(C).isScrolling?"none":void 0,width:se?`${J}px`:"100%"}}),L=S(()=>O.value?f.width:f.height),{onWheel:P}=_Z({atStartEdge:S(()=>C.value.scrollOffset<=0),atEndEdge:S(()=>C.value.scrollOffset>=E.value),layout:S(()=>f.layout)},J=>{var se,_e;(_e=(se=b.value).onMouseUp)==null||_e.call(se),I(Math.min(C.value.scrollOffset+J,E.value-L.value))}),z=()=>{const{total:J}=f;if(J>0){const[le,ae,Te,ce]=s(x);c(Wu,le,ae,Te,ce)}const{scrollDir:se,scrollOffset:_e,updateRequested:Q}=s(C);c(ju,se,_e,Q)},j=J=>{const{clientHeight:se,scrollHeight:_e,scrollTop:Q}=J.currentTarget,le=s(C);if(le.scrollOffset===Q)return;const ae=Math.max(0,Math.min(Q,_e-se));C.value={...le,isScrolling:!0,scrollDir:cr(le.scrollOffset,ae),scrollOffset:ae,updateRequested:!1},We(D)},K=J=>{const{clientWidth:se,scrollLeft:_e,scrollWidth:Q}=J.currentTarget,le=s(C);if(le.scrollOffset===_e)return;const{direction:ae}=f;let Te=_e;if(ae===ul)switch(Yu()){case Hs:{Te=-_e;break}case np:{Te=Q-se-_e;break}}Te=Math.max(0,Math.min(Te,Q-se)),C.value={...le,isScrolling:!0,scrollDir:cr(le.scrollOffset,Te),scrollOffset:Te,updateRequested:!1},We(D)},F=J=>{s(O)?K(J):j(J),z()},B=(J,se)=>{const _e=(E.value-L.value)/se*J;I(Math.min(E.value-L.value,_e))},I=J=>{J=Math.max(J,0),J!==s(C).scrollOffset&&(C.value={...s(C),scrollOffset:J,scrollDir:cr(s(C).scrollOffset,J),updateRequested:!0},We(D))},H=(J,se=to)=>{const{scrollOffset:_e}=s(C);J=Math.max(0,Math.min(J,f.total-1)),I(t(f,J,se,_e,s(v)))},N=J=>{const{direction:se,itemSize:_e,layout:Q}=f,le=_.value(u&&_e,u&&Q,u&&se);let ae;if(yt(le,String(J)))ae=le[J];else{const Te=o(f,J,s(v)),ce=n(f,J,s(v)),ge=s(O),Ae=se===ul,U=ge?Te:0;le[J]=ae={position:"absolute",left:Ae?void 0:`${U}px`,right:Ae?`${U}px`:void 0,top:ge?0:`${Te}px`,height:ge?"100%":`${ce}px`,width:ge?`${ce}px`:"100%"}}return ae},D=()=>{C.value.isScrolling=!1,We(()=>{_.value(-1,null,null)})},q=()=>{const J=g.value;J&&(J.scrollTop=0)};et(()=>{if(!gt)return;const{initScrollOffset:J}=f,se=s(g);Ye(J)&&se&&(s(O)?se.scrollLeft=J:se.scrollTop=J),z()}),ua(()=>{const{direction:J,layout:se}=f,{scrollOffset:_e,updateRequested:Q}=s(C),le=s(g);if(Q&&le)if(se===xl)if(J===ul)switch(Yu()){case Hs:{le.scrollLeft=-_e;break}case tp:{le.scrollLeft=_e;break}default:{const{clientWidth:ae,scrollWidth:Te}=le;le.scrollLeft=Te-ae-_e;break}}else le.scrollLeft=_e;else le.scrollTop=_e});const Y={ns:m,clientSize:L,estimatedTotalSize:E,windowStyle:T,windowRef:g,innerRef:w,innerStyle:V,itemsToRender:x,scrollbarRef:b,states:C,getItemStyle:N,onScroll:F,onScrollbarScroll:B,onWheel:P,scrollTo:I,scrollToItem:H,resetScrollTop:q};return p({windowRef:g,innerRef:w,getItemStyleCache:_,scrollTo:I,scrollToItem:H,resetScrollTop:q,states:C}),Y},render(f){var c;const{$slots:p,className:h,clientSize:m,containerElement:v,data:_,getItemStyle:g,innerElement:w,itemsToRender:b,innerStyle:C,layout:x,total:E,onScroll:O,onScrollbarScroll:T,onWheel:V,states:L,useIsScrolling:P,windowStyle:z,ns:j}=f,[K,F]=b,B=ut(v),I=ut(w),H=[];if(E>0)for(let Y=K;Y<=F;Y++)H.push((c=p.default)==null?void 0:c.call(p,{data:_,key:Y,index:Y,isScrolling:P?L.isScrolling:void 0,style:g(Y)}));const N=[qe(I,{style:C,ref:"innerRef"},Ze(I)?H:{default:()=>H})],D=qe(Yf,{ref:"scrollbarRef",clientSize:m,layout:x,onScroll:T,ratio:m*100/this.estimatedTotalSize,scrollFrom:L.scrollOffset/(this.estimatedTotalSize-m),total:E}),q=qe(B,{class:[j.e("window"),h],style:z,onScroll:O,onWheel:V,ref:"windowRef",key:0},Ze(B)?[N]:{default:()=>[N]});return qe("div",{key:0,class:[j.e("wrapper"),L.scrollbarAlwaysOn?"always-on":""]},[q,D])}}),F8=D8({name:"ElFixedSizeList",getItemOffset:({itemSize:e},t)=>t*e,getItemSize:({itemSize:e})=>e,getEstimatedTotalSize:({total:e,itemSize:t})=>t*e,getOffset:({height:e,total:t,itemSize:n,layout:o,width:a},r,l,i)=>{const u=Ds(o)?a:e,d=Math.max(0,t*n-u),f=Math.min(d,r*n),c=Math.max(0,(r+1)*n-u);switch(l===zc&&(i>=c-u&&i<=f+u?l=to:l=Oo),l){case Bs:return f;case zs:return c;case Oo:{const p=Math.round(c+(f-c)/2);return pd+Math.floor(u/2)?d:p}case to:default:return i>=c&&i<=f?i:iMath.max(0,Math.min(e-1,Math.floor(n/t))),getStopIndexForStartIndex:({height:e,total:t,itemSize:n,layout:o,width:a},r,l)=>{const i=r*n,u=Ds(o)?a:e,d=Math.ceil((u+l-i)/n);return Math.max(0,Math.min(t-1,r+d-1))},initCache(){},clearCache:!0,validateProps(){}}),el=(e,t,n)=>{const{itemSize:o}=e,{items:a,lastVisitedIndex:r}=n;if(t>r){let l=0;if(r>=0){const i=a[r];l=i.offset+i.size}for(let i=r+1;i<=t;i++){const u=o(i);a[i]={offset:l,size:u},l+=u}n.lastVisitedIndex=t}return a[t]},CZ=(e,t,n)=>{const{items:o,lastVisitedIndex:a}=t;return(a>0?o[a].offset:0)>=n?K8(e,t,0,a,n):SZ(e,t,Math.max(0,a),n)},K8=(e,t,n,o,a)=>{for(;n<=o;){const r=n+Math.floor((o-n)/2),l=el(e,r,t).offset;if(l===a)return r;la&&(o=r-1)}return Math.max(0,n-1)},SZ=(e,t,n,o)=>{const{total:a}=e;let r=1;for(;n{let a=0;if(o>=e&&(o=e-1),o>=0){const i=t[o];a=i.offset+i.size}const l=(e-o-1)*n;return a+l},kZ=D8({name:"ElDynamicSizeList",getItemOffset:(e,t,n)=>el(e,t,n).offset,getItemSize:(e,t,{items:n})=>n[t].size,getEstimatedTotalSize:Th,getOffset:(e,t,n,o,a)=>{const{height:r,layout:l,width:i}=e,u=Ds(l)?i:r,d=el(e,t,a),f=Th(e,a),c=Math.max(0,Math.min(f-u,d.offset)),p=Math.max(0,d.offset-u+d.size);switch(n===zc&&(o>=p-u&&o<=c+u?n=to:n=Oo),n){case Bs:return c;case zs:return p;case Oo:return Math.round(p+(c-p)/2);case to:default:return o>=p&&o<=c?o:oCZ(e,n,t),getStopIndexForStartIndex:(e,t,n,o)=>{const{height:a,total:r,layout:l,width:i}=e,u=Ds(l)?i:a,d=el(e,t,o),f=n+u;let c=d.offset+d.size,p=t;for(;p{var r,l;n.lastVisitedIndex=Math.min(n.lastVisitedIndex,o-1),(r=t.exposed)==null||r.getItemStyleCache(-1),a&&((l=t.proxy)==null||l.$forceUpdate())},n},clearCache:!1,validateProps:({itemSize:e})=>{}}),EZ=({atXEndEdge:e,atXStartEdge:t,atYEndEdge:n,atYStartEdge:o},a)=>{let r=null,l=0,i=0;const u=(f,c)=>{const p=f<=0&&t.value||f>=0&&e.value,h=c<=0&&o.value||c>=0&&n.value;return p&&h};return{hasReachedEdge:u,onWheel:f=>{xr(r);let c=f.deltaX,p=f.deltaY;Math.abs(c)>Math.abs(p)?p=0:c=0,f.shiftKey&&p!==0&&(c=p,p=0),!(u(l,i)&&u(l+c,i+p))&&(l+=c,i+=p,f.preventDefault(),r=Fa(()=>{a(l,i),l=0,i=0}))}}},W8=({name:e,clearCache:t,getColumnPosition:n,getColumnStartIndexForOffset:o,getColumnStopIndexForStartIndex:a,getEstimatedTotalHeight:r,getEstimatedTotalWidth:l,getColumnOffset:i,getRowOffset:u,getRowPosition:d,getRowStartIndexForOffset:f,getRowStopIndexForStartIndex:c,initCache:p,injectToInstance:h,validateProps:m})=>A({name:e??"ElVirtualList",props:br,emits:[Wu,ju],setup(v,{emit:_,expose:g,slots:w}){const b=me("vl");m(v);const C=rt(),x=R(p(v,C));h==null||h(C,x);const E=R(),O=R(),T=R(),V=R(null),L=R({isScrolling:!1,scrollLeft:Ye(v.initScrollLeft)?v.initScrollLeft:0,scrollTop:Ye(v.initScrollTop)?v.initScrollTop:0,updateRequested:!1,xAxisScrollDir:Qr,yAxisScrollDir:Qr}),P=R8(),z=S(()=>Number.parseInt(`${v.height}`,10)),j=S(()=>Number.parseInt(`${v.width}`,10)),K=S(()=>{const{totalColumn:ue,totalRow:ye,columnCache:we}=v,{isScrolling:Ce,xAxisScrollDir:he,scrollLeft:Se}=s(L);if(ue===0||ye===0)return[0,0,0,0];const Re=o(v,Se,s(x)),He=a(v,Re,Se,s(x)),de=!Ce||he===qu?Math.max(1,we):1,Le=!Ce||he===Qr?Math.max(1,we):1;return[Math.max(0,Re-de),Math.max(0,Math.min(ue-1,He+Le)),Re,He]}),F=S(()=>{const{totalColumn:ue,totalRow:ye,rowCache:we}=v,{isScrolling:Ce,yAxisScrollDir:he,scrollTop:Se}=s(L);if(ue===0||ye===0)return[0,0,0,0];const Re=f(v,Se,s(x)),He=c(v,Re,Se,s(x)),de=!Ce||he===qu?Math.max(1,we):1,Le=!Ce||he===Qr?Math.max(1,we):1;return[Math.max(0,Re-de),Math.max(0,Math.min(ye-1,He+Le)),Re,He]}),B=S(()=>r(v,s(x))),I=S(()=>l(v,s(x))),H=S(()=>{var ue;return[{position:"relative",overflow:"hidden",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:v.direction,height:Ye(v.height)?`${v.height}px`:v.height,width:Ye(v.width)?`${v.width}px`:v.width},(ue=v.style)!=null?ue:{}]}),N=S(()=>{const ue=`${s(I)}px`;return{height:`${s(B)}px`,pointerEvents:s(L).isScrolling?"none":void 0,width:ue}}),D=()=>{const{totalColumn:ue,totalRow:ye}=v;if(ue>0&&ye>0){const[He,de,Le,Ue]=s(K),[ot,dt,je,fe]=s(F);_(Wu,{columnCacheStart:He,columnCacheEnd:de,rowCacheStart:ot,rowCacheEnd:dt,columnVisibleStart:Le,columnVisibleEnd:Ue,rowVisibleStart:je,rowVisibleEnd:fe})}const{scrollLeft:we,scrollTop:Ce,updateRequested:he,xAxisScrollDir:Se,yAxisScrollDir:Re}=s(L);_(ju,{xAxisScrollDir:Se,scrollLeft:we,yAxisScrollDir:Re,scrollTop:Ce,updateRequested:he})},q=ue=>{const{clientHeight:ye,clientWidth:we,scrollHeight:Ce,scrollLeft:he,scrollTop:Se,scrollWidth:Re}=ue.currentTarget,He=s(L);if(He.scrollTop===Se&&He.scrollLeft===he)return;let de=he;if($h(v.direction))switch(Yu()){case Hs:de=-he;break;case np:de=Re-we-he;break}L.value={...He,isScrolling:!0,scrollLeft:de,scrollTop:Math.max(0,Math.min(Se,Ce-ye)),updateRequested:!0,xAxisScrollDir:cr(He.scrollLeft,de),yAxisScrollDir:cr(He.scrollTop,Se)},We(()=>ae()),Te(),D()},Y=(ue,ye)=>{const we=s(z),Ce=(B.value-we)/ye*ue;_e({scrollTop:Math.min(B.value-we,Ce)})},J=(ue,ye)=>{const we=s(j),Ce=(I.value-we)/ye*ue;_e({scrollLeft:Math.min(I.value-we,Ce)})},{onWheel:se}=EZ({atXStartEdge:S(()=>L.value.scrollLeft<=0),atXEndEdge:S(()=>L.value.scrollLeft>=I.value-s(j)),atYStartEdge:S(()=>L.value.scrollTop<=0),atYEndEdge:S(()=>L.value.scrollTop>=B.value-s(z))},(ue,ye)=>{var we,Ce,he,Se;(Ce=(we=O.value)==null?void 0:we.onMouseUp)==null||Ce.call(we),(Se=(he=T.value)==null?void 0:he.onMouseUp)==null||Se.call(he);const Re=s(j),He=s(z);_e({scrollLeft:Math.min(L.value.scrollLeft+ue,I.value-Re),scrollTop:Math.min(L.value.scrollTop+ye,B.value-He)})}),_e=({scrollLeft:ue=L.value.scrollLeft,scrollTop:ye=L.value.scrollTop})=>{ue=Math.max(ue,0),ye=Math.max(ye,0);const we=s(L);ye===we.scrollTop&&ue===we.scrollLeft||(L.value={...we,xAxisScrollDir:cr(we.scrollLeft,ue),yAxisScrollDir:cr(we.scrollTop,ye),scrollLeft:ue,scrollTop:ye,updateRequested:!0},We(()=>ae()),Te(),D())},Q=(ue=0,ye=0,we=to)=>{const Ce=s(L);ye=Math.max(0,Math.min(ye,v.totalColumn-1)),ue=Math.max(0,Math.min(ue,v.totalRow-1));const he=Tg(b.namespace.value),Se=s(x),Re=r(v,Se),He=l(v,Se);_e({scrollLeft:i(v,ye,we,Ce.scrollLeft,Se,He>v.width?he:0),scrollTop:u(v,ue,we,Ce.scrollTop,Se,Re>v.height?he:0)})},le=(ue,ye)=>{const{columnWidth:we,direction:Ce,rowHeight:he}=v,Se=P.value(t&&we,t&&he,t&&Ce),Re=`${ue},${ye}`;if(yt(Se,Re))return Se[Re];{const[,He]=n(v,ye,s(x)),de=s(x),Le=$h(Ce),[Ue,ot]=d(v,ue,de),[dt]=n(v,ye,de);return Se[Re]={position:"absolute",left:Le?void 0:`${He}px`,right:Le?`${He}px`:void 0,top:`${ot}px`,height:`${Ue}px`,width:`${dt}px`},Se[Re]}},ae=()=>{L.value.isScrolling=!1,We(()=>{P.value(-1,null,null)})};et(()=>{if(!gt)return;const{initScrollLeft:ue,initScrollTop:ye}=v,we=s(E);we&&(Ye(ue)&&(we.scrollLeft=ue),Ye(ye)&&(we.scrollTop=ye)),D()});const Te=()=>{const{direction:ue}=v,{scrollLeft:ye,scrollTop:we,updateRequested:Ce}=s(L),he=s(E);if(Ce&&he){if(ue===ul)switch(Yu()){case Hs:{he.scrollLeft=-ye;break}case tp:{he.scrollLeft=ye;break}default:{const{clientWidth:Se,scrollWidth:Re}=he;he.scrollLeft=Re-Se-ye;break}}else he.scrollLeft=Math.max(0,ye);he.scrollTop=Math.max(0,we)}},{resetAfterColumnIndex:ce,resetAfterRowIndex:ge,resetAfter:Ae}=C.proxy;g({windowRef:E,innerRef:V,getItemStyleCache:P,scrollTo:_e,scrollToItem:Q,states:L,resetAfterColumnIndex:ce,resetAfterRowIndex:ge,resetAfter:Ae});const U=()=>{const{scrollbarAlwaysOn:ue,scrollbarStartGap:ye,scrollbarEndGap:we,totalColumn:Ce,totalRow:he}=v,Se=s(j),Re=s(z),He=s(I),de=s(B),{scrollLeft:Le,scrollTop:Ue}=s(L),ot=qe(Yf,{ref:O,alwaysOn:ue,startGap:ye,endGap:we,class:b.e("horizontal"),clientSize:Se,layout:"horizontal",onScroll:J,ratio:Se*100/He,scrollFrom:Le/(He-Se),total:he,visible:!0}),dt=qe(Yf,{ref:T,alwaysOn:ue,startGap:ye,endGap:we,class:b.e("vertical"),clientSize:Re,layout:"vertical",onScroll:Y,ratio:Re*100/de,scrollFrom:Ue/(de-Re),total:Ce,visible:!0});return{horizontalScrollbar:ot,verticalScrollbar:dt}},te=()=>{var ue;const[ye,we]=s(K),[Ce,he]=s(F),{data:Se,totalColumn:Re,totalRow:He,useIsScrolling:de,itemKey:Le}=v,Ue=[];if(He>0&&Re>0)for(let ot=Ce;ot<=he;ot++)for(let dt=ye;dt<=we;dt++)Ue.push((ue=w.default)==null?void 0:ue.call(w,{columnIndex:dt,data:Se,key:Le({columnIndex:dt,data:Se,rowIndex:ot}),isScrolling:de?s(L).isScrolling:void 0,style:le(ot,dt),rowIndex:ot}));return Ue},ve=()=>{const ue=ut(v.innerElement),ye=te();return[qe(ue,{style:s(N),ref:V},Ze(ue)?ye:{default:()=>ye})]};return()=>{const ue=ut(v.containerElement),{horizontalScrollbar:ye,verticalScrollbar:we}=U(),Ce=ve();return qe("div",{key:0,class:b.e("wrapper"),role:v.role},[qe(ue,{class:v.className,style:s(H),onScroll:q,onWheel:se,ref:E},Ze(ue)?Ce:{default:()=>Ce}),ye,we])}}}),xZ=W8({name:"ElFixedSizeGrid",getColumnPosition:({columnWidth:e},t)=>[e,t*e],getRowPosition:({rowHeight:e},t)=>[e,t*e],getEstimatedTotalHeight:({totalRow:e,rowHeight:t})=>t*e,getEstimatedTotalWidth:({totalColumn:e,columnWidth:t})=>t*e,getColumnOffset:({totalColumn:e,columnWidth:t,width:n},o,a,r,l,i)=>{n=Number(n);const u=Math.max(0,e*t-n),d=Math.min(u,o*t),f=Math.max(0,o*t-n+i+t);switch(a==="smart"&&(r>=f-n&&r<=d+n?a=to:a=Oo),a){case Bs:return d;case zs:return f;case Oo:{const c=Math.round(f+(d-f)/2);return cu+Math.floor(n/2)?u:c}case to:default:return r>=f&&r<=d?r:f>d||r{t=Number(t);const u=Math.max(0,n*e-t),d=Math.min(u,o*e),f=Math.max(0,o*e-t+i+e);switch(a===zc&&(r>=f-t&&r<=d+t?a=to:a=Oo),a){case Bs:return d;case zs:return f;case Oo:{const c=Math.round(f+(d-f)/2);return cu+Math.floor(t/2)?u:c}case to:default:return r>=f&&r<=d?r:f>d||rMath.max(0,Math.min(t-1,Math.floor(n/e))),getColumnStopIndexForStartIndex:({columnWidth:e,totalColumn:t,width:n},o,a)=>{const r=o*e,l=Math.ceil((n+a-r)/e);return Math.max(0,Math.min(t-1,o+l-1))},getRowStartIndexForOffset:({rowHeight:e,totalRow:t},n)=>Math.max(0,Math.min(t-1,Math.floor(n/e))),getRowStopIndexForStartIndex:({rowHeight:e,totalRow:t,height:n},o,a)=>{const r=o*e,l=Math.ceil((n+a-r)/e);return Math.max(0,Math.min(t-1,o+l-1))},initCache:()=>{},clearCache:!0,validateProps:({columnWidth:e,rowHeight:t})=>{}}),{max:Gu,min:j8,floor:q8}=Math,MZ={column:"columnWidth",row:"rowHeight"},Gf={column:"lastVisitedColumnIndex",row:"lastVisitedRowIndex"},Go=(e,t,n,o)=>{const[a,r,l]=[n[o],e[MZ[o]],n[Gf[o]]];if(t>l){let i=0;if(l>=0){const u=a[l];i=u.offset+u.size}for(let u=l+1;u<=t;u++){const d=r(u);a[u]={offset:i,size:d},i+=d}n[Gf[o]]=t}return a[t]},U8=(e,t,n,o,a,r)=>{for(;n<=o;){const l=n+q8((o-n)/2),i=Go(e,l,t,r).offset;if(i===a)return l;i{const r=a==="column"?e.totalColumn:e.totalRow;let l=1;for(;n{const[a,r]=[t[o],t[Gf[o]]];return(r>0?a[r].offset:0)>=n?U8(e,t,0,r,n,o):$Z(e,t,Gu(0,r),n,o)},Y8=({totalRow:e},{estimatedRowHeight:t,lastVisitedRowIndex:n,row:o})=>{let a=0;if(n>=e&&(n=e-1),n>=0){const i=o[n];a=i.offset+i.size}const l=(e-n-1)*t;return a+l},G8=({totalColumn:e},{column:t,estimatedColumnWidth:n,lastVisitedColumnIndex:o})=>{let a=0;if(o>e&&(o=e-1),o>=0){const i=t[o];a=i.offset+i.size}const l=(e-o-1)*n;return a+l},TZ={column:G8,row:Y8},Oh=(e,t,n,o,a,r,l)=>{const[i,u]=[r==="row"?e.height:e.width,TZ[r]],d=Go(e,t,a,r),f=u(e,a),c=Gu(0,j8(f-i,d.offset)),p=Gu(0,d.offset-i+l+d.size);switch(n===zc&&(o>=p-i&&o<=c+i?n=to:n=Oo),n){case Bs:return c;case zs:return p;case Oo:return Math.round(p+(c-p)/2);case to:default:return o>=p&&o<=c?o:p>c||o{const o=Go(e,t,n,"column");return[o.size,o.offset]},getRowPosition:(e,t,n)=>{const o=Go(e,t,n,"row");return[o.size,o.offset]},getColumnOffset:(e,t,n,o,a,r)=>Oh(e,t,n,o,a,"column",r),getRowOffset:(e,t,n,o,a,r)=>Oh(e,t,n,o,a,"row",r),getColumnStartIndexForOffset:(e,t,n)=>Ah(e,n,t,"column"),getColumnStopIndexForStartIndex:(e,t,n,o)=>{const a=Go(e,t,o,"column"),r=n+e.width;let l=a.offset+a.size,i=t;for(;iAh(e,n,t,"row"),getRowStopIndexForStartIndex:(e,t,n,o)=>{const{totalRow:a,height:r}=e,l=Go(e,t,o,"row"),i=n+r;let u=l.size+l.offset,d=t;for(;d{const n=({columnIndex:r,rowIndex:l},i)=>{var u,d;i=Zt(i)?!0:i,Ye(r)&&(t.value.lastVisitedColumnIndex=Math.min(t.value.lastVisitedColumnIndex,r-1)),Ye(l)&&(t.value.lastVisitedRowIndex=Math.min(t.value.lastVisitedRowIndex,l-1)),(u=e.exposed)==null||u.getItemStyleCache.value(-1,null,null),i&&((d=e.proxy)==null||d.$forceUpdate())},o=(r,l)=>{n({columnIndex:r},l)},a=(r,l)=>{n({rowIndex:r},l)};Object.assign(e.proxy,{resetAfterColumnIndex:o,resetAfterRowIndex:a,resetAfter:n})},initCache:({estimatedColumnWidth:e=Ff,estimatedRowHeight:t=Ff})=>({column:{},estimatedColumnWidth:e,estimatedRowHeight:t,lastVisitedColumnIndex:-1,lastVisitedRowIndex:-1,row:{}}),clearCache:!1,validateProps:({columnWidth:e,rowHeight:t})=>{}}),OZ=A({props:{item:{type:Object,required:!0},style:Object,height:Number},setup(){return{ns:me("select")}}});function NZ(e,t,n,o,a,r){return e.item.isTitle?(y(),M("div",{key:0,class:$(e.ns.be("group","title")),style:De([e.style,{lineHeight:`${e.height}px`}])},Me(e.item.label),7)):(y(),M("div",{key:1,class:$(e.ns.be("group","split")),style:De(e.style)},[k("span",{class:$(e.ns.be("group","split-dash")),style:De({top:`${e.height/2}px`})},null,6)],6))}var IZ=xe(OZ,[["render",NZ],["__file","group-item.vue"]]);function RZ(e,{emit:t}){return{hoverItem:()=>{e.disabled||t("hover",e.index)},selectOptionClick:()=>{e.disabled||t("select",e.item,e.index)}}}const X8={label:"label",value:"value",disabled:"disabled",options:"options"};function Hc(e){const t=S(()=>({...X8,...e.props}));return{aliasProps:t,getLabel:l=>Gt(l,t.value.label),getValue:l=>Gt(l,t.value.value),getDisabled:l=>Gt(l,t.value.disabled),getOptions:l=>Gt(l,t.value.options)}}const PZ=Ee({allowCreate:Boolean,autocomplete:{type:X(String),default:"none"},automaticDropdown:Boolean,clearable:Boolean,clearIcon:{type:$t,default:fa},effect:{type:X(String),default:"light"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},defaultFirstOption:Boolean,disabled:Boolean,estimatedOptionHeight:{type:Number,default:void 0},filterable:Boolean,filterMethod:Function,height:{type:Number,default:274},itemHeight:{type:Number,default:34},id:String,loading:Boolean,loadingText:String,modelValue:{type:X([Array,String,Number,Boolean,Object])},multiple:Boolean,multipleLimit:{type:Number,default:0},name:String,noDataText:String,noMatchText:String,remoteMethod:Function,reserveKeyword:{type:Boolean,default:!0},options:{type:X(Array),required:!0},placeholder:{type:String},teleported:pn.teleported,persistent:{type:Boolean,default:!0},popperClass:{type:String,default:""},popperOptions:{type:X(Object),default:()=>({})},remote:Boolean,size:cn,props:{type:X(Object),default:()=>X8},valueKey:{type:String,default:"value"},scrollbarAlwaysOn:Boolean,validateEvent:{type:Boolean,default:!0},placement:{type:X(String),values:Hr,default:"bottom-start"},fallbackPlacements:{type:X(Array),default:["bottom-start","top-start","right","left"]},tagType:{...Lc.type,default:"info"},ariaLabel:{type:String,default:void 0}}),LZ=Ee({data:Array,disabled:Boolean,hovering:Boolean,item:{type:X(Object),required:!0},index:Number,style:Object,selected:Boolean,created:Boolean}),op=Symbol("ElSelectV2Injection"),VZ=A({props:LZ,emits:["select","hover"],setup(e,{emit:t}){const n=Pe(op),o=me("select"),{hoverItem:a,selectOptionClick:r}=RZ(e,{emit:t}),{getLabel:l}=Hc(n.props);return{ns:o,hoverItem:a,selectOptionClick:r,getLabel:l}}}),BZ=["aria-selected"];function zZ(e,t,n,o,a,r){return y(),M("li",{"aria-selected":e.selected,style:De(e.style),class:$([e.ns.be("dropdown","item"),e.ns.is("selected",e.selected),e.ns.is("disabled",e.disabled),e.ns.is("created",e.created),e.ns.is("hovering",e.hovering)]),onMouseenter:t[0]||(t[0]=(...l)=>e.hoverItem&&e.hoverItem(...l)),onClick:t[1]||(t[1]=Ge((...l)=>e.selectOptionClick&&e.selectOptionClick(...l),["stop"]))},[re(e.$slots,"default",{item:e.item,index:e.index,disabled:e.disabled},()=>[k("span",null,Me(e.getLabel(e.item)),1)])],46,BZ)}var HZ=xe(VZ,[["render",zZ],["__file","option-item.vue"]]),DZ=A({name:"ElSelectDropdown",props:{loading:Boolean,data:{type:Array,required:!0},hoveringIndex:Number,width:Number},setup(e,{slots:t,expose:n}){const o=Pe(op),a=me("select"),{getLabel:r,getValue:l,getDisabled:i}=Hc(o.props),u=R([]),d=R(),f=S(()=>e.data.length);pe(()=>f.value,()=>{var P,z;(z=(P=o.tooltipRef.value).updatePopper)==null||z.call(P)});const c=S(()=>Zt(o.props.estimatedOptionHeight)),p=S(()=>c.value?{itemSize:o.props.itemHeight}:{estimatedSize:o.props.estimatedOptionHeight,itemSize:P=>u.value[P]}),h=(P=[],z)=>{const{props:{valueKey:j}}=o;return ct(z)?P&&P.some(K=>xt(Gt(K,j))===Gt(z,j)):P.includes(z)},m=(P,z)=>{if(ct(z)){const{valueKey:j}=o.props;return Gt(P,j)===Gt(z,j)}else return P===z},v=(P,z)=>o.props.multiple?h(P,l(z)):m(P,l(z)),_=(P,z)=>{const{disabled:j,multiple:K,multipleLimit:F}=o.props;return j||!z&&(K?F>0&&P.length>=F:!1)},g=P=>e.hoveringIndex===P;n({listRef:d,isSized:c,isItemDisabled:_,isItemHovering:g,isItemSelected:v,scrollToItem:P=>{const z=d.value;z&&z.scrollToItem(P)},resetScrollTop:()=>{const P=d.value;P&&P.resetScrollTop()}});const C=P=>{const{index:z,data:j,style:K}=P,F=s(c),{itemSize:B,estimatedSize:I}=s(p),{modelValue:H}=o.props,{onSelect:N,onHover:D}=o,q=j[z];if(q.type==="Group")return W(IZ,{item:q,style:K,height:F?B:I},null);const Y=v(H,q),J=_(H,Y),se=g(z);return W(HZ,ft(P,{selected:Y,disabled:i(q)||J,created:!!q.created,hovering:se,item:q,onSelect:N,onHover:D}),{default:_e=>{var Q;return((Q=t.default)==null?void 0:Q.call(t,_e))||W("span",null,[r(q)])}})},{onKeyboardNavigate:x,onKeyboardSelect:E}=o,O=()=>{x("forward")},T=()=>{x("backward")},V=()=>{o.expanded=!1},L=P=>{const{code:z}=P,{tab:j,esc:K,down:F,up:B,enter:I}=Ke;switch(z!==j&&(P.preventDefault(),P.stopPropagation()),z){case j:case K:{V();break}case F:{O();break}case B:{T();break}case I:{E();break}}};return()=>{var P,z,j,K;const{data:F,width:B}=e,{height:I,multiple:H,scrollbarAlwaysOn:N}=o.props,D=s(c)?F8:kZ;return W("div",{class:[a.b("dropdown"),a.is("multiple",H)],style:{width:`${B}px`}},[(P=t.header)==null?void 0:P.call(t),((z=t.loading)==null?void 0:z.call(t))||((j=t.empty)==null?void 0:j.call(t))||W(D,ft({ref:d},s(p),{className:a.be("dropdown","list"),scrollbarAlwaysOn:N,data:F,height:I,width:B,total:F.length,onKeydown:L}),{default:q=>W(C,q,null)}),(K=t.footer)==null?void 0:K.call(t)])}}});function FZ(e,t){const{aliasProps:n,getLabel:o,getValue:a}=Hc(e),r=R(0),l=R(null),i=S(()=>e.allowCreate&&e.filterable);function u(h){const m=v=>a(v)===h;return e.options&&e.options.some(m)||t.createdOptions.some(m)}function d(h){i.value&&(e.multiple&&h.created?r.value++:l.value=h)}function f(h){if(i.value)if(h&&h.length>0){if(u(h))return;const m={[n.value.value]:h,[n.value.label]:h,created:!0,[n.value.disabled]:!1};t.createdOptions.length>=r.value?t.createdOptions[r.value]=m:t.createdOptions.push(m)}else if(e.multiple)t.createdOptions.length=r.value;else{const m=l.value;t.createdOptions.length=0,m&&m.created&&t.createdOptions.push(m)}}function c(h){if(!i.value||!h||!h.created||h.created&&e.reserveKeyword&&t.inputValue===o(h))return;const m=t.createdOptions.findIndex(v=>a(v)===a(h));~m&&(t.createdOptions.splice(m,1),r.value--)}function p(){i.value&&(t.createdOptions.length=0,r.value=0)}return{createNewOption:f,removeNewOption:c,selectNewOption:d,clearAllNewOption:p}}const KZ=11,WZ=(e,t)=>{const{t:n}=_t(),o=me("select"),a=me("input"),{form:r,formItem:l}=Nn(),{inputId:i}=Ho(e,{formItemContext:l}),{getLabel:u,getValue:d,getDisabled:f,getOptions:c}=Hc(e),p=wt({inputValue:"",cachedOptions:[],createdOptions:[],hoveringIndex:-1,inputHovering:!1,selectionWidth:0,calculatorWidth:0,collapseItemWidth:0,previousQuery:null,previousValue:void 0,selectedLabel:"",menuVisibleOnFocus:!1,isBeforeHide:!1}),h=R(-1),m=R(-1),v=R(null),_=R(null),g=R(null),w=R(null),b=R(null),C=R(null),x=R(null),E=R(null),O=R(null),T=R(null),V=R(null),{wrapperRef:L,isFocused:P,handleFocus:z,handleBlur:j}=Oc(b,{afterFocus(){e.automaticDropdown&&!B.value&&(B.value=!0,p.menuVisibleOnFocus=!0)},beforeBlur(Oe){var st,ht;return((st=g.value)==null?void 0:st.isFocusInsideContent(Oe))||((ht=w.value)==null?void 0:ht.isFocusInsideContent(Oe))},afterBlur(){B.value=!1,p.menuVisibleOnFocus=!1}}),K=R([]),F=R([]),B=R(!1),I=S(()=>e.disabled||(r==null?void 0:r.disabled)),H=S(()=>{const Oe=F.value.length*e.itemHeight;return Oe>e.height?e.height:Oe}),N=S(()=>K.value.some(Oe=>d(Oe)==="")),D=S(()=>e.multiple?Ie(e.modelValue)&&e.modelValue.length>0:!tn(e.modelValue)&&(e.modelValue!==""||N.value)),q=S(()=>e.clearable&&!I.value&&p.inputHovering&&D.value),Y=S(()=>e.remote&&e.filterable?"":Bo),J=S(()=>Y.value&&o.is("reverse",B.value)),se=S(()=>(l==null?void 0:l.validateState)||""),_e=S(()=>f2[se.value]),Q=S(()=>e.remote?300:0),le=S(()=>e.loading?e.loadingText||n("el.select.loading"):e.remote&&!p.inputValue&&K.value.length===0?!1:e.filterable&&p.inputValue&&K.value.length>0&&F.value.length===0?e.noMatchText||n("el.select.noMatch"):K.value.length===0?e.noDataText||n("el.select.noData"):null),ae=Oe=>{const st=ht=>{if(e.filterable&&Xe(e.filterMethod)||e.filterable&&e.remote&&Xe(e.remoteMethod))return!0;const Ct=new RegExp(o2(Oe),"i");return Oe?Ct.test(u(ht)||""):!0};return e.loading?[]:[...p.createdOptions,...e.options].reduce((ht,Ct)=>{const xo=c(Ct);if(Ie(xo)){const qo=xo.filter(st);qo.length>0&&ht.push({label:u(Ct),isTitle:!0,type:"Group"},...qo,{type:"Group"})}else(e.remote||st(Ct))&&ht.push(Ct);return ht},[])},Te=()=>{K.value=ae(""),F.value=ae(p.inputValue)},ce=S(()=>{const Oe=new Map;return K.value.forEach((st,ht)=>{Oe.set(qt(d(st)),{option:st,index:ht})}),Oe}),ge=S(()=>{const Oe=new Map;return F.value.forEach((st,ht)=>{Oe.set(qt(d(st)),{option:st,index:ht})}),Oe}),Ae=S(()=>F.value.every(Oe=>f(Oe))),U=an(),te=S(()=>U.value==="small"?"small":"default"),ve=()=>{var Oe;m.value=((Oe=v.value)==null?void 0:Oe.offsetWidth)||200},be=()=>{if(!_.value)return 0;const Oe=window.getComputedStyle(_.value);return Number.parseFloat(Oe.gap||"6px")},ue=S(()=>{const Oe=be();return{maxWidth:`${V.value&&e.maxCollapseTags===1?p.selectionWidth-p.collapseItemWidth-Oe:p.selectionWidth}px`}}),ye=S(()=>({maxWidth:`${p.selectionWidth}px`})),we=S(()=>({width:`${Math.max(p.calculatorWidth,KZ)}px`})),Ce=S(()=>Ie(e.modelValue)?e.modelValue.length===0&&!p.inputValue:e.filterable?!p.inputValue:!0),he=S(()=>{var Oe;const st=(Oe=e.placeholder)!=null?Oe:n("el.select.placeholder");return e.multiple||!D.value?st:p.selectedLabel}),Se=S(()=>{var Oe,st;return(st=(Oe=g.value)==null?void 0:Oe.popperRef)==null?void 0:st.contentRef}),Re=S(()=>{if(e.multiple){const Oe=e.modelValue.length;if(e.modelValue.length>0&&ge.value.has(e.modelValue[Oe-1])){const{index:st}=ge.value.get(e.modelValue[Oe-1]);return st}}else if(e.modelValue&&ge.value.has(e.modelValue)){const{index:Oe}=ge.value.get(e.modelValue);return Oe}return-1}),He=S({get(){return B.value&&le.value!==!1},set(Oe){B.value=Oe}}),de=S(()=>e.multiple?e.collapseTags?p.cachedOptions.slice(0,e.maxCollapseTags):p.cachedOptions:[]),Le=S(()=>e.multiple?e.collapseTags?p.cachedOptions.slice(e.maxCollapseTags):[]:[]),{createNewOption:Ue,removeNewOption:ot,selectNewOption:dt,clearAllNewOption:je}=FZ(e,p),{handleCompositionStart:fe,handleCompositionUpdate:$e,handleCompositionEnd:ee}=A8(Oe=>Wo(Oe)),ie=()=>{I.value||(p.menuVisibleOnFocus?p.menuVisibleOnFocus=!1:B.value=!B.value)},ke=()=>{p.inputValue.length>0&&!B.value&&(B.value=!0),Ue(p.inputValue),ze(p.inputValue)},ne=Hn(ke,Q.value),ze=Oe=>{p.previousQuery!==Oe&&(p.previousQuery=Oe,e.filterable&&Xe(e.filterMethod)?e.filterMethod(Oe):e.filterable&&e.remote&&Xe(e.remoteMethod)&&e.remoteMethod(Oe),e.defaultFirstOption&&(e.filterable||e.remote)&&F.value.length?We(tt):We(Eo))},tt=()=>{const Oe=F.value.filter(Ct=>!Ct.disabled&&Ct.type!=="Group"),st=Oe.find(Ct=>Ct.created),ht=Oe[0];p.hoveringIndex=ho(F.value,st||ht)},St=Oe=>{wn(e.modelValue,Oe)||t(Bt,Oe)},Ot=Oe=>{t(it,Oe),St(Oe),p.previousValue=String(Oe)},ho=(Oe=[],st)=>{if(!ct(st))return Oe.indexOf(st);const ht=e.valueKey;let Ct=-1;return Oe.some((xo,qo)=>Gt(xo,ht)===Gt(st,ht)?(Ct=qo,!0):!1),Ct},qt=Oe=>ct(Oe)?Gt(Oe,e.valueKey):Oe,kt=()=>{ve()},Ft=()=>{p.selectionWidth=_.value.getBoundingClientRect().width},Fn=()=>{p.calculatorWidth=C.value.getBoundingClientRect().width},Gc=()=>{p.collapseItemWidth=V.value.getBoundingClientRect().width},Ko=()=>{var Oe,st;(st=(Oe=g.value)==null?void 0:Oe.updatePopper)==null||st.call(Oe)},vi=()=>{var Oe,st;(st=(Oe=w.value)==null?void 0:Oe.updatePopper)==null||st.call(Oe)},hi=(Oe,st)=>{if(e.multiple){let ht=e.modelValue.slice();const Ct=ho(ht,d(Oe));Ct>-1?(ht=[...ht.slice(0,Ct),...ht.slice(Ct+1)],p.cachedOptions.splice(Ct,1),ot(Oe)):(e.multipleLimit<=0||ht.length{let ht=e.modelValue.slice();const Ct=ho(ht,d(st));Ct>-1&&!I.value&&(ht=[...e.modelValue.slice(0,Ct),...e.modelValue.slice(Ct+1)],p.cachedOptions.splice(Ct,1),Ot(ht),t("remove-tag",d(st)),ot(st)),Oe.stopPropagation(),Ga()},Ga=()=>{var Oe;(Oe=b.value)==null||Oe.focus()},Jc=()=>{var Oe;(Oe=b.value)==null||Oe.blur()},Zc=()=>{p.inputValue.length>0?p.inputValue="":B.value=!1},Qc=Oe=>Eg(Oe,st=>!p.cachedOptions.some(ht=>d(ht)===st&&f(ht))),ed=Oe=>{if(e.multiple&&Oe.code!==Ke.delete&&p.inputValue.length===0){Oe.preventDefault();const st=e.modelValue.slice(),ht=Qc(st);if(ht<0)return;st.splice(ht,1);const Ct=p.cachedOptions[ht];p.cachedOptions.splice(ht,1),ot(Ct),Ot(st)}},Ne=()=>{let Oe;Ie(e.modelValue)?Oe=[]:Oe=void 0,e.multiple?p.cachedOptions=[]:p.selectedLabel="",B.value=!1,Ot(Oe),t("clear"),je(),Ga()},Je=(Oe,st=void 0)=>{const ht=F.value;if(!["forward","backward"].includes(Oe)||I.value||ht.length<=0||Ae.value)return;if(!B.value)return ie();st===void 0&&(st=p.hoveringIndex);let Ct=-1;Oe==="forward"?(Ct=st+1,Ct>=ht.length&&(Ct=0)):Oe==="backward"&&(Ct=st-1,(Ct<0||Ct>=ht.length)&&(Ct=ht.length-1));const xo=ht[Ct];if(f(xo)||xo.type==="Group")return Je(Oe,Ct);p.hoveringIndex=Ct,In(Ct)},Lt=()=>{if(B.value)~p.hoveringIndex&&F.value[p.hoveringIndex]&&hi(F.value[p.hoveringIndex],p.hoveringIndex);else return ie()},Jt=Oe=>{p.hoveringIndex=Oe},Eo=()=>{e.multiple?p.hoveringIndex=F.value.findIndex(Oe=>e.modelValue.some(st=>qt(st)===qt(Oe))):p.hoveringIndex=F.value.findIndex(Oe=>qt(Oe)===qt(e.modelValue))},Wo=Oe=>{if(p.inputValue=Oe.target.value,e.remote)ne();else return ke()},Fr=Oe=>{if(B.value=!1,P.value){const st=new FocusEvent("focus",Oe);j(st)}},jo=()=>We(()=>{~Re.value&&In(p.hoveringIndex)}),In=Oe=>{O.value.scrollToItem(Oe)},mi=Oe=>{const st=qt(Oe);if(ce.value.has(st)){const{option:ht}=ce.value.get(st);return ht}return{value:Oe,label:Oe}},td=()=>{if(e.multiple)if(e.modelValue.length>0){p.cachedOptions.length=0,p.previousValue=e.modelValue.toString();for(const Oe of e.modelValue){const st=mi(Oe);p.cachedOptions.push(st)}}else p.cachedOptions=[],p.previousValue=void 0;else if(D.value){p.previousValue=e.modelValue;const Oe=F.value,st=Oe.findIndex(ht=>qt(d(ht))===qt(e.modelValue));~st?p.selectedLabel=u(Oe[st]):p.selectedLabel=qt(e.modelValue)}else p.selectedLabel="",p.previousValue=void 0;je(),ve()};return pe(B,Oe=>{Oe?ze(""):(p.inputValue="",p.previousQuery=null,p.isBeforeHide=!0,Ue("")),t("visible-change",Oe)}),pe(()=>e.modelValue,(Oe,st)=>{var ht;(!Oe||Oe.toString()!==p.previousValue)&&td(),!wn(Oe,st)&&e.validateEvent&&((ht=l==null?void 0:l.validate)==null||ht.call(l,"change").catch(Ct=>void 0))},{deep:!0}),pe(()=>e.options,()=>{const Oe=b.value;(!Oe||Oe&&document.activeElement!==Oe)&&td()},{deep:!0,flush:"post"}),pe(()=>F.value,()=>O.value&&We(O.value.resetScrollTop)),gn(()=>{p.isBeforeHide||Te()}),gn(()=>{const{valueKey:Oe,options:st}=e,ht=new Map;for(const Ct of st){const xo=d(Ct);let qo=xo;if(ct(qo)&&(qo=Gt(xo,Oe)),ht.get(qo))break;ht.set(qo,!0)}}),et(()=>{td()}),Kt(v,kt),Kt(_,Ft),Kt(C,Fn),Kt(O,Ko),Kt(L,Ko),Kt(T,vi),Kt(V,Gc),{inputId:i,collapseTagSize:te,currentPlaceholder:he,expanded:B,emptyText:le,popupHeight:H,debounce:Q,allOptions:K,filteredOptions:F,iconComponent:Y,iconReverse:J,tagStyle:ue,collapseTagStyle:ye,inputStyle:we,popperSize:m,dropdownMenuVisible:He,hasModelValue:D,shouldShowPlaceholder:Ce,selectDisabled:I,selectSize:U,showClearBtn:q,states:p,isFocused:P,nsSelect:o,nsInput:a,calculatorRef:C,inputRef:b,menuRef:O,tagMenuRef:T,tooltipRef:g,tagTooltipRef:w,selectRef:v,wrapperRef:L,selectionRef:_,prefixRef:x,suffixRef:E,collapseItemRef:V,popperRef:Se,validateState:se,validateIcon:_e,showTagList:de,collapseTagList:Le,debouncedOnInputChange:ne,deleteTag:Xc,getLabel:u,getValue:d,getDisabled:f,getValueKey:qt,handleBlur:j,handleClear:Ne,handleClickOutside:Fr,handleDel:ed,handleEsc:Zc,handleFocus:z,focus:Ga,blur:Jc,handleMenuEnter:jo,handleResize:kt,resetSelectionWidth:Ft,resetCalculatorWidth:Fn,updateTooltip:Ko,updateTagTooltip:vi,updateOptions:Te,toggleMenu:ie,scrollTo:In,onInput:Wo,onKeyboardNavigate:Je,onKeyboardSelect:Lt,onSelect:hi,onHover:Jt,handleCompositionStart:fe,handleCompositionEnd:ee,handleCompositionUpdate:$e}},jZ=A({name:"ElSelectV2",components:{ElSelectMenu:DZ,ElTag:Ls,ElTooltip:En,ElIcon:Be},directives:{ClickOutside:sa},props:PZ,emits:[it,Bt,"remove-tag","clear","visible-change","focus","blur"],setup(e,{emit:t}){const n=S(()=>{const{modelValue:a,multiple:r}=e,l=r?[]:void 0;return Ie(a)?r?a:l:r?l:a}),o=WZ(wt({...un(e),modelValue:n}),t);return pt(op,{props:wt({...un(e),height:o.popupHeight,modelValue:n}),tooltipRef:o.tooltipRef,onSelect:o.onSelect,onHover:o.onHover,onKeyboardNavigate:o.onKeyboardNavigate,onKeyboardSelect:o.onKeyboardSelect}),{...o,modelValue:n}}}),qZ=["id","autocomplete","aria-expanded","aria-label","disabled","readonly","name"],UZ=["textContent"];function YZ(e,t,n,o,a,r){const l=nt("el-tag"),i=nt("el-tooltip"),u=nt("el-icon"),d=nt("el-select-menu"),f=sc("click-outside");return Qe((y(),M("div",{ref:"selectRef",class:$([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),onMouseenter:t[14]||(t[14]=c=>e.states.inputHovering=!0),onMouseleave:t[15]||(t[15]=c=>e.states.inputHovering=!1),onClick:t[16]||(t[16]=Ge((...c)=>e.toggleMenu&&e.toggleMenu(...c),["prevent","stop"]))},[W(i,{ref:"tooltipRef",visible:e.dropdownMenuVisible,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"gpu-acceleration":!1,"stop-popper-mouse-event":!1,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,placement:e.placement,pure:"",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,trigger:"click",persistent:e.persistent,onBeforeShow:e.handleMenuEnter,onHide:t[13]||(t[13]=c=>e.states.isBeforeHide=!1)},{default:G(()=>[k("div",{ref:"wrapperRef",class:$([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)])},[e.$slots.prefix?(y(),M("div",{key:0,ref:"prefixRef",class:$(e.nsSelect.e("prefix"))},[re(e.$slots,"prefix")],2)):Z("v-if",!0),k("div",{ref:"selectionRef",class:$([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.modelValue.length)])},[e.multiple?re(e.$slots,"tag",{key:0},()=>[(y(!0),M(Fe,null,mt(e.showTagList,c=>(y(),M("div",{key:e.getValueKey(e.getValue(c)),class:$(e.nsSelect.e("selected-item"))},[W(l,{closable:!e.selectDisabled&&!e.getDisabled(c),size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",style:De(e.tagStyle),onClose:p=>e.deleteTag(p,c)},{default:G(()=>[k("span",{class:$(e.nsSelect.e("tags-text"))},Me(e.getLabel(c)),3)]),_:2},1032,["closable","size","type","style","onClose"])],2))),128)),e.collapseTags&&e.modelValue.length>e.maxCollapseTags?(y(),oe(i,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom",teleported:e.teleported},{default:G(()=>[k("div",{ref:"collapseItemRef",class:$(e.nsSelect.e("selected-item"))},[W(l,{closable:!1,size:e.collapseTagSize,type:e.tagType,style:De(e.collapseTagStyle),"disable-transitions":""},{default:G(()=>[k("span",{class:$(e.nsSelect.e("tags-text"))}," + "+Me(e.modelValue.length-e.maxCollapseTags),3)]),_:1},8,["size","type","style"])],2)]),content:G(()=>[k("div",{ref:"tagMenuRef",class:$(e.nsSelect.e("selection"))},[(y(!0),M(Fe,null,mt(e.collapseTagList,c=>(y(),M("div",{key:e.getValueKey(e.getValue(c)),class:$(e.nsSelect.e("selected-item"))},[W(l,{class:"in-tooltip",closable:!e.selectDisabled&&!e.getDisabled(c),size:e.collapseTagSize,type:e.tagType,"disable-transitions":"",onClose:p=>e.deleteTag(p,c)},{default:G(()=>[k("span",{class:$(e.nsSelect.e("tags-text"))},Me(e.getLabel(c)),3)]),_:2},1032,["closable","size","type","onClose"])],2))),128))],2)]),_:1},8,["disabled","effect","teleported"])):Z("v-if",!0)]):Z("v-if",!0),e.selectDisabled?Z("v-if",!0):(y(),M("div",{key:1,class:$([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable)])},[Qe(k("input",{id:e.inputId,ref:"inputRef","onUpdate:modelValue":t[0]||(t[0]=c=>e.states.inputValue=c),style:De(e.inputStyle),autocomplete:e.autocomplete,"aria-autocomplete":"list","aria-haspopup":"listbox",autocapitalize:"off","aria-expanded":e.expanded,"aria-label":e.ariaLabel,class:$([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,role:"combobox",readonly:!e.filterable,spellcheck:"false",type:"text",name:e.name,onFocus:t[1]||(t[1]=(...c)=>e.handleFocus&&e.handleFocus(...c)),onBlur:t[2]||(t[2]=(...c)=>e.handleBlur&&e.handleBlur(...c)),onInput:t[3]||(t[3]=(...c)=>e.onInput&&e.onInput(...c)),onCompositionstart:t[4]||(t[4]=(...c)=>e.handleCompositionStart&&e.handleCompositionStart(...c)),onCompositionupdate:t[5]||(t[5]=(...c)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...c)),onCompositionend:t[6]||(t[6]=(...c)=>e.handleCompositionEnd&&e.handleCompositionEnd(...c)),onKeydown:[t[7]||(t[7]=Mt(Ge(c=>e.onKeyboardNavigate("backward"),["stop","prevent"]),["up"])),t[8]||(t[8]=Mt(Ge(c=>e.onKeyboardNavigate("forward"),["stop","prevent"]),["down"])),t[9]||(t[9]=Mt(Ge((...c)=>e.onKeyboardSelect&&e.onKeyboardSelect(...c),["stop","prevent"]),["enter"])),t[10]||(t[10]=Mt(Ge((...c)=>e.handleEsc&&e.handleEsc(...c),["stop","prevent"]),["esc"])),t[11]||(t[11]=Mt(Ge((...c)=>e.handleDel&&e.handleDel(...c),["stop"]),["delete"]))],onClick:t[12]||(t[12]=Ge((...c)=>e.toggleMenu&&e.toggleMenu(...c),["stop"]))},null,46,qZ),[[B0,e.states.inputValue]]),e.filterable?(y(),M("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:$(e.nsSelect.e("input-calculator")),textContent:Me(e.states.inputValue)},null,10,UZ)):Z("v-if",!0)],2)),e.shouldShowPlaceholder?(y(),M("div",{key:2,class:$([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[k("span",null,Me(e.currentPlaceholder),1)],2)):Z("v-if",!0)],2),k("div",{ref:"suffixRef",class:$(e.nsSelect.e("suffix"))},[e.iconComponent?Qe((y(),oe(u,{key:0,class:$([e.nsSelect.e("caret"),e.nsInput.e("icon"),e.iconReverse])},{default:G(()=>[(y(),oe(ut(e.iconComponent)))]),_:1},8,["class"])),[[bt,!e.showClearBtn]]):Z("v-if",!0),e.showClearBtn&&e.clearIcon?(y(),oe(u,{key:1,class:$([e.nsSelect.e("caret"),e.nsInput.e("icon")]),onClick:Ge(e.handleClear,["prevent","stop"])},{default:G(()=>[(y(),oe(ut(e.clearIcon)))]),_:1},8,["class","onClick"])):Z("v-if",!0),e.validateState&&e.validateIcon?(y(),oe(u,{key:2,class:$([e.nsInput.e("icon"),e.nsInput.e("validateIcon")])},{default:G(()=>[(y(),oe(ut(e.validateIcon)))]),_:1},8,["class"])):Z("v-if",!0)],2)],2)]),content:G(()=>[W(d,{ref:"menuRef",data:e.filteredOptions,width:e.popperSize,"hovering-index":e.states.hoveringIndex,"scrollbar-always-on":e.scrollbarAlwaysOn},na({default:G(c=>[re(e.$slots,"default",Jo(pl(c)))]),_:2},[e.$slots.header?{name:"header",fn:G(()=>[k("div",{class:$(e.nsSelect.be("dropdown","header"))},[re(e.$slots,"header")],2)])}:void 0,e.$slots.loading&&e.loading?{name:"loading",fn:G(()=>[k("div",{class:$(e.nsSelect.be("dropdown","loading"))},[re(e.$slots,"loading")],2)])}:e.loading||e.filteredOptions.length===0?{name:"empty",fn:G(()=>[k("div",{class:$(e.nsSelect.be("dropdown","empty"))},[re(e.$slots,"empty",{},()=>[k("span",null,Me(e.emptyText),1)])],2)])}:void 0,e.$slots.footer?{name:"footer",fn:G(()=>[k("div",{class:$(e.nsSelect.be("dropdown","footer"))},[re(e.$slots,"footer")],2)])}:void 0]),1032,["data","width","hovering-index","scrollbar-always-on"])]),_:3},8,["visible","teleported","popper-class","popper-options","fallback-placements","effect","placement","transition","persistent","onBeforeShow"])],34)),[[f,e.handleClickOutside,e.popperRef]])}var uu=xe(jZ,[["render",YZ],["__file","select.vue"]]);uu.install=e=>{e.component(uu.name,uu)};const GZ=uu,XZ=GZ,JZ=Ee({animated:{type:Boolean,default:!1},count:{type:Number,default:1},rows:{type:Number,default:3},loading:{type:Boolean,default:!0},throttle:{type:Number}}),ZZ=Ee({variant:{type:String,values:["circle","rect","h1","h3","text","caption","p","image","button"],default:"text"}}),QZ=A({name:"ElSkeletonItem"}),eQ=A({...QZ,props:ZZ,setup(e){const t=me("skeleton");return(n,o)=>(y(),M("div",{class:$([s(t).e("item"),s(t).e(n.variant)])},[n.variant==="image"?(y(),oe(s(Dg),{key:0})):Z("v-if",!0)],2))}});var Xu=xe(eQ,[["__file","skeleton-item.vue"]]);const tQ=A({name:"ElSkeleton"}),nQ=A({...tQ,props:JZ,setup(e,{expose:t}){const n=e,o=me("skeleton"),a=WL(At(n,"loading"),n.throttle);return t({uiLoading:a}),(r,l)=>s(a)?(y(),M("div",ft({key:0,class:[s(o).b(),s(o).is("animated",r.animated)]},r.$attrs),[(y(!0),M(Fe,null,mt(r.count,i=>(y(),M(Fe,{key:i},[r.loading?re(r.$slots,"template",{key:i},()=>[W(Xu,{class:$(s(o).is("first")),variant:"p"},null,8,["class"]),(y(!0),M(Fe,null,mt(r.rows,u=>(y(),oe(Xu,{key:u,class:$([s(o).e("paragraph"),s(o).is("last",u===r.rows&&r.rows>1)]),variant:"p"},null,8,["class"]))),128))]):Z("v-if",!0)],64))),128))],16)):re(r.$slots,"default",Jo(ft({key:1},r.$attrs)))}});var oQ=xe(nQ,[["__file","skeleton.vue"]]);const aQ=lt(oQ,{SkeletonItem:Xu}),rQ=Dt(Xu),J8=Symbol("sliderContextKey"),lQ=Ee({modelValue:{type:X([Number,Array]),default:0},id:{type:String,default:void 0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},showInput:Boolean,showInputControls:{type:Boolean,default:!0},size:cn,inputSize:cn,showStops:Boolean,showTooltip:{type:Boolean,default:!0},formatTooltip:{type:X(Function),default:void 0},disabled:Boolean,range:Boolean,vertical:Boolean,height:String,debounce:{type:Number,default:300},label:{type:String,default:void 0},rangeStartLabel:{type:String,default:void 0},rangeEndLabel:{type:String,default:void 0},formatValueText:{type:X(Function),default:void 0},tooltipClass:{type:String,default:void 0},placement:{type:String,values:Hr,default:"top"},marks:{type:X(Object)},validateEvent:{type:Boolean,default:!0}}),Od=e=>Ye(e)||Ie(e)&&e.every(Ye),sQ={[it]:Od,[Tn]:Od,[Bt]:Od},iQ=(e,t,n)=>{const o=R();return et(async()=>{e.range?(Array.isArray(e.modelValue)?(t.firstValue=Math.max(e.min,e.modelValue[0]),t.secondValue=Math.min(e.max,e.modelValue[1])):(t.firstValue=e.min,t.secondValue=e.max),t.oldValue=[t.firstValue,t.secondValue]):(typeof e.modelValue!="number"||Number.isNaN(e.modelValue)?t.firstValue=e.min:t.firstValue=Math.min(e.max,Math.max(e.min,e.modelValue)),t.oldValue=t.firstValue),Vt(window,"resize",n),await We(),n()}),{sliderWrapper:o}},uQ=e=>S(()=>e.marks?Object.keys(e.marks).map(Number.parseFloat).sort((n,o)=>n-o).filter(n=>n<=e.max&&n>=e.min).map(n=>({point:n,position:(n-e.min)*100/(e.max-e.min),mark:e.marks[n]})):[]),cQ=(e,t,n)=>{const{form:o,formItem:a}=Nn(),r=Rt(),l=R(),i=R(),u={firstButton:l,secondButton:i},d=S(()=>e.disabled||(o==null?void 0:o.disabled)||!1),f=S(()=>Math.min(t.firstValue,t.secondValue)),c=S(()=>Math.max(t.firstValue,t.secondValue)),p=S(()=>e.range?`${100*(c.value-f.value)/(e.max-e.min)}%`:`${100*(t.firstValue-e.min)/(e.max-e.min)}%`),h=S(()=>e.range?`${100*(f.value-e.min)/(e.max-e.min)}%`:"0%"),m=S(()=>e.vertical?{height:e.height}:{}),v=S(()=>e.vertical?{height:p.value,bottom:h.value}:{width:p.value,left:h.value}),_=()=>{r.value&&(t.sliderSize=r.value[`client${e.vertical?"Height":"Width"}`])},g=P=>{const z=e.min+P*(e.max-e.min)/100;if(!e.range)return l;let j;return Math.abs(f.value-z)t.secondValue?"firstButton":"secondButton",u[j]},w=P=>{const z=g(P);return z.value.setPosition(P),z},b=P=>{t.firstValue=P,x(e.range?[f.value,c.value]:P)},C=P=>{t.secondValue=P,e.range&&x([f.value,c.value])},x=P=>{n(it,P),n(Tn,P)},E=async()=>{await We(),n(Bt,e.range?[f.value,c.value]:e.modelValue)},O=P=>{var z,j,K,F,B,I;if(d.value||t.dragging)return;_();let H=0;if(e.vertical){const N=(K=(j=(z=P.touches)==null?void 0:z.item(0))==null?void 0:j.clientY)!=null?K:P.clientY;H=(r.value.getBoundingClientRect().bottom-N)/t.sliderSize*100}else{const N=(I=(B=(F=P.touches)==null?void 0:F.item(0))==null?void 0:B.clientX)!=null?I:P.clientX,D=r.value.getBoundingClientRect().left;H=(N-D)/t.sliderSize*100}if(!(H<0||H>100))return w(H)};return{elFormItem:a,slider:r,firstButton:l,secondButton:i,sliderDisabled:d,minValue:f,maxValue:c,runwayStyle:m,barStyle:v,resetSize:_,setPosition:w,emitChange:E,onSliderWrapperPrevent:P=>{var z,j;((z=u.firstButton.value)!=null&&z.dragging||(j=u.secondButton.value)!=null&&j.dragging)&&P.preventDefault()},onSliderClick:P=>{O(P)&&E()},onSliderDown:async P=>{const z=O(P);z&&(await We(),z.value.onButtonDown(P))},setFirstValue:b,setSecondValue:C}},{left:dQ,down:fQ,right:pQ,up:vQ,home:hQ,end:mQ,pageUp:gQ,pageDown:yQ}=Ke,_Q=(e,t,n)=>{const o=R(),a=R(!1),r=S(()=>t.value instanceof Function),l=S(()=>r.value&&t.value(e.modelValue)||e.modelValue),i=Hn(()=>{n.value&&(a.value=!0)},50),u=Hn(()=>{n.value&&(a.value=!1)},50);return{tooltip:o,tooltipVisible:a,formatValue:l,displayTooltip:i,hideTooltip:u}},bQ=(e,t,n)=>{const{disabled:o,min:a,max:r,step:l,showTooltip:i,precision:u,sliderSize:d,formatTooltip:f,emitChange:c,resetSize:p,updateDragging:h}=Pe(J8),{tooltip:m,tooltipVisible:v,formatValue:_,displayTooltip:g,hideTooltip:w}=_Q(e,f,i),b=R(),C=S(()=>`${(e.modelValue-a.value)/(r.value-a.value)*100}%`),x=S(()=>e.vertical?{bottom:C.value}:{left:C.value}),E=()=>{t.hovering=!0,g()},O=()=>{t.hovering=!1,t.dragging||w()},T=Y=>{o.value||(Y.preventDefault(),H(Y),window.addEventListener("mousemove",N),window.addEventListener("touchmove",N),window.addEventListener("mouseup",D),window.addEventListener("touchend",D),window.addEventListener("contextmenu",D),b.value.focus())},V=Y=>{o.value||(t.newPosition=Number.parseFloat(C.value)+Y/(r.value-a.value)*100,q(t.newPosition),c())},L=()=>{V(-l.value)},P=()=>{V(l.value)},z=()=>{V(-l.value*4)},j=()=>{V(l.value*4)},K=()=>{o.value||(q(0),c())},F=()=>{o.value||(q(100),c())},B=Y=>{let J=!0;[dQ,fQ].includes(Y.key)?L():[pQ,vQ].includes(Y.key)?P():Y.key===hQ?K():Y.key===mQ?F():Y.key===yQ?z():Y.key===gQ?j():J=!1,J&&Y.preventDefault()},I=Y=>{let J,se;return Y.type.startsWith("touch")?(se=Y.touches[0].clientY,J=Y.touches[0].clientX):(se=Y.clientY,J=Y.clientX),{clientX:J,clientY:se}},H=Y=>{t.dragging=!0,t.isClick=!0;const{clientX:J,clientY:se}=I(Y);e.vertical?t.startY=se:t.startX=J,t.startPosition=Number.parseFloat(C.value),t.newPosition=t.startPosition},N=Y=>{if(t.dragging){t.isClick=!1,g(),p();let J;const{clientX:se,clientY:_e}=I(Y);e.vertical?(t.currentY=_e,J=(t.startY-t.currentY)/d.value*100):(t.currentX=se,J=(t.currentX-t.startX)/d.value*100),t.newPosition=t.startPosition+J,q(t.newPosition)}},D=()=>{t.dragging&&(setTimeout(()=>{t.dragging=!1,t.hovering||w(),t.isClick||q(t.newPosition),c()},0),window.removeEventListener("mousemove",N),window.removeEventListener("touchmove",N),window.removeEventListener("mouseup",D),window.removeEventListener("touchend",D),window.removeEventListener("contextmenu",D))},q=async Y=>{if(Y===null||Number.isNaN(+Y))return;Y<0?Y=0:Y>100&&(Y=100);const J=100/((r.value-a.value)/l.value);let _e=Math.round(Y/J)*J*(r.value-a.value)*.01+a.value;_e=Number.parseFloat(_e.toFixed(u.value)),_e!==e.modelValue&&n(it,_e),!t.dragging&&e.modelValue!==t.oldValue&&(t.oldValue=e.modelValue),await We(),t.dragging&&g(),m.value.updatePopper()};return pe(()=>t.dragging,Y=>{h(Y)}),{disabled:o,button:b,tooltip:m,tooltipVisible:v,showTooltip:i,wrapperStyle:x,formatValue:_,handleMouseEnter:E,handleMouseLeave:O,onButtonDown:T,onKeyDown:B,setPosition:q}},wQ=(e,t,n,o)=>({stops:S(()=>{if(!e.showStops||e.min>e.max)return[];if(e.step===0)return[];const l=(e.max-e.min)/e.step,i=100*e.step/(e.max-e.min),u=Array.from({length:l-1}).map((d,f)=>(f+1)*i);return e.range?u.filter(d=>d<100*(n.value-e.min)/(e.max-e.min)||d>100*(o.value-e.min)/(e.max-e.min)):u.filter(d=>d>100*(t.firstValue-e.min)/(e.max-e.min))}),getStopStyle:l=>e.vertical?{bottom:`${l}%`}:{left:`${l}%`}}),CQ=(e,t,n,o,a,r)=>{const l=d=>{a(it,d),a(Tn,d)},i=()=>e.range?![n.value,o.value].every((d,f)=>d===t.oldValue[f]):e.modelValue!==t.oldValue,u=()=>{var d,f;e.min>e.max&&on("Slider","min should not be greater than max.");const c=e.modelValue;e.range&&Array.isArray(c)?c[1]e.max?l([e.max,e.max]):c[0]e.max?l([c[0],e.max]):(t.firstValue=c[0],t.secondValue=c[1],i()&&(e.validateEvent&&((d=r==null?void 0:r.validate)==null||d.call(r,"change").catch(p=>void 0)),t.oldValue=c.slice())):!e.range&&typeof c=="number"&&!Number.isNaN(c)&&(ce.max?l(e.max):(t.firstValue=c,i()&&(e.validateEvent&&((f=r==null?void 0:r.validate)==null||f.call(r,"change").catch(p=>void 0)),t.oldValue=c)))};u(),pe(()=>t.dragging,d=>{d||u()}),pe(()=>e.modelValue,(d,f)=>{t.dragging||Array.isArray(d)&&Array.isArray(f)&&d.every((c,p)=>c===f[p])&&t.firstValue===d[0]&&t.secondValue===d[1]||u()},{deep:!0}),pe(()=>[e.min,e.max],()=>{u()})},SQ=Ee({modelValue:{type:Number,default:0},vertical:Boolean,tooltipClass:String,placement:{type:String,values:Hr,default:"top"}}),kQ={[it]:e=>Ye(e)},EQ=["tabindex"],xQ=A({name:"ElSliderButton"}),MQ=A({...xQ,props:SQ,emits:kQ,setup(e,{expose:t,emit:n}){const o=e,a=me("slider"),r=wt({hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:0,oldValue:o.modelValue}),{disabled:l,button:i,tooltip:u,showTooltip:d,tooltipVisible:f,wrapperStyle:c,formatValue:p,handleMouseEnter:h,handleMouseLeave:m,onButtonDown:v,onKeyDown:_,setPosition:g}=bQ(o,r,n),{hovering:w,dragging:b}=un(r);return t({onButtonDown:v,onKeyDown:_,setPosition:g,hovering:w,dragging:b}),(C,x)=>(y(),M("div",{ref_key:"button",ref:i,class:$([s(a).e("button-wrapper"),{hover:s(w),dragging:s(b)}]),style:De(s(c)),tabindex:s(l)?-1:0,onMouseenter:x[0]||(x[0]=(...E)=>s(h)&&s(h)(...E)),onMouseleave:x[1]||(x[1]=(...E)=>s(m)&&s(m)(...E)),onMousedown:x[2]||(x[2]=(...E)=>s(v)&&s(v)(...E)),onTouchstart:x[3]||(x[3]=(...E)=>s(v)&&s(v)(...E)),onFocus:x[4]||(x[4]=(...E)=>s(h)&&s(h)(...E)),onBlur:x[5]||(x[5]=(...E)=>s(m)&&s(m)(...E)),onKeydown:x[6]||(x[6]=(...E)=>s(_)&&s(_)(...E))},[W(s(En),{ref_key:"tooltip",ref:u,visible:s(f),placement:C.placement,"fallback-placements":["top","bottom","right","left"],"stop-popper-mouse-event":!1,"popper-class":C.tooltipClass,disabled:!s(d),persistent:""},{content:G(()=>[k("span",null,Me(s(p)),1)]),default:G(()=>[k("div",{class:$([s(a).e("button"),{hover:s(w),dragging:s(b)}])},null,2)]),_:1},8,["visible","placement","popper-class","disabled"])],46,EQ))}});var Nh=xe(MQ,[["__file","button.vue"]]);const $Q=Ee({mark:{type:X([String,Object]),default:void 0}});var TQ=A({name:"ElSliderMarker",props:$Q,setup(e){const t=me("slider"),n=S(()=>Ze(e.mark)?e.mark:e.mark.label),o=S(()=>Ze(e.mark)?void 0:e.mark.style);return()=>qe("div",{class:t.e("marks-text"),style:o.value},n.value)}});const AQ=["id","role","aria-label","aria-labelledby"],OQ={key:1},NQ=A({name:"ElSlider"}),IQ=A({...NQ,props:lQ,emits:sQ,setup(e,{expose:t,emit:n}){const o=e,a=me("slider"),{t:r}=_t(),l=wt({firstValue:0,secondValue:0,oldValue:0,dragging:!1,sliderSize:1}),{elFormItem:i,slider:u,firstButton:d,secondButton:f,sliderDisabled:c,minValue:p,maxValue:h,runwayStyle:m,barStyle:v,resetSize:_,emitChange:g,onSliderWrapperPrevent:w,onSliderClick:b,onSliderDown:C,setFirstValue:x,setSecondValue:E}=cQ(o,l,n),{stops:O,getStopStyle:T}=wQ(o,l,p,h),{inputId:V,isLabeledByFormItem:L}=Ho(o,{formItemContext:i}),P=an(),z=S(()=>o.inputSize||P.value),j=S(()=>o.label||r("el.slider.defaultLabel",{min:o.min,max:o.max})),K=S(()=>o.range?o.rangeStartLabel||r("el.slider.defaultRangeStartLabel"):j.value),F=S(()=>o.formatValueText?o.formatValueText(Y.value):`${Y.value}`),B=S(()=>o.rangeEndLabel||r("el.slider.defaultRangeEndLabel")),I=S(()=>o.formatValueText?o.formatValueText(J.value):`${J.value}`),H=S(()=>[a.b(),a.m(P.value),a.is("vertical",o.vertical),{[a.m("with-input")]:o.showInput}]),N=uQ(o);CQ(o,l,p,h,n,i);const D=S(()=>{const Q=[o.min,o.max,o.step].map(le=>{const ae=`${le}`.split(".")[1];return ae?ae.length:0});return Math.max.apply(null,Q)}),{sliderWrapper:q}=iQ(o,l,_),{firstValue:Y,secondValue:J,sliderSize:se}=un(l),_e=Q=>{l.dragging=Q};return pt(J8,{...un(o),sliderSize:se,disabled:c,precision:D,emitChange:g,resetSize:_,updateDragging:_e}),t({onSliderClick:b}),(Q,le)=>{var ae,Te;return y(),M("div",{id:Q.range?s(V):void 0,ref_key:"sliderWrapper",ref:q,class:$(s(H)),role:Q.range?"group":void 0,"aria-label":Q.range&&!s(L)?s(j):void 0,"aria-labelledby":Q.range&&s(L)?(ae=s(i))==null?void 0:ae.labelId:void 0,onTouchstart:le[2]||(le[2]=(...ce)=>s(w)&&s(w)(...ce)),onTouchmove:le[3]||(le[3]=(...ce)=>s(w)&&s(w)(...ce))},[k("div",{ref_key:"slider",ref:u,class:$([s(a).e("runway"),{"show-input":Q.showInput&&!Q.range},s(a).is("disabled",s(c))]),style:De(s(m)),onMousedown:le[0]||(le[0]=(...ce)=>s(C)&&s(C)(...ce)),onTouchstart:le[1]||(le[1]=(...ce)=>s(C)&&s(C)(...ce))},[k("div",{class:$(s(a).e("bar")),style:De(s(v))},null,6),W(Nh,{id:Q.range?void 0:s(V),ref_key:"firstButton",ref:d,"model-value":s(Y),vertical:Q.vertical,"tooltip-class":Q.tooltipClass,placement:Q.placement,role:"slider","aria-label":Q.range||!s(L)?s(K):void 0,"aria-labelledby":!Q.range&&s(L)?(Te=s(i))==null?void 0:Te.labelId:void 0,"aria-valuemin":Q.min,"aria-valuemax":Q.range?s(J):Q.max,"aria-valuenow":s(Y),"aria-valuetext":s(F),"aria-orientation":Q.vertical?"vertical":"horizontal","aria-disabled":s(c),"onUpdate:modelValue":s(x)},null,8,["id","model-value","vertical","tooltip-class","placement","aria-label","aria-labelledby","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"]),Q.range?(y(),oe(Nh,{key:0,ref_key:"secondButton",ref:f,"model-value":s(J),vertical:Q.vertical,"tooltip-class":Q.tooltipClass,placement:Q.placement,role:"slider","aria-label":s(B),"aria-valuemin":s(Y),"aria-valuemax":Q.max,"aria-valuenow":s(J),"aria-valuetext":s(I),"aria-orientation":Q.vertical?"vertical":"horizontal","aria-disabled":s(c),"onUpdate:modelValue":s(E)},null,8,["model-value","vertical","tooltip-class","placement","aria-label","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"])):Z("v-if",!0),Q.showStops?(y(),M("div",OQ,[(y(!0),M(Fe,null,mt(s(O),(ce,ge)=>(y(),M("div",{key:ge,class:$(s(a).e("stop")),style:De(s(T)(ce))},null,6))),128))])):Z("v-if",!0),s(N).length>0?(y(),M(Fe,{key:2},[k("div",null,[(y(!0),M(Fe,null,mt(s(N),(ce,ge)=>(y(),M("div",{key:ge,style:De(s(T)(ce.position)),class:$([s(a).e("stop"),s(a).e("marks-stop")])},null,6))),128))]),k("div",{class:$(s(a).e("marks"))},[(y(!0),M(Fe,null,mt(s(N),(ce,ge)=>(y(),oe(s(TQ),{key:ge,mark:ce.mark,style:De(s(T)(ce.position))},null,8,["mark","style"]))),128))],2)],64)):Z("v-if",!0)],38),Q.showInput&&!Q.range?(y(),oe(s(S8),{key:0,ref:"input","model-value":s(Y),class:$(s(a).e("input")),step:Q.step,disabled:s(c),controls:Q.showInputControls,min:Q.min,max:Q.max,debounce:Q.debounce,size:s(z),"onUpdate:modelValue":s(x),onChange:s(g)},null,8,["model-value","class","step","disabled","controls","min","max","debounce","size","onUpdate:modelValue","onChange"])):Z("v-if",!0)],42,AQ)}}});var RQ=xe(IQ,[["__file","slider.vue"]]);const PQ=lt(RQ),LQ=Ee({prefixCls:{type:String}}),Ih=A({name:"ElSpaceItem",props:LQ,setup(e,{slots:t}){const n=me("space"),o=S(()=>`${e.prefixCls||n.b()}__item`);return()=>qe("div",{class:o.value},re(t,"default"))}}),Rh={small:8,default:12,large:16};function VQ(e){const t=me("space"),n=S(()=>[t.b(),t.m(e.direction),e.class]),o=R(0),a=R(0),r=S(()=>{const i=e.wrap||e.fill?{flexWrap:"wrap"}:{},u={alignItems:e.alignment},d={rowGap:`${a.value}px`,columnGap:`${o.value}px`};return[i,u,d,e.style]}),l=S(()=>e.fill?{flexGrow:1,minWidth:`${e.fillRatio}%`}:{});return gn(()=>{const{size:i="small",wrap:u,direction:d,fill:f}=e;if(Ie(i)){const[c=0,p=0]=i;o.value=c,a.value=p}else{let c;Ye(i)?c=i:c=Rh[i||"small"]||Rh.small,(u||f)&&d==="horizontal"?o.value=a.value=c:d==="horizontal"?(o.value=c,a.value=0):(a.value=c,o.value=0)}}),{classes:n,containerStyle:r,itemStyle:l}}const BQ=Ee({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},class:{type:X([String,Object,Array]),default:""},style:{type:X([String,Array,Object]),default:""},alignment:{type:X(String),default:"center"},prefixCls:{type:String},spacer:{type:X([Object,String,Number,Array]),default:null,validator:e=>zt(e)||Ye(e)||Ze(e)},wrap:Boolean,fill:Boolean,fillRatio:{type:Number,default:100},size:{type:[String,Array,Number],values:zo,validator:e=>Ye(e)||Ie(e)&&e.length===2&&e.every(Ye)}}),zQ=A({name:"ElSpace",props:BQ,setup(e,{slots:t}){const{classes:n,containerStyle:o,itemStyle:a}=VQ(e);function r(l,i="",u=[]){const{prefixCls:d}=e;return l.forEach((f,c)=>{df(f)?Ie(f.children)&&f.children.forEach((p,h)=>{df(p)&&Ie(p.children)?r(p.children,`${i+h}-`,u):u.push(W(Ih,{style:a.value,prefixCls:d,key:`nested-${i+h}`},{default:()=>[p]},Zn.PROPS|Zn.STYLE,["style","prefixCls"]))}):MP(f)&&u.push(W(Ih,{style:a.value,prefixCls:d,key:`LoopKey${i+c}`},{default:()=>[f]},Zn.PROPS|Zn.STYLE,["style","prefixCls"]))}),u}return()=>{var l;const{spacer:i,direction:u}=e,d=re(t,"default",{key:0},()=>[]);if(((l=d.children)!=null?l:[]).length===0)return null;if(Ie(d.children)){let f=r(d.children);if(i){const c=f.length-1;f=f.reduce((p,h,m)=>{const v=[...p,h];return m!==c&&v.push(W("span",{style:[a.value,u==="vertical"?"width: 100%":null],key:m},[zt(i)?i:vt(i,Zn.TEXT)],Zn.STYLE)),v},[])}return W("div",{class:n.value,style:o.value},f,Zn.STYLE|Zn.CLASS)}return d.children}}}),HQ=lt(zQ),DQ=Ee({decimalSeparator:{type:String,default:"."},groupSeparator:{type:String,default:","},precision:{type:Number,default:0},formatter:Function,value:{type:X([Number,Object]),default:0},prefix:String,suffix:String,title:String,valueStyle:{type:X([String,Object,Array])}}),FQ=A({name:"ElStatistic"}),KQ=A({...FQ,props:DQ,setup(e,{expose:t}){const n=e,o=me("statistic"),a=S(()=>{const{value:r,formatter:l,precision:i,decimalSeparator:u,groupSeparator:d}=n;if(Xe(l))return l(r);if(!Ye(r))return r;let[f,c=""]=String(r).split(".");return c=c.padEnd(i,"0").slice(0,i>0?i:0),f=f.replace(/\B(?=(\d{3})+(?!\d))/g,d),[f,c].join(c?u:"")});return t({displayValue:a}),(r,l)=>(y(),M("div",{class:$(s(o).b())},[r.$slots.title||r.title?(y(),M("div",{key:0,class:$(s(o).e("head"))},[re(r.$slots,"title",{},()=>[vt(Me(r.title),1)])],2)):Z("v-if",!0),k("div",{class:$(s(o).e("content"))},[r.$slots.prefix||r.prefix?(y(),M("div",{key:0,class:$(s(o).e("prefix"))},[re(r.$slots,"prefix",{},()=>[k("span",null,Me(r.prefix),1)])],2)):Z("v-if",!0),k("span",{class:$(s(o).e("number")),style:De(r.valueStyle)},Me(s(a)),7),r.$slots.suffix||r.suffix?(y(),M("div",{key:1,class:$(s(o).e("suffix"))},[re(r.$slots,"suffix",{},()=>[k("span",null,Me(r.suffix),1)])],2)):Z("v-if",!0)],2)],2))}});var WQ=xe(KQ,[["__file","statistic.vue"]]);const Z8=lt(WQ),jQ=Ee({format:{type:String,default:"HH:mm:ss"},prefix:String,suffix:String,title:String,value:{type:X([Number,Object]),default:0},valueStyle:{type:X([String,Object,Array])}}),qQ={finish:()=>!0,[Bt]:e=>Ye(e)},UQ=[["Y",1e3*60*60*24*365],["M",1e3*60*60*24*30],["D",1e3*60*60*24],["H",1e3*60*60],["m",1e3*60],["s",1e3],["S",1]],Ph=e=>Ye(e)?new Date(e).getTime():e.valueOf(),Lh=(e,t)=>{let n=e;const o=/\[([^\]]*)]/g;return UQ.reduce((r,[l,i])=>{const u=new RegExp(`${l}+(?![^\\[\\]]*\\])`,"g");if(u.test(r)){const d=Math.floor(n/i);return n-=d*i,r.replace(u,f=>String(d).padStart(f.length,"0"))}return r},t).replace(o,"$1")},YQ=A({name:"ElCountdown"}),GQ=A({...YQ,props:jQ,emits:qQ,setup(e,{expose:t,emit:n}){const o=e;let a;const r=R(Ph(o.value)-Date.now()),l=S(()=>Lh(r.value,o.format)),i=f=>Lh(f,o.format),u=()=>{a&&(xr(a),a=void 0)},d=()=>{const f=Ph(o.value),c=()=>{let p=f-Date.now();n("change",p),p<=0?(p=0,u(),n("finish")):a=Fa(c),r.value=p};a=Fa(c)};return pe(()=>[o.value,o.format],()=>{u(),d()},{immediate:!0}),It(()=>{u()}),t({displayValue:l}),(f,c)=>(y(),oe(s(Z8),{value:r.value,title:f.title,prefix:f.prefix,suffix:f.suffix,"value-style":f.valueStyle,formatter:i},na({_:2},[mt(f.$slots,(p,h)=>({name:h,fn:G(()=>[re(f.$slots,h)])}))]),1032,["value","title","prefix","suffix","value-style"]))}});var XQ=xe(GQ,[["__file","countdown.vue"]]);const JQ=lt(XQ),ZQ=Ee({space:{type:[Number,String],default:""},active:{type:Number,default:0},direction:{type:String,default:"horizontal",values:["horizontal","vertical"]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:["wait","process","finish","error","success"],default:"finish"},processStatus:{type:String,values:["wait","process","finish","error","success"],default:"process"}}),QQ={[Bt]:(e,t)=>[e,t].every(Ye)},eee=A({name:"ElSteps"}),tee=A({...eee,props:ZQ,emits:QQ,setup(e,{emit:t}){const n=e,o=me("steps"),{children:a,addChild:r,removeChild:l}=I2(rt(),"ElStep");return pe(a,()=>{a.value.forEach((i,u)=>{i.setIndex(u)})}),pt("ElSteps",{props:n,steps:a,addStep:r,removeStep:l}),pe(()=>n.active,(i,u)=>{t(Bt,i,u)}),(i,u)=>(y(),M("div",{class:$([s(o).b(),s(o).m(i.simple?"simple":i.direction)])},[re(i.$slots,"default")],2))}});var nee=xe(tee,[["__file","steps.vue"]]);const oee=Ee({title:{type:String,default:""},icon:{type:$t},description:{type:String,default:""},status:{type:String,values:["","wait","process","finish","error","success"],default:""}}),aee=A({name:"ElStep"}),ree=A({...aee,props:oee,setup(e){const t=e,n=me("step"),o=R(-1),a=R({}),r=R(""),l=Pe("ElSteps"),i=rt();et(()=>{pe([()=>l.props.active,()=>l.props.processStatus,()=>l.props.finishStatus],([E])=>{C(E)},{immediate:!0})}),It(()=>{l.removeStep(x.uid)});const u=S(()=>t.status||r.value),d=S(()=>{const E=l.steps.value[o.value-1];return E?E.currentStatus:"wait"}),f=S(()=>l.props.alignCenter),c=S(()=>l.props.direction==="vertical"),p=S(()=>l.props.simple),h=S(()=>l.steps.value.length),m=S(()=>{var E;return((E=l.steps.value[h.value-1])==null?void 0:E.uid)===(i==null?void 0:i.uid)}),v=S(()=>p.value?"":l.props.space),_=S(()=>[n.b(),n.is(p.value?"simple":l.props.direction),n.is("flex",m.value&&!v.value&&!f.value),n.is("center",f.value&&!c.value&&!p.value)]),g=S(()=>{const E={flexBasis:Ye(v.value)?`${v.value}px`:v.value?v.value:`${100/(h.value-(f.value?0:1))}%`};return c.value||m.value&&(E.maxWidth=`${100/h.value}%`),E}),w=E=>{o.value=E},b=E=>{const O=E==="wait",T={transitionDelay:`${O?"-":""}${150*o.value}ms`},V=E===l.props.processStatus||O?0:100;T.borderWidth=V&&!p.value?"1px":0,T[l.props.direction==="vertical"?"height":"width"]=`${V}%`,a.value=T},C=E=>{E>o.value?r.value=l.props.finishStatus:E===o.value&&d.value!=="error"?r.value=l.props.processStatus:r.value="wait";const O=l.steps.value[o.value-1];O&&O.calcProgress(r.value)},x=wt({uid:i.uid,currentStatus:u,setIndex:w,calcProgress:b});return l.addStep(x),(E,O)=>(y(),M("div",{style:De(s(g)),class:$(s(_))},[Z(" icon & line "),k("div",{class:$([s(n).e("head"),s(n).is(s(u))])},[s(p)?Z("v-if",!0):(y(),M("div",{key:0,class:$(s(n).e("line"))},[k("i",{class:$(s(n).e("line-inner")),style:De(a.value)},null,6)],2)),k("div",{class:$([s(n).e("icon"),s(n).is(E.icon||E.$slots.icon?"icon":"text")])},[re(E.$slots,"icon",{},()=>[E.icon?(y(),oe(s(Be),{key:0,class:$(s(n).e("icon-inner"))},{default:G(()=>[(y(),oe(ut(E.icon)))]),_:1},8,["class"])):s(u)==="success"?(y(),oe(s(Be),{key:1,class:$([s(n).e("icon-inner"),s(n).is("status")])},{default:G(()=>[W(s(Bl))]),_:1},8,["class"])):s(u)==="error"?(y(),oe(s(Be),{key:2,class:$([s(n).e("icon-inner"),s(n).is("status")])},{default:G(()=>[W(s(uo))]),_:1},8,["class"])):s(p)?Z("v-if",!0):(y(),M("div",{key:3,class:$(s(n).e("icon-inner"))},Me(o.value+1),3))])],2)],2),Z(" title & description "),k("div",{class:$(s(n).e("main"))},[k("div",{class:$([s(n).e("title"),s(n).is(s(u))])},[re(E.$slots,"title",{},()=>[vt(Me(E.title),1)])],2),s(p)?(y(),M("div",{key:0,class:$(s(n).e("arrow"))},null,2)):(y(),M("div",{key:1,class:$([s(n).e("description"),s(n).is(s(u))])},[re(E.$slots,"description",{},()=>[vt(Me(E.description),1)])],2))],2)],6))}});var Q8=xe(ree,[["__file","item.vue"]]);const lee=lt(nee,{Step:Q8}),see=Dt(Q8),iee=Ee({modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},size:{type:String,validator:e6},width:{type:[String,Number],default:""},inlinePrompt:{type:Boolean,default:!1},inactiveActionIcon:{type:$t},activeActionIcon:{type:$t},activeIcon:{type:$t},inactiveIcon:{type:$t},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:X(Function)},id:String,tabindex:{type:[String,Number]},label:{type:String,default:void 0}}),uee={[it]:e=>Qt(e)||Ze(e)||Ye(e),[Bt]:e=>Qt(e)||Ze(e)||Ye(e),[Tn]:e=>Qt(e)||Ze(e)||Ye(e)},cee=["onClick"],dee=["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex","onKeydown"],fee=["aria-hidden"],pee=["aria-hidden"],vee=["aria-hidden"],ey="ElSwitch",hee=A({name:ey}),mee=A({...hee,props:iee,emits:uee,setup(e,{expose:t,emit:n}){const o=e,{formItem:a}=Nn(),r=an(),l=me("switch"),{inputId:i}=Ho(o,{formItemContext:a}),u=Dn(S(()=>o.loading)),d=R(o.modelValue!==!1),f=R(),c=R(),p=S(()=>[l.b(),l.m(r.value),l.is("disabled",u.value),l.is("checked",g.value)]),h=S(()=>[l.e("label"),l.em("label","left"),l.is("active",!g.value)]),m=S(()=>[l.e("label"),l.em("label","right"),l.is("active",g.value)]),v=S(()=>({width:Xt(o.width)}));pe(()=>o.modelValue,()=>{d.value=!0});const _=S(()=>d.value?o.modelValue:!1),g=S(()=>_.value===o.activeValue);[o.activeValue,o.inactiveValue].includes(_.value)||(n(it,o.inactiveValue),n(Bt,o.inactiveValue),n(Tn,o.inactiveValue)),pe(g,x=>{var E;f.value.checked=x,o.validateEvent&&((E=a==null?void 0:a.validate)==null||E.call(a,"change").catch(O=>void 0))});const w=()=>{const x=g.value?o.inactiveValue:o.activeValue;n(it,x),n(Bt,x),n(Tn,x),We(()=>{f.value.checked=g.value})},b=()=>{if(u.value)return;const{beforeChange:x}=o;if(!x){w();return}const E=x();[ys(E),Qt(E)].includes(!0)||on(ey,"beforeChange must return type `Promise` or `boolean`"),ys(E)?E.then(T=>{T&&w()}).catch(T=>{}):E&&w()},C=()=>{var x,E;(E=(x=f.value)==null?void 0:x.focus)==null||E.call(x)};return et(()=>{f.value.checked=g.value}),t({focus:C,checked:g}),(x,E)=>(y(),M("div",{class:$(s(p)),onClick:Ge(b,["prevent"])},[k("input",{id:s(i),ref_key:"input",ref:f,class:$(s(l).e("input")),type:"checkbox",role:"switch","aria-checked":s(g),"aria-disabled":s(u),"aria-label":x.label,name:x.name,"true-value":x.activeValue,"false-value":x.inactiveValue,disabled:s(u),tabindex:x.tabindex,onChange:w,onKeydown:Mt(b,["enter"])},null,42,dee),!x.inlinePrompt&&(x.inactiveIcon||x.inactiveText)?(y(),M("span",{key:0,class:$(s(h))},[x.inactiveIcon?(y(),oe(s(Be),{key:0},{default:G(()=>[(y(),oe(ut(x.inactiveIcon)))]),_:1})):Z("v-if",!0),!x.inactiveIcon&&x.inactiveText?(y(),M("span",{key:1,"aria-hidden":s(g)},Me(x.inactiveText),9,fee)):Z("v-if",!0)],2)):Z("v-if",!0),k("span",{ref_key:"core",ref:c,class:$(s(l).e("core")),style:De(s(v))},[x.inlinePrompt?(y(),M("div",{key:0,class:$(s(l).e("inner"))},[x.activeIcon||x.inactiveIcon?(y(),oe(s(Be),{key:0,class:$(s(l).is("icon"))},{default:G(()=>[(y(),oe(ut(s(g)?x.activeIcon:x.inactiveIcon)))]),_:1},8,["class"])):x.activeText||x.inactiveText?(y(),M("span",{key:1,class:$(s(l).is("text")),"aria-hidden":!s(g)},Me(s(g)?x.activeText:x.inactiveText),11,pee)):Z("v-if",!0)],2)):Z("v-if",!0),k("div",{class:$(s(l).e("action"))},[x.loading?(y(),oe(s(Be),{key:0,class:$(s(l).is("loading"))},{default:G(()=>[W(s(pa))]),_:1},8,["class"])):s(g)?re(x.$slots,"active-action",{key:1},()=>[x.activeActionIcon?(y(),oe(s(Be),{key:0},{default:G(()=>[(y(),oe(ut(x.activeActionIcon)))]),_:1})):Z("v-if",!0)]):s(g)?Z("v-if",!0):re(x.$slots,"inactive-action",{key:2},()=>[x.inactiveActionIcon?(y(),oe(s(Be),{key:0},{default:G(()=>[(y(),oe(ut(x.inactiveActionIcon)))]),_:1})):Z("v-if",!0)])],2)],6),!x.inlinePrompt&&(x.activeIcon||x.activeText)?(y(),M("span",{key:1,class:$(s(m))},[x.activeIcon?(y(),oe(s(Be),{key:0},{default:G(()=>[(y(),oe(ut(x.activeIcon)))]),_:1})):Z("v-if",!0),!x.activeIcon&&x.activeText?(y(),M("span",{key:1,"aria-hidden":!s(g)},Me(x.activeText),9,vee)):Z("v-if",!0)],2)):Z("v-if",!0)],10,cee))}});var gee=xe(mee,[["__file","switch.vue"]]);const yee=lt(gee),Nd=function(e){var t;return(t=e.target)==null?void 0:t.closest("td")},_ee=function(e,t,n,o,a){if(!t&&!o&&(!a||Array.isArray(a)&&!a.length))return e;typeof n=="string"?n=n==="descending"?-1:1:n=n&&n<0?-1:1;const r=o?null:function(i,u){return a?(Array.isArray(a)||(a=[a]),a.map(d=>typeof d=="string"?Gt(i,d):d(i,u,e))):(t!=="$key"&&ct(i)&&"$value"in i&&(i=i.$value),[ct(i)?Gt(i,t):i])},l=function(i,u){if(o)return o(i.value,u.value);for(let d=0,f=i.key.length;du.key[d])return 1}return 0};return e.map((i,u)=>({value:i,index:u,key:r?r(i,u):null})).sort((i,u)=>{let d=l(i,u);return d||(d=i.index-u.index),d*+n}).map(i=>i.value)},ty=function(e,t){let n=null;return e.columns.forEach(o=>{o.id===t&&(n=o)}),n},bee=function(e,t){let n=null;for(let o=0;o{if(!e)throw new Error("Row is required when get row identity");if(typeof t=="string"){if(!t.includes("."))return`${e[t]}`;const n=t.split(".");let o=e;for(const a of n)o=o[a];return`${o}`}else if(typeof t=="function")return t.call(null,e)},dr=function(e,t){const n={};return(e||[]).forEach((o,a)=>{n[hn(o,t)]={row:o,index:a}}),n};function wee(e,t){const n={};let o;for(o in e)n[o]=e[o];for(o in t)if(yt(t,o)){const a=t[o];typeof a<"u"&&(n[o]=a)}return n}function ap(e){return e===""||e!==void 0&&(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function ny(e){return e===""||e!==void 0&&(e=ap(e),Number.isNaN(e)&&(e=80)),e}function Cee(e){return typeof e=="number"?e:typeof e=="string"?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function See(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...o)=>t(n(...o)))}function ms(e,t,n){let o=!1;const a=e.indexOf(t),r=a!==-1,l=i=>{i==="add"?e.push(t):e.splice(a,1),o=!0,Ie(t.children)&&t.children.forEach(u=>{ms(e,u,n??!r)})};return Qt(n)?n&&!r?l("add"):!n&&r&&l("remove"):l(r?"remove":"add"),o}function kee(e,t,n="children",o="hasChildren"){const a=l=>!(Array.isArray(l)&&l.length);function r(l,i,u){t(l,i,u),i.forEach(d=>{if(d[o]){t(d,null,u+1);return}const f=d[n];a(f)||r(d,f,u+1)})}e.forEach(l=>{if(l[o]){t(l,null,0);return}const i=l[n];a(i)||r(l,i,0)})}let Jn=null;function Eee(e,t,n,o){if((Jn==null?void 0:Jn.trigger)===n)return;Jn==null||Jn();const a=o==null?void 0:o.refs.tableWrapper,r=a==null?void 0:a.dataset.prefix,l={strategy:"fixed",...e.popperOptions},i=W(En,{content:t,virtualTriggering:!0,virtualRef:n,appendTo:a,placement:"top",transition:"none",offset:0,hideAfter:0,...e,popperOptions:l,onHide:()=>{Jn==null||Jn()}});i.appContext={...o.appContext,...o};const u=document.createElement("div");Ha(i,u),i.component.exposed.onOpen();const d=a==null?void 0:a.querySelector(`.${r}-scrollbar__wrap`);Jn=()=>{Ha(null,u),d==null||d.removeEventListener("scroll",Jn),Jn=null},Jn.trigger=n,d==null||d.addEventListener("scroll",Jn)}function oy(e){return e.children?Uk(e.children,oy):[e]}function Bh(e,t){return e+t.colSpan}const ay=(e,t,n,o)=>{let a=0,r=e;const l=n.states.columns.value;if(o){const u=oy(o[e]);a=l.slice(0,l.indexOf(u[0])).reduce(Bh,0),r=a+u.reduce(Bh,0)-1}else a=e;let i;switch(t){case"left":r=l.length-n.states.rightFixedLeafColumnsLength.value&&(i="right");break;default:r=l.length-n.states.rightFixedLeafColumnsLength.value&&(i="right")}return i?{direction:i,start:a,after:r}:{}},rp=(e,t,n,o,a,r=0)=>{const l=[],{direction:i,start:u,after:d}=ay(t,n,o,a);if(i){const f=i==="left";l.push(`${e}-fixed-column--${i}`),f&&d+r===o.states.fixedLeafColumnsLength.value-1?l.push("is-last-column"):!f&&u-r===o.states.columns.value.length-o.states.rightFixedLeafColumnsLength.value&&l.push("is-first-column")}return l};function zh(e,t){return e+(t.realWidth===null||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const lp=(e,t,n,o)=>{const{direction:a,start:r=0,after:l=0}=ay(e,t,n,o);if(!a)return;const i={},u=a==="left",d=n.states.columns.value;return u?i.left=d.slice(0,r).reduce(zh,0):i.right=d.slice(l+1).reverse().reduce(zh,0),i},Ml=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function xee(e){const t=rt(),n=R(!1),o=R([]);return{updateExpandRows:()=>{const u=e.data.value||[],d=e.rowKey.value;if(n.value)o.value=u.slice();else if(d){const f=dr(o.value,d);o.value=u.reduce((c,p)=>{const h=hn(p,d);return f[h]&&c.push(p),c},[])}else o.value=[]},toggleRowExpansion:(u,d)=>{ms(o.value,u,d)&&t.emit("expand-change",u,o.value.slice())},setExpandRowKeys:u=>{t.store.assertRowKey();const d=e.data.value||[],f=e.rowKey.value,c=dr(d,f);o.value=u.reduce((p,h)=>{const m=c[h];return m&&p.push(m.row),p},[])},isRowExpanded:u=>{const d=e.rowKey.value;return d?!!dr(o.value,d)[hn(u,d)]:o.value.includes(u)},states:{expandRows:o,defaultExpandAll:n}}}function Mee(e){const t=rt(),n=R(null),o=R(null),a=d=>{t.store.assertRowKey(),n.value=d,l(d)},r=()=>{n.value=null},l=d=>{const{data:f,rowKey:c}=e;let p=null;c.value&&(p=(s(f)||[]).find(h=>hn(h,c.value)===d)),o.value=p,t.emit("current-change",o.value,null)};return{setCurrentRowKey:a,restoreCurrentRowKey:r,setCurrentRowByKey:l,updateCurrentRow:d=>{const f=o.value;if(d&&d!==f){o.value=d,t.emit("current-change",o.value,f);return}!d&&f&&(o.value=null,t.emit("current-change",null,f))},updateCurrentRowData:()=>{const d=e.rowKey.value,f=e.data.value||[],c=o.value;if(!f.includes(c)&&c){if(d){const p=hn(c,d);l(p)}else o.value=null;o.value===null&&t.emit("current-change",null,c)}else n.value&&(l(n.value),r())},states:{_currentRowKey:n,currentRow:o}}}function $ee(e){const t=R([]),n=R({}),o=R(16),a=R(!1),r=R({}),l=R("hasChildren"),i=R("children"),u=rt(),d=S(()=>{if(!e.rowKey.value)return{};const g=e.data.value||[];return c(g)}),f=S(()=>{const g=e.rowKey.value,w=Object.keys(r.value),b={};return w.length&&w.forEach(C=>{if(r.value[C].length){const x={children:[]};r.value[C].forEach(E=>{const O=hn(E,g);x.children.push(O),E[l.value]&&!b[O]&&(b[O]={children:[]})}),b[C]=x}}),b}),c=g=>{const w=e.rowKey.value,b={};return kee(g,(C,x,E)=>{const O=hn(C,w);Array.isArray(x)?b[O]={children:x.map(T=>hn(T,w)),level:E}:a.value&&(b[O]={children:[],lazy:!0,level:E})},i.value,l.value),b},p=(g=!1,w=(b=>(b=u.store)==null?void 0:b.states.defaultExpandAll.value)())=>{var b;const C=d.value,x=f.value,E=Object.keys(C),O={};if(E.length){const T=s(n),V=[],L=(z,j)=>{if(g)return t.value?w||t.value.includes(j):!!(w||z!=null&&z.expanded);{const K=w||t.value&&t.value.includes(j);return!!(z!=null&&z.expanded||K)}};E.forEach(z=>{const j=T[z],K={...C[z]};if(K.expanded=L(j,z),K.lazy){const{loaded:F=!1,loading:B=!1}=j||{};K.loaded=!!F,K.loading=!!B,V.push(z)}O[z]=K});const P=Object.keys(x);a.value&&P.length&&V.length&&P.forEach(z=>{const j=T[z],K=x[z].children;if(V.includes(z)){if(O[z].children.length!==0)throw new Error("[ElTable]children must be an empty array.");O[z].children=K}else{const{loaded:F=!1,loading:B=!1}=j||{};O[z]={lazy:!0,loaded:!!F,loading:!!B,expanded:L(j,z),children:K,level:""}}})}n.value=O,(b=u.store)==null||b.updateTableScrollY()};pe(()=>t.value,()=>{p(!0)}),pe(()=>d.value,()=>{p()}),pe(()=>f.value,()=>{p()});const h=g=>{t.value=g,p()},m=(g,w)=>{u.store.assertRowKey();const b=e.rowKey.value,C=hn(g,b),x=C&&n.value[C];if(C&&x&&"expanded"in x){const E=x.expanded;w=typeof w>"u"?!x.expanded:w,n.value[C].expanded=w,E!==w&&u.emit("expand-change",g,w),u.store.updateTableScrollY()}},v=g=>{u.store.assertRowKey();const w=e.rowKey.value,b=hn(g,w),C=n.value[b];a.value&&C&&"loaded"in C&&!C.loaded?_(g,b,C):m(g,void 0)},_=(g,w,b)=>{const{load:C}=u.props;C&&!n.value[w].loaded&&(n.value[w].loading=!0,C(g,b,x=>{if(!Array.isArray(x))throw new TypeError("[ElTable] data must be an array");n.value[w].loading=!1,n.value[w].loaded=!0,n.value[w].expanded=!0,x.length&&(r.value[w]=x),u.emit("expand-change",g,!0)}))};return{loadData:_,loadOrToggle:v,toggleTreeExpansion:m,updateTreeExpandKeys:h,updateTreeData:p,normalize:c,states:{expandRowKeys:t,treeData:n,indent:o,lazy:a,lazyTreeNodeMap:r,lazyColumnIdentifier:l,childrenColumnName:i}}}const Tee=(e,t)=>{const n=t.sortingColumn;return!n||typeof n.sortable=="string"?e:_ee(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},cu=e=>{const t=[];return e.forEach(n=>{n.children&&n.children.length>0?t.push.apply(t,cu(n.children)):t.push(n)}),t};function Aee(){var e;const t=rt(),{size:n}=un((e=t.proxy)==null?void 0:e.$props),o=R(null),a=R([]),r=R([]),l=R(!1),i=R([]),u=R([]),d=R([]),f=R([]),c=R([]),p=R([]),h=R([]),m=R([]),v=[],_=R(0),g=R(0),w=R(0),b=R(!1),C=R([]),x=R(!1),E=R(!1),O=R(null),T=R({}),V=R(null),L=R(null),P=R(null),z=R(null),j=R(null);pe(a,()=>t.state&&I(!1),{deep:!0});const K=()=>{if(!o.value)throw new Error("[ElTable] prop row-key is required")},F=je=>{var fe;(fe=je.children)==null||fe.forEach($e=>{$e.fixed=je.fixed,F($e)})},B=()=>{i.value.forEach(ie=>{F(ie)}),f.value=i.value.filter(ie=>ie.fixed===!0||ie.fixed==="left"),c.value=i.value.filter(ie=>ie.fixed==="right"),f.value.length>0&&i.value[0]&&i.value[0].type==="selection"&&!i.value[0].fixed&&(i.value[0].fixed=!0,f.value.unshift(i.value[0]));const je=i.value.filter(ie=>!ie.fixed);u.value=[].concat(f.value).concat(je).concat(c.value);const fe=cu(je),$e=cu(f.value),ee=cu(c.value);_.value=fe.length,g.value=$e.length,w.value=ee.length,d.value=[].concat($e).concat(fe).concat(ee),l.value=f.value.length>0||c.value.length>0},I=(je,fe=!1)=>{je&&B(),fe?t.state.doLayout():t.state.debouncedUpdateLayout()},H=je=>C.value.includes(je),N=()=>{b.value=!1,C.value.length&&(C.value=[],t.emit("selection-change",[]))},D=()=>{let je;if(o.value){je=[];const fe=dr(C.value,o.value),$e=dr(a.value,o.value);for(const ee in fe)yt(fe,ee)&&!$e[ee]&&je.push(fe[ee].row)}else je=C.value.filter(fe=>!a.value.includes(fe));if(je.length){const fe=C.value.filter($e=>!je.includes($e));C.value=fe,t.emit("selection-change",fe.slice())}},q=()=>(C.value||[]).slice(),Y=(je,fe=void 0,$e=!0)=>{if(ms(C.value,je,fe)){const ie=(C.value||[]).slice();$e&&t.emit("select",ie,je),t.emit("selection-change",ie)}},J=()=>{var je,fe;const $e=E.value?!b.value:!(b.value||C.value.length);b.value=$e;let ee=!1,ie=0;const ke=(fe=(je=t==null?void 0:t.store)==null?void 0:je.states)==null?void 0:fe.rowKey.value;a.value.forEach((ne,ze)=>{const tt=ze+ie;O.value?O.value.call(null,ne,tt)&&ms(C.value,ne,$e)&&(ee=!0):ms(C.value,ne,$e)&&(ee=!0),ie+=Q(hn(ne,ke))}),ee&&t.emit("selection-change",C.value?C.value.slice():[]),t.emit("select-all",C.value)},se=()=>{const je=dr(C.value,o.value);a.value.forEach(fe=>{const $e=hn(fe,o.value),ee=je[$e];ee&&(C.value[ee.index]=fe)})},_e=()=>{var je,fe,$e;if(((je=a.value)==null?void 0:je.length)===0){b.value=!1;return}let ee;o.value&&(ee=dr(C.value,o.value));const ie=function(tt){return ee?!!ee[hn(tt,o.value)]:C.value.includes(tt)};let ke=!0,ne=0,ze=0;for(let tt=0,St=(a.value||[]).length;tt{var fe;if(!t||!t.store)return 0;const{treeData:$e}=t.store.states;let ee=0;const ie=(fe=$e.value[je])==null?void 0:fe.children;return ie&&(ee+=ie.length,ie.forEach(ke=>{ee+=Q(ke)})),ee},le=(je,fe)=>{Array.isArray(je)||(je=[je]);const $e={};return je.forEach(ee=>{T.value[ee.id]=fe,$e[ee.columnKey||ee.id]=fe}),$e},ae=(je,fe,$e)=>{L.value&&L.value!==je&&(L.value.order=null),L.value=je,P.value=fe,z.value=$e},Te=()=>{let je=s(r);Object.keys(T.value).forEach(fe=>{const $e=T.value[fe];if(!$e||$e.length===0)return;const ee=ty({columns:d.value},fe);ee&&ee.filterMethod&&(je=je.filter(ie=>$e.some(ke=>ee.filterMethod.call(null,ke,ie,ee))))}),V.value=je},ce=()=>{a.value=Tee(V.value,{sortingColumn:L.value,sortProp:P.value,sortOrder:z.value})},ge=(je=void 0)=>{je&&je.filter||Te(),ce()},Ae=je=>{const{tableHeaderRef:fe}=t.refs;if(!fe)return;const $e=Object.assign({},fe.filterPanels),ee=Object.keys($e);if(ee.length)if(typeof je=="string"&&(je=[je]),Array.isArray(je)){const ie=je.map(ke=>bee({columns:d.value},ke));ee.forEach(ke=>{const ne=ie.find(ze=>ze.id===ke);ne&&(ne.filteredValue=[])}),t.store.commit("filterChange",{column:ie,values:[],silent:!0,multi:!0})}else ee.forEach(ie=>{const ke=d.value.find(ne=>ne.id===ie);ke&&(ke.filteredValue=[])}),T.value={},t.store.commit("filterChange",{column:{},values:[],silent:!0})},U=()=>{L.value&&(ae(null,null,null),t.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:te,toggleRowExpansion:ve,updateExpandRows:be,states:ue,isRowExpanded:ye}=xee({data:a,rowKey:o}),{updateTreeExpandKeys:we,toggleTreeExpansion:Ce,updateTreeData:he,loadOrToggle:Se,states:Re}=$ee({data:a,rowKey:o}),{updateCurrentRowData:He,updateCurrentRow:de,setCurrentRowKey:Le,states:Ue}=Mee({data:a,rowKey:o});return{assertRowKey:K,updateColumns:B,scheduleLayout:I,isSelected:H,clearSelection:N,cleanSelection:D,getSelectionRows:q,toggleRowSelection:Y,_toggleAllSelection:J,toggleAllSelection:null,updateSelectionByRowKey:se,updateAllSelected:_e,updateFilters:le,updateCurrentRow:de,updateSort:ae,execFilter:Te,execSort:ce,execQuery:ge,clearFilter:Ae,clearSort:U,toggleRowExpansion:ve,setExpandRowKeysAdapter:je=>{te(je),we(je)},setCurrentRowKey:Le,toggleRowExpansionAdapter:(je,fe)=>{d.value.some(({type:ee})=>ee==="expand")?ve(je,fe):Ce(je,fe)},isRowExpanded:ye,updateExpandRows:be,updateCurrentRowData:He,loadOrToggle:Se,updateTreeData:he,states:{tableSize:n,rowKey:o,data:a,_data:r,isComplex:l,_columns:i,originColumns:u,columns:d,fixedColumns:f,rightFixedColumns:c,leafColumns:p,fixedLeafColumns:h,rightFixedLeafColumns:m,updateOrderFns:v,leafColumnsLength:_,fixedLeafColumnsLength:g,rightFixedLeafColumnsLength:w,isAllSelected:b,selection:C,reserveSelection:x,selectOnIndeterminate:E,selectable:O,filters:T,filteredData:V,sortingColumn:L,sortProp:P,sortOrder:z,hoverRow:j,...ue,...Re,...Ue}}}function Xf(e,t){return e.map(n=>{var o;return n.id===t.id?t:((o=n.children)!=null&&o.length&&(n.children=Xf(n.children,t)),n)})}function Jf(e){e.forEach(t=>{var n,o;t.no=(n=t.getColumnIndex)==null?void 0:n.call(t),(o=t.children)!=null&&o.length&&Jf(t.children)}),e.sort((t,n)=>t.no-n.no)}function Oee(){const e=rt(),t=Aee();return{ns:me("table"),...t,mutations:{setData(l,i){const u=s(l._data)!==i;l.data.value=i,l._data.value=i,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),s(l.reserveSelection)?(e.store.assertRowKey(),e.store.updateSelectionByRowKey()):u?e.store.clearSelection():e.store.cleanSelection(),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(l,i,u,d){const f=s(l._columns);let c=[];u?(u&&!u.children&&(u.children=[]),u.children.push(i),c=Xf(f,u)):(f.push(i),c=f),Jf(c),l._columns.value=c,l.updateOrderFns.push(d),i.type==="selection"&&(l.selectable.value=i.selectable,l.reserveSelection.value=i.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(l,i){var u;((u=i.getColumnIndex)==null?void 0:u.call(i))!==i.no&&(Jf(l._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(l,i,u,d){const f=s(l._columns)||[];if(u)u.children.splice(u.children.findIndex(p=>p.id===i.id),1),We(()=>{var p;((p=u.children)==null?void 0:p.length)===0&&delete u.children}),l._columns.value=Xf(f,u);else{const p=f.indexOf(i);p>-1&&(f.splice(p,1),l._columns.value=f)}const c=l.updateOrderFns.indexOf(d);c>-1&&l.updateOrderFns.splice(c,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(l,i){const{prop:u,order:d,init:f}=i;if(u){const c=s(l.columns).find(p=>p.property===u);c&&(c.order=d,e.store.updateSort(c,u,d),e.store.commit("changeSortCondition",{init:f}))}},changeSortCondition(l,i){const{sortingColumn:u,sortProp:d,sortOrder:f}=l,c=s(u),p=s(d),h=s(f);h===null&&(l.sortingColumn.value=null,l.sortProp.value=null);const m={filter:!0};e.store.execQuery(m),(!i||!(i.silent||i.init))&&e.emit("sort-change",{column:c,prop:p,order:h}),e.store.updateTableScrollY()},filterChange(l,i){const{column:u,values:d,silent:f}=i,c=e.store.updateFilters(u,d);e.store.execQuery(),f||e.emit("filter-change",c),e.store.updateTableScrollY()},toggleAllSelection(){e.store.toggleAllSelection()},rowSelectedChanged(l,i){e.store.toggleRowSelection(i),e.store.updateAllSelected()},setHoverRow(l,i){l.hoverRow.value=i},setCurrentRow(l,i){e.store.updateCurrentRow(i)}},commit:function(l,...i){const u=e.store.mutations;if(u[l])u[l].apply(e,[e.store.states].concat(i));else throw new Error(`Action not found: ${l}`)},updateTableScrollY:function(){We(()=>e.layout.updateScrollY.apply(e.layout))}}}const gs={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy",data:"data","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"}};function Nee(e,t){if(!e)throw new Error("Table is required.");const n=Oee();return n.toggleAllSelection=Hn(n._toggleAllSelection,10),Object.keys(gs).forEach(o=>{ry(ly(t,o),o,n)}),Iee(n,t),n}function Iee(e,t){Object.keys(gs).forEach(n=>{pe(()=>ly(t,n),o=>{ry(o,n,e)})})}function ry(e,t,n){let o=e,a=gs[t];typeof gs[t]=="object"&&(a=a.key,o=o||gs[t].default),n.states[a].value=o}function ly(e,t){if(t.includes(".")){const n=t.split(".");let o=e;return n.forEach(a=>{o=o[a]}),o}else return e[t]}class Ree{constructor(t){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.height=R(null),this.scrollX=R(!1),this.scrollY=R(!1),this.bodyWidth=R(null),this.fixedWidth=R(null),this.rightFixedWidth=R(null),this.gutterWidth=0;for(const n in t)yt(t,n)&&(Pt(this[n])?this[n].value=t[n]:this[n]=t[n]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){if(this.height.value===null)return!1;const n=this.table.refs.scrollBarRef;if(this.table.vnode.el&&(n!=null&&n.wrapRef)){let o=!0;const a=this.scrollY.value;return o=n.wrapRef.scrollHeight>n.wrapRef.clientHeight,this.scrollY.value=o,a!==o}return!1}setHeight(t,n="height"){if(!gt)return;const o=this.table.vnode.el;if(t=Cee(t),this.height.value=Number(t),!o&&(t||t===0))return We(()=>this.setHeight(t,n));typeof t=="number"?(o.style[n]=`${t}px`,this.updateElsHeight()):typeof t=="string"&&(o.style[n]=t,this.updateElsHeight())}setMaxHeight(t){this.setHeight(t,"max-height")}getFlattenColumns(){const t=[];return this.table.store.states.columns.value.forEach(o=>{o.isColumnGroup?t.push.apply(t,o.columns):t.push(o)}),t}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(t){if(!t)return!0;let n=t;for(;n.tagName!=="DIV";){if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1}updateColumnsWidth(){if(!gt)return;const t=this.fit,n=this.table.vnode.el.clientWidth;let o=0;const a=this.getFlattenColumns(),r=a.filter(u=>typeof u.width!="number");if(a.forEach(u=>{typeof u.width=="number"&&u.realWidth&&(u.realWidth=null)}),r.length>0&&t){if(a.forEach(u=>{o+=Number(u.width||u.minWidth||80)}),o<=n){this.scrollX.value=!1;const u=n-o;if(r.length===1)r[0].realWidth=Number(r[0].minWidth||80)+u;else{const d=r.reduce((p,h)=>p+Number(h.minWidth||80),0),f=u/d;let c=0;r.forEach((p,h)=>{if(h===0)return;const m=Math.floor(Number(p.minWidth||80)*f);c+=m,p.realWidth=Number(p.minWidth||80)+m}),r[0].realWidth=Number(r[0].minWidth||80)+u-c}}else this.scrollX.value=!0,r.forEach(u=>{u.realWidth=Number(u.minWidth)});this.bodyWidth.value=Math.max(o,n),this.table.state.resizeState.value.width=this.bodyWidth.value}else a.forEach(u=>{!u.width&&!u.minWidth?u.realWidth=80:u.realWidth=Number(u.width||u.minWidth),o+=u.realWidth}),this.scrollX.value=o>n,this.bodyWidth.value=o;const l=this.store.states.fixedColumns.value;if(l.length>0){let u=0;l.forEach(d=>{u+=Number(d.realWidth||d.width)}),this.fixedWidth.value=u}const i=this.store.states.rightFixedColumns.value;if(i.length>0){let u=0;i.forEach(d=>{u+=Number(d.realWidth||d.width)}),this.rightFixedWidth.value=u}this.notifyObservers("columns")}addObserver(t){this.observers.push(t)}removeObserver(t){const n=this.observers.indexOf(t);n!==-1&&this.observers.splice(n,1)}notifyObservers(t){this.observers.forEach(o=>{var a,r;switch(t){case"columns":(a=o.state)==null||a.onColumnsChange(this);break;case"scrollable":(r=o.state)==null||r.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${t}.`)}})}}const{CheckboxGroup:Pee}=vo,Lee=A({name:"ElTableFilterPanel",components:{ElCheckbox:vo,ElCheckboxGroup:Pee,ElScrollbar:ha,ElTooltip:En,ElIcon:Be,ArrowDown:Bo,ArrowUp:Cc},directives:{ClickOutside:sa},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function}},setup(e){const t=rt(),{t:n}=_t(),o=me("table-filter"),a=t==null?void 0:t.parent;a.filterPanels.value[e.column.id]||(a.filterPanels.value[e.column.id]=t);const r=R(!1),l=R(null),i=S(()=>e.column&&e.column.filters),u=S(()=>e.column.filterClassName?`${o.b()} ${e.column.filterClassName}`:o.b()),d=S({get:()=>{var x;return(((x=e.column)==null?void 0:x.filteredValue)||[])[0]},set:x=>{f.value&&(typeof x<"u"&&x!==null?f.value.splice(0,1,x):f.value.splice(0,1))}}),f=S({get(){return e.column?e.column.filteredValue||[]:[]},set(x){e.column&&e.upDataColumn("filteredValue",x)}}),c=S(()=>e.column?e.column.filterMultiple:!0),p=x=>x.value===d.value,h=()=>{r.value=!1},m=x=>{x.stopPropagation(),r.value=!r.value},v=()=>{r.value=!1},_=()=>{b(f.value),h()},g=()=>{f.value=[],b(f.value),h()},w=x=>{d.value=x,b(typeof x<"u"&&x!==null?f.value:[]),h()},b=x=>{e.store.commit("filterChange",{column:e.column,values:x}),e.store.updateAllSelected()};pe(r,x=>{e.column&&e.upDataColumn("filterOpened",x)},{immediate:!0});const C=S(()=>{var x,E;return(E=(x=l.value)==null?void 0:x.popperRef)==null?void 0:E.contentRef});return{tooltipVisible:r,multiple:c,filterClassName:u,filteredValue:f,filterValue:d,filters:i,handleConfirm:_,handleReset:g,handleSelect:w,isActive:p,t:n,ns:o,showFilterPanel:m,hideFilterPanel:v,popperPaneRef:C,tooltip:l}}}),Vee={key:0},Bee=["disabled"],zee=["label","onClick"];function Hee(e,t,n,o,a,r){const l=nt("el-checkbox"),i=nt("el-checkbox-group"),u=nt("el-scrollbar"),d=nt("arrow-up"),f=nt("arrow-down"),c=nt("el-icon"),p=nt("el-tooltip"),h=sc("click-outside");return y(),oe(p,{ref:"tooltip",visible:e.tooltipVisible,offset:0,placement:e.placement,"show-arrow":!1,"stop-popper-mouse-event":!1,teleported:"",effect:"light",pure:"","popper-class":e.filterClassName,persistent:""},{content:G(()=>[e.multiple?(y(),M("div",Vee,[k("div",{class:$(e.ns.e("content"))},[W(u,{"wrap-class":e.ns.e("wrap")},{default:G(()=>[W(i,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||(t[0]=m=>e.filteredValue=m),class:$(e.ns.e("checkbox-group"))},{default:G(()=>[(y(!0),M(Fe,null,mt(e.filters,m=>(y(),oe(l,{key:m.value,value:m.value},{default:G(()=>[vt(Me(m.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","class"])]),_:1},8,["wrap-class"])],2),k("div",{class:$(e.ns.e("bottom"))},[k("button",{class:$({[e.ns.is("disabled")]:e.filteredValue.length===0}),disabled:e.filteredValue.length===0,type:"button",onClick:t[1]||(t[1]=(...m)=>e.handleConfirm&&e.handleConfirm(...m))},Me(e.t("el.table.confirmFilter")),11,Bee),k("button",{type:"button",onClick:t[2]||(t[2]=(...m)=>e.handleReset&&e.handleReset(...m))},Me(e.t("el.table.resetFilter")),1)],2)])):(y(),M("ul",{key:1,class:$(e.ns.e("list"))},[k("li",{class:$([e.ns.e("list-item"),{[e.ns.is("active")]:e.filterValue===void 0||e.filterValue===null}]),onClick:t[3]||(t[3]=m=>e.handleSelect(null))},Me(e.t("el.table.clearFilter")),3),(y(!0),M(Fe,null,mt(e.filters,m=>(y(),M("li",{key:m.value,class:$([e.ns.e("list-item"),e.ns.is("active",e.isActive(m))]),label:m.value,onClick:v=>e.handleSelect(m.value)},Me(m.text),11,zee))),128))],2))]),default:G(()=>[Qe((y(),M("span",{class:$([`${e.ns.namespace.value}-table__column-filter-trigger`,`${e.ns.namespace.value}-none-outline`]),onClick:t[4]||(t[4]=(...m)=>e.showFilterPanel&&e.showFilterPanel(...m))},[W(c,null,{default:G(()=>[e.column.filterOpened?(y(),oe(d,{key:0})):(y(),oe(f,{key:1}))]),_:1})],2)),[[h,e.hideFilterPanel,e.popperPaneRef]])]),_:1},8,["visible","placement","popper-class"])}var Dee=xe(Lee,[["render",Hee],["__file","filter-panel.vue"]]);function sy(e){const t=rt();cc(()=>{n.value.addObserver(t)}),et(()=>{o(n.value),a(n.value)}),ua(()=>{o(n.value),a(n.value)}),Ua(()=>{n.value.removeObserver(t)});const n=S(()=>{const r=e.layout;if(!r)throw new Error("Can not find table layout.");return r}),o=r=>{var l;const i=((l=e.vnode.el)==null?void 0:l.querySelectorAll("colgroup > col"))||[];if(!i.length)return;const u=r.getFlattenColumns(),d={};u.forEach(f=>{d[f.id]=f});for(let f=0,c=i.length;f{var l,i;const u=((l=e.vnode.el)==null?void 0:l.querySelectorAll("colgroup > col[name=gutter]"))||[];for(let f=0,c=u.length;f{v.stopPropagation()},r=(v,_)=>{!_.filters&&_.sortable?m(v,_,!1):_.filterable&&!_.sortable&&a(v),o==null||o.emit("header-click",_,v)},l=(v,_)=>{o==null||o.emit("header-contextmenu",_,v)},i=R(null),u=R(!1),d=R({}),f=(v,_)=>{if(gt&&!(_.children&&_.children.length>0)&&i.value&&e.border){u.value=!0;const g=o;t("set-drag-visible",!0);const b=(g==null?void 0:g.vnode.el).getBoundingClientRect().left,C=n.vnode.el.querySelector(`th.${_.id}`),x=C.getBoundingClientRect(),E=x.left-b+30;eo(C,"noclick"),d.value={startMouseLeft:v.clientX,startLeft:x.right-b,startColumnLeft:x.left-b,tableLeft:b};const O=g==null?void 0:g.refs.resizeProxy;O.style.left=`${d.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const T=L=>{const P=L.clientX-d.value.startMouseLeft,z=d.value.startLeft+P;O.style.left=`${Math.max(E,z)}px`},V=()=>{if(u.value){const{startColumnLeft:L,startLeft:P}=d.value,j=Number.parseInt(O.style.left,10)-L;_.width=_.realWidth=j,g==null||g.emit("header-dragend",_.width,P-L,_,v),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",u.value=!1,i.value=null,d.value={},t("set-drag-visible",!1)}document.removeEventListener("mousemove",T),document.removeEventListener("mouseup",V),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{Cn(C,"noclick")},0)};document.addEventListener("mousemove",T),document.addEventListener("mouseup",V)}},c=(v,_)=>{if(_.children&&_.children.length>0)return;const g=v.target;if(!io(g))return;const w=g==null?void 0:g.closest("th");if(!(!_||!_.resizable)&&!u.value&&e.border){const b=w.getBoundingClientRect(),C=document.body.style;b.width>12&&b.right-v.pageX<8?(C.cursor="col-resize",oo(w,"is-sortable")&&(w.style.cursor="col-resize"),i.value=_):u.value||(C.cursor="",oo(w,"is-sortable")&&(w.style.cursor="pointer"),i.value=null)}},p=()=>{gt&&(document.body.style.cursor="")},h=({order:v,sortOrders:_})=>{if(v==="")return _[0];const g=_.indexOf(v||null);return _[g>_.length-2?0:g+1]},m=(v,_,g)=>{var w;v.stopPropagation();const b=_.order===g?null:g||h(_),C=(w=v.target)==null?void 0:w.closest("th");if(C&&oo(C,"noclick")){Cn(C,"noclick");return}if(!_.sortable)return;const x=e.store.states;let E=x.sortProp.value,O;const T=x.sortingColumn.value;(T!==_||T===_&&T.order===null)&&(T&&(T.order=null),x.sortingColumn.value=_,E=_.property),b?O=_.order=b:O=_.order=null,x.sortProp.value=E,x.sortOrder.value=O,o==null||o.store.commit("changeSortCondition")};return{handleHeaderClick:r,handleHeaderContextMenu:l,handleMouseDown:f,handleMouseMove:c,handleMouseOut:p,handleSortClick:m,handleFilterClick:a}}function Kee(e){const t=Pe(Do),n=me("table");return{getHeaderRowStyle:i=>{const u=t==null?void 0:t.props.headerRowStyle;return typeof u=="function"?u.call(null,{rowIndex:i}):u},getHeaderRowClass:i=>{const u=[],d=t==null?void 0:t.props.headerRowClassName;return typeof d=="string"?u.push(d):typeof d=="function"&&u.push(d.call(null,{rowIndex:i})),u.join(" ")},getHeaderCellStyle:(i,u,d,f)=>{var c;let p=(c=t==null?void 0:t.props.headerCellStyle)!=null?c:{};typeof p=="function"&&(p=p.call(null,{rowIndex:i,columnIndex:u,row:d,column:f}));const h=lp(u,f.fixed,e.store,d);return Ml(h,"left"),Ml(h,"right"),Object.assign({},p,h)},getHeaderCellClass:(i,u,d,f)=>{const c=rp(n.b(),u,f.fixed,e.store,d),p=[f.id,f.order,f.headerAlign,f.className,f.labelClassName,...c];f.children||p.push("is-leaf"),f.sortable&&p.push("is-sortable");const h=t==null?void 0:t.props.headerCellClassName;return typeof h=="string"?p.push(h):typeof h=="function"&&p.push(h.call(null,{rowIndex:i,columnIndex:u,row:d,column:f})),p.push(n.e("cell")),p.filter(m=>!!m).join(" ")}}}const iy=e=>{const t=[];return e.forEach(n=>{n.children?(t.push(n),t.push.apply(t,iy(n.children))):t.push(n)}),t},Wee=e=>{let t=1;const n=(r,l)=>{if(l&&(r.level=l.level+1,t{n(u,r),i+=u.colSpan}),r.colSpan=i}else r.colSpan=1};e.forEach(r=>{r.level=1,n(r,void 0)});const o=[];for(let r=0;r{r.children?(r.rowSpan=1,r.children.forEach(l=>l.isSubColumn=!0)):r.rowSpan=t-r.level+1,o[r.level-1].push(r)}),o};function jee(e){const t=Pe(Do),n=S(()=>Wee(e.store.states.originColumns.value));return{isGroup:S(()=>{const r=n.value.length>1;return r&&t&&(t.state.isGroup.value=!0),r}),toggleAllSelection:r=>{r.stopPropagation(),t==null||t.store.commit("toggleAllSelection")},columnRows:n}}var qee=A({name:"ElTableHeader",components:{ElCheckbox:vo},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e,{emit:t}){const n=rt(),o=Pe(Do),a=me("table"),r=R({}),{onColumnsChange:l,onScrollableChange:i}=sy(o);et(async()=>{await We(),await We();const{prop:E,order:O}=e.defaultSort;o==null||o.store.commit("sort",{prop:E,order:O,init:!0})});const{handleHeaderClick:u,handleHeaderContextMenu:d,handleMouseDown:f,handleMouseMove:c,handleMouseOut:p,handleSortClick:h,handleFilterClick:m}=Fee(e,t),{getHeaderRowStyle:v,getHeaderRowClass:_,getHeaderCellStyle:g,getHeaderCellClass:w}=Kee(e),{isGroup:b,toggleAllSelection:C,columnRows:x}=jee(e);return n.state={onColumnsChange:l,onScrollableChange:i},n.filterPanels=r,{ns:a,filterPanels:r,onColumnsChange:l,onScrollableChange:i,columnRows:x,getHeaderRowClass:_,getHeaderRowStyle:v,getHeaderCellClass:w,getHeaderCellStyle:g,handleHeaderClick:u,handleHeaderContextMenu:d,handleMouseDown:f,handleMouseMove:c,handleMouseOut:p,handleSortClick:h,handleFilterClick:m,isGroup:b,toggleAllSelection:C}},render(){const{ns:e,isGroup:t,columnRows:n,getHeaderCellStyle:o,getHeaderCellClass:a,getHeaderRowClass:r,getHeaderRowStyle:l,handleHeaderClick:i,handleHeaderContextMenu:u,handleMouseDown:d,handleMouseMove:f,handleSortClick:c,handleMouseOut:p,store:h,$parent:m}=this;let v=1;return qe("thead",{class:{[e.is("group")]:t}},n.map((_,g)=>qe("tr",{class:r(g),key:g,style:l(g)},_.map((w,b)=>(w.rowSpan>v&&(v=w.rowSpan),qe("th",{class:a(g,b,_,w),colspan:w.colSpan,key:`${w.id}-thead`,rowspan:w.rowSpan,style:o(g,b,_,w),onClick:C=>i(C,w),onContextmenu:C=>u(C,w),onMousedown:C=>d(C,w),onMousemove:C=>f(C,w),onMouseout:p},[qe("div",{class:["cell",w.filteredValue&&w.filteredValue.length>0?"highlight":""]},[w.renderHeader?w.renderHeader({column:w,$index:b,store:h,_self:m}):w.label,w.sortable&&qe("span",{onClick:C=>c(C,w),class:"caret-wrapper"},[qe("i",{onClick:C=>c(C,w,"ascending"),class:"sort-caret ascending"}),qe("i",{onClick:C=>c(C,w,"descending"),class:"sort-caret descending"})]),w.filterable&&qe(Dee,{store:h,placement:w.filterPlacement||"bottom-start",column:w,upDataColumn:(C,x)=>{w[C]=x}})])]))))))}});function Uee(e){const t=Pe(Do),n=R(""),o=R(qe("div")),a=(m,v,_)=>{var g;const w=t,b=Nd(m);let C;const x=(g=w==null?void 0:w.vnode.el)==null?void 0:g.dataset.prefix;b&&(C=Vh({columns:e.store.states.columns.value},b,x),C&&(w==null||w.emit(`cell-${_}`,v,C,b,m))),w==null||w.emit(`row-${_}`,v,C,m)},r=(m,v)=>{a(m,v,"dblclick")},l=(m,v)=>{e.store.commit("setCurrentRow",v),a(m,v,"click")},i=(m,v)=>{a(m,v,"contextmenu")},u=Hn(m=>{e.store.commit("setHoverRow",m)},30),d=Hn(()=>{e.store.commit("setHoverRow",null)},30),f=m=>{const v=window.getComputedStyle(m,null),_=Number.parseInt(v.paddingLeft,10)||0,g=Number.parseInt(v.paddingRight,10)||0,w=Number.parseInt(v.paddingTop,10)||0,b=Number.parseInt(v.paddingBottom,10)||0;return{left:_,right:g,top:w,bottom:b}},c=(m,v,_)=>{let g=v.target.parentNode;for(;m>1&&(g=g==null?void 0:g.nextSibling,!(!g||g.nodeName!=="TR"));)_(g,"hover-row hover-fixed-row"),m--};return{handleDoubleClick:r,handleClick:l,handleContextMenu:i,handleMouseEnter:u,handleMouseLeave:d,handleCellMouseEnter:(m,v,_)=>{var g;const w=t,b=Nd(m),C=(g=w==null?void 0:w.vnode.el)==null?void 0:g.dataset.prefix;if(b){const I=Vh({columns:e.store.states.columns.value},b,C);b.rowSpan>1&&c(b.rowSpan,m,eo);const H=w.hoverState={cell:b,column:I,row:v};w==null||w.emit("cell-mouse-enter",H.row,H.column,H.cell,m)}if(!_)return;const x=m.target.querySelector(".cell");if(!(oo(x,`${C}-tooltip`)&&x.childNodes.length))return;const E=document.createRange();E.setStart(x,0),E.setEnd(x,x.childNodes.length);let O=E.getBoundingClientRect().width,T=E.getBoundingClientRect().height;O-Math.floor(O)<.001&&(O=Math.floor(O)),T-Math.floor(T)<.001&&(T=Math.floor(T));const{top:P,left:z,right:j,bottom:K}=f(x),F=z+j,B=P+K;(O+F>x.offsetWidth||T+B>x.offsetHeight||x.scrollWidth>x.offsetWidth)&&Eee(_,b.innerText||b.textContent,b,w)},handleCellMouseLeave:m=>{const v=Nd(m);if(!v)return;v.rowSpan>1&&c(v.rowSpan,m,Cn);const _=t==null?void 0:t.hoverState;t==null||t.emit("cell-mouse-leave",_==null?void 0:_.row,_==null?void 0:_.column,_==null?void 0:_.cell,m)},tooltipContent:n,tooltipTrigger:o}}function Yee(e){const t=Pe(Do),n=me("table");return{getRowStyle:(d,f)=>{const c=t==null?void 0:t.props.rowStyle;return typeof c=="function"?c.call(null,{row:d,rowIndex:f}):c||null},getRowClass:(d,f)=>{const c=[n.e("row")];t!=null&&t.props.highlightCurrentRow&&d===e.store.states.currentRow.value&&c.push("current-row"),e.stripe&&f%2===1&&c.push(n.em("row","striped"));const p=t==null?void 0:t.props.rowClassName;return typeof p=="string"?c.push(p):typeof p=="function"&&c.push(p.call(null,{row:d,rowIndex:f})),c},getCellStyle:(d,f,c,p)=>{const h=t==null?void 0:t.props.cellStyle;let m=h??{};typeof h=="function"&&(m=h.call(null,{rowIndex:d,columnIndex:f,row:c,column:p}));const v=lp(f,e==null?void 0:e.fixed,e.store);return Ml(v,"left"),Ml(v,"right"),Object.assign({},m,v)},getCellClass:(d,f,c,p,h)=>{const m=rp(n.b(),f,e==null?void 0:e.fixed,e.store,void 0,h),v=[p.id,p.align,p.className,...m],_=t==null?void 0:t.props.cellClassName;return typeof _=="string"?v.push(_):typeof _=="function"&&v.push(_.call(null,{rowIndex:d,columnIndex:f,row:c,column:p})),v.push(n.e("cell")),v.filter(g=>!!g).join(" ")},getSpan:(d,f,c,p)=>{let h=1,m=1;const v=t==null?void 0:t.props.spanMethod;if(typeof v=="function"){const _=v({row:d,column:f,rowIndex:c,columnIndex:p});Array.isArray(_)?(h=_[0],m=_[1]):typeof _=="object"&&(h=_.rowspan,m=_.colspan)}return{rowspan:h,colspan:m}},getColspanRealWidth:(d,f,c)=>{if(f<1)return d[c].realWidth;const p=d.map(({realWidth:h,width:m})=>h||m).slice(c,c+f);return Number(p.reduce((h,m)=>Number(h)+Number(m),-1))}}}function Gee(e){const t=Pe(Do),n=me("table"),{handleDoubleClick:o,handleClick:a,handleContextMenu:r,handleMouseEnter:l,handleMouseLeave:i,handleCellMouseEnter:u,handleCellMouseLeave:d,tooltipContent:f,tooltipTrigger:c}=Uee(e),{getRowStyle:p,getRowClass:h,getCellStyle:m,getCellClass:v,getSpan:_,getColspanRealWidth:g}=Yee(e),w=S(()=>e.store.states.columns.value.findIndex(({type:O})=>O==="default")),b=(O,T)=>{const V=t.props.rowKey;return V?hn(O,V):T},C=(O,T,V,L=!1)=>{const{tooltipEffect:P,tooltipOptions:z,store:j}=e,{indent:K,columns:F}=j.states,B=h(O,T);let I=!0;return V&&(B.push(n.em("row",`level-${V.level}`)),I=V.display),qe("tr",{style:[I?null:{display:"none"},p(O,T)],class:B,key:b(O,T),onDblclick:N=>o(N,O),onClick:N=>a(N,O),onContextmenu:N=>r(N,O),onMouseenter:()=>l(T),onMouseleave:i},F.value.map((N,D)=>{const{rowspan:q,colspan:Y}=_(O,N,T,D);if(!q||!Y)return null;const J=Object.assign({},N);J.realWidth=g(F.value,Y,D);const se={store:e.store,_self:e.context||t,column:J,row:O,$index:T,cellIndex:D,expanded:L};D===w.value&&V&&(se.treeNode={indent:V.level*K.value,level:V.level},typeof V.expanded=="boolean"&&(se.treeNode.expanded=V.expanded,"loading"in V&&(se.treeNode.loading=V.loading),"noLazyChildren"in V&&(se.treeNode.noLazyChildren=V.noLazyChildren)));const _e=`${T},${D}`,Q=J.columnKey||J.rawColumnKey||"",le=x(D,N,se),ae=N.showOverflowTooltip&&Zk({effect:P},z,N.showOverflowTooltip);return qe("td",{style:m(T,D,O,N),class:v(T,D,O,N,Y-1),key:`${Q}${_e}`,rowspan:q,colspan:Y,onMouseenter:Te=>u(Te,O,ae),onMouseleave:d},[le])}))},x=(O,T,V)=>T.renderCell(V);return{wrappedRowRender:(O,T)=>{const V=e.store,{isRowExpanded:L,assertRowKey:P}=V,{treeData:z,lazyTreeNodeMap:j,childrenColumnName:K,rowKey:F}=V.states,B=V.states.columns.value;if(B.some(({type:H})=>H==="expand")){const H=L(O),N=C(O,T,void 0,H),D=t.renderExpanded;return H?D?[[N,qe("tr",{key:`expanded-row__${N.key}`},[qe("td",{colspan:B.length,class:`${n.e("cell")} ${n.e("expanded-cell")}`},[D({row:O,$index:T,store:V,expanded:H})])])]]:(console.error("[Element Error]renderExpanded is required."),N):[[N]]}else if(Object.keys(z.value).length){P();const H=hn(O,F.value);let N=z.value[H],D=null;N&&(D={expanded:N.expanded,level:N.level,display:!0},typeof N.lazy=="boolean"&&(typeof N.loaded=="boolean"&&N.loaded&&(D.noLazyChildren=!(N.children&&N.children.length)),D.loading=N.loading));const q=[C(O,T,D)];if(N){let Y=0;const J=(_e,Q)=>{_e&&_e.length&&Q&&_e.forEach(le=>{const ae={display:Q.display&&Q.expanded,level:Q.level+1,expanded:!1,noLazyChildren:!1,loading:!1},Te=hn(le,F.value);if(Te==null)throw new Error("For nested data item, row-key is required.");if(N={...z.value[Te]},N&&(ae.expanded=N.expanded,N.level=N.level||ae.level,N.display=!!(N.expanded&&ae.display),typeof N.lazy=="boolean"&&(typeof N.loaded=="boolean"&&N.loaded&&(ae.noLazyChildren=!(N.children&&N.children.length)),ae.loading=N.loading)),Y++,q.push(C(le,T+Y,ae)),N){const ce=j.value[Te]||le[K.value];J(ce,N)}})};N.display=!0;const se=j.value[H]||O[K.value];J(se,N)}return q}else return C(O,T,void 0)},tooltipContent:f,tooltipTrigger:c}}const Xee={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var Jee=A({name:"ElTableBody",props:Xee,setup(e){const t=rt(),n=Pe(Do),o=me("table"),{wrappedRowRender:a,tooltipContent:r,tooltipTrigger:l}=Gee(e),{onColumnsChange:i,onScrollableChange:u}=sy(n),d=[];return pe(e.store.states.hoverRow,(f,c)=>{var p;const h=t==null?void 0:t.vnode.el,m=Array.from((h==null?void 0:h.children)||[]).filter(g=>g==null?void 0:g.classList.contains(`${o.e("row")}`));let v=f;const _=(p=m[v])==null?void 0:p.childNodes;_!=null&&_.length?Array.from(_).reduce((w,b,C)=>{var x,E;const O=((x=_[C-1])==null?void 0:x.colSpan)>1,T=((E=_[C+1])==null?void 0:E.colSpan)>1;return b.nodeName!=="TD"&&!O&&!T&&w.push(C),w},[]).forEach(w=>{for(var b;v>0;){const C=(b=m[v-1])==null?void 0:b.childNodes;if(C[w]&&C[w].nodeName==="TD"){eo(C[w],"hover-cell"),d.push(C[w]);break}v--}}):(d.forEach(g=>Cn(g,"hover-cell")),d.length=0),!(!e.store.states.isComplex.value||!gt)&&Fa(()=>{const g=m[c],w=m[f];g&&!g.classList.contains("hover-fixed-row")&&Cn(g,"hover-row"),w&&eo(w,"hover-row")})}),Ua(()=>{var f;(f=Jn)==null||f()}),{ns:o,onColumnsChange:i,onScrollableChange:u,wrappedRowRender:a,tooltipContent:r,tooltipTrigger:l}},render(){const{wrappedRowRender:e,store:t}=this,n=t.states.data.value||[];return qe("tbody",{tabIndex:-1},[n.reduce((o,a)=>o.concat(e(a,o.length)),[])])}});function Zee(){const e=Pe(Do),t=e==null?void 0:e.store,n=S(()=>t.states.fixedLeafColumnsLength.value),o=S(()=>t.states.rightFixedColumns.value.length),a=S(()=>t.states.columns.value.length),r=S(()=>t.states.fixedColumns.value.length),l=S(()=>t.states.rightFixedColumns.value.length);return{leftFixedLeafCount:n,rightFixedLeafCount:o,columnsCount:a,leftFixedCount:r,rightFixedCount:l,columns:t.states.columns}}function Qee(e){const{columns:t}=Zee(),n=me("table");return{getCellClasses:(r,l)=>{const i=r[l],u=[n.e("cell"),i.id,i.align,i.labelClassName,...rp(n.b(),l,i.fixed,e.store)];return i.className&&u.push(i.className),i.children||u.push(n.is("leaf")),u},getCellStyles:(r,l)=>{const i=lp(l,r.fixed,e.store);return Ml(i,"left"),Ml(i,"right"),i},columns:t}}var ete=A({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const{getCellClasses:t,getCellStyles:n,columns:o}=Qee(e);return{ns:me("table"),getCellClasses:t,getCellStyles:n,columns:o}},render(){const{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:o,sumText:a}=this,r=this.store.states.data.value;let l=[];return o?l=o({columns:e,data:r}):e.forEach((i,u)=>{if(u===0){l[u]=a;return}const d=r.map(h=>Number(h[i.property])),f=[];let c=!0;d.forEach(h=>{if(!Number.isNaN(+h)){c=!1;const m=`${h}`.split(".")[1];f.push(m?m.length:0)}});const p=Math.max.apply(null,f);c?l[u]="":l[u]=d.reduce((h,m)=>{const v=Number(m);return Number.isNaN(+v)?h:Number.parseFloat((h+m).toFixed(Math.min(p,20)))},0)}),qe(qe("tfoot",[qe("tr",{},[...e.map((i,u)=>qe("td",{key:u,colspan:i.colSpan,rowspan:i.rowSpan,class:n(e,u),style:t(i,u)},[qe("div",{class:["cell",i.labelClassName]},[l[u]])]))])]))}});function tte(e){return{setCurrentRow:f=>{e.commit("setCurrentRow",f)},getSelectionRows:()=>e.getSelectionRows(),toggleRowSelection:(f,c)=>{e.toggleRowSelection(f,c,!1),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:f=>{e.clearFilter(f)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(f,c)=>{e.toggleRowExpansionAdapter(f,c)},clearSort:()=>{e.clearSort()},sort:(f,c)=>{e.commit("sort",{prop:f,order:c})}}}function nte(e,t,n,o){const a=R(!1),r=R(null),l=R(!1),i=N=>{l.value=N},u=R({width:null,height:null,headerHeight:null}),d=R(!1),f={display:"inline-block",verticalAlign:"middle"},c=R(),p=R(0),h=R(0),m=R(0),v=R(0),_=R(0);gn(()=>{t.setHeight(e.height)}),gn(()=>{t.setMaxHeight(e.maxHeight)}),pe(()=>[e.currentRowKey,n.states.rowKey],([N,D])=>{!s(D)||!s(N)||n.setCurrentRowKey(`${N}`)},{immediate:!0}),pe(()=>e.data,N=>{o.store.commit("setData",N)},{immediate:!0,deep:!0}),gn(()=>{e.expandRowKeys&&n.setExpandRowKeysAdapter(e.expandRowKeys)});const g=()=>{o.store.commit("setHoverRow",null),o.hoverState&&(o.hoverState=null)},w=(N,D)=>{const{pixelX:q,pixelY:Y}=D;Math.abs(q)>=Math.abs(Y)&&(o.refs.bodyWrapper.scrollLeft+=D.pixelX/5)},b=S(()=>e.height||e.maxHeight||n.states.fixedColumns.value.length>0||n.states.rightFixedColumns.value.length>0),C=S(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),x=()=>{b.value&&t.updateElsHeight(),t.updateColumnsWidth(),requestAnimationFrame(V)};et(async()=>{await We(),n.updateColumns(),L(),requestAnimationFrame(x);const N=o.vnode.el,D=o.refs.headerWrapper;e.flexible&&N&&N.parentElement&&(N.parentElement.style.minWidth="0"),u.value={width:c.value=N.offsetWidth,height:N.offsetHeight,headerHeight:e.showHeader&&D?D.offsetHeight:null},n.states.columns.value.forEach(q=>{q.filteredValue&&q.filteredValue.length&&o.store.commit("filterChange",{column:q,values:q.filteredValue,silent:!0})}),o.$ready=!0});const E=(N,D)=>{if(!N)return;const q=Array.from(N.classList).filter(Y=>!Y.startsWith("is-scrolling-"));q.push(t.scrollX.value?D:"is-scrolling-none"),N.className=q.join(" ")},O=N=>{const{tableWrapper:D}=o.refs;E(D,N)},T=N=>{const{tableWrapper:D}=o.refs;return!!(D&&D.classList.contains(N))},V=function(){if(!o.refs.scrollBarRef)return;if(!t.scrollX.value){const Q="is-scrolling-none";T(Q)||O(Q);return}const N=o.refs.scrollBarRef.wrapRef;if(!N)return;const{scrollLeft:D,offsetWidth:q,scrollWidth:Y}=N,{headerWrapper:J,footerWrapper:se}=o.refs;J&&(J.scrollLeft=D),se&&(se.scrollLeft=D);const _e=Y-q-1;D>=_e?O("is-scrolling-right"):O(D===0?"is-scrolling-left":"is-scrolling-middle")},L=()=>{o.refs.scrollBarRef&&(o.refs.scrollBarRef.wrapRef&&Vt(o.refs.scrollBarRef.wrapRef,"scroll",V,{passive:!0}),e.fit?Kt(o.vnode.el,P):Vt(window,"resize",P),Kt(o.refs.bodyWrapper,()=>{var N,D;P(),(D=(N=o.refs)==null?void 0:N.scrollBarRef)==null||D.update()}))},P=()=>{var N,D,q,Y;const J=o.vnode.el;if(!o.$ready||!J)return;let se=!1;const{width:_e,height:Q,headerHeight:le}=u.value,ae=c.value=J.offsetWidth;_e!==ae&&(se=!0);const Te=J.offsetHeight;(e.height||b.value)&&Q!==Te&&(se=!0);const ce=e.tableLayout==="fixed"?o.refs.headerWrapper:(N=o.refs.tableHeaderRef)==null?void 0:N.$el;e.showHeader&&(ce==null?void 0:ce.offsetHeight)!==le&&(se=!0),p.value=((D=o.refs.tableWrapper)==null?void 0:D.scrollHeight)||0,m.value=(ce==null?void 0:ce.scrollHeight)||0,v.value=((q=o.refs.footerWrapper)==null?void 0:q.offsetHeight)||0,_.value=((Y=o.refs.appendWrapper)==null?void 0:Y.offsetHeight)||0,h.value=p.value-m.value-v.value-_.value,se&&(u.value={width:ae,height:Te,headerHeight:e.showHeader&&(ce==null?void 0:ce.offsetHeight)||0},x())},z=an(),j=S(()=>{const{bodyWidth:N,scrollY:D,gutterWidth:q}=t;return N.value?`${N.value-(D.value?q:0)}px`:""}),K=S(()=>e.maxHeight?"fixed":e.tableLayout),F=S(()=>{if(e.data&&e.data.length)return null;let N="100%";e.height&&h.value&&(N=`${h.value}px`);const D=c.value;return{width:D?`${D}px`:"",height:N}}),B=S(()=>e.height?{height:Number.isNaN(Number(e.height))?e.height:`${e.height}px`}:e.maxHeight?{maxHeight:Number.isNaN(Number(e.maxHeight))?e.maxHeight:`${e.maxHeight}px`}:{}),I=S(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${m.value+v.value}px)`}:{maxHeight:`${e.maxHeight-m.value-v.value}px`}:{});return{isHidden:a,renderExpanded:r,setDragVisible:i,isGroup:d,handleMouseLeave:g,handleHeaderFooterMousewheel:w,tableSize:z,emptyBlockStyle:F,handleFixedMousewheel:(N,D)=>{const q=o.refs.bodyWrapper;if(Math.abs(D.spinY)>0){const Y=q.scrollTop;D.pixelY<0&&Y!==0&&N.preventDefault(),D.pixelY>0&&q.scrollHeight-q.clientHeight>Y&&N.preventDefault(),q.scrollTop+=Math.ceil(D.pixelY/5)}else q.scrollLeft+=Math.ceil(D.pixelX/5)},resizeProxyVisible:l,bodyWidth:j,resizeState:u,doLayout:x,tableBodyStyles:C,tableLayout:K,scrollbarViewStyle:f,tableInnerStyle:B,scrollbarStyle:I}}function ote(e){const t=R(),n=()=>{const a=e.vnode.el.querySelector(".hidden-columns"),r={childList:!0,subtree:!0},l=e.store.states.updateOrderFns;t.value=new MutationObserver(()=>{l.forEach(i=>i())}),t.value.observe(a,r)};et(()=>{n()}),Ua(()=>{var o;(o=t.value)==null||o.disconnect()})}var ate={data:{type:Array,default:()=>[]},size:cn,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children"})},lazy:Boolean,load:Function,style:{type:Object,default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:[Boolean,Object]};function uy(e){const t=e.tableLayout==="auto";let n=e.columns||[];t&&n.every(a=>a.width===void 0)&&(n=[]);const o=a=>{const r={key:`${e.tableLayout}_${a.id}`,style:{},name:void 0};return t?r.style={width:`${a.width}px`}:r.name=a.id,r};return qe("colgroup",{},n.map(a=>qe("col",o(a))))}uy.props=["columns","tableLayout"];const rte=()=>{const e=R(),t=(r,l)=>{const i=e.value;i&&i.scrollTo(r,l)},n=(r,l)=>{const i=e.value;i&&Ye(l)&&["Top","Left"].includes(r)&&i[`setScroll${r}`](l)};return{scrollBarRef:e,scrollTo:t,setScrollTop:r=>n("Top",r),setScrollLeft:r=>n("Left",r)}};let lte=1;const ste=A({name:"ElTable",directives:{Mousewheel:UD},components:{TableHeader:qee,TableBody:Jee,TableFooter:ete,ElScrollbar:ha,hColgroup:uy},props:ate,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-contextmenu","cell-click","cell-dblclick","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change"],setup(e){const{t}=_t(),n=me("table"),o=rt();pt(Do,o);const a=Nee(o,e);o.store=a;const r=new Ree({store:o.store,table:o,fit:e.fit,showHeader:e.showHeader});o.layout=r;const l=S(()=>(a.states.data.value||[]).length===0),{setCurrentRow:i,getSelectionRows:u,toggleRowSelection:d,clearSelection:f,clearFilter:c,toggleAllSelection:p,toggleRowExpansion:h,clearSort:m,sort:v}=tte(a),{isHidden:_,renderExpanded:g,setDragVisible:w,isGroup:b,handleMouseLeave:C,handleHeaderFooterMousewheel:x,tableSize:E,emptyBlockStyle:O,handleFixedMousewheel:T,resizeProxyVisible:V,bodyWidth:L,resizeState:P,doLayout:z,tableBodyStyles:j,tableLayout:K,scrollbarViewStyle:F,tableInnerStyle:B,scrollbarStyle:I}=nte(e,r,a,o),{scrollBarRef:H,scrollTo:N,setScrollLeft:D,setScrollTop:q}=rte(),Y=Hn(z,50),J=`${n.namespace.value}-table_${lte++}`;o.tableId=J,o.state={isGroup:b,resizeState:P,doLayout:z,debouncedUpdateLayout:Y};const se=S(()=>e.sumText||t("el.table.sumText")),_e=S(()=>e.emptyText||t("el.table.emptyText"));return ote(o),{ns:n,layout:r,store:a,handleHeaderFooterMousewheel:x,handleMouseLeave:C,tableId:J,tableSize:E,isHidden:_,isEmpty:l,renderExpanded:g,resizeProxyVisible:V,resizeState:P,isGroup:b,bodyWidth:L,tableBodyStyles:j,emptyBlockStyle:O,debouncedUpdateLayout:Y,handleFixedMousewheel:T,setCurrentRow:i,getSelectionRows:u,toggleRowSelection:d,clearSelection:f,clearFilter:c,toggleAllSelection:p,toggleRowExpansion:h,clearSort:m,doLayout:z,sort:v,t,setDragVisible:w,context:o,computedSumText:se,computedEmptyText:_e,tableLayout:K,scrollbarViewStyle:F,tableInnerStyle:B,scrollbarStyle:I,scrollBarRef:H,scrollTo:N,setScrollLeft:D,setScrollTop:q}}}),ite=["data-prefix"],ute={ref:"hiddenColumns",class:"hidden-columns"};function cte(e,t,n,o,a,r){const l=nt("hColgroup"),i=nt("table-header"),u=nt("table-body"),d=nt("table-footer"),f=nt("el-scrollbar"),c=sc("mousewheel");return y(),M("div",{ref:"tableWrapper",class:$([{[e.ns.m("fit")]:e.fit,[e.ns.m("striped")]:e.stripe,[e.ns.m("border")]:e.border||e.isGroup,[e.ns.m("hidden")]:e.isHidden,[e.ns.m("group")]:e.isGroup,[e.ns.m("fluid-height")]:e.maxHeight,[e.ns.m("scrollable-x")]:e.layout.scrollX.value,[e.ns.m("scrollable-y")]:e.layout.scrollY.value,[e.ns.m("enable-row-hover")]:!e.store.states.isComplex.value,[e.ns.m("enable-row-transition")]:(e.store.states.data.value||[]).length!==0&&(e.store.states.data.value||[]).length<100,"has-footer":e.showSummary},e.ns.m(e.tableSize),e.className,e.ns.b(),e.ns.m(`layout-${e.tableLayout}`)]),style:De(e.style),"data-prefix":e.ns.namespace.value,onMouseleave:t[0]||(t[0]=(...p)=>e.handleMouseLeave&&e.handleMouseLeave(...p))},[k("div",{class:$(e.ns.e("inner-wrapper")),style:De(e.tableInnerStyle)},[k("div",ute,[re(e.$slots,"default")],512),e.showHeader&&e.tableLayout==="fixed"?Qe((y(),M("div",{key:0,ref:"headerWrapper",class:$(e.ns.e("header-wrapper"))},[k("table",{ref:"tableHeader",class:$(e.ns.e("header")),style:De(e.tableBodyStyles),border:"0",cellpadding:"0",cellspacing:"0"},[W(l,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),W(i,{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","onSetDragVisible"])],6)],2)),[[c,e.handleHeaderFooterMousewheel]]):Z("v-if",!0),k("div",{ref:"bodyWrapper",class:$(e.ns.e("body-wrapper"))},[W(f,{ref:"scrollBarRef","view-style":e.scrollbarViewStyle,"wrap-style":e.scrollbarStyle,always:e.scrollbarAlwaysOn},{default:G(()=>[k("table",{ref:"tableBody",class:$(e.ns.e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:De({width:e.bodyWidth,tableLayout:e.tableLayout})},[W(l,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),e.showHeader&&e.tableLayout==="auto"?(y(),oe(i,{key:0,ref:"tableHeaderRef",class:$(e.ns.e("body-header")),border:e.border,"default-sort":e.defaultSort,store:e.store,onSetDragVisible:e.setDragVisible},null,8,["class","border","default-sort","store","onSetDragVisible"])):Z("v-if",!0),W(u,{context:e.context,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":e.tooltipEffect,"tooltip-options":e.tooltipOptions,"row-style":e.rowStyle,store:e.store,stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&e.tableLayout==="auto"?(y(),oe(d,{key:1,class:$(e.ns.e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):Z("v-if",!0)],6),e.isEmpty?(y(),M("div",{key:0,ref:"emptyBlock",style:De(e.emptyBlockStyle),class:$(e.ns.e("empty-block"))},[k("span",{class:$(e.ns.e("empty-text"))},[re(e.$slots,"empty",{},()=>[vt(Me(e.computedEmptyText),1)])],2)],6)):Z("v-if",!0),e.$slots.append?(y(),M("div",{key:1,ref:"appendWrapper",class:$(e.ns.e("append-wrapper"))},[re(e.$slots,"append")],2)):Z("v-if",!0)]),_:3},8,["view-style","wrap-style","always"])],2),e.showSummary&&e.tableLayout==="fixed"?Qe((y(),M("div",{key:1,ref:"footerWrapper",class:$(e.ns.e("footer-wrapper"))},[k("table",{class:$(e.ns.e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:De(e.tableBodyStyles)},[W(l,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),W(d,{border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[bt,!e.isEmpty],[c,e.handleHeaderFooterMousewheel]]):Z("v-if",!0),e.border||e.isGroup?(y(),M("div",{key:2,class:$(e.ns.e("border-left-patch"))},null,2)):Z("v-if",!0)],6),Qe(k("div",{ref:"resizeProxy",class:$(e.ns.e("column-resize-proxy"))},null,2),[[bt,e.resizeProxyVisible]])],46,ite)}var dte=xe(ste,[["render",cte],["__file","table.vue"]]);const fte={selection:"table-column--selection",expand:"table__expand-column"},pte={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},vte=e=>fte[e]||"",hte={selection:{renderHeader({store:e,column:t}){function n(){return e.states.data.value&&e.states.data.value.length===0}return qe(vo,{disabled:n(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":e.toggleAllSelection,modelValue:e.states.isAllSelected.value,ariaLabel:t.label})},renderCell({row:e,column:t,store:n,$index:o}){return qe(vo,{disabled:t.selectable?!t.selectable.call(null,e,o):!1,size:n.states.tableSize.value,onChange:()=>{n.commit("rowSelectedChanged",e)},onClick:a=>a.stopPropagation(),modelValue:n.isSelected(e),ariaLabel:t.label})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let n=t+1;const o=e.index;return typeof o=="number"?n=t+o:typeof o=="function"&&(n=o(t)),qe("div",{},[n])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({row:e,store:t,expanded:n}){const{ns:o}=t,a=[o.e("expand-icon")];return n&&a.push(o.em("expand-icon","expanded")),qe("div",{class:a,onClick:function(l){l.stopPropagation(),t.toggleRowExpansion(e)}},{default:()=>[qe(Be,null,{default:()=>[qe(Sn)]})]})},sortable:!1,resizable:!1}};function mte({row:e,column:t,$index:n}){var o;const a=t.property,r=a&&Xi(e,a).value;return t&&t.formatter?t.formatter(e,t,r,n):((o=r==null?void 0:r.toString)==null?void 0:o.call(r))||""}function gte({row:e,treeNode:t,store:n},o=!1){const{ns:a}=n;if(!t)return o?[qe("span",{class:a.e("placeholder")})]:null;const r=[],l=function(i){i.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&r.push(qe("span",{class:a.e("indent"),style:{"padding-left":`${t.indent}px`}})),typeof t.expanded=="boolean"&&!t.noLazyChildren){const i=[a.e("expand-icon"),t.expanded?a.em("expand-icon","expanded"):""];let u=Sn;t.loading&&(u=pa),r.push(qe("div",{class:i,onClick:l},{default:()=>[qe(Be,{class:{[a.is("loading")]:t.loading}},{default:()=>[qe(u)]})]}))}else r.push(qe("span",{class:a.e("placeholder")}));return r}function Hh(e,t){return e.reduce((n,o)=>(n[o]=o,n),t)}function yte(e,t){const n=rt();return{registerComplexWatchers:()=>{const r=["fixed"],l={realWidth:"width",realMinWidth:"minWidth"},i=Hh(r,l);Object.keys(i).forEach(u=>{const d=l[u];yt(t,d)&&pe(()=>t[d],f=>{let c=f;d==="width"&&u==="realWidth"&&(c=ap(f)),d==="minWidth"&&u==="realMinWidth"&&(c=ny(f)),n.columnConfig.value[d]=c,n.columnConfig.value[u]=c;const p=d==="fixed";e.value.store.scheduleLayout(p)})})},registerNormalWatchers:()=>{const r=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip"],l={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},i=Hh(r,l);Object.keys(i).forEach(u=>{const d=l[u];yt(t,d)&&pe(()=>t[d],f=>{n.columnConfig.value[u]=f})})}}}function _te(e,t,n){const o=rt(),a=R(""),r=R(!1),l=R(),i=R(),u=me("table");gn(()=>{l.value=e.align?`is-${e.align}`:null,l.value}),gn(()=>{i.value=e.headerAlign?`is-${e.headerAlign}`:l.value,i.value});const d=S(()=>{let C=o.vnode.vParent||o.parent;for(;C&&!C.tableId&&!C.columnId;)C=C.vnode.vParent||C.parent;return C}),f=S(()=>{const{store:C}=o.parent;if(!C)return!1;const{treeData:x}=C.states,E=x.value;return E&&Object.keys(E).length>0}),c=R(ap(e.width)),p=R(ny(e.minWidth)),h=C=>(c.value&&(C.width=c.value),p.value&&(C.minWidth=p.value),!c.value&&p.value&&(C.width=void 0),C.minWidth||(C.minWidth=80),C.realWidth=Number(C.width===void 0?C.minWidth:C.width),C),m=C=>{const x=C.type,E=hte[x]||{};Object.keys(E).forEach(T=>{const V=E[T];T!=="className"&&V!==void 0&&(C[T]=V)});const O=vte(x);if(O){const T=`${s(u.namespace)}-${O}`;C.className=C.className?`${C.className} ${T}`:T}return C},v=C=>{Array.isArray(C)?C.forEach(E=>x(E)):x(C);function x(E){var O;((O=E==null?void 0:E.type)==null?void 0:O.name)==="ElTableColumn"&&(E.vParent=o)}};return{columnId:a,realAlign:l,isSubColumn:r,realHeaderAlign:i,columnOrTableParent:d,setColumnWidth:h,setColumnForcedProps:m,setColumnRenders:C=>{e.renderHeader||C.type!=="selection"&&(C.renderHeader=E=>(o.columnConfig.value.label,re(t,"header",E,()=>[C.label])));let x=C.renderCell;return C.type==="expand"?(C.renderCell=E=>qe("div",{class:"cell"},[x(E)]),n.value.renderExpanded=E=>t.default?t.default(E):t.default):(x=x||mte,C.renderCell=E=>{let O=null;if(t.default){const j=t.default(E);O=j.some(K=>K.type!==$n)?j:x(E)}else O=x(E);const{columns:T}=n.value.store.states,V=T.value.findIndex(j=>j.type==="default"),L=f.value&&E.cellIndex===V,P=gte(E,L),z={class:"cell",style:{}};return C.showOverflowTooltip&&(z.class=`${z.class} ${s(u.namespace)}-tooltip`,z.style={width:`${(E.column.realWidth||Number(E.column.width))-1}px`}),v(O),qe("div",z,[P,O])}),C},getPropsData:(...C)=>C.reduce((x,E)=>(Array.isArray(E)&&E.forEach(O=>{x[O]=e[O]}),x),{}),getColumnElIndex:(C,x)=>Array.prototype.indexOf.call(C,x),updateColumnOrder:()=>{n.value.store.commit("updateColumnOrder",o.columnConfig.value)}}}var bte={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}};let wte=1;var cy=A({name:"ElTableColumn",components:{ElCheckbox:vo},props:bte,setup(e,{slots:t}){const n=rt(),o=R({}),a=S(()=>{let b=n.parent;for(;b&&!b.tableId;)b=b.parent;return b}),{registerNormalWatchers:r,registerComplexWatchers:l}=yte(a,e),{columnId:i,isSubColumn:u,realHeaderAlign:d,columnOrTableParent:f,setColumnWidth:c,setColumnForcedProps:p,setColumnRenders:h,getPropsData:m,getColumnElIndex:v,realAlign:_,updateColumnOrder:g}=_te(e,t,a),w=f.value;i.value=`${w.tableId||w.columnId}_column_${wte++}`,cc(()=>{u.value=a.value!==w;const b=e.type||"default",C=e.sortable===""?!0:e.sortable,x=Zt(e.showOverflowTooltip)?w.props.showOverflowTooltip:e.showOverflowTooltip,E={...pte[b],id:i.value,type:b,property:e.prop||e.property,align:_,headerAlign:d,showOverflowTooltip:x,filterable:e.filters||e.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:C,index:e.index,rawColumnKey:n.vnode.key};let P=m(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);P=wee(E,P),P=See(h,c,p)(P),o.value=P,r(),l()}),et(()=>{var b;const C=f.value,x=u.value?C.vnode.el.children:(b=C.refs.hiddenColumns)==null?void 0:b.children,E=()=>v(x||[],n.vnode.el);o.value.getColumnIndex=E,E()>-1&&a.value.store.commit("insertColumn",o.value,u.value?C.columnConfig.value:null,g)}),It(()=>{a.value.store.commit("removeColumn",o.value,u.value?w.columnConfig.value:null,g)}),n.columnId=i.value,n.columnConfig=o},render(){var e,t,n;try{const o=(t=(e=this.$slots).default)==null?void 0:t.call(e,{row:{},column:{},$index:-1}),a=[];if(Array.isArray(o))for(const l of o)((n=l.type)==null?void 0:n.name)==="ElTableColumn"||l.shapeFlag&2?a.push(l):l.type===Fe&&Array.isArray(l.children)&&l.children.forEach(i=>{(i==null?void 0:i.patchFlag)!==1024&&!Ze(i==null?void 0:i.children)&&a.push(i)});return qe("div",a)}catch{return qe("div",[])}}});const dy=lt(dte,{TableColumn:cy}),fy=Dt(cy);var Fs=(e=>(e.ASC="asc",e.DESC="desc",e))(Fs||{}),Ks=(e=>(e.CENTER="center",e.RIGHT="right",e))(Ks||{}),py=(e=>(e.LEFT="left",e.RIGHT="right",e))(py||{});const Zf={asc:"desc",desc:"asc"},Ws=Symbol("placeholder"),Cte=(e,t,n)=>{var o;const a={flexGrow:0,flexShrink:0,...n?{}:{flexGrow:e.flexGrow||0,flexShrink:e.flexShrink||1}};n||(a.flexShrink=1);const r={...(o=e.style)!=null?o:{},...a,flexBasis:"auto",width:e.width};return t||(e.maxWidth&&(r.maxWidth=e.maxWidth),e.minWidth&&(r.minWidth=e.minWidth)),r};function Ste(e,t,n){const o=S(()=>s(t).filter(v=>!v.hidden)),a=S(()=>s(o).filter(v=>v.fixed==="left"||v.fixed===!0)),r=S(()=>s(o).filter(v=>v.fixed==="right")),l=S(()=>s(o).filter(v=>!v.fixed)),i=S(()=>{const v=[];return s(a).forEach(_=>{v.push({..._,placeholderSign:Ws})}),s(l).forEach(_=>{v.push(_)}),s(r).forEach(_=>{v.push({..._,placeholderSign:Ws})}),v}),u=S(()=>s(a).length||s(r).length),d=S(()=>s(t).reduce((_,g)=>(_[g.key]=Cte(g,s(n),e.fixed),_),{})),f=S(()=>s(o).reduce((v,_)=>v+_.width,0)),c=v=>s(t).find(_=>_.key===v),p=v=>s(d)[v],h=(v,_)=>{v.width=_};function m(v){var _;const{key:g}=v.currentTarget.dataset;if(!g)return;const{sortState:w,sortBy:b}=e;let C=Fs.ASC;ct(w)?C=Zf[w[g]]:C=Zf[b.order],(_=e.onColumnSort)==null||_.call(e,{column:c(g),key:g,order:C})}return{columns:t,columnsStyles:d,columnsTotalWidth:f,fixedColumnsOnLeft:a,fixedColumnsOnRight:r,hasFixedColumns:u,mainColumns:i,normalColumns:l,visibleColumns:o,getColumn:c,getColumnStyle:p,updateColumnWidth:h,onColumnSorted:m}}const kte=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:o,onMaybeEndReached:a})=>{const r=R({scrollLeft:0,scrollTop:0});function l(h){var m,v,_;const{scrollTop:g}=h;(m=t.value)==null||m.scrollTo(h),(v=n.value)==null||v.scrollToTop(g),(_=o.value)==null||_.scrollToTop(g)}function i(h){r.value=h,l(h)}function u(h){r.value.scrollTop=h,l(s(r))}function d(h){var m,v;r.value.scrollLeft=h,(v=(m=t.value)==null?void 0:m.scrollTo)==null||v.call(m,s(r))}function f(h){var m;i(h),(m=e.onScroll)==null||m.call(e,h)}function c({scrollTop:h}){const{scrollTop:m}=s(r);h!==m&&u(h)}function p(h,m="auto"){var v;(v=t.value)==null||v.scrollToRow(h,m)}return pe(()=>s(r).scrollTop,(h,m)=>{h>m&&a()}),{scrollPos:r,scrollTo:i,scrollToLeft:d,scrollToTop:u,scrollToRow:p,onScroll:f,onVerticalScroll:c}},Ete=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:o})=>{const a=rt(),{emit:r}=a,l=Rt(!1),i=Rt(null),u=R(e.defaultExpandedRowKeys||[]),d=R(-1),f=Rt(null),c=R({}),p=R({}),h=Rt({}),m=Rt({}),v=Rt({}),_=S(()=>Ye(e.estimatedRowHeight));function g(T){var V;(V=e.onRowsRendered)==null||V.call(e,T),T.rowCacheEnd>s(d)&&(d.value=T.rowCacheEnd)}function w({hovered:T,rowKey:V}){i.value=T?V:null}function b({expanded:T,rowData:V,rowIndex:L,rowKey:P}){var z,j;const K=[...s(u)],F=K.indexOf(P);T?F===-1&&K.push(P):F>-1&&K.splice(F,1),u.value=K,r("update:expandedRowKeys",K),(z=e.onRowExpand)==null||z.call(e,{expanded:T,rowData:V,rowIndex:L,rowKey:P}),(j=e.onExpandedRowsChange)==null||j.call(e,K)}const C=Hn(()=>{var T,V,L,P;l.value=!0,c.value={...s(c),...s(p)},x(s(f),!1),p.value={},f.value=null,(T=t.value)==null||T.forceUpdate(),(V=n.value)==null||V.forceUpdate(),(L=o.value)==null||L.forceUpdate(),(P=a.proxy)==null||P.$forceUpdate(),l.value=!1},0);function x(T,V=!1){s(_)&&[t,n,o].forEach(L=>{const P=s(L);P&&P.resetAfterRowIndex(T,V)})}function E(T,V,L){const P=s(f);(P===null||P>L)&&(f.value=L),p.value[T]=V}function O({rowKey:T,height:V,rowIndex:L},P){P?P===py.RIGHT?v.value[T]=V:h.value[T]=V:m.value[T]=V;const z=Math.max(...[h,v,m].map(j=>j.value[T]||0));s(c)[T]!==z&&(E(T,z,L),C())}return{hoveringRowKey:i,expandedRowKeys:u,lastRenderedRowIndex:d,isDynamic:_,isResetting:l,rowHeights:c,resetAfterIndex:x,onRowExpanded:b,onRowHovered:w,onRowsRendered:g,onRowHeightChange:O}},xte=(e,{expandedRowKeys:t,lastRenderedRowIndex:n,resetAfterIndex:o})=>{const a=R({}),r=S(()=>{const i={},{data:u,rowKey:d}=e,f=s(t);if(!f||!f.length)return u;const c=[],p=new Set;f.forEach(m=>p.add(m));let h=u.slice();for(h.forEach(m=>i[m[d]]=0);h.length>0;){const m=h.shift();c.push(m),p.has(m[d])&&Array.isArray(m.children)&&m.children.length>0&&(h=[...m.children,...h],m.children.forEach(v=>i[v[d]]=i[m[d]]+1))}return a.value=i,c}),l=S(()=>{const{data:i,expandColumnKey:u}=e;return u?s(r):i});return pe(l,(i,u)=>{i!==u&&(n.value=-1,o(0,!0))}),{data:l,depthMap:a}},Mte=(e,t)=>e+t,du=e=>Ie(e)?e.reduce(Mte,0):e,Nr=(e,t,n={})=>Xe(e)?e(t):e??n,Ia=e=>(["width","maxWidth","minWidth","height"].forEach(t=>{e[t]=Xt(e[t])}),e),vy=e=>zt(e)?t=>qe(e,t):e,$te=(e,{columnsTotalWidth:t,data:n,fixedColumnsOnLeft:o,fixedColumnsOnRight:a})=>{const r=S(()=>{const{fixed:b,width:C,vScrollbarSize:x}=e,E=C-x;return b?Math.max(Math.round(s(t)),E):E}),l=S(()=>s(r)+e.vScrollbarSize),i=S(()=>{const{height:b=0,maxHeight:C=0,footerHeight:x,hScrollbarSize:E}=e;if(C>0){const O=s(m),T=s(u),L=s(h)+O+T+E;return Math.min(L,C-x)}return b-x}),u=S(()=>{const{rowHeight:b,estimatedRowHeight:C}=e,x=s(n);return Ye(C)?x.length*C:x.length*b}),d=S(()=>{const{maxHeight:b}=e,C=s(i);if(Ye(b)&&b>0)return C;const x=s(u)+s(h)+s(m);return Math.min(C,x)}),f=b=>b.width,c=S(()=>du(s(o).map(f))),p=S(()=>du(s(a).map(f))),h=S(()=>du(e.headerHeight)),m=S(()=>{var b;return(((b=e.fixedData)==null?void 0:b.length)||0)*e.rowHeight}),v=S(()=>s(i)-s(h)-s(m)),_=S(()=>{const{style:b={},height:C,width:x}=e;return Ia({...b,height:C,width:x})}),g=S(()=>Ia({height:e.footerHeight})),w=S(()=>({top:Xt(s(h)),bottom:Xt(e.footerHeight),width:Xt(e.width)}));return{bodyWidth:r,fixedTableHeight:d,mainTableHeight:i,leftTableWidth:c,rightTableWidth:p,headerWidth:l,rowsHeight:u,windowHeight:v,footerHeight:g,emptyStyle:w,rootStyle:_,headerHeight:h}},Tte=e=>{const t=R(),n=R(0),o=R(0);let a;return et(()=>{a=Kt(t,([r])=>{const{width:l,height:i}=r.contentRect,{paddingLeft:u,paddingRight:d,paddingTop:f,paddingBottom:c}=getComputedStyle(r.target),p=Number.parseInt(u)||0,h=Number.parseInt(d)||0,m=Number.parseInt(f)||0,v=Number.parseInt(c)||0;n.value=l-p-h,o.value=i-m-v}).stop}),It(()=>{a==null||a()}),pe([n,o],([r,l])=>{var i;(i=e.onResize)==null||i.call(e,{width:r,height:l})}),{sizer:t,width:n,height:o}};function Ate(e){const t=R(),n=R(),o=R(),{columns:a,columnsStyles:r,columnsTotalWidth:l,fixedColumnsOnLeft:i,fixedColumnsOnRight:u,hasFixedColumns:d,mainColumns:f,onColumnSorted:c}=Ste(e,At(e,"columns"),At(e,"fixed")),{scrollTo:p,scrollToLeft:h,scrollToTop:m,scrollToRow:v,onScroll:_,onVerticalScroll:g,scrollPos:w}=kte(e,{mainTableRef:t,leftTableRef:n,rightTableRef:o,onMaybeEndReached:Ae}),{expandedRowKeys:b,hoveringRowKey:C,lastRenderedRowIndex:x,isDynamic:E,isResetting:O,rowHeights:T,resetAfterIndex:V,onRowExpanded:L,onRowHeightChange:P,onRowHovered:z,onRowsRendered:j}=Ete(e,{mainTableRef:t,leftTableRef:n,rightTableRef:o}),{data:K,depthMap:F}=xte(e,{expandedRowKeys:b,lastRenderedRowIndex:x,resetAfterIndex:V}),{bodyWidth:B,fixedTableHeight:I,mainTableHeight:H,leftTableWidth:N,rightTableWidth:D,headerWidth:q,rowsHeight:Y,windowHeight:J,footerHeight:se,emptyStyle:_e,rootStyle:Q,headerHeight:le}=$te(e,{columnsTotalWidth:l,data:K,fixedColumnsOnLeft:i,fixedColumnsOnRight:u}),ae=Rt(!1),Te=R(),ce=S(()=>{const U=s(K).length===0;return Ie(e.fixedData)?e.fixedData.length===0&&U:U});function ge(U){const{estimatedRowHeight:te,rowHeight:ve,rowKey:be}=e;return te?s(T)[s(K)[U][be]]||te:ve}function Ae(){const{onEndReached:U}=e;if(!U)return;const{scrollTop:te}=s(w),ve=s(Y),be=s(J),ue=ve-(te+be)+e.hScrollbarSize;s(x)>=0&&ve===te+s(H)-s(le)&&U(ue)}return pe(()=>e.expandedRowKeys,U=>b.value=U,{deep:!0}),{columns:a,containerRef:Te,mainTableRef:t,leftTableRef:n,rightTableRef:o,isDynamic:E,isResetting:O,isScrolling:ae,hoveringRowKey:C,hasFixedColumns:d,columnsStyles:r,columnsTotalWidth:l,data:K,expandedRowKeys:b,depthMap:F,fixedColumnsOnLeft:i,fixedColumnsOnRight:u,mainColumns:f,bodyWidth:B,emptyStyle:_e,rootStyle:Q,headerWidth:q,footerHeight:se,mainTableHeight:H,fixedTableHeight:I,leftTableWidth:N,rightTableWidth:D,showEmpty:ce,getRowHeight:ge,onColumnSorted:c,onRowHovered:z,onRowExpanded:L,onRowsRendered:j,onRowHeightChange:P,scrollTo:p,scrollToLeft:h,scrollToTop:m,scrollToRow:v,onScroll:_,onVerticalScroll:g}}const sp=Symbol("tableV2"),hy=String,ci={type:X(Array),required:!0},ip={type:X(Array)},my={...ip,required:!0},Ote=String,Dh={type:X(Array),default:()=>Ht([])},rr={type:Number,required:!0},gy={type:X([String,Number,Symbol]),default:"id"},Fh={type:X(Object)},fr=Ee({class:String,columns:ci,columnsStyles:{type:X(Object),required:!0},depth:Number,expandColumnKey:Ote,estimatedRowHeight:{...br.estimatedRowHeight,default:void 0},isScrolling:Boolean,onRowExpand:{type:X(Function)},onRowHover:{type:X(Function)},onRowHeightChange:{type:X(Function)},rowData:{type:X(Object),required:!0},rowEventHandlers:{type:X(Object)},rowIndex:{type:Number,required:!0},rowKey:gy,style:{type:X(Object)}}),Id={type:Number,required:!0},up=Ee({class:String,columns:ci,fixedHeaderData:{type:X(Array)},headerData:{type:X(Array),required:!0},headerHeight:{type:X([Number,Array]),default:50},rowWidth:Id,rowHeight:{type:Number,default:50},height:Id,width:Id}),fu=Ee({columns:ci,data:my,fixedData:ip,estimatedRowHeight:fr.estimatedRowHeight,width:rr,height:rr,headerWidth:rr,headerHeight:up.headerHeight,bodyWidth:rr,rowHeight:rr,cache:V8.cache,useIsScrolling:Boolean,scrollbarAlwaysOn:br.scrollbarAlwaysOn,scrollbarStartGap:br.scrollbarStartGap,scrollbarEndGap:br.scrollbarEndGap,class:hy,style:Fh,containerStyle:Fh,getRowHeight:{type:X(Function),required:!0},rowKey:fr.rowKey,onRowsRendered:{type:X(Function)},onScroll:{type:X(Function)}}),Nte=Ee({cache:fu.cache,estimatedRowHeight:fr.estimatedRowHeight,rowKey:gy,headerClass:{type:X([String,Function])},headerProps:{type:X([Object,Function])},headerCellProps:{type:X([Object,Function])},headerHeight:up.headerHeight,footerHeight:{type:Number,default:0},rowClass:{type:X([String,Function])},rowProps:{type:X([Object,Function])},rowHeight:{type:Number,default:50},cellProps:{type:X([Object,Function])},columns:ci,data:my,dataGetter:{type:X(Function)},fixedData:ip,expandColumnKey:fr.expandColumnKey,expandedRowKeys:Dh,defaultExpandedRowKeys:Dh,class:hy,fixed:Boolean,style:{type:X(Object)},width:rr,height:rr,maxHeight:Number,useIsScrolling:Boolean,indentSize:{type:Number,default:12},iconSize:{type:Number,default:12},hScrollbarSize:br.hScrollbarSize,vScrollbarSize:br.vScrollbarSize,scrollbarAlwaysOn:H8.alwaysOn,sortBy:{type:X(Object),default:()=>({})},sortState:{type:X(Object),default:void 0},onColumnSort:{type:X(Function)},onExpandedRowsChange:{type:X(Function)},onEndReached:{type:X(Function)},onRowExpand:fr.onRowExpand,onScroll:fu.onScroll,onRowsRendered:fu.onRowsRendered,rowEventHandlers:fr.rowEventHandlers}),cp=(e,{slots:t})=>{var n;const{cellData:o,style:a}=e,r=((n=o==null?void 0:o.toString)==null?void 0:n.call(o))||"",l=re(t,"default",e,()=>[r]);return W("div",{class:e.class,title:r,style:a},[l])};cp.displayName="ElTableV2Cell";cp.inheritAttrs=!1;const dp=(e,{slots:t})=>re(t,"default",e,()=>{var n,o;return[W("div",{class:e.class,title:(n=e.column)==null?void 0:n.title},[(o=e.column)==null?void 0:o.title])]});dp.displayName="ElTableV2HeaderCell";dp.inheritAttrs=!1;const Ite=Ee({class:String,columns:ci,columnsStyles:{type:X(Object),required:!0},headerIndex:Number,style:{type:X(Object)}}),Rte=A({name:"ElTableV2HeaderRow",props:Ite,setup(e,{slots:t}){return()=>{const{columns:n,columnsStyles:o,headerIndex:a,style:r}=e;let l=n.map((i,u)=>t.cell({columns:n,column:i,columnIndex:u,headerIndex:a,style:o[i.key]}));return t.header&&(l=t.header({cells:l.map(i=>Ie(i)&&i.length===1?i[0]:i),columns:n,headerIndex:a})),W("div",{class:e.class,style:r,role:"row"},[l])}}}),Pte="ElTableV2Header",Lte=A({name:Pte,props:up,setup(e,{slots:t,expose:n}){const o=me("table-v2"),a=R(),r=S(()=>Ia({width:e.width,height:e.height})),l=S(()=>Ia({width:e.rowWidth,height:e.height})),i=S(()=>kr(s(e.headerHeight))),u=c=>{const p=s(a);We(()=>{p!=null&&p.scroll&&p.scroll({left:c})})},d=()=>{const c=o.e("fixed-header-row"),{columns:p,fixedHeaderData:h,rowHeight:m}=e;return h==null?void 0:h.map((v,_)=>{var g;const w=Ia({height:m,width:"100%"});return(g=t.fixed)==null?void 0:g.call(t,{class:c,columns:p,rowData:v,rowIndex:-(_+1),style:w})})},f=()=>{const c=o.e("dynamic-header-row"),{columns:p}=e;return s(i).map((h,m)=>{var v;const _=Ia({width:"100%",height:h});return(v=t.dynamic)==null?void 0:v.call(t,{class:c,columns:p,headerIndex:m,style:_})})};return n({scrollToLeft:u}),()=>{if(!(e.height<=0))return W("div",{ref:a,class:e.class,style:s(r),role:"rowgroup"},[W("div",{style:s(l),class:o.e("header")},[f(),d()])])}}}),Vte=e=>{const{isScrolling:t}=Pe(sp),n=R(!1),o=R(),a=S(()=>Ye(e.estimatedRowHeight)&&e.rowIndex>=0),r=(u=!1)=>{const d=s(o);if(!d)return;const{columns:f,onRowHeightChange:c,rowKey:p,rowIndex:h,style:m}=e,{height:v}=d.getBoundingClientRect();n.value=!0,We(()=>{if(u||v!==Number.parseInt(m.height)){const _=f[0],g=(_==null?void 0:_.placeholderSign)===Ws;c==null||c({rowKey:p,height:v,rowIndex:h},_&&!g&&_.fixed)}})},l=S(()=>{const{rowData:u,rowIndex:d,rowKey:f,onRowHover:c}=e,p=e.rowEventHandlers||{},h={};return Object.entries(p).forEach(([m,v])=>{Xe(v)&&(h[m]=_=>{v({event:_,rowData:u,rowIndex:d,rowKey:f})})}),c&&[{name:"onMouseleave",hovered:!1},{name:"onMouseenter",hovered:!0}].forEach(({name:m,hovered:v})=>{const _=h[m];h[m]=g=>{c({event:g,hovered:v,rowData:u,rowIndex:d,rowKey:f}),_==null||_(g)}}),h}),i=u=>{const{onRowExpand:d,rowData:f,rowIndex:c,rowKey:p}=e;d==null||d({expanded:u,rowData:f,rowIndex:c,rowKey:p})};return et(()=>{s(a)&&r(!0)}),{isScrolling:t,measurable:a,measured:n,rowRef:o,eventHandlers:l,onExpand:i}},Bte="ElTableV2TableRow",zte=A({name:Bte,props:fr,setup(e,{expose:t,slots:n,attrs:o}){const{eventHandlers:a,isScrolling:r,measurable:l,measured:i,rowRef:u,onExpand:d}=Vte(e);return t({onExpand:d}),()=>{const{columns:f,columnsStyles:c,expandColumnKey:p,depth:h,rowData:m,rowIndex:v,style:_}=e;let g=f.map((w,b)=>{const C=Ie(m.children)&&m.children.length>0&&w.key===p;return n.cell({column:w,columns:f,columnIndex:b,depth:h,style:c[w.key],rowData:m,rowIndex:v,isScrolling:s(r),expandIconProps:C?{rowData:m,rowIndex:v,onExpand:d}:void 0})});if(n.row&&(g=n.row({cells:g.map(w=>Ie(w)&&w.length===1?w[0]:w),style:_,columns:f,depth:h,rowData:m,rowIndex:v,isScrolling:s(r)})),s(l)){const{height:w,...b}=_||{},C=s(i);return W("div",ft({ref:u,class:e.class,style:C?_:b,role:"row"},o,s(a)),[g])}return W("div",ft(o,{ref:u,class:e.class,style:_,role:"row"},s(a)),[g])}}}),Hte=e=>{const{sortOrder:t}=e;return W(Be,{size:14,class:e.class},{default:()=>[t===Fs.ASC?W(Yg,null,null):W(Ug,null,null)]})},Dte=e=>{const{expanded:t,expandable:n,onExpand:o,style:a,size:r}=e,l={onClick:n?()=>o(!t):void 0,class:e.class};return W(Be,ft(l,{size:r,style:a}),{default:()=>[W(Sn,null,null)]})},Fte="ElTableV2Grid",Kte=e=>{const t=R(),n=R(),o=S(()=>{const{data:v,rowHeight:_,estimatedRowHeight:g}=e;if(!g)return v.length*_}),a=S(()=>{const{fixedData:v,rowHeight:_}=e;return((v==null?void 0:v.length)||0)*_}),r=S(()=>du(e.headerHeight)),l=S(()=>{const{height:v}=e;return Math.max(0,v-s(r)-s(a))}),i=S(()=>s(r)+s(a)>0),u=({data:v,rowIndex:_})=>v[_][e.rowKey];function d({rowCacheStart:v,rowCacheEnd:_,rowVisibleStart:g,rowVisibleEnd:w}){var b;(b=e.onRowsRendered)==null||b.call(e,{rowCacheStart:v,rowCacheEnd:_,rowVisibleStart:g,rowVisibleEnd:w})}function f(v,_){var g;(g=n.value)==null||g.resetAfterRowIndex(v,_)}function c(v,_){const g=s(t),w=s(n);!g||!w||(ct(v)?(g.scrollToLeft(v.scrollLeft),w.scrollTo(v)):(g.scrollToLeft(v),w.scrollTo({scrollLeft:v,scrollTop:_})))}function p(v){var _;(_=s(n))==null||_.scrollTo({scrollTop:v})}function h(v,_){var g;(g=s(n))==null||g.scrollToItem(v,1,_)}function m(){var v,_;(v=s(n))==null||v.$forceUpdate(),(_=s(t))==null||_.$forceUpdate()}return{bodyRef:n,forceUpdate:m,fixedRowHeight:a,gridHeight:l,hasHeader:i,headerHeight:r,headerRef:t,totalHeight:o,itemKey:u,onItemRendered:d,resetAfterRowIndex:f,scrollTo:c,scrollToTop:p,scrollToRow:h}},fp=A({name:Fte,props:fu,setup(e,{slots:t,expose:n}){const{ns:o}=Pe(sp),{bodyRef:a,fixedRowHeight:r,gridHeight:l,hasHeader:i,headerRef:u,headerHeight:d,totalHeight:f,forceUpdate:c,itemKey:p,onItemRendered:h,resetAfterRowIndex:m,scrollTo:v,scrollToTop:_,scrollToRow:g}=Kte(e);n({forceUpdate:c,totalHeight:f,scrollTo:v,scrollToTop:_,scrollToRow:g,resetAfterRowIndex:m});const w=()=>e.bodyWidth;return()=>{const{cache:b,columns:C,data:x,fixedData:E,useIsScrolling:O,scrollbarAlwaysOn:T,scrollbarEndGap:V,scrollbarStartGap:L,style:P,rowHeight:z,bodyWidth:j,estimatedRowHeight:K,headerWidth:F,height:B,width:I,getRowHeight:H,onScroll:N}=e,D=Ye(K),q=D?AZ:xZ,Y=s(d);return W("div",{role:"table",class:[o.e("table"),e.class],style:P},[W(q,{ref:a,data:x,useIsScrolling:O,itemKey:p,columnCache:0,columnWidth:D?w:j,totalColumn:1,totalRow:x.length,rowCache:b,rowHeight:D?H:z,width:I,height:s(l),class:o.e("body"),role:"rowgroup",scrollbarStartGap:L,scrollbarEndGap:V,scrollbarAlwaysOn:T,onScroll:N,onItemRendered:h,perfMode:!1},{default:J=>{var se;const _e=x[J.rowIndex];return(se=t.row)==null?void 0:se.call(t,{...J,columns:C,rowData:_e})}}),s(i)&&W(Lte,{ref:u,class:o.e("header-wrapper"),columns:C,headerData:x,headerHeight:e.headerHeight,fixedHeaderData:E,rowWidth:F,rowHeight:z,width:I,height:Math.min(Y+s(r),B)},{dynamic:t.header,fixed:t.row})])}}});function Wte(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!zt(e)}const jte=(e,{slots:t})=>{const{mainTableRef:n,...o}=e;return W(fp,ft({ref:n},o),Wte(t)?t:{default:()=>[t]})};function qte(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!zt(e)}const Ute=(e,{slots:t})=>{if(!e.columns.length)return;const{leftTableRef:n,...o}=e;return W(fp,ft({ref:n},o),qte(t)?t:{default:()=>[t]})};function Yte(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!zt(e)}const Gte=(e,{slots:t})=>{if(!e.columns.length)return;const{rightTableRef:n,...o}=e;return W(fp,ft({ref:n},o),Yte(t)?t:{default:()=>[t]})};function Xte(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!zt(e)}const Jte=(e,{slots:t})=>{const{columns:n,columnsStyles:o,depthMap:a,expandColumnKey:r,expandedRowKeys:l,estimatedRowHeight:i,hasFixedColumns:u,hoveringRowKey:d,rowData:f,rowIndex:c,style:p,isScrolling:h,rowProps:m,rowClass:v,rowKey:_,rowEventHandlers:g,ns:w,onRowHovered:b,onRowExpanded:C}=e,x=Nr(v,{columns:n,rowData:f,rowIndex:c},""),E=Nr(m,{columns:n,rowData:f,rowIndex:c}),O=f[_],T=a[O]||0,V=!!r,L=c<0,P=[w.e("row"),x,{[w.e(`row-depth-${T}`)]:V&&c>=0,[w.is("expanded")]:V&&l.includes(O),[w.is("hovered")]:!h&&O===d,[w.is("fixed")]:!T&&L,[w.is("customized")]:!!t.row}],z=u?b:void 0,j={...E,columns:n,columnsStyles:o,class:P,depth:T,expandColumnKey:r,estimatedRowHeight:L?void 0:i,isScrolling:h,rowIndex:c,rowData:f,rowKey:O,rowEventHandlers:g,style:p};return W(zte,ft(j,{onRowHover:z,onRowExpand:C}),Xte(t)?t:{default:()=>[t]})},Qf=({columns:e,column:t,columnIndex:n,depth:o,expandIconProps:a,isScrolling:r,rowData:l,rowIndex:i,style:u,expandedRowKeys:d,ns:f,cellProps:c,expandColumnKey:p,indentSize:h,iconSize:m,rowKey:v},{slots:_})=>{const g=Ia(u);if(t.placeholderSign===Ws)return W("div",{class:f.em("row-cell","placeholder"),style:g},null);const{cellRenderer:w,dataKey:b,dataGetter:C}=t,x=Xe(C)?C({columns:e,column:t,columnIndex:n,rowData:l,rowIndex:i}):Gt(l,b??""),E=Nr(c,{cellData:x,columns:e,column:t,columnIndex:n,rowIndex:i,rowData:l}),O={class:f.e("cell-text"),columns:e,column:t,columnIndex:n,cellData:x,isScrolling:r,rowData:l,rowIndex:i},T=vy(w),V=T?T(O):re(_,"default",O,()=>[W(cp,O,null)]),L=[f.e("row-cell"),t.class,t.align===Ks.CENTER&&f.is("align-center"),t.align===Ks.RIGHT&&f.is("align-right")],P=i>=0&&p&&t.key===p,z=i>=0&&d.includes(l[v]);let j;const K=`margin-inline-start: ${o*h}px;`;return P&&(ct(a)?j=W(Dte,ft(a,{class:[f.e("expand-icon"),f.is("expanded",z)],size:m,expanded:z,style:K,expandable:!0}),null):j=W("div",{style:[K,`width: ${m}px; height: ${m}px;`].join(" ")},null)),W("div",ft({class:L,style:g},E,{role:"cell"}),[j,V])};Qf.inheritAttrs=!1;function Zte(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!zt(e)}const Qte=({columns:e,columnsStyles:t,headerIndex:n,style:o,headerClass:a,headerProps:r,ns:l},{slots:i})=>{const u={columns:e,headerIndex:n},d=[l.e("header-row"),Nr(a,u,""),{[l.is("customized")]:!!i.header}],f={...Nr(r,u),columnsStyles:t,class:d,columns:e,headerIndex:n,style:o};return W(Rte,f,Zte(i)?i:{default:()=>[i]})},Kh=(e,{slots:t})=>{const{column:n,ns:o,style:a,onColumnSorted:r}=e,l=Ia(a);if(n.placeholderSign===Ws)return W("div",{class:o.em("header-row-cell","placeholder"),style:l},null);const{headerCellRenderer:i,headerClass:u,sortable:d}=n,f={...e,class:o.e("header-cell-text")},c=vy(i),p=c?c(f):re(t,"default",f,()=>[W(dp,f,null)]),{sortBy:h,sortState:m,headerCellProps:v}=e;let _,g;if(m){const C=m[n.key];_=!!Zf[C],g=_?C:Fs.ASC}else _=n.key===h.key,g=_?h.order:Fs.ASC;const w=[o.e("header-cell"),Nr(u,e,""),n.align===Ks.CENTER&&o.is("align-center"),n.align===Ks.RIGHT&&o.is("align-right"),d&&o.is("sortable")],b={...Nr(v,e),onClick:n.sortable?r:void 0,class:w,style:l,"data-key":n.key};return W("div",ft(b,{role:"columnheader"}),[p,d&&W(Hte,{class:[o.e("sort-icon"),_&&o.is("sorting")],sortOrder:g},null)])},yy=(e,{slots:t})=>{var n;return W("div",{class:e.class,style:e.style},[(n=t.default)==null?void 0:n.call(t)])};yy.displayName="ElTableV2Footer";const _y=(e,{slots:t})=>{const n=re(t,"default",{},()=>[W(w8,null,null)]);return W("div",{class:e.class,style:e.style},[n])};_y.displayName="ElTableV2Empty";const by=(e,{slots:t})=>{var n;return W("div",{class:e.class,style:e.style},[(n=t.default)==null?void 0:n.call(t)])};by.displayName="ElTableV2Overlay";function Gl(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!zt(e)}const ene="ElTableV2",tne=A({name:ene,props:Nte,setup(e,{slots:t,expose:n}){const o=me("table-v2"),{columnsStyles:a,fixedColumnsOnLeft:r,fixedColumnsOnRight:l,mainColumns:i,mainTableHeight:u,fixedTableHeight:d,leftTableWidth:f,rightTableWidth:c,data:p,depthMap:h,expandedRowKeys:m,hasFixedColumns:v,hoveringRowKey:_,mainTableRef:g,leftTableRef:w,rightTableRef:b,isDynamic:C,isResetting:x,isScrolling:E,bodyWidth:O,emptyStyle:T,rootStyle:V,headerWidth:L,footerHeight:P,showEmpty:z,scrollTo:j,scrollToLeft:K,scrollToTop:F,scrollToRow:B,getRowHeight:I,onColumnSorted:H,onRowHeightChange:N,onRowHovered:D,onRowExpanded:q,onRowsRendered:Y,onScroll:J,onVerticalScroll:se}=Ate(e);return n({scrollTo:j,scrollToLeft:K,scrollToTop:F,scrollToRow:B}),pt(sp,{ns:o,isResetting:x,hoveringRowKey:_,isScrolling:E}),()=>{const{cache:_e,cellProps:Q,estimatedRowHeight:le,expandColumnKey:ae,fixedData:Te,headerHeight:ce,headerClass:ge,headerProps:Ae,headerCellProps:U,sortBy:te,sortState:ve,rowHeight:be,rowClass:ue,rowEventHandlers:ye,rowKey:we,rowProps:Ce,scrollbarAlwaysOn:he,indentSize:Se,iconSize:Re,useIsScrolling:He,vScrollbarSize:de,width:Le}=e,Ue=s(p),ot={cache:_e,class:o.e("main"),columns:s(i),data:Ue,fixedData:Te,estimatedRowHeight:le,bodyWidth:s(O)+de,headerHeight:ce,headerWidth:s(L),height:s(u),mainTableRef:g,rowKey:we,rowHeight:be,scrollbarAlwaysOn:he,scrollbarStartGap:2,scrollbarEndGap:de,useIsScrolling:He,width:Le,getRowHeight:I,onRowsRendered:Y,onScroll:J},dt=s(f),je=s(d),fe={cache:_e,class:o.e("left"),columns:s(r),data:Ue,estimatedRowHeight:le,leftTableRef:w,rowHeight:be,bodyWidth:dt,headerWidth:dt,headerHeight:ce,height:je,rowKey:we,scrollbarAlwaysOn:he,scrollbarStartGap:2,scrollbarEndGap:de,useIsScrolling:He,width:dt,getRowHeight:I,onScroll:se},ee=s(c)+de,ie={cache:_e,class:o.e("right"),columns:s(l),data:Ue,estimatedRowHeight:le,rightTableRef:b,rowHeight:be,bodyWidth:ee,headerWidth:ee,headerHeight:ce,height:je,rowKey:we,scrollbarAlwaysOn:he,scrollbarStartGap:2,scrollbarEndGap:de,width:ee,style:`--${s(o.namespace)}-table-scrollbar-size: ${de}px`,useIsScrolling:He,getRowHeight:I,onScroll:se},ke=s(a),ne={ns:o,depthMap:s(h),columnsStyles:ke,expandColumnKey:ae,expandedRowKeys:s(m),estimatedRowHeight:le,hasFixedColumns:s(v),hoveringRowKey:s(_),rowProps:Ce,rowClass:ue,rowKey:we,rowEventHandlers:ye,onRowHovered:D,onRowExpanded:q,onRowHeightChange:N},ze={cellProps:Q,expandColumnKey:ae,indentSize:Se,iconSize:Re,rowKey:we,expandedRowKeys:s(m),ns:o},tt={ns:o,headerClass:ge,headerProps:Ae,columnsStyles:ke},St={ns:o,sortBy:te,sortState:ve,headerCellProps:U,onColumnSorted:H},Ot={row:kt=>W(Jte,ft(kt,ne),{row:t.row,cell:Ft=>{let Fn;return t.cell?W(Qf,ft(Ft,ze,{style:ke[Ft.column.key]}),Gl(Fn=t.cell(Ft))?Fn:{default:()=>[Fn]}):W(Qf,ft(Ft,ze,{style:ke[Ft.column.key]}),null)}}),header:kt=>W(Qte,ft(kt,tt),{header:t.header,cell:Ft=>{let Fn;return t["header-cell"]?W(Kh,ft(Ft,St,{style:ke[Ft.column.key]}),Gl(Fn=t["header-cell"](Ft))?Fn:{default:()=>[Fn]}):W(Kh,ft(Ft,St,{style:ke[Ft.column.key]}),null)}})},ho=[e.class,o.b(),o.e("root"),{[o.is("dynamic")]:s(C)}],qt={class:o.e("footer"),style:s(P)};return W("div",{class:ho,style:s(V)},[W(jte,ot,Gl(Ot)?Ot:{default:()=>[Ot]}),W(Ute,fe,Gl(Ot)?Ot:{default:()=>[Ot]}),W(Gte,ie,Gl(Ot)?Ot:{default:()=>[Ot]}),t.footer&&W(yy,qt,{default:t.footer}),s(z)&&W(_y,{class:o.e("empty"),style:s(T)},{default:t.empty}),t.overlay&&W(by,{class:o.e("overlay")},{default:t.overlay})])}}}),nne=Ee({disableWidth:Boolean,disableHeight:Boolean,onResize:{type:X(Function)}}),one=A({name:"ElAutoResizer",props:nne,setup(e,{slots:t}){const n=me("auto-resizer"),{height:o,width:a,sizer:r}=Tte(e),l={width:"100%",height:"100%"};return()=>{var i;return W("div",{ref:r,class:n.b(),style:l},[(i=t.default)==null?void 0:i.call(t,{height:o.value,width:a.value})])}}}),ane=lt(tne),rne=lt(one),Dc=Symbol("tabsRootContextKey"),lne=Ee({tabs:{type:X(Array),default:()=>Ht([])}}),wy="ElTabBar",sne=A({name:wy}),ine=A({...sne,props:lne,setup(e,{expose:t}){const n=e,o=rt(),a=Pe(Dc);a||on(wy,"");const r=me("tabs"),l=R(),i=R(),u=()=>{let f=0,c=0;const p=["top","bottom"].includes(a.props.tabPosition)?"width":"height",h=p==="width"?"x":"y",m=h==="x"?"left":"top";return n.tabs.every(v=>{var _,g;const w=(g=(_=o.parent)==null?void 0:_.refs)==null?void 0:g[`tab-${v.uid}`];if(!w)return!1;if(!v.active)return!0;f=w[`offset${Ao(m)}`],c=w[`client${Ao(p)}`];const b=window.getComputedStyle(w);return p==="width"&&(n.tabs.length>1&&(c-=Number.parseFloat(b.paddingLeft)+Number.parseFloat(b.paddingRight)),f+=Number.parseFloat(b.paddingLeft)),!1}),{[p]:`${c}px`,transform:`translate${Ao(h)}(${f}px)`}},d=()=>i.value=u();return pe(()=>n.tabs,async()=>{await We(),d()},{immediate:!0}),Kt(l,()=>d()),t({ref:l,update:d}),(f,c)=>(y(),M("div",{ref_key:"barRef",ref:l,class:$([s(r).e("active-bar"),s(r).is(s(a).props.tabPosition)]),style:De(i.value)},null,6))}});var une=xe(ine,[["__file","tab-bar.vue"]]);const cne=Ee({panes:{type:X(Array),default:()=>Ht([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),dne={tabClick:(e,t,n)=>n instanceof Event,tabRemove:(e,t)=>t instanceof Event},Wh="ElTabNav",fne=A({name:Wh,props:cne,emits:dne,setup(e,{expose:t,emit:n}){const o=rt(),a=Pe(Dc);a||on(Wh,"");const r=me("tabs"),l=m5(),i=$5(),u=R(),d=R(),f=R(),c=R(),p=R(!1),h=R(0),m=R(!1),v=R(!0),_=S(()=>["top","bottom"].includes(a.props.tabPosition)?"width":"height"),g=S(()=>({transform:`translate${_.value==="width"?"X":"Y"}(-${h.value}px)`})),w=()=>{if(!u.value)return;const V=u.value[`offset${Ao(_.value)}`],L=h.value;if(!L)return;const P=L>V?L-V:0;h.value=P},b=()=>{if(!u.value||!d.value)return;const V=d.value[`offset${Ao(_.value)}`],L=u.value[`offset${Ao(_.value)}`],P=h.value;if(V-P<=L)return;const z=V-P>L*2?P+L:V-L;h.value=z},C=async()=>{const V=d.value;if(!p.value||!f.value||!u.value||!V)return;await We();const L=f.value.querySelector(".is-active");if(!L)return;const P=u.value,z=["top","bottom"].includes(a.props.tabPosition),j=L.getBoundingClientRect(),K=P.getBoundingClientRect(),F=z?V.offsetWidth-K.width:V.offsetHeight-K.height,B=h.value;let I=B;z?(j.leftK.right&&(I=B+j.right-K.right)):(j.topK.bottom&&(I=B+(j.bottom-K.bottom))),I=Math.max(I,0),h.value=Math.min(I,F)},x=()=>{var V;if(!d.value||!u.value)return;e.stretch&&((V=c.value)==null||V.update());const L=d.value[`offset${Ao(_.value)}`],P=u.value[`offset${Ao(_.value)}`],z=h.value;P0&&(h.value=0))},E=V=>{const L=V.code,{up:P,down:z,left:j,right:K}=Ke;if(![P,z,j,K].includes(L))return;const F=Array.from(V.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),B=F.indexOf(V.target);let I;L===j||L===P?B===0?I=F.length-1:I=B-1:B{v.value&&(m.value=!0)},T=()=>m.value=!1;return pe(l,V=>{V==="hidden"?v.value=!1:V==="visible"&&setTimeout(()=>v.value=!0,50)}),pe(i,V=>{V?setTimeout(()=>v.value=!0,50):v.value=!1}),Kt(f,x),et(()=>setTimeout(()=>C(),0)),ua(()=>x()),t({scrollToActiveTab:C,removeFocus:T}),pe(()=>e.panes,()=>o.update(),{flush:"post",deep:!0}),()=>{const V=p.value?[W("span",{class:[r.e("nav-prev"),r.is("disabled",!p.value.prev)],onClick:w},[W(Be,null,{default:()=>[W(aa,null,null)]})]),W("span",{class:[r.e("nav-next"),r.is("disabled",!p.value.next)],onClick:b},[W(Be,null,{default:()=>[W(Sn,null,null)]})])]:null,L=e.panes.map((P,z)=>{var j,K,F,B;const I=P.uid,H=P.props.disabled,N=(K=(j=P.props.name)!=null?j:P.index)!=null?K:`${z}`,D=!H&&(P.isClosable||e.editable);P.index=`${z}`;const q=D?W(Be,{class:"is-icon-close",onClick:se=>n("tabRemove",P,se)},{default:()=>[W(uo,null,null)]}):null,Y=((B=(F=P.slots).label)==null?void 0:B.call(F))||P.props.label,J=!H&&P.active?0:-1;return W("div",{ref:`tab-${I}`,class:[r.e("item"),r.is(a.props.tabPosition),r.is("active",P.active),r.is("disabled",H),r.is("closable",D),r.is("focus",m.value)],id:`tab-${N}`,key:`tab-${I}`,"aria-controls":`pane-${N}`,role:"tab","aria-selected":P.active,tabindex:J,onFocus:()=>O(),onBlur:()=>T(),onClick:se=>{T(),n("tabClick",P,N,se)},onKeydown:se=>{D&&(se.code===Ke.delete||se.code===Ke.backspace)&&n("tabRemove",P,se)}},[Y,q])});return W("div",{ref:f,class:[r.e("nav-wrap"),r.is("scrollable",!!p.value),r.is(a.props.tabPosition)]},[V,W("div",{class:r.e("nav-scroll"),ref:u},[W("div",{class:[r.e("nav"),r.is(a.props.tabPosition),r.is("stretch",e.stretch&&["top","bottom"].includes(a.props.tabPosition))],ref:d,style:g.value,role:"tablist",onKeydown:E},[e.type?null:W(une,{ref:c,tabs:[...e.panes]},null),L])])])}}}),pne=Ee({type:{type:String,values:["card","border-card",""],default:""},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:X(Function),default:()=>!0},stretch:Boolean}),Rd=e=>Ze(e)||Ye(e),vne={[it]:e=>Rd(e),tabClick:(e,t)=>t instanceof Event,tabChange:e=>Rd(e),edit:(e,t)=>["remove","add"].includes(t),tabRemove:e=>Rd(e),tabAdd:()=>!0},hne=A({name:"ElTabs",props:pne,emits:vne,setup(e,{emit:t,slots:n,expose:o}){var a;const r=me("tabs"),{children:l,addChild:i,removeChild:u}=I2(rt(),"ElTabPane"),d=R(),f=R((a=e.modelValue)!=null?a:"0"),c=async(v,_=!1)=>{var g,w,b;if(!(f.value===v||Zt(v)))try{await((g=e.beforeLeave)==null?void 0:g.call(e,v,f.value))!==!1&&(f.value=v,_&&(t(it,v),t("tabChange",v)),(b=(w=d.value)==null?void 0:w.removeFocus)==null||b.call(w))}catch{}},p=(v,_,g)=>{v.props.disabled||(c(_,!0),t("tabClick",v,g))},h=(v,_)=>{v.props.disabled||Zt(v.props.name)||(_.stopPropagation(),t("edit",v.props.name,"remove"),t("tabRemove",v.props.name))},m=()=>{t("edit",void 0,"add"),t("tabAdd")};return pe(()=>e.modelValue,v=>c(v)),pe(f,async()=>{var v;await We(),(v=d.value)==null||v.scrollToActiveTab()}),pt(Dc,{props:e,currentName:f,registerPane:i,unregisterPane:u}),o({currentName:f}),()=>{const v=n["add-icon"],_=e.editable||e.addable?W("span",{class:r.e("new-tab"),tabindex:"0",onClick:m,onKeydown:b=>{b.code===Ke.enter&&m()}},[v?re(n,"add-icon"):W(Be,{class:r.is("icon-plus")},{default:()=>[W(s2,null,null)]})]):null,g=W("div",{class:[r.e("header"),r.is(e.tabPosition)]},[_,W(fne,{ref:d,currentName:f.value,editable:e.editable,type:e.type,panes:l.value,stretch:e.stretch,onTabClick:p,onTabRemove:h},null)]),w=W("div",{class:r.e("content")},[re(n,"default")]);return W("div",{class:[r.b(),r.m(e.tabPosition),{[r.m("card")]:e.type==="card",[r.m("border-card")]:e.type==="border-card"}]},[...e.tabPosition!=="bottom"?[g,w]:[w,g]])}}}),mne=Ee({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),gne=["id","aria-hidden","aria-labelledby"],Cy="ElTabPane",yne=A({name:Cy}),_ne=A({...yne,props:mne,setup(e){const t=e,n=rt(),o=fn(),a=Pe(Dc);a||on(Cy,"usage: ");const r=me("tab-pane"),l=R(),i=S(()=>t.closable||a.props.closable),u=wv(()=>{var h;return a.currentName.value===((h=t.name)!=null?h:l.value)}),d=R(u.value),f=S(()=>{var h;return(h=t.name)!=null?h:l.value}),c=wv(()=>!t.lazy||d.value||u.value);pe(u,h=>{h&&(d.value=!0)});const p=wt({uid:n.uid,slots:o,props:t,paneName:f,active:u,index:l,isClosable:i});return et(()=>{a.registerPane(p)}),Ua(()=>{a.unregisterPane(p.uid)}),(h,m)=>s(c)?Qe((y(),M("div",{key:0,id:`pane-${s(f)}`,class:$(s(r).b()),role:"tabpanel","aria-hidden":!s(u),"aria-labelledby":`tab-${s(f)}`},[re(h.$slots,"default")],10,gne)),[[bt,s(u)]]):Z("v-if",!0)}});var Sy=xe(_ne,[["__file","tab-pane.vue"]]);const bne=lt(hne,{TabPane:Sy}),wne=Dt(Sy),Cne=Ee({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:zo,default:""},truncated:{type:Boolean},lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}}),Sne=A({name:"ElText"}),kne=A({...Sne,props:Cne,setup(e){const t=e,n=an(),o=me("text"),a=S(()=>[o.b(),o.m(t.type),o.m(n.value),o.is("truncated",t.truncated),o.is("line-clamp",!Zt(t.lineClamp))]);return(r,l)=>(y(),oe(ut(r.tag),{class:$(s(a)),style:De({"-webkit-line-clamp":r.lineClamp})},{default:G(()=>[re(r.$slots,"default")]),_:3},8,["class","style"]))}});var Ene=xe(kne,[["__file","text.vue"]]);const xne=lt(Ene),Mne=Ee({format:{type:String,default:"HH:mm"},modelValue:String,disabled:Boolean,editable:{type:Boolean,default:!0},effect:{type:String,default:"light"},clearable:{type:Boolean,default:!0},size:cn,placeholder:String,start:{type:String,default:"09:00"},end:{type:String,default:"18:00"},step:{type:String,default:"00:30"},minTime:String,maxTime:String,name:String,prefixIcon:{type:X([String,Object]),default:()=>l2},clearIcon:{type:X([String,Object]),default:()=>fa}}),Xo=e=>{const t=(e||"").split(":");if(t.length>=2){let n=Number.parseInt(t[0],10);const o=Number.parseInt(t[1],10),a=e.toUpperCase();return a.includes("AM")&&n===12?n=0:a.includes("PM")&&n!==12&&(n+=12),{hours:n,minutes:o}}return null},Pd=(e,t)=>{const n=Xo(e);if(!n)return-1;const o=Xo(t);if(!o)return-1;const a=n.minutes+n.hours*60,r=o.minutes+o.hours*60;return a===r?0:a>r?1:-1},jh=e=>`${e}`.padStart(2,"0"),Xr=e=>`${jh(e.hours)}:${jh(e.minutes)}`,$ne=(e,t)=>{const n=Xo(e);if(!n)return"";const o=Xo(t);if(!o)return"";const a={hours:n.hours,minutes:n.minutes};return a.minutes+=o.minutes,a.hours+=o.hours,a.hours+=Math.floor(a.minutes/60),a.minutes=a.minutes%60,Xr(a)},Tne=A({name:"ElTimeSelect"}),Ane=A({...Tne,props:Mne,emits:["change","blur","focus","update:modelValue"],setup(e,{expose:t}){const n=e;at.extend(H2);const{Option:o}=Or,a=me("input"),r=R(),l=Dn(),{lang:i}=_t(),u=S(()=>n.modelValue),d=S(()=>{const g=Xo(n.start);return g?Xr(g):null}),f=S(()=>{const g=Xo(n.end);return g?Xr(g):null}),c=S(()=>{const g=Xo(n.step);return g?Xr(g):null}),p=S(()=>{const g=Xo(n.minTime||"");return g?Xr(g):null}),h=S(()=>{const g=Xo(n.maxTime||"");return g?Xr(g):null}),m=S(()=>{const g=[];if(n.start&&n.end&&n.step){let w=d.value,b;for(;w&&f.value&&Pd(w,f.value)<=0;)b=at(w,"HH:mm").locale(i.value).format(n.format),g.push({value:b,disabled:Pd(w,p.value||"-1:-1")<=0||Pd(w,h.value||"100:100")>=0}),w=$ne(w,c.value)}return g});return t({blur:()=>{var g,w;(w=(g=r.value)==null?void 0:g.blur)==null||w.call(g)},focus:()=>{var g,w;(w=(g=r.value)==null?void 0:g.focus)==null||w.call(g)}}),(g,w)=>(y(),oe(s(Or),{ref_key:"select",ref:r,"model-value":s(u),disabled:s(l),clearable:g.clearable,"clear-icon":g.clearIcon,size:g.size,effect:g.effect,placeholder:g.placeholder,"default-first-option":"",filterable:g.editable,"onUpdate:modelValue":w[0]||(w[0]=b=>g.$emit("update:modelValue",b)),onChange:w[1]||(w[1]=b=>g.$emit("change",b)),onBlur:w[2]||(w[2]=b=>g.$emit("blur",b)),onFocus:w[3]||(w[3]=b=>g.$emit("focus",b))},{prefix:G(()=>[g.prefixIcon?(y(),oe(s(Be),{key:0,class:$(s(a).e("prefix-icon"))},{default:G(()=>[(y(),oe(ut(g.prefixIcon)))]),_:1},8,["class"])):Z("v-if",!0)]),default:G(()=>[(y(!0),M(Fe,null,mt(s(m),b=>(y(),oe(s(o),{key:b.value,label:b.value,value:b.value,disabled:b.disabled},null,8,["label","value","disabled"]))),128))]),_:1},8,["model-value","disabled","clearable","clear-icon","size","effect","placeholder","filterable"]))}});var pu=xe(Ane,[["__file","time-select.vue"]]);pu.install=e=>{e.component(pu.name,pu)};const One=pu,Nne=One,Ine=A({name:"ElTimeline",setup(e,{slots:t}){const n=me("timeline");return pt("timeline",t),()=>qe("ul",{class:[n.b()]},[re(t,"default")])}}),Rne=Ee({timestamp:{type:String,default:""},hideTimestamp:{type:Boolean,default:!1},center:{type:Boolean,default:!1},placement:{type:String,values:["top","bottom"],default:"bottom"},type:{type:String,values:["primary","success","warning","danger","info"],default:""},color:{type:String,default:""},size:{type:String,values:["normal","large"],default:"normal"},icon:{type:$t},hollow:{type:Boolean,default:!1}}),Pne=A({name:"ElTimelineItem"}),Lne=A({...Pne,props:Rne,setup(e){const t=e,n=me("timeline-item"),o=S(()=>[n.e("node"),n.em("node",t.size||""),n.em("node",t.type||""),n.is("hollow",t.hollow)]);return(a,r)=>(y(),M("li",{class:$([s(n).b(),{[s(n).e("center")]:a.center}])},[k("div",{class:$(s(n).e("tail"))},null,2),a.$slots.dot?Z("v-if",!0):(y(),M("div",{key:0,class:$(s(o)),style:De({backgroundColor:a.color})},[a.icon?(y(),oe(s(Be),{key:0,class:$(s(n).e("icon"))},{default:G(()=>[(y(),oe(ut(a.icon)))]),_:1},8,["class"])):Z("v-if",!0)],6)),a.$slots.dot?(y(),M("div",{key:1,class:$(s(n).e("dot"))},[re(a.$slots,"dot")],2)):Z("v-if",!0),k("div",{class:$(s(n).e("wrapper"))},[!a.hideTimestamp&&a.placement==="top"?(y(),M("div",{key:0,class:$([s(n).e("timestamp"),s(n).is("top")])},Me(a.timestamp),3)):Z("v-if",!0),k("div",{class:$(s(n).e("content"))},[re(a.$slots,"default")],2),!a.hideTimestamp&&a.placement==="bottom"?(y(),M("div",{key:1,class:$([s(n).e("timestamp"),s(n).is("bottom")])},Me(a.timestamp),3)):Z("v-if",!0)],2)],2))}});var ky=xe(Lne,[["__file","timeline-item.vue"]]);const Vne=lt(Ine,{TimelineItem:ky}),Bne=Dt(ky),Ey=Ee({nowrap:Boolean});var xy=(e=>(e.top="top",e.bottom="bottom",e.left="left",e.right="right",e))(xy||{});const zne=Object.values(xy),pp=Ee({width:{type:Number,default:10},height:{type:Number,default:10},style:{type:X(Object),default:null}}),Hne=Ee({side:{type:X(String),values:zne,required:!0}}),Dne=["absolute","fixed"],Fne=["top-start","top-end","top","bottom-start","bottom-end","bottom","left-start","left-end","left","right-start","right-end","right"],vp=Ee({ariaLabel:String,arrowPadding:{type:X(Number),default:5},effect:{type:String,default:""},contentClass:String,placement:{type:X(String),values:Fne,default:"bottom"},reference:{type:X(Object),default:null},offset:{type:Number,default:8},strategy:{type:X(String),values:Dne,default:"absolute"},showArrow:{type:Boolean,default:!1}}),hp=Ee({delayDuration:{type:Number,default:300},defaultOpen:Boolean,open:{type:Boolean,default:void 0},onOpenChange:{type:X(Function)},"onUpdate:open":{type:X(Function)}}),Ur={type:X(Function)},mp=Ee({onBlur:Ur,onClick:Ur,onFocus:Ur,onMouseDown:Ur,onMouseEnter:Ur,onMouseLeave:Ur}),Kne=Ee({...hp,...pp,...mp,...vp,alwaysOn:Boolean,fullTransition:Boolean,transitionProps:{type:X(Object),default:null},teleported:Boolean,to:{type:X(String),default:"body"}}),Fc=Symbol("tooltipV2"),My=Symbol("tooltipV2Content"),Ld="tooltip_v2.open",Wne=A({name:"ElTooltipV2Root"}),jne=A({...Wne,props:hp,setup(e,{expose:t}){const n=e,o=R(n.defaultOpen),a=R(null),r=S({get:()=>Er(n.open)?o.value:n.open,set:_=>{var g;o.value=_,(g=n["onUpdate:open"])==null||g.call(n,_)}}),l=S(()=>Ye(n.delayDuration)&&n.delayDuration>0),{start:i,stop:u}=Cr(()=>{r.value=!0},S(()=>n.delayDuration),{immediate:!1}),d=me("tooltip-v2"),f=kn(),c=()=>{u(),r.value=!0},p=()=>{s(l)?i():c()},h=c,m=()=>{u(),r.value=!1};return pe(r,_=>{var g;_&&(document.dispatchEvent(new CustomEvent(Ld)),h()),(g=n.onOpenChange)==null||g.call(n,_)}),et(()=>{document.addEventListener(Ld,m)}),It(()=>{u(),document.removeEventListener(Ld,m)}),pt(Fc,{contentId:f,triggerRef:a,ns:d,onClose:m,onDelayOpen:p,onOpen:h}),t({onOpen:h,onClose:m}),(_,g)=>re(_.$slots,"default",{open:s(r)})}});var qne=xe(jne,[["__file","root.vue"]]);const Une=A({name:"ElTooltipV2Arrow"}),Yne=A({...Une,props:{...pp,...Hne},setup(e){const t=e,{ns:n}=Pe(Fc),{arrowRef:o}=Pe(My),a=S(()=>{const{style:r,width:l,height:i}=t,u=n.namespace.value;return{[`--${u}-tooltip-v2-arrow-width`]:`${l}px`,[`--${u}-tooltip-v2-arrow-height`]:`${i}px`,[`--${u}-tooltip-v2-arrow-border-width`]:`${l/2}px`,[`--${u}-tooltip-v2-arrow-cover-width`]:l/2-1,...r||{}}});return(r,l)=>(y(),M("span",{ref_key:"arrowRef",ref:o,style:De(s(a)),class:$(s(n).e("arrow"))},null,6))}});var qh=xe(Yne,[["__file","arrow.vue"]]);const Gne=Ee({style:{type:X([String,Object,Array]),default:()=>({})}}),Xne=A({name:"ElVisuallyHidden"}),Jne=A({...Xne,props:Gne,setup(e){const t=e,n=S(()=>[t.style,{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}]);return(o,a)=>(y(),M("span",ft(o.$attrs,{style:s(n)}),[re(o.$slots,"default")],16))}});var Zne=xe(Jne,[["__file","visual-hidden.vue"]]);const Qne=["data-side"],eoe=A({name:"ElTooltipV2Content"}),toe=A({...eoe,props:{...vp,...Ey},setup(e){const t=e,{triggerRef:n,contentId:o}=Pe(Fc),a=R(t.placement),r=R(t.strategy),l=R(null),{referenceRef:i,contentRef:u,middlewareData:d,x:f,y:c,update:p}=IV({placement:a,strategy:r,middleware:S(()=>{const b=[S6(t.offset)];return t.showArrow&&b.push(RV({arrowRef:l})),b})}),h=zl().nextZIndex(),m=me("tooltip-v2"),v=S(()=>a.value.split("-")[0]),_=S(()=>({position:s(r),top:`${s(c)||0}px`,left:`${s(f)||0}px`,zIndex:h})),g=S(()=>{if(!t.showArrow)return{};const{arrow:b}=s(d);return{[`--${m.namespace.value}-tooltip-v2-arrow-x`]:`${b==null?void 0:b.x}px`||"",[`--${m.namespace.value}-tooltip-v2-arrow-y`]:`${b==null?void 0:b.y}px`||""}}),w=S(()=>[m.e("content"),m.is("dark",t.effect==="dark"),m.is(s(r)),t.contentClass]);return pe(l,()=>p()),pe(()=>t.placement,b=>a.value=b),et(()=>{pe(()=>t.reference||n.value,b=>{i.value=b||void 0},{immediate:!0})}),pt(My,{arrowRef:l}),(b,C)=>(y(),M("div",{ref_key:"contentRef",ref:u,style:De(s(_)),"data-tooltip-v2-root":""},[b.nowrap?Z("v-if",!0):(y(),M("div",{key:0,"data-side":s(v),class:$(s(w))},[re(b.$slots,"default",{contentStyle:s(_),contentClass:s(w)}),W(s(Zne),{id:s(o),role:"tooltip"},{default:G(()=>[b.ariaLabel?(y(),M(Fe,{key:0},[vt(Me(b.ariaLabel),1)],64)):re(b.$slots,"default",{key:1})]),_:3},8,["id"]),re(b.$slots,"arrow",{style:De(s(g)),side:s(v)})],10,Qne))],4))}});var Uh=xe(toe,[["__file","content.vue"]]);const noe=Ee({setRef:{type:X(Function),required:!0},onlyChild:Boolean});var ooe=A({props:noe,setup(e,{slots:t}){const n=R(),o=xc(n,a=>{a?e.setRef(a.nextElementSibling):e.setRef(null)});return()=>{var a;const[r]=((a=t.default)==null?void 0:a.call(t))||[],l=e.onlyChild?TP(r.children):r.children;return W(Fe,{ref:o},[l])}}});const aoe=A({name:"ElTooltipV2Trigger"}),roe=A({...aoe,props:{...Ey,...mp},setup(e){const t=e,{onClose:n,onOpen:o,onDelayOpen:a,triggerRef:r,contentId:l}=Pe(Fc);let i=!1;const u=w=>{r.value=w},d=()=>{i=!1},f=jt(t.onMouseEnter,a),c=jt(t.onMouseLeave,n),p=jt(t.onMouseDown,()=>{n(),i=!0,document.addEventListener("mouseup",d,{once:!0})}),h=jt(t.onFocus,()=>{i||o()}),m=jt(t.onBlur,n),v=jt(t.onClick,w=>{w.detail===0&&n()}),_={blur:m,click:v,focus:h,mousedown:p,mouseenter:f,mouseleave:c},g=(w,b,C)=>{w&&Object.entries(b).forEach(([x,E])=>{w[C](x,E)})};return pe(r,(w,b)=>{g(w,_,"addEventListener"),g(b,_,"removeEventListener"),w&&w.setAttribute("aria-describedby",l.value)}),It(()=>{g(r.value,_,"removeEventListener"),document.removeEventListener("mouseup",d)}),(w,b)=>w.nowrap?(y(),oe(s(ooe),{key:0,"set-ref":u,"only-child":""},{default:G(()=>[re(w.$slots,"default")]),_:3})):(y(),M("button",ft({key:1,ref_key:"triggerRef",ref:r},w.$attrs),[re(w.$slots,"default")],16))}});var loe=xe(roe,[["__file","trigger.vue"]]);const soe=A({name:"ElTooltipV2"}),ioe=A({...soe,props:Kne,setup(e){const n=un(e),o=wt(Zo(n,Object.keys(pp))),a=wt(Zo(n,Object.keys(vp))),r=wt(Zo(n,Object.keys(hp))),l=wt(Zo(n,Object.keys(mp)));return(i,u)=>(y(),oe(qne,Jo(pl(r)),{default:G(({open:d})=>[W(loe,ft(l,{nowrap:""}),{default:G(()=>[re(i.$slots,"trigger")]),_:3},16),(y(),oe(Nl,{to:i.to,disabled:!i.teleported},[i.fullTransition?(y(),oe(nn,Jo(ft({key:0},i.transitionProps)),{default:G(()=>[i.alwaysOn||d?(y(),oe(Uh,Jo(ft({key:0},a)),{arrow:G(({style:f,side:c})=>[i.showArrow?(y(),oe(qh,ft({key:0},o,{style:f,side:c}),null,16,["style","side"])):Z("v-if",!0)]),default:G(()=>[re(i.$slots,"default")]),_:3},16)):Z("v-if",!0)]),_:2},1040)):(y(),M(Fe,{key:1},[i.alwaysOn||d?(y(),oe(Uh,Jo(ft({key:0},a)),{arrow:G(({style:f,side:c})=>[i.showArrow?(y(),oe(qh,ft({key:0},o,{style:f,side:c}),null,16,["style","side"])):Z("v-if",!0)]),default:G(()=>[re(i.$slots,"default")]),_:3},16)):Z("v-if",!0)],64))],8,["to","disabled"]))]),_:3},16))}});var uoe=xe(ioe,[["__file","tooltip.vue"]]);const coe=lt(uoe),$y="left-check-change",Ty="right-check-change",Jr=Ee({data:{type:X(Array),default:()=>[]},titles:{type:X(Array),default:()=>[]},buttonTexts:{type:X(Array),default:()=>[]},filterPlaceholder:String,filterMethod:{type:X(Function)},leftDefaultChecked:{type:X(Array),default:()=>[]},rightDefaultChecked:{type:X(Array),default:()=>[]},renderContent:{type:X(Function)},modelValue:{type:X(Array),default:()=>[]},format:{type:X(Object),default:()=>({})},filterable:Boolean,props:{type:X(Object),default:()=>Ht({label:"label",key:"key",disabled:"disabled"})},targetOrder:{type:String,values:["original","push","unshift"],default:"original"},validateEvent:{type:Boolean,default:!0}}),e0=(e,t)=>[e,t].every(Ie)||Ie(e)&&tn(t),doe={[Bt]:(e,t,n)=>[e,n].every(Ie)&&["left","right"].includes(t),[it]:e=>Ie(e),[$y]:e0,[Ty]:e0},t0="checked-change",foe=Ee({data:Jr.data,optionRender:{type:X(Function)},placeholder:String,title:String,filterable:Boolean,format:Jr.format,filterMethod:Jr.filterMethod,defaultChecked:Jr.leftDefaultChecked,props:Jr.props}),poe={[t0]:e0},di=e=>{const t={label:"label",key:"key",disabled:"disabled"};return S(()=>({...t,...e.props}))},voe=(e,t,n)=>{const o=di(e),a=S(()=>e.data.filter(f=>Xe(e.filterMethod)?e.filterMethod(t.query,f):String(f[o.value.label]||f[o.value.key]).toLowerCase().includes(t.query.toLowerCase()))),r=S(()=>a.value.filter(f=>!f[o.value.disabled])),l=S(()=>{const f=t.checked.length,c=e.data.length,{noChecked:p,hasChecked:h}=e.format;return p&&h?f>0?h.replace(/\${checked}/g,f.toString()).replace(/\${total}/g,c.toString()):p.replace(/\${total}/g,c.toString()):`${f}/${c}`}),i=S(()=>{const f=t.checked.length;return f>0&&f{const f=r.value.map(c=>c[o.value.key]);t.allChecked=f.length>0&&f.every(c=>t.checked.includes(c))},d=f=>{t.checked=f?r.value.map(c=>c[o.value.key]):[]};return pe(()=>t.checked,(f,c)=>{if(u(),t.checkChangeByUser){const p=f.concat(c).filter(h=>!f.includes(h)||!c.includes(h));n(t0,f,p)}else n(t0,f),t.checkChangeByUser=!0}),pe(r,()=>{u()}),pe(()=>e.data,()=>{const f=[],c=a.value.map(p=>p[o.value.key]);t.checked.forEach(p=>{c.includes(p)&&f.push(p)}),t.checkChangeByUser=!1,t.checked=f}),pe(()=>e.defaultChecked,(f,c)=>{if(c&&f.length===c.length&&f.every(m=>c.includes(m)))return;const p=[],h=r.value.map(m=>m[o.value.key]);f.forEach(m=>{h.includes(m)&&p.push(m)}),t.checkChangeByUser=!1,t.checked=p},{immediate:!0}),{filteredData:a,checkableData:r,checkedSummary:l,isIndeterminate:i,updateAllChecked:u,handleAllCheckedChange:d}},hoe=(e,t)=>({onSourceCheckedChange:(a,r)=>{e.leftChecked=a,r&&t($y,a,r)},onTargetCheckedChange:(a,r)=>{e.rightChecked=a,r&&t(Ty,a,r)}}),moe=e=>{const t=di(e),n=S(()=>e.data.reduce((r,l)=>(r[l[t.value.key]]=l)&&r,{})),o=S(()=>e.data.filter(r=>!e.modelValue.includes(r[t.value.key]))),a=S(()=>e.targetOrder==="original"?e.data.filter(r=>e.modelValue.includes(r[t.value.key])):e.modelValue.reduce((r,l)=>{const i=n.value[l];return i&&r.push(i),r},[]));return{sourceData:o,targetData:a}},goe=(e,t,n)=>{const o=di(e),a=(i,u,d)=>{n(it,i),n(Bt,i,u,d)};return{addToLeft:()=>{const i=e.modelValue.slice();t.rightChecked.forEach(u=>{const d=i.indexOf(u);d>-1&&i.splice(d,1)}),a(i,"left",t.rightChecked)},addToRight:()=>{let i=e.modelValue.slice();const u=e.data.filter(d=>{const f=d[o.value.key];return t.leftChecked.includes(f)&&!e.modelValue.includes(f)}).map(d=>d[o.value.key]);i=e.targetOrder==="unshift"?u.concat(i):i.concat(u),e.targetOrder==="original"&&(i=e.data.filter(d=>i.includes(d[o.value.key])).map(d=>d[o.value.key])),a(i,"right",t.leftChecked)}}},yoe=A({name:"ElTransferPanel"}),_oe=A({...yoe,props:foe,emits:poe,setup(e,{expose:t,emit:n}){const o=e,a=fn(),r=({option:b})=>b,{t:l}=_t(),i=me("transfer"),u=wt({checked:[],allChecked:!1,query:"",checkChangeByUser:!0}),d=di(o),{filteredData:f,checkedSummary:c,isIndeterminate:p,handleAllCheckedChange:h}=voe(o,u,n),m=S(()=>!Qn(u.query)&&Qn(f.value)),v=S(()=>!Qn(a.default()[0].children)),{checked:_,allChecked:g,query:w}=un(u);return t({query:w}),(b,C)=>(y(),M("div",{class:$(s(i).b("panel"))},[k("p",{class:$(s(i).be("panel","header"))},[W(s(vo),{modelValue:s(g),"onUpdate:modelValue":C[0]||(C[0]=x=>Pt(g)?g.value=x:null),indeterminate:s(p),"validate-event":!1,onChange:s(h)},{default:G(()=>[vt(Me(b.title)+" ",1),k("span",null,Me(s(c)),1)]),_:1},8,["modelValue","indeterminate","onChange"])],2),k("div",{class:$([s(i).be("panel","body"),s(i).is("with-footer",s(v))])},[b.filterable?(y(),oe(s(mn),{key:0,modelValue:s(w),"onUpdate:modelValue":C[1]||(C[1]=x=>Pt(w)?w.value=x:null),class:$(s(i).be("panel","filter")),size:"default",placeholder:b.placeholder,"prefix-icon":s(qg),clearable:"","validate-event":!1},null,8,["modelValue","class","placeholder","prefix-icon"])):Z("v-if",!0),Qe(W(s(N3),{modelValue:s(_),"onUpdate:modelValue":C[2]||(C[2]=x=>Pt(_)?_.value=x:null),"validate-event":!1,class:$([s(i).is("filterable",b.filterable),s(i).be("panel","list")])},{default:G(()=>[(y(!0),M(Fe,null,mt(s(f),x=>(y(),oe(s(vo),{key:x[s(d).key],class:$(s(i).be("panel","item")),value:x[s(d).key],disabled:x[s(d).disabled],"validate-event":!1},{default:G(()=>{var E;return[W(r,{option:(E=b.optionRender)==null?void 0:E.call(b,x)},null,8,["option"])]}),_:2},1032,["class","value","disabled"]))),128))]),_:1},8,["modelValue","class"]),[[bt,!s(m)&&!s(Qn)(b.data)]]),Qe(k("p",{class:$(s(i).be("panel","empty"))},Me(s(m)?s(l)("el.transfer.noMatch"):s(l)("el.transfer.noData")),3),[[bt,s(m)||s(Qn)(b.data)]])],2),s(v)?(y(),M("p",{key:0,class:$(s(i).be("panel","footer"))},[re(b.$slots,"default")],2)):Z("v-if",!0)],2))}});var Yh=xe(_oe,[["__file","transfer-panel.vue"]]);const boe={key:0},woe={key:0},Coe=A({name:"ElTransfer"}),Soe=A({...Coe,props:Jr,emits:doe,setup(e,{expose:t,emit:n}){const o=e,a=fn(),{t:r}=_t(),l=me("transfer"),{formItem:i}=Nn(),u=wt({leftChecked:[],rightChecked:[]}),d=di(o),{sourceData:f,targetData:c}=moe(o),{onSourceCheckedChange:p,onTargetCheckedChange:h}=hoe(u,n),{addToLeft:m,addToRight:v}=goe(o,u,n),_=R(),g=R(),w=T=>{switch(T){case"left":_.value.query="";break;case"right":g.value.query="";break}},b=S(()=>o.buttonTexts.length===2),C=S(()=>o.titles[0]||r("el.transfer.titles.0")),x=S(()=>o.titles[1]||r("el.transfer.titles.1")),E=S(()=>o.filterPlaceholder||r("el.transfer.filterPlaceholder"));pe(()=>o.modelValue,()=>{var T;o.validateEvent&&((T=i==null?void 0:i.validate)==null||T.call(i,"change").catch(V=>void 0))});const O=S(()=>T=>o.renderContent?o.renderContent(qe,T):a.default?a.default({option:T}):qe("span",T[d.value.label]||T[d.value.key]));return t({clearQuery:w,leftPanel:_,rightPanel:g}),(T,V)=>(y(),M("div",{class:$(s(l).b())},[W(Yh,{ref_key:"leftPanel",ref:_,data:s(f),"option-render":s(O),placeholder:s(E),title:s(C),filterable:T.filterable,format:T.format,"filter-method":T.filterMethod,"default-checked":T.leftDefaultChecked,props:o.props,onCheckedChange:s(p)},{default:G(()=>[re(T.$slots,"left-footer")]),_:3},8,["data","option-render","placeholder","title","filterable","format","filter-method","default-checked","props","onCheckedChange"]),k("div",{class:$(s(l).e("buttons"))},[W(s(rn),{type:"primary",class:$([s(l).e("button"),s(l).is("with-texts",s(b))]),disabled:s(Qn)(u.rightChecked),onClick:s(m)},{default:G(()=>[W(s(Be),null,{default:G(()=>[W(s(aa))]),_:1}),s(Zt)(T.buttonTexts[0])?Z("v-if",!0):(y(),M("span",boe,Me(T.buttonTexts[0]),1))]),_:1},8,["class","disabled","onClick"]),W(s(rn),{type:"primary",class:$([s(l).e("button"),s(l).is("with-texts",s(b))]),disabled:s(Qn)(u.leftChecked),onClick:s(v)},{default:G(()=>[s(Zt)(T.buttonTexts[1])?Z("v-if",!0):(y(),M("span",woe,Me(T.buttonTexts[1]),1)),W(s(Be),null,{default:G(()=>[W(s(Sn))]),_:1})]),_:1},8,["class","disabled","onClick"])],2),W(Yh,{ref_key:"rightPanel",ref:g,data:s(c),"option-render":s(O),placeholder:s(E),filterable:T.filterable,format:T.format,"filter-method":T.filterMethod,title:s(x),"default-checked":T.rightDefaultChecked,props:o.props,onCheckedChange:s(h)},{default:G(()=>[re(T.$slots,"right-footer")]),_:3},8,["data","option-render","placeholder","filterable","format","filter-method","title","default-checked","props","onCheckedChange"])],2))}});var koe=xe(Soe,[["__file","transfer.vue"]]);const Eoe=lt(koe),cl="$treeNodeId",Gh=function(e,t){!t||t[cl]||Object.defineProperty(t,cl,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},gp=function(e,t){return e?t[e]:t[cl]},n0=(e,t,n)=>{const o=e.value.currentNode;n();const a=e.value.currentNode;o!==a&&t("current-change",a?a.data:null,a)},o0=e=>{let t=!0,n=!0,o=!0;for(let a=0,r=e.length;a"u"){const r=o[t];return r===void 0?"":r}};let xoe=0,a0=class vu{constructor(t){this.id=xoe++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,this.canFocus=!1;for(const n in t)yt(t,n)&&(this[n]=t[n]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){const t=this.store;if(!t)throw new Error("[Node]store is required!");t.registerNode(this);const n=t.props;if(n&&typeof n.isLeaf<"u"){const r=Hi(this,"isLeaf");typeof r=="boolean"&&(this.isLeafByUser=r)}if(t.lazy!==!0&&this.data?(this.setData(this.data),t.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&t.lazy&&t.defaultExpandAll&&this.expand(),Array.isArray(this.data)||Gh(this,this.data),!this.data)return;const o=t.defaultExpandedKeys,a=t.key;a&&o&&o.includes(this.key)&&this.expand(null,t.autoExpandParent),a&&t.currentNodeKey!==void 0&&this.key===t.currentNodeKey&&(t.currentNode=this,t.currentNode.isCurrent=!0),t.lazy&&t._initDefaultCheckedNode(this),this.updateLeafState(),this.parent&&(this.level===1||this.parent.expanded===!0)&&(this.canFocus=!0)}setData(t){Array.isArray(t)||Gh(this,t),this.data=t,this.childNodes=[];let n;this.level===0&&Array.isArray(this.data)?n=this.data:n=Hi(this,"children")||[];for(let o=0,a=n.length;o-1)return t.childNodes[n+1]}return null}get previousSibling(){const t=this.parent;if(t){const n=t.childNodes.indexOf(this);if(n>-1)return n>0?t.childNodes[n-1]:null}return null}contains(t,n=!0){return(this.childNodes||[]).some(o=>o===t||n&&o.contains(t))}remove(){const t=this.parent;t&&t.removeChild(this)}insertChild(t,n,o){if(!t)throw new Error("InsertChild error: child is required.");if(!(t instanceof vu)){if(!o){const a=this.getChildren(!0);a.includes(t.data)||(typeof n>"u"||n<0?a.push(t.data):a.splice(n,0,t.data))}Object.assign(t,{parent:this,store:this.store}),t=wt(new vu(t)),t instanceof vu&&t.initialize()}t.level=this.level+1,typeof n>"u"||n<0?this.childNodes.push(t):this.childNodes.splice(n,0,t),this.updateLeafState()}insertBefore(t,n){let o;n&&(o=this.childNodes.indexOf(n)),this.insertChild(t,o)}insertAfter(t,n){let o;n&&(o=this.childNodes.indexOf(n),o!==-1&&(o+=1)),this.insertChild(t,o)}removeChild(t){const n=this.getChildren()||[],o=n.indexOf(t.data);o>-1&&n.splice(o,1);const a=this.childNodes.indexOf(t);a>-1&&(this.store&&this.store.deregisterNode(t),t.parent=null,this.childNodes.splice(a,1)),this.updateLeafState()}removeChildByData(t){let n=null;for(let o=0;o{if(n){let a=this.parent;for(;a.level>0;)a.expanded=!0,a=a.parent}this.expanded=!0,t&&t(),this.childNodes.forEach(a=>{a.canFocus=!0})};this.shouldLoadData()?this.loadData(a=>{Array.isArray(a)&&(this.checked?this.setChecked(!0,!0):this.store.checkStrictly||ts(this),o())}):o()}doCreateChildren(t,n={}){t.forEach(o=>{this.insertChild(Object.assign({data:o},n),void 0,!0)})}collapse(){this.expanded=!1,this.childNodes.forEach(t=>{t.canFocus=!1})}shouldLoadData(){return this.store.lazy===!0&&this.store.load&&!this.loaded}updateLeafState(){if(this.store.lazy===!0&&this.loaded!==!0&&typeof this.isLeafByUser<"u"){this.isLeaf=this.isLeafByUser;return}const t=this.childNodes;if(!this.store.lazy||this.store.lazy===!0&&this.loaded===!0){this.isLeaf=!t||t.length===0;return}this.isLeaf=!1}setChecked(t,n,o,a){if(this.indeterminate=t==="half",this.checked=t===!0,this.store.checkStrictly)return;if(!(this.shouldLoadData()&&!this.store.checkDescendants)){const{all:l,allWithoutDisable:i}=o0(this.childNodes);!this.isLeaf&&!l&&i&&(this.checked=!1,t=!1);const u=()=>{if(n){const d=this.childNodes;for(let p=0,h=d.length;p{u(),ts(this)},{checked:t!==!1});return}else u()}const r=this.parent;!r||r.level===0||o||ts(r)}getChildren(t=!1){if(this.level===0)return this.data;const n=this.data;if(!n)return null;const o=this.store.props;let a="children";return o&&(a=o.children||"children"),n[a]===void 0&&(n[a]=null),t&&!n[a]&&(n[a]=[]),n[a]}updateChildren(){const t=this.getChildren()||[],n=this.childNodes.map(r=>r.data),o={},a=[];t.forEach((r,l)=>{const i=r[cl];!!i&&n.findIndex(d=>d[cl]===i)>=0?o[i]={index:l,data:r}:a.push({index:l,data:r})}),this.store.lazy||n.forEach(r=>{o[r[cl]]||this.removeChildByData(r)}),a.forEach(({index:r,data:l})=>{this.insertChild({data:l},r)}),this.updateLeafState()}loadData(t,n={}){if(this.store.lazy===!0&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(n).length)){this.loading=!0;const o=r=>{this.childNodes=[],this.doCreateChildren(r,n),this.loaded=!0,this.loading=!1,this.updateLeafState(),t&&t.call(this,r)},a=()=>{this.loading=!1};this.store.load(this,o,a)}else t&&t.call(this)}eachNode(t){const n=[this];for(;n.length;){const o=n.shift();n.unshift(...o.childNodes),t(o)}}reInitChecked(){this.store.checkStrictly||ts(this)}};class Moe{constructor(t){this.currentNode=null,this.currentNodeKey=null;for(const n in t)yt(t,n)&&(this[n]=t[n]);this.nodesMap={}}initialize(){if(this.root=new a0({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){const t=this.load;t(this.root,n=>{this.root.doCreateChildren(n),this._initDefaultCheckedNodes()})}else this._initDefaultCheckedNodes()}filter(t){const n=this.filterNodeMethod,o=this.lazy,a=function(r){const l=r.root?r.root.childNodes:r.childNodes;if(l.forEach(i=>{i.visible=n.call(i,t,i.data,i),a(i)}),!r.visible&&l.length){let i=!0;i=!l.some(u=>u.visible),r.root?r.root.visible=i===!1:r.visible=i===!1}t&&r.visible&&!r.isLeaf&&(!o||r.loaded)&&r.expand()};a(this)}setData(t){t!==this.root.data?(this.root.setData(t),this._initDefaultCheckedNodes()):this.root.updateChildren()}getNode(t){if(t instanceof a0)return t;const n=ct(t)?gp(this.key,t):t;return this.nodesMap[n]||null}insertBefore(t,n){const o=this.getNode(n);o.parent.insertBefore({data:t},o)}insertAfter(t,n){const o=this.getNode(n);o.parent.insertAfter({data:t},o)}remove(t){const n=this.getNode(t);n&&n.parent&&(n===this.currentNode&&(this.currentNode=null),n.parent.removeChild(n))}append(t,n){const o=Er(n)?this.root:this.getNode(n);o&&o.insertChild({data:t})}_initDefaultCheckedNodes(){const t=this.defaultCheckedKeys||[],n=this.nodesMap;t.forEach(o=>{const a=n[o];a&&a.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(t){(this.defaultCheckedKeys||[]).includes(t.key)&&t.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(t){t!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=t,this._initDefaultCheckedNodes())}registerNode(t){const n=this.key;!t||!t.data||(n?t.key!==void 0&&(this.nodesMap[t.key]=t):this.nodesMap[t.id]=t)}deregisterNode(t){!this.key||!t||!t.data||(t.childNodes.forEach(o=>{this.deregisterNode(o)}),delete this.nodesMap[t.key])}getCheckedNodes(t=!1,n=!1){const o=[],a=function(r){(r.root?r.root.childNodes:r.childNodes).forEach(i=>{(i.checked||n&&i.indeterminate)&&(!t||t&&i.isLeaf)&&o.push(i.data),a(i)})};return a(this),o}getCheckedKeys(t=!1){return this.getCheckedNodes(t).map(n=>(n||{})[this.key])}getHalfCheckedNodes(){const t=[],n=function(o){(o.root?o.root.childNodes:o.childNodes).forEach(r=>{r.indeterminate&&t.push(r.data),n(r)})};return n(this),t}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(t=>(t||{})[this.key])}_getAllNodes(){const t=[],n=this.nodesMap;for(const o in n)yt(n,o)&&t.push(n[o]);return t}updateChildren(t,n){const o=this.nodesMap[t];if(!o)return;const a=o.childNodes;for(let r=a.length-1;r>=0;r--){const l=a[r];this.remove(l.data)}for(let r=0,l=n.length;ru.level-d.level),r=Object.create(null),l=Object.keys(o);a.forEach(u=>u.setChecked(!1,!1));const i=u=>{u.childNodes.forEach(d=>{var f;r[d.data[t]]=!0,(f=d.childNodes)!=null&&f.length&&i(d)})};for(let u=0,d=a.length;u{_.isLeaf||_.setChecked(!1,!1),h(_)})};h(f)}}}setCheckedNodes(t,n=!1){const o=this.key,a={};t.forEach(r=>{a[(r||{})[o]]=!0}),this._setCheckedKeys(o,n,a)}setCheckedKeys(t,n=!1){this.defaultCheckedKeys=t;const o=this.key,a={};t.forEach(r=>{a[r]=!0}),this._setCheckedKeys(o,n,a)}setDefaultExpandedKeys(t){t=t||[],this.defaultExpandedKeys=t,t.forEach(n=>{const o=this.getNode(n);o&&o.expand(null,this.autoExpandParent)})}setChecked(t,n,o){const a=this.getNode(t);a&&a.setChecked(!!n,o)}getCurrentNode(){return this.currentNode}setCurrentNode(t){const n=this.currentNode;n&&(n.isCurrent=!1),this.currentNode=t,this.currentNode.isCurrent=!0}setUserCurrentNode(t,n=!0){const o=t[this.key],a=this.nodesMap[o];this.setCurrentNode(a),n&&this.currentNode.level>1&&this.currentNode.parent.expand(null,!0)}setCurrentNodeKey(t,n=!0){if(t==null){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}const o=this.getNode(t);o&&(this.setCurrentNode(o),n&&this.currentNode.level>1&&this.currentNode.parent.expand(null,!0))}}const $oe=A({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(e){const t=me("tree"),n=Pe("NodeInstance"),o=Pe("RootTree");return()=>{const a=e.node,{data:r,store:l}=a;return e.renderContent?e.renderContent(qe,{_self:n,node:a,data:r,store:l}):re(o.ctx.slots,"default",{node:a,data:r},()=>[qe("span",{class:t.be("node","label")},[a.label])])}}});var Toe=xe($oe,[["__file","tree-node-content.vue"]]);function Ay(e){const t=Pe("TreeNodeMap",null),n={treeNodeExpand:o=>{e.node!==o&&e.node.collapse()},children:[]};return t&&t.children.push(n),pt("TreeNodeMap",n),{broadcastExpanded:o=>{if(e.accordion)for(const a of n.children)a.treeNodeExpand(o)}}}const Oy=Symbol("dragEvents");function Aoe({props:e,ctx:t,el$:n,dropIndicator$:o,store:a}){const r=me("tree"),l=R({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return pt(Oy,{treeNodeDragStart:({event:f,treeNode:c})=>{if(typeof e.allowDrag=="function"&&!e.allowDrag(c.node))return f.preventDefault(),!1;f.dataTransfer.effectAllowed="move";try{f.dataTransfer.setData("text/plain","")}catch{}l.value.draggingNode=c,t.emit("node-drag-start",c.node,f)},treeNodeDragOver:({event:f,treeNode:c})=>{const p=c,h=l.value.dropNode;h&&h.node.id!==p.node.id&&Cn(h.$el,r.is("drop-inner"));const m=l.value.draggingNode;if(!m||!p)return;let v=!0,_=!0,g=!0,w=!0;typeof e.allowDrop=="function"&&(v=e.allowDrop(m.node,p.node,"prev"),w=_=e.allowDrop(m.node,p.node,"inner"),g=e.allowDrop(m.node,p.node,"next")),f.dataTransfer.dropEffect=_||v||g?"move":"none",(v||_||g)&&(h==null?void 0:h.node.id)!==p.node.id&&(h&&t.emit("node-drag-leave",m.node,h.node,f),t.emit("node-drag-enter",m.node,p.node,f)),v||_||g?l.value.dropNode=p:l.value.dropNode=null,p.node.nextSibling===m.node&&(g=!1),p.node.previousSibling===m.node&&(v=!1),p.node.contains(m.node,!1)&&(_=!1),(m.node===p.node||m.node.contains(p.node))&&(v=!1,_=!1,g=!1);const b=p.$el.querySelector(`.${r.be("node","content")}`).getBoundingClientRect(),C=n.value.getBoundingClientRect();let x;const E=v?_?.25:g?.45:1:-1,O=g?_?.75:v?.55:0:1;let T=-9999;const V=f.clientY-b.top;Vb.height*O?x="after":_?x="inner":x="none";const L=p.$el.querySelector(`.${r.be("node","expand-icon")}`).getBoundingClientRect(),P=o.value;x==="before"?T=L.top-C.top:x==="after"&&(T=L.bottom-C.top),P.style.top=`${T}px`,P.style.left=`${L.right-C.left}px`,x==="inner"?eo(p.$el,r.is("drop-inner")):Cn(p.$el,r.is("drop-inner")),l.value.showDropIndicator=x==="before"||x==="after",l.value.allowDrop=l.value.showDropIndicator||w,l.value.dropType=x,t.emit("node-drag-over",m.node,p.node,f)},treeNodeDragEnd:f=>{const{draggingNode:c,dropType:p,dropNode:h}=l.value;if(f.preventDefault(),f.dataTransfer.dropEffect="move",c&&h){const m={data:c.node.data};p!=="none"&&c.node.remove(),p==="before"?h.node.parent.insertBefore(m,h.node):p==="after"?h.node.parent.insertAfter(m,h.node):p==="inner"&&h.node.insertChild(m),p!=="none"&&(a.value.registerNode(m),a.value.key&&c.node.eachNode(v=>{var _;(_=a.value.nodesMap[v.data[a.value.key]])==null||_.setChecked(v.checked,!a.value.checkStrictly)})),Cn(h.$el,r.is("drop-inner")),t.emit("node-drag-end",c.node,h.node,p,f),p!=="none"&&t.emit("node-drop",c.node,h.node,p,f)}c&&!h&&t.emit("node-drag-end",c.node,null,p,f),l.value.showDropIndicator=!1,l.value.draggingNode=null,l.value.dropNode=null,l.value.allowDrop=!0}}),{dragState:l}}const Ooe=A({name:"ElTreeNode",components:{ElCollapseTransition:Vc,ElCheckbox:vo,NodeContent:Toe,ElIcon:Be,Loading:pa},props:{node:{type:a0,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:{type:Boolean,default:!1}},emits:["node-expand"],setup(e,t){const n=me("tree"),{broadcastExpanded:o}=Ay(e),a=Pe("RootTree"),r=R(!1),l=R(!1),i=R(null),u=R(null),d=R(null),f=Pe(Oy),c=rt();pt("NodeInstance",c),e.node.expanded&&(r.value=!0,l.value=!0);const p=a.props.props.children||"children";pe(()=>{const V=e.node.data[p];return V&&[...V]},()=>{e.node.updateChildren()}),pe(()=>e.node.indeterminate,V=>{v(e.node.checked,V)}),pe(()=>e.node.checked,V=>{v(V,e.node.indeterminate)}),pe(()=>e.node.childNodes.length,()=>e.node.reInitChecked()),pe(()=>e.node.expanded,V=>{We(()=>r.value=V),V&&(l.value=!0)});const h=V=>gp(a.props.nodeKey,V.data),m=V=>{const L=e.props.class;if(!L)return{};let P;if(Xe(L)){const{data:z}=V;P=L(z,V)}else P=L;return Ze(P)?{[P]:!0}:P},v=(V,L)=>{(i.value!==V||u.value!==L)&&a.ctx.emit("check-change",e.node.data,V,L),i.value=V,u.value=L},_=V=>{n0(a.store,a.ctx.emit,()=>a.store.value.setCurrentNode(e.node)),a.currentNode.value=e.node,a.props.expandOnClickNode&&w(),a.props.checkOnClickNode&&!e.node.disabled&&b(null,{target:{checked:!e.node.checked}}),a.ctx.emit("node-click",e.node.data,e.node,c,V)},g=V=>{a.instance.vnode.props.onNodeContextmenu&&(V.stopPropagation(),V.preventDefault()),a.ctx.emit("node-contextmenu",V,e.node.data,e.node,c)},w=()=>{e.node.isLeaf||(r.value?(a.ctx.emit("node-collapse",e.node.data,e.node,c),e.node.collapse()):(e.node.expand(),t.emit("node-expand",e.node.data,e.node,c)))},b=(V,L)=>{e.node.setChecked(L.target.checked,!a.props.checkStrictly),We(()=>{const P=a.store.value;a.ctx.emit("check",e.node.data,{checkedNodes:P.getCheckedNodes(),checkedKeys:P.getCheckedKeys(),halfCheckedNodes:P.getHalfCheckedNodes(),halfCheckedKeys:P.getHalfCheckedKeys()})})};return{ns:n,node$:d,tree:a,expanded:r,childNodeRendered:l,oldChecked:i,oldIndeterminate:u,getNodeKey:h,getNodeClass:m,handleSelectChange:v,handleClick:_,handleContextMenu:g,handleExpandIconClick:w,handleCheckChange:b,handleChildNodeExpand:(V,L,P)=>{o(L),a.ctx.emit("node-expand",V,L,P)},handleDragStart:V=>{a.props.draggable&&f.treeNodeDragStart({event:V,treeNode:e})},handleDragOver:V=>{V.preventDefault(),a.props.draggable&&f.treeNodeDragOver({event:V,treeNode:{$el:d.value,node:e.node}})},handleDrop:V=>{V.preventDefault()},handleDragEnd:V=>{a.props.draggable&&f.treeNodeDragEnd(V)},CaretRight:r2}}}),Noe=["aria-expanded","aria-disabled","aria-checked","draggable","data-key"],Ioe=["aria-expanded"];function Roe(e,t,n,o,a,r){const l=nt("el-icon"),i=nt("el-checkbox"),u=nt("loading"),d=nt("node-content"),f=nt("el-tree-node"),c=nt("el-collapse-transition");return Qe((y(),M("div",{ref:"node$",class:$([e.ns.b("node"),e.ns.is("expanded",e.expanded),e.ns.is("current",e.node.isCurrent),e.ns.is("hidden",!e.node.visible),e.ns.is("focusable",!e.node.disabled),e.ns.is("checked",!e.node.disabled&&e.node.checked),e.getNodeClass(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.node.disabled,"aria-checked":e.node.checked,draggable:e.tree.props.draggable,"data-key":e.getNodeKey(e.node),onClick:t[1]||(t[1]=Ge((...p)=>e.handleClick&&e.handleClick(...p),["stop"])),onContextmenu:t[2]||(t[2]=(...p)=>e.handleContextMenu&&e.handleContextMenu(...p)),onDragstart:t[3]||(t[3]=Ge((...p)=>e.handleDragStart&&e.handleDragStart(...p),["stop"])),onDragover:t[4]||(t[4]=Ge((...p)=>e.handleDragOver&&e.handleDragOver(...p),["stop"])),onDragend:t[5]||(t[5]=Ge((...p)=>e.handleDragEnd&&e.handleDragEnd(...p),["stop"])),onDrop:t[6]||(t[6]=Ge((...p)=>e.handleDrop&&e.handleDrop(...p),["stop"]))},[k("div",{class:$(e.ns.be("node","content")),style:De({paddingLeft:(e.node.level-1)*e.tree.props.indent+"px"})},[e.tree.props.icon||e.CaretRight?(y(),oe(l,{key:0,class:$([e.ns.be("node","expand-icon"),e.ns.is("leaf",e.node.isLeaf),{expanded:!e.node.isLeaf&&e.expanded}]),onClick:Ge(e.handleExpandIconClick,["stop"])},{default:G(()=>[(y(),oe(ut(e.tree.props.icon||e.CaretRight)))]),_:1},8,["class","onClick"])):Z("v-if",!0),e.showCheckbox?(y(),oe(i,{key:1,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:!!e.node.disabled,onClick:t[0]||(t[0]=Ge(()=>{},["stop"])),onChange:e.handleCheckChange},null,8,["model-value","indeterminate","disabled","onChange"])):Z("v-if",!0),e.node.loading?(y(),oe(l,{key:2,class:$([e.ns.be("node","loading-icon"),e.ns.is("loading")])},{default:G(()=>[W(u)]),_:1},8,["class"])):Z("v-if",!0),W(d,{node:e.node,"render-content":e.renderContent},null,8,["node","render-content"])],6),W(c,null,{default:G(()=>[!e.renderAfterExpand||e.childNodeRendered?Qe((y(),M("div",{key:0,class:$(e.ns.be("node","children")),role:"group","aria-expanded":e.expanded},[(y(!0),M(Fe,null,mt(e.node.childNodes,p=>(y(),oe(f,{key:e.getNodeKey(p),"render-content":e.renderContent,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,node:p,accordion:e.accordion,props:e.props,onNodeExpand:e.handleChildNodeExpand},null,8,["render-content","render-after-expand","show-checkbox","node","accordion","props","onNodeExpand"]))),128))],10,Ioe)),[[bt,e.expanded]]):Z("v-if",!0)]),_:1})],42,Noe)),[[bt,e.node.visible]])}var Poe=xe(Ooe,[["render",Roe],["__file","tree-node.vue"]]);function Loe({el$:e},t){const n=me("tree"),o=Rt([]),a=Rt([]);et(()=>{l()}),ua(()=>{o.value=Array.from(e.value.querySelectorAll("[role=treeitem]")),a.value=Array.from(e.value.querySelectorAll("input[type=checkbox]"))}),pe(a,i=>{i.forEach(u=>{u.setAttribute("tabindex","-1")})}),Vt(e,"keydown",i=>{const u=i.target;if(!u.className.includes(n.b("node")))return;const d=i.code;o.value=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`));const f=o.value.indexOf(u);let c;if([Ke.up,Ke.down].includes(d)){if(i.preventDefault(),d===Ke.up){c=f===-1?0:f!==0?f-1:o.value.length-1;const h=c;for(;!t.value.getNode(o.value[c].dataset.key).canFocus;){if(c--,c===h){c=-1;break}c<0&&(c=o.value.length-1)}}else{c=f===-1?0:f=o.value.length&&(c=0)}}c!==-1&&o.value[c].focus()}[Ke.left,Ke.right].includes(d)&&(i.preventDefault(),u.click());const p=u.querySelector('[type="checkbox"]');[Ke.enter,Ke.space].includes(d)&&p&&(i.preventDefault(),p.click())});const l=()=>{var i;o.value=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`)),a.value=Array.from(e.value.querySelectorAll("input[type=checkbox]"));const u=e.value.querySelectorAll(`.${n.is("checked")}[role=treeitem]`);if(u.length){u[0].setAttribute("tabindex","0");return}(i=o.value[0])==null||i.setAttribute("tabindex","0")}}const Voe=A({name:"ElTree",components:{ElTreeNode:Poe},props:{data:{type:Array,default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkDescendants:{type:Boolean,default:!1},autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:Array,defaultExpandedKeys:Array,currentNodeKey:[String,Number],renderContent:Function,showCheckbox:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},allowDrag:Function,allowDrop:Function,props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:{type:Boolean,default:!1},highlightCurrent:Boolean,load:Function,filterNodeMethod:Function,accordion:Boolean,indent:{type:Number,default:18},icon:{type:$t}},emits:["check-change","current-change","node-click","node-contextmenu","node-collapse","node-expand","check","node-drag-start","node-drag-end","node-drop","node-drag-leave","node-drag-enter","node-drag-over"],setup(e,t){const{t:n}=_t(),o=me("tree"),a=R(new Moe({key:e.nodeKey,data:e.data,lazy:e.lazy,props:e.props,load:e.load,currentNodeKey:e.currentNodeKey,checkStrictly:e.checkStrictly,checkDescendants:e.checkDescendants,defaultCheckedKeys:e.defaultCheckedKeys,defaultExpandedKeys:e.defaultExpandedKeys,autoExpandParent:e.autoExpandParent,defaultExpandAll:e.defaultExpandAll,filterNodeMethod:e.filterNodeMethod}));a.value.initialize();const r=R(a.value.root),l=R(null),i=R(null),u=R(null),{broadcastExpanded:d}=Ay(e),{dragState:f}=Aoe({props:e,ctx:t,el$:i,dropIndicator$:u,store:a});Loe({el$:i},a);const c=S(()=>{const{childNodes:I}=r.value;return!I||I.length===0||I.every(({visible:H})=>!H)});pe(()=>e.currentNodeKey,I=>{a.value.setCurrentNodeKey(I)}),pe(()=>e.defaultCheckedKeys,I=>{a.value.setDefaultCheckedKey(I)}),pe(()=>e.defaultExpandedKeys,I=>{a.value.setDefaultExpandedKeys(I)}),pe(()=>e.data,I=>{a.value.setData(I)},{deep:!0}),pe(()=>e.checkStrictly,I=>{a.value.checkStrictly=I});const p=I=>{if(!e.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");a.value.filter(I)},h=I=>gp(e.nodeKey,I.data),m=I=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in getNodePath");const H=a.value.getNode(I);if(!H)return[];const N=[H.data];let D=H.parent;for(;D&&D!==r.value;)N.push(D.data),D=D.parent;return N.reverse()},v=(I,H)=>a.value.getCheckedNodes(I,H),_=I=>a.value.getCheckedKeys(I),g=()=>{const I=a.value.getCurrentNode();return I?I.data:null},w=()=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in getCurrentKey");const I=g();return I?I[e.nodeKey]:null},b=(I,H)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedNodes");a.value.setCheckedNodes(I,H)},C=(I,H)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedKeys");a.value.setCheckedKeys(I,H)},x=(I,H,N)=>{a.value.setChecked(I,H,N)},E=()=>a.value.getHalfCheckedNodes(),O=()=>a.value.getHalfCheckedKeys(),T=(I,H=!0)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentNode");n0(a,t.emit,()=>a.value.setUserCurrentNode(I,H))},V=(I,H=!0)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentKey");n0(a,t.emit,()=>a.value.setCurrentNodeKey(I,H))},L=I=>a.value.getNode(I),P=I=>{a.value.remove(I)},z=(I,H)=>{a.value.append(I,H)},j=(I,H)=>{a.value.insertBefore(I,H)},K=(I,H)=>{a.value.insertAfter(I,H)},F=(I,H,N)=>{d(H),t.emit("node-expand",I,H,N)},B=(I,H)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in updateKeyChild");a.value.updateChildren(I,H)};return pt("RootTree",{ctx:t,props:e,store:a,root:r,currentNode:l,instance:rt()}),pt(Vo,void 0),{ns:o,store:a,root:r,currentNode:l,dragState:f,el$:i,dropIndicator$:u,isEmpty:c,filter:p,getNodeKey:h,getNodePath:m,getCheckedNodes:v,getCheckedKeys:_,getCurrentNode:g,getCurrentKey:w,setCheckedNodes:b,setCheckedKeys:C,setChecked:x,getHalfCheckedNodes:E,getHalfCheckedKeys:O,setCurrentNode:T,setCurrentKey:V,t:n,getNode:L,remove:P,append:z,insertBefore:j,insertAfter:K,handleNodeExpand:F,updateKeyChildren:B}}});function Boe(e,t,n,o,a,r){const l=nt("el-tree-node");return y(),M("div",{ref:"el$",class:$([e.ns.b(),e.ns.is("dragging",!!e.dragState.draggingNode),e.ns.is("drop-not-allow",!e.dragState.allowDrop),e.ns.is("drop-inner",e.dragState.dropType==="inner"),{[e.ns.m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[(y(!0),M(Fe,null,mt(e.root.childNodes,i=>(y(),oe(l,{key:e.getNodeKey(i),node:i,props:e.props,accordion:e.accordion,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent,onNodeExpand:e.handleNodeExpand},null,8,["node","props","accordion","render-after-expand","show-checkbox","render-content","onNodeExpand"]))),128)),e.isEmpty?(y(),M("div",{key:0,class:$(e.ns.e("empty-block"))},[re(e.$slots,"empty",{},()=>{var i;return[k("span",{class:$(e.ns.e("empty-text"))},Me((i=e.emptyText)!=null?i:e.t("el.tree.emptyText")),3)]})],2)):Z("v-if",!0),Qe(k("div",{ref:"dropIndicator$",class:$(e.ns.e("drop-indicator"))},null,2),[[bt,e.dragState.showDropIndicator]])],2)}var hu=xe(Voe,[["render",Boe],["__file","tree.vue"]]);hu.install=e=>{e.component(hu.name,hu)};const Ju=hu,zoe=Ju,Hoe=(e,{attrs:t,emit:n},{select:o,tree:a,key:r})=>{const l=me("tree-select");return pe(()=>e.data,()=>{e.filterable&&We(()=>{var u,d;(d=a.value)==null||d.filter((u=o.value)==null?void 0:u.states.inputValue)})},{flush:"post"}),{...Zo(un(e),Object.keys(Or.props)),...t,"onUpdate:modelValue":u=>n(it,u),valueKey:r,popperClass:S(()=>{const u=[l.e("popper")];return e.popperClass&&u.push(e.popperClass),u.join(" ")}),filterMethod:(u="")=>{var d;e.filterMethod?e.filterMethod(u):e.remoteMethod?e.remoteMethod(u):(d=a.value)==null||d.filter(u)}}},Doe=A({extends:Ku,setup(e,t){const n=Ku.setup(e,t);delete n.selectOptionClick;const o=rt().proxy;return We(()=>{n.select.states.cachedOptions.get(o.value)||n.select.onOptionCreate(o)}),n},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function r0(e){return e||e===0}function yp(e){return Array.isArray(e)&&e.length}function Xl(e){return Array.isArray(e)?e:r0(e)?[e]:[]}function mu(e,t,n,o,a){for(let r=0;r{pe(()=>e.modelValue,()=>{e.showCheckbox&&We(()=>{const c=r.value;c&&!wn(c.getCheckedKeys(),Xl(e.modelValue))&&c.setCheckedKeys(Xl(e.modelValue))})},{immediate:!0,deep:!0});const i=S(()=>({value:l.value,label:"label",children:"children",disabled:"disabled",isLeaf:"isLeaf",...e.props})),u=(c,p)=>{var h;const m=i.value[c];return Xe(m)?m(p,(h=r.value)==null?void 0:h.getNode(u("value",p))):p[m]},d=Xl(e.modelValue).map(c=>mu(e.data||[],p=>u("value",p)===c,p=>u("children",p),(p,h,m,v)=>v&&u("value",v))).filter(c=>r0(c)),f=S(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];const c=[];return l0(e.data.concat(e.cacheData),p=>{const h=u("value",p);c.push({value:h,currentLabel:u("label",p),isDisabled:u("disabled",p)})},p=>u("children",p)),c});return{...Zo(un(e),Object.keys(Ju.props)),...t,nodeKey:l,expandOnClickNode:S(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:S(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(d):d),renderContent:(c,{node:p,data:h,store:m})=>c(Doe,{value:u("value",h),label:u("label",h),disabled:u("disabled",h)},e.renderContent?()=>e.renderContent(c,{node:p,data:h,store:m}):n.default?()=>n.default({node:p,data:h,store:m}):void 0),filterNodeMethod:(c,p,h)=>e.filterNodeMethod?e.filterNodeMethod(c,p,h):c?new RegExp(o2(c),"i").test(u("label",p)||""):!0,onNodeClick:(c,p,h)=>{var m,v,_,g;if((m=t.onNodeClick)==null||m.call(t,c,p,h),!(e.showCheckbox&&e.checkOnClickNode)){if(!e.showCheckbox&&(e.checkStrictly||p.isLeaf)){if(!u("disabled",c)){const w=(v=a.value)==null?void 0:v.states.options.get(u("value",c));(_=a.value)==null||_.handleOptionSelect(w)}}else e.expandOnClickNode&&h.proxy.handleExpandIconClick();(g=a.value)==null||g.focus()}},onCheck:(c,p)=>{var h;if(!e.showCheckbox)return;const m=u("value",c),v={};l0([r.value.store.root],b=>v[b.key]=b,b=>b.childNodes);const _=p.checkedKeys,g=e.multiple?Xl(e.modelValue).filter(b=>!(b in v)&&!_.includes(b)):[],w=g.concat(_);if(e.checkStrictly)o(it,e.multiple?w:w.includes(m)?m:void 0);else if(e.multiple)o(it,g.concat(r.value.getCheckedKeys(!0)));else{const b=mu([c],E=>!yp(u("children",E))&&!u("disabled",E),E=>u("children",E)),C=b?u("value",b):void 0,x=r0(e.modelValue)&&!!mu([c],E=>u("value",E)===e.modelValue,E=>u("children",E));o(it,C===e.modelValue||x?void 0:C)}We(()=>{var b;const C=Xl(e.modelValue);r.value.setCheckedKeys(C),(b=t.onCheck)==null||b.call(t,c,{checkedKeys:r.value.getCheckedKeys(),checkedNodes:r.value.getCheckedNodes(),halfCheckedKeys:r.value.getHalfCheckedKeys(),halfCheckedNodes:r.value.getHalfCheckedNodes()})}),(h=a.value)==null||h.focus()},cacheOptions:f}};var Koe=A({props:{data:{type:Array,default:()=>[]}},setup(e){const t=Pe(ui);return pe(()=>e.data,()=>{var n;e.data.forEach(a=>{t.states.cachedOptions.has(a.value)||t.states.cachedOptions.set(a.value,a)});const o=((n=t.selectRef)==null?void 0:n.querySelectorAll("input"))||[];Array.from(o).includes(document.activeElement)||t.setSelected()},{flush:"post",immediate:!0}),()=>{}}});const Woe=A({name:"ElTreeSelect",inheritAttrs:!1,props:{...Or.props,...Ju.props,cacheData:{type:Array,default:()=>[]}},setup(e,t){const{slots:n,expose:o}=t,a=R(),r=R(),l=S(()=>e.nodeKey||e.valueKey||"value"),i=Hoe(e,t,{select:a,tree:r,key:l}),{cacheOptions:u,...d}=Foe(e,t,{select:a,tree:r,key:l}),f=wt({});return o(f),et(()=>{Object.assign(f,{...Zo(r.value,["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"]),...Zo(a.value,["focus","blur"])})}),()=>qe(Or,wt({...i,ref:c=>a.value=c}),{...n,default:()=>[qe(Koe,{data:u.value}),qe(Ju,wt({...d,ref:c=>r.value=c}))]})}});var gu=xe(Woe,[["__file","tree-select.vue"]]);gu.install=e=>{e.component(gu.name,gu)};const joe=gu,qoe=joe,_p=Symbol(),Uoe={key:-1,level:-1,data:{}};var ns=(e=>(e.KEY="id",e.LABEL="label",e.CHILDREN="children",e.DISABLED="disabled",e))(ns||{}),s0=(e=>(e.ADD="add",e.DELETE="delete",e))(s0||{});const Ny={type:Number,default:26},Yoe=Ee({data:{type:X(Array),default:()=>Ht([])},emptyText:{type:String},height:{type:Number,default:200},props:{type:X(Object),default:()=>Ht({children:"children",label:"label",disabled:"disabled",value:"id"})},highlightCurrent:{type:Boolean,default:!1},showCheckbox:{type:Boolean,default:!1},defaultCheckedKeys:{type:X(Array),default:()=>Ht([])},checkStrictly:{type:Boolean,default:!1},defaultExpandedKeys:{type:X(Array),default:()=>Ht([])},indent:{type:Number,default:16},itemSize:Ny,icon:{type:$t},expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:{type:Boolean,default:!1},currentNodeKey:{type:X([String,Number])},accordion:{type:Boolean,default:!1},filterMethod:{type:X(Function)},perfMode:{type:Boolean,default:!0}}),Goe=Ee({node:{type:X(Object),default:()=>Ht(Uoe)},expanded:{type:Boolean,default:!1},checked:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},showCheckbox:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},current:{type:Boolean,default:!1},hiddenExpandIcon:{type:Boolean,default:!1},itemSize:Ny}),Xoe=Ee({node:{type:X(Object),required:!0}}),Iy="node-click",Ry="node-expand",Py="node-collapse",Ly="current-change",Vy="check",By="check-change",zy="node-contextmenu",Joe={[Iy]:(e,t,n)=>e&&t&&n,[Ry]:(e,t)=>e&&t,[Py]:(e,t)=>e&&t,[Ly]:(e,t)=>e&&t,[Vy]:(e,t)=>e&&t,[By]:(e,t)=>e&&typeof t=="boolean",[zy]:(e,t,n)=>e&&t&&n},Zoe={click:(e,t)=>!!(e&&t),toggle:e=>!!e,check:(e,t)=>e&&typeof t=="boolean"};function Qoe(e,t){const n=R(new Set),o=R(new Set),{emit:a}=rt();pe([()=>t.value,()=>e.defaultCheckedKeys],()=>We(()=>{w(e.defaultCheckedKeys)}),{immediate:!0});const r=()=>{if(!t.value||!e.showCheckbox||e.checkStrictly)return;const{levelTreeNodeMap:b,maxLevel:C}=t.value,x=n.value,E=new Set;for(let O=C-1;O>=1;--O){const T=b.get(O);T&&T.forEach(V=>{const L=V.children;if(L){let P=!0,z=!1;for(const j of L){const K=j.key;if(x.has(K))z=!0;else if(E.has(K)){P=!1,z=!0;break}else P=!1}P?x.add(V.key):z?(E.add(V.key),x.delete(V.key)):(x.delete(V.key),E.delete(V.key))}})}o.value=E},l=b=>n.value.has(b.key),i=b=>o.value.has(b.key),u=(b,C,x=!0)=>{const E=n.value,O=(T,V)=>{E[V?s0.ADD:s0.DELETE](T.key);const L=T.children;!e.checkStrictly&&L&&L.forEach(P=>{P.disabled||O(P,V)})};O(b,C),r(),x&&d(b,C)},d=(b,C)=>{const{checkedNodes:x,checkedKeys:E}=m(),{halfCheckedNodes:O,halfCheckedKeys:T}=v();a(Vy,b.data,{checkedKeys:E,checkedNodes:x,halfCheckedKeys:T,halfCheckedNodes:O}),a(By,b.data,C)};function f(b=!1){return m(b).checkedKeys}function c(b=!1){return m(b).checkedNodes}function p(){return v().halfCheckedKeys}function h(){return v().halfCheckedNodes}function m(b=!1){const C=[],x=[];if(t!=null&&t.value&&e.showCheckbox){const{treeNodeMap:E}=t.value;n.value.forEach(O=>{const T=E.get(O);T&&(!b||b&&T.isLeaf)&&(x.push(O),C.push(T.data))})}return{checkedKeys:x,checkedNodes:C}}function v(){const b=[],C=[];if(t!=null&&t.value&&e.showCheckbox){const{treeNodeMap:x}=t.value;o.value.forEach(E=>{const O=x.get(E);O&&(C.push(E),b.push(O.data))})}return{halfCheckedNodes:b,halfCheckedKeys:C}}function _(b){n.value.clear(),o.value.clear(),We(()=>{w(b)})}function g(b,C){if(t!=null&&t.value&&e.showCheckbox){const x=t.value.treeNodeMap.get(b);x&&u(x,C,!1)}}function w(b){if(t!=null&&t.value){const{treeNodeMap:C}=t.value;if(e.showCheckbox&&C&&b)for(const x of b){const E=C.get(x);E&&!l(E)&&u(E,!0,!1)}}}return{updateCheckedKeys:r,toggleCheckbox:u,isChecked:l,isIndeterminate:i,getCheckedKeys:f,getCheckedNodes:c,getHalfCheckedKeys:p,getHalfCheckedNodes:h,setChecked:g,setCheckedKeys:_}}function eae(e,t){const n=R(new Set([])),o=R(new Set([])),a=S(()=>Xe(e.filterMethod));function r(i){var u;if(!a.value)return;const d=new Set,f=o.value,c=n.value,p=[],h=((u=t.value)==null?void 0:u.treeNodes)||[],m=e.filterMethod;c.clear();function v(_){_.forEach(g=>{p.push(g),m!=null&&m(i,g.data)?p.forEach(b=>{d.add(b.key)}):g.isLeaf&&c.add(g.key);const w=g.children;if(w&&v(w),!g.isLeaf){if(!d.has(g.key))c.add(g.key);else if(w){let b=!0;for(const C of w)if(!c.has(C.key)){b=!1;break}b?f.add(g.key):f.delete(g.key)}}p.pop()})}return v(h),d}function l(i){return o.value.has(i.key)}return{hiddenExpandIconKeySet:o,hiddenNodeKeySet:n,doFilter:r,isForceHiddenExpandIcon:l}}function tae(e,t){const n=R(new Set(e.defaultExpandedKeys)),o=R(),a=Rt();pe(()=>e.currentNodeKey,ae=>{o.value=ae},{immediate:!0}),pe(()=>e.data,ae=>{Q(ae)},{immediate:!0});const{isIndeterminate:r,isChecked:l,toggleCheckbox:i,getCheckedKeys:u,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:c,setChecked:p,setCheckedKeys:h}=Qoe(e,a),{doFilter:m,hiddenNodeKeySet:v,isForceHiddenExpandIcon:_}=eae(e,a),g=S(()=>{var ae;return((ae=e.props)==null?void 0:ae.value)||ns.KEY}),w=S(()=>{var ae;return((ae=e.props)==null?void 0:ae.children)||ns.CHILDREN}),b=S(()=>{var ae;return((ae=e.props)==null?void 0:ae.disabled)||ns.DISABLED}),C=S(()=>{var ae;return((ae=e.props)==null?void 0:ae.label)||ns.LABEL}),x=S(()=>{const ae=n.value,Te=v.value,ce=[],ge=a.value&&a.value.treeNodes||[];function Ae(){const U=[];for(let te=ge.length-1;te>=0;--te)U.push(ge[te]);for(;U.length;){const te=U.pop();if(te&&(Te.has(te.key)||ce.push(te),ae.has(te.key))){const ve=te.children;if(ve){const be=ve.length;for(let ue=be-1;ue>=0;--ue)U.push(ve[ue])}}}}return Ae(),ce}),E=S(()=>x.value.length>0);function O(ae){const Te=new Map,ce=new Map;let ge=1;function Ae(te,ve=1,be=void 0){var ue;const ye=[];for(const we of te){const Ce=L(we),he={level:ve,key:Ce,data:we};he.label=z(we),he.parent=be;const Se=V(we);he.disabled=P(we),he.isLeaf=!Se||Se.length===0,Se&&Se.length&&(he.children=Ae(Se,ve+1,he)),ye.push(he),Te.set(Ce,he),ce.has(ve)||ce.set(ve,[]),(ue=ce.get(ve))==null||ue.push(he)}return ve>ge&&(ge=ve),ye}const U=Ae(ae);return{treeNodeMap:Te,levelTreeNodeMap:ce,maxLevel:ge,treeNodes:U}}function T(ae){const Te=m(ae);Te&&(n.value=Te)}function V(ae){return ae[w.value]}function L(ae){return ae?ae[g.value]:""}function P(ae){return ae[b.value]}function z(ae){return ae[C.value]}function j(ae){n.value.has(ae.key)?N(ae):H(ae)}function K(ae){n.value=new Set(ae)}function F(ae,Te){t(Iy,ae.data,ae,Te),B(ae),e.expandOnClickNode&&j(ae),e.showCheckbox&&e.checkOnClickNode&&!ae.disabled&&i(ae,!l(ae),!0)}function B(ae){Y(ae)||(o.value=ae.key,t(Ly,ae.data,ae))}function I(ae,Te){i(ae,Te)}function H(ae){const Te=n.value;if(a.value&&e.accordion){const{treeNodeMap:ce}=a.value;Te.forEach(ge=>{const Ae=ce.get(ge);ae&&ae.level===(Ae==null?void 0:Ae.level)&&Te.delete(ge)})}Te.add(ae.key),t(Ry,ae.data,ae)}function N(ae){n.value.delete(ae.key),t(Py,ae.data,ae)}function D(ae){return n.value.has(ae.key)}function q(ae){return!!ae.disabled}function Y(ae){const Te=o.value;return Te!==void 0&&Te===ae.key}function J(){var ae,Te;if(o.value)return(Te=(ae=a.value)==null?void 0:ae.treeNodeMap.get(o.value))==null?void 0:Te.data}function se(){return o.value}function _e(ae){o.value=ae}function Q(ae){We(()=>a.value=O(ae))}function le(ae){var Te;const ce=ct(ae)?L(ae):ae;return(Te=a.value)==null?void 0:Te.treeNodeMap.get(ce)}return{tree:a,flattenTree:x,isNotEmpty:E,getKey:L,getChildren:V,toggleExpand:j,toggleCheckbox:i,isExpanded:D,isChecked:l,isIndeterminate:r,isDisabled:q,isCurrent:Y,isForceHiddenExpandIcon:_,handleNodeClick:F,handleNodeCheck:I,getCurrentNode:J,getCurrentKey:se,setCurrentKey:_e,getCheckedKeys:u,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:c,setChecked:p,setCheckedKeys:h,filter:T,setData:Q,getNode:le,expandNode:H,collapseNode:N,setExpandedKeys:K}}var nae=A({name:"ElTreeNodeContent",props:Xoe,setup(e){const t=Pe(_p),n=me("tree");return()=>{const o=e.node,{data:a}=o;return t!=null&&t.ctx.slots.default?t.ctx.slots.default({node:o,data:a}):qe("span",{class:n.be("node","label")},[o==null?void 0:o.label])}}});const oae=["aria-expanded","aria-disabled","aria-checked","data-key","onClick"],aae=A({name:"ElTreeNode"}),rae=A({...aae,props:Goe,emits:Zoe,setup(e,{emit:t}){const n=e,o=Pe(_p),a=me("tree"),r=S(()=>{var c;return(c=o==null?void 0:o.props.indent)!=null?c:16}),l=S(()=>{var c;return(c=o==null?void 0:o.props.icon)!=null?c:r2}),i=c=>{t("click",n.node,c)},u=()=>{t("toggle",n.node)},d=c=>{t("check",n.node,c)},f=c=>{var p,h,m,v;(m=(h=(p=o==null?void 0:o.instance)==null?void 0:p.vnode)==null?void 0:h.props)!=null&&m.onNodeContextmenu&&(c.stopPropagation(),c.preventDefault()),o==null||o.ctx.emit(zy,c,(v=n.node)==null?void 0:v.data,n.node)};return(c,p)=>{var h,m,v;return y(),M("div",{ref:"node$",class:$([s(a).b("node"),s(a).is("expanded",c.expanded),s(a).is("current",c.current),s(a).is("focusable",!c.disabled),s(a).is("checked",!c.disabled&&c.checked)]),role:"treeitem",tabindex:"-1","aria-expanded":c.expanded,"aria-disabled":c.disabled,"aria-checked":c.checked,"data-key":(h=c.node)==null?void 0:h.key,onClick:Ge(i,["stop"]),onContextmenu:f},[k("div",{class:$(s(a).be("node","content")),style:De({paddingLeft:`${(c.node.level-1)*s(r)}px`,height:c.itemSize+"px"})},[s(l)?(y(),oe(s(Be),{key:0,class:$([s(a).is("leaf",!!((m=c.node)!=null&&m.isLeaf)),s(a).is("hidden",c.hiddenExpandIcon),{expanded:!((v=c.node)!=null&&v.isLeaf)&&c.expanded},s(a).be("node","expand-icon")]),onClick:Ge(u,["stop"])},{default:G(()=>[(y(),oe(ut(s(l))))]),_:1},8,["class","onClick"])):Z("v-if",!0),c.showCheckbox?(y(),oe(s(vo),{key:1,"model-value":c.checked,indeterminate:c.indeterminate,disabled:c.disabled,onChange:d,onClick:p[0]||(p[0]=Ge(()=>{},["stop"]))},null,8,["model-value","indeterminate","disabled"])):Z("v-if",!0),W(s(nae),{node:c.node},null,8,["node"])],6)],42,oae)}}});var lae=xe(rae,[["__file","tree-node.vue"]]);const sae=A({name:"ElTreeV2"}),iae=A({...sae,props:Yoe,emits:Joe,setup(e,{expose:t,emit:n}){const o=e,a=fn(),r=S(()=>o.itemSize);pt(_p,{ctx:{emit:n,slots:a},props:o,instance:rt()}),pt(Vo,void 0);const{t:l}=_t(),i=me("tree"),{flattenTree:u,isNotEmpty:d,toggleExpand:f,isExpanded:c,isIndeterminate:p,isChecked:h,isDisabled:m,isCurrent:v,isForceHiddenExpandIcon:_,handleNodeClick:g,handleNodeCheck:w,toggleCheckbox:b,getCurrentNode:C,getCurrentKey:x,setCurrentKey:E,getCheckedKeys:O,getCheckedNodes:T,getHalfCheckedKeys:V,getHalfCheckedNodes:L,setChecked:P,setCheckedKeys:z,filter:j,setData:K,getNode:F,expandNode:B,collapseNode:I,setExpandedKeys:H}=tae(o,n);return t({toggleCheckbox:b,getCurrentNode:C,getCurrentKey:x,setCurrentKey:E,getCheckedKeys:O,getCheckedNodes:T,getHalfCheckedKeys:V,getHalfCheckedNodes:L,setChecked:P,setCheckedKeys:z,filter:j,setData:K,getNode:F,expandNode:B,collapseNode:I,setExpandedKeys:H}),(N,D)=>{var q;return y(),M("div",{class:$([s(i).b(),{[s(i).m("highlight-current")]:N.highlightCurrent}]),role:"tree"},[s(d)?(y(),oe(s(F8),{key:0,"class-name":s(i).b("virtual-list"),data:s(u),total:s(u).length,height:N.height,"item-size":s(r),"perf-mode":N.perfMode},{default:G(({data:Y,index:J,style:se})=>[(y(),oe(lae,{key:Y[J].key,style:De(se),node:Y[J],expanded:s(c)(Y[J]),"show-checkbox":N.showCheckbox,checked:s(h)(Y[J]),indeterminate:s(p)(Y[J]),"item-size":s(r),disabled:s(m)(Y[J]),current:s(v)(Y[J]),"hidden-expand-icon":s(_)(Y[J]),onClick:s(g),onToggle:s(f),onCheck:s(w)},null,8,["style","node","expanded","show-checkbox","checked","indeterminate","item-size","disabled","current","hidden-expand-icon","onClick","onToggle","onCheck"]))]),_:1},8,["class-name","data","total","height","item-size","perf-mode"])):(y(),M("div",{key:1,class:$(s(i).e("empty-block"))},[k("span",{class:$(s(i).e("empty-text"))},Me((q=N.emptyText)!=null?q:s(l)("el.tree.emptyText")),3)],2))],2)}}});var uae=xe(iae,[["__file","tree.vue"]]);const cae=lt(uae),Hy=Symbol("uploadContextKey"),dae="ElUpload";class fae extends Error{constructor(t,n,o,a){super(t),this.name="UploadAjaxError",this.status=n,this.method=o,this.url=a}}function Xh(e,t,n){let o;return n.response?o=`${n.response.error||n.response}`:n.responseText?o=`${n.responseText}`:o=`fail to ${t.method} ${e} ${n.status}`,new fae(o,n.status,t.method,e)}function pae(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const vae=e=>{typeof XMLHttpRequest>"u"&&on(dae,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",r=>{const l=r;l.percent=r.total>0?r.loaded/r.total*100:0,e.onProgress(l)});const o=new FormData;if(e.data)for(const[r,l]of Object.entries(e.data))Ie(l)&&l.length?o.append(r,...l):o.append(r,l);o.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(Xh(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(Xh(n,e,t));e.onSuccess(pae(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const a=e.headers||{};if(a instanceof Headers)a.forEach((r,l)=>t.setRequestHeader(l,r));else for(const[r,l]of Object.entries(a))tn(l)||t.setRequestHeader(r,String(l));return t.send(o),t},Dy=["text","picture","picture-card"];let hae=1;const i0=()=>Date.now()+hae++,Fy=Ee({action:{type:String,default:"#"},headers:{type:X(Object)},method:{type:String,default:"post"},data:{type:X([Object,Function,Promise]),default:()=>Ht({})},multiple:{type:Boolean,default:!1},name:{type:String,default:"file"},drag:{type:Boolean,default:!1},withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:X(Array),default:()=>Ht([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:Dy,default:"text"},httpRequest:{type:X(Function),default:vae},disabled:Boolean,limit:Number}),mae=Ee({...Fy,beforeUpload:{type:X(Function),default:Et},beforeRemove:{type:X(Function)},onRemove:{type:X(Function),default:Et},onChange:{type:X(Function),default:Et},onPreview:{type:X(Function),default:Et},onSuccess:{type:X(Function),default:Et},onProgress:{type:X(Function),default:Et},onError:{type:X(Function),default:Et},onExceed:{type:X(Function),default:Et},crossorigin:{type:X(String)}}),gae=Ee({files:{type:X(Array),default:()=>Ht([])},disabled:{type:Boolean,default:!1},handlePreview:{type:X(Function),default:Et},listType:{type:String,values:Dy,default:"text"},crossorigin:{type:X(String)}}),yae={remove:e=>!!e},_ae=["onKeydown"],bae=["src","crossorigin"],wae=["onClick"],Cae=["title"],Sae=["onClick"],kae=["onClick"],Eae=A({name:"ElUploadList"}),xae=A({...Eae,props:gae,emits:yae,setup(e,{emit:t}){const n=e,{t:o}=_t(),a=me("upload"),r=me("icon"),l=me("list"),i=Dn(),u=R(!1),d=S(()=>[a.b("list"),a.bm("list",n.listType),a.is("disabled",n.disabled)]),f=c=>{t("remove",c)};return(c,p)=>(y(),oe(M4,{tag:"ul",class:$(s(d)),name:s(l).b()},{default:G(()=>[(y(!0),M(Fe,null,mt(c.files,h=>(y(),M("li",{key:h.uid||h.name,class:$([s(a).be("list","item"),s(a).is(h.status),{focusing:u.value}]),tabindex:"0",onKeydown:Mt(m=>!s(i)&&f(h),["delete"]),onFocus:p[0]||(p[0]=m=>u.value=!0),onBlur:p[1]||(p[1]=m=>u.value=!1),onClick:p[2]||(p[2]=m=>u.value=!1)},[re(c.$slots,"default",{file:h},()=>[c.listType==="picture"||h.status!=="uploading"&&c.listType==="picture-card"?(y(),M("img",{key:0,class:$(s(a).be("list","item-thumbnail")),src:h.url,crossorigin:c.crossorigin,alt:""},null,10,bae)):Z("v-if",!0),h.status==="uploading"||c.listType!=="picture-card"?(y(),M("div",{key:1,class:$(s(a).be("list","item-info"))},[k("a",{class:$(s(a).be("list","item-name")),onClick:Ge(m=>c.handlePreview(h),["prevent"])},[W(s(Be),{class:$(s(r).m("document"))},{default:G(()=>[W(s(Lg))]),_:1},8,["class"]),k("span",{class:$(s(a).be("list","item-file-name")),title:h.name},Me(h.name),11,Cae)],10,wae),h.status==="uploading"?(y(),oe(s(I8),{key:0,type:c.listType==="picture-card"?"circle":"line","stroke-width":c.listType==="picture-card"?6:2,percentage:Number(h.percentage),style:De(c.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):Z("v-if",!0)],2)):Z("v-if",!0),k("label",{class:$(s(a).be("list","item-status-label"))},[c.listType==="text"?(y(),oe(s(Be),{key:0,class:$([s(r).m("upload-success"),s(r).m("circle-check")])},{default:G(()=>[W(s(Sc))]),_:1},8,["class"])):["picture-card","picture"].includes(c.listType)?(y(),oe(s(Be),{key:1,class:$([s(r).m("upload-success"),s(r).m("check")])},{default:G(()=>[W(s(Bl))]),_:1},8,["class"])):Z("v-if",!0)],2),s(i)?Z("v-if",!0):(y(),oe(s(Be),{key:2,class:$(s(r).m("close")),onClick:m=>f(h)},{default:G(()=>[W(s(uo))]),_:2},1032,["class","onClick"])),Z(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),Z(" This is a bug which needs to be fixed "),Z(" TODO: Fix the incorrect navigation interaction "),s(i)?Z("v-if",!0):(y(),M("i",{key:3,class:$(s(r).m("close-tip"))},Me(s(o)("el.upload.deleteTip")),3)),c.listType==="picture-card"?(y(),M("span",{key:4,class:$(s(a).be("list","item-actions"))},[k("span",{class:$(s(a).be("list","item-preview")),onClick:m=>c.handlePreview(h)},[W(s(Be),{class:$(s(r).m("zoom-in"))},{default:G(()=>[W(s(u2))]),_:1},8,["class"])],10,Sae),s(i)?Z("v-if",!0):(y(),M("span",{key:0,class:$(s(a).be("list","item-delete")),onClick:m=>f(h)},[W(s(Be),{class:$(s(r).m("delete"))},{default:G(()=>[W(s(Pg))]),_:1},8,["class"])],10,kae))],2)):Z("v-if",!0)])],42,_ae))),128)),re(c.$slots,"append")]),_:3},8,["class","name"]))}});var Jh=xe(xae,[["__file","upload-list.vue"]]);const Mae=Ee({disabled:{type:Boolean,default:!1}}),$ae={file:e=>Ie(e)},Tae=["onDrop","onDragover"],Ky="ElUploadDrag",Aae=A({name:Ky}),Oae=A({...Aae,props:Mae,emits:$ae,setup(e,{emit:t}){Pe(Hy)||on(Ky,"usage: ");const o=me("upload"),a=R(!1),r=Dn(),l=u=>{if(r.value)return;a.value=!1,u.stopPropagation();const d=Array.from(u.dataTransfer.files);t("file",d)},i=()=>{r.value||(a.value=!0)};return(u,d)=>(y(),M("div",{class:$([s(o).b("dragger"),s(o).is("dragover",a.value)]),onDrop:Ge(l,["prevent"]),onDragover:Ge(i,["prevent"]),onDragleave:d[0]||(d[0]=Ge(f=>a.value=!1,["prevent"]))},[re(u.$slots,"default")],42,Tae))}});var Nae=xe(Oae,[["__file","upload-dragger.vue"]]);const Iae=Ee({...Fy,beforeUpload:{type:X(Function),default:Et},onRemove:{type:X(Function),default:Et},onStart:{type:X(Function),default:Et},onSuccess:{type:X(Function),default:Et},onProgress:{type:X(Function),default:Et},onError:{type:X(Function),default:Et},onExceed:{type:X(Function),default:Et}}),Rae=["onKeydown"],Pae=["name","multiple","accept"],Lae=A({name:"ElUploadContent",inheritAttrs:!1}),Vae=A({...Lae,props:Iae,setup(e,{expose:t}){const n=e,o=me("upload"),a=Dn(),r=Rt({}),l=Rt(),i=v=>{if(v.length===0)return;const{autoUpload:_,limit:g,fileList:w,multiple:b,onStart:C,onExceed:x}=n;if(g&&w.length+v.length>g){x(v,w);return}b||(v=v.slice(0,1));for(const E of v){const O=E;O.uid=i0(),C(O),_&&u(O)}},u=async v=>{if(l.value.value="",!n.beforeUpload)return f(v);let _,g={};try{const b=n.data,C=n.beforeUpload(v);g=Cu(n.data)?Ru(n.data):n.data,_=await C,Cu(n.data)&&wn(b,g)&&(g=Ru(n.data))}catch{_=!1}if(_===!1){n.onRemove(v);return}let w=v;_ instanceof Blob&&(_ instanceof File?w=_:w=new File([_],v.name,{type:v.type})),f(Object.assign(w,{uid:v.uid}),g)},d=async(v,_)=>Xe(v)?v(_):v,f=async(v,_)=>{const{headers:g,data:w,method:b,withCredentials:C,name:x,action:E,onProgress:O,onSuccess:T,onError:V,httpRequest:L}=n;try{_=await d(_??w,v)}catch{n.onRemove(v);return}const{uid:P}=v,z={headers:g||{},withCredentials:C,file:v,data:_,method:b,filename:x,action:E,onProgress:K=>{O(K,v)},onSuccess:K=>{T(K,v),delete r.value[P]},onError:K=>{V(K,v),delete r.value[P]}},j=L(z);r.value[P]=j,j instanceof Promise&&j.then(z.onSuccess,z.onError)},c=v=>{const _=v.target.files;_&&i(Array.from(_))},p=()=>{a.value||(l.value.value="",l.value.click())},h=()=>{p()};return t({abort:v=>{vE(r.value).filter(v?([g])=>String(v.uid)===g:()=>!0).forEach(([g,w])=>{w instanceof XMLHttpRequest&&w.abort(),delete r.value[g]})},upload:u}),(v,_)=>(y(),M("div",{class:$([s(o).b(),s(o).m(v.listType),s(o).is("drag",v.drag)]),tabindex:"0",onClick:p,onKeydown:Mt(Ge(h,["self"]),["enter","space"])},[v.drag?(y(),oe(Nae,{key:0,disabled:s(a),onFile:i},{default:G(()=>[re(v.$slots,"default")]),_:3},8,["disabled"])):re(v.$slots,"default",{key:1}),k("input",{ref_key:"inputRef",ref:l,class:$(s(o).e("input")),name:v.name,multiple:v.multiple,accept:v.accept,type:"file",onChange:c,onClick:_[0]||(_[0]=Ge(()=>{},["stop"]))},null,42,Pae)],42,Rae))}});var Zh=xe(Vae,[["__file","upload-content.vue"]]);const Qh="ElUpload",em=e=>{var t;(t=e.url)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(e.url)},Bae=(e,t)=>{const n=H4(e,"fileList",void 0,{passive:!0}),o=p=>n.value.find(h=>h.uid===p.uid);function a(p){var h;(h=t.value)==null||h.abort(p)}function r(p=["ready","uploading","success","fail"]){n.value=n.value.filter(h=>!p.includes(h.status))}const l=(p,h)=>{const m=o(h);m&&(console.error(p),m.status="fail",n.value.splice(n.value.indexOf(m),1),e.onError(p,m,n.value),e.onChange(m,n.value))},i=(p,h)=>{const m=o(h);m&&(e.onProgress(p,m,n.value),m.status="uploading",m.percentage=Math.round(p.percent))},u=(p,h)=>{const m=o(h);m&&(m.status="success",m.response=p,e.onSuccess(p,m,n.value),e.onChange(m,n.value))},d=p=>{tn(p.uid)&&(p.uid=i0());const h={name:p.name,percentage:0,status:"ready",size:p.size,raw:p,uid:p.uid};if(e.listType==="picture-card"||e.listType==="picture")try{h.url=URL.createObjectURL(p)}catch(m){m.message,e.onError(m,h,n.value)}n.value=[...n.value,h],e.onChange(h,n.value)},f=async p=>{const h=p instanceof File?o(p):p;h||on(Qh,"file to be removed not found");const m=v=>{a(v);const _=n.value;_.splice(_.indexOf(v),1),e.onRemove(v,_),em(v)};e.beforeRemove?await e.beforeRemove(h,n.value)!==!1&&m(h):m(h)};function c(){n.value.filter(({status:p})=>p==="ready").forEach(({raw:p})=>{var h;return p&&((h=t.value)==null?void 0:h.upload(p))})}return pe(()=>e.listType,p=>{p!=="picture-card"&&p!=="picture"||(n.value=n.value.map(h=>{const{raw:m,url:v}=h;if(!v&&m)try{h.url=URL.createObjectURL(m)}catch(_){e.onError(_,h,n.value)}return h}))}),pe(n,p=>{for(const h of p)h.uid||(h.uid=i0()),h.status||(h.status="success")},{immediate:!0,deep:!0}),{uploadFiles:n,abort:a,clearFiles:r,handleError:l,handleProgress:i,handleStart:d,handleSuccess:u,handleRemove:f,submit:c,revokeFileObjectURL:em}},zae=A({name:"ElUpload"}),Hae=A({...zae,props:mae,setup(e,{expose:t}){const n=e,o=Dn(),a=Rt(),{abort:r,submit:l,clearFiles:i,uploadFiles:u,handleStart:d,handleError:f,handleRemove:c,handleSuccess:p,handleProgress:h,revokeFileObjectURL:m}=Bae(n,a),v=S(()=>n.listType==="picture-card"),_=S(()=>({...n,fileList:u.value,onStart:d,onProgress:h,onSuccess:p,onError:f,onRemove:c}));return It(()=>{u.value.forEach(m)}),pt(Hy,{accept:At(n,"accept")}),t({abort:r,submit:l,clearFiles:i,handleStart:d,handleRemove:c}),(g,w)=>(y(),M("div",null,[s(v)&&g.showFileList?(y(),oe(Jh,{key:0,disabled:s(o),"list-type":g.listType,files:s(u),crossorigin:g.crossorigin,"handle-preview":g.onPreview,onRemove:s(c)},na({append:G(()=>[W(Zh,ft({ref_key:"uploadRef",ref:a},s(_)),{default:G(()=>[g.$slots.trigger?re(g.$slots,"trigger",{key:0}):Z("v-if",!0),!g.$slots.trigger&&g.$slots.default?re(g.$slots,"default",{key:1}):Z("v-if",!0)]),_:3},16)]),_:2},[g.$slots.file?{name:"default",fn:G(({file:b})=>[re(g.$slots,"file",{file:b})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):Z("v-if",!0),!s(v)||s(v)&&!g.showFileList?(y(),oe(Zh,ft({key:1,ref_key:"uploadRef",ref:a},s(_)),{default:G(()=>[g.$slots.trigger?re(g.$slots,"trigger",{key:0}):Z("v-if",!0),!g.$slots.trigger&&g.$slots.default?re(g.$slots,"default",{key:1}):Z("v-if",!0)]),_:3},16)):Z("v-if",!0),g.$slots.trigger?re(g.$slots,"default",{key:2}):Z("v-if",!0),re(g.$slots,"tip"),!s(v)&&g.showFileList?(y(),oe(Jh,{key:3,disabled:s(o),"list-type":g.listType,files:s(u),crossorigin:g.crossorigin,"handle-preview":g.onPreview,onRemove:s(c)},na({_:2},[g.$slots.file?{name:"default",fn:G(({file:b})=>[re(g.$slots,"file",{file:b})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):Z("v-if",!0)]))}});var Dae=xe(Hae,[["__file","upload.vue"]]);const Fae=lt(Dae),Kae=Ee({zIndex:{type:Number,default:9},rotate:{type:Number,default:-22},width:Number,height:Number,image:String,content:{type:X([String,Array]),default:"Element Plus"},font:{type:X(Object)},gap:{type:X(Array),default:()=>[100,100]},offset:{type:X(Array)}});function Wae(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function jae(e){return Object.keys(e).map(t=>`${Wae(t)}: ${e[t]};`).join(" ")}function qae(){return window.devicePixelRatio||1}const Uae=(e,t)=>{let n=!1;return e.removedNodes.length&&t&&(n=Array.from(e.removedNodes).includes(t)),e.type==="attributes"&&e.target===t&&(n=!0),n},Wy=3;function Vd(e,t,n=1){const o=document.createElement("canvas"),a=o.getContext("2d"),r=e*n,l=t*n;return o.setAttribute("width",`${r}px`),o.setAttribute("height",`${l}px`),a.save(),[a,o,r,l]}function Yae(){function e(t,n,o,a,r,l,i,u){const[d,f,c,p]=Vd(a,r,o);if(t instanceof HTMLImageElement)d.drawImage(t,0,0,c,p);else{const{color:q,fontSize:Y,fontStyle:J,fontWeight:se,fontFamily:_e,textAlign:Q,textBaseline:le}=l,ae=Number(Y)*o;d.font=`${J} normal ${se} ${ae}px/${r}px ${_e}`,d.fillStyle=q,d.textAlign=Q,d.textBaseline=le;const Te=Array.isArray(t)?t:[t];Te==null||Te.forEach((ce,ge)=>{d.fillText(ce??"",c/2,ge*(ae+Wy*o))})}const h=Math.PI/180*Number(n),m=Math.max(a,r),[v,_,g]=Vd(m,m,o);v.translate(g/2,g/2),v.rotate(h),c>0&&p>0&&v.drawImage(f,-c/2,-p/2);function w(q,Y){const J=q*Math.cos(h)-Y*Math.sin(h),se=q*Math.sin(h)+Y*Math.cos(h);return[J,se]}let b=0,C=0,x=0,E=0;const O=c/2,T=p/2;[[0-O,0-T],[0+O,0-T],[0+O,0+T],[0-O,0+T]].forEach(([q,Y])=>{const[J,se]=w(q,Y);b=Math.min(b,J),C=Math.max(C,J),x=Math.min(x,se),E=Math.max(E,se)});const L=b+g/2,P=x+g/2,z=C-b,j=E-x,K=i*o,F=u*o,B=(z+K)*2,I=j+F,[H,N]=Vd(B,I);function D(q=0,Y=0){H.drawImage(_,L,P,z,j,q,Y,z,j)}return D(),D(z+K,-j/2-F/2),D(z+K,+j/2+F/2),[N.toDataURL(),B/o,I/o]}return e}const Gae=A({name:"ElWatermark"}),Xae=A({...Gae,props:Kae,setup(e){const t=e,n={position:"relative"},o=S(()=>{var L,P;return(P=(L=t.font)==null?void 0:L.color)!=null?P:"rgba(0,0,0,.15)"}),a=S(()=>{var L,P;return(P=(L=t.font)==null?void 0:L.fontSize)!=null?P:16}),r=S(()=>{var L,P;return(P=(L=t.font)==null?void 0:L.fontWeight)!=null?P:"normal"}),l=S(()=>{var L,P;return(P=(L=t.font)==null?void 0:L.fontStyle)!=null?P:"normal"}),i=S(()=>{var L,P;return(P=(L=t.font)==null?void 0:L.fontFamily)!=null?P:"sans-serif"}),u=S(()=>{var L,P;return(P=(L=t.font)==null?void 0:L.textAlign)!=null?P:"center"}),d=S(()=>{var L,P;return(P=(L=t.font)==null?void 0:L.textBaseline)!=null?P:"top"}),f=S(()=>t.gap[0]),c=S(()=>t.gap[1]),p=S(()=>f.value/2),h=S(()=>c.value/2),m=S(()=>{var L,P;return(P=(L=t.offset)==null?void 0:L[0])!=null?P:p.value}),v=S(()=>{var L,P;return(P=(L=t.offset)==null?void 0:L[1])!=null?P:h.value}),_=()=>{const L={zIndex:t.zIndex,position:"absolute",left:0,top:0,width:"100%",height:"100%",pointerEvents:"none",backgroundRepeat:"repeat"};let P=m.value-p.value,z=v.value-h.value;return P>0&&(L.left=`${P}px`,L.width=`calc(100% - ${P}px)`,P=0),z>0&&(L.top=`${z}px`,L.height=`calc(100% - ${z}px)`,z=0),L.backgroundPosition=`${P}px ${z}px`,L},g=Rt(null),w=Rt(),b=R(!1),C=()=>{w.value&&(w.value.remove(),w.value=void 0)},x=(L,P)=>{var z;g.value&&w.value&&(b.value=!0,w.value.setAttribute("style",jae({..._(),backgroundImage:`url('${L}')`,backgroundSize:`${Math.floor(P)}px`})),(z=g.value)==null||z.append(w.value),setTimeout(()=>{b.value=!1}))},E=L=>{let P=120,z=64;const j=t.image,K=t.content,F=t.width,B=t.height;if(!j&&L.measureText){L.font=`${Number(a.value)}px ${i.value}`;const I=Array.isArray(K)?K:[K],H=I.map(N=>{const D=L.measureText(N);return[D.width,D.fontBoundingBoxAscent!==void 0?D.fontBoundingBoxAscent+D.fontBoundingBoxDescent:D.actualBoundingBoxAscent+D.actualBoundingBoxDescent]});P=Math.ceil(Math.max(...H.map(N=>N[0]))),z=Math.ceil(Math.max(...H.map(N=>N[1])))*I.length+(I.length-1)*Wy}return[F??P,B??z]},O=Yae(),T=()=>{const P=document.createElement("canvas").getContext("2d"),z=t.image,j=t.content,K=t.rotate;if(P){w.value||(w.value=document.createElement("div"));const F=qae(),[B,I]=E(P),H=N=>{const[D,q]=O(N||"",K,F,B,I,{color:o.value,fontSize:a.value,fontStyle:l.value,fontWeight:r.value,fontFamily:i.value,textAlign:u.value,textBaseline:d.value},f.value,c.value);x(D,q)};if(z){const N=new Image;N.onload=()=>{H(N)},N.onerror=()=>{H(j)},N.crossOrigin="anonymous",N.referrerPolicy="no-referrer",N.src=z}else H(j)}};return et(()=>{T()}),pe(()=>t,()=>{T()},{deep:!0,flush:"post"}),It(()=>{C()}),z4(g,L=>{b.value||L.forEach(P=>{Uae(P,w.value)&&(C(),T())})},{attributes:!0,subtree:!0,childList:!0}),(L,P)=>(y(),M("div",{ref_key:"containerRef",ref:g,style:De([n])},[re(L.$slots,"default")],4))}});var Jae=xe(Xae,[["__file","watermark.vue"]]);const Zae=lt(Jae),Qae=Ee({zIndex:{type:Number,default:1001},visible:Boolean,fill:{type:String,default:"rgba(0,0,0,0.5)"},pos:{type:X(Object)},targetAreaClickable:{type:Boolean,default:!0}}),ere=(e,t,n,o,a)=>{const r=R(null),l=()=>{let c;return Ze(e.value)?c=document.querySelector(e.value):Xe(e.value)?c=e.value():c=e.value,c},i=()=>{const c=l();if(!c||!t.value){r.value=null;return}!tre(c)&&t.value&&c.scrollIntoView(a.value);const{left:p,top:h,width:m,height:v}=c.getBoundingClientRect();r.value={left:p,top:h,width:m,height:v,radius:0}};et(()=>{pe([t,e],()=>{i()},{immediate:!0}),window.addEventListener("resize",i)}),It(()=>{window.removeEventListener("resize",i)});const u=c=>{var p;return(p=Ie(n.value.offset)?n.value.offset[c]:n.value.offset)!=null?p:6},d=S(()=>{var c;if(!r.value)return r.value;const p=u(0),h=u(1),m=((c=n.value)==null?void 0:c.radius)||2;return{left:r.value.left-p,top:r.value.top-h,width:r.value.width+p*2,height:r.value.height+h*2,radius:m}}),f=S(()=>{const c=l();return!o.value||!c||!window.DOMRect?c||void 0:{getBoundingClientRect(){var p,h,m,v;return window.DOMRect.fromRect({width:((p=d.value)==null?void 0:p.width)||0,height:((h=d.value)==null?void 0:h.height)||0,x:((m=d.value)==null?void 0:m.left)||0,y:((v=d.value)==null?void 0:v.top)||0})}}});return{mergedPosInfo:d,triggerTarget:f}},Kc=Symbol("ElTour");function tre(e){const t=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,{top:o,right:a,bottom:r,left:l}=e.getBoundingClientRect();return o>=0&&l>=0&&a<=t&&r<=n}const nre=(e,t,n,o,a,r,l,i)=>{const u=R(),d=R(),f=R({}),c={x:u,y:d,placement:o,strategy:a,middlewareData:f},p=S(()=>{const g=[S6(s(r)),OV(),AV(),ore()];return s(i)&&s(n)&&g.push(N6({element:s(n)})),g}),h=async()=>{if(!gt)return;const g=s(e),w=s(t);if(!g||!w)return;const b=await I6(g,w,{placement:s(o),strategy:s(a),middleware:s(p)});yl(c).forEach(C=>{c[C].value=b[C]})},m=S(()=>{if(!s(e))return{position:"fixed",top:"50%",left:"50%",transform:"translate3d(-50%, -50%, 0)",maxWidth:"100vw",zIndex:s(l)};const{overflow:g}=s(f);return{position:s(a),zIndex:s(l),top:s(d)!=null?`${s(d)}px`:"",left:s(u)!=null?`${s(u)}px`:"",maxWidth:g!=null&&g.maxWidth?`${g==null?void 0:g.maxWidth}px`:""}}),v=S(()=>{if(!s(i))return{};const{arrow:g}=s(f);return{left:(g==null?void 0:g.x)!=null?`${g==null?void 0:g.x}px`:"",top:(g==null?void 0:g.y)!=null?`${g==null?void 0:g.y}px`:""}});let _;return et(()=>{const g=s(e),w=s(t);g&&w&&(_=TV(g,w,h)),gn(()=>{h()})}),It(()=>{_&&_()}),{update:h,contentStyle:m,arrowStyle:v}},ore=()=>({name:"overflow",async fn(e){const t=await T2(e);let n=0;return t.left>0&&(n=t.left),t.right>0&&(n=t.right),{data:{maxWidth:e.rects.floating.width-n}}}}),are={style:{width:"100%",height:"100%"}},rre=["d"],lre=A({name:"ElTourMask",inheritAttrs:!1}),sre=A({...lre,props:Qae,setup(e){const t=e,{ns:n}=Pe(Kc),o=S(()=>{var i,u;return(u=(i=t.pos)==null?void 0:i.radius)!=null?u:2}),a=S(()=>{const i=o.value,u=`a${i},${i} 0 0 1`;return{topRight:`${u} ${i},${i}`,bottomRight:`${u} ${-i},${i}`,bottomLeft:`${u} ${-i},${-i}`,topLeft:`${u} ${i},${-i}`}}),r=S(()=>{const i=window.innerWidth,u=window.innerHeight,d=a.value,f=`M${i},0 L0,0 L0,${u} L${i},${u} L${i},0 Z`,c=o.value;return t.pos?`${f} M${t.pos.left+c},${t.pos.top} h${t.pos.width-c*2} ${d.topRight} v${t.pos.height-c*2} ${d.bottomRight} h${-t.pos.width+c*2} ${d.bottomLeft} v${-t.pos.height+c*2} ${d.topLeft} z`:f}),l=S(()=>({fill:t.fill,pointerEvents:"auto",cursor:"auto"}));return m2(At(t,"visible"),{ns:n}),(i,u)=>i.visible?(y(),M("div",ft({key:0,class:s(n).e("mask"),style:{position:"fixed",left:0,right:0,top:0,bottom:0,zIndex:i.zIndex,pointerEvents:i.pos&&i.targetAreaClickable?"none":"auto"}},i.$attrs),[(y(),M("svg",are,[k("path",{class:$(s(n).e("hollow")),style:De(s(l)),d:s(r)},null,14,rre)]))],16)):Z("v-if",!0)}});var ire=xe(sre,[["__file","mask.vue"]]);const ure=["absolute","fixed"],cre=["top-start","top-end","top","bottom-start","bottom-end","bottom","left-start","left-end","left","right-start","right-end","right"],bp=Ee({placement:{type:X(String),values:cre,default:"bottom"},reference:{type:X(Object),default:null},strategy:{type:X(String),values:ure,default:"absolute"},offset:{type:Number,default:10},showArrow:Boolean,zIndex:{type:Number,default:2001}}),dre={close:()=>!0},fre=["data-side"],pre=A({name:"ElTourContent"}),vre=A({...pre,props:bp,emits:dre,setup(e,{emit:t}){const n=e,o=R(n.placement),a=R(n.strategy),r=R(null),l=R(null);pe(()=>n.placement,()=>{o.value=n.placement});const{contentStyle:i,arrowStyle:u}=nre(At(n,"reference"),r,l,o,a,At(n,"offset"),At(n,"zIndex"),At(n,"showArrow")),d=S(()=>o.value.split("-")[0]),{ns:f}=Pe(Kc),c=()=>{t("close")},p=h=>{h.detail.focusReason==="pointer"&&h.preventDefault()};return(h,m)=>(y(),M("div",{ref_key:"contentRef",ref:r,style:De(s(i)),class:$(s(f).e("content")),"data-side":s(d),tabindex:"-1"},[W(s(ii),{loop:"",trapped:"","focus-start-el":"container","focus-trap-el":r.value||void 0,onReleaseRequested:c,onFocusoutPrevented:p},{default:G(()=>[re(h.$slots,"default")]),_:3},8,["focus-trap-el"]),h.showArrow?(y(),M("span",{key:0,ref_key:"arrowRef",ref:l,style:De(s(u)),class:$(s(f).e("arrow"))},null,6)):Z("v-if",!0)],14,fre))}});var hre=xe(vre,[["__file","content.vue"]]),mre=A({name:"ElTourSteps",props:{current:{type:Number,default:0}},emits:["update-total"],setup(e,{slots:t,emit:n}){let o=0;return()=>{var a,r;const l=(a=t.default)==null?void 0:a.call(t),i=[];let u=0;function d(f){Ie(f)&&f.forEach(c=>{var p;((p=(c==null?void 0:c.type)||{})==null?void 0:p.name)==="ElTourStep"&&(i.push(c),u+=1)})}return l.length&&d(La((r=l[0])==null?void 0:r.children)),o!==u&&(o=u,n("update-total",u)),i.length?i[e.current]:null}}});const gre=Ee({modelValue:Boolean,current:{type:Number,default:0},showArrow:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeIcon:{type:$t},placement:bp.placement,contentStyle:{type:X([Object])},mask:{type:X([Boolean,Object]),default:!0},gap:{type:X(Object),default:()=>({offset:6,radius:2})},zIndex:{type:Number},scrollIntoViewOptions:{type:X([Boolean,Object]),default:()=>({block:"center"})},type:{type:X(String)},appendTo:{type:X([String,Object]),default:"body"},closeOnPressEscape:{type:Boolean,default:!0},targetAreaClickable:{type:Boolean,default:!0}}),yre={[it]:e=>Qt(e),"update:current":e=>Ye(e),close:e=>Ye(e),finish:()=>!0,change:e=>Ye(e)},_re=A({name:"ElTour"}),bre=A({..._re,props:gre,emits:yre,setup(e,{emit:t}){const n=e,o=me("tour"),a=R(0),r=R(),l=H4(n,"current",t,{passive:!0}),i=S(()=>{var V;return(V=r.value)==null?void 0:V.target}),u=S(()=>[o.b(),_.value==="primary"?o.m("primary"):""]),d=S(()=>{var V;return((V=r.value)==null?void 0:V.placement)||n.placement}),f=S(()=>{var V,L;return(L=(V=r.value)==null?void 0:V.contentStyle)!=null?L:n.contentStyle}),c=S(()=>{var V,L;return(L=(V=r.value)==null?void 0:V.mask)!=null?L:n.mask}),p=S(()=>!!c.value&&n.modelValue),h=S(()=>Qt(c.value)?void 0:c.value),m=S(()=>{var V,L;return!!i.value&&((L=(V=r.value)==null?void 0:V.showArrow)!=null?L:n.showArrow)}),v=S(()=>{var V,L;return(L=(V=r.value)==null?void 0:V.scrollIntoViewOptions)!=null?L:n.scrollIntoViewOptions}),_=S(()=>{var V,L;return(L=(V=r.value)==null?void 0:V.type)!=null?L:n.type}),{nextZIndex:g}=zl(),w=g(),b=S(()=>{var V;return(V=n.zIndex)!=null?V:w}),{mergedPosInfo:C,triggerTarget:x}=ere(i,At(n,"modelValue"),At(n,"gap"),c,v);pe(()=>n.modelValue,V=>{V||(l.value=0)});const E=()=>{n.closeOnPressEscape&&(t("update:modelValue",!1),t("close",l.value))},O=V=>{a.value=V},T=fn();return pt(Kc,{currentStep:r,current:l,total:a,showClose:At(n,"showClose"),closeIcon:At(n,"closeIcon"),mergedType:_,ns:o,slots:T,updateModelValue(V){t("update:modelValue",V)},onClose(){t("close",l.value)},onFinish(){t("finish")},onChange(){t("change",l.value)}}),(V,L)=>{var P,z;return y(),M(Fe,null,[(y(),oe(Nl,{to:V.appendTo},[k("div",ft({class:s(u)},V.$attrs),[W(ire,{visible:s(p),fill:(P=s(h))==null?void 0:P.color,style:De((z=s(h))==null?void 0:z.style),pos:s(C),"z-index":s(b),"target-area-clickable":V.targetAreaClickable},null,8,["visible","fill","style","pos","z-index","target-area-clickable"]),V.modelValue?(y(),oe(hre,{key:s(l),reference:s(x),placement:s(d),"show-arrow":s(m),"z-index":s(b),style:De(s(f)),onClose:E},{default:G(()=>[W(s(mre),{current:s(l),onUpdateTotal:O},{default:G(()=>[re(V.$slots,"default")]),_:3},8,["current"])]),_:3},8,["reference","placement","show-arrow","z-index","style"])):Z("v-if",!0)],16)],8,["to"])),Z(" just for IDE "),Z("v-if",!0)],64)}}});var wre=xe(bre,[["__file","tour.vue"]]);const Cre=Ee({target:{type:X([String,Object,Function])},title:String,description:String,showClose:{type:Boolean,default:void 0},closeIcon:{type:$t},showArrow:{type:Boolean,default:void 0},placement:bp.placement,mask:{type:X([Boolean,Object]),default:void 0},contentStyle:{type:X([Object])},prevButtonProps:{type:X(Object)},nextButtonProps:{type:X(Object)},scrollIntoViewOptions:{type:X([Boolean,Object]),default:void 0},type:{type:X(String)}}),Sre={close:()=>!0},kre=A({name:"ElTourStep"}),Ere=A({...kre,props:Cre,emits:Sre,setup(e,{emit:t}){const n=e,{Close:o}=c2,{t:a}=_t(),{currentStep:r,current:l,total:i,showClose:u,closeIcon:d,mergedType:f,ns:c,slots:p,updateModelValue:h,onClose:m,onFinish:v,onChange:_}=Pe(Kc);pe(n,T=>{r.value=T},{immediate:!0});const g=S(()=>{var T;return(T=n.showClose)!=null?T:u.value}),w=S(()=>{var T,V;return(V=(T=n.closeIcon)!=null?T:d.value)!=null?V:o}),b=T=>{if(T)return aE(T,["children","onClick"])},C=()=>{var T,V;l.value-=1,(T=n.prevButtonProps)!=null&&T.onClick&&((V=n.prevButtonProps)==null||V.onClick()),_()},x=()=>{var T;l.value>=i.value-1?E():l.value+=1,(T=n.nextButtonProps)!=null&&T.onClick&&n.nextButtonProps.onClick(),_()},E=()=>{O(),v()},O=()=>{h(!1),m(),t("close")};return(T,V)=>(y(),M(Fe,null,[s(g)?(y(),M("button",{key:0,"aria-label":"Close",class:$(s(c).e("closebtn")),type:"button",onClick:O},[W(s(Be),{class:$(s(c).e("close"))},{default:G(()=>[(y(),oe(ut(s(w))))]),_:1},8,["class"])],2)):Z("v-if",!0),k("header",{class:$([s(c).e("header"),{"show-close":s(u)}])},[re(T.$slots,"header",{},()=>[k("span",{role:"heading",class:$(s(c).e("title"))},Me(T.title),3)])],2),k("div",{class:$(s(c).e("body"))},[re(T.$slots,"default",{},()=>[k("span",null,Me(T.description),1)])],2),k("footer",{class:$(s(c).e("footer"))},[k("div",{class:$(s(c).b("indicators"))},[s(p).indicators?(y(),oe(ut(s(p).indicators),{key:0,current:s(l),total:s(i)},null,8,["current","total"])):(y(!0),M(Fe,{key:1},mt(s(i),(L,P)=>(y(),M("span",{key:L,class:$([s(c).b("indicator"),P===s(l)?"is-active":""])},null,2))),128))],2),k("div",{class:$(s(c).b("buttons"))},[s(l)>0?(y(),oe(s(rn),ft({key:0,size:"small",type:s(f)},b(T.prevButtonProps),{onClick:C}),{default:G(()=>{var L,P;return[vt(Me((P=(L=T.prevButtonProps)==null?void 0:L.children)!=null?P:s(a)("el.tour.previous")),1)]}),_:1},16,["type"])):Z("v-if",!0),s(l)<=s(i)-1?(y(),oe(s(rn),ft({key:1,size:"small",type:s(f)==="primary"?"default":"primary"},b(T.nextButtonProps),{onClick:x}),{default:G(()=>{var L,P;return[vt(Me((P=(L=T.nextButtonProps)==null?void 0:L.children)!=null?P:s(l)===s(i)-1?s(a)("el.tour.finish"):s(a)("el.tour.next")),1)]}),_:1},16,["type"])):Z("v-if",!0)],2)],2)],64))}});var jy=xe(Ere,[["__file","step.vue"]]);const xre=lt(wre,{TourStep:jy}),Mre=Dt(jy),$re=Ee({container:{type:X([String,Object])},offset:{type:Number,default:0},bound:{type:Number,default:15},duration:{type:Number,default:300},marker:{type:Boolean,default:!0},type:{type:X(String),default:"default"},direction:{type:X(String),default:"vertical"}}),Tre={change:e=>Ze(e),click:(e,t)=>e instanceof MouseEvent&&(Ze(t)||Zt(t))},qy=Symbol("anchor"),Are=A({name:"ElAnchor"}),Ore=A({...Are,props:$re,emits:Tre,setup(e,{expose:t,emit:n}){const o=e,a=R(""),r=R(null),l=R(null),i=R(),u={};let d=!1,f=0;const c=me("anchor"),p=S(()=>[c.b(),o.type==="underline"?c.m("underline"):"",c.m(o.direction)]),h=T=>{u[T.href]=T.el},m=T=>{delete u[T]},v=T=>{a.value!==T&&(a.value=T,n("change",T))};let _=null;const g=T=>{if(!i.value)return;const V=Mi(T);if(!V)return;_&&_(),d=!0;const L=c1(V,i.value),P=tf(V,L),z=L.scrollHeight-L.clientHeight,j=Math.min(P-o.offset,z);_=gE(i.value,f,j,o.duration,()=>{setTimeout(()=>{d=!1},20)})},w=T=>{T&&(v(T),g(T))},b=(T,V)=>{n("click",T,V),w(V)},C=AP(()=>{i.value&&(f=d1(i.value));const T=x();d||Zt(T)||v(T)}),x=()=>{if(!i.value)return;const T=d1(i.value),V=[];for(const L of Object.keys(u)){const P=Mi(L);if(!P)continue;const z=c1(P,i.value),j=tf(P,z);V.push({top:j-o.offset-o.bound,href:L})}V.sort((L,P)=>L.top-P.top);for(let L=0;LT))return P.href}},E=()=>{const T=Mi(o.container);!T||wc(T)?i.value=window:i.value=T};Vt(i,"scroll",C);const O=S(()=>{if(!r.value||!l.value||!a.value)return{};const T=u[a.value];if(!T)return{};const V=r.value.getBoundingClientRect(),L=l.value.getBoundingClientRect(),P=T.getBoundingClientRect();return o.direction==="horizontal"?{left:`${P.left-V.left}px`,width:`${P.width}px`,opacity:1}:{top:`${P.top-V.top+(P.height-L.height)/2}px`,opacity:1}});return et(()=>{E();const T=decodeURIComponent(window.location.hash);Mi(T)?w(T):C()}),pe(()=>o.container,()=>{E()}),pt(qy,{ns:c,direction:o.direction,currentAnchor:a,addLink:h,removeLink:m,handleClick:b}),t({scrollTo:w}),(T,V)=>(y(),M("div",{ref_key:"anchorRef",ref:r,class:$(s(p))},[T.marker?(y(),M("div",{key:0,ref_key:"markerRef",ref:l,class:$(s(c).e("marker")),style:De(s(O))},null,6)):Z("v-if",!0),k("div",{class:$(s(c).e("list"))},[re(T.$slots,"default")],2)],2))}});var Nre=xe(Ore,[["__file","anchor.vue"]]);const Ire=Ee({title:String,href:String}),Rre=["href"],Pre=A({name:"ElAnchorLink"}),Lre=A({...Pre,props:Ire,setup(e){const t=e,n=R(null),{ns:o,direction:a,currentAnchor:r,addLink:l,removeLink:i,handleClick:u}=Pe(qy),d=S(()=>[o.e("link"),o.is("active",r.value===t.href)]),f=c=>{u(c,t.href)};return pe(()=>t.href,(c,p)=>{We(()=>{p&&i(p),c&&l({href:c,el:n.value})})}),et(()=>{const{href:c}=t;c&&l({href:c,el:n.value})}),It(()=>{const{href:c}=t;c&&i(c)}),(c,p)=>(y(),M("div",{class:$(s(o).e("item"))},[k("a",{ref_key:"linkRef",ref:n,class:$(s(d)),href:c.href,onClick:f},[re(c.$slots,"default",{},()=>[vt(Me(c.title),1)])],10,Rre),c.$slots["sub-link"]&&s(a)==="vertical"?(y(),M("div",{key:0,class:$(s(o).e("list"))},[re(c.$slots,"sub-link")],2)):Z("v-if",!0)],2))}});var Uy=xe(Lre,[["__file","anchor-link.vue"]]);const Vre=lt(Nre,{AnchorLink:Uy}),Bre=Dt(Uy);var zre=[GV,lB,NH,rne,zH,qH,J6,lD,sD,rn,a3,xF,OF,JF,ZF,cW,XK,mW,vo,mK,N3,$W,qW,UW,BW,Sj,DV,Pj,Lj,Vj,Bj,zj,rU,mU,gU,IU,f8,UU,BY,zY,HY,w8,QB,ez,Be,NG,C8,mn,S8,qG,fX,pX,vX,hX,CX,$J,RJ,KJ,Y6,I8,z3,NK,OK,lZ,dZ,SW,ha,Or,Ku,eJ,XZ,aQ,rQ,PQ,HQ,Z8,JQ,lee,see,yee,dy,fy,ane,bne,wne,Ls,xne,aF,Nne,Vne,Bne,En,coe,Eoe,zoe,qoe,cae,Fae,Zae,xre,Mre,Vre,Bre];const yo="ElInfiniteScroll",Hre=50,Dre=200,Fre=0,Kre={delay:{type:Number,default:Dre},distance:{type:Number,default:Fre},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0}},wp=(e,t)=>Object.entries(Kre).reduce((n,[o,a])=>{var r,l;const{type:i,default:u}=a,d=e.getAttribute(`infinite-scroll-${o}`);let f=(l=(r=t[d])!=null?r:d)!=null?l:u;return f=f==="false"?!1:f,f=i(f),n[o]=Number.isNaN(f)?u:f,n},{}),Yy=e=>{const{observer:t}=e[yo];t&&(t.disconnect(),delete e[yo].observer)},Wre=(e,t)=>{const{container:n,containerEl:o,instance:a,observer:r,lastScrollTop:l}=e[yo],{disabled:i,distance:u}=wp(e,a),{clientHeight:d,scrollHeight:f,scrollTop:c}=o,p=c-l;if(e[yo].lastScrollTop=c,r||i||p<0)return;let h=!1;if(n===e)h=f-(d+c)<=u;else{const{clientTop:m,scrollHeight:v}=e,_=tf(e,o);h=c+d>=_+m+v-u}h&&t.call(a)};function Bd(e,t){const{containerEl:n,instance:o}=e[yo],{disabled:a}=wp(e,o);a||n.clientHeight===0||(n.scrollHeight<=n.clientHeight?t.call(o):Yy(e))}const jre={async mounted(e,t){const{instance:n,value:o}=t;Xe(o)||on(yo,"'v-infinite-scroll' binding value must be a function"),await We();const{delay:a,immediate:r}=wp(e,n),l=a2(e,!0),i=l===window?document.documentElement:l,u=mr(Wre.bind(null,e,o),a);if(l){if(e[yo]={instance:n,container:l,containerEl:i,delay:a,cb:o,onScroll:u,lastScrollTop:i.scrollTop},r){const d=new MutationObserver(mr(Bd.bind(null,e,o),Hre));e[yo].observer=d,d.observe(e,{childList:!0,subtree:!0}),Bd(e,o)}l.addEventListener("scroll",u)}},unmounted(e){const{container:t,onScroll:n}=e[yo];t==null||t.removeEventListener("scroll",n),Yy(e)},async updated(e){if(!e[yo])await We();else{const{containerEl:t,cb:n,observer:o}=e[yo];t.clientHeight&&o&&Bd(e,n)}}},u0=jre;u0.install=e=>{e.directive("InfiniteScroll",u0)};const qre=u0;function Ure(e){let t;const n=R(!1),o=wt({...e,originalPosition:"",originalOverflow:"",visible:!1});function a(p){o.text=p}function r(){const p=o.parent,h=c.ns;if(!p.vLoadingAddClassList){let m=p.getAttribute("loading-number");m=Number.parseInt(m)-1,m?p.setAttribute("loading-number",m.toString()):(Cn(p,h.bm("parent","relative")),p.removeAttribute("loading-number")),Cn(p,h.bm("parent","hidden"))}l(),f.unmount()}function l(){var p,h;(h=(p=c.$el)==null?void 0:p.parentNode)==null||h.removeChild(c.$el)}function i(){var p;e.beforeClose&&!e.beforeClose()||(n.value=!0,clearTimeout(t),t=window.setTimeout(u,400),o.visible=!1,(p=e.closed)==null||p.call(e))}function u(){if(!n.value)return;const p=o.parent;n.value=!1,p.vLoadingAddClassList=void 0,r()}const f=N4(A({name:"ElLoading",setup(p,{expose:h}){const{ns:m,zIndex:v}=Ic("loading");return h({ns:m,zIndex:v}),()=>{const _=o.spinner||o.svg,g=qe("svg",{class:"circular",viewBox:o.svgViewBox?o.svgViewBox:"0 0 50 50",..._?{innerHTML:_}:{}},[qe("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),w=o.text?qe("p",{class:m.b("text")},[o.text]):void 0;return qe(nn,{name:m.b("fade"),onAfterLeave:u},{default:G(()=>[Qe(W("div",{style:{backgroundColor:o.background||""},class:[m.b("mask"),o.customClass,o.fullscreen?"is-fullscreen":""]},[qe("div",{class:m.b("spinner")},[g,w])]),[[bt,o.visible]])])})}}})),c=f.mount(document.createElement("div"));return{...un(o),setText:a,removeElLoadingChild:l,close:i,handleAfterLeave:u,vm:c,get $el(){return c.$el}}}let Di;const c0=function(e={}){if(!gt)return;const t=Yre(e);if(t.fullscreen&&Di)return Di;const n=Ure({...t,closed:()=>{var a;(a=t.closed)==null||a.call(t),t.fullscreen&&(Di=void 0)}});Gre(t,t.parent,n),tm(t,t.parent,n),t.parent.vLoadingAddClassList=()=>tm(t,t.parent,n);let o=t.parent.getAttribute("loading-number");return o?o=`${Number.parseInt(o)+1}`:o="1",t.parent.setAttribute("loading-number",o),t.parent.appendChild(n.$el),We(()=>n.visible.value=t.visible),t.fullscreen&&(Di=n),n},Yre=e=>{var t,n,o,a;let r;return Ze(e.target)?r=(t=document.querySelector(e.target))!=null?t:document.body:r=e.target||document.body,{parent:r===document.body||e.body?document.body:r,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:r===document.body&&((n=e.fullscreen)!=null?n:!0),lock:(o=e.lock)!=null?o:!1,customClass:e.customClass||"",visible:(a=e.visible)!=null?a:!0,target:r}},Gre=async(e,t,n)=>{const{nextZIndex:o}=n.vm.zIndex||n.vm._.exposed.zIndex,a={};if(e.fullscreen)n.originalPosition.value=Oa(document.body,"position"),n.originalOverflow.value=Oa(document.body,"overflow"),a.zIndex=o();else if(e.parent===document.body){n.originalPosition.value=Oa(document.body,"position"),await We();for(const r of["top","left"]){const l=r==="top"?"scrollTop":"scrollLeft";a[r]=`${e.target.getBoundingClientRect()[r]+document.body[l]+document.documentElement[l]-Number.parseInt(Oa(document.body,`margin-${r}`),10)}px`}for(const r of["height","width"])a[r]=`${e.target.getBoundingClientRect()[r]}px`}else n.originalPosition.value=Oa(t,"position");for(const[r,l]of Object.entries(a))n.$el.style[r]=l},tm=(e,t,n)=>{const o=n.vm.ns||n.vm._.exposed.ns;["absolute","fixed","sticky"].includes(n.originalPosition.value)?Cn(t,o.bm("parent","relative")):eo(t,o.bm("parent","relative")),e.fullscreen&&e.lock?eo(t,o.bm("parent","hidden")):Cn(t,o.bm("parent","hidden"))},yu=Symbol("ElLoading"),nm=(e,t)=>{var n,o,a,r;const l=t.instance,i=p=>ct(t.value)?t.value[p]:void 0,u=p=>{const h=Ze(p)&&(l==null?void 0:l[p])||p;return h&&R(h)},d=p=>u(i(p)||e.getAttribute(`element-loading-${qa(p)}`)),f=(n=i("fullscreen"))!=null?n:t.modifiers.fullscreen,c={text:d("text"),svg:d("svg"),svgViewBox:d("svgViewBox"),spinner:d("spinner"),background:d("background"),customClass:d("customClass"),fullscreen:f,target:(o=i("target"))!=null?o:f?void 0:e,body:(a=i("body"))!=null?a:t.modifiers.body,lock:(r=i("lock"))!=null?r:t.modifiers.lock};e[yu]={options:c,instance:c0(c)}},Xre=(e,t)=>{for(const n of Object.keys(t))Pt(t[n])&&(t[n].value=e[n])},om={mounted(e,t){t.value&&nm(e,t)},updated(e,t){const n=e[yu];t.oldValue!==t.value&&(t.value&&!t.oldValue?nm(e,t):t.value&&t.oldValue?ct(t.value)&&Xre(t.value,n.options):n==null||n.instance.close())},unmounted(e){var t;(t=e[yu])==null||t.instance.close(),e[yu]=null}},Jre={install(e){e.directive("loading",om),e.config.globalProperties.$loading=c0},directive:om,service:c0},Gy=["success","info","warning","error"],_n=Ht({customClass:"",center:!1,dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,zIndex:0,grouping:!1,repeatNum:1,appendTo:gt?document.body:void 0}),Zre=Ee({customClass:{type:String,default:_n.customClass},center:{type:Boolean,default:_n.center},dangerouslyUseHTMLString:{type:Boolean,default:_n.dangerouslyUseHTMLString},duration:{type:Number,default:_n.duration},icon:{type:$t,default:_n.icon},id:{type:String,default:_n.id},message:{type:X([String,Object,Function]),default:_n.message},onClose:{type:X(Function),default:_n.onClose},showClose:{type:Boolean,default:_n.showClose},type:{type:String,values:Gy,default:_n.type},plain:{type:Boolean,default:_n.plain},offset:{type:Number,default:_n.offset},zIndex:{type:Number,default:_n.zIndex},grouping:{type:Boolean,default:_n.grouping},repeatNum:{type:Number,default:_n.repeatNum}}),Qre={destroy:()=>!0},bo=Rm([]),ele=e=>{const t=bo.findIndex(a=>a.id===e),n=bo[t];let o;return t>0&&(o=bo[t-1]),{current:n,prev:o}},tle=e=>{const{prev:t}=ele(e);return t?t.vm.exposed.bottom.value:0},nle=(e,t)=>bo.findIndex(o=>o.id===e)>0?16:t,ole=["id"],ale=["innerHTML"],rle=A({name:"ElMessage"}),lle=A({...rle,props:Zre,emits:Qre,setup(e,{expose:t}){const n=e,{Close:o}=d2,{ns:a,zIndex:r}=Ic("message"),{currentZIndex:l,nextZIndex:i}=r,u=R(),d=R(!1),f=R(0);let c;const p=S(()=>n.type?n.type==="error"?"danger":n.type:"info"),h=S(()=>{const O=n.type;return{[a.bm("icon",O)]:O&&Ka[O]}}),m=S(()=>n.icon||Ka[n.type]||""),v=S(()=>tle(n.id)),_=S(()=>nle(n.id,n.offset)+v.value),g=S(()=>f.value+_.value),w=S(()=>({top:`${_.value}px`,zIndex:l.value}));function b(){n.duration!==0&&({stop:c}=Cr(()=>{x()},n.duration))}function C(){c==null||c()}function x(){d.value=!1}function E({code:O}){O===Ke.esc&&x()}return et(()=>{b(),i(),d.value=!0}),pe(()=>n.repeatNum,()=>{C(),b()}),Vt(document,"keydown",E),Kt(u,()=>{f.value=u.value.getBoundingClientRect().height}),t({visible:d,bottom:g,close:x}),(O,T)=>(y(),oe(nn,{name:s(a).b("fade"),onBeforeLeave:O.onClose,onAfterLeave:T[0]||(T[0]=V=>O.$emit("destroy")),persisted:""},{default:G(()=>[Qe(k("div",{id:O.id,ref_key:"messageRef",ref:u,class:$([s(a).b(),{[s(a).m(O.type)]:O.type},s(a).is("center",O.center),s(a).is("closable",O.showClose),s(a).is("plain",O.plain),O.customClass]),style:De(s(w)),role:"alert",onMouseenter:C,onMouseleave:b},[O.repeatNum>1?(y(),oe(s(J6),{key:0,value:O.repeatNum,type:s(p),class:$(s(a).e("badge"))},null,8,["value","type","class"])):Z("v-if",!0),s(m)?(y(),oe(s(Be),{key:1,class:$([s(a).e("icon"),s(h)])},{default:G(()=>[(y(),oe(ut(s(m))))]),_:1},8,["class"])):Z("v-if",!0),re(O.$slots,"default",{},()=>[O.dangerouslyUseHTMLString?(y(),M(Fe,{key:1},[Z(" Caution here, message could've been compromised, never use user's input as message "),k("p",{class:$(s(a).e("content")),innerHTML:O.message},null,10,ale)],2112)):(y(),M("p",{key:0,class:$(s(a).e("content"))},Me(O.message),3))]),O.showClose?(y(),oe(s(Be),{key:2,class:$(s(a).e("closeBtn")),onClick:Ge(x,["stop"])},{default:G(()=>[W(s(o))]),_:1},8,["class","onClick"])):Z("v-if",!0)],46,ole),[[bt,d.value]])]),_:3},8,["name","onBeforeLeave"]))}});var sle=xe(lle,[["__file","message.vue"]]);let ile=1;const Xy=e=>{const t=!e||Ze(e)||zt(e)||Xe(e)?{message:e}:e,n={..._n,...t};if(!n.appendTo)n.appendTo=document.body;else if(Ze(n.appendTo)){let o=document.querySelector(n.appendTo);io(o)||(o=document.body),n.appendTo=o}return n},ule=e=>{const t=bo.indexOf(e);if(t===-1)return;bo.splice(t,1);const{handler:n}=e;n.close()},cle=({appendTo:e,...t},n)=>{const o=`message_${ile++}`,a=t.onClose,r=document.createElement("div"),l={...t,id:o,onClose:()=>{a==null||a(),ule(f)},onDestroy:()=>{Ha(null,r)}},i=W(sle,l,Xe(l.message)||zt(l.message)?{default:Xe(l.message)?l.message:()=>l.message}:null);i.appContext=n||$l._context,Ha(i,r),e.appendChild(r.firstElementChild);const u=i.component,f={id:o,vnode:i,vm:u,handler:{close:()=>{u.exposed.visible.value=!1}},props:i.component.props};return f},$l=(e={},t)=>{if(!gt)return{close:()=>{}};if(Ye(hf.max)&&bo.length>=hf.max)return{close:()=>{}};const n=Xy(e);if(n.grouping&&bo.length){const a=bo.find(({vnode:r})=>{var l;return((l=r.props)==null?void 0:l.message)===n.message});if(a)return a.props.repeatNum+=1,a.props.type=n.type,a.handler}const o=cle(n,t);return bo.push(o),o.handler};Gy.forEach(e=>{$l[e]=(t={},n)=>{const o=Xy(t);return $l({...o,type:e},n)}});function dle(e){for(const t of bo)(!e||e===t.props.type)&&t.handler.close()}$l.closeAll=dle;$l._context=null;const os=Qg($l,"$message"),fle=A({name:"ElMessageBox",directives:{TrapFocus:HD},components:{ElButton:rn,ElFocusTrap:ii,ElInput:mn,ElOverlay:U2,ElIcon:Be,...d2},inheritAttrs:!1,props:{buttonSize:{type:String,validator:e6},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:{default:!1,type:Boolean},container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{locale:n,zIndex:o,ns:a,size:r}=Ic("message-box",S(()=>e.buttonSize)),{t:l}=n,{nextZIndex:i}=o,u=R(!1),d=wt({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:null,inputValidator:null,inputErrorMessage:"",message:null,modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:i()}),f=S(()=>{const B=d.type;return{[a.bm("icon",B)]:B&&Ka[B]}}),c=kn(),p=kn(),h=S(()=>d.icon||Ka[d.type]||""),m=S(()=>!!d.message),v=R(),_=R(),g=R(),w=R(),b=R(),C=S(()=>d.confirmButtonClass);pe(()=>d.inputValue,async B=>{await We(),e.boxType==="prompt"&&B!==null&&z()},{immediate:!0}),pe(()=>u.value,B=>{var I,H;B&&(e.boxType!=="prompt"&&(d.autofocus?g.value=(H=(I=b.value)==null?void 0:I.$el)!=null?H:v.value:g.value=v.value),d.zIndex=i()),e.boxType==="prompt"&&(B?We().then(()=>{var N;w.value&&w.value.$el&&(d.autofocus?g.value=(N=j())!=null?N:v.value:g.value=v.value)}):(d.editorErrorMessage="",d.validateError=!1))});const x=S(()=>e.draggable),E=S(()=>e.overflow);t6(v,_,x,E),et(async()=>{await We(),e.closeOnHashChange&&window.addEventListener("hashchange",O)}),It(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",O)});function O(){u.value&&(u.value=!1,We(()=>{d.action&&t("action",d.action)}))}const T=()=>{e.closeOnClickModal&&P(d.distinguishCancelAndClose?"close":"cancel")},V=E2(T),L=B=>{if(d.inputType!=="textarea")return B.preventDefault(),P("confirm")},P=B=>{var I;e.boxType==="prompt"&&B==="confirm"&&!z()||(d.action=B,d.beforeClose?(I=d.beforeClose)==null||I.call(d,B,d,O):O())},z=()=>{if(e.boxType==="prompt"){const B=d.inputPattern;if(B&&!B.test(d.inputValue||""))return d.editorErrorMessage=d.inputErrorMessage||l("el.messagebox.error"),d.validateError=!0,!1;const I=d.inputValidator;if(typeof I=="function"){const H=I(d.inputValue);if(H===!1)return d.editorErrorMessage=d.inputErrorMessage||l("el.messagebox.error"),d.validateError=!0,!1;if(typeof H=="string")return d.editorErrorMessage=H,d.validateError=!0,!1}}return d.editorErrorMessage="",d.validateError=!1,!0},j=()=>{const B=w.value.$refs;return B.input||B.textarea},K=()=>{P("close")},F=()=>{e.closeOnPressEscape&&K()};return e.lockScroll&&m2(u),{...un(d),ns:a,overlayEvent:V,visible:u,hasMessage:m,typeClass:f,contentId:c,inputId:p,btnSize:r,iconComponent:h,confirmButtonClasses:C,rootRef:v,focusStartRef:g,headerRef:_,inputRef:w,confirmRef:b,doClose:O,handleClose:K,onCloseRequested:F,handleWrapperClick:T,handleInputEnter:L,handleAction:P,t:l}}}),ple=["aria-label","aria-describedby"],vle=["aria-label"],hle=["id"];function mle(e,t,n,o,a,r){const l=nt("el-icon"),i=nt("close"),u=nt("el-input"),d=nt("el-button"),f=nt("el-focus-trap"),c=nt("el-overlay");return y(),oe(nn,{name:"fade-in-linear",onAfterLeave:t[11]||(t[11]=p=>e.$emit("vanish")),persisted:""},{default:G(()=>[Qe(W(c,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:G(()=>[k("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:$(`${e.ns.namespace.value}-overlay-message-box`),onClick:t[8]||(t[8]=(...p)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...p)),onMousedown:t[9]||(t[9]=(...p)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...p)),onMouseup:t[10]||(t[10]=(...p)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...p))},[W(f,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:G(()=>[k("div",{ref:"rootRef",class:$([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),{[e.ns.m("center")]:e.center}]),style:De(e.customStyle),tabindex:"-1",onClick:t[7]||(t[7]=Ge(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(y(),M("div",{key:0,ref:"headerRef",class:$([e.ns.e("header"),{"show-close":e.showClose}])},[k("div",{class:$(e.ns.e("title"))},[e.iconComponent&&e.center?(y(),oe(l,{key:0,class:$([e.ns.e("status"),e.typeClass])},{default:G(()=>[(y(),oe(ut(e.iconComponent)))]),_:1},8,["class"])):Z("v-if",!0),k("span",null,Me(e.title),1)],2),e.showClose?(y(),M("button",{key:0,type:"button",class:$(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t[0]||(t[0]=p=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:t[1]||(t[1]=Mt(Ge(p=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[W(l,{class:$(e.ns.e("close"))},{default:G(()=>[W(i)]),_:1},8,["class"])],42,vle)):Z("v-if",!0)],2)):Z("v-if",!0),k("div",{id:e.contentId,class:$(e.ns.e("content"))},[k("div",{class:$(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(y(),oe(l,{key:0,class:$([e.ns.e("status"),e.typeClass])},{default:G(()=>[(y(),oe(ut(e.iconComponent)))]),_:1},8,["class"])):Z("v-if",!0),e.hasMessage?(y(),M("div",{key:1,class:$(e.ns.e("message"))},[re(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(y(),oe(ut(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(y(),oe(ut(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0},{default:G(()=>[vt(Me(e.dangerouslyUseHTMLString?"":e.message),1)]),_:1},8,["for"]))])],2)):Z("v-if",!0)],2),Qe(k("div",{class:$(e.ns.e("input"))},[W(u,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t[2]||(t[2]=p=>e.inputValue=p),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:$({invalid:e.validateError}),onKeydown:Mt(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),k("div",{class:$(e.ns.e("errormsg")),style:De({visibility:e.editorErrorMessage?"visible":"hidden"})},Me(e.editorErrorMessage),7)],2),[[bt,e.showInput]])],10,hle),k("div",{class:$(e.ns.e("btns"))},[e.showCancelButton?(y(),oe(d,{key:0,loading:e.cancelButtonLoading,class:$([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t[3]||(t[3]=p=>e.handleAction("cancel")),onKeydown:t[4]||(t[4]=Mt(Ge(p=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:G(()=>[vt(Me(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["loading","class","round","size"])):Z("v-if",!0),Qe(W(d,{ref:"confirmRef",type:"primary",loading:e.confirmButtonLoading,class:$([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t[5]||(t[5]=p=>e.handleAction("confirm")),onKeydown:t[6]||(t[6]=Mt(Ge(p=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:G(()=>[vt(Me(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["loading","class","round","disabled","size"]),[[bt,e.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,ple)]),_:3},8,["z-index","overlay-class","mask"]),[[bt,e.visible]])]),_:3})}var gle=xe(fle,[["render",mle],["__file","index.vue"]]);const js=new Map,yle=e=>{let t=document.body;return e.appendTo&&(Ze(e.appendTo)&&(t=document.querySelector(e.appendTo)),io(e.appendTo)&&(t=e.appendTo),io(t)||(t=document.body)),t},_le=(e,t,n=null)=>{const o=W(gle,e,Xe(e.message)||zt(e.message)?{default:Xe(e.message)?e.message:()=>e.message}:null);return o.appContext=n,Ha(o,t),yle(e).appendChild(t.firstElementChild),o.component},ble=()=>document.createElement("div"),wle=(e,t)=>{const n=ble();e.onVanish=()=>{Ha(null,n),js.delete(a)},e.onAction=r=>{const l=js.get(a);let i;e.showInput?i={value:a.inputValue,action:r}:i=r,e.callback?e.callback(i,o.proxy):r==="cancel"||r==="close"?e.distinguishCancelAndClose&&r!=="cancel"?l.reject("close"):l.reject("cancel"):l.resolve(i)};const o=_le(e,n,t),a=o.proxy;for(const r in e)yt(e,r)&&!yt(a.$props,r)&&(a[r]=e[r]);return a.visible=!0,a};function Dl(e,t=null){if(!gt)return Promise.reject();let n;return Ze(e)||zt(e)?e={message:e}:n=e.callback,new Promise((o,a)=>{const r=wle(e,t??Dl._context);js.set(r,{options:e,callback:n,resolve:o,reject:a})})}const Cle=["alert","confirm","prompt"],Sle={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};Cle.forEach(e=>{Dl[e]=kle(e)});function kle(e){return(t,n,o,a)=>{let r="";return ct(n)?(o=n,r=""):Zt(n)?r="":r=n,Dl(Object.assign({title:r,message:t,type:"",...Sle[e]},o,{boxType:e}),a)}}Dl.close=()=>{js.forEach((e,t)=>{t.doClose()}),js.clear()};Dl._context=null;const Ea=Dl;Ea.install=e=>{Ea._context=e._context,e.config.globalProperties.$msgbox=Ea,e.config.globalProperties.$messageBox=Ea,e.config.globalProperties.$alert=Ea.alert,e.config.globalProperties.$confirm=Ea.confirm,e.config.globalProperties.$prompt=Ea.prompt};const Ele=Ea,Jy=["success","info","warning","error"],xle=Ee({customClass:{type:String,default:""},dangerouslyUseHTMLString:{type:Boolean,default:!1},duration:{type:Number,default:4500},icon:{type:$t},id:{type:String,default:""},message:{type:X([String,Object]),default:""},offset:{type:Number,default:0},onClick:{type:X(Function),default:()=>{}},onClose:{type:X(Function),required:!0},position:{type:String,values:["top-right","top-left","bottom-right","bottom-left"],default:"top-right"},showClose:{type:Boolean,default:!0},title:{type:String,default:""},type:{type:String,values:[...Jy,""],default:""},zIndex:Number}),Mle={destroy:()=>!0},$le=["id"],Tle=["textContent"],Ale={key:0},Ole=["innerHTML"],Nle=A({name:"ElNotification"}),Ile=A({...Nle,props:xle,emits:Mle,setup(e,{expose:t}){const n=e,{ns:o,zIndex:a}=Ic("notification"),{nextZIndex:r,currentZIndex:l}=a,{Close:i}=c2,u=R(!1);let d;const f=S(()=>{const b=n.type;return b&&Ka[n.type]?o.m(b):""}),c=S(()=>n.type&&Ka[n.type]||n.icon),p=S(()=>n.position.endsWith("right")?"right":"left"),h=S(()=>n.position.startsWith("top")?"top":"bottom"),m=S(()=>{var b;return{[h.value]:`${n.offset}px`,zIndex:(b=n.zIndex)!=null?b:l.value}});function v(){n.duration>0&&({stop:d}=Cr(()=>{u.value&&g()},n.duration))}function _(){d==null||d()}function g(){u.value=!1}function w({code:b}){b===Ke.delete||b===Ke.backspace?_():b===Ke.esc?u.value&&g():v()}return et(()=>{v(),r(),u.value=!0}),Vt(document,"keydown",w),t({visible:u,close:g}),(b,C)=>(y(),oe(nn,{name:s(o).b("fade"),onBeforeLeave:b.onClose,onAfterLeave:C[1]||(C[1]=x=>b.$emit("destroy")),persisted:""},{default:G(()=>[Qe(k("div",{id:b.id,class:$([s(o).b(),b.customClass,s(p)]),style:De(s(m)),role:"alert",onMouseenter:_,onMouseleave:v,onClick:C[0]||(C[0]=(...x)=>b.onClick&&b.onClick(...x))},[s(c)?(y(),oe(s(Be),{key:0,class:$([s(o).e("icon"),s(f)])},{default:G(()=>[(y(),oe(ut(s(c))))]),_:1},8,["class"])):Z("v-if",!0),k("div",{class:$(s(o).e("group"))},[k("h2",{class:$(s(o).e("title")),textContent:Me(b.title)},null,10,Tle),Qe(k("div",{class:$(s(o).e("content")),style:De(b.title?void 0:{margin:0})},[re(b.$slots,"default",{},()=>[b.dangerouslyUseHTMLString?(y(),M(Fe,{key:1},[Z(" Caution here, message could've been compromised, never use user's input as message "),k("p",{innerHTML:b.message},null,8,Ole)],2112)):(y(),M("p",Ale,Me(b.message),1))])],6),[[bt,b.message]]),b.showClose?(y(),oe(s(Be),{key:0,class:$(s(o).e("closeBtn")),onClick:Ge(g,["stop"])},{default:G(()=>[W(s(i))]),_:1},8,["class","onClick"])):Z("v-if",!0)],2)],46,$le),[[bt,u.value]])]),_:3},8,["name","onBeforeLeave"]))}});var Rle=xe(Ile,[["__file","notification.vue"]]);const Zu={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},d0=16;let Ple=1;const Tl=function(e={},t=null){if(!gt)return{close:()=>{}};(typeof e=="string"||zt(e))&&(e={message:e});const n=e.position||"top-right";let o=e.offset||0;Zu[n].forEach(({vm:f})=>{var c;o+=(((c=f.el)==null?void 0:c.offsetHeight)||0)+d0}),o+=d0;const a=`notification_${Ple++}`,r=e.onClose,l={...e,offset:o,id:a,onClose:()=>{Lle(a,n,r)}};let i=document.body;io(e.appendTo)?i=e.appendTo:Ze(e.appendTo)&&(i=document.querySelector(e.appendTo)),io(i)||(i=document.body);const u=document.createElement("div"),d=W(Rle,l,zt(l.message)?{default:()=>l.message}:null);return d.appContext=t??Tl._context,d.props.onDestroy=()=>{Ha(null,u)},Ha(d,u),Zu[n].push({vm:d}),i.appendChild(u.firstElementChild),{close:()=>{d.component.exposed.visible.value=!1}}};Jy.forEach(e=>{Tl[e]=(t={})=>((typeof t=="string"||zt(t))&&(t={message:t}),Tl({...t,type:e}))});function Lle(e,t,n){const o=Zu[t],a=o.findIndex(({vm:d})=>{var f;return((f=d.component)==null?void 0:f.props.id)===e});if(a===-1)return;const{vm:r}=o[a];if(!r)return;n==null||n(r);const l=r.el.offsetHeight,i=t.split("-")[0];o.splice(a,1);const u=o.length;if(!(u<1))for(let d=a;d{t.component.exposed.visible.value=!1})}Tl.closeAll=Vle;Tl._context=null;const Ble=Qg(Tl,"$notify");var zle=[qre,Jre,os,Ele,Ble,N8],Hle=KV([...zre,...zle]);function Zy(e,t){return function(){return e.apply(t,arguments)}}const{toString:Dle}=Object.prototype,{getPrototypeOf:Cp}=Object,Wc=(e=>t=>{const n=Dle.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Fo=e=>(e=e.toLowerCase(),t=>Wc(t)===e),jc=e=>t=>typeof t===e,{isArray:Fl}=Array,qs=jc("undefined");function Fle(e){return e!==null&&!qs(e)&&e.constructor!==null&&!qs(e.constructor)&&ro(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Qy=Fo("ArrayBuffer");function Kle(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Qy(e.buffer),t}const Wle=jc("string"),ro=jc("function"),e_=jc("number"),qc=e=>e!==null&&typeof e=="object",jle=e=>e===!0||e===!1,_u=e=>{if(Wc(e)!=="object")return!1;const t=Cp(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},qle=Fo("Date"),Ule=Fo("File"),Yle=Fo("Blob"),Gle=Fo("FileList"),Xle=e=>qc(e)&&ro(e.pipe),Jle=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||ro(e.append)&&((t=Wc(e))==="formdata"||t==="object"&&ro(e.toString)&&e.toString()==="[object FormData]"))},Zle=Fo("URLSearchParams"),Qle=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function fi(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let o,a;if(typeof e!="object"&&(e=[e]),Fl(e))for(o=0,a=e.length;o0;)if(a=n[o],t===a.toLowerCase())return a;return null}const n_=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,o_=e=>!qs(e)&&e!==n_;function f0(){const{caseless:e}=o_(this)&&this||{},t={},n=(o,a)=>{const r=e&&t_(t,a)||a;_u(t[r])&&_u(o)?t[r]=f0(t[r],o):_u(o)?t[r]=f0({},o):Fl(o)?t[r]=o.slice():t[r]=o};for(let o=0,a=arguments.length;o(fi(t,(a,r)=>{n&&ro(a)?e[r]=Zy(a,n):e[r]=a},{allOwnKeys:o}),e),tse=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),nse=(e,t,n,o)=>{e.prototype=Object.create(t.prototype,o),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},ose=(e,t,n,o)=>{let a,r,l;const i={};if(t=t||{},e==null)return t;do{for(a=Object.getOwnPropertyNames(e),r=a.length;r-- >0;)l=a[r],(!o||o(l,e,t))&&!i[l]&&(t[l]=e[l],i[l]=!0);e=n!==!1&&Cp(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},ase=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const o=e.indexOf(t,n);return o!==-1&&o===n},rse=e=>{if(!e)return null;if(Fl(e))return e;let t=e.length;if(!e_(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},lse=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Cp(Uint8Array)),sse=(e,t)=>{const o=(e&&e[Symbol.iterator]).call(e);let a;for(;(a=o.next())&&!a.done;){const r=a.value;t.call(e,r[0],r[1])}},ise=(e,t)=>{let n;const o=[];for(;(n=e.exec(t))!==null;)o.push(n);return o},use=Fo("HTMLFormElement"),cse=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,o,a){return o.toUpperCase()+a}),am=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),dse=Fo("RegExp"),a_=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),o={};fi(n,(a,r)=>{let l;(l=t(a,r,e))!==!1&&(o[r]=l||a)}),Object.defineProperties(e,o)},fse=e=>{a_(e,(t,n)=>{if(ro(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const o=e[n];if(ro(o)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},pse=(e,t)=>{const n={},o=a=>{a.forEach(r=>{n[r]=!0})};return Fl(e)?o(e):o(String(e).split(t)),n},vse=()=>{},hse=(e,t)=>(e=+e,Number.isFinite(e)?e:t),zd="abcdefghijklmnopqrstuvwxyz",rm="0123456789",r_={DIGIT:rm,ALPHA:zd,ALPHA_DIGIT:zd+zd.toUpperCase()+rm},mse=(e=16,t=r_.ALPHA_DIGIT)=>{let n="";const{length:o}=t;for(;e--;)n+=t[Math.random()*o|0];return n};function gse(e){return!!(e&&ro(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const yse=e=>{const t=new Array(10),n=(o,a)=>{if(qc(o)){if(t.indexOf(o)>=0)return;if(!("toJSON"in o)){t[a]=o;const r=Fl(o)?[]:{};return fi(o,(l,i)=>{const u=n(l,a+1);!qs(u)&&(r[i]=u)}),t[a]=void 0,r}}return o};return n(e,0)},_se=Fo("AsyncFunction"),bse=e=>e&&(qc(e)||ro(e))&&ro(e.then)&&ro(e.catch),Ve={isArray:Fl,isArrayBuffer:Qy,isBuffer:Fle,isFormData:Jle,isArrayBufferView:Kle,isString:Wle,isNumber:e_,isBoolean:jle,isObject:qc,isPlainObject:_u,isUndefined:qs,isDate:qle,isFile:Ule,isBlob:Yle,isRegExp:dse,isFunction:ro,isStream:Xle,isURLSearchParams:Zle,isTypedArray:lse,isFileList:Gle,forEach:fi,merge:f0,extend:ese,trim:Qle,stripBOM:tse,inherits:nse,toFlatObject:ose,kindOf:Wc,kindOfTest:Fo,endsWith:ase,toArray:rse,forEachEntry:sse,matchAll:ise,isHTMLForm:use,hasOwnProperty:am,hasOwnProp:am,reduceDescriptors:a_,freezeMethods:fse,toObjectSet:pse,toCamelCase:cse,noop:vse,toFiniteNumber:hse,findKey:t_,global:n_,isContextDefined:o_,ALPHABET:r_,generateString:mse,isSpecCompliantForm:gse,toJSONObject:yse,isAsyncFn:_se,isThenable:bse};function Nt(e,t,n,o,a){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),o&&(this.request=o),a&&(this.response=a)}Ve.inherits(Nt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Ve.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const l_=Nt.prototype,s_={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{s_[e]={value:e}});Object.defineProperties(Nt,s_);Object.defineProperty(l_,"isAxiosError",{value:!0});Nt.from=(e,t,n,o,a,r)=>{const l=Object.create(l_);return Ve.toFlatObject(e,l,function(u){return u!==Error.prototype},i=>i!=="isAxiosError"),Nt.call(l,e.message,t,n,o,a),l.cause=e,l.name=e.name,r&&Object.assign(l,r),l};const wse=null;function p0(e){return Ve.isPlainObject(e)||Ve.isArray(e)}function i_(e){return Ve.endsWith(e,"[]")?e.slice(0,-2):e}function lm(e,t,n){return e?e.concat(t).map(function(a,r){return a=i_(a),!n&&r?"["+a+"]":a}).join(n?".":""):t}function Cse(e){return Ve.isArray(e)&&!e.some(p0)}const Sse=Ve.toFlatObject(Ve,{},null,function(t){return/^is[A-Z]/.test(t)});function Uc(e,t,n){if(!Ve.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=Ve.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(v,_){return!Ve.isUndefined(_[v])});const o=n.metaTokens,a=n.visitor||f,r=n.dots,l=n.indexes,u=(n.Blob||typeof Blob<"u"&&Blob)&&Ve.isSpecCompliantForm(t);if(!Ve.isFunction(a))throw new TypeError("visitor must be a function");function d(m){if(m===null)return"";if(Ve.isDate(m))return m.toISOString();if(!u&&Ve.isBlob(m))throw new Nt("Blob is not supported. Use a Buffer instead.");return Ve.isArrayBuffer(m)||Ve.isTypedArray(m)?u&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function f(m,v,_){let g=m;if(m&&!_&&typeof m=="object"){if(Ve.endsWith(v,"{}"))v=o?v:v.slice(0,-2),m=JSON.stringify(m);else if(Ve.isArray(m)&&Cse(m)||(Ve.isFileList(m)||Ve.endsWith(v,"[]"))&&(g=Ve.toArray(m)))return v=i_(v),g.forEach(function(b,C){!(Ve.isUndefined(b)||b===null)&&t.append(l===!0?lm([v],C,r):l===null?v:v+"[]",d(b))}),!1}return p0(m)?!0:(t.append(lm(_,v,r),d(m)),!1)}const c=[],p=Object.assign(Sse,{defaultVisitor:f,convertValue:d,isVisitable:p0});function h(m,v){if(!Ve.isUndefined(m)){if(c.indexOf(m)!==-1)throw Error("Circular reference detected in "+v.join("."));c.push(m),Ve.forEach(m,function(g,w){(!(Ve.isUndefined(g)||g===null)&&a.call(t,g,Ve.isString(w)?w.trim():w,v,p))===!0&&h(g,v?v.concat(w):[w])}),c.pop()}}if(!Ve.isObject(e))throw new TypeError("data must be an object");return h(e),t}function sm(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function Sp(e,t){this._pairs=[],e&&Uc(e,this,t)}const u_=Sp.prototype;u_.append=function(t,n){this._pairs.push([t,n])};u_.toString=function(t){const n=t?function(o){return t.call(this,o,sm)}:sm;return this._pairs.map(function(a){return n(a[0])+"="+n(a[1])},"").join("&")};function kse(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function c_(e,t,n){if(!t)return e;const o=n&&n.encode||kse,a=n&&n.serialize;let r;if(a?r=a(t,n):r=Ve.isURLSearchParams(t)?t.toString():new Sp(t,n).toString(o),r){const l=e.indexOf("#");l!==-1&&(e=e.slice(0,l)),e+=(e.indexOf("?")===-1?"?":"&")+r}return e}class im{constructor(){this.handlers=[]}use(t,n,o){return this.handlers.push({fulfilled:t,rejected:n,synchronous:o?o.synchronous:!1,runWhen:o?o.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){Ve.forEach(this.handlers,function(o){o!==null&&t(o)})}}const d_={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ese=typeof URLSearchParams<"u"?URLSearchParams:Sp,xse=typeof FormData<"u"?FormData:null,Mse=typeof Blob<"u"?Blob:null,$se={isBrowser:!0,classes:{URLSearchParams:Ese,FormData:xse,Blob:Mse},protocols:["http","https","file","blob","url","data"]},f_=typeof window<"u"&&typeof document<"u",Tse=(e=>f_&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),Ase=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Ose=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:f_,hasStandardBrowserEnv:Tse,hasStandardBrowserWebWorkerEnv:Ase},Symbol.toStringTag,{value:"Module"})),No={...Ose,...$se};function Nse(e,t){return Uc(e,new No.classes.URLSearchParams,Object.assign({visitor:function(n,o,a,r){return No.isNode&&Ve.isBuffer(n)?(this.append(o,n.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}function Ise(e){return Ve.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Rse(e){const t={},n=Object.keys(e);let o;const a=n.length;let r;for(o=0;o=n.length;return l=!l&&Ve.isArray(a)?a.length:l,u?(Ve.hasOwnProp(a,l)?a[l]=[a[l],o]:a[l]=o,!i):((!a[l]||!Ve.isObject(a[l]))&&(a[l]=[]),t(n,o,a[l],r)&&Ve.isArray(a[l])&&(a[l]=Rse(a[l])),!i)}if(Ve.isFormData(e)&&Ve.isFunction(e.entries)){const n={};return Ve.forEachEntry(e,(o,a)=>{t(Ise(o),a,n,0)}),n}return null}function Pse(e,t,n){if(Ve.isString(e))try{return(t||JSON.parse)(e),Ve.trim(e)}catch(o){if(o.name!=="SyntaxError")throw o}return(n||JSON.stringify)(e)}const kp={transitional:d_,adapter:["xhr","http"],transformRequest:[function(t,n){const o=n.getContentType()||"",a=o.indexOf("application/json")>-1,r=Ve.isObject(t);if(r&&Ve.isHTMLForm(t)&&(t=new FormData(t)),Ve.isFormData(t))return a?JSON.stringify(p_(t)):t;if(Ve.isArrayBuffer(t)||Ve.isBuffer(t)||Ve.isStream(t)||Ve.isFile(t)||Ve.isBlob(t))return t;if(Ve.isArrayBufferView(t))return t.buffer;if(Ve.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(r){if(o.indexOf("application/x-www-form-urlencoded")>-1)return Nse(t,this.formSerializer).toString();if((i=Ve.isFileList(t))||o.indexOf("multipart/form-data")>-1){const u=this.env&&this.env.FormData;return Uc(i?{"files[]":t}:t,u&&new u,this.formSerializer)}}return r||a?(n.setContentType("application/json",!1),Pse(t)):t}],transformResponse:[function(t){const n=this.transitional||kp.transitional,o=n&&n.forcedJSONParsing,a=this.responseType==="json";if(t&&Ve.isString(t)&&(o&&!this.responseType||a)){const l=!(n&&n.silentJSONParsing)&&a;try{return JSON.parse(t)}catch(i){if(l)throw i.name==="SyntaxError"?Nt.from(i,Nt.ERR_BAD_RESPONSE,this,null,this.response):i}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:No.classes.FormData,Blob:No.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Ve.forEach(["delete","get","head","post","put","patch"],e=>{kp.headers[e]={}});const Ep=kp,Lse=Ve.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Vse=e=>{const t={};let n,o,a;return e&&e.split(` +`).forEach(function(l){a=l.indexOf(":"),n=l.substring(0,a).trim().toLowerCase(),o=l.substring(a+1).trim(),!(!n||t[n]&&Lse[n])&&(n==="set-cookie"?t[n]?t[n].push(o):t[n]=[o]:t[n]=t[n]?t[n]+", "+o:o)}),t},um=Symbol("internals");function Jl(e){return e&&String(e).trim().toLowerCase()}function bu(e){return e===!1||e==null?e:Ve.isArray(e)?e.map(bu):String(e)}function Bse(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;for(;o=n.exec(e);)t[o[1]]=o[2];return t}const zse=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Hd(e,t,n,o,a){if(Ve.isFunction(o))return o.call(this,t,n);if(a&&(t=n),!!Ve.isString(t)){if(Ve.isString(o))return t.indexOf(o)!==-1;if(Ve.isRegExp(o))return o.test(t)}}function Hse(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,o)=>n.toUpperCase()+o)}function Dse(e,t){const n=Ve.toCamelCase(" "+t);["get","set","has"].forEach(o=>{Object.defineProperty(e,o+n,{value:function(a,r,l){return this[o].call(this,t,a,r,l)},configurable:!0})})}class Yc{constructor(t){t&&this.set(t)}set(t,n,o){const a=this;function r(i,u,d){const f=Jl(u);if(!f)throw new Error("header name must be a non-empty string");const c=Ve.findKey(a,f);(!c||a[c]===void 0||d===!0||d===void 0&&a[c]!==!1)&&(a[c||u]=bu(i))}const l=(i,u)=>Ve.forEach(i,(d,f)=>r(d,f,u));return Ve.isPlainObject(t)||t instanceof this.constructor?l(t,n):Ve.isString(t)&&(t=t.trim())&&!zse(t)?l(Vse(t),n):t!=null&&r(n,t,o),this}get(t,n){if(t=Jl(t),t){const o=Ve.findKey(this,t);if(o){const a=this[o];if(!n)return a;if(n===!0)return Bse(a);if(Ve.isFunction(n))return n.call(this,a,o);if(Ve.isRegExp(n))return n.exec(a);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Jl(t),t){const o=Ve.findKey(this,t);return!!(o&&this[o]!==void 0&&(!n||Hd(this,this[o],o,n)))}return!1}delete(t,n){const o=this;let a=!1;function r(l){if(l=Jl(l),l){const i=Ve.findKey(o,l);i&&(!n||Hd(o,o[i],i,n))&&(delete o[i],a=!0)}}return Ve.isArray(t)?t.forEach(r):r(t),a}clear(t){const n=Object.keys(this);let o=n.length,a=!1;for(;o--;){const r=n[o];(!t||Hd(this,this[r],r,t,!0))&&(delete this[r],a=!0)}return a}normalize(t){const n=this,o={};return Ve.forEach(this,(a,r)=>{const l=Ve.findKey(o,r);if(l){n[l]=bu(a),delete n[r];return}const i=t?Hse(r):String(r).trim();i!==r&&delete n[r],n[i]=bu(a),o[i]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return Ve.forEach(this,(o,a)=>{o!=null&&o!==!1&&(n[a]=t&&Ve.isArray(o)?o.join(", "):o)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const o=new this(t);return n.forEach(a=>o.set(a)),o}static accessor(t){const o=(this[um]=this[um]={accessors:{}}).accessors,a=this.prototype;function r(l){const i=Jl(l);o[i]||(Dse(a,l),o[i]=!0)}return Ve.isArray(t)?t.forEach(r):r(t),this}}Yc.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);Ve.reduceDescriptors(Yc.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(o){this[n]=o}}});Ve.freezeMethods(Yc);const ta=Yc;function Dd(e,t){const n=this||Ep,o=t||n,a=ta.from(o.headers);let r=o.data;return Ve.forEach(e,function(i){r=i.call(n,r,a.normalize(),t?t.status:void 0)}),a.normalize(),r}function v_(e){return!!(e&&e.__CANCEL__)}function pi(e,t,n){Nt.call(this,e??"canceled",Nt.ERR_CANCELED,t,n),this.name="CanceledError"}Ve.inherits(pi,Nt,{__CANCEL__:!0});function Fse(e,t,n){const o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new Nt("Request failed with status code "+n.status,[Nt.ERR_BAD_REQUEST,Nt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}const Kse=No.hasStandardBrowserEnv?{write(e,t,n,o,a,r){const l=[e+"="+encodeURIComponent(t)];Ve.isNumber(n)&&l.push("expires="+new Date(n).toGMTString()),Ve.isString(o)&&l.push("path="+o),Ve.isString(a)&&l.push("domain="+a),r===!0&&l.push("secure"),document.cookie=l.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Wse(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function jse(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function h_(e,t){return e&&!Wse(t)?jse(e,t):t}const qse=No.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let o;function a(r){let l=r;return t&&(n.setAttribute("href",l),l=n.href),n.setAttribute("href",l),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return o=a(window.location.href),function(l){const i=Ve.isString(l)?a(l):l;return i.protocol===o.protocol&&i.host===o.host}}():function(){return function(){return!0}}();function Use(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Yse(e,t){e=e||10;const n=new Array(e),o=new Array(e);let a=0,r=0,l;return t=t!==void 0?t:1e3,function(u){const d=Date.now(),f=o[r];l||(l=d),n[a]=u,o[a]=d;let c=r,p=0;for(;c!==a;)p+=n[c++],c=c%e;if(a=(a+1)%e,a===r&&(r=(r+1)%e),d-l{const r=a.loaded,l=a.lengthComputable?a.total:void 0,i=r-n,u=o(i),d=r<=l;n=r;const f={loaded:r,total:l,progress:l?r/l:void 0,bytes:i,rate:u||void 0,estimated:u&&l&&d?(l-r)/u:void 0,event:a};f[t?"download":"upload"]=!0,e(f)}}const Gse=typeof XMLHttpRequest<"u",Xse=Gse&&function(e){return new Promise(function(n,o){let a=e.data;const r=ta.from(e.headers).normalize();let{responseType:l,withXSRFToken:i}=e,u;function d(){e.cancelToken&&e.cancelToken.unsubscribe(u),e.signal&&e.signal.removeEventListener("abort",u)}let f;if(Ve.isFormData(a)){if(No.hasStandardBrowserEnv||No.hasStandardBrowserWebWorkerEnv)r.setContentType(!1);else if((f=r.getContentType())!==!1){const[v,..._]=f?f.split(";").map(g=>g.trim()).filter(Boolean):[];r.setContentType([v||"multipart/form-data",..._].join("; "))}}let c=new XMLHttpRequest;if(e.auth){const v=e.auth.username||"",_=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";r.set("Authorization","Basic "+btoa(v+":"+_))}const p=h_(e.baseURL,e.url);c.open(e.method.toUpperCase(),c_(p,e.params,e.paramsSerializer),!0),c.timeout=e.timeout;function h(){if(!c)return;const v=ta.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders()),g={data:!l||l==="text"||l==="json"?c.responseText:c.response,status:c.status,statusText:c.statusText,headers:v,config:e,request:c};Fse(function(b){n(b),d()},function(b){o(b),d()},g),c=null}if("onloadend"in c?c.onloadend=h:c.onreadystatechange=function(){!c||c.readyState!==4||c.status===0&&!(c.responseURL&&c.responseURL.indexOf("file:")===0)||setTimeout(h)},c.onabort=function(){c&&(o(new Nt("Request aborted",Nt.ECONNABORTED,e,c)),c=null)},c.onerror=function(){o(new Nt("Network Error",Nt.ERR_NETWORK,e,c)),c=null},c.ontimeout=function(){let _=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const g=e.transitional||d_;e.timeoutErrorMessage&&(_=e.timeoutErrorMessage),o(new Nt(_,g.clarifyTimeoutError?Nt.ETIMEDOUT:Nt.ECONNABORTED,e,c)),c=null},No.hasStandardBrowserEnv&&(i&&Ve.isFunction(i)&&(i=i(e)),i||i!==!1&&qse(p))){const v=e.xsrfHeaderName&&e.xsrfCookieName&&Kse.read(e.xsrfCookieName);v&&r.set(e.xsrfHeaderName,v)}a===void 0&&r.setContentType(null),"setRequestHeader"in c&&Ve.forEach(r.toJSON(),function(_,g){c.setRequestHeader(g,_)}),Ve.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),l&&l!=="json"&&(c.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&c.addEventListener("progress",cm(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&c.upload&&c.upload.addEventListener("progress",cm(e.onUploadProgress)),(e.cancelToken||e.signal)&&(u=v=>{c&&(o(!v||v.type?new pi(null,e,c):v),c.abort(),c=null)},e.cancelToken&&e.cancelToken.subscribe(u),e.signal&&(e.signal.aborted?u():e.signal.addEventListener("abort",u)));const m=Use(p);if(m&&No.protocols.indexOf(m)===-1){o(new Nt("Unsupported protocol "+m+":",Nt.ERR_BAD_REQUEST,e));return}c.send(a||null)})},v0={http:wse,xhr:Xse};Ve.forEach(v0,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const dm=e=>`- ${e}`,Jse=e=>Ve.isFunction(e)||e===null||e===!1,m_={getAdapter:e=>{e=Ve.isArray(e)?e:[e];const{length:t}=e;let n,o;const a={};for(let r=0;r`adapter ${i} `+(u===!1?"is not supported by the environment":"is not available in the build"));let l=t?r.length>1?`since : +`+r.map(dm).join(` +`):" "+dm(r[0]):"as no adapter specified";throw new Nt("There is no suitable adapter to dispatch the request "+l,"ERR_NOT_SUPPORT")}return o},adapters:v0};function Fd(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new pi(null,e)}function fm(e){return Fd(e),e.headers=ta.from(e.headers),e.data=Dd.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),m_.getAdapter(e.adapter||Ep.adapter)(e).then(function(o){return Fd(e),o.data=Dd.call(e,e.transformResponse,o),o.headers=ta.from(o.headers),o},function(o){return v_(o)||(Fd(e),o&&o.response&&(o.response.data=Dd.call(e,e.transformResponse,o.response),o.response.headers=ta.from(o.response.headers))),Promise.reject(o)})}const pm=e=>e instanceof ta?{...e}:e;function Al(e,t){t=t||{};const n={};function o(d,f,c){return Ve.isPlainObject(d)&&Ve.isPlainObject(f)?Ve.merge.call({caseless:c},d,f):Ve.isPlainObject(f)?Ve.merge({},f):Ve.isArray(f)?f.slice():f}function a(d,f,c){if(Ve.isUndefined(f)){if(!Ve.isUndefined(d))return o(void 0,d,c)}else return o(d,f,c)}function r(d,f){if(!Ve.isUndefined(f))return o(void 0,f)}function l(d,f){if(Ve.isUndefined(f)){if(!Ve.isUndefined(d))return o(void 0,d)}else return o(void 0,f)}function i(d,f,c){if(c in t)return o(d,f);if(c in e)return o(void 0,d)}const u={url:r,method:r,data:r,baseURL:l,transformRequest:l,transformResponse:l,paramsSerializer:l,timeout:l,timeoutMessage:l,withCredentials:l,withXSRFToken:l,adapter:l,responseType:l,xsrfCookieName:l,xsrfHeaderName:l,onUploadProgress:l,onDownloadProgress:l,decompress:l,maxContentLength:l,maxBodyLength:l,beforeRedirect:l,transport:l,httpAgent:l,httpsAgent:l,cancelToken:l,socketPath:l,responseEncoding:l,validateStatus:i,headers:(d,f)=>a(pm(d),pm(f),!0)};return Ve.forEach(Object.keys(Object.assign({},e,t)),function(f){const c=u[f]||a,p=c(e[f],t[f],f);Ve.isUndefined(p)&&c!==i||(n[f]=p)}),n}const g_="1.6.8",xp={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{xp[e]=function(o){return typeof o===e||"a"+(t<1?"n ":" ")+e}});const vm={};xp.transitional=function(t,n,o){function a(r,l){return"[Axios v"+g_+"] Transitional option '"+r+"'"+l+(o?". "+o:"")}return(r,l,i)=>{if(t===!1)throw new Nt(a(l," has been removed"+(n?" in "+n:"")),Nt.ERR_DEPRECATED);return n&&!vm[l]&&(vm[l]=!0,console.warn(a(l," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(r,l,i):!0}};function Zse(e,t,n){if(typeof e!="object")throw new Nt("options must be an object",Nt.ERR_BAD_OPTION_VALUE);const o=Object.keys(e);let a=o.length;for(;a-- >0;){const r=o[a],l=t[r];if(l){const i=e[r],u=i===void 0||l(i,r,e);if(u!==!0)throw new Nt("option "+r+" must be "+u,Nt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Nt("Unknown option "+r,Nt.ERR_BAD_OPTION)}}const h0={assertOptions:Zse,validators:xp},wa=h0.validators;class Qu{constructor(t){this.defaults=t,this.interceptors={request:new im,response:new im}}async request(t,n){try{return await this._request(t,n)}catch(o){if(o instanceof Error){let a;Error.captureStackTrace?Error.captureStackTrace(a={}):a=new Error;const r=a.stack?a.stack.replace(/^.+\n/,""):"";o.stack?r&&!String(o.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(o.stack+=` +`+r):o.stack=r}throw o}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Al(this.defaults,n);const{transitional:o,paramsSerializer:a,headers:r}=n;o!==void 0&&h0.assertOptions(o,{silentJSONParsing:wa.transitional(wa.boolean),forcedJSONParsing:wa.transitional(wa.boolean),clarifyTimeoutError:wa.transitional(wa.boolean)},!1),a!=null&&(Ve.isFunction(a)?n.paramsSerializer={serialize:a}:h0.assertOptions(a,{encode:wa.function,serialize:wa.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let l=r&&Ve.merge(r.common,r[n.method]);r&&Ve.forEach(["delete","get","head","post","put","patch","common"],m=>{delete r[m]}),n.headers=ta.concat(l,r);const i=[];let u=!0;this.interceptors.request.forEach(function(v){typeof v.runWhen=="function"&&v.runWhen(n)===!1||(u=u&&v.synchronous,i.unshift(v.fulfilled,v.rejected))});const d=[];this.interceptors.response.forEach(function(v){d.push(v.fulfilled,v.rejected)});let f,c=0,p;if(!u){const m=[fm.bind(this),void 0];for(m.unshift.apply(m,i),m.push.apply(m,d),p=m.length,f=Promise.resolve(n);c{if(!o._listeners)return;let r=o._listeners.length;for(;r-- >0;)o._listeners[r](a);o._listeners=null}),this.promise.then=a=>{let r;const l=new Promise(i=>{o.subscribe(i),r=i}).then(a);return l.cancel=function(){o.unsubscribe(r)},l},t(function(r,l,i){o.reason||(o.reason=new pi(r,l,i),n(o.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}static source(){let t;return{token:new Mp(function(a){t=a}),cancel:t}}}const Qse=Mp;function eie(e){return function(n){return e.apply(null,n)}}function tie(e){return Ve.isObject(e)&&e.isAxiosError===!0}const m0={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(m0).forEach(([e,t])=>{m0[t]=e});const nie=m0;function y_(e){const t=new wu(e),n=Zy(wu.prototype.request,t);return Ve.extend(n,wu.prototype,t,{allOwnKeys:!0}),Ve.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return y_(Al(e,a))},n}const en=y_(Ep);en.Axios=wu;en.CanceledError=pi;en.CancelToken=Qse;en.isCancel=v_;en.VERSION=g_;en.toFormData=Uc;en.AxiosError=Nt;en.Cancel=en.CanceledError;en.all=function(t){return Promise.all(t)};en.spread=eie;en.isAxiosError=tie;en.mergeConfig=Al;en.AxiosHeaders=ta;en.formToJSON=e=>p_(Ve.isHTMLForm(e)?new FormData(e):e);en.getAdapter=m_.getAdapter;en.HttpStatusCode=nie;en.default=en;const oie={data:()=>({description:"客户端生成code工厂",buttons:{generate:{name:"生成代码"}},type:"1",icon:"HotWater",name:"客户端生成code工厂"})},aie=Object.assign(oie,{__name:"LocalClientProperties",setup(e){R(null);const t=wt({schema:""});un(t);const n=R(""),o=R([]),a=()=>{o.value.push({inetHost:"",inetPort:"",clientId:"",edit:!0})},r=(f,c)=>{c.edit=!0,console.log(f,c)},l=(f,c)=>{c.edit=!1,console.log(f,c),d(c),u()},i=(f,c)=>{console.log(f,c),en.delete("/v1/api/lazy/netty/server/properties/remove",{params:c}).then(p=>{const{status:h,data:m}=p,{code:v,message:_}=m;h===200&&v===0?(os({message:"修改配置成功",type:"success"}),u()):os.error("修改配置失败:"+_)})};et(async()=>{u()});const u=()=>{en.get("/v1/api/lazy/netty/server/properties/findList",{params:{instanceId:"",schema:""}}).then(f=>{f.status===200&&f.data?(f.data.data.map(c=>{c.edit=!1}),o.value=f.data.data?f.data.data:[]):console.error(f)})},d=f=>{en.post("/v1/api/lazy/netty/server/properties/story",f).then(c=>{const{status:p,data:h}=c,{code:m,message:v}=h;p===200&&m===0?(os({message:"新增、修改配置成功",type:"success"}),u()):os.error("新增、修改配置失败:"+v)})};return(f,c)=>{const p=nt("Plus"),h=Be,m=rn,v=mn,_=fy,g=nt("Edit"),w=nt("Select"),b=dy;return y(),M("div",null,[W(m,{onClick:c[0]||(c[0]=C=>a())},{default:G(()=>[vt(" 新增配置 "),W(h,null,{default:G(()=>[W(p)]),_:1})]),_:1}),W(b,{data:o.value,style:{width:"100%"}},{default:G(()=>[W(_,{label:"服务端IP",prop:"inetHost"},{default:G(C=>[C.row.edit?(y(),oe(v,{key:0,modelValue:C.row.inetHost,"onUpdate:modelValue":x=>C.row.inetHost=x,placeholder:"服务端IP"},null,8,["modelValue","onUpdate:modelValue"])):Z("",!0)]),_:1}),W(_,{label:"服务端端口",prop:"inetPort"},{default:G(C=>[C.row.edit?(y(),oe(v,{key:0,modelValue:C.row.inetPort,"onUpdate:modelValue":x=>C.row.inetPort=x,placeholder:"服务端端口"},null,8,["modelValue","onUpdate:modelValue"])):Z("",!0)]),_:1}),W(_,{label:"客户端端ID",prop:"clientId"},{default:G(C=>[C.row.edit?(y(),oe(v,{key:0,modelValue:C.row.clientId,"onUpdate:modelValue":x=>C.row.clientId=x,placeholder:"客户端端ID"},null,8,["modelValue","onUpdate:modelValue"])):Z("",!0)]),_:1}),W(_,{label:"连接状态",prop:"connectStatus"}),W(_,{label:"配置类型",prop:"type"}),W(_,{align:"right"},{header:G(()=>[W(v,{modelValue:n.value,"onUpdate:modelValue":c[1]||(c[1]=C=>n.value=C),size:"small",placeholder:"Type to search"},null,8,["modelValue"])]),default:G(C=>[C.row.edit?Z("",!0):(y(),oe(m,{key:0,size:"small",onClick:x=>r(C.$index,C.row)},{default:G(()=>[vt(" Edit "),W(h,null,{default:G(()=>[W(g)]),_:1})]),_:2},1032,["onClick"])),C.row.edit?(y(),oe(m,{key:1,size:"small",onClick:x=>l(C.$index,C.row)},{default:G(()=>[vt(" submit "),W(h,null,{default:G(()=>[W(w)]),_:1})]),_:2},1032,["onClick"])):Z("",!0),W(m,{size:"small",type:"danger",onClick:x=>i(C.$index,C.row)},{default:G(()=>[vt("Delete ")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])])}}}),rie=e=>(Um("data-v-7b2edd67"),e=e(),Ym(),e),lie=rie(()=>k("div",null,[k("img",{alt:"Vue logo",class:"logo",src:Dw,width:"125",height:"125"})],-1)),sie={class:"wrapper"},iie={__name:"App",setup(e){return(t,n)=>(y(),M(Fe,null,[k("header",null,[lie,k("div",sie,[W(Uw,{msg:"Java 使用 Lazy ORM 网络穿透客户端"})])]),k("main",null,[W(aie)])],64))}},uie=I4(iie,[["__scopeId","data-v-7b2edd67"]]),$p=N4(uie);for(const[e,t]of Object.entries(CP))$p.component(e,t);$p.use(Hle);$p.mount("#app")});export default cie(); diff --git a/wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/assets/index-C9GutiFy.css b/wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/assets/index-C9GutiFy.css new file mode 100644 index 00000000..0d730692 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/assets/index-C9GutiFy.css @@ -0,0 +1 @@ +@charset "UTF-8";:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1280px;margin:0 auto;padding:2rem;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media (hover: hover){a:hover{background-color:#00bd7e33}}@media (min-width: 1024px){body{display:flex;place-items:center}#app{display:grid;grid-template-columns:1fr 1fr;padding:0 2rem}}h1[data-v-3cc994dc]{font-weight:500;font-size:2.1rem;position:relative;top:-10px}h3[data-v-3cc994dc]{font-size:1.2rem}.greetings h1[data-v-3cc994dc],.greetings h3[data-v-3cc994dc]{text-align:center}@media (min-width: 1024px){.greetings h1[data-v-3cc994dc],.greetings h3[data-v-3cc994dc]{text-align:left}}header[data-v-7b2edd67]{line-height:1.5}.logo[data-v-7b2edd67]{display:block;margin:0 auto 2rem}@media (min-width: 1024px){header[data-v-7b2edd67]{display:flex;place-items:center;padding-right:calc(var(--section-gap) / 2)}.logo[data-v-7b2edd67]{margin:0 2rem 0 0}header .wrapper[data-v-7b2edd67]{display:flex;place-items:flex-start;flex-wrap:wrap}}:root{--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary-rgb:64,158,255;--el-color-success-rgb:103,194,58;--el-color-warning-rgb:230,162,60;--el-color-danger-rgb:245,108,108;--el-color-error-rgb:245,108,108;--el-color-info-rgb:144,147,153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645,.045,.355,1);--el-transition-function-fast-bezier:cubic-bezier(.23,1,.32,1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier),opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px}:root{color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#ffffff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#ffffff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#ffffff;--el-box-shadow:0px 12px 32px 4px rgba(0,0,0,.04),0px 8px 20px rgba(0,0,0,.08);--el-box-shadow-light:0px 0px 12px rgba(0,0,0,.12);--el-box-shadow-lighter:0px 0px 6px rgba(0,0,0,.12);--el-box-shadow-dark:0px 16px 48px 16px rgba(0,0,0,.08),0px 12px 32px rgba(0,0,0,.12),0px 8px 16px -8px rgba(0,0,0,.16);--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:rgba(0,0,0,.8);--el-overlay-color-light:rgba(0,0,0,.7);--el-overlay-color-lighter:rgba(0,0,0,.5);--el-mask-color:rgba(255,255,255,.9);--el-mask-color-extra-light:rgba(255,255,255,.3);--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transform-origin:center top;transition:var(--el-transition-md-fade)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transform-origin:center bottom;transition:var(--el-transition-md-fade)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transform-origin:top left;transition:var(--el-transition-md-fade)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.el-icon{--color:inherit;align-items:center;display:inline-flex;height:1em;justify-content:center;line-height:1em;position:relative;width:1em;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-affix--fixed{position:fixed}.el-alert{--el-alert-padding:8px 16px;--el-alert-border-radius-base:var(--el-border-radius-base);--el-alert-title-font-size:14px;--el-alert-title-with-description-font-size:16px;--el-alert-description-font-size:14px;--el-alert-close-font-size:16px;--el-alert-close-customed-font-size:14px;--el-alert-icon-size:16px;--el-alert-icon-large-size:28px;align-items:center;background-color:var(--el-color-white);border-radius:var(--el-alert-border-radius-base);box-sizing:border-box;display:flex;margin:0;opacity:1;overflow:hidden;padding:var(--el-alert-padding);position:relative;transition:opacity var(--el-transition-duration-fast);width:100%}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--success{--el-alert-bg-color:var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color)}.el-alert--success.is-light,.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color:var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color)}.el-alert--info.is-light,.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color:var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color)}.el-alert--warning.is-light,.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color:var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color)}.el-alert--error.is-light,.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{display:flex;flex-direction:column;gap:4px}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);margin-right:8px;width:var(--el-alert-icon-size)}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);margin-right:12px;width:var(--el-alert-icon-large-size)}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:24px}.el-alert__title.with-description{font-size:var(--el-alert-title-with-description-font-size)}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:0}.el-alert .el-alert__close-btn{cursor:pointer;font-size:var(--el-alert-close-font-size);opacity:1;position:absolute;right:16px;top:12px}.el-alert .el-alert__close-btn.is-customed{font-size:var(--el-alert-close-customed-font-size);font-style:normal;line-height:24px;top:8px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0}.el-aside{box-sizing:border-box;flex-shrink:0;overflow:auto;width:var(--el-aside-width,300px)}.el-autocomplete{display:inline-block;position:relative}.el-autocomplete__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-autocomplete__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-autocomplete__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-autocomplete-suggestion{border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-autocomplete-suggestion__wrap{box-sizing:border-box;max-height:280px;padding:10px 0}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-base);line-height:34px;list-style:none;margin:0;overflow:hidden;padding:0 20px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-autocomplete-suggestion li:hover,.el-autocomplete-suggestion li.highlighted{background-color:var(--el-fill-color-light)}.el-autocomplete-suggestion li.divider{border-top:1px solid var(--el-color-black);margin-top:6px}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{color:var(--el-text-color-secondary);font-size:20px;height:100px;line-height:100px;text-align:center}.el-autocomplete-suggestion.is-loading li:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:var(--el-bg-color-overlay)}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size-small:24px;--el-avatar-size:40px;align-items:center;background:var(--el-avatar-bg-color);box-sizing:border-box;color:var(--el-avatar-text-color);display:inline-flex;font-size:var(--el-avatar-text-size);height:var(--el-avatar-size);justify-content:center;overflow:hidden;text-align:center;width:var(--el-avatar-size)}.el-avatar>img{display:block;height:100%;width:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.el-backtop{--el-backtop-bg-color:var(--el-bg-color-overlay);--el-backtop-text-color:var(--el-color-primary);--el-backtop-hover-bg-color:var(--el-border-color-extra-light);align-items:center;background-color:var(--el-backtop-bg-color);border-radius:50%;box-shadow:var(--el-box-shadow-lighter);color:var(--el-backtop-text-color);cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:fixed;width:40px;z-index:5}.el-backtop:hover{background-color:var(--el-backtop-hover-bg-color)}.el-backtop__icon{font-size:20px}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;display:inline-block;position:relative;vertical-align:middle;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.el-badge__content{align-items:center;background-color:var(--el-badge-bg-color);border:1px solid var(--el-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);display:inline-flex;font-size:var(--el-badge-font-size);height:var(--el-badge-size);justify-content:center;padding:0 var(--el-badge-padding);white-space:nowrap}.el-badge__content.is-fixed{position:absolute;right:calc(1px + var(--el-badge-size)/2);top:0;transform:translateY(-50%) translate(100%);z-index:var(--el-index-normal)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;height:8px;padding:0;right:0;width:8px}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{content:"";display:table}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);font-weight:700;margin:0 9px}.el-breadcrumb__separator.el-icon{font-weight:400;margin:0 6px}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{align-items:center;display:inline-flex;float:left}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{color:var(--el-text-color-primary);font-weight:700;text-decoration:none;transition:var(--el-transition-color)}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{color:var(--el-text-color-regular);cursor:text;font-weight:400}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{content:"";display:table}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.el-button-group>.el-button:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-bottom-left-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-top-right-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button-group>.el-button.is-active{z-index:1}.el-button-group>.el-dropdown>.el-button{border-bottom-left-radius:0;border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0}.el-button-group .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:rgba(255,255,255,.5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-color-info);--el-button-active-color:var(--el-text-color-primary);align-items:center;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);border-radius:var(--el-border-radius-base);box-sizing:border-box;color:var(--el-button-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-button-font-weight);height:32px;justify-content:center;line-height:1;outline:none;padding:8px 15px;text-align:center;transition:.1s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-button:hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color);color:var(--el-button-hover-text-color);outline:none}.el-button:active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{background-color:var(--el-button-disabled-bg-color);background-image:none;border-color:var(--el-button-disabled-border-color);color:var(--el-button-disabled-text-color);cursor:not-allowed}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{background-color:var(--el-mask-color-extra-light);border-radius:inherit;bottom:-1px;content:"";left:-1px;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:1}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{border-radius:50%;padding:8px;width:32px}.el-button.is-text{background-color:transparent;border:0 solid transparent;color:var(--el-button-text-color)}.el-button.is-text.is-disabled{background-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{background:transparent;border-color:transparent;color:var(--el-button-text-color);height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-link:not(.is-disabled):hover{background-color:transparent;border-color:transparent}.el-button.is-link:not(.is-disabled):active{background-color:transparent;border-color:transparent;color:var(--el-button-active-color)}.el-button--text{background:transparent;border-color:transparent;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button--text:not(.is-disabled):hover{background-color:transparent;border-color:transparent;color:var(--el-color-primary-light-3)}.el-button--text:not(.is-disabled):active{background-color:transparent;border-color:transparent;color:var(--el-color-primary-dark-2)}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-link,.el-button--primary.is-plain,.el-button--primary.is-text{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:active,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:hover{background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8);color:var(--el-color-primary-light-5)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-link,.el-button--success.is-plain,.el-button--success.is-text{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:active,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:active,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:hover{background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8);color:var(--el-color-success-light-5)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-link,.el-button--warning.is-plain,.el-button--warning.is-text{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:active,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:hover{background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8);color:var(--el-color-warning-light-5)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-link,.el-button--danger.is-plain,.el-button--danger.is-text{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:active,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:hover{background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8);color:var(--el-color-danger-light-5)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-link,.el-button--info.is-plain,.el-button--info.is-text{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:active,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:active,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:hover{background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8);color:var(--el-color-info-light-5)}.el-button--large{--el-button-size:40px;border-radius:var(--el-border-radius-base);font-size:var(--el-font-size-base);height:var(--el-button-size);padding:12px 19px}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{padding:12px;width:var(--el-button-size)}.el-button--small{--el-button-size:24px;border-radius:calc(var(--el-border-radius-base) - 1px);font-size:12px;height:var(--el-button-size);padding:5px 11px}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{padding:5px;width:var(--el-button-size)}.el-calendar{--el-calendar-border:var(--el-table-border,1px solid var(--el-border-color-lighter));--el-calendar-header-border-bottom:var(--el-calendar-border);--el-calendar-selected-bg-color:var(--el-color-primary-light-9);--el-calendar-cell-width:85px;background-color:var(--el-fill-color-blank)}.el-calendar__header{border-bottom:var(--el-calendar-header-border-bottom);display:flex;justify-content:space-between;padding:12px 20px}.el-calendar__title{align-self:center;color:var(--el-text-color)}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{color:var(--el-text-color-regular);font-weight:400;padding:12px 0}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:var(--el-text-color-placeholder)}.el-calendar-table td{border-bottom:var(--el-calendar-border);border-right:var(--el-calendar-border);transition:background-color var(--el-transition-duration-fast) ease;vertical-align:top}.el-calendar-table td.is-selected{background-color:var(--el-calendar-selected-bg-color)}.el-calendar-table td.is-today{color:var(--el-color-primary)}.el-calendar-table tr:first-child td{border-top:var(--el-calendar-border)}.el-calendar-table tr td:first-child{border-left:var(--el-calendar-border)}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{box-sizing:border-box;height:var(--el-calendar-cell-width);padding:8px}.el-calendar-table .el-calendar-day:hover{background-color:var(--el-calendar-selected-bg-color);cursor:pointer}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);background-color:var(--el-card-bg-color);border:1px solid var(--el-card-border-color);border-radius:var(--el-card-border-radius);color:var(--el-text-color-primary);overflow:hidden;transition:var(--el-transition-duration)}.el-card.is-always-shadow{box-shadow:var(--el-box-shadow-light)}.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:var(--el-box-shadow-light)}.el-card__header{border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-card__body{padding:var(--el-card-padding)}.el-card__footer{border-top:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-carousel__item{display:inline-block;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.el-carousel__item,.el-carousel__item.is-active{z-index:calc(var(--el-index-normal) - 1)}.el-carousel__item--card,.el-carousel__item.is-animating{transition:transform .4s ease-in-out}.el-carousel__item--card{width:50%}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:var(--el-index-normal)}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:calc(var(--el-index-normal) + 1)}.el-carousel__item--card-vertical{height:50%;width:100%}.el-carousel__mask{background-color:var(--el-color-white);height:100%;left:0;opacity:.24;position:absolute;top:0;transition:var(--el-transition-duration-fast);width:100%}.el-carousel{--el-carousel-arrow-font-size:12px;--el-carousel-arrow-size:36px;--el-carousel-arrow-background:rgba(31,45,61,.11);--el-carousel-arrow-hover-background:rgba(31,45,61,.23);--el-carousel-indicator-width:30px;--el-carousel-indicator-height:2px;--el-carousel-indicator-padding-horizontal:4px;--el-carousel-indicator-padding-vertical:12px;--el-carousel-indicator-out-color:var(--el-border-color-hover);position:relative}.el-carousel--horizontal,.el-carousel--vertical{overflow:hidden}.el-carousel__container{height:300px;position:relative}.el-carousel__arrow{align-items:center;background-color:var(--el-carousel-arrow-background);border:none;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;font-size:var(--el-carousel-arrow-font-size);height:var(--el-carousel-arrow-size);justify-content:center;margin:0;outline:none;padding:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);transition:var(--el-transition-duration);width:var(--el-carousel-arrow-size);z-index:10}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:var(--el-carousel-arrow-hover-background)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{list-style:none;margin:0;padding:0;position:absolute;z-index:calc(var(--el-index-normal) + 1)}.el-carousel__indicators--horizontal{bottom:0;left:50%;transform:translate(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:calc(var(--el-carousel-indicator-height) + var(--el-carousel-indicator-padding-vertical)*2);position:static;text-align:center;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:var(--el-carousel-indicator-out-color);opacity:.24}.el-carousel__indicators--right{right:0}.el-carousel__indicators--labels{left:0;right:0;text-align:center;transform:none}.el-carousel__indicators--labels .el-carousel__button{color:#000;font-size:12px;height:auto;padding:2px 18px;width:auto}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:var(--el-carousel-indicator-padding-vertical) var(--el-carousel-indicator-padding-horizontal)}.el-carousel__indicator--vertical{padding:var(--el-carousel-indicator-padding-horizontal) var(--el-carousel-indicator-padding-vertical)}.el-carousel__indicator--vertical .el-carousel__button{height:calc(var(--el-carousel-indicator-width)/2);width:var(--el-carousel-indicator-height)}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{background-color:#fff;border:none;cursor:pointer;display:block;height:var(--el-carousel-indicator-height);margin:0;opacity:.48;outline:none;padding:0;transition:var(--el-transition-duration);width:var(--el-carousel-indicator-width)}.carousel-arrow-left-enter-from,.carousel-arrow-left-leave-active{opacity:0;transform:translateY(-50%) translate(-10px)}.carousel-arrow-right-enter-from,.carousel-arrow-right-leave-active{opacity:0;transform:translateY(-50%) translate(10px)}.el-transitioning{filter:url(#elCarouselHorizontal)}.el-transitioning-vertical{filter:url(#elCarouselVertical)}.el-cascader-panel{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);display:flex;font-size:var(--el-cascader-menu-font-size)}.el-cascader-panel.is-bordered{border:var(--el-cascader-menu-border);border-radius:var(--el-cascader-menu-radius)}.el-cascader-menu{border-right:var(--el-cascader-menu-border);box-sizing:border-box;color:var(--el-cascader-menu-text-color);min-width:180px}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap.el-scrollbar__wrap{height:204px}.el-cascader-menu__list{box-sizing:border-box;list-style:none;margin:0;min-height:100%;padding:6px 0;position:relative}.el-cascader-menu__hover-zone{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.el-cascader-menu__empty-text{align-items:center;color:var(--el-cascader-color-empty);display:flex;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-cascader-menu__empty-text .is-loading{margin-right:2px}.el-cascader-node{align-items:center;display:flex;height:34px;line-height:34px;outline:none;padding:0 30px 0 20px;position:relative}.el-cascader-node.is-selectable.in-active-path{color:var(--el-cascader-menu-text-color)}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:var(--el-cascader-node-background-hover)}.el-cascader-node.is-disabled{color:var(--el-cascader-node-color-disabled);cursor:not-allowed}.el-cascader-node__prefix{left:10px;position:absolute}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{flex:1;overflow:hidden;padding:0 8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-cascader-node>.el-checkbox{margin-right:0}.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-cascader{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);display:inline-block;font-size:var(--el-font-size-base);line-height:32px;outline:none;position:relative;vertical-align:middle}.el-cascader:not(.is-disabled):hover .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset;cursor:pointer}.el-cascader .el-input{cursor:pointer;display:flex}.el-cascader .el-input .el-input__inner{cursor:pointer;text-overflow:ellipsis}.el-cascader .el-input .el-input__suffix-inner .el-icon{height:calc(100% - 2px)}.el-cascader .el-input .el-input__suffix-inner .el-icon svg{vertical-align:middle}.el-cascader .el-input .icon-arrow-down{font-size:14px;transition:transform var(--el-transition-duration)}.el-cascader .el-input .icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .icon-circle-close:hover{color:var(--el-input-clear-hover-color,var(--el-text-color-secondary))}.el-cascader .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-cascader--large{font-size:14px;line-height:40px}.el-cascader--small{font-size:12px;line-height:24px}.el-cascader.is-disabled .el-cascader__label{color:var(--el-disabled-text-color);z-index:calc(var(--el-index-normal) + 1)}.el-cascader__dropdown{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);font-size:var(--el-cascader-menu-font-size)}.el-cascader__dropdown.el-popper{background:var(--el-cascader-menu-fill);border:var(--el-cascader-menu-border)}.el-cascader__dropdown.el-popper .el-popper__arrow:before{border:var(--el-cascader-menu-border)}.el-cascader__dropdown.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-cascader__dropdown.el-popper{box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__tags{box-sizing:border-box;display:flex;flex-wrap:wrap;left:0;line-height:normal;position:absolute;right:30px;text-align:left;top:50%;transform:translateY(-50%)}.el-cascader__tags .el-tag{align-items:center;background:var(--el-cascader-tag-background);display:inline-flex;margin:2px 0 2px 6px;max-width:100%;text-overflow:ellipsis}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__tags.is-validate{right:55px}.el-cascader__collapse-tags{white-space:normal;z-index:var(--el-index-normal)}.el-cascader__collapse-tags .el-tag{align-items:center;background:var(--el-fill-color);display:inline-flex;margin:2px 0 2px 6px;max-width:100%;text-overflow:ellipsis}.el-cascader__collapse-tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__collapse-tags .el-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__collapse-tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__suggestion-panel{border-radius:var(--el-cascader-menu-radius)}.el-cascader__suggestion-list{color:var(--el-cascader-menu-text-color);font-size:var(--el-font-size-base);margin:0;max-height:204px;padding:6px 0;text-align:center}.el-cascader__suggestion-item{align-items:center;cursor:pointer;display:flex;height:34px;justify-content:space-between;outline:none;padding:0 15px;text-align:left}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:var(--el-cascader-node-background-hover)}.el-cascader__suggestion-item.is-checked{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{color:var(--el-cascader-color-empty);margin:10px 0}.el-cascader__search-input{background:transparent;border:none;box-sizing:border-box;color:var(--el-cascader-menu-text-color);flex:1;height:24px;margin:2px 0 2px 11px;min-width:60px;outline:none;padding:0}.el-cascader__search-input::-moz-placeholder{color:transparent}.el-cascader__search-input:-ms-input-placeholder{color:transparent}.el-cascader__search-input::placeholder{color:transparent}.el-check-tag{background-color:var(--el-color-info-light-9);border-radius:var(--el-border-radius-base);color:var(--el-color-info);cursor:pointer;display:inline-block;font-size:var(--el-font-size-base);font-weight:700;line-height:var(--el-font-size-base);padding:7px 15px;transition:var(--el-transition-all)}.el-check-tag:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.is-checked.el-check-tag--primary{background-color:var(--el-color-primary-light-8);color:var(--el-color-primary)}.el-check-tag.is-checked.el-check-tag--primary:hover{background-color:var(--el-color-primary-light-7)}.el-check-tag.is-checked.el-check-tag--success{background-color:var(--el-color-success-light-8);color:var(--el-color-success)}.el-check-tag.is-checked.el-check-tag--success:hover{background-color:var(--el-color-success-light-7)}.el-check-tag.is-checked.el-check-tag--warning{background-color:var(--el-color-warning-light-8);color:var(--el-color-warning)}.el-check-tag.is-checked.el-check-tag--warning:hover{background-color:var(--el-color-warning-light-7)}.el-check-tag.is-checked.el-check-tag--danger{background-color:var(--el-color-danger-light-8);color:var(--el-color-danger)}.el-check-tag.is-checked.el-check-tag--danger:hover{background-color:var(--el-color-danger-light-7)}.el-check-tag.is-checked.el-check-tag--error{background-color:var(--el-color-error-light-8);color:var(--el-color-error)}.el-check-tag.is-checked.el-check-tag--error:hover{background-color:var(--el-color-error-light-7)}.el-check-tag.is-checked.el-check-tag--info{background-color:var(--el-color-info-light-8);color:var(--el-color-info)}.el-check-tag.is-checked.el-check-tag--info:hover{background-color:var(--el-color-info-light-7)}.el-checkbox-button{--el-checkbox-button-checked-bg-color:var(--el-color-primary);--el-checkbox-button-checked-text-color:var(--el-color-white);--el-checkbox-button-checked-border-color:var(--el-color-primary);display:inline-block;position:relative}.el-checkbox-button__inner{-webkit-appearance:none;background:var(--el-button-bg-color,var(--el-fill-color-blank));border:var(--el-border);border-left-color:transparent;border-radius:0;box-sizing:border-box;color:var(--el-button-text-color,var(--el-text-color-regular));cursor:pointer;display:inline-block;font-size:var(--el-font-size-base);font-weight:var(--el-checkbox-font-weight);line-height:1;margin:0;outline:none;padding:8px 15px;position:relative;text-align:center;transition:var(--el-transition-all);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-checkbox-button__inner.is-round{padding:8px 15px}.el-checkbox-button__inner:hover{color:var(--el-color-primary)}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{margin:0;opacity:0;outline:none;position:absolute;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{background-color:var(--el-checkbox-button-checked-bg-color);border-color:var(--el-checkbox-button-checked-border-color);box-shadow:-1px 0 0 0 var(--el-color-primary-light-7);color:var(--el-checkbox-button-checked-text-color)}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button.is-disabled .el-checkbox-button__inner{background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));background-image:none;border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none;color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:var(--el-button-disabled-border-color,var(--el-border-color-light))}.el-checkbox-button:first-child .el-checkbox-button__inner{border-bottom-left-radius:var(--el-border-radius-base);border-left:var(--el-border);border-top-left-radius:var(--el-border-radius-base);box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button:last-child .el-checkbox-button__inner{border-bottom-right-radius:var(--el-border-radius-base);border-top-right-radius:var(--el-border-radius-base)}.el-checkbox-button--large .el-checkbox-button__inner{border-radius:0;font-size:var(--el-font-size-base);padding:12px 19px}.el-checkbox-button--large .el-checkbox-button__inner.is-round{padding:12px 19px}.el-checkbox-button--small .el-checkbox-button__inner{border-radius:0;font-size:12px;padding:5px 11px}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:5px 11px}.el-checkbox-group{font-size:0;line-height:0}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary);align-items:center;color:var(--el-checkbox-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-checkbox-font-weight);height:var(--el-checkbox-height,32px);margin-right:30px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:0 11px 0 7px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox input:focus-visible+.el-checkbox__inner{border-radius:var(--el-checkbox-border-radius);outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px}.el-checkbox__input{cursor:pointer;display:inline-flex;outline:none;position:relative;white-space:nowrap}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-icon-color);cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-checked-icon-color);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-checked-icon-color);content:"";display:block;height:2px;left:0;position:absolute;right:0;top:5px;transform:scale(.5)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{background-color:var(--el-checkbox-bg-color);border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;display:inline-block;height:var(--el-checkbox-input-height);position:relative;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46);width:var(--el-checkbox-input-width);z-index:var(--el-index-normal)}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{border:1px solid transparent;border-left:0;border-top:0;box-sizing:content-box;content:"";height:7px;left:4px;position:absolute;top:1px;transform:rotate(45deg) scaleY(0);transform-origin:center;transition:transform .15s ease-in .05s;width:3px}.el-checkbox__original{height:0;margin:0;opacity:0;outline:none;position:absolute;width:0;z-index:-1}.el-checkbox__label{display:inline-block;font-size:var(--el-checkbox-font-size);line-height:1;padding-left:8px}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox:last-of-type{margin-right:0}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{display:block;min-height:1px}.el-col-0,.el-col-0.is-guttered{display:none}.el-col-0{flex:0 0 0%;max-width:0}.el-col-offset-0{margin-left:0}.el-col-pull-0{position:relative;right:0}.el-col-push-0{left:0;position:relative}.el-col-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-offset-1{margin-left:4.1666666667%}.el-col-pull-1{position:relative;right:4.1666666667%}.el-col-push-1{left:4.1666666667%;position:relative}.el-col-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-offset-2{margin-left:8.3333333333%}.el-col-pull-2{position:relative;right:8.3333333333%}.el-col-push-2{left:8.3333333333%;position:relative}.el-col-3{flex:0 0 12.5%;max-width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{left:12.5%;position:relative}.el-col-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-offset-4{margin-left:16.6666666667%}.el-col-pull-4{position:relative;right:16.6666666667%}.el-col-push-4{left:16.6666666667%;position:relative}.el-col-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-offset-5{margin-left:20.8333333333%}.el-col-pull-5{position:relative;right:20.8333333333%}.el-col-push-5{left:20.8333333333%;position:relative}.el-col-6{flex:0 0 25%;max-width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{left:25%;position:relative}.el-col-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-offset-7{margin-left:29.1666666667%}.el-col-pull-7{position:relative;right:29.1666666667%}.el-col-push-7{left:29.1666666667%;position:relative}.el-col-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-offset-8{margin-left:33.3333333333%}.el-col-pull-8{position:relative;right:33.3333333333%}.el-col-push-8{left:33.3333333333%;position:relative}.el-col-9{flex:0 0 37.5%;max-width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{left:37.5%;position:relative}.el-col-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-offset-10{margin-left:41.6666666667%}.el-col-pull-10{position:relative;right:41.6666666667%}.el-col-push-10{left:41.6666666667%;position:relative}.el-col-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-offset-11{margin-left:45.8333333333%}.el-col-pull-11{position:relative;right:45.8333333333%}.el-col-push-11{left:45.8333333333%;position:relative}.el-col-12{flex:0 0 50%;max-width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{left:50%;position:relative}.el-col-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-offset-13{margin-left:54.1666666667%}.el-col-pull-13{position:relative;right:54.1666666667%}.el-col-push-13{left:54.1666666667%;position:relative}.el-col-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-offset-14{margin-left:58.3333333333%}.el-col-pull-14{position:relative;right:58.3333333333%}.el-col-push-14{left:58.3333333333%;position:relative}.el-col-15{flex:0 0 62.5%;max-width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{left:62.5%;position:relative}.el-col-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-offset-16{margin-left:66.6666666667%}.el-col-pull-16{position:relative;right:66.6666666667%}.el-col-push-16{left:66.6666666667%;position:relative}.el-col-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-offset-17{margin-left:70.8333333333%}.el-col-pull-17{position:relative;right:70.8333333333%}.el-col-push-17{left:70.8333333333%;position:relative}.el-col-18{flex:0 0 75%;max-width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{left:75%;position:relative}.el-col-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-offset-19{margin-left:79.1666666667%}.el-col-pull-19{position:relative;right:79.1666666667%}.el-col-push-19{left:79.1666666667%;position:relative}.el-col-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-offset-20{margin-left:83.3333333333%}.el-col-pull-20{position:relative;right:83.3333333333%}.el-col-push-20{left:83.3333333333%;position:relative}.el-col-21{flex:0 0 87.5%;max-width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{left:87.5%;position:relative}.el-col-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-offset-22{margin-left:91.6666666667%}.el-col-pull-22{position:relative;right:91.6666666667%}.el-col-push-22{left:91.6666666667%;position:relative}.el-col-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-offset-23{margin-left:95.8333333333%}.el-col-pull-23{position:relative;right:95.8333333333%}.el-col-push-23{left:95.8333333333%;position:relative}.el-col-24{flex:0 0 100%;max-width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{left:100%;position:relative}@media only screen and (max-width:767px){.el-col-xs-0,.el-col-xs-0.is-guttered{display:none}.el-col-xs-0{flex:0 0 0%;max-width:0}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{left:0;position:relative}.el-col-xs-1{display:block;flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-xs-offset-1{margin-left:4.1666666667%}.el-col-xs-pull-1{position:relative;right:4.1666666667%}.el-col-xs-push-1{left:4.1666666667%;position:relative}.el-col-xs-2{display:block;flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-xs-offset-2{margin-left:8.3333333333%}.el-col-xs-pull-2{position:relative;right:8.3333333333%}.el-col-xs-push-2{left:8.3333333333%;position:relative}.el-col-xs-3{display:block;flex:0 0 12.5%;max-width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{left:12.5%;position:relative}.el-col-xs-4{display:block;flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-xs-offset-4{margin-left:16.6666666667%}.el-col-xs-pull-4{position:relative;right:16.6666666667%}.el-col-xs-push-4{left:16.6666666667%;position:relative}.el-col-xs-5{display:block;flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-xs-offset-5{margin-left:20.8333333333%}.el-col-xs-pull-5{position:relative;right:20.8333333333%}.el-col-xs-push-5{left:20.8333333333%;position:relative}.el-col-xs-6{display:block;flex:0 0 25%;max-width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{left:25%;position:relative}.el-col-xs-7{display:block;flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-xs-offset-7{margin-left:29.1666666667%}.el-col-xs-pull-7{position:relative;right:29.1666666667%}.el-col-xs-push-7{left:29.1666666667%;position:relative}.el-col-xs-8{display:block;flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-xs-offset-8{margin-left:33.3333333333%}.el-col-xs-pull-8{position:relative;right:33.3333333333%}.el-col-xs-push-8{left:33.3333333333%;position:relative}.el-col-xs-9{display:block;flex:0 0 37.5%;max-width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{left:37.5%;position:relative}.el-col-xs-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-xs-offset-10{margin-left:41.6666666667%}.el-col-xs-pull-10{position:relative;right:41.6666666667%}.el-col-xs-push-10{left:41.6666666667%;position:relative}.el-col-xs-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-xs-offset-11{margin-left:45.8333333333%}.el-col-xs-pull-11{position:relative;right:45.8333333333%}.el-col-xs-push-11{left:45.8333333333%;position:relative}.el-col-xs-12{display:block;flex:0 0 50%;max-width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{left:50%;position:relative}.el-col-xs-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-xs-offset-13{margin-left:54.1666666667%}.el-col-xs-pull-13{position:relative;right:54.1666666667%}.el-col-xs-push-13{left:54.1666666667%;position:relative}.el-col-xs-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-xs-offset-14{margin-left:58.3333333333%}.el-col-xs-pull-14{position:relative;right:58.3333333333%}.el-col-xs-push-14{left:58.3333333333%;position:relative}.el-col-xs-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{left:62.5%;position:relative}.el-col-xs-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-xs-offset-16{margin-left:66.6666666667%}.el-col-xs-pull-16{position:relative;right:66.6666666667%}.el-col-xs-push-16{left:66.6666666667%;position:relative}.el-col-xs-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-xs-offset-17{margin-left:70.8333333333%}.el-col-xs-pull-17{position:relative;right:70.8333333333%}.el-col-xs-push-17{left:70.8333333333%;position:relative}.el-col-xs-18{display:block;flex:0 0 75%;max-width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{left:75%;position:relative}.el-col-xs-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-xs-offset-19{margin-left:79.1666666667%}.el-col-xs-pull-19{position:relative;right:79.1666666667%}.el-col-xs-push-19{left:79.1666666667%;position:relative}.el-col-xs-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-xs-offset-20{margin-left:83.3333333333%}.el-col-xs-pull-20{position:relative;right:83.3333333333%}.el-col-xs-push-20{left:83.3333333333%;position:relative}.el-col-xs-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{left:87.5%;position:relative}.el-col-xs-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-xs-offset-22{margin-left:91.6666666667%}.el-col-xs-pull-22{position:relative;right:91.6666666667%}.el-col-xs-push-22{left:91.6666666667%;position:relative}.el-col-xs-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-xs-offset-23{margin-left:95.8333333333%}.el-col-xs-pull-23{position:relative;right:95.8333333333%}.el-col-xs-push-23{left:95.8333333333%;position:relative}.el-col-xs-24{display:block;flex:0 0 100%;max-width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{left:100%;position:relative}}@media only screen and (min-width:768px){.el-col-sm-0,.el-col-sm-0.is-guttered{display:none}.el-col-sm-0{flex:0 0 0%;max-width:0}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{left:0;position:relative}.el-col-sm-1{display:block;flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-sm-offset-1{margin-left:4.1666666667%}.el-col-sm-pull-1{position:relative;right:4.1666666667%}.el-col-sm-push-1{left:4.1666666667%;position:relative}.el-col-sm-2{display:block;flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-sm-offset-2{margin-left:8.3333333333%}.el-col-sm-pull-2{position:relative;right:8.3333333333%}.el-col-sm-push-2{left:8.3333333333%;position:relative}.el-col-sm-3{display:block;flex:0 0 12.5%;max-width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{left:12.5%;position:relative}.el-col-sm-4{display:block;flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-sm-offset-4{margin-left:16.6666666667%}.el-col-sm-pull-4{position:relative;right:16.6666666667%}.el-col-sm-push-4{left:16.6666666667%;position:relative}.el-col-sm-5{display:block;flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-sm-offset-5{margin-left:20.8333333333%}.el-col-sm-pull-5{position:relative;right:20.8333333333%}.el-col-sm-push-5{left:20.8333333333%;position:relative}.el-col-sm-6{display:block;flex:0 0 25%;max-width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{left:25%;position:relative}.el-col-sm-7{display:block;flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-sm-offset-7{margin-left:29.1666666667%}.el-col-sm-pull-7{position:relative;right:29.1666666667%}.el-col-sm-push-7{left:29.1666666667%;position:relative}.el-col-sm-8{display:block;flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-sm-offset-8{margin-left:33.3333333333%}.el-col-sm-pull-8{position:relative;right:33.3333333333%}.el-col-sm-push-8{left:33.3333333333%;position:relative}.el-col-sm-9{display:block;flex:0 0 37.5%;max-width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{left:37.5%;position:relative}.el-col-sm-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-sm-offset-10{margin-left:41.6666666667%}.el-col-sm-pull-10{position:relative;right:41.6666666667%}.el-col-sm-push-10{left:41.6666666667%;position:relative}.el-col-sm-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-sm-offset-11{margin-left:45.8333333333%}.el-col-sm-pull-11{position:relative;right:45.8333333333%}.el-col-sm-push-11{left:45.8333333333%;position:relative}.el-col-sm-12{display:block;flex:0 0 50%;max-width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{left:50%;position:relative}.el-col-sm-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-sm-offset-13{margin-left:54.1666666667%}.el-col-sm-pull-13{position:relative;right:54.1666666667%}.el-col-sm-push-13{left:54.1666666667%;position:relative}.el-col-sm-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-sm-offset-14{margin-left:58.3333333333%}.el-col-sm-pull-14{position:relative;right:58.3333333333%}.el-col-sm-push-14{left:58.3333333333%;position:relative}.el-col-sm-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{left:62.5%;position:relative}.el-col-sm-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-sm-offset-16{margin-left:66.6666666667%}.el-col-sm-pull-16{position:relative;right:66.6666666667%}.el-col-sm-push-16{left:66.6666666667%;position:relative}.el-col-sm-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-sm-offset-17{margin-left:70.8333333333%}.el-col-sm-pull-17{position:relative;right:70.8333333333%}.el-col-sm-push-17{left:70.8333333333%;position:relative}.el-col-sm-18{display:block;flex:0 0 75%;max-width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{left:75%;position:relative}.el-col-sm-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-sm-offset-19{margin-left:79.1666666667%}.el-col-sm-pull-19{position:relative;right:79.1666666667%}.el-col-sm-push-19{left:79.1666666667%;position:relative}.el-col-sm-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-sm-offset-20{margin-left:83.3333333333%}.el-col-sm-pull-20{position:relative;right:83.3333333333%}.el-col-sm-push-20{left:83.3333333333%;position:relative}.el-col-sm-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{left:87.5%;position:relative}.el-col-sm-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-sm-offset-22{margin-left:91.6666666667%}.el-col-sm-pull-22{position:relative;right:91.6666666667%}.el-col-sm-push-22{left:91.6666666667%;position:relative}.el-col-sm-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-sm-offset-23{margin-left:95.8333333333%}.el-col-sm-pull-23{position:relative;right:95.8333333333%}.el-col-sm-push-23{left:95.8333333333%;position:relative}.el-col-sm-24{display:block;flex:0 0 100%;max-width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{left:100%;position:relative}}@media only screen and (min-width:992px){.el-col-md-0,.el-col-md-0.is-guttered{display:none}.el-col-md-0{flex:0 0 0%;max-width:0}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{left:0;position:relative}.el-col-md-1{display:block;flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-md-offset-1{margin-left:4.1666666667%}.el-col-md-pull-1{position:relative;right:4.1666666667%}.el-col-md-push-1{left:4.1666666667%;position:relative}.el-col-md-2{display:block;flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-md-offset-2{margin-left:8.3333333333%}.el-col-md-pull-2{position:relative;right:8.3333333333%}.el-col-md-push-2{left:8.3333333333%;position:relative}.el-col-md-3{display:block;flex:0 0 12.5%;max-width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{left:12.5%;position:relative}.el-col-md-4{display:block;flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-md-offset-4{margin-left:16.6666666667%}.el-col-md-pull-4{position:relative;right:16.6666666667%}.el-col-md-push-4{left:16.6666666667%;position:relative}.el-col-md-5{display:block;flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-md-offset-5{margin-left:20.8333333333%}.el-col-md-pull-5{position:relative;right:20.8333333333%}.el-col-md-push-5{left:20.8333333333%;position:relative}.el-col-md-6{display:block;flex:0 0 25%;max-width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{left:25%;position:relative}.el-col-md-7{display:block;flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-md-offset-7{margin-left:29.1666666667%}.el-col-md-pull-7{position:relative;right:29.1666666667%}.el-col-md-push-7{left:29.1666666667%;position:relative}.el-col-md-8{display:block;flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-md-offset-8{margin-left:33.3333333333%}.el-col-md-pull-8{position:relative;right:33.3333333333%}.el-col-md-push-8{left:33.3333333333%;position:relative}.el-col-md-9{display:block;flex:0 0 37.5%;max-width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{left:37.5%;position:relative}.el-col-md-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-md-offset-10{margin-left:41.6666666667%}.el-col-md-pull-10{position:relative;right:41.6666666667%}.el-col-md-push-10{left:41.6666666667%;position:relative}.el-col-md-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-md-offset-11{margin-left:45.8333333333%}.el-col-md-pull-11{position:relative;right:45.8333333333%}.el-col-md-push-11{left:45.8333333333%;position:relative}.el-col-md-12{display:block;flex:0 0 50%;max-width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{left:50%;position:relative}.el-col-md-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-md-offset-13{margin-left:54.1666666667%}.el-col-md-pull-13{position:relative;right:54.1666666667%}.el-col-md-push-13{left:54.1666666667%;position:relative}.el-col-md-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-md-offset-14{margin-left:58.3333333333%}.el-col-md-pull-14{position:relative;right:58.3333333333%}.el-col-md-push-14{left:58.3333333333%;position:relative}.el-col-md-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{left:62.5%;position:relative}.el-col-md-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-md-offset-16{margin-left:66.6666666667%}.el-col-md-pull-16{position:relative;right:66.6666666667%}.el-col-md-push-16{left:66.6666666667%;position:relative}.el-col-md-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-md-offset-17{margin-left:70.8333333333%}.el-col-md-pull-17{position:relative;right:70.8333333333%}.el-col-md-push-17{left:70.8333333333%;position:relative}.el-col-md-18{display:block;flex:0 0 75%;max-width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{left:75%;position:relative}.el-col-md-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-md-offset-19{margin-left:79.1666666667%}.el-col-md-pull-19{position:relative;right:79.1666666667%}.el-col-md-push-19{left:79.1666666667%;position:relative}.el-col-md-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-md-offset-20{margin-left:83.3333333333%}.el-col-md-pull-20{position:relative;right:83.3333333333%}.el-col-md-push-20{left:83.3333333333%;position:relative}.el-col-md-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{left:87.5%;position:relative}.el-col-md-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-md-offset-22{margin-left:91.6666666667%}.el-col-md-pull-22{position:relative;right:91.6666666667%}.el-col-md-push-22{left:91.6666666667%;position:relative}.el-col-md-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-md-offset-23{margin-left:95.8333333333%}.el-col-md-pull-23{position:relative;right:95.8333333333%}.el-col-md-push-23{left:95.8333333333%;position:relative}.el-col-md-24{display:block;flex:0 0 100%;max-width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{left:100%;position:relative}}@media only screen and (min-width:1200px){.el-col-lg-0,.el-col-lg-0.is-guttered{display:none}.el-col-lg-0{flex:0 0 0%;max-width:0}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{left:0;position:relative}.el-col-lg-1{display:block;flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-lg-offset-1{margin-left:4.1666666667%}.el-col-lg-pull-1{position:relative;right:4.1666666667%}.el-col-lg-push-1{left:4.1666666667%;position:relative}.el-col-lg-2{display:block;flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-lg-offset-2{margin-left:8.3333333333%}.el-col-lg-pull-2{position:relative;right:8.3333333333%}.el-col-lg-push-2{left:8.3333333333%;position:relative}.el-col-lg-3{display:block;flex:0 0 12.5%;max-width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{left:12.5%;position:relative}.el-col-lg-4{display:block;flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-lg-offset-4{margin-left:16.6666666667%}.el-col-lg-pull-4{position:relative;right:16.6666666667%}.el-col-lg-push-4{left:16.6666666667%;position:relative}.el-col-lg-5{display:block;flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-lg-offset-5{margin-left:20.8333333333%}.el-col-lg-pull-5{position:relative;right:20.8333333333%}.el-col-lg-push-5{left:20.8333333333%;position:relative}.el-col-lg-6{display:block;flex:0 0 25%;max-width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{left:25%;position:relative}.el-col-lg-7{display:block;flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-lg-offset-7{margin-left:29.1666666667%}.el-col-lg-pull-7{position:relative;right:29.1666666667%}.el-col-lg-push-7{left:29.1666666667%;position:relative}.el-col-lg-8{display:block;flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-lg-offset-8{margin-left:33.3333333333%}.el-col-lg-pull-8{position:relative;right:33.3333333333%}.el-col-lg-push-8{left:33.3333333333%;position:relative}.el-col-lg-9{display:block;flex:0 0 37.5%;max-width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{left:37.5%;position:relative}.el-col-lg-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-lg-offset-10{margin-left:41.6666666667%}.el-col-lg-pull-10{position:relative;right:41.6666666667%}.el-col-lg-push-10{left:41.6666666667%;position:relative}.el-col-lg-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-lg-offset-11{margin-left:45.8333333333%}.el-col-lg-pull-11{position:relative;right:45.8333333333%}.el-col-lg-push-11{left:45.8333333333%;position:relative}.el-col-lg-12{display:block;flex:0 0 50%;max-width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{left:50%;position:relative}.el-col-lg-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-lg-offset-13{margin-left:54.1666666667%}.el-col-lg-pull-13{position:relative;right:54.1666666667%}.el-col-lg-push-13{left:54.1666666667%;position:relative}.el-col-lg-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-lg-offset-14{margin-left:58.3333333333%}.el-col-lg-pull-14{position:relative;right:58.3333333333%}.el-col-lg-push-14{left:58.3333333333%;position:relative}.el-col-lg-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{left:62.5%;position:relative}.el-col-lg-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-lg-offset-16{margin-left:66.6666666667%}.el-col-lg-pull-16{position:relative;right:66.6666666667%}.el-col-lg-push-16{left:66.6666666667%;position:relative}.el-col-lg-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-lg-offset-17{margin-left:70.8333333333%}.el-col-lg-pull-17{position:relative;right:70.8333333333%}.el-col-lg-push-17{left:70.8333333333%;position:relative}.el-col-lg-18{display:block;flex:0 0 75%;max-width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{left:75%;position:relative}.el-col-lg-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-lg-offset-19{margin-left:79.1666666667%}.el-col-lg-pull-19{position:relative;right:79.1666666667%}.el-col-lg-push-19{left:79.1666666667%;position:relative}.el-col-lg-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-lg-offset-20{margin-left:83.3333333333%}.el-col-lg-pull-20{position:relative;right:83.3333333333%}.el-col-lg-push-20{left:83.3333333333%;position:relative}.el-col-lg-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{left:87.5%;position:relative}.el-col-lg-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-lg-offset-22{margin-left:91.6666666667%}.el-col-lg-pull-22{position:relative;right:91.6666666667%}.el-col-lg-push-22{left:91.6666666667%;position:relative}.el-col-lg-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-lg-offset-23{margin-left:95.8333333333%}.el-col-lg-pull-23{position:relative;right:95.8333333333%}.el-col-lg-push-23{left:95.8333333333%;position:relative}.el-col-lg-24{display:block;flex:0 0 100%;max-width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{left:100%;position:relative}}@media only screen and (min-width:1920px){.el-col-xl-0,.el-col-xl-0.is-guttered{display:none}.el-col-xl-0{flex:0 0 0%;max-width:0}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{left:0;position:relative}.el-col-xl-1{display:block;flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-xl-offset-1{margin-left:4.1666666667%}.el-col-xl-pull-1{position:relative;right:4.1666666667%}.el-col-xl-push-1{left:4.1666666667%;position:relative}.el-col-xl-2{display:block;flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-xl-offset-2{margin-left:8.3333333333%}.el-col-xl-pull-2{position:relative;right:8.3333333333%}.el-col-xl-push-2{left:8.3333333333%;position:relative}.el-col-xl-3{display:block;flex:0 0 12.5%;max-width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{left:12.5%;position:relative}.el-col-xl-4{display:block;flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-xl-offset-4{margin-left:16.6666666667%}.el-col-xl-pull-4{position:relative;right:16.6666666667%}.el-col-xl-push-4{left:16.6666666667%;position:relative}.el-col-xl-5{display:block;flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-xl-offset-5{margin-left:20.8333333333%}.el-col-xl-pull-5{position:relative;right:20.8333333333%}.el-col-xl-push-5{left:20.8333333333%;position:relative}.el-col-xl-6{display:block;flex:0 0 25%;max-width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{left:25%;position:relative}.el-col-xl-7{display:block;flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-xl-offset-7{margin-left:29.1666666667%}.el-col-xl-pull-7{position:relative;right:29.1666666667%}.el-col-xl-push-7{left:29.1666666667%;position:relative}.el-col-xl-8{display:block;flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-xl-offset-8{margin-left:33.3333333333%}.el-col-xl-pull-8{position:relative;right:33.3333333333%}.el-col-xl-push-8{left:33.3333333333%;position:relative}.el-col-xl-9{display:block;flex:0 0 37.5%;max-width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{left:37.5%;position:relative}.el-col-xl-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-xl-offset-10{margin-left:41.6666666667%}.el-col-xl-pull-10{position:relative;right:41.6666666667%}.el-col-xl-push-10{left:41.6666666667%;position:relative}.el-col-xl-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-xl-offset-11{margin-left:45.8333333333%}.el-col-xl-pull-11{position:relative;right:45.8333333333%}.el-col-xl-push-11{left:45.8333333333%;position:relative}.el-col-xl-12{display:block;flex:0 0 50%;max-width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{left:50%;position:relative}.el-col-xl-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-xl-offset-13{margin-left:54.1666666667%}.el-col-xl-pull-13{position:relative;right:54.1666666667%}.el-col-xl-push-13{left:54.1666666667%;position:relative}.el-col-xl-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-xl-offset-14{margin-left:58.3333333333%}.el-col-xl-pull-14{position:relative;right:58.3333333333%}.el-col-xl-push-14{left:58.3333333333%;position:relative}.el-col-xl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{left:62.5%;position:relative}.el-col-xl-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-xl-offset-16{margin-left:66.6666666667%}.el-col-xl-pull-16{position:relative;right:66.6666666667%}.el-col-xl-push-16{left:66.6666666667%;position:relative}.el-col-xl-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-xl-offset-17{margin-left:70.8333333333%}.el-col-xl-pull-17{position:relative;right:70.8333333333%}.el-col-xl-push-17{left:70.8333333333%;position:relative}.el-col-xl-18{display:block;flex:0 0 75%;max-width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{left:75%;position:relative}.el-col-xl-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-xl-offset-19{margin-left:79.1666666667%}.el-col-xl-pull-19{position:relative;right:79.1666666667%}.el-col-xl-push-19{left:79.1666666667%;position:relative}.el-col-xl-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-xl-offset-20{margin-left:83.3333333333%}.el-col-xl-pull-20{position:relative;right:83.3333333333%}.el-col-xl-push-20{left:83.3333333333%;position:relative}.el-col-xl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{left:87.5%;position:relative}.el-col-xl-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-xl-offset-22{margin-left:91.6666666667%}.el-col-xl-pull-22{position:relative;right:91.6666666667%}.el-col-xl-push-22{left:91.6666666667%;position:relative}.el-col-xl-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-xl-offset-23{margin-left:95.8333333333%}.el-col-xl-pull-23{position:relative;right:95.8333333333%}.el-col-xl-push-23{left:95.8333333333%;position:relative}.el-col-xl-24{display:block;flex:0 0 100%;max-width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{left:100%;position:relative}}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-bottom:1px solid var(--el-collapse-border-color);border-top:1px solid var(--el-collapse-border-color)}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{align-items:center;background-color:var(--el-collapse-header-bg-color);border:none;border-bottom:1px solid var(--el-collapse-border-color);color:var(--el-collapse-header-text-color);cursor:pointer;display:flex;font-size:var(--el-collapse-header-font-size);font-weight:500;height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);outline:none;padding:0;transition:border-bottom-color var(--el-transition-duration);width:100%}.el-collapse-item__arrow{font-weight:300;margin:0 8px 0 auto;transition:transform var(--el-transition-duration)}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{background-color:var(--el-collapse-content-bg-color);border-bottom:1px solid var(--el-collapse-border-color);box-sizing:border-box;overflow:hidden;will-change:height}.el-collapse-item__content{color:var(--el-collapse-content-text-color);font-size:var(--el-collapse-content-font-size);line-height:1.7692307692;padding-bottom:25px}.el-collapse-item:last-child{margin-bottom:-1px}.el-color-predefine{display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:flex;flex:1;flex-wrap:wrap}.el-color-predefine__color-selector{border-radius:4px;cursor:pointer;height:20px;margin:0 0 8px 8px;width:20px}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px var(--el-color-primary)}.el-color-predefine__color-selector>div{border-radius:3px;display:flex;height:100%}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{background-color:red;box-sizing:border-box;float:right;height:12px;padding:0 2px;position:relative;width:280px}.el-color-hue-slider__bar{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);height:100%;position:relative}.el-color-hue-slider__thumb{background:#fff;border:1px solid var(--el-border-color-lighter);border-radius:1px;box-shadow:0 0 2px #0009;box-sizing:border-box;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:4px;z-index:1}.el-color-hue-slider.is-vertical{height:180px;padding:2px 0;width:12px}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{height:4px;left:0;top:0;width:100%}.el-color-svpanel{height:180px;position:relative;width:280px}.el-color-svpanel__black,.el-color-svpanel__white{bottom:0;left:0;position:absolute;right:0;top:0}.el-color-svpanel__white{background:linear-gradient(90deg,#fff,#fff0)}.el-color-svpanel__black{background:linear-gradient(0deg,#000,#0000)}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{border-radius:50%;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006;cursor:head;height:4px;transform:translate(-2px,-2px);width:4px}.el-color-alpha-slider{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px;box-sizing:border-box;height:12px;position:relative;width:280px}.el-color-alpha-slider__bar{background:linear-gradient(to right,rgba(255,255,255,0) 0,var(--el-bg-color) 100%);height:100%;position:relative}.el-color-alpha-slider__thumb{background:#fff;border:1px solid var(--el-border-color-lighter);border-radius:1px;box-shadow:0 0 2px #0009;box-sizing:border-box;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:4px;z-index:1}.el-color-alpha-slider.is-vertical{height:180px;width:20px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(180deg,#fff0 0,#fff)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{height:4px;left:0;top:0;width:100%}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper:after{clear:both;content:"";display:table}.el-color-dropdown__btns{margin-top:12px;text-align:right}.el-color-dropdown__value{color:#000;float:left;font-size:12px;line-height:26px;width:160px}.el-color-picker{display:inline-block;line-height:normal;outline:none;position:relative}.el-color-picker:hover:not(.is-disabled,.is-focused) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:focus-visible:not(.is-disabled) .el-color-picker__trigger{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-picker.is-focused .el-color-picker__trigger{border-color:var(--el-color-primary)}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--large{height:40px}.el-color-picker--large .el-color-picker__trigger{height:40px;width:40px}.el-color-picker--large .el-color-picker__mask{height:38px;width:38px}.el-color-picker--small{height:24px}.el-color-picker--small .el-color-picker__trigger{height:24px;width:24px}.el-color-picker--small .el-color-picker__mask{height:22px;width:22px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{transform:scale(.8)}.el-color-picker__mask{background-color:#ffffffb3;border-radius:4px;cursor:not-allowed;height:30px;left:1px;position:absolute;top:1px;width:30px;z-index:1}.el-color-picker__trigger{align-items:center;border:1px solid var(--el-border-color);border-radius:4px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:0;height:32px;justify-content:center;padding:4px;position:relative;width:32px}.el-color-picker__color{border:1px solid var(--el-text-color-secondary);border-radius:var(--el-border-radius-small);box-sizing:border-box;display:block;height:100%;position:relative;text-align:center;width:100%}.el-color-picker__color.is-alpha{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px}.el-color-picker__color-inner{align-items:center;display:inline-flex;height:100%;justify-content:center;width:100%}.el-color-picker .el-color-picker__empty{color:var(--el-text-color-secondary);font-size:12px}.el-color-picker .el-color-picker__icon{align-items:center;color:#fff;display:inline-flex;font-size:12px;justify-content:center}.el-color-picker__panel{background-color:#fff;border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light);box-sizing:content-box;padding:6px;position:absolute;z-index:10}.el-color-picker__panel.el-popper{border:1px solid var(--el-border-color-lighter)}.el-color-picker,.el-color-picker__panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker,.dark .el-color-picker__panel{--el-color-picker-alpha-bg-a:#333333}.el-container{box-sizing:border-box;display:flex;flex:1;flex-basis:auto;flex-direction:row;min-width:0}.el-container.is-vertical{flex-direction:column}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;cursor:pointer;height:30px;padding:4px 0;position:relative;text-align:center;width:32px}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;display:block;height:24px;left:50%;line-height:24px;margin:0 auto;position:absolute;transform:translate(-50%);width:24px}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-date-table td.today.end-date .el-date-table-cell__text,.el-date-table td.today.start-date .el-date-table-cell__text{color:#fff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.end-date .el-date-table-cell,.el-date-table td.start-date .el-date-table-cell{color:#fff}.el-date-table td.end-date .el-date-table-cell__text,.el-date-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed;opacity:1}.el-date-table td.selected .el-date-table-cell{border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);border-radius:15px;color:#fff}.el-date-table td.week{color:var(--el-datepicker-header-text-color);font-size:80%}.el-date-table td:focus{outline:none}.el-date-table th{border-bottom:1px solid var(--el-border-color-lighter);color:var(--el-datepicker-header-text-color);font-weight:400;padding:5px}.el-month-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-month-table td{cursor:pointer;padding:8px 0;position:relative;text-align:center;width:68px}.el-month-table td div{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .cell{color:var(--el-color-primary);font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#fff}.el-month-table td.disabled .cell{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-month-table td.disabled .cell:hover{color:var(--el-text-color-placeholder)}.el-month-table td .cell{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;left:50%;line-height:36px;margin:0 auto;position:absolute;transform:translate(-50%);width:54px}.el-month-table td .cell:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range div{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range div:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#fff}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{background-color:var(--el-datepicker-active-color);color:#fff}.el-month-table td.start-date div{border-bottom-left-radius:24px;border-top-left-radius:24px;margin-left:3px}.el-month-table td.end-date div{border-bottom-right-radius:24px;border-top-right-radius:24px;margin-right:3px}.el-month-table td.current:not(.disabled) div{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .cell{background-color:var(--el-datepicker-active-color);color:#fff}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .cell{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{cursor:pointer;padding:8px 0;position:relative;text-align:center;width:68px}.el-year-table td div{box-sizing:border-box;height:48px;padding:6px 0}.el-year-table td.today .cell{color:var(--el-color-primary);font-weight:700}.el-year-table td.disabled .cell{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-year-table td.disabled .cell:hover{color:var(--el-text-color-placeholder)}.el-year-table td .cell{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;left:50%;line-height:36px;margin:0 auto;position:absolute;transform:translate(-50%);width:54px}.el-year-table td .cell:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.current:not(.disabled) div{border-radius:24px;margin-left:3px;margin-right:3px}.el-year-table td.current:not(.disabled) .cell{background-color:var(--el-datepicker-active-color);color:#fff}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .cell{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{display:inline-block;max-height:192px;overflow:auto;position:relative;vertical-align:top;width:50%}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;overflow:hidden;text-align:center}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;height:30px;left:0;line-height:30px;position:absolute;text-align:center;width:100%;z-index:var(--el-index-normal)}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__list{list-style:none;margin:0}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;height:80px;width:100%}.el-time-spinner__item{color:var(--el-text-color-regular);font-size:12px;height:32px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;position:relative;text-align:left;vertical-align:middle}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{height:var(--el-input-height,var(--el-component-size));width:var(--el-date-editor-width)}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .clear-icon,.el-date-editor .close-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-text-color-secondary)}.el-date-editor .el-range__icon{color:var(--el-text-color-placeholder);float:left;font-size:14px;height:inherit}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-text-color-regular);display:inline-block;font-size:var(--el-font-size-base);height:30px;line-height:30px;margin:0;outline:none;padding:0;text-align:center;width:39%}.el-date-editor .el-range-input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-input:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{align-items:center;color:var(--el-text-color-primary);display:inline-flex;flex:1;font-size:14px;height:100%;justify-content:center;margin:0;overflow-wrap:break-word;padding:0 5px}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);cursor:pointer;font-size:14px;height:inherit;width:unset}.el-date-editor .el-range__close-icon:hover{color:var(--el-text-color-secondary)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{align-items:center;display:inline-flex;padding:0 10px}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{font-size:14px;height:38px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{font-size:12px;height:22px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled input:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{background:var(--el-bg-color-overlay);border-radius:var(--el-border-radius-base);color:var(--el-text-color-regular);line-height:30px}.el-picker-panel .el-time-panel{background-color:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{clear:both;content:"";display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{background-color:var(--el-bg-color-overlay);border-top:1px solid var(--el-datepicker-inner-border-color);font-size:0;padding:4px 12px;position:relative;text-align:right}.el-picker-panel__shortcut{background-color:transparent;border:0;color:var(--el-datepicker-text-color);cursor:pointer;display:block;font-size:14px;line-height:28px;outline:none;padding-left:12px;text-align:left;width:100%}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:var(--el-datepicker-active-color)}.el-picker-panel__btn{background-color:transparent;border:1px solid var(--el-fill-color-darker);border-radius:2px;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:24px;outline:none;padding:0 20px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{background:transparent;border:0;color:var(--el-datepicker-icon-color);cursor:pointer;font-size:12px;margin-top:8px;outline:none}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{background-color:var(--el-bg-color-overlay);border-right:1px solid var(--el-datepicker-inner-border-color);bottom:0;box-sizing:border-box;overflow:auto;padding-top:6px;position:absolute;top:0;width:110px}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{border-bottom:1px solid var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{color:var(--el-text-color-regular);cursor:pointer;font-size:16px;font-weight:500;line-height:22px;padding:0 5px;text-align:center}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{cursor:pointer;float:left;line-height:30px;margin-left:10px}.el-date-picker .el-time-panel{position:absolute}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{height:28px;position:relative;text-align:center}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{box-sizing:border-box;float:left;margin:0;padding:16px;width:50%}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-range-picker__time-header>.el-icon-arrow-right{color:var(--el-datepicker-icon-color);display:table-cell;font-size:20px;vertical-align:middle}.el-date-range-picker__time-picker-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{background:#fff;position:absolute;right:0;top:13px;z-index:1}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-time-range-picker{overflow:visible;width:354px}.el-time-range-picker__content{padding:10px;position:relative;text-align:center;z-index:1}.el-time-range-picker__cell{box-sizing:border-box;display:inline-block;margin:0;padding:4px 7px 7px;width:50%}.el-time-range-picker__header{font-size:14px;margin-bottom:5px;text-align:center}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{border-radius:2px;box-sizing:content-box;left:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:180px;z-index:var(--el-index-top)}.el-time-panel__content{font-size:0;overflow:hidden;position:relative}.el-time-panel__content:after,.el-time-panel__content:before{box-sizing:border-box;content:"";height:32px;left:0;margin-top:-16px;padding-top:6px;position:absolute;right:0;text-align:left;top:50%;z-index:-1}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{border-bottom:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6666666667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333333333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));box-sizing:border-box;height:36px;line-height:25px;padding:4px;text-align:right}.el-time-panel__btn{background-color:transparent;border:none;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:28px;margin:0 5px;outline:none;padding:0 5px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;color:var(--el-text-color-primary);font-size:var(--el-font-size-base)}.el-descriptions__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;font-size:14px;font-weight:400;line-height:23px;text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{background:var(--el-descriptions-item-bordered-label-background);color:var(--el-text-color-regular);font-weight:700}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{-webkit-animation:v-modal-in var(--el-transition-duration-fast) ease;animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{-webkit-animation:v-modal-out var(--el-transition-duration-fast) ease forwards;animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{to{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{background:var(--el-popup-modal-bg-color);height:100%;left:0;opacity:var(--el-popup-modal-opacity);position:fixed;top:0;width:100%}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-small);background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;margin:var(--el-dialog-margin-top,15vh) auto 50px;overflow-wrap:break-word;padding:var(--el-dialog-padding-primary);position:relative;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{bottom:0;left:0;margin:0;overflow:auto;position:fixed;right:0;top:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size, 16px))}.el-dialog__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:48px;outline:none;padding:0;position:absolute;right:0;top:0;width:48px}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{color:var(--el-text-color-primary);font-size:var(--el-dialog-title-font-size);line-height:var(--el-dialog-font-line-height)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{box-sizing:border-box;padding-top:var(--el-dialog-padding-primary);text-align:right}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-overlay-dialog{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0}.dialog-fade-enter-active{-webkit-animation:modal-fade-in var(--el-transition-duration);animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{-webkit-animation:dialog-fade-in var(--el-transition-duration);animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{-webkit-animation:modal-fade-out var(--el-transition-duration);animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{-webkit-animation:dialog-fade-out var(--el-transition-duration);animation:dialog-fade-out var(--el-transition-duration)}@-webkit-keyframes dialog-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes dialog-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@-webkit-keyframes dialog-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}@-webkit-keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-divider{position:relative}.el-divider--horizontal{border-top:1px var(--el-border-color) var(--el-border-style);display:block;height:1px;margin:24px 0;width:100%}.el-divider--vertical{border-left:1px var(--el-border-color) var(--el-border-style);display:inline-block;height:1em;margin:0 8px;position:relative;vertical-align:middle;width:1px}.el-divider__text{background-color:var(--el-bg-color);color:var(--el-text-color-primary);font-size:14px;font-weight:500;padding:0 20px;position:absolute}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translate(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;position:absolute;transition:all var(--el-transition-duration)}.el-drawer .btt,.el-drawer .ltr,.el-drawer .rtl,.el-drawer .ttb{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{align-items:center;color:#72767b;display:flex;margin-bottom:32px;padding:var(--el-drawer-padding-primary);padding-bottom:0}.el-drawer__header>:first-child{flex:1}.el-drawer__title{flex:1;font-size:1rem;line-height:inherit;margin:0}.el-drawer__footer{padding:var(--el-drawer-padding-primary);padding-top:10px;text-align:right}.el-drawer__close-btn{background-color:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;font-size:var(--el-font-size-extra-large);outline:none}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{flex:1;overflow:auto;padding:var(--el-drawer-padding-primary)}.el-drawer__body>*{box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{bottom:0;height:100%;top:0}.el-drawer.btt,.el-drawer.ttb{left:0;right:0;width:100%}.el-drawer.ltr{left:0}.el-drawer.rtl{right:0}.el-drawer.ttb{top:0}.el-drawer.btt{bottom:0}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-active,.el-drawer-fade-enter-from,.el-drawer-fade-enter-to,.el-drawer-fade-leave-active,.el-drawer-fade-leave-from,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{opacity:0}.el-drawer-fade-enter-to,.el-drawer-fade-leave-from{opacity:1}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translate(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translate(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;color:var(--el-text-color-regular);display:inline-flex;font-size:var(--el-font-size-base);line-height:1;position:relative;vertical-align:top}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:none}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:0}.el-dropdown .el-dropdown__caret-button{align-items:center;border-left:none;display:inline-flex;justify-content:center;padding-left:0;padding-right:0;width:32px}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{background:var(--el-overlay-color-lighter);bottom:-1px;content:"";display:block;left:0;position:absolute;top:-1px;width:1px}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:none}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{background-color:var(--el-bg-color-overlay);border:none;border-radius:var(--el-border-radius-base);box-shadow:none;left:0;list-style:none;margin:0;padding:5px 0;position:relative;top:0;z-index:var(--el-dropdown-menu-index)}.el-dropdown-menu__item{align-items:center;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:var(--el-font-size-base);line-height:22px;list-style:none;margin:0;outline:none;padding:5px 16px;white-space:nowrap}.el-dropdown-menu__item:not(.is-disabled):focus{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{border-top:1px solid var(--el-border-color-lighter);margin:6px 0}.el-dropdown-menu__item.is-disabled{color:var(--el-text-color-disabled);cursor:not-allowed}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{font-size:14px;line-height:22px;padding:7px 20px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{font-size:12px;line-height:20px;padding:2px 12px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0}.el-empty{--el-empty-padding:40px 0;--el-empty-image-width:160px;--el-empty-description-margin-top:20px;--el-empty-bottom-margin-top:20px;--el-empty-fill-color-0:var(--el-color-white);--el-empty-fill-color-1:#fcfcfd;--el-empty-fill-color-2:#f8f9fb;--el-empty-fill-color-3:#f7f8fc;--el-empty-fill-color-4:#eeeff3;--el-empty-fill-color-5:#edeef2;--el-empty-fill-color-6:#e9ebef;--el-empty-fill-color-7:#e5e7e9;--el-empty-fill-color-8:#e0e3e9;--el-empty-fill-color-9:#d5d7de;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:var(--el-empty-padding);text-align:center}.el-empty__image{width:var(--el-empty-image-width)}.el-empty__image img{height:100%;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;width:100%}.el-empty__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;height:100%;vertical-align:top;width:100%}.el-empty__description{margin-top:var(--el-empty-description-margin-top)}.el-empty__description p{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);margin:0}.el-empty__bottom{margin-top:var(--el-empty-bottom-margin-top)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;box-sizing:border-box;flex-shrink:0;height:var(--el-footer-height);padding:var(--el-footer-padding)}.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--label-left .el-form-item__label{justify-content:flex-start}.el-form--label-top .el-form-item{display:block}.el-form--label-top .el-form-item .el-form-item__label{display:block;height:auto;line-height:22px;margin-bottom:8px;text-align:left}.el-form--inline .el-form-item{display:inline-flex;margin-right:32px;vertical-align:middle}.el-form--inline.el-form--label-top{display:flex;flex-wrap:wrap}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-form--large.el-form--label-top .el-form-item .el-form-item__label{line-height:22px;margin-bottom:12px}.el-form--default.el-form--label-top .el-form-item .el-form-item__label{line-height:22px;margin-bottom:8px}.el-form--small.el-form--label-top .el-form-item .el-form-item__label{line-height:20px;margin-bottom:4px}.el-form-item{display:flex;--font-size:14px;margin-bottom:18px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item__label-wrap{display:flex}.el-form-item__label{align-items:flex-start;box-sizing:border-box;color:var(--el-text-color-regular);display:inline-flex;flex:0 0 auto;font-size:var(--el-form-label-font-size);height:32px;justify-content:flex-end;line-height:32px;padding:0 12px 0 0}.el-form-item__content{align-items:center;display:flex;flex:1;flex-wrap:wrap;font-size:var(--font-size);line-height:32px;min-width:0;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);font-size:12px;left:0;line-height:1;padding-top:2px;position:absolute;top:100%}.el-form-item__error--inline{display:inline-block;left:auto;margin-left:10px;position:relative;top:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before{color:var(--el-color-danger);content:"*";margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after{color:var(--el-color-danger);content:"*";margin-left:4px}.el-form-item.is-error .el-input__wrapper,.el-form-item.is-error .el-input__wrapper.is-focus,.el-form-item.is-error .el-input__wrapper:focus,.el-form-item.is-error .el-input__wrapper:hover,.el-form-item.is-error .el-select__wrapper,.el-form-item.is-error .el-select__wrapper.is-focus,.el-form-item.is-error .el-select__wrapper:focus,.el-form-item.is-error .el-select__wrapper:hover,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner.is-focus,.el-form-item.is-error .el-textarea__inner:focus,.el-form-item.is-error .el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px transparent}.el-form-item.is-error .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-header{--el-header-padding:0 20px;--el-header-height:60px;box-sizing:border-box;flex-shrink:0;height:var(--el-header-height);padding:var(--el-header-padding)}.el-image-viewer__wrapper{bottom:0;left:0;position:fixed;right:0;top:0}.el-image-viewer__btn{align-items:center;border-radius:50%;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;opacity:.8;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.el-image-viewer__btn .el-icon{cursor:pointer;font-size:inherit}.el-image-viewer__close{font-size:40px;height:40px;right:40px;top:40px;width:40px}.el-image-viewer__canvas{align-items:center;display:flex;height:100%;justify-content:center;position:static;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.el-image-viewer__actions{background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px;bottom:30px;height:44px;left:50%;padding:0 23px;transform:translate(-50%);width:282px}.el-image-viewer__actions__inner{align-items:center;color:#fff;cursor:default;display:flex;font-size:23px;height:100%;justify-content:space-around;width:100%}.el-image-viewer__prev{left:40px}.el-image-viewer__next,.el-image-viewer__prev{background-color:var(--el-text-color-regular);border-color:#fff;color:#fff;font-size:24px;height:44px;top:50%;transform:translateY(-50%);width:44px}.el-image-viewer__next{right:40px;text-indent:2px}.el-image-viewer__close{background-color:var(--el-text-color-regular);border-color:#fff;color:#fff;font-size:24px;height:44px;width:44px}.el-image-viewer__mask{background:#000;height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in var(--el-transition-duration);animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out var(--el-transition-duration);animation:viewer-fade-out var(--el-transition-duration)}@-webkit-keyframes viewer-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes viewer-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@-webkit-keyframes viewer-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}@keyframes viewer-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}.el-image__error,.el-image__inner,.el-image__placeholder,.el-image__wrapper{height:100%;width:100%}.el-image{display:inline-block;overflow:hidden;position:relative}.el-image__inner{opacity:1;vertical-align:top}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{left:0;position:absolute;top:0}.el-image__error,.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{align-items:center;color:var(--el-text-color-placeholder);display:flex;font-size:14px;justify-content:center;vertical-align:middle}.el-image__preview{cursor:pointer}.el-input-number{display:inline-flex;line-height:30px;position:relative;width:150px}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;line-height:1;text-align:center}.el-input-number .el-input__inner::-webkit-inner-spin-button,.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number__decrease,.el-input-number__increase{align-items:center;background:var(--el-fill-color-light);bottom:1px;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:13px;height:auto;justify-content:center;position:absolute;top:1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:32px;z-index:1}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:var(--el-color-primary)}.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-left:var(--el-border);border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{line-height:38px;width:180px}.el-input-number--large .el-input-number__decrease,.el-input-number--large .el-input-number__increase{font-size:14px;width:40px}.el-input-number--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{line-height:22px;width:120px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{font-size:12px;width:24px}.el-input-number--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-bottom:var(--el-border);border-radius:0 var(--el-border-radius-base) 0 0;bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;border-right:none;left:auto;right:1px;top:auto}.el-input-number.is-controls-right[class*=large] [class*=decrease],.el-input-number.is-controls-right[class*=large] [class*=increase]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{--el-input-number-controls-height:11px}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;display:inline-block;font-size:var(--el-font-size-base);position:relative;vertical-align:bottom;width:100%}.el-textarea__inner{-webkit-appearance:none;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;font-family:inherit;font-size:inherit;line-height:1.5;padding:5px 11px;position:relative;resize:vertical;transition:var(--el-transition-box-shadow);width:100%}.el-textarea__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:-ms-input-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea .el-input__count{background:var(--el-fill-color-blank);bottom:5px;color:var(--el-color-info);font-size:12px;line-height:14px;position:absolute;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);box-sizing:border-box;display:inline-flex;font-size:var(--el-font-size-base);line-height:var(--el-input-height);position:relative;vertical-align:middle;width:var(--el-input-width)}.el-input::-webkit-scrollbar{width:6px;z-index:11}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner,.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{align-items:center;color:var(--el-color-info);display:inline-flex;font-size:12px;height:100%}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);display:inline-block;line-height:normal;padding-left:8px}.el-input__wrapper{align-items:center;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;cursor:text;display:inline-flex;flex-grow:1;justify-content:center;padding:1px 11px;transform:translateZ(0);transition:var(--el-transition-box-shadow)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 32px) - 2px);-webkit-appearance:none;background:none;border:none;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));flex-grow:1;font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);outline:none;padding:0;width:100%}.el-input__inner:focus{outline:none}.el-input__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner:-ms-input-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__prefix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__suffix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{align-items:center;display:flex;height:inherit;justify-content:center;line-height:inherit;margin-left:8px;transition:all var(--el-transition-duration)}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large .el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small .el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 24px) - 2px)}.el-input-group{align-items:stretch;display:inline-flex;width:100%}.el-input-group__append,.el-input-group__prepend{align-items:center;background-color:var(--el-fill-color-light);border-radius:var(--el-input-border-radius);color:var(--el-color-info);display:inline-flex;justify-content:center;min-height:100%;padding:0 20px;position:relative;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:0 -20px}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{background-color:transparent;border-color:transparent;color:inherit}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group__append{border-bottom-left-radius:0;border-left:0;border-top-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--prepend>.el-input__wrapper{border-bottom-left-radius:0;border-top-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{border-bottom-right-radius:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group--append>.el-input__wrapper{border-bottom-right-radius:0;border-top-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{border-bottom-left-radius:0;border-top-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-hidden{display:none!important}.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder);align-items:center;color:var(--el-link-text-color);cursor:pointer;display:inline-flex;flex-direction:row;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);justify-content:center;outline:none;padding:0;position:relative;text-decoration:none;vertical-align:middle}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link.is-underline:hover:after{border-bottom:1px solid var(--el-link-hover-text-color);bottom:0;content:"";height:0;left:0;position:absolute;right:0}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default:after{border-color:var(--el-link-hover-text-color)}.el-link__inner{align-items:center;display:inline-flex;justify-content:center}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--primary:after{border-color:var(--el-link-text-color)}.el-link.el-link--primary.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--success:after{border-color:var(--el-link-text-color)}.el-link.el-link--success.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--warning:after{border-color:var(--el-link-text-color)}.el-link.el-link--warning.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--danger:after{border-color:var(--el-link-text-color)}.el-link.el-link--danger.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--error:after{border-color:var(--el-link-text-color)}.el-link.el-link--error.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.el-link--info:after{border-color:var(--el-link-text-color)}.el-link.el-link--info.is-underline:hover:after{border-color:var(--el-link-text-color)}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{background-color:var(--el-mask-color);bottom:0;left:0;margin:0;position:absolute;right:0;top:0;transition:opacity var(--el-transition-duration);z-index:2000}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size))/2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size))/2);position:absolute;text-align:center;top:50%;width:100%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);font-size:14px;margin:3px 0}.el-loading-spinner .circular{-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite;display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size)}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@-webkit-keyframes loading-rotate{to{transform:rotate(1turn)}}@keyframes loading-rotate{to{transform:rotate(1turn)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-main{--el-main-padding:20px;box-sizing:border-box;display:block;flex:1;flex-basis:auto;overflow:auto;padding:var(--el-main-padding)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{background-color:var(--el-menu-bg-color);border-right:1px solid var(--el-menu-border-color);box-sizing:border-box;list-style:none;margin:0;padding-left:0;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title{padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level)*var(--el-menu-level-padding));white-space:nowrap}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{border-right:none;display:flex;flex-wrap:nowrap;height:var(--el-menu-horizontal-height)}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:1px solid var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{align-items:center;border-bottom:2px solid transparent;color:var(--el-menu-text-color);display:inline-flex;height:100%;justify-content:center;margin:0}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{border-bottom:2px solid transparent;color:var(--el-menu-text-color);height:100%}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{align-items:center;background-color:var(--el-menu-bg-color);color:var(--el-menu-text-color);display:flex;height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);padding:0 10px}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{background-color:var(--el-menu-hover-bg-color);color:var(--el-menu-hover-text-color);outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding)*2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{margin:0;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span{display:inline-block;height:0;overflow:hidden;visibility:hidden;width:0}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{border:none;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light);min-width:200px;padding:5px 0;z-index:100}.el-menu .el-icon{flex-shrink:0}.el-menu-item{align-items:center;box-sizing:border-box;color:var(--el-menu-text-color);cursor:pointer;display:flex;font-size:var(--el-menu-item-font-size);height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);list-style:none;padding:0 var(--el-menu-base-level-padding);position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);white-space:nowrap}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:focus,.el-menu-item:hover{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{background:none!important;cursor:not-allowed;opacity:.25}.el-menu-item [class^=el-icon]{font-size:18px;margin-right:5px;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{align-items:center;box-sizing:border-box;display:inline-flex;height:100%;left:0;padding:0 var(--el-menu-base-level-padding);position:absolute;top:0;width:100%}.el-sub-menu{list-style:none;margin:0;padding-left:0}.el-sub-menu__title{align-items:center;box-sizing:border-box;color:var(--el-menu-text-color);cursor:pointer;display:flex;font-size:var(--el-menu-item-font-size);height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);list-style:none;padding:0 var(--el-menu-base-level-padding);position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);white-space:nowrap}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:focus,.el-sub-menu__title:hover{outline:none}.el-sub-menu__title.is-disabled{background:none!important;cursor:not-allowed;opacity:.25}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-menu-item,.el-sub-menu.is-disabled .el-sub-menu__title{background:none!important;cursor:not-allowed;opacity:.25}.el-sub-menu .el-icon{font-size:18px;margin-right:5px;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{font-size:12px;margin-right:0;margin-top:-6px;position:absolute;right:var(--el-menu-base-level-padding);top:50%;transition:transform var(--el-transition-duration);width:inherit}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{color:var(--el-text-color-secondary);font-size:12px;line-height:normal;padding:7px 0 7px var(--el-menu-base-level-padding)}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{opacity:0;transition:var(--el-transition-duration-fast)}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-box-shadow:var(--el-box-shadow);--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:12px;--el-messagebox-font-line-height:var(--el-font-line-height-primary);-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);box-shadow:var(--el-messagebox-box-shadow);box-sizing:border-box;display:inline-block;font-size:var(--el-messagebox-font-size);max-width:var(--el-messagebox-width);overflow:hidden;overflow-wrap:break-word;padding:var(--el-messagebox-padding-primary);position:relative;text-align:left;vertical-align:middle;width:100%}.el-message-box:focus{outline:none!important}.el-overlay.is-message-box .el-overlay-message-box{bottom:0;left:0;overflow:auto;padding:16px;position:fixed;right:0;text-align:center;top:0}.el-overlay.is-message-box .el-overlay-message-box:after{content:"";display:inline-block;height:100%;vertical-align:middle;width:0}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size, 16px))}.el-message-box__title{color:var(--el-messagebox-title-color);font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:40px;outline:none;padding:0;position:absolute;right:0;top:0;width:40px}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{align-items:center;display:flex;gap:12px}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input{border-color:var(--el-color-error)}.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{margin:0}.el-message-box__message p{line-height:var(--el-messagebox-font-line-height);margin:0}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-end;padding-top:var(--el-messagebox-padding-primary)}.el-message-box--center .el-message-box__title{align-items:center;display:flex;gap:6px;justify-content:center}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.fade-in-linear-enter-active .el-overlay-message-box{-webkit-animation:msgbox-fade-in var(--el-transition-duration);animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@-webkit-keyframes msgbox-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes msgbox-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);align-items:center;background-color:var(--el-message-bg-color);border-color:var(--el-message-border-color);border-radius:var(--el-border-radius-base);border-style:var(--el-border-style);border-width:var(--el-border-width);box-sizing:border-box;display:flex;gap:8px;left:50%;max-width:calc(100% - 32px);padding:var(--el-message-padding);position:fixed;top:20px;transform:translate(-50%);transition:opacity var(--el-transition-duration),transform .4s,top .4s;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.el-message.is-center{justify-content:center}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;right:-8px;top:-8px}.el-message__content{font-size:14px;line-height:1;padding:0}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{color:var(--el-message-close-icon-color);cursor:pointer;font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0;transform:translate(-50%,-100%)}.el-notification{--el-notification-width:330px;--el-notification-padding:14px 26px 14px 13px;--el-notification-radius:8px;--el-notification-shadow:var(--el-box-shadow-light);--el-notification-border-color:var(--el-border-color-lighter);--el-notification-icon-size:24px;--el-notification-close-font-size:var(--el-message-close-size,16px);--el-notification-group-margin-left:13px;--el-notification-group-margin-right:8px;--el-notification-content-font-size:var(--el-font-size-base);--el-notification-content-color:var(--el-text-color-regular);--el-notification-title-font-size:16px;--el-notification-title-color:var(--el-text-color-primary);--el-notification-close-color:var(--el-text-color-secondary);--el-notification-close-hover-color:var(--el-text-color-regular);background-color:var(--el-bg-color-overlay);border:1px solid var(--el-notification-border-color);border-radius:var(--el-notification-radius);box-shadow:var(--el-notification-shadow);box-sizing:border-box;display:flex;overflow:hidden;overflow-wrap:break-word;padding:var(--el-notification-padding);position:fixed;transition:opacity var(--el-transition-duration),transform var(--el-transition-duration),left var(--el-transition-duration),right var(--el-transition-duration),top .4s,bottom var(--el-transition-duration);width:var(--el-notification-width);z-index:9999}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right)}.el-notification__title{color:var(--el-notification-title-color);font-size:var(--el-notification-title-font-size);font-weight:700;line-height:var(--el-notification-icon-size);margin:0}.el-notification__content{color:var(--el-notification-content-color);font-size:var(--el-notification-content-font-size);line-height:24px;margin:6px 0 0}.el-notification__content p{margin:0}.el-notification .el-notification__icon{font-size:var(--el-notification-icon-size);height:var(--el-notification-icon-size);width:var(--el-notification-icon-size)}.el-notification .el-notification__closeBtn{color:var(--el-notification-close-color);cursor:pointer;font-size:var(--el-notification-close-font-size);position:absolute;right:15px;top:18px}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--success{--el-notification-icon-color:var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color:var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color:var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color:var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification-fade-enter-from.right{right:0;transform:translate(100%)}.el-notification-fade-enter-from.left{left:0;transform:translate(-100%)}.el-notification-fade-leave-to{opacity:0}.el-overlay{background-color:var(--el-overlay-color-lighter);bottom:0;height:100%;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:2000}.el-overlay .el-overlay-root{height:0}.el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{align-items:center;display:flex;justify-content:space-between;line-height:24px}.el-page-header__left{align-items:center;display:flex;margin-right:40px;position:relative}.el-page-header__back{align-items:center;cursor:pointer;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;display:flex;font-size:16px;margin-right:10px}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:2px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-font-size-small:12px;--el-pagination-button-width-small:24px;--el-pagination-button-height-small:24px;--el-pagination-item-gap:16px;align-items:center;color:var(--el-pagination-text-color);display:flex;font-size:var(--el-pagination-font-size);font-weight:400;white-space:nowrap}.el-pagination .el-input__inner{-moz-appearance:textfield;text-align:center}.el-pagination .el-select{width:128px}.el-pagination button{align-items:center;background:var(--el-pagination-bg-color);border:none;border-radius:var(--el-pagination-border-radius);box-sizing:border-box;color:var(--el-pagination-button-color);cursor:pointer;display:flex;font-size:var(--el-pagination-font-size);height:var(--el-pagination-button-height);justify-content:center;line-height:var(--el-pagination-button-height);min-width:var(--el-pagination-button-width);padding:0 4px;text-align:center}.el-pagination button *{pointer-events:none}.el-pagination button:focus{outline:none}.el-pagination button:hover{color:var(--el-pagination-hover-color)}.el-pagination button.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pagination button.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pagination button.is-disabled,.el-pagination button:disabled{background-color:var(--el-pagination-button-disabled-bg-color);color:var(--el-pagination-button-disabled-color);cursor:not-allowed}.el-pagination button:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700;width:inherit}.el-pagination>.is-first{margin-left:0!important}.el-pagination>.is-last{margin-right:0!important}.el-pagination .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination__sizes,.el-pagination__total{color:var(--el-text-color-regular);font-weight:400;margin-left:var(--el-pagination-item-gap)}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{align-items:center;color:var(--el-text-color-regular);display:flex;font-weight:400;margin-left:var(--el-pagination-item-gap)}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__goto{margin-right:8px}.el-pagination__editor{box-sizing:border-box;text-align:center}.el-pagination__editor.el-input{width:56px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination__classifier{margin-left:8px}.el-pagination__rightwrapper{align-items:center;display:flex;flex:1;justify-content:flex-end}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{background-color:var(--el-pagination-button-bg-color);margin:0 4px}.el-pagination.is-background .btn-next.is-active,.el-pagination.is-background .btn-prev.is-active,.el-pagination.is-background .el-pager li.is-active{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.is-disabled,.el-pagination.is-background .el-pager li:disabled{background-color:var(--el-disabled-bg-color);color:var(--el-text-color-placeholder)}.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .btn-next:disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .btn-prev:disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active,.el-pagination.is-background .el-pager li:disabled.is-active{background-color:var(--el-fill-color-dark);color:var(--el-text-color-secondary)}.el-pagination.is-background .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li{font-size:var(--el-pagination-font-size-small);height:var(--el-pagination-button-height-small);line-height:var(--el-pagination-button-height-small);min-width:var(--el-pagination-button-width-small)}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){font-size:var(--el-pagination-font-size-small)}.el-pagination--small .el-select{width:100px}.el-pager{font-size:0;list-style:none;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-pager,.el-pager li{align-items:center;display:flex}.el-pager li{background:var(--el-pagination-bg-color);border:none;border-radius:var(--el-pagination-border-radius);box-sizing:border-box;color:var(--el-pagination-button-color);cursor:pointer;font-size:var(--el-pagination-font-size);height:var(--el-pagination-button-height);justify-content:center;line-height:var(--el-pagination-button-height);min-width:var(--el-pagination-button-width);padding:0 4px;text-align:center}.el-pager li *{pointer-events:none}.el-pager li:focus{outline:none}.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pager li.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pager li.is-disabled,.el-pager li:disabled{background-color:var(--el-pagination-button-disabled-bg-color);color:var(--el-pagination-button-disabled-color);cursor:not-allowed}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-popconfirm__main{align-items:center;display:flex}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{margin-top:8px;text-align:right}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);border:1px solid var(--el-popover-border-color);border-radius:var(--el-popover-border-radius);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;color:var(--el-text-color-regular);font-size:var(--el-popover-font-size);line-height:1.4;min-width:150px;overflow-wrap:break-word;padding:var(--el-popover-padding);z-index:var(--el-index-popper)}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}.el-progress{align-items:center;display:flex;line-height:1;position:relative}.el-progress__text{color:var(--el-text-color-regular);font-size:14px;line-height:1;margin-left:5px;min-width:50px}.el-progress__text i{display:block;vertical-align:middle}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{left:0;margin:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);width:100%}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{display:inline-block;vertical-align:middle}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{display:block;margin-right:0;padding-right:0}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);border-radius:100px;height:6px;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{background-color:var(--el-color-primary);border-radius:100px;height:100%;left:0;line-height:1;position:absolute;text-align:right;top:0;transition:width .6s ease;white-space:nowrap}.el-progress-bar__inner:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-progress-bar__inner--indeterminate{-webkit-animation:indeterminate 3s infinite;animation:indeterminate 3s infinite;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 0,transparent 50%,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 75%,transparent 0,transparent);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{-webkit-animation:striped-flow 3s linear infinite;animation:striped-flow 3s linear infinite}.el-progress-bar__innerText{color:#fff;display:inline-block;font-size:12px;margin:0 5px;vertical-align:middle}@-webkit-keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@-webkit-keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@-webkit-keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-radio-button{--el-radio-button-checked-bg-color:var(--el-color-primary);--el-radio-button-checked-text-color:var(--el-color-white);--el-radio-button-checked-border-color:var(--el-color-primary);--el-radio-button-disabled-checked-fill:var(--el-border-color-extra-light)}.el-radio-button,.el-radio-button__inner{display:inline-block;outline:none;position:relative}.el-radio-button__inner{-webkit-appearance:none;background:var(--el-button-bg-color,var(--el-fill-color-blank));border:var(--el-border);border-left:0;border-radius:0;box-sizing:border-box;color:var(--el-button-text-color,var(--el-text-color-regular));cursor:pointer;font-size:var(--el-font-size-base);font-weight:var(--el-button-font-weight,var(--el-font-weight-primary));line-height:1;margin:0;padding:8px 15px;text-align:center;transition:var(--el-transition-all);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:var(--el-border);border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button__original-radio{opacity:0;outline:none;position:absolute;z-index:-1}.el-radio-button__original-radio:checked+.el-radio-button__inner{background-color:var(--el-radio-button-checked-bg-color,var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color,var(--el-color-primary));color:var(--el-radio-button-checked-text-color,var(--el-color-white))}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));border-radius:var(--el-border-radius-base);box-shadow:none;outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2}.el-radio-button__original-radio:disabled+.el-radio-button__inner{background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));background-image:none;border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none;color:var(--el-disabled-text-color);cursor:not-allowed}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{border-radius:0;font-size:var(--el-font-size-base);padding:12px 19px}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{border-radius:0;font-size:12px;padding:5px 11px}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px}.el-radio-group{align-items:center;display:inline-flex;flex-wrap:wrap;font-size:0}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);align-items:center;color:var(--el-radio-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-radio-font-weight);height:32px;margin-right:32px;outline:none;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{border-color:var(--el-border-color-lighter);cursor:not-allowed}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{cursor:pointer;display:inline-flex;outline:none;position:relative;vertical-align:middle;white-space:nowrap}.el-radio__input.is-disabled .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{background:var(--el-color-primary);border-color:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{background-color:var(--el-radio-input-bg-color);border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);box-sizing:border-box;cursor:pointer;display:inline-block;height:var(--el-radio-input-height);position:relative;width:var(--el-radio-input-width)}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{background-color:var(--el-color-white);border-radius:var(--el-radio-input-border-radius);content:"";height:4px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in;width:4px}.el-radio__original{bottom:0;left:0;margin:0;opacity:0;outline:none;position:absolute;right:0;top:0;z-index:-1}.el-radio__original:focus-visible+.el-radio__inner{border-radius:var(--el-radio-input-border-radius);outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{height:12px;width:12px}.el-rate{--el-rate-height:20px;--el-rate-font-size:var(--el-font-size-base);--el-rate-icon-size:18px;--el-rate-icon-margin:6px;--el-rate-void-color:var(--el-border-color-darker);--el-rate-fill-color:#f7ba2a;--el-rate-disabled-void-color:var(--el-fill-color);--el-rate-text-color:var(--el-text-color-primary);align-items:center;display:inline-flex;height:32px}.el-rate:active,.el-rate:focus{outline:none}.el-rate__item{color:var(--el-rate-void-color);cursor:pointer;display:inline-block;font-size:0;line-height:normal;position:relative;vertical-align:middle}.el-rate .el-rate__icon{display:inline-block;font-size:var(--el-rate-icon-size);margin-right:var(--el-rate-icon-margin);position:relative;transition:var(--el-transition-duration)}.el-rate .el-rate__icon.hover{transform:scale(1.15)}.el-rate .el-rate__icon .path2{left:0;position:absolute;top:0}.el-rate .el-rate__icon.is-active{color:var(--el-rate-fill-color)}.el-rate__decimal{color:var(--el-rate-fill-color);display:inline-block;overflow:hidden}.el-rate__decimal,.el-rate__decimal--box{left:0;position:absolute;top:0}.el-rate__text{color:var(--el-rate-text-color);font-size:var(--el-rate-font-size);vertical-align:middle}.el-rate--large{height:40px}.el-rate--small{height:24px}.el-rate--small .el-rate__icon{font-size:14px}.el-rate.is-disabled .el-rate__item{color:var(--el-rate-disabled-void-color);cursor:auto}.el-result{--el-result-padding:40px 30px;--el-result-icon-font-size:64px;--el-result-title-font-size:20px;--el-result-title-margin-top:20px;--el-result-subtitle-margin-top:10px;--el-result-extra-margin-top:30px;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:var(--el-result-padding);text-align:center}.el-result__icon svg{height:var(--el-result-icon-font-size);width:var(--el-result-icon-font-size)}.el-result__title{margin-top:var(--el-result-title-margin-top)}.el-result__title p{color:var(--el-text-color-primary);font-size:var(--el-result-title-font-size);line-height:1.3;margin:0}.el-result__subtitle{margin-top:var(--el-result-subtitle-margin-top)}.el-result__subtitle p{color:var(--el-text-color-regular);font-size:var(--el-font-size-base);line-height:1.3;margin:0}.el-result__extra{margin-top:var(--el-result-extra-margin-top)}.el-result .icon-primary{--el-result-color:var(--el-color-primary);color:var(--el-result-color)}.el-result .icon-success{--el-result-color:var(--el-color-success);color:var(--el-result-color)}.el-result .icon-warning{--el-result-color:var(--el-color-warning);color:var(--el-result-color)}.el-result .icon-danger{--el-result-color:var(--el-color-danger);color:var(--el-result-color)}.el-result .icon-error{--el-result-color:var(--el-color-error);color:var(--el-result-color)}.el-result .icon-info{--el-result-color:var(--el-color-info);color:var(--el-result-color)}.el-row{box-sizing:border-box;display:flex;flex-wrap:wrap;position:relative}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;overflow:hidden;position:relative}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));border-radius:inherit;cursor:pointer;display:block;height:0;opacity:var(--el-scrollbar-opacity,.3);position:relative;transition:var(--el-transition-duration) background-color;width:0}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{border-radius:4px;bottom:2px;position:absolute;right:2px;z-index:1}.el-scrollbar__bar.is-vertical{top:2px;width:6px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-select-dropdown{border-radius:var(--el-border-radius-base);box-sizing:border-box;z-index:calc(var(--el-index-top) + 1)}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty,.el-select-dropdown__loading{color:var(--el-text-color-secondary);font-size:var(--el-select-font-size);margin:0;padding:10px 0;text-align:center}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:6px 0}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__item{box-sizing:border-box;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-base);height:34px;line-height:34px;overflow:hidden;padding:0 32px 0 20px;position:relative;text-overflow:ellipsis;white-space:nowrap}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:700}.el-select-dropdown__item.is-disabled{background-color:unset;color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{background-color:var(--el-color-primary);background-position:50%;background-repeat:no-repeat;border-right:none;border-top:none;content:"";height:12px;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:12px}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{list-style:none;margin:0;padding:0;position:relative}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type):after{background:var(--el-border-color-light);bottom:12px;content:"";display:block;height:1px;left:20px;position:absolute;right:20px}.el-select-group__split-dash{background:var(--el-border-color-light);height:1px;left:20px;position:absolute;right:20px}.el-select-group__title{color:var(--el-color-info);font-size:12px;line-height:30px;padding-left:20px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-color:var(--el-disabled-text-color);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px;--el-select-width:100%;display:inline-block;position:relative;vertical-align:middle;width:var(--el-select-width)}.el-select__wrapper{align-items:center;background-color:var(--el-fill-color-blank);border-radius:var(--el-border-radius-base);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;cursor:pointer;display:flex;font-size:14px;gap:6px;line-height:24px;min-height:32px;padding:4px 12px;position:relative;text-align:left;transition:var(--el-transition-duration)}.el-select__wrapper:hover{box-shadow:0 0 0 1px var(--el-text-color) inset}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{background-color:var(--el-fill-color-light);box-shadow:0 0 0 1px var(--el-select-disabled-border) inset;color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag{cursor:not-allowed}.el-select__prefix,.el-select__suffix{align-items:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:flex;flex-shrink:0;gap:6px}.el-select__caret{color:var(--el-select-input-color);cursor:pointer;font-size:var(--el-select-input-font-size);transform:rotate(0);transition:var(--el-transition-duration)}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__selection{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0;position:relative}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{border-color:transparent;cursor:pointer}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{display:flex;flex-wrap:wrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-select__tags-text{line-height:normal}.el-select__placeholder,.el-select__tags-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-select__placeholder{color:var(--el-input-text-color,var(--el-text-color-regular));position:absolute;top:50%;transform:translateY(-50%);width:100%}.el-select__placeholder.is-transparent{color:var(--el-text-color-placeholder);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-select__input-wrapper{max-width:100%}.el-select__input-wrapper.is-hidden{opacity:0;position:absolute}.el-select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-select-multiple-input-color);font-family:inherit;font-size:inherit;height:24px;max-width:100%;outline:none;padding:0}.el-select__input.is-disabled{cursor:not-allowed}.el-select__input-calculator{left:0;max-width:100%;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:pre}.el-select--large .el-select__wrapper{font-size:14px;gap:6px;line-height:24px;min-height:40px;padding:8px 16px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{font-size:12px;gap:4px;line-height:20px;min-height:24px;padding:2px 8px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px}.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);border-radius:var(--el-border-radius-base);display:inline-block;height:16px;width:100%}.el-skeleton__circle{border-radius:50%;height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size);width:var(--el-skeleton-circle-size)}.el-skeleton__button{border-radius:4px;height:40px;width:64px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{height:var(--el-font-size-small);width:100%}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{align-items:center;border-radius:0;display:flex;justify-content:center;width:unset}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;height:22%;width:22%}.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@-webkit-keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{background:var(--el-skeleton-color);height:16px;margin-top:16px}.el-skeleton.is-animated .el-skeleton__item{-webkit-animation:el-skeleton-loading 1.4s ease infinite;animation:el-skeleton-loading 1.4s ease infinite;background:linear-gradient(90deg,var(--el-skeleton-color) 25%,var(--el-skeleton-to-color) 37%,var(--el-skeleton-color) 63%);background-size:400% 100%}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;display:flex;height:32px;width:100%}.el-slider__runway{background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;height:var(--el-slider-height);position:relative}.el-slider__runway.show-input{margin-right:30px;width:auto}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper:hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button.dragging,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover{transform:scale(1)}.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover,.el-slider__runway.is-disabled .el-slider__button.dragging{cursor:not-allowed}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{background-color:var(--el-slider-main-bg-color);border-bottom-left-radius:var(--el-slider-border-radius);border-top-left-radius:var(--el-slider-border-radius);height:var(--el-slider-height);position:absolute}.el-slider__button-wrapper{background-color:transparent;height:var(--el-slider-button-wrapper-size);line-height:normal;outline:none;position:absolute;text-align:center;top:var(--el-slider-button-wrapper-offset);transform:translate(-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:var(--el-slider-button-wrapper-size);z-index:1}.el-slider__button-wrapper:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{background-color:var(--el-color-white);border:2px solid var(--el-slider-main-bg-color);border-radius:50%;box-sizing:border-box;display:inline-block;height:var(--el-slider-button-size);transition:var(--el-transition-duration-fast);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;width:var(--el-slider-button-size)}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{background-color:var(--el-slider-stop-bg-color);border-radius:var(--el-border-radius-circle);height:var(--el-slider-height);position:absolute;transform:translate(-50%);width:var(--el-slider-height)}.el-slider__marks{height:100%;left:12px;top:0;width:18px}.el-slider__marks-text{color:var(--el-color-info);font-size:14px;margin-top:15px;position:absolute;transform:translate(-50%);white-space:pre}.el-slider.is-vertical{display:inline-flex;flex:0;height:100%;position:relative;width:auto}.el-slider.is-vertical .el-slider__runway{height:100%;margin:0 16px;width:var(--el-slider-height)}.el-slider.is-vertical .el-slider__bar{border-radius:0 0 3px 3px;height:auto;width:var(--el-slider-height)}.el-slider.is-vertical .el-slider__button-wrapper{left:var(--el-slider-button-wrapper-offset);top:auto;transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{left:15px;margin-top:0;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.el-space{display:inline-flex;vertical-align:top}.el-space__item{display:flex;flex-wrap:wrap}.el-space__item>*{flex:1}.el-space--vertical{flex-direction:column}.el-time-spinner{white-space:nowrap;width:100%}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;height:50px;width:50px}.el-spinner-inner .path{stroke:var(--el-border-color-lighter);stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{to{transform:rotate(1turn)}}@keyframes rotate{to{transform:rotate(1turn)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-step{flex-shrink:1;position:relative}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{flex-basis:auto!important;flex-grow:0;flex-shrink:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{border-color:var(--el-text-color-primary);color:var(--el-text-color-primary)}.el-step__head.is-wait{border-color:var(--el-text-color-placeholder);color:var(--el-text-color-placeholder)}.el-step__head.is-success{border-color:var(--el-color-success);color:var(--el-color-success)}.el-step__head.is-error{border-color:var(--el-color-danger);color:var(--el-color-danger)}.el-step__head.is-finish{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-step__icon{align-items:center;background:var(--el-bg-color);box-sizing:border-box;display:inline-flex;font-size:14px;height:24px;justify-content:center;position:relative;transition:.15s ease-out;width:24px;z-index:1}.el-step__icon.is-text{border:2px solid;border-color:inherit;border-radius:50%}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{color:inherit;display:inline-block;font-weight:700;line-height:1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{background-color:var(--el-text-color-placeholder);border-color:inherit;position:absolute}.el-step__line-inner{border:1px solid;border-color:inherit;box-sizing:border-box;display:block;height:0;transition:.15s ease-out;width:0}.el-step__main{text-align:left;white-space:normal}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{color:var(--el-text-color-primary);font-weight:700}.el-step__title.is-wait{color:var(--el-text-color-placeholder)}.el-step__title.is-success{color:var(--el-color-success)}.el-step__title.is-error{color:var(--el-color-danger)}.el-step__title.is-finish{color:var(--el-color-primary)}.el-step__description{font-size:12px;font-weight:400;line-height:20px;margin-top:-5px;padding-right:10%}.el-step__description.is-process{color:var(--el-text-color-primary)}.el-step__description.is-wait{color:var(--el-text-color-placeholder)}.el-step__description.is-success{color:var(--el-color-success)}.el-step__description.is-error{color:var(--el-color-danger)}.el-step__description.is-finish{color:var(--el-color-primary)}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;left:0;right:0;top:11px}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{flex-grow:1;padding-left:10px}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{bottom:0;left:11px;top:0;width:2px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{align-items:center;display:flex}.el-step.is-simple .el-step__head{font-size:0;padding-right:10px;width:auto}.el-step.is-simple .el-step__icon{background:transparent;font-size:12px;height:16px;width:16px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{align-items:stretch;display:flex;flex-grow:1;position:relative}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;overflow-wrap:break-word}.el-step.is-simple .el-step__arrow{align-items:center;display:flex;flex-grow:1;justify-content:center}.el-step.is-simple .el-step__arrow:after,.el-step.is-simple .el-step__arrow:before{background:var(--el-text-color-placeholder);content:"";display:inline-block;height:15px;position:absolute;width:1px}.el-step.is-simple .el-step__arrow:before{transform:rotate(-45deg) translateY(-4px);transform-origin:0 0}.el-step.is-simple .el-step__arrow:after{transform:rotate(45deg) translateY(4px);transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-steps{display:flex}.el-steps--simple{background:var(--el-fill-color-light);border-radius:4px;padding:13px 8%}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{flex-flow:column;height:100%}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color);align-items:center;display:inline-flex;font-size:14px;height:32px;line-height:20px;position:relative;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{color:var(--el-text-color-primary);cursor:pointer;display:inline-block;font-size:14px;font-weight:500;height:20px;transition:var(--el-transition-duration-fast);vertical-align:middle}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{display:inline-block;font-size:14px;line-height:1}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{height:0;margin:0;opacity:0;position:absolute;width:0}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{align-items:center;background:var(--el-switch-off-color);border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));border-radius:10px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:20px;min-width:40px;outline:none;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration)}.el-switch__core .el-switch__inner{align-items:center;display:flex;height:16px;justify-content:center;overflow:hidden;padding:0 4px 0 18px;transition:all var(--el-transition-duration);width:100%}.el-switch__core .el-switch__inner .is-icon,.el-switch__core .el-switch__inner .is-text{color:var(--el-color-white);font-size:12px;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.el-switch__core .el-switch__action{align-items:center;background-color:var(--el-color-white);border-radius:var(--el-border-radius-circle);color:var(--el-switch-off-color);display:flex;height:16px;justify-content:center;left:1px;position:absolute;transition:all var(--el-transition-duration);width:16px}.el-switch.is-checked .el-switch__core{background-color:var(--el-switch-on-color);border-color:var(--el-switch-border-color,var(--el-switch-on-color))}.el-switch.is-checked .el-switch__core .el-switch__action{color:var(--el-switch-on-color);left:calc(100% - 17px)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{font-size:14px;height:40px;line-height:24px}.el-switch--large .el-switch__label{font-size:14px;height:24px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{border-radius:12px;height:24px;min-width:50px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{height:20px;width:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{font-size:12px;height:24px;line-height:16px}.el-switch--small .el-switch__label{font-size:12px;height:16px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{border-radius:8px;height:16px;min-width:30px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{height:12px;width:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{background-color:#fff;border:1px solid var(--el-border-color-lighter);border-radius:2px;box-shadow:var(--el-box-shadow-light);box-sizing:border-box}.el-table-filter__list{list-style:none;margin:0;min-width:100px;padding:5px 0}.el-table-filter__list-item{cursor:pointer;font-size:var(--el-font-size-base);line-height:36px;padding:0 10px}.el-table-filter__list-item:hover{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{background:transparent;border:none;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button:focus{outline:none}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{align-items:center;display:flex;height:unset;margin-bottom:12px;margin-left:5px;margin-right:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-bg-color);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0,0,0,.15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0,0,0,.15);--el-table-index:var(--el-index-normal);background-color:var(--el-table-bg-color);box-sizing:border-box;color:var(--el-table-text-color);font-size:14px;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;max-width:100%;overflow:hidden;position:relative;width:100%}.el-table__inner-wrapper{display:flex;flex-direction:column;height:100%;position:relative}.el-table__inner-wrapper:before{bottom:0;height:1px;left:0;width:100%}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell,.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell{border-bottom-color:transparent}.el-table__empty-block{align-items:center;display:flex;justify-content:center;left:0;min-height:60px;position:-webkit-sticky;position:sticky;text-align:center;width:100%}.el-table__empty-text{color:var(--el-text-color-secondary);line-height:60px;width:50%}.el-table__expand-column .cell{padding:0;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-table__expand-icon{color:var(--el-text-color-regular);cursor:pointer;font-size:12px;height:20px;position:relative;transition:transform var(--el-transition-duration-fast) ease-in-out}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-bottom:0;border-right:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{box-sizing:border-box;min-width:0;padding:8px 0;position:relative;text-align:left;text-overflow:ellipsis;vertical-align:middle;z-index:var(--el-table-index)}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{border-bottom-width:0;border-right-width:0;padding:0;width:15px}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;line-height:23px;overflow:hidden;overflow-wrap:break-word;padding:0 12px;text-overflow:ellipsis;white-space:normal}.el-table .cell.el-tooltip{min-width:50px;white-space:nowrap}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:14px}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:12px}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{background:#ff4d51;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:5px;vertical-align:middle;width:8px}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border .el-table__inner-wrapper:after,.el-table--border:after,.el-table--border:before,.el-table__inner-wrapper:before{background-color:var(--el-table-border-color);content:"";position:absolute;z-index:calc(var(--el-table-index) + 2)}.el-table--border .el-table__inner-wrapper:after{height:1px;left:0;top:0;width:100%;z-index:calc(var(--el-table-index) + 2)}.el-table--border:before{height:100%;left:0;top:-1px;width:1px}.el-table--border:after{height:100%;right:0;top:-1px;width:1px}.el-table--border .el-table__inner-wrapper{border-bottom:none;border-right:none}.el-table--border .el-table__footer-wrapper{flex-shrink:0;position:relative}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right,.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background:inherit;position:-webkit-sticky!important;position:sticky!important;z-index:calc(var(--el-table-index) + 1)}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{bottom:-1px;box-shadow:none;content:"";overflow-x:hidden;overflow-y:hidden;pointer-events:none;position:absolute;top:0;touch-action:none;width:10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{box-shadow:none;right:-10px}.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch,.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch{background:#fff;position:-webkit-sticky!important;position:sticky!important;right:0;z-index:calc(var(--el-table-index) + 1)}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body,.el-table__footer,.el-table__header{border-collapse:separate;table-layout:fixed}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{flex-shrink:0;overflow:hidden}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__body-wrapper .el-table-column--selection>.cell,.el-table__header-wrapper .el-table-column--selection>.cell{align-items:center;display:inline-flex;height:23px}.el-table__body-wrapper .el-table-column--selection .el-checkbox,.el-table__header-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{flex:1;overflow:hidden;position:relative}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{align-items:center;cursor:pointer;display:inline-flex;flex-direction:column;height:14px;overflow:initial;position:relative;vertical-align:middle;width:24px}.el-table .sort-caret{border:5px solid transparent;height:0;left:7px;position:absolute;width:0}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{position:absolute;visibility:hidden;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{position:-webkit-sticky;position:sticky;top:0;z-index:calc(var(--el-table-index) + 2)}.el-table.el-table--scrollable-y .el-table__body-footer{bottom:0;position:-webkit-sticky;position:sticky;z-index:calc(var(--el-table-index) + 2)}.el-table__column-resize-proxy{border-left:var(--el-table-border);bottom:0;left:200px;position:absolute;top:0;width:0;z-index:calc(var(--el-table-index) + 9)}.el-table__column-filter-trigger{cursor:pointer;display:inline-block}.el-table__column-filter-trigger i{color:var(--el-color-info);font-size:14px;vertical-align:middle}.el-table__border-left-patch{height:100%;top:0;width:1px}.el-table__border-bottom-patch,.el-table__border-left-patch{background-color:var(--el-table-border-color);left:0;position:absolute;z-index:calc(var(--el-table-index) + 2)}.el-table__border-bottom-patch{height:1px}.el-table__border-right-patch{background-color:var(--el-table-border-color);height:100%;position:absolute;top:0;width:1px;z-index:calc(var(--el-table-index) + 2)}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;height:12px;line-height:12px;margin-right:8px;text-align:center;width:12px}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-v2{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-bg-color);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0,0,0,.15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0,0,0,.15);--el-table-index:var(--el-index-normal);font-size:14px}.el-table-v2 *{box-sizing:border-box}.el-table-v2__root{position:relative}.el-table-v2__root:hover .el-table-v2__main .el-virtual-scrollbar{opacity:1}.el-table-v2__main{background-color:var(--el-bg-color);display:flex;flex-direction:column-reverse;left:0;overflow:hidden;position:absolute;top:0}.el-table-v2__main .el-vl__horizontal,.el-table-v2__main .el-vl__vertical{z-index:2}.el-table-v2__left{background-color:var(--el-bg-color);box-shadow:2px 0 4px #0000000f;display:flex;flex-direction:column-reverse;left:0;overflow:hidden;position:absolute;top:0}.el-table-v2__left .el-virtual-scrollbar{opacity:0}.el-table-v2__left .el-vl__horizontal,.el-table-v2__left .el-vl__vertical{z-index:-1}.el-table-v2__right{background-color:var(--el-bg-color);box-shadow:-2px 0 4px #0000000f;display:flex;flex-direction:column-reverse;overflow:hidden;position:absolute;right:0;top:0}.el-table-v2__right .el-virtual-scrollbar{opacity:0}.el-table-v2__right .el-vl__horizontal,.el-table-v2__right .el-vl__vertical{z-index:-1}.el-table-v2__header-row,.el-table-v2__row{-webkit-padding-end:var(--el-table-scrollbar-size);padding-inline-end:var(--el-table-scrollbar-size)}.el-table-v2__header-wrapper{overflow:hidden}.el-table-v2__header{overflow:hidden;position:relative}.el-table-v2__footer{bottom:0;overflow:hidden;right:0}.el-table-v2__empty,.el-table-v2__footer,.el-table-v2__overlay{left:0;position:absolute}.el-table-v2__overlay{bottom:0;right:0;top:0;z-index:9999}.el-table-v2__header-row{border-bottom:var(--el-table-border);display:flex}.el-table-v2__header-cell{align-items:center;background-color:var(--el-table-header-bg-color);color:var(--el-table-header-text-color);display:flex;font-weight:700;height:100%;overflow:hidden;padding:0 8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-table-v2__header-cell.is-align-center{justify-content:center;text-align:center}.el-table-v2__header-cell.is-align-right{justify-content:flex-end;text-align:right}.el-table-v2__header-cell.is-sortable{cursor:pointer}.el-table-v2__header-cell:hover .el-icon{display:block}.el-table-v2__sort-icon{display:none;opacity:.6;transition:opacity,display var(--el-transition-duration)}.el-table-v2__sort-icon.is-sorting{display:block;opacity:1}.el-table-v2__row{align-items:center;border-bottom:var(--el-table-border);display:flex;transition:background-color var(--el-transition-duration)}.el-table-v2__row.is-hovered,.el-table-v2__row:hover{background-color:var(--el-table-row-hover-bg-color)}.el-table-v2__row-cell{align-items:center;display:flex;height:100%;overflow:hidden;padding:0 8px}.el-table-v2__row-cell.is-align-center{justify-content:center;text-align:center}.el-table-v2__row-cell.is-align-right{justify-content:flex-end;text-align:right}.el-table-v2__expand-icon{cursor:pointer;margin:0 4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-table-v2__expand-icon svg{transition:transform var(--el-transition-duration)}.el-table-v2__expand-icon.is-expanded svg{transform:rotate(90deg)}.el-table-v2:not(.is-dynamic) .el-table-v2__cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-table-v2.is-dynamic .el-table-v2__row{align-items:stretch;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row .el-table-v2__row-cell{overflow-wrap:break-word}.el-tabs{--el-tabs-header-height:40px}.el-tabs__header{margin:0 0 15px;padding:0;position:relative}.el-tabs__active-bar{background-color:var(--el-color-primary);bottom:0;height:2px;left:0;list-style:none;position:absolute;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);z-index:1}.el-tabs__new-tab{align-items:center;border:1px solid var(--el-border-color);border-radius:3px;color:var(--el-text-color-primary);cursor:pointer;display:flex;float:right;font-size:12px;height:20px;justify-content:center;line-height:20px;margin:10px 0 10px 10px;text-align:center;transition:all .15s;width:20px}.el-tabs__new-tab .is-icon-plus{height:inherit;transform:scale(.8);width:inherit}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__nav-wrap{margin-bottom:-1px;overflow:hidden;position:relative}.el-tabs__nav-wrap:after{background-color:var(--el-border-color-light);bottom:0;content:"";height:2px;left:0;position:absolute;width:100%;z-index:var(--el-index-normal)}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;line-height:44px;position:absolute;text-align:center;width:20px}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{display:flex;float:left;position:relative;transition:transform var(--el-transition-duration);white-space:nowrap;z-index:calc(var(--el-index-normal) + 1)}.el-tabs__nav.is-stretch{display:flex;min-width:100%}.el-tabs__nav.is-stretch>*{flex:1;text-align:center}.el-tabs__item{align-items:center;box-sizing:border-box;color:var(--el-text-color-primary);display:flex;font-size:var(--el-font-size-base);font-weight:500;height:var(--el-tabs-header-height);justify-content:center;list-style:none;padding:0 20px;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{border-radius:3px;box-shadow:0 0 2px 2px var(--el-color-primary) inset}.el-tabs__item .is-icon-close{border-radius:50%;margin-left:5px;text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active{color:var(--el-color-primary)}.el-tabs__item:hover{color:var(--el-color-primary);cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height)}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{font-size:12px;height:14px;overflow:hidden;position:relative;right:-2px;transform-origin:100% 50%;width:0}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{border:1px solid transparent;color:var(--el-text-color-secondary);margin-top:-1px;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{background-color:var(--el-bg-color-overlay);border-left-color:var(--el-border-color);border-right-color:var(--el-border-color);color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover{padding-left:13px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover{padding-right:13px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-bottom:0;margin-top:-1px}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{bottom:auto;height:auto;top:0;width:2px}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{cursor:pointer;height:30px;line-height:30px;text-align:center;width:100%}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{bottom:auto;height:100%;top:0;width:2px}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__nav-wrap.is-left:after{left:auto;right:0}.el-tabs--left .el-tabs__active-bar.is-left{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-bottom:none;border-left:none;border-right:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right:1px solid #fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-radius:4px 0 0 4px;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:rgb(209,219,229) transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:1px solid #fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:rgb(209,219,229) transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter var(--el-transition-duration);animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{-webkit-animation:slideInRight-leave var(--el-transition-duration);animation:slideInRight-leave var(--el-transition-duration);left:0;position:absolute;right:0}.slideInLeft-enter{-webkit-animation:slideInLeft-enter var(--el-transition-duration);animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{-webkit-animation:slideInLeft-leave var(--el-transition-duration);animation:slideInLeft-leave var(--el-transition-duration);left:0;position:absolute;right:0}@-webkit-keyframes slideInRight-enter{0%{opacity:0;transform:translate(100%);transform-origin:0 0}to{opacity:1;transform:translate(0);transform-origin:0 0}}@keyframes slideInRight-enter{0%{opacity:0;transform:translate(100%);transform-origin:0 0}to{opacity:1;transform:translate(0);transform-origin:0 0}}@-webkit-keyframes slideInRight-leave{0%{opacity:1;transform:translate(0);transform-origin:0 0}to{opacity:0;transform:translate(100%);transform-origin:0 0}}@keyframes slideInRight-leave{0%{opacity:1;transform:translate(0);transform-origin:0 0}to{opacity:0;transform:translate(100%);transform-origin:0 0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;transform:translate(-100%);transform-origin:0 0}to{opacity:1;transform:translate(0);transform-origin:0 0}}@keyframes slideInLeft-enter{0%{opacity:0;transform:translate(-100%);transform-origin:0 0}to{opacity:1;transform:translate(0);transform-origin:0 0}}@-webkit-keyframes slideInLeft-leave{0%{opacity:1;transform:translate(0);transform-origin:0 0}to{opacity:0;transform:translate(-100%);transform-origin:0 0}}@keyframes slideInLeft-leave{0%{opacity:1;transform:translate(0);transform-origin:0 0}to{opacity:0;transform:translate(-100%);transform-origin:0 0}}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px;--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary);align-items:center;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);border-radius:var(--el-tag-border-radius);border-style:solid;border-width:1px;box-sizing:border-box;color:var(--el-tag-text-color);display:inline-flex;font-size:var(--el-tag-font-size);height:24px;justify-content:center;line-height:1;padding:0 9px;vertical-align:middle;white-space:nowrap;--el-icon-size:14px}.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color);flex-shrink:0}.el-tag .el-tag__close:hover{background-color:var(--el-tag-hover-color);color:var(--el-color-white)}.el-tag .el-icon{border-radius:50%;cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size)}.el-tag .el-tag__close{margin-left:6px}.el-tag--dark{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3);--el-tag-text-color:var(--el-color-white)}.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info,.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning{--el-tag-text-color:var(--el-color-white)}.el-tag--plain{--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary);--el-tag-bg-color:var(--el-fill-color-blank)}.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{height:32px;padding:0 11px;--el-icon-size:16px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{height:20px;padding:0 7px;--el-icon-size:12px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-text{--el-text-font-size:var(--el-font-size-base);--el-text-color:var(--el-text-color-regular);align-self:center;color:var(--el-text-color);font-size:var(--el-text-font-size);margin:0;overflow-wrap:break-word;padding:0}.el-text.is-truncated{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-text.is-line-clamp{display:-webkit-inline-box;-webkit-box-orient:vertical;overflow:hidden}.el-text--large{--el-text-font-size:var(--el-font-size-medium)}.el-text--default{--el-text-font-size:var(--el-font-size-base)}.el-text--small{--el-text-font-size:var(--el-font-size-extra-small)}.el-text.el-text--primary{--el-text-color:var(--el-color-primary)}.el-text.el-text--success{--el-text-color:var(--el-color-success)}.el-text.el-text--warning{--el-text-color:var(--el-color-warning)}.el-text.el-text--danger{--el-text-color:var(--el-color-danger)}.el-text.el-text--error{--el-text-color:var(--el-color-error)}.el-text.el-text--info{--el-text-color:var(--el-color-info)}.el-text>.el-icon{vertical-align:-2px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{margin:0;max-height:200px}.time-select-item{font-size:14px;line-height:20px;padding:8px 10px}.time-select-item.disabled{color:var(--el-datepicker-border-color);cursor:not-allowed}.time-select-item:hover{background-color:var(--el-fill-color-light);cursor:pointer;font-weight:700}.time-select .time-select-item.selected:not(.disabled){color:var(--el-color-primary);font-weight:700}.el-timeline-item{padding-bottom:20px;position:relative}.el-timeline-item__wrapper{padding-left:28px;position:relative;top:-3px}.el-timeline-item__tail{border-left:2px solid var(--el-timeline-node-color);height:100%;left:4px;position:absolute}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{align-items:center;background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);border-radius:50%;box-sizing:border-box;display:flex;justify-content:center;position:absolute}.el-timeline-item__node--normal{height:var(--el-timeline-node-size-normal);left:-1px;width:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{height:var(--el-timeline-node-size-large);left:-2px;width:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{align-items:center;display:flex;justify-content:center;position:absolute}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);font-size:var(--el-font-size-small);line-height:1}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-timeline{--el-timeline-node-size-normal:12px;--el-timeline-node-size-large:14px;--el-timeline-node-color:var(--el-border-color-light);font-size:var(--el-font-size-base);list-style:none;margin:0}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{align-items:center;display:flex}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{display:block;height:calc(50% - 10px)}.el-tooltip-v2__content{--el-tooltip-v2-padding:5px 10px;--el-tooltip-v2-border-radius:4px;--el-tooltip-v2-border-color:var(--el-border-color);background-color:var(--el-color-white);border:1px solid var(--el-border-color);border-radius:var(--el-tooltip-v2-border-radius);color:var(--el-color-black);padding:var(--el-tooltip-v2-padding)}.el-tooltip-v2__arrow{color:var(--el-color-white);height:var(--el-tooltip-v2-arrow-height);left:var(--el-tooltip-v2-arrow-x);pointer-events:none;position:absolute;top:var(--el-tooltip-v2-arrow-y);width:var(--el-tooltip-v2-arrow-width)}.el-tooltip-v2__arrow:before{border:var(--el-tooltip-v2-arrow-border-width) solid transparent;content:"";height:0;position:absolute;width:0}.el-tooltip-v2__arrow:after{border:var(--el-tooltip-v2-arrow-border-width) solid transparent;content:"";height:0;position:absolute;width:0}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow{bottom:0}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow:before{border-bottom:0;border-top-color:var(--el-color-white);border-top-width:var(--el-tooltip-v2-arrow-border-width);top:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow:after{border-bottom:0;border-top-color:var(--el-border-color);border-top-width:var(--el-tooltip-v2-arrow-border-width);top:100%;z-index:-1}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow{top:0}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow:before{border-bottom-color:var(--el-color-white);border-bottom-width:var(--el-tooltip-v2-arrow-border-width);border-top:0;bottom:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow:after{border-bottom-color:var(--el-border-color);border-bottom-width:var(--el-tooltip-v2-arrow-border-width);border-top:0;bottom:100%;z-index:-1}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow{right:0}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow:before{border-left-color:var(--el-color-white);border-left-width:var(--el-tooltip-v2-arrow-border-width);border-right:0;left:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow:after{border-left-color:var(--el-border-color);border-left-width:var(--el-tooltip-v2-arrow-border-width);border-right:0;left:100%;z-index:-1}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow{left:0}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow:before{border-left:0;border-right-color:var(--el-color-white);border-right-width:var(--el-tooltip-v2-arrow-border-width);right:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow:after{border-left:0;border-right-color:var(--el-border-color);border-right-width:var(--el-tooltip-v2-arrow-border-width);right:100%;z-index:-1}.el-tooltip-v2__content.is-dark{--el-tooltip-v2-border-color:transparent;color:var(--el-color-white)}.el-tooltip-v2__content.is-dark,.el-tooltip-v2__content.is-dark .el-tooltip-v2__arrow{background-color:var(--el-color-black);border-color:transparent}.el-transfer{--el-transfer-border-color:var(--el-border-color-lighter);--el-transfer-border-radius:var(--el-border-radius-base);--el-transfer-panel-width:200px;--el-transfer-panel-header-height:40px;--el-transfer-panel-header-bg-color:var(--el-fill-color-light);--el-transfer-panel-footer-height:40px;--el-transfer-panel-body-height:278px;--el-transfer-item-height:30px;--el-transfer-filter-height:32px;font-size:var(--el-font-size-base)}.el-transfer__buttons{display:inline-block;padding:0 30px;vertical-align:middle}.el-transfer__button{vertical-align:top}.el-transfer__button:nth-child(2){margin:0 0 0 10px}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button .el-icon+span{margin-left:0}.el-transfer-panel{background:var(--el-bg-color-overlay);box-sizing:border-box;display:inline-block;max-height:100%;overflow:hidden;position:relative;text-align:left;vertical-align:middle;width:var(--el-transfer-panel-width)}.el-transfer-panel__body{border-bottom:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);border-left:1px solid var(--el-transfer-border-color);border-right:1px solid var(--el-transfer-border-color);height:var(--el-transfer-panel-body-height);overflow:hidden}.el-transfer-panel__body.is-with-footer{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.el-transfer-panel__list{box-sizing:border-box;height:var(--el-transfer-panel-body-height);list-style:none;margin:0;overflow:auto;padding:6px 0}.el-transfer-panel__list.is-filterable{height:calc(100% - var(--el-transfer-filter-height) - 30px);padding-top:0}.el-transfer-panel__item{display:block!important;height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);padding-left:15px}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.el-transfer-panel__item.el-checkbox{color:var(--el-text-color-regular)}.el-transfer-panel__item:hover{color:var(--el-color-primary)}.el-transfer-panel__item.el-checkbox .el-checkbox__label{box-sizing:border-box;display:block;line-height:var(--el-transfer-item-height);overflow:hidden;padding-left:22px;text-overflow:ellipsis;white-space:nowrap;width:100%}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{box-sizing:border-box;padding:15px;text-align:center}.el-transfer-panel__filter .el-input__inner{border-radius:calc(var(--el-transfer-filter-height)/2);box-sizing:border-box;display:inline-block;font-size:12px;height:var(--el-transfer-filter-height);width:100%}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{align-items:center;background:var(--el-transfer-panel-header-bg-color);border:1px solid var(--el-transfer-border-color);border-top-left-radius:var(--el-transfer-border-radius);border-top-right-radius:var(--el-transfer-border-radius);box-sizing:border-box;color:var(--el-color-black);display:flex;height:var(--el-transfer-panel-header-height);margin:0;padding-left:15px}.el-transfer-panel .el-transfer-panel__header .el-checkbox{align-items:center;display:flex;position:relative;width:100%}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{color:var(--el-text-color-primary);font-size:16px;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{color:var(--el-text-color-secondary);font-size:12px;font-weight:400;position:absolute;right:15px;top:50%;transform:translate3d(0,-50%,0)}.el-transfer-panel .el-transfer-panel__footer{background:var(--el-bg-color-overlay);border:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);height:var(--el-transfer-panel-footer-height);margin:0;padding:0}.el-transfer-panel .el-transfer-panel__footer:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{color:var(--el-text-color-regular);padding-left:20px}.el-transfer-panel .el-transfer-panel__empty{color:var(--el-text-color-secondary);height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);margin:0;padding:6px 15px 0;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{border-radius:3px;height:14px;width:14px}.el-transfer-panel .el-checkbox__inner:after{height:6px;left:4px;width:3px}.el-tree{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder);background:var(--el-fill-color-blank);color:var(--el-tree-text-color);cursor:default;font-size:var(--el-font-size-base);position:relative}.el-tree__empty-block{height:100%;min-height:60px;position:relative;text-align:center;width:100%}.el-tree__empty-text{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-tree__drop-indicator{background-color:var(--el-color-primary);height:1px;left:0;position:absolute;right:0}.el-tree-node{outline:none;white-space:nowrap}.el-tree-node:focus>.el-tree-node__content{background-color:var(--el-tree-node-hover-bg-color)}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:var(--el-color-primary);color:#fff}.el-tree-node__content{--el-checkbox-height:var(--el-tree-node-content-height);align-items:center;cursor:pointer;display:flex;height:var(--el-tree-node-content-height)}.el-tree-node__content>.el-tree-node__expand-icon{box-sizing:content-box;padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:var(--el-tree-node-hover-bg-color)}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{color:var(--el-tree-expand-icon-color);cursor:pointer;font-size:12px;transform:rotate(0);transition:transform var(--el-transition-duration) ease-in-out}.el-tree-node__expand-icon.expanded{transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default;visibility:hidden}.el-tree-node__expand-icon.is-hidden{visibility:hidden}.el-tree-node__loading-icon{color:var(--el-tree-expand-icon-color);font-size:var(--el-font-size-base);margin-right:8px}.el-tree-node>.el-tree-node__children{background-color:transparent;overflow:hidden}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-color-primary-light-9)}.el-tree-select{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder)}.el-tree-select__popper .el-tree-node__expand-icon{margin-left:8px}.el-tree-select__popper .el-tree-node.is-checked>.el-tree-node__content .el-select-dropdown__item.selected:after{content:none}.el-tree-select__popper .el-select-dropdown__item{background:transparent!important;flex:1;height:20px;line-height:20px;padding-left:0}.el-upload{--el-upload-dragger-padding-horizontal:40px;--el-upload-dragger-padding-vertical:10px;align-items:center;cursor:pointer;display:inline-flex;justify-content:center;outline:none}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);font-size:12px;margin-top:7px}.el-upload iframe{filter:alpha(opacity=0);left:0;opacity:0;position:absolute;top:0;z-index:-1}.el-upload--picture-card{--el-upload-picture-card-size:148px;align-items:center;background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:var(--el-upload-picture-card-size);justify-content:center;vertical-align:top;width:var(--el-upload-picture-card-size)}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);border-radius:6px;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:var(--el-upload-dragger-padding-horizontal) var(--el-upload-dragger-padding-vertical);position:relative;text-align:center}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);font-size:67px;line-height:50px;margin-bottom:16px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary);padding:calc(var(--el-upload-dragger-padding-horizontal) - 1px) calc(var(--el-upload-dragger-padding-vertical) - 1px)}.el-upload-list{list-style:none;margin:10px 0 0;padding:0;position:relative}.el-upload-list__item{border-radius:4px;box-sizing:border-box;color:var(--el-text-color-regular);font-size:14px;margin-bottom:5px;position:relative;transition:all .5s cubic-bezier(.55,0,.1,1);width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{color:var(--el-text-color-regular);cursor:pointer;display:none;opacity:.75;position:absolute;right:5px;top:50%;transform:translateY(-50%);transition:opacity var(--el-transition-duration)}.el-upload-list__item .el-icon--close:hover{color:var(--el-color-primary);opacity:1}.el-upload-list__item .el-icon--close-tip{color:var(--el-color-primary);cursor:pointer;display:none;font-size:12px;font-style:normal;opacity:1;position:absolute;right:5px;top:1px}.el-upload-list__item:hover{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{display:inline-flex;flex-direction:column;justify-content:center;margin-left:4px;width:calc(100% - 30px)}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon--close-tip,.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip{display:none}.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label{display:none;opacity:0}.el-upload-list__item-name{align-items:center;color:var(--el-text-color-regular);display:inline-flex;font-size:var(--el-font-size-base);padding:0 4px;text-align:center;transition:color var(--el-transition-duration)}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-upload-list__item-status-label{align-items:center;display:none;height:100%;justify-content:center;line-height:inherit;position:absolute;right:5px;top:0;transition:opacity var(--el-transition-duration)}.el-upload-list__item-delete{color:var(--el-text-color-regular);display:none;font-size:12px;position:absolute;right:10px;top:0}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{--el-upload-list-picture-card-size:148px;display:inline-flex;flex-wrap:wrap;margin:0}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:inline-flex;height:var(--el-upload-list-picture-card-size);margin:0 8px 8px 0;overflow:hidden;padding:0;width:var(--el-upload-list-picture-card-size)}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:block;opacity:0}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{align-items:center;background-color:var(--el-overlay-color-lighter);color:#fff;cursor:default;display:inline-flex;font-size:20px;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity var(--el-transition-duration);width:100%}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:1rem}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{color:inherit;font-size:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{bottom:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{align-items:center;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:flex;margin-top:10px;overflow:hidden;padding:10px;z-index:0}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{display:inline-flex;opacity:0}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{align-items:center;background-color:var(--el-color-white);display:inline-flex;height:70px;justify-content:center;-o-object-fit:contain;object-fit:contain;position:relative;width:70px;z-index:1}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);height:26px;position:absolute;right:-17px;text-align:center;top:-7px;transform:rotate(45deg);width:46px}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{cursor:default;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:10}.el-upload-cover:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;height:100%;width:100%}.el-upload-cover__label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-cover__label i{color:#fff;font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-cover__progress{display:inline-block;position:static;vertical-align:middle;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{height:100%;left:0;position:absolute;top:0;width:100%}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);bottom:0;height:100%;left:0;position:absolute;text-align:center;width:100%}.el-upload-cover__interact .btn{color:#fff;cursor:pointer;display:inline-block;font-size:14px;margin-top:60px;transition:var(--el-transition-md-fade);vertical-align:middle}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{background-color:#fff;bottom:0;color:var(--el-text-color-primary);font-size:14px;font-weight:400;height:36px;left:0;line-height:36px;margin:0;overflow:hidden;padding:0 10px;position:absolute;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-vl__wrapper{position:relative}.el-vl__wrapper:hover .el-virtual-scrollbar,.el-vl__wrapper.always-on .el-virtual-scrollbar{opacity:1}.el-vl__window{scrollbar-width:none}.el-vl__window::-webkit-scrollbar{display:none}.el-virtual-scrollbar{opacity:0;transition:opacity .34s ease-out}.el-virtual-scrollbar.always-on{opacity:1}.el-vg__wrapper{position:relative}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);border-radius:var(--el-popper-border-radius);font-size:12px;line-height:20px;min-width:10px;overflow-wrap:break-word;padding:5px 11px;position:absolute;visibility:visible;z-index:2000}.el-popper.is-dark{background:var(--el-text-color-primary);border:1px solid var(--el-text-color-primary);color:var(--el-bg-color)}.el-popper.is-dark .el-popper__arrow:before{background:var(--el-text-color-primary);border:1px solid var(--el-text-color-primary);right:0}.el-popper.is-light{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light)}.el-popper.is-light .el-popper__arrow:before{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{height:10px;position:absolute;width:10px;z-index:-1}.el-popper__arrow:before{background:var(--el-text-color-primary);box-sizing:border-box;content:" ";height:10px;position:absolute;transform:rotate(45deg);width:10px;z-index:-1}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent!important;border-top-color:transparent!important}.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent!important;border-right-color:transparent!important}.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent!important;border-left-color:transparent!important}.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent!important;border-top-color:transparent!important}.el-statistic{--el-statistic-title-font-weight:400;--el-statistic-title-font-size:var(--el-font-size-extra-small);--el-statistic-title-color:var(--el-text-color-regular);--el-statistic-content-font-weight:400;--el-statistic-content-font-size:var(--el-font-size-extra-large);--el-statistic-content-color:var(--el-text-color-primary)}.el-statistic__head{color:var(--el-statistic-title-color);font-size:var(--el-statistic-title-font-size);font-weight:var(--el-statistic-title-font-weight);line-height:20px;margin-bottom:4px}.el-statistic__content{color:var(--el-statistic-content-color);font-size:var(--el-statistic-content-font-size);font-weight:var(--el-statistic-content-font-weight)}.el-statistic__value{display:inline-block}.el-statistic__prefix{display:inline-block;margin-right:4px}.el-statistic__suffix{display:inline-block;margin-left:4px}.el-tour{--el-tour-width:520px;--el-tour-padding-primary:12px;--el-tour-font-line-height:var(--el-font-line-height-primary);--el-tour-title-font-size:16px;--el-tour-title-text-color:var(--el-text-color-primary);--el-tour-title-font-weight:400;--el-tour-close-color:var(--el-color-info);--el-tour-font-size:14px;--el-tour-color:var(--el-text-color-primary);--el-tour-bg-color:var(--el-bg-color);--el-tour-border-radius:4px}.el-tour__hollow{transition:all var(--el-transition-duration) ease}.el-tour__content{border-radius:var(--el-tour-border-radius);box-shadow:var(--el-box-shadow-light);overflow-wrap:break-word;padding:var(--el-tour-padding-primary);width:var(--el-tour-width)}.el-tour__arrow,.el-tour__content{background:var(--el-tour-bg-color);box-sizing:border-box}.el-tour__arrow{height:10px;pointer-events:none;position:absolute;transform:rotate(45deg);width:10px}.el-tour__content[data-side^=top] .el-tour__arrow{border-left-color:transparent;border-top-color:transparent}.el-tour__content[data-side^=bottom] .el-tour__arrow{border-bottom-color:transparent;border-right-color:transparent}.el-tour__content[data-side^=left] .el-tour__arrow{border-bottom-color:transparent;border-left-color:transparent}.el-tour__content[data-side^=right] .el-tour__arrow{border-right-color:transparent;border-top-color:transparent}.el-tour__content[data-side^=top] .el-tour__arrow{bottom:-5px}.el-tour__content[data-side^=bottom] .el-tour__arrow{top:-5px}.el-tour__content[data-side^=left] .el-tour__arrow{right:-5px}.el-tour__content[data-side^=right] .el-tour__arrow{left:-5px}.el-tour__closebtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:40px;outline:none;padding:0;position:absolute;right:0;top:0;width:40px}.el-tour__closebtn .el-tour__close{color:var(--el-tour-close-color);font-size:inherit}.el-tour__closebtn:focus .el-tour__close,.el-tour__closebtn:hover .el-tour__close{color:var(--el-color-primary)}.el-tour__header{padding-bottom:var(--el-tour-padding-primary)}.el-tour__header.show-close{padding-right:calc(var(--el-tour-padding-primary) + var(--el-message-close-size, 16px))}.el-tour__title{color:var(--el-tour-title-text-color);font-size:var(--el-tour-title-font-size);font-weight:var(--el-tour-title-font-weight);line-height:var(--el-tour-font-line-height)}.el-tour__body{color:var(--el-tour-text-color);font-size:var(--el-tour-font-size)}.el-tour__body img,.el-tour__body video{max-width:100%}.el-tour__footer{box-sizing:border-box;display:flex;justify-content:space-between;padding-top:var(--el-tour-padding-primary)}.el-tour__content .el-tour-indicators{display:inline-block;flex:1}.el-tour__content .el-tour-indicator{background:var(--el-color-info-light-9);border-radius:50%;display:inline-block;height:6px;margin-right:6px;width:6px}.el-tour__content .el-tour-indicator.is-active{background:var(--el-color-primary)}.el-tour.el-tour--primary{--el-tour-title-text-color:#fff;--el-tour-text-color:#fff;--el-tour-bg-color:var(--el-color-primary);--el-tour-close-color:#fff}.el-tour.el-tour--primary .el-tour__closebtn:focus .el-tour__close,.el-tour.el-tour--primary .el-tour__closebtn:hover .el-tour__close{color:var(--el-tour-title-text-color)}.el-tour.el-tour--primary .el-button--default{background:#fff;border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-tour.el-tour--primary .el-button--primary{border-color:#fff}.el-tour.el-tour--primary .el-tour-indicator{background:#ffffff26}.el-tour.el-tour--primary .el-tour-indicator.is-active{background:#fff}.el-tour-parent--hidden{overflow:hidden}.el-anchor{--el-anchor-bg-color:var(--el-bg-color);--el-anchor-padding-indent:14px;--el-anchor-line-height:22px;--el-anchor-font-size:12px;--el-anchor-color:var(--el-text-color-secondary);--el-anchor-active-color:var(--el-color-primary);--el-anchor-marker-bg-color:var(--el-color-primary);background-color:var(--el-anchor-bg-color);position:relative}.el-anchor__marker{background-color:var(--el-anchor-marker-bg-color);border-radius:4px;opacity:0;position:absolute;z-index:0}.el-anchor.el-anchor--vertical .el-anchor__marker{height:14px;left:0;top:8px;transition:top .25s ease-in-out,opacity .25s;width:4px}.el-anchor.el-anchor--vertical .el-anchor__list{padding-left:var(--el-anchor-padding-indent)}.el-anchor.el-anchor--vertical.el-anchor--underline:before{background-color:#0505050f;content:"";height:100%;left:0;position:absolute;width:2px}.el-anchor.el-anchor--vertical.el-anchor--underline .el-anchor__marker{border-radius:unset;width:2px}.el-anchor.el-anchor--horizontal .el-anchor__marker{bottom:0;height:2px;transition:left .25s ease-in-out,opacity .25s,width .25s;width:20px}.el-anchor.el-anchor--horizontal .el-anchor__list{display:flex;padding-bottom:4px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item{padding-left:16px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item:first-child{padding-left:0}.el-anchor.el-anchor--horizontal.el-anchor--underline:before{background-color:#0505050f;bottom:0;content:"";height:2px;position:absolute;width:100%}.el-anchor.el-anchor--horizontal.el-anchor--underline .el-anchor__marker{border-radius:unset;height:2px}.el-anchor__item{display:flex;flex-direction:column;overflow:hidden}.el-anchor__link{color:var(--el-anchor-color);cursor:pointer;font-size:var(--el-anchor-font-size);line-height:var(--el-anchor-line-height);max-width:100%;outline:none;overflow:hidden;padding:4px 0;text-decoration:none;text-overflow:ellipsis;transition:color var(--el-transition-duration);white-space:nowrap}.el-anchor__link:focus,.el-anchor__link:hover{color:var(--el-anchor-color)}.el-anchor__link.is-active{color:var(--el-anchor-active-color)}.el-anchor .el-anchor__list .el-anchor__item a{display:inline-block} diff --git a/wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/favicon.ico b/wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/index.html b/wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/index.html new file mode 100644 index 00000000..87d7e600 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-client/src/main/resources/netty-client-local-ui/v1/index.html @@ -0,0 +1,14 @@ + + + + + + + Java 使用 Lazy ORM 网络穿透客户端! + + + + +
+ + diff --git a/wu-smart-agent-network-heartbeat-common/pom.xml b/wu-smart-agent-network-heartbeat-common/pom.xml new file mode 100644 index 00000000..6090cef3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + top.wu2020 + wu-smart-agent-network + 1.2.6-JDK17-SNAPSHOT + + + wu-smart-agent-network-heartbeat-common + + + 17 + 17 + UTF-8 + + + + io.netty + netty-all + + + top.wu2020 + wu-framework-web + + + + \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/ChannelContext.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/ChannelContext.java new file mode 100644 index 00000000..4f389ad3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/ChannelContext.java @@ -0,0 +1,199 @@ +package org.framework.smart.agent.network.heartbeat.common; + +import io.netty.channel.Channel; +import io.netty.channel.ChannelId; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; + +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 通道上下文 + */ +@Slf4j +public class ChannelContext { + + private final static ConcurrentHashMap + channelIdClientChannelDTOConcurrentHashMap = new ConcurrentHashMap<>(); + + /** + * 新增通道 + * + * @param channel 通道 + * @param clientId 客户端ID + */ + public static void push(Channel channel, String clientId) { + + ChannelId channelId = channel.id(); + ClientChannelImpl clientChannelImpl = new ClientChannelImpl(); + clientChannelImpl.setChannelId(channelId); + clientChannelImpl.setChannel(channel); + clientChannelImpl.setClientId(clientId.getBytes(StandardCharsets.UTF_8)); + // 如果客户端已经存在 移除 + if (channelIdClientChannelDTOConcurrentHashMap.containsKey(clientId)) { +// clear(clientId); + } + channelIdClientChannelDTOConcurrentHashMap.put(clientId, clientChannelImpl); + + } + + /** + * 新增通道 + * + * @param channel 通道 + * @param clientId 客户端ID + */ + public static void push(Channel channel, byte[] clientId) { + + ChannelId channelId = channel.id(); + ClientChannelImpl clientChannelImpl = new ClientChannelImpl(); + clientChannelImpl.setChannelId(channelId); + clientChannelImpl.setChannel(channel); + clientChannelImpl.setClientId(clientId); + channelIdClientChannelDTOConcurrentHashMap.put(new String(clientId), clientChannelImpl); + + } + + /** + * 获取所有通道 + * + * @return 返回所有通道信息 + */ + public static List get() { + return new ArrayList<>(channelIdClientChannelDTOConcurrentHashMap.values()); + } + + + /** + * 根据通道ID获取通道信息 + * + * @param clientId 客户端ID + * @return 通道信息 + */ + public static ClientChannel get(byte[] clientId) { + if (channelIdClientChannelDTOConcurrentHashMap + .containsKey(new String(clientId))) { + return channelIdClientChannelDTOConcurrentHashMap + .get(new String(clientId)); + } else { + // 无法通过客户端ID[{}]获取通道信息 + log.error("Unable to obtain channel information through client ID [{}]",new String(clientId)); + return null; + } + } + + /** + * 根据通道ID获取通道信息 + * + * @param clientId 客户端ID + * @return 通道信息 + */ + public static ChannelContext.ClientChannel get(String clientId) { + return get(clientId.getBytes(StandardCharsets.UTF_8)); + } + + + /** + * 关闭通道 + * + * @param clientId 客户端ID + */ + public static void clear(String clientId) { + ClientChannel clientChannel = get(clientId); + if (clientChannel != null) { + remove(clientId); + Channel channel = clientChannel.getChannel(); + if (channel != null && channel.isActive()) { + channel.close(); + } + } else { + // log warm + // 无法通过客户ID:[{}]移除客户端 + log.warn("Unable to remove client through customer ID: [{}]", clientId); + } + } + + /** + * 通过客户端ID移除客户端通道 + * + * @param clientId 客户端ID + */ + public static void remove(byte[] clientId) { + ClientChannel clientChannel = get(clientId); + if (clientChannel != null) { + channelIdClientChannelDTOConcurrentHashMap.remove(new String(clientId)); + } else { + // log warm 无法通过客户ID:[{}]移除客户端 + log.warn("Unable to remove client through customer ID: [{}]", new String(clientId)); + } + } + + /** + * 通过客户端ID移除客户端通道 + * + * @param clientId 客户端ID + */ + public static void remove(String clientId) { + ClientChannel clientChannel = get(clientId); + if (clientChannel != null) { + channelIdClientChannelDTOConcurrentHashMap.remove(clientId); + } else { + // log warm 无法通过客户ID:[{}]移除客户端 + log.warn("Unable to remove client through customer ID: [{}]", clientId); + } + } + + + /** + * 客户端通道信息 + */ + public interface ClientChannel { + + /** + * 客户端ID + */ + byte[] getClientId(); + + /** + * 通道ID + */ + ChannelId getChannelId(); + + /** + * 通道 + */ + Channel getChannel(); + + } + +} + +/** + * 客户端通道信息 + */ +@Data +class ClientChannelImpl implements ChannelContext.ClientChannel { + /** + * 客户端ID + */ + private byte[] clientId; + /** + * 通道ID + */ + private ChannelId channelId; + /** + * 通道 + */ + private Channel channel; + + @Override + public String toString() { + return "ClientChannelImpl{" + + "clientId=" + new String(clientId) + + ", channelId=" + channelId.asLongText() + + '}'; + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/InternalNetworkPenetrationRealClient.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/InternalNetworkPenetrationRealClient.java new file mode 100644 index 00000000..cee31552 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/InternalNetworkPenetrationRealClient.java @@ -0,0 +1,43 @@ +package org.framework.smart.agent.network.heartbeat.common; + +import lombok.Builder; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * describe 内网穿透映射 真实客户端 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ +@Builder +@Data +@Accessors(chain = true) +public class InternalNetworkPenetrationRealClient { + + + /** + * 客户端ID + */ + private String clientId; + + /** + * 客户端目标地址 + */ + private String clientTargetIp; + + /** + * 客户端目标端口 + */ + private Integer clientTargetPort; + + + /** + * 访问端口 + */ + private Integer visitorPort; + /** + * 访客ID + */ + private String visitorId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/MessageType.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/MessageType.java new file mode 100644 index 00000000..8980f306 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/MessageType.java @@ -0,0 +1,182 @@ +package org.framework.smart.agent.network.heartbeat.common; + +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelHeartbeatTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.client.*; +import org.framework.smart.agent.network.heartbeat.common.advanced.server.*; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * @see MessageTypeEnums + * 数据取值范围 -128~ 127 + * 当前约束范围 -100~100 + */ +public class MessageType { + /** + * 心跳 + * + * @see MessageTypeEnums#TYPE_HEARTBEAT + * @see AbstractHandleChannelHeartbeatTypeAdvanced + */ + public static final byte TYPE_HEARTBEAT = 0X00; + + /** + * 客户端上报连接成功 + * + * @see MessageTypeEnums#REPORT_CLIENT_CONNECT_SUCCESS + * @see AbstractHandleClientConnectSuccessTypeAdvanced + */ + public static final byte REPORT_CLIENT_CONNECT_SUCCESS = 0X01; + /** + * 上报 客户端断开连接 + * + * @see MessageTypeEnums#REPORT_CLIENT_DISCONNECTION + * @see AbstractHandleReportDisconnectTypeAdvanced + */ + public static final byte REPORT_CLIENT_DISCONNECTION = 0X02; + /** + * 客户端上报暂存开启 + * + * @see MessageTypeEnums#REPORT_CLIENT_STAGING_OPENED + * @see AbstractHandleReportStagingOpenedTypeAdvanced + */ + public static final byte REPORT_CLIENT_STAGING_OPENED = 0X03; + /** + * 客户端上报暂存关闭 + * + * @see MessageTypeEnums#REPORT_CLIENT_STAGING_CLOSED + * @see AbstractHandleReportStagingClosedTypeAdvanced + */ + public static final byte REPORT_CLIENT_STAGING_CLOSED = 0X04; + + /** + * 上报 客户端数据传输(内网穿透数据回传) + * + * @see MessageTypeEnums#REPORT_CLIENT_TRANSFER + * @see AbstractHandleReportHandleChannelTransferTypeAdvanced + */ + public static final byte REPORT_CLIENT_TRANSFER = 0X05; + + + /** + * 上报 客户端创建需要代理的真实端口成功 + * + * @see MessageTypeEnums#REPORT_SINGLE_CLIENT_REAL_CONNECT + * @see AbstractHandleReportSingleClientRealConnectTypeAdvanced + */ + public static final byte REPORT_SINGLE_CLIENT_REAL_CONNECT = 0X06; + /** + * 上报 客户端关闭一个访客通道 + * + * @see MessageTypeEnums#REPORT_SINGLE_CLIENT_CLOSE_VISITOR + * @see AbstractHandleReportSingleClientCloseVisitorTypeAdvanced + */ + public static final byte REPORT_SINGLE_CLIENT_CLOSE_VISITOR = 0X08; + + /** + * 上报 客户端消息到另一个客户端 + * + * @see MessageTypeEnums#REPORT_SINGLE_CLIENT_MESSAGE + * @see AbstractHandleReportSingleClientMessage2OtherClientTypeAdvanced + */ + public static final byte REPORT_SINGLE_CLIENT_MESSAGE = 0X09; + /** + * 服务端通道 is active + * + * @see MessageTypeEnums#SERVER_CHANNEL_ACTIVE + * @see AbstractHandleServerChannelActiveTypeAdvanced + */ + public static final byte SERVER_CHANNEL_ACTIVE = 0X10; + + /** + * 上报 集群注册 + * + * @see MessageTypeEnums#REPORT_CLUSTER_NODE_REGISTER_MESSAGE + * @see AbstractHandleReportClusterNodeRegisterTypeAdvanced + */ + public static final byte REPORT_CLUSTER_NODE_REGISTER_MESSAGE = 0X11; + + /** + * 下发 客户端接收连接成功通知 + * + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_CONNECTION_SUCCESS_NOTIFICATION + * @see AbstractHandleDistributeConnectSuccessNotificationTypeAdvancedHandle + */ + public static final byte DISTRIBUTE_CLIENT_CONNECTION_SUCCESS_NOTIFICATION = -0X01; + /** + * 下发 客户端断开连接通知 + * + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_DISCONNECTION_NOTIFICATION + * @see AbstractHandleDistributeDisconnectTypeAdvancedHandle + */ + public static final byte DISTRIBUTE_CLIENT_DISCONNECTION_NOTIFICATION = -0X02; + /** + * 下发 客户端暂存开启通知 + * + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_STAGING_OPENED_NOTIFICATION + * @see AbstractHandleDistributeStagingOpenedTypeAdvanced + */ + public static final byte DISTRIBUTE_CLIENT_STAGING_OPENED_NOTIFICATION = -0X03; + + /** + * 下发 客户端暂存关闭通知 + * + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_STAGING_CLOSED_NOTIFICATION + * @see AbstractHandleDistributeStagingClosedTypeAdvanced + */ + public static final byte DISTRIBUTE_CLIENT_STAGING_CLOSED_NOTIFICATION = -0X04; + /** + * 下发 客户端数据传输(内网穿透数据发送) + * + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_TRANSFER + * @see AbstractHandleDistributeChannelTransferTypeAdvanced + */ + public static final byte DISTRIBUTE_CLIENT_TRANSFER = -0X05; + /** + * 下发 客户端创建需要代理的真实端口 + * + * @see MessageTypeEnums#DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT + * @see AbstractHandleDistributeSingleClientRealConnectTypeAdvanced + */ + public static final byte DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT = -0X06; + + /** + * 下发 客户端代理的真实端口自动读写 + * + * @see MessageTypeEnums#DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT_AUTO_READ + * @see AbstractHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced + */ + public static final byte DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT_AUTO_READ = -0X07; + + /** + * 下发 客户端关闭代理服务通道 + * + * @see MessageTypeEnums#DISTRIBUTE_SINGLE_CLIENT_REAL_CLOSE_VISITOR + * @see AbstractHandleDistributeSingleClientRealCloseVisitorTypeAdvanced + */ + public static final byte DISTRIBUTE_SINGLE_CLIENT_REAL_CLOSE_VISITOR = -0X08; + + /** + * 下发 客户端消息 + * + * @see MessageTypeEnums#DISTRIBUTE_SINGLE_CLIENT_MESSAGE + * @see AbstractHandleDistributeSingleClientMessageTypeAdvanced + */ + public static final byte DISTRIBUTE_SINGLE_CLIENT_MESSAGE = -0X09; + + + /** + * 客户端通道 is active + * + * @see MessageTypeEnums#CLIENT_CHANNEL_ACTIVE + * @see AbstractHandleClientChannelActiveAdvanced + */ + public static final byte CLIENT_CHANNEL_ACTIVE = -0X10; + + /** + * 下发 集群注册 + * + * @see MessageTypeEnums#DISTRIBUTE_CLUSTER_NODE_REGISTER_MESSAGE + * @see AbstractHandleDistributeClusterNodeRegisterTypeAdvanced + */ + public static final byte DISTRIBUTE_CLUSTER_NODE_REGISTER_MESSAGE = -0X11; +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyClientChannel.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyClientChannel.java new file mode 100644 index 00000000..49aa6082 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyClientChannel.java @@ -0,0 +1,27 @@ +package org.framework.smart.agent.network.heartbeat.common; + +import io.netty.channel.Channel; +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * 客户端连接服务端 通道 + */ +@AllArgsConstructor +@Data +public class NettyClientChannel { + + /** + * 客户端ID + */ + private String clientId; + /** + * 客户端通道 + */ + private Channel channel; + /** + * 服务端ID + */ + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyClientVisitorContext.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyClientVisitorContext.java new file mode 100644 index 00000000..ba0503f5 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyClientVisitorContext.java @@ -0,0 +1,73 @@ +package org.framework.smart.agent.network.heartbeat.common; + +import org.wu.framework.core.utils.ObjectUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 访客端口对应访客上下文 + */ +public class NettyClientVisitorContext { + + protected static final ConcurrentHashMap/*NettyVisitorSocket*/> VISITOR_SOCKET = new ConcurrentHashMap<>(); + + + /** + * 添加访客 + * + * @param clientId 客户端ID + * @param visitorSocket 客户端访客socket + */ + public static void pushVisitorSocket(String clientId, T visitorSocket) { + List visitors = getVisitorSockets(clientId); + visitors.add(visitorSocket); + VISITOR_SOCKET.put(clientId, visitors); + } + + /** + * 通过客户端ID获取客户端使用的访客socket + * + * @param 访客范型 + * @param clientId 客户端ID + * @return 访客 + */ + public static List getVisitorSockets(String clientId) { + return (List) VISITOR_SOCKET.getOrDefault(clientId, new ArrayList<>()); + } + + + /** + * 移除 客户端 访客信息 + * + * @param clientId 客户端ID + */ + public static void removeVisitorSockets(String clientId) { + VISITOR_SOCKET.remove(clientId); + } + + /** + * 移除 客户端 访客信息 + * + * @param clientId 客户端ID + * @param visitorSocket 访客socket + */ + public static void removeVisitorSocket(String clientId, T visitorSocket) { + List visitorSocketList = VISITOR_SOCKET.get(clientId); + if(!ObjectUtils.isEmpty(visitorSocketList)){ + visitorSocketList.remove(visitorSocket); + VISITOR_SOCKET.put(clientId,visitorSocketList); + } + } + + /** + * 关闭客户端访客socket + * + * @param clientId 客户端ID + */ + public static void close(String clientId) { +// getVisitorSockets(clientId) + } + +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyCommunicationIdContext.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyCommunicationIdContext.java new file mode 100644 index 00000000..65e57392 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyCommunicationIdContext.java @@ -0,0 +1,71 @@ +package org.framework.smart.agent.network.heartbeat.common; + +import io.netty.channel.Channel; + +import java.util.concurrent.ConcurrentHashMap; + +/** + * 通信通道对应上下文 + */ +public class NettyCommunicationIdContext { + + protected static final ConcurrentHashMap COMMUNICATION = new ConcurrentHashMap<>(); + + + /** + * 添加访客 + * + * @param visitorId 访客id + * @param visitor 访客 + */ + public static void pushVisitor(T visitor, String visitorId) { + COMMUNICATION.put(visitorId, visitor); + + } + + /** + * 通过访客端口获取访客 + * + * @param visitorId 访客id + * @param 访客范型 + * @return 访客 + */ + public static T getVisitor(String visitorId) { + return (T) COMMUNICATION.get(visitorId); + } + + /** + * 通过访客端口获取访客 + * + * @param visitorId 访客id + * @param 访客范型 + * @return 访客 + */ + public static T getVisitor(byte[] visitorId) { + return getVisitor(new String(visitorId)); + + } + + /** + * 移除访客 + * + * @param visitorId 访客ID + */ + public static void clear(String visitorId) { + Channel visitor = getVisitor(visitorId); + if (visitor != null) { + COMMUNICATION.remove(visitorId); + visitor.close(); + } + + } + + /** + * 移除访客 + * + * @param visitorId 访客ID + */ + public static void clear(byte[] visitorId) { + clear(new String(visitorId)); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyMsg.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyMsg.java new file mode 100644 index 00000000..8f4aabf5 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyMsg.java @@ -0,0 +1,39 @@ +package org.framework.smart.agent.network.heartbeat.common; + +import lombok.Getter; +import lombok.Setter; + +import java.util.Arrays; + +@Setter +@Getter +public class NettyMsg { + // body 长度 type 1 clientId 4 data 4 + public static final int bodyLength = 9; + + /** + * 数据类型 + * + * @see MessageType + * byte长度 1 + */ + private byte type; + /** + * 客户端ID + * byte[] 长度 4 + */ + private byte[] clientId; + + /** + * 消息传输数据 + * byte[] 长度 4 + */ + private byte[] data; + + + @Override + public String toString() { + return "NettyProxyMsg [type=" + type + ", data=" + Arrays.toString(data) + ",clientId=" + Arrays.toString(clientId) + "]"; + } + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyProxyMsg.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyProxyMsg.java new file mode 100644 index 00000000..cff03607 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyProxyMsg.java @@ -0,0 +1,113 @@ +package org.framework.smart.agent.network.heartbeat.common; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.nio.charset.StandardCharsets; + +/** + * netty 代理请求数据 + */ +@NoArgsConstructor +@Setter +@Getter +public class NettyProxyMsg { + // body 长度 type 1 clientId 4 clientTargetIp 4 clientTargetPort 4 visitorPort 4 visitorId 4 data 4 + public static final int bodyLength = 1 + 4 + 4 + 4 + 4 + 4 + 4; + + + /** + * 数据类型 + * + * @see MessageType + * byte长度 1 + */ + private byte type; + + /** + * 客户端ID + * byte[] 长度 4 + */ + private byte[] clientId; + /** + * 客户端目标地址 + * byte[] 长度 4 + */ + private byte[] clientTargetIp; + + /** + * 客户端目标端口 + * byte[] 长度 4 + */ + private byte[] clientTargetPort; + /** + * 客户端目使用的代理端口 + * byte[] 长度 4 + */ + private byte[] visitorPort; + /** + * 访客ID + * byte[] 长度 4 + */ + private byte[] visitorId; + /** + * 消息传输数据 + * byte[] 长度 4 + */ + private byte[] data; + + + @Override + public String toString() { + return "NettyProxyMsg [type=" + type + + ",clientId=" + (clientId == null ? null : new String(clientId)) + + ",clientTargetIp=" + (clientTargetIp == null ? null : new String(clientTargetIp)) + + ",clientTargetPort=" + (clientTargetPort == null ? null : new String(clientTargetPort)) + + ",visitorPort=" + (visitorPort == null ? null : new String(visitorPort)) + + "]"; + } + + public void setClientId(byte[] clientId) { + this.clientId = clientId; + } + + public void setClientId(String clientId) { + this.clientId = clientId.getBytes(StandardCharsets.UTF_8); + } + + + public void setClientTargetIp(byte[] clientTargetIp) { + this.clientTargetIp = clientTargetIp; + } + + public void setClientTargetIp(String clientTargetIp) { + this.clientTargetIp = clientTargetIp.getBytes(StandardCharsets.UTF_8); + } + + public void setClientTargetPort(Integer clientTargetPort) { + this.clientTargetPort = String.valueOf(clientTargetPort).getBytes(StandardCharsets.UTF_8); + } + + public void setClientTargetPort(byte[] clientTargetPort) { + this.clientTargetPort = clientTargetPort; + } + + public void setVisitorPort(byte[] visitorPort) { + this.visitorPort = visitorPort; + } + + public void setVisitorPort(Integer visitorPort) { + this.visitorPort = String.valueOf(visitorPort).getBytes(StandardCharsets.UTF_8); + } + + public void setVisitorId(String visitorId) { + this.visitorId = visitorId.getBytes(StandardCharsets.UTF_8); + } + + public void setVisitorId(byte[] visitorId) { + this.visitorId = visitorId; + } + + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyRealIdContext.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyRealIdContext.java new file mode 100644 index 00000000..0c78d238 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyRealIdContext.java @@ -0,0 +1,71 @@ +package org.framework.smart.agent.network.heartbeat.common; + +import io.netty.channel.Channel; + +import java.util.concurrent.ConcurrentHashMap; + +/** + * 真实通道对应上下文 客户端、服务端真实代理通道 + */ +public class NettyRealIdContext { + + protected static final ConcurrentHashMap REAL = new ConcurrentHashMap<>(); + + + /** + * 添加真实通道 + * + * @param visitorId 访客id + * @param visitor 访客真实通道 + */ + public static void pushReal(T visitor, String visitorId) { + REAL.put(visitorId, visitor); + + } + + /** + * 通过访客端口获取访客 + * + * @param visitorId 访客id + * @param 访客范型 + * @return 访客 + */ + public static T getReal(String visitorId) { + return (T) REAL.get(visitorId); + } + + /** + * 通过访客端口获取访客 + * + * @param visitorId 访客id + * @param 访客范型 + * @return 访客 + */ + public static T getReal(byte[] visitorId) { + return getReal(new String(visitorId)); + + } + + /** + * 移除访客 + * + * @param visitorId 访客ID + */ + public static void clear(String visitorId) { + Channel visitor = getReal(visitorId); + if (visitor != null) { + REAL.remove(visitorId); + visitor.close(); + } + + } + + /** + * 移除访客 + * + * @param visitorId 访客ID + */ + public static void clear(byte[] visitorId) { + clear(new String(visitorId)); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyServerContext.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyServerContext.java new file mode 100644 index 00000000..16189a8f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyServerContext.java @@ -0,0 +1,109 @@ +package org.framework.smart.agent.network.heartbeat.common; + +import io.netty.channel.Channel; +import org.wu.framework.core.utils.ObjectUtils; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; +import java.util.stream.Collectors; + +/** + * 服务端存储 channel 上下文 + */ +public class NettyServerContext { + + + protected static final ConcurrentHashMap/*NettyClientChannel*/> + NETTY_CLIENT_CHANNEL_SOCKET = new ConcurrentHashMap<>(); + + + /** + * 添加访客 + * + * @param serverId 服务端ID + * @param clientId 客户端ID + * @param channel channel + */ + public static void pushServerEndpointChannel(String serverId, String clientId, Channel channel) { + List nettyClientChannelList = getServerEndpointChannels(serverId); + // 关闭旧的通道 + nettyClientChannelList.stream().filter(nettyClientChannel -> nettyClientChannel.getClientId().equals(clientId) && nettyClientChannel.getServerId().equals(serverId)).forEach(nettyClientChannel -> { + Channel oldChannel = nettyClientChannel.getChannel(); + if (oldChannel != null && oldChannel.isActive()) { + oldChannel.close(); + } + }); + + List activeNettyClientChannelList = nettyClientChannelList + .stream() + .filter(nettyClientChannel -> + !nettyClientChannel.getClientId().equals(clientId) && !nettyClientChannel.getServerId().equals(serverId)) + .collect(Collectors.toList()); + NettyClientChannel nettyClientChannel = new NettyClientChannel(clientId, channel, serverId); + activeNettyClientChannelList.add(nettyClientChannel); + NETTY_CLIENT_CHANNEL_SOCKET.put(serverId, activeNettyClientChannelList); + } + + /** + * 通过客户端ID获取客户端使用的访客socket + * + * @param serverId 服务端ID + * @return 客户端通道 + */ + public static List getServerEndpointChannels(String serverId) { + return NETTY_CLIENT_CHANNEL_SOCKET.getOrDefault(serverId, new ArrayList<>()); + } + /** + * 通过客户端ID获取客户端使用的访客socket + * @return 客户端通道 + */ + public static List getServerEndpointChannels() { + return NETTY_CLIENT_CHANNEL_SOCKET + .values() + .stream() + .collect(Collectors.flatMapping(Collection::stream,Collectors.toList())); + } + + + + /** + * 移除 客户端通道 + * + * @param serverId 服务端ID + */ + public static void removeServerEndpointChannels(String serverId) { + for (NettyClientChannel nettyClientChannel : getServerEndpointChannels(serverId)) { + if (nettyClientChannel.getChannel() != null && nettyClientChannel.getChannel().isActive()) { + nettyClientChannel.getChannel().close(); + } + } + NETTY_CLIENT_CHANNEL_SOCKET.remove(serverId); + } + + /** + * 移除 客户端通道 + * + * @param serverId 服务端ID + * @param clientId 客户端ID + */ + public static void removeServerEndpointChannels(String serverId, String clientId) { + List nettyClientChannelList = NETTY_CLIENT_CHANNEL_SOCKET.get(serverId); + if (!ObjectUtils.isEmpty(nettyClientChannelList)) { + // 关闭指定服务端对应客户端通道 + nettyClientChannelList.stream().filter(nettyClientChannel -> nettyClientChannel.getClientId().equals(clientId)) + .forEach(nettyClientChannel -> { + if (nettyClientChannel.getChannel() != null && nettyClientChannel.getChannel().isActive()) { + nettyClientChannel.getChannel().close(); + } + }); + // 过滤后数据 + List clientChannelList = nettyClientChannelList.stream().filter(nettyClientChannel -> !nettyClientChannel.getClientId().equals(clientId)) + .collect(Collectors.toList()); + NETTY_CLIENT_CHANNEL_SOCKET.put(serverId, clientChannelList); + } + } + + +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyVisitorIdContext.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyVisitorIdContext.java new file mode 100644 index 00000000..7739902a --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyVisitorIdContext.java @@ -0,0 +1,72 @@ +package org.framework.smart.agent.network.heartbeat.common; + +import io.netty.channel.Channel; + +import java.util.concurrent.ConcurrentHashMap; + +/** + * 访客通信通道上下文(服务端、客户端 通信) + */ +@Deprecated +public class NettyVisitorIdContext { + + protected static final ConcurrentHashMap VISITOR_ID = new ConcurrentHashMap<>(); + + + /** + * 添加访客 + * + * @param visitorId 访客id + * @param visitor 访客 + */ + public static void pushVisitor(T visitor, String visitorId) { + VISITOR_ID.put(visitorId, visitor); + + } + + /** + * 通过访客端口获取访客 + * + * @param visitorId 访客id + * @param 访客范型 + * @return 访客 + */ + public static T getVisitor(String visitorId) { + return (T) VISITOR_ID.get(visitorId); + } + + /** + * 通过访客端口获取访客 + * + * @param visitorId 访客id + * @param 访客范型 + * @return 访客 + */ + public static T getVisitor(byte[] visitorId) { + return getVisitor(new String(visitorId)); + + } + + /** + * 移除访客 + * + * @param visitorId 访客ID + */ + public static void clear(String visitorId) { + Channel visitor = getVisitor(visitorId); + if (visitor != null) { + VISITOR_ID.remove(visitorId); + visitor.close(); + } + + } + + /** + * 移除访客 + * + * @param visitorId 访客ID + */ + public static void clear(byte[] visitorId) { + clear(new String(visitorId)); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyVisitorPortContext.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyVisitorPortContext.java new file mode 100644 index 00000000..3117b704 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/NettyVisitorPortContext.java @@ -0,0 +1,49 @@ +package org.framework.smart.agent.network.heartbeat.common; + +import java.util.concurrent.ConcurrentHashMap; + +/** + * 访客端口对应上下文 + */ +public class NettyVisitorPortContext { + + protected static final ConcurrentHashMap VISITOR_PORT = new ConcurrentHashMap<>(); + + + /** + * 添加访客 + * + * @param visitorPort 访客端口 + * @param visitor 访客 + */ + public static void pushVisitor(Integer visitorPort, T visitor) { + VISITOR_PORT.put(visitorPort, visitor); + + } + + /** + * 通过访客端口获取访客 + * + * @param visitorPort 访客端口 + * @param 访客范型 + * @return 访客 + */ + public static T getVisitor(Integer visitorPort) { + return (T) VISITOR_PORT.get(visitorPort); + } + + /** + * 删除访客 + * @param visitorPort 访客通道 + * @return 删除的访客通道 + * @param 访客通道范型 + */ + public static T removeVisitor(Integer visitorPort){ + T visitor = getVisitor(visitorPort); + if(visitor!=null){ + VISITOR_PORT.remove(visitorPort); + } + return visitor; + } + +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/adapter/ChannelFlowAdapter.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/adapter/ChannelFlowAdapter.java new file mode 100644 index 00000000..816471bc --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/adapter/ChannelFlowAdapter.java @@ -0,0 +1,41 @@ +package org.framework.smart.agent.network.heartbeat.common.adapter; + +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.common.advanced.flow.ChannelFlow; +import org.framework.smart.agent.network.heartbeat.common.advanced.flow.HandleChannelFlowAdvanced; + +import java.util.List; + +/** + * 通道流量适配器 + * + * @see HandleChannelFlowAdvanced + */ +@Slf4j +public class ChannelFlowAdapter { + + protected final List handleChannelFlowAdvancedList; + + public ChannelFlowAdapter(List handleChannelFlowAdvancedList) { + this.handleChannelFlowAdvancedList = handleChannelFlowAdvancedList; + } + + /** + * 处理当前数据 + * + * @param channelFlow 通道数据 + */ + public void handler(Channel channel, ChannelFlow channelFlow) { + for (HandleChannelFlowAdvanced handleChannelTypeAdvanced : handleChannelFlowAdvancedList) { + if (handleChannelTypeAdvanced.support(channelFlow)) { + try { + handleChannelTypeAdvanced.handler(channel, channelFlow); + } catch (Exception e) { + log.error("流量统计失败:{}", e.getMessage()); + } + return; + } + } + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/adapter/ChannelTypeAdapter.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/adapter/ChannelTypeAdapter.java new file mode 100644 index 00000000..6098d292 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/adapter/ChannelTypeAdapter.java @@ -0,0 +1,46 @@ +package org.framework.smart.agent.network.heartbeat.common.adapter; + +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.Ordered; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; + +import java.util.Comparator; +import java.util.List; + +/** + * 通道类型适配器 + */ +@Slf4j +public class ChannelTypeAdapter { + protected final List handleChannelTypeAdvancedList; + + public ChannelTypeAdapter(List handleChannelTypeAdvancedList) { + this.handleChannelTypeAdvancedList = handleChannelTypeAdvancedList; + } + + /** + * 处理当前数据 + * + * @param msg 通道数据 + */ + public void handler(Channel channel, Object msg) { + // 升序 处理器 + List handleChannelTypeAdvancedSortedList = + handleChannelTypeAdvancedList. + stream(). + sorted(Comparator.comparing(Ordered::getOrder)). + toList(); + + + for (HandleChannelTypeAdvanced handleChannelTypeAdvanced : handleChannelTypeAdvancedSortedList) { + if (handleChannelTypeAdvanced.support(msg)) { +// log.info("处理器:{},客户端:{}, 处理类型:{}",handleChannelTypeAdvanced.getClass(),new String(msg.getClientId()),msg.getMysqlType()); + handleChannelTypeAdvanced.handler(channel, msg); + return; + } + } + } + + +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/AbstractHandleChannelHeartbeatTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/AbstractHandleChannelHeartbeatTypeAdvanced.java new file mode 100644 index 00000000..c13463fe --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/AbstractHandleChannelHeartbeatTypeAdvanced.java @@ -0,0 +1,25 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + + +/** + * 服务端 处理客户端心跳 + * TYPE_HEARTBEAT + */ + +public abstract class AbstractHandleChannelHeartbeatTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.TYPE_HEARTBEAT.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/AbstractHandleChannelTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/AbstractHandleChannelTypeAdvanced.java new file mode 100644 index 00000000..4f348d39 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/AbstractHandleChannelTypeAdvanced.java @@ -0,0 +1,93 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced; + + +import io.netty.channel.Channel; +import org.springframework.core.Ordered; + +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.util.Objects; + +public abstract class AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param msg 通道数据 + */ + protected abstract void doHandler(Channel channel, MSG msg); + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param msg 通道数据 + */ + @Override + public void handler(Channel channel, Object msg) { + doHandler(channel, (MSG) msg); + } + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + protected abstract boolean doSupport(MSG msg); + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean support(Object msg) { + if (msg == null) return false; + if (!msg.getClass().isAssignableFrom(Objects.requireNonNull(getMsgTypes()))) { + return false; + } + return doSupport((MSG) msg); + } + + /** + * 获取当前处理范型 + * + * @return 范型 + */ + private Class getMsgTypes() { + + Type superClassType = this.getClass().getGenericSuperclass(); + if (superClassType instanceof ParameterizedType parameterizedType) { + + Type[] actualTypes = parameterizedType.getActualTypeArguments(); +// for (Type type : actualTypes) { +// System.out.println("范型类型:" + ((Class) type).getName()); +// } + return (Class) actualTypes[0]; + } else { +// System.out.println("未能获取到范型类型"); + return null; + } + } + + /** + * Get the order value of this object. + *

Higher values are interpreted as lower priority. As a consequence, + * the object with the lowest value has the highest priority (somewhat + * analogous to Servlet {@code load-on-startup} values). + *

Same order values will result in arbitrary sort positions for the + * affected objects. + * + * @return the order value + * @see #HIGHEST_PRECEDENCE + * @see #LOWEST_PRECEDENCE + * 越小越靠前 + */ + @Override + public int getOrder() { + return Ordered.LOWEST_PRECEDENCE; + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/HandleChannelTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/HandleChannelTypeAdvanced.java new file mode 100644 index 00000000..ab2f94bc --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/HandleChannelTypeAdvanced.java @@ -0,0 +1,35 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced; + + +import io.netty.channel.Channel; +import org.springframework.core.Ordered; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 通道不同数据类型处理器 + * + * @see MessageType + * @see MessageTypeEnums + */ +public interface HandleChannelTypeAdvanced extends Ordered { + + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param msg 通道数据 + */ + void handler(Channel channel, Object msg); + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + boolean support(Object msg); + + +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleClientChannelActiveAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleClientChannelActiveAdvanced.java new file mode 100644 index 00000000..8075f7cd --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleClientChannelActiveAdvanced.java @@ -0,0 +1,25 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.client; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 客户端通道 is active + */ + +public abstract class AbstractHandleClientChannelActiveAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.CLIENT_CHANNEL_ACTIVE.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeChannelTransferTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeChannelTransferTypeAdvanced.java new file mode 100644 index 00000000..be42575b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeChannelTransferTypeAdvanced.java @@ -0,0 +1,27 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.client; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + + +/** + * 客户端处理服务端下发数据 + * DISTRIBUTE_CLIENT_TRANSFER + */ +public abstract class AbstractHandleDistributeChannelTransferTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.DISTRIBUTE_CLIENT_TRANSFER.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeClusterNodeRegisterTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeClusterNodeRegisterTypeAdvanced.java new file mode 100644 index 00000000..0b8e0fa6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeClusterNodeRegisterTypeAdvanced.java @@ -0,0 +1,27 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.client; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + + +/** + * 下发 集群注册 + * @see MessageTypeEnums#DISTRIBUTE_CLUSTER_NODE_REGISTER_MESSAGE + */ +public abstract class AbstractHandleDistributeClusterNodeRegisterTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.DISTRIBUTE_CLUSTER_NODE_REGISTER_MESSAGE.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeConnectSuccessNotificationTypeAdvancedHandle.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeConnectSuccessNotificationTypeAdvancedHandle.java new file mode 100644 index 00000000..ac9a1273 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeConnectSuccessNotificationTypeAdvancedHandle.java @@ -0,0 +1,23 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.client; + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 下发 客户端连接成功通知 + */ +public abstract class AbstractHandleDistributeConnectSuccessNotificationTypeAdvancedHandle extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.DISTRIBUTE_CLIENT_CONNECTION_SUCCESS_NOTIFICATION.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeDisconnectTypeAdvancedHandle.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeDisconnectTypeAdvancedHandle.java new file mode 100644 index 00000000..bfcadbed --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeDisconnectTypeAdvancedHandle.java @@ -0,0 +1,26 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.client; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 下发客户端断开连接通知 + * DISTRIBUTE_CLIENT_DISCONNECTION_NOTIFICATION + */ +public abstract class AbstractHandleDistributeDisconnectTypeAdvancedHandle extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + // 下发 客户端断开连接通知 + return MessageTypeEnums.DISTRIBUTE_CLIENT_DISCONNECTION_NOTIFICATION.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientMessageTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientMessageTypeAdvanced.java new file mode 100644 index 00000000..19f7035a --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientMessageTypeAdvanced.java @@ -0,0 +1,25 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.client; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 下发 客户端关闭代理服务通道 + */ + +public abstract class AbstractHandleDistributeSingleClientMessageTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.DISTRIBUTE_SINGLE_CLIENT_MESSAGE.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced.java new file mode 100644 index 00000000..fb6c4d60 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced.java @@ -0,0 +1,27 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.client; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 下发 客户端代理的真实端口自动读写 + * + * @see MessageTypeEnums#DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT_AUTO_READ + */ + +public abstract class AbstractHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT_AUTO_READ.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientRealCloseVisitorTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientRealCloseVisitorTypeAdvanced.java new file mode 100644 index 00000000..d51c43ea --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientRealCloseVisitorTypeAdvanced.java @@ -0,0 +1,25 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.client; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 下发 客户端关闭代理服务通道 + */ + +public abstract class AbstractHandleDistributeSingleClientRealCloseVisitorTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.DISTRIBUTE_SINGLE_CLIENT_REAL_CLOSE_VISITOR.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientRealConnectTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientRealConnectTypeAdvanced.java new file mode 100644 index 00000000..9ce89150 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeSingleClientRealConnectTypeAdvanced.java @@ -0,0 +1,25 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.client; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 下发 客户端 创建真实连接 + */ + +public abstract class AbstractHandleDistributeSingleClientRealConnectTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeStagingClosedTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeStagingClosedTypeAdvanced.java new file mode 100644 index 00000000..b7c3f075 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeStagingClosedTypeAdvanced.java @@ -0,0 +1,25 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.client; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 下发 客户端暂存关闭 + */ + +public abstract class AbstractHandleDistributeStagingClosedTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.DISTRIBUTE_CLIENT_STAGING_CLOSED_NOTIFICATION.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeStagingOpenedTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeStagingOpenedTypeAdvanced.java new file mode 100644 index 00000000..1be0451b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/client/AbstractHandleDistributeStagingOpenedTypeAdvanced.java @@ -0,0 +1,25 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.client; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 下发 客户端暂存开启 + */ + +public abstract class AbstractHandleDistributeStagingOpenedTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.DISTRIBUTE_CLIENT_STAGING_OPENED_NOTIFICATION.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/flow/AbstractHandleChannelFlowAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/flow/AbstractHandleChannelFlowAdvanced.java new file mode 100644 index 00000000..f2c2dc0e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/flow/AbstractHandleChannelFlowAdvanced.java @@ -0,0 +1,49 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.flow; + +import io.netty.channel.Channel; + +/** + * 处理通道流量适配者 抽象类 + * + * @see HandleChannelFlowAdvanced + */ +public abstract class AbstractHandleChannelFlowAdvanced implements HandleChannelFlowAdvanced { + + /** + * 是否支持当前这种类型 + * + * @param channelFlow 数据 + * @return boolean + */ + @Override + public boolean support(ChannelFlow channelFlow) { + return doSupport(channelFlow); + } + + /** + * 处理是否支持这种类型 + * + * @param channelFlow 数据 + * @return boolean + */ + protected abstract boolean doSupport(ChannelFlow channelFlow); + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param channelFlow 通道数据 + */ + @Override + public void handler(Channel channel, ChannelFlow channelFlow) { + doHandler(channel, channelFlow); + } + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param channelFlow 通道数据 + */ + protected abstract void doHandler(Channel channel, ChannelFlow channelFlow); +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/flow/ChannelFlow.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/flow/ChannelFlow.java new file mode 100644 index 00000000..416acb9b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/flow/ChannelFlow.java @@ -0,0 +1,37 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.flow; + +import org.framework.smart.agent.network.heartbeat.common.enums.ChannelFlowEnum; + +public interface ChannelFlow { + + /** + * 通道客户端ID + * + * @return 通道客户端ID + */ + String clientId(); + + /** + * 通道使用的端口(服务端访客端口、客户端真实端口) + * + * @return 端口 + */ + Integer port(); + + /** + * 通道流量类型 + * + * @return ChannelFlowEnum + * @see ChannelFlowEnum + */ + ChannelFlowEnum channelFlowEnum(); + + /** + * 流量 + * + * @return 流量 + */ + Integer flow(); +} + + diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/flow/HandleChannelFlowAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/flow/HandleChannelFlowAdvanced.java new file mode 100644 index 00000000..20cd153c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/flow/HandleChannelFlowAdvanced.java @@ -0,0 +1,25 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.flow; + +import io.netty.channel.Channel; + +/** + * 处理通道流量适配者 + */ +public interface HandleChannelFlowAdvanced { + + /** + * 是否支持当前这种类型 + * + * @param channelFlow 数据 + * @return boolean + */ + boolean support(ChannelFlow channelFlow); + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param channelFlow 通道数据 + */ + void handler(Channel channel, ChannelFlow channelFlow); +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleClientConnectSuccessTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleClientConnectSuccessTypeAdvanced.java new file mode 100644 index 00000000..900d7d60 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleClientConnectSuccessTypeAdvanced.java @@ -0,0 +1,25 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.server; + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 服务端处理客户端连接成功 + */ +public abstract class AbstractHandleClientConnectSuccessTypeAdvanced extends AbstractHandleChannelTypeAdvanced + implements HandleChannelTypeAdvanced { + + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.REPORT_CLIENT_CONNECT_SUCCESS.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportClusterNodeRegisterTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportClusterNodeRegisterTypeAdvanced.java new file mode 100644 index 00000000..6c2926ff --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportClusterNodeRegisterTypeAdvanced.java @@ -0,0 +1,27 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.server; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + + +/** + * 上报 集群注册 + * REPORT_CLUSTER_NODE_REGISTER_MESSAGE + */ +public abstract class AbstractHandleReportClusterNodeRegisterTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.REPORT_CLUSTER_NODE_REGISTER_MESSAGE.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportDisconnectTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportDisconnectTypeAdvanced.java new file mode 100644 index 00000000..8247a7f0 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportDisconnectTypeAdvanced.java @@ -0,0 +1,27 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.server; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 客户端上报断开连接通知 + * DISTRIBUTE_CLIENT_DISCONNECTION_NOTIFICATION + */ + +public abstract class AbstractHandleReportDisconnectTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + // 下发 客户端断开连接通知 + return MessageTypeEnums.REPORT_CLIENT_DISCONNECTION.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportHandleChannelTransferTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportHandleChannelTransferTypeAdvanced.java new file mode 100644 index 00000000..4b266532 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportHandleChannelTransferTypeAdvanced.java @@ -0,0 +1,27 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.server; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + + +/** + * 服务端处理客户端上报数据 + * REPORT_CLIENT_STAGING_CLOSED + */ +public abstract class AbstractHandleReportHandleChannelTransferTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.REPORT_CLIENT_TRANSFER.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportSingleClientCloseVisitorTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportSingleClientCloseVisitorTypeAdvanced.java new file mode 100644 index 00000000..55f3b2d3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportSingleClientCloseVisitorTypeAdvanced.java @@ -0,0 +1,27 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.server; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + + +/** + * 服务端处理客户端 关闭一个访客 + * REPORT_SINGLE_CLIENT_CLOSE_VISITOR + */ +public abstract class AbstractHandleReportSingleClientCloseVisitorTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.REPORT_SINGLE_CLIENT_CLOSE_VISITOR.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportSingleClientMessage2OtherClientTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportSingleClientMessage2OtherClientTypeAdvanced.java new file mode 100644 index 00000000..9fe78eb3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportSingleClientMessage2OtherClientTypeAdvanced.java @@ -0,0 +1,27 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.server; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + + +/** + * 服务端处理客户端 关闭一个访客 + * REPORT_SINGLE_CLIENT_CLOSE_VISITOR + */ +public abstract class AbstractHandleReportSingleClientMessage2OtherClientTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.REPORT_SINGLE_CLIENT_MESSAGE.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportSingleClientRealConnectTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportSingleClientRealConnectTypeAdvanced.java new file mode 100644 index 00000000..d66bdb63 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportSingleClientRealConnectTypeAdvanced.java @@ -0,0 +1,27 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.server; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + + +/** + * 服务端处理客户端绑定真实服务成功 + * REPORT_SINGLE_CLIENT_REAL_CONNECT + */ +public abstract class AbstractHandleReportSingleClientRealConnectTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.REPORT_SINGLE_CLIENT_REAL_CONNECT.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportStagingClosedTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportStagingClosedTypeAdvanced.java new file mode 100644 index 00000000..32bf26f0 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportStagingClosedTypeAdvanced.java @@ -0,0 +1,29 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.server; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 客户端暂存通知 + * 客户端离线后陷入暂存服务业务上使用 + * 云端发送的消息,此模式云端后者说服务端不需要处理 + * CLIENT_STAGING + * 客户端上报暂存 + */ + +public abstract class AbstractHandleReportStagingClosedTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.REPORT_CLIENT_STAGING_CLOSED.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportStagingOpenedTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportStagingOpenedTypeAdvanced.java new file mode 100644 index 00000000..708d2096 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleReportStagingOpenedTypeAdvanced.java @@ -0,0 +1,25 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.server; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + +/** + * 上报客户端暂存开启 + */ + +public abstract class AbstractHandleReportStagingOpenedTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.REPORT_CLIENT_STAGING_OPENED.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleServerChannelActiveTypeAdvanced.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleServerChannelActiveTypeAdvanced.java new file mode 100644 index 00000000..d621983b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/advanced/server/AbstractHandleServerChannelActiveTypeAdvanced.java @@ -0,0 +1,27 @@ +package org.framework.smart.agent.network.heartbeat.common.advanced.server; + + +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.MessageTypeEnums; + + +/** + * 服务端通道 is active + * SERVER_CHANNEL_ACTIVE + */ +public abstract class AbstractHandleServerChannelActiveTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.SERVER_CHANNEL_ACTIVE.getTypeByte() == msg.getType(); + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/ClientConfigKeyUtils.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/ClientConfigKeyUtils.java new file mode 100644 index 00000000..02af3cb2 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/ClientConfigKeyUtils.java @@ -0,0 +1,46 @@ +package org.framework.smart.agent.network.heartbeat.common.constant; + +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +/** + * 客户端配置 key 常量 + */ +public class ClientConfigKeyUtils { + + // + /** + * 客户端状态对应的key + * + * @see NettyClientStatus#ON_LINE + * @see NettyClientStatus#OFF_LINE + */ + public static final String CLIENT_STATUS_KEY = "middleground:cloud:netty:client:status"; + + + /** + * 客户端ID存放的key + */ + public static final String CLIENT_ID_KEY = "middleground:cloud:netty:client:id"; + + + /** + * 获取客户端对应的状态key + * + * @param clientId 客户端ID + * @return 客户端对应的状态key + */ + public static String getClientStatusKey(String clientId) { + return CLIENT_STATUS_KEY + ":" + clientId; + } + + + /** + * 获取 客户端ID对应的key + * + * @param clientId 客户端ID + * @return 客户端ID对应的key + */ + public static String getClientIdKey(String clientId) { + return CLIENT_ID_KEY + ":" + clientId; + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/NettyChannelAttributeKey.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/NettyChannelAttributeKey.java new file mode 100644 index 00000000..4645b12e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/NettyChannelAttributeKey.java @@ -0,0 +1,10 @@ +package org.framework.smart.agent.network.heartbeat.common.constant; + +import io.netty.util.AttributeKey; + +/** + * netty 通道属性 key常量 + */ +public class NettyChannelAttributeKey { + public static final AttributeKey CLIENT_ID_KEY = AttributeKey.newInstance("client_id"); +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/ProxyConfigConstant.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/ProxyConfigConstant.java new file mode 100644 index 00000000..d8c40cbc --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/ProxyConfigConstant.java @@ -0,0 +1,5 @@ +package org.framework.smart.agent.network.heartbeat.common.constant; + +public class ProxyConfigConstant { + public static final String PREFIX = "spring.lazy.proxy"; +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/RedisChannelConstant.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/RedisChannelConstant.java new file mode 100644 index 00000000..dd9b4fad --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/constant/RedisChannelConstant.java @@ -0,0 +1,14 @@ +package org.framework.smart.agent.network.heartbeat.common.constant; + +/** + * redis 通道 + */ +public class RedisChannelConstant { + // 客户端离线或者在线通知通道 + public static final String REDIS_CLIENT_ONLINE_OR_OFFLINE_CHANNEL = "REDIS_CLIENT_ONLINE_OR_OFFLINE_CHANNEL"; + + /** + * 客户端监听 客户端暂存开启、关闭通道 + */ + public static final String REDIS_CLIENT_STAGING_OPENED_OR_CLOSED_CHANNEL = "REDIS_CLIENT_STAGING_OPENED_OR_CLOSED_CHANNEL"; +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/decoder/NettyMsgDecoder.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/decoder/NettyMsgDecoder.java new file mode 100644 index 00000000..36741dfe --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/decoder/NettyMsgDecoder.java @@ -0,0 +1,54 @@ +package org.framework.smart.agent.network.heartbeat.common.decoder; + +import io.netty.buffer.ByteBuf; +import io.netty.channel.ChannelHandlerContext; +import io.netty.handler.codec.LengthFieldBasedFrameDecoder; +import org.framework.smart.agent.network.heartbeat.common.NettyMsg; + +/** + * @see NettyMsg + * NettyMsg 对象解码 + */ +@Deprecated +public class NettyMsgDecoder extends LengthFieldBasedFrameDecoder { + + public NettyMsgDecoder(int maxFrameLength, int lengthFieldOffset, int lengthFieldLength, int lengthAdjustment, + int initialBytesToStrip) { + super(maxFrameLength, lengthFieldOffset, lengthFieldLength, lengthAdjustment, initialBytesToStrip); + } + + public NettyMsgDecoder(int maxFrameLength, int lengthFieldOffset, int lengthFieldLength, int lengthAdjustment, + int initialBytesToStrip, boolean failFast) { + super(maxFrameLength, lengthFieldOffset, lengthFieldLength, lengthAdjustment, initialBytesToStrip, failFast); + } + + @Override + protected NettyMsg decode(ChannelHandlerContext ctx, ByteBuf in2) throws Exception { + ByteBuf in = (ByteBuf) super.decode(ctx, in2); + if (in == null) { + return null; + } + + if (in.readableBytes() < 4) { + return null; + } + + NettyMsg nettyMsg = new NettyMsg(); + int bodyLength = in.readInt(); + byte type = in.readByte(); + nettyMsg.setType(type); + + int clientIdLength = in.readInt(); + byte[] clientId = new byte[clientIdLength]; + in.readBytes(clientId); + nettyMsg.setClientId(clientId); + + + byte[] data = new byte[bodyLength - NettyMsg.bodyLength - clientIdLength]; + in.readBytes(data); + nettyMsg.setData(data); + in.release(); + + return nettyMsg; + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/decoder/NettyProxyMsgDecoder.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/decoder/NettyProxyMsgDecoder.java new file mode 100644 index 00000000..5b94e9ea --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/decoder/NettyProxyMsgDecoder.java @@ -0,0 +1,152 @@ +package org.framework.smart.agent.network.heartbeat.common.decoder; + +import io.netty.buffer.ByteBuf; +import io.netty.channel.ChannelHandlerContext; +import io.netty.handler.codec.ByteToMessageDecoder; +import io.netty.handler.codec.LengthFieldBasedFrameDecoder; +import io.netty.handler.codec.TooLongFrameException; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; + +import java.nio.ByteOrder; + +/** + * @see NettyProxyMsg + * NettyProxyMsg 解码 + */ +public class NettyProxyMsgDecoder extends LengthFieldBasedFrameDecoder { + /** + * Creates a new instance. + * + * @param maxFrameLength the maximum length of the frame. If the length of the frame is + * greater than this value, {@link TooLongFrameException} will be + * thrown. + * @param lengthFieldOffset the offset of the length field + * @param lengthFieldLength the length of the length field + */ + public NettyProxyMsgDecoder(int maxFrameLength, int lengthFieldOffset, int lengthFieldLength) { + super(maxFrameLength, lengthFieldOffset, lengthFieldLength); + } + + /** + * Creates a new instance. + * + * @param maxFrameLength the maximum length of the frame. If the length of the frame is + * greater than this value, {@link TooLongFrameException} will be + * thrown. + * @param lengthFieldOffset the offset of the length field + * @param lengthFieldLength the length of the length field + * @param lengthAdjustment the compensation value to add to the value of the length field + * @param initialBytesToStrip the number of first bytes to strip out from the decoded frame + */ + public NettyProxyMsgDecoder(int maxFrameLength, int lengthFieldOffset, int lengthFieldLength, int lengthAdjustment, int initialBytesToStrip) { + super(maxFrameLength, lengthFieldOffset, lengthFieldLength, lengthAdjustment, initialBytesToStrip); + } + + /** + * Creates a new instance. + * + * @param maxFrameLength the maximum length of the frame. If the length of the frame is + * greater than this value, {@link TooLongFrameException} will be + * thrown. + * @param lengthFieldOffset the offset of the length field + * @param lengthFieldLength the length of the length field + * @param lengthAdjustment the compensation value to add to the value of the length field + * @param initialBytesToStrip the number of first bytes to strip out from the decoded frame + * @param failFast If true, a {@link TooLongFrameException} is thrown as + * soon as the decoder notices the length of the frame will exceed + * maxFrameLength regardless of whether the entire frame + * has been read. If false, a {@link TooLongFrameException} + * is thrown after the entire frame that exceeds maxFrameLength + * has been read. + */ + public NettyProxyMsgDecoder(int maxFrameLength, int lengthFieldOffset, int lengthFieldLength, int lengthAdjustment, int initialBytesToStrip, boolean failFast) { + super(maxFrameLength, lengthFieldOffset, lengthFieldLength, lengthAdjustment, initialBytesToStrip, failFast); + } + + /** + * Creates a new instance. + * + * @param byteOrder the {@link ByteOrder} of the length field + * @param maxFrameLength the maximum length of the frame. If the length of the frame is + * greater than this value, {@link TooLongFrameException} will be + * thrown. + * @param lengthFieldOffset the offset of the length field + * @param lengthFieldLength the length of the length field + * @param lengthAdjustment the compensation value to add to the value of the length field + * @param initialBytesToStrip the number of first bytes to strip out from the decoded frame + * @param failFast If true, a {@link TooLongFrameException} is thrown as + * soon as the decoder notices the length of the frame will exceed + * maxFrameLength regardless of whether the entire frame + * has been read. If false, a {@link TooLongFrameException} + * is thrown after the entire frame that exceeds maxFrameLength + * has been read. + */ + public NettyProxyMsgDecoder(ByteOrder byteOrder, int maxFrameLength, int lengthFieldOffset, int lengthFieldLength, int lengthAdjustment, int initialBytesToStrip, boolean failFast) { + super(byteOrder, maxFrameLength, lengthFieldOffset, lengthFieldLength, lengthAdjustment, initialBytesToStrip, failFast); + } + + /** + * Create a frame out of the {@link ByteBuf} and return it. + * + * @param ctx the {@link ChannelHandlerContext} which this {@link ByteToMessageDecoder} belongs to + * @param in2 the {@link ByteBuf} from which to read data + * @return frame the {@link ByteBuf} which represent the frame or {@code null} if no frame could + * be created. + */ + @Override + protected NettyProxyMsg decode(ChannelHandlerContext ctx, ByteBuf in2) throws Exception { + // 解码顺序 body 长度 type 1 clientId 4 clientTargetIp 4 clientTargetPort 4 visitorPort 4 visitorId 4 data 4 + ByteBuf in = (ByteBuf) super.decode(ctx, in2); + if (in == null) { + return null; + } + + if (in.readableBytes() < 4) { + return null; + } + + NettyProxyMsg nettyProxyMsg = new NettyProxyMsg(); + int bodyLength = in.readInt(); + byte type = in.readByte(); + nettyProxyMsg.setType(type); + + int clientIdLength = in.readInt(); + byte[] clientIdBytes = new byte[clientIdLength]; + in.readBytes(clientIdBytes); + nettyProxyMsg.setClientId(clientIdBytes); + + int clientTargetIpLength = in.readInt(); + byte[] clientTargetIpBytes = new byte[clientTargetIpLength]; + in.readBytes(clientTargetIpBytes); + nettyProxyMsg.setClientTargetIp(clientTargetIpBytes); + + + int clientTargetPortLength = in.readInt(); + byte[] clientTargetPortBytes = new byte[clientTargetPortLength]; + in.readBytes(clientTargetPortBytes); + nettyProxyMsg.setClientTargetPort(clientTargetPortBytes); + + int visitorPortLength = in.readInt(); + byte[] visitorPortBytes = new byte[visitorPortLength]; + in.readBytes(visitorPortBytes); + nettyProxyMsg.setVisitorPort(visitorPortBytes); + + + int visitorIdLength = in.readInt(); + byte[] visitorIdBytes = new byte[visitorIdLength]; + in.readBytes(visitorIdBytes); + nettyProxyMsg.setVisitorId(visitorIdBytes); + + byte[] data = new byte[bodyLength - NettyProxyMsg.bodyLength - + clientIdLength - + clientTargetIpLength - + clientTargetPortLength - + visitorPortLength - + visitorIdLength]; + in.readBytes(data); + nettyProxyMsg.setData(data); + in.release(); + + return nettyProxyMsg; + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/encoder/NettMsgEncoder.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/encoder/NettMsgEncoder.java new file mode 100644 index 00000000..cefa30f0 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/encoder/NettMsgEncoder.java @@ -0,0 +1,49 @@ +package org.framework.smart.agent.network.heartbeat.common.encoder; + +import io.netty.buffer.ByteBuf; +import io.netty.channel.ChannelHandlerContext; +import io.netty.handler.codec.MessageToByteEncoder; +import org.framework.smart.agent.network.heartbeat.common.NettyMsg; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; + +/** + * @see NettyProxyMsg + * NettyProxyMsg 对象编码 + */ +@Deprecated +public class NettMsgEncoder extends MessageToByteEncoder { + + public NettMsgEncoder() { + + } + + @Override + protected void encode(ChannelHandlerContext ctx, NettyMsg nettyMsg, ByteBuf out) throws Exception { + // type 1 data 4 clientId 4 + int bodyLength = NettyMsg.bodyLength; + byte[] clientIdBytes = nettyMsg.getClientId(); + + if (nettyMsg.getData() != null) { + bodyLength += nettyMsg.getData().length; + } + if (nettyMsg.getClientId() != null) { + bodyLength += nettyMsg.getClientId().length; + } + + out.writeInt(bodyLength); + + out.writeByte(nettyMsg.getType()); + // 客户端ID + // 防止数据读错位置 + if (clientIdBytes != null) { + out.writeInt(clientIdBytes.length); + out.writeBytes(clientIdBytes); + } else { + // 防止客户端ID未填写 + out.writeInt(0x00); + } + if (nettyMsg.getData() != null) { + out.writeBytes(nettyMsg.getData()); + } + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/encoder/NettyProxyMsgEncoder.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/encoder/NettyProxyMsgEncoder.java new file mode 100644 index 00000000..be301ffd --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/encoder/NettyProxyMsgEncoder.java @@ -0,0 +1,106 @@ +package org.framework.smart.agent.network.heartbeat.common.encoder; + +import io.netty.buffer.ByteBuf; +import io.netty.channel.ChannelHandlerContext; +import io.netty.handler.codec.MessageToByteEncoder; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; + +/** + * @see NettyProxyMsg + * NettyProxyMsg 编码 + */ +public class NettyProxyMsgEncoder extends MessageToByteEncoder { + /** + * Encode a message into a {@link ByteBuf}. This method will be called for each written message that can be handled + * by this encoder. + * + * @param ctx the {@link ChannelHandlerContext} which this {@link MessageToByteEncoder} belongs to + * @param msg the message to encode + * @param out the {@link ByteBuf} into which the encoded message will be written + */ + @Override + protected void encode(ChannelHandlerContext ctx, NettyProxyMsg msg, ByteBuf out) { + // body 长度 type 1 clientId 4 clientTargetIp 4 clientTargetPort 4 visitorPort 4 visitorId 4 data 4 + int bodyLength = NettyProxyMsg.bodyLength; + byte typeBytes = msg.getType(); + byte[] clientIdBytes = msg.getClientId(); + byte[] clientTargetIpBytes = msg.getClientTargetIp(); + byte[] clientTargetPortBytes = msg.getClientTargetPort(); + byte[] visitorPortBytes = msg.getVisitorPort(); + byte[] visitorIdBytes = msg.getVisitorId(); + byte[] msgDataBytes = msg.getData(); + + + if (clientIdBytes != null) { + bodyLength += clientIdBytes.length; + } + if (clientTargetIpBytes != null) { + bodyLength += clientTargetIpBytes.length; + } + if (clientTargetPortBytes != null) { + bodyLength += clientTargetPortBytes.length; + } + if (visitorPortBytes != null) { + bodyLength += visitorPortBytes.length; + } + if (visitorIdBytes != null) { + bodyLength += visitorIdBytes.length; + } + + if (msgDataBytes != null) { + bodyLength += msgDataBytes.length; + } + + out.writeInt(bodyLength); + + out.writeByte(typeBytes); + + // 防止数据读错位置 clientId + if (clientIdBytes != null) { + out.writeInt(clientIdBytes.length); + out.writeBytes(clientIdBytes); + } else { + // 防止客户端id 未填写 + out.writeInt(0x00); + } + + + // 防止数据读错位置 clientTargetIp + if (clientTargetIpBytes != null) { + out.writeInt(clientTargetIpBytes.length); + out.writeBytes(clientTargetIpBytes); + } else { + // 防止客户端 目标IP未填写 + out.writeInt(0x00); + } + + // clientTargetPort + if (clientTargetPortBytes != null) { + out.writeInt(clientTargetPortBytes.length); + out.writeBytes(clientTargetPortBytes); + } else { + // 防止客户端目标端口未填写 + out.writeInt(0x00); + } + + // visitorPort + if (visitorPortBytes != null) { + out.writeInt(visitorPortBytes.length); + out.writeBytes(visitorPortBytes); + } else { + // 防止客户端 访客端口未填写 + out.writeInt(0x00); + } + + if (visitorIdBytes != null) { + out.writeInt(visitorIdBytes.length); + out.writeBytes(visitorIdBytes); + } else { + // 防止客户端 访客ID未填写 + out.writeInt(0x00); + } + if (msgDataBytes != null) { + out.writeBytes(msgDataBytes); + } + } +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/ChannelFlowEnum.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/ChannelFlowEnum.java new file mode 100644 index 00000000..120c2817 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/ChannelFlowEnum.java @@ -0,0 +1,17 @@ +package org.framework.smart.agent.network.heartbeat.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 通道流量类型 + */ +@Getter +@AllArgsConstructor +public enum ChannelFlowEnum { + + // 出口流量 + OUT_FLOW, + // 进口流量 + IN_FLOW +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/MessageTypeEnums.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/MessageTypeEnums.java new file mode 100644 index 00000000..8e81f5ab --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/MessageTypeEnums.java @@ -0,0 +1,113 @@ +package org.framework.smart.agent.network.heartbeat.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelHeartbeatTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.client.*; +import org.framework.smart.agent.network.heartbeat.common.advanced.server.*; + +/** + * @see MessageType + */ +@Getter +@AllArgsConstructor +public enum MessageTypeEnums { + /** + * @see AbstractHandleChannelHeartbeatTypeAdvanced + */ + TYPE_HEARTBEAT(MessageType.TYPE_HEARTBEAT, "心跳"), + /** + * @see AbstractHandleClientConnectSuccessTypeAdvanced + */ + REPORT_CLIENT_CONNECT_SUCCESS(MessageType.REPORT_CLIENT_CONNECT_SUCCESS, "上报 客户端连接成功"), + /** + * @see AbstractHandleReportDisconnectTypeAdvanced + */ + REPORT_CLIENT_DISCONNECTION(MessageType.REPORT_CLIENT_DISCONNECTION, "上报 客户端断开连接"), + /** + * @see AbstractHandleReportStagingOpenedTypeAdvanced + */ + REPORT_CLIENT_STAGING_OPENED(MessageType.REPORT_CLIENT_STAGING_OPENED, "上报 客户端暂存开启"), + /** + * @see AbstractHandleReportStagingClosedTypeAdvanced + */ + REPORT_CLIENT_STAGING_CLOSED(MessageType.REPORT_CLIENT_STAGING_CLOSED, "上报 客户端暂存关闭"), + /** + * @see AbstractHandleReportHandleChannelTransferTypeAdvanced + */ + + REPORT_CLIENT_TRANSFER(MessageType.REPORT_CLIENT_TRANSFER, "上报 客户端数据传输(内网穿透数据回传)"), + /** + * @see AbstractHandleReportSingleClientRealConnectTypeAdvanced + */ + REPORT_SINGLE_CLIENT_REAL_CONNECT(MessageType.REPORT_SINGLE_CLIENT_REAL_CONNECT, "上报 客户端创建需要代理的真实端口成功"), + /** + * @see AbstractHandleReportSingleClientCloseVisitorTypeAdvanced + */ + REPORT_SINGLE_CLIENT_CLOSE_VISITOR(MessageType.REPORT_SINGLE_CLIENT_CLOSE_VISITOR, "上报 客户端关闭一个访客通道"), + /** + * @see AbstractHandleReportSingleClientMessage2OtherClientTypeAdvanced + */ + REPORT_SINGLE_CLIENT_MESSAGE(MessageType.REPORT_SINGLE_CLIENT_MESSAGE, "上报 客户端消息到另一个客户端"), + /** + * @see AbstractHandleServerChannelActiveTypeAdvanced + */ + SERVER_CHANNEL_ACTIVE(MessageType.SERVER_CHANNEL_ACTIVE, "服务端通道 is active"), + /** + * @see AbstractHandleReportClusterNodeRegisterTypeAdvanced + */ + REPORT_CLUSTER_NODE_REGISTER_MESSAGE(MessageType.REPORT_CLUSTER_NODE_REGISTER_MESSAGE, "上报 集群注册"), + /** + * @see AbstractHandleDistributeConnectSuccessNotificationTypeAdvancedHandle + */ + + DISTRIBUTE_CLIENT_CONNECTION_SUCCESS_NOTIFICATION(MessageType.DISTRIBUTE_CLIENT_CONNECTION_SUCCESS_NOTIFICATION, "下发 客户端接收连接成功通知"), + + + /** + * @see AbstractHandleDistributeDisconnectTypeAdvancedHandle + */ + DISTRIBUTE_CLIENT_DISCONNECTION_NOTIFICATION(MessageType.DISTRIBUTE_CLIENT_DISCONNECTION_NOTIFICATION, "下发 客户端断开连接通知"), + /** + * @see AbstractHandleDistributeStagingOpenedTypeAdvanced + */ + DISTRIBUTE_CLIENT_STAGING_OPENED_NOTIFICATION(MessageType.DISTRIBUTE_CLIENT_STAGING_OPENED_NOTIFICATION, "下发 客户端暂存开启通知"), + /** + * @see AbstractHandleDistributeStagingClosedTypeAdvanced + */ + DISTRIBUTE_CLIENT_STAGING_CLOSED_NOTIFICATION(MessageType.DISTRIBUTE_CLIENT_STAGING_CLOSED_NOTIFICATION, "下发 客户端暂存关闭通知"), + /** + * @see AbstractHandleDistributeChannelTransferTypeAdvanced + */ + DISTRIBUTE_CLIENT_TRANSFER(MessageType.DISTRIBUTE_CLIENT_TRANSFER, "下发 客户端数据传输(内网穿透数据发送)"), + /** + * @see AbstractHandleDistributeSingleClientRealConnectTypeAdvanced + */ + DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT(MessageType.DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT, "下发 客户端创建需要代理的真实端口"), + /** + * @see AbstractHandleDistributeSingleClientRealAutoReadConnectTypeAdvanced + */ + DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT_AUTO_READ(MessageType.DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT_AUTO_READ, "下发 客户端代理的真实端口自动读写"), + /** + * @see AbstractHandleDistributeSingleClientRealCloseVisitorTypeAdvanced + */ + DISTRIBUTE_SINGLE_CLIENT_REAL_CLOSE_VISITOR(MessageType.DISTRIBUTE_SINGLE_CLIENT_REAL_CLOSE_VISITOR, "下发 客户端关闭代理服务通道"), + /** + * @see AbstractHandleDistributeSingleClientMessageTypeAdvanced + */ + DISTRIBUTE_SINGLE_CLIENT_MESSAGE(MessageType.DISTRIBUTE_SINGLE_CLIENT_MESSAGE, "下发 客户端消息"), + /** + * @see AbstractHandleClientChannelActiveAdvanced + */ + CLIENT_CHANNEL_ACTIVE(MessageType.CLIENT_CHANNEL_ACTIVE, "客户端通道 is active"), + /** + * @see AbstractHandleDistributeClusterNodeRegisterTypeAdvanced + */ + DISTRIBUTE_CLUSTER_NODE_REGISTER_MESSAGE(MessageType.DISTRIBUTE_CLUSTER_NODE_REGISTER_MESSAGE, "下发 集群注册"), + + ; + + private final byte typeByte; + private final String desc; +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/NetWorkMode.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/NetWorkMode.java new file mode 100644 index 00000000..a6a5fb0d --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/NetWorkMode.java @@ -0,0 +1,16 @@ +package org.framework.smart.agent.network.heartbeat.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 内网穿透模式 + */ +@Getter +@AllArgsConstructor +public enum NetWorkMode { + // 集群 + CLUSTER, + // 单机 + STANDALONE +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/NettyClientStatus.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/NettyClientStatus.java new file mode 100644 index 00000000..e9be7e3d --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/enums/NettyClientStatus.java @@ -0,0 +1,18 @@ +package org.framework.smart.agent.network.heartbeat.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * netty客户端 状态 + */ +@AllArgsConstructor +@Getter +public enum NettyClientStatus { + + ON_LINE("在线"), + RUNNING("运行中"), + OFF_LINE("离线"); + + private final String desc; +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/state/ClientOnLineState.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/state/ClientOnLineState.java new file mode 100644 index 00000000..7d2f5618 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/state/ClientOnLineState.java @@ -0,0 +1,18 @@ +package org.framework.smart.agent.network.heartbeat.common.state; + +import lombok.Data; + +/** + * 客户端在线状态 + */ +@Data +public class ClientOnLineState { + /** + * 客户端ID + */ + private String clientId; + /** + * 在线状态 + */ + private String onLineState; +} diff --git a/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/utils/ChannelAttributeKeyUtils.java b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/utils/ChannelAttributeKeyUtils.java new file mode 100644 index 00000000..abe04790 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-common/src/main/java/org/framework/smart/agent/network/heartbeat/common/utils/ChannelAttributeKeyUtils.java @@ -0,0 +1,134 @@ +package org.framework.smart.agent.network.heartbeat.common.utils; + +import io.netty.channel.Channel; +import io.netty.util.AttributeKey; + +/** + * 通道属性绑定工具 + */ +public class ChannelAttributeKeyUtils { + + private static final AttributeKey VISITOR_ID = AttributeKey.newInstance("visitorId"); + private static final AttributeKey VISITOR_PORT = AttributeKey.newInstance("visitorPort"); + private static final AttributeKey CLIENT_ID = AttributeKey.newInstance("clientId"); + private static final AttributeKey OUT_FLOW = AttributeKey.newInstance("outFlow"); + private static final AttributeKey IN_FLOW = AttributeKey.newInstance("inFlow"); + + + /** + * 为通道绑定 访客属性 + * + * @param channel 通道 + * @param visitorId 访客ID + */ + public static void buildVisitorId(Channel channel, byte[] visitorId) { + channel.attr(VISITOR_ID).set(new String(visitorId)); + } + + /** + * 为通道绑定 访客属性 + * + * @param channel 通道 + * @param visitorId 访客ID + */ + public static void buildVisitorId(Channel channel, String visitorId) { + channel.attr(VISITOR_ID).set(visitorId); + } + + /** + * 获取 通道中访客ID + * + * @param channel 通道 + */ + public static String getVisitorId(Channel channel) { + return channel.attr(VISITOR_ID).get(); + } + + + /** + * 为通道绑定 访客属性 + * + * @param channel 通道 + * @param clientId 客户端ID + */ + public static void buildClientId(Channel channel, byte[] clientId) { + channel.attr(CLIENT_ID).set(new String(clientId)); + } + + /** + * 为通道绑定 访客属性 + * + * @param channel 通道 + * @param clientId 客户端ID + */ + public static void buildClientId(Channel channel, String clientId) { + channel.attr(CLIENT_ID).set(clientId); + } + + /** + * 获取 通道中访客ID + * + * @param channel 通道 + */ + public static String getClientId(Channel channel) { + return channel.attr(CLIENT_ID).get(); + } + + + /** + * 为通道绑定 出口流量 + * + * @param channel 通道 + * @param outFlow 出口流量 + */ + public static void buildOutFlow(Channel channel, Integer outFlow) { + channel.attr(OUT_FLOW).set(outFlow); + } + + /** + * 获取 通道中出口流量 + * + * @param channel 通道 + */ + public static Integer getOutFlow(Channel channel) { + return channel.attr(OUT_FLOW).get(); + } + + /** + * 为通道绑定 进口流量 + * + * @param channel 通道 + * @param inFlow 进口流量 + */ + public static void buildInFlow(Channel channel, Integer inFlow) { + channel.attr(IN_FLOW).set(inFlow); + } + + /** + * 获取 通道中进口流量 + * + * @param channel 通道 + */ + public static Integer getInFlow(Channel channel) { + return channel.attr(IN_FLOW).get(); + } + + /** + * 为通道绑定 通道中访客端口 + * + * @param channel 通道 + * @param visitorPort 进口流量 + */ + public static void buildVisitorPort(Channel channel, Integer visitorPort) { + channel.attr(VISITOR_PORT).set(visitorPort); + } + + /** + * 获取 通道中访客端口 + * + * @param channel 通道 + */ + public static Integer getVisitorPort(Channel channel) { + return channel.attr(VISITOR_PORT).get(); + } +} diff --git a/wu-smart-agent-network-heartbeat-server-cluster/README.md b/wu-smart-agent-network-heartbeat-server-cluster/README.md new file mode 100644 index 00000000..e69de29b diff --git a/wu-smart-agent-network-heartbeat-server-cluster/pom.xml b/wu-smart-agent-network-heartbeat-server-cluster/pom.xml new file mode 100644 index 00000000..baf2a240 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server-cluster/pom.xml @@ -0,0 +1,35 @@ + + + + top.wu2020 + wu-smart-agent-network + 1.2.6-JDK17-SNAPSHOT + + 4.0.0 + + wu-smart-agent-network-heartbeat-server-cluster + 云上心跳服务端集群 + + + 17 + 17 + + + + + + top.wu2020 + wu-smart-agent-network-heartbeat-server + + + + top.wu2020 + wu-smart-agent-network-heartbeat-client + + + + + + \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/pom.xml b/wu-smart-agent-network-heartbeat-server/pom.xml new file mode 100644 index 00000000..4bc5ecc7 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/pom.xml @@ -0,0 +1,84 @@ + + + + top.wu2020 + wu-smart-agent-network + 1.2.6-JDK17-SNAPSHOT + + + 4.0.0 + + wu-smart-agent-network-heartbeat-server + 云上心跳服务端 + + + 17 + 17 + + + + + top.wu2020 + wu-framework-web + + + + top.wu2020 + wu-smart-agent-network-heartbeat-common + + + + mysql + mysql-connector-java + 8.0.33 + + + + top.wu2020 + wu-database-lazy-plus-starter + + + + top.wu2020 + wu-authorization-server-platform-starter + + + + top.wu2020 + wu-jvm-server-platform-starter + + + com.alibaba + fastjson + 2.0.50 + + + io.swagger.core.v3 + swagger-annotations-jakarta + 2.2.21 + + + top.wu2020 + wu-framework-lazy-orm-spring-starter + + + top.wu2020 + wu-log-server-platform-starter + + + + top.wu2020 + wu-smart-agent-network-heartbeat-client + + + + + maven_central + Maven Central + https://repo.maven.apache.org/maven2/ + + + + \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/EnableHeartbeatServerAutoConfiguration.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/EnableHeartbeatServerAutoConfiguration.java new file mode 100644 index 00000000..264fc3cd --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/EnableHeartbeatServerAutoConfiguration.java @@ -0,0 +1,12 @@ +package org.framework.smart.agent.network.heartbeat.server; + +import org.wu.framework.lazy.orm.core.stereotype.LazyScan; +import org.springframework.context.annotation.ComponentScan; + +@LazyScan(scanBasePackages = { + "org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity", + "org.framework.smart.agent.network.heartbeat.server.cluster.infrastructure.entity" +}) +@ComponentScan(basePackages = "org.framework.smart.agent.network.heartbeat.server") +public class EnableHeartbeatServerAutoConfiguration { +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/EnableHeartbeatServerClusterAutoConfiguration.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/EnableHeartbeatServerClusterAutoConfiguration.java new file mode 100644 index 00000000..330d7bc8 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/EnableHeartbeatServerClusterAutoConfiguration.java @@ -0,0 +1,8 @@ +package org.framework.smart.agent.network.heartbeat.server; + +import org.springframework.context.annotation.ComponentScan; + + +@ComponentScan(basePackages = {"org.framework.smart.agent.network.heartbeat.server.cluster"}) +public class EnableHeartbeatServerClusterAutoConfiguration { +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/LazyNettyClusterNodeApplication.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/LazyNettyClusterNodeApplication.java new file mode 100644 index 00000000..b3882d40 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/LazyNettyClusterNodeApplication.java @@ -0,0 +1,128 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.application; + +import org.framework.smart.agent.network.heartbeat.server.cluster.domain.model.cluster.node.LazyNettyClusterNode; +import org.wu.framework.web.response.Result; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeRemoveCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeStoryCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeUpdateCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeQueryListCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeQueryOneCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.dto.LazyNettyClusterNodeDTO; + +import java.util.List; + +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; + +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication + **/ + +public interface LazyNettyClusterNodeApplication { + + + /** + * describe 新增集群配置信息 + * + * @param lazyNettyClusterNodeStoryCommand 新增集群配置信息 + * @return {@link Result< LazyNettyClusterNode >} 集群配置信息新增后领域对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result story(LazyNettyClusterNodeStoryCommand lazyNettyClusterNodeStoryCommand); + + /** + * describe 批量新增集群配置信息 + * + * @param lazyNettyClusterNodeStoryCommandList 批量新增集群配置信息 + * @return {@link Result>} 集群配置信息新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result> batchStory(List lazyNettyClusterNodeStoryCommandList); + + /** + * describe 更新集群配置信息 + * + * @param lazyNettyClusterNodeUpdateCommand 更新集群配置信息 + * @return {@link Result} 集群配置信息领域对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result updateOne(LazyNettyClusterNodeUpdateCommand lazyNettyClusterNodeUpdateCommand); + + /** + * describe 查询单个集群配置信息 + * + * @param lazyNettyClusterNodeQueryOneCommand 查询单个集群配置信息 + * @return {@link Result} 集群配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result findOne(LazyNettyClusterNodeQueryOneCommand lazyNettyClusterNodeQueryOneCommand); + + /** + * describe 查询多个集群配置信息 + * + * @param lazyNettyClusterNodeQueryListCommand 查询多个集群配置信息 + * @return {@link Result >} 集群配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result> findList(LazyNettyClusterNodeQueryListCommand lazyNettyClusterNodeQueryListCommand); + + /** + * describe 分页查询多个集群配置信息 + * + * @param lazyNettyClusterNodeQueryListCommand 分页查询多个集群配置信息 + * @return {@link Result >} 分页集群配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result> findPage(int size, int current, LazyNettyClusterNodeQueryListCommand lazyNettyClusterNodeQueryListCommand); + + /** + * describe 删除集群配置信息 + * + * @param lazyNettyClusterNodeRemoveCommand 删除集群配置信息 + * @return {@link Result} 集群配置信息 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result remove(LazyNettyClusterNodeRemoveCommand lazyNettyClusterNodeRemoveCommand); + + /** + * 启动 集群节点 + * + * @param lazyNettyClusterNode 配置 + */ + void starterOneClusterNode(LazyNettyClusterNode lazyNettyClusterNode); + + /** + * 启动集群所有节点 + */ + void starterClusterNodes(); + + /** + * 关闭 集群节点 + * + * @param needCloseLazyNettyClusterNode 配置 + */ + void destroyOneClusterNode(LazyNettyClusterNode needCloseLazyNettyClusterNode); + + /** + * 关闭 集群上所有节点 + */ + void destroyClusterNodes(); + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/assembler/LazyNettyClusterNodeDTOAssembler.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/assembler/LazyNettyClusterNodeDTOAssembler.java new file mode 100644 index 00000000..16f50aed --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/assembler/LazyNettyClusterNodeDTOAssembler.java @@ -0,0 +1,93 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.application.assembler; + +import org.framework.smart.agent.network.heartbeat.server.cluster.domain.model.cluster.node.LazyNettyClusterNode; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeRemoveCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeStoryCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeUpdateCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeQueryListCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeQueryOneCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.dto.LazyNettyClusterNodeDTO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler + **/ +@Mapper +public interface LazyNettyClusterNodeDTOAssembler { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + LazyNettyClusterNodeDTOAssembler INSTANCE = Mappers.getMapper(LazyNettyClusterNodeDTOAssembler.class); + /** + * describe 应用层存储入参转换成 领域对象 + * + * @param lazyNettyClusterNodeStoryCommand 保存集群配置信息对象 + * @return {@link LazyNettyClusterNode} 集群配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + LazyNettyClusterNode toLazyNettyClusterNode(LazyNettyClusterNodeStoryCommand lazyNettyClusterNodeStoryCommand); + /** + * describe 应用层更新入参转换成 领域对象 + * + * @param lazyNettyClusterNodeUpdateCommand 更新集群配置信息对象 + * @return {@link LazyNettyClusterNode} 集群配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + LazyNettyClusterNode toLazyNettyClusterNode(LazyNettyClusterNodeUpdateCommand lazyNettyClusterNodeUpdateCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyClusterNodeQueryOneCommand 查询单个集群配置信息对象参数 + * @return {@link LazyNettyClusterNode} 集群配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + LazyNettyClusterNode toLazyNettyClusterNode(LazyNettyClusterNodeQueryOneCommand lazyNettyClusterNodeQueryOneCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyClusterNodeQueryListCommand 查询集合集群配置信息对象参数 + * @return {@link LazyNettyClusterNode} 集群配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + LazyNettyClusterNode toLazyNettyClusterNode(LazyNettyClusterNodeQueryListCommand lazyNettyClusterNodeQueryListCommand); + /** + * describe 应用层删除入参转换成 领域对象 + * + * @param lazyNettyClusterNodeRemoveCommand 删除集群配置信息对象参数 + * @return {@link LazyNettyClusterNode} 集群配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + LazyNettyClusterNode toLazyNettyClusterNode(LazyNettyClusterNodeRemoveCommand lazyNettyClusterNodeRemoveCommand); + /** + * describe 持久层领域对象转换成DTO对象 + * + * @param lazyNettyClusterNode 集群配置信息领域对象 + * @return {@link LazyNettyClusterNodeDTO} 集群配置信息DTO对象 + + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + LazyNettyClusterNodeDTO fromLazyNettyClusterNode(LazyNettyClusterNode lazyNettyClusterNode); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeQueryListCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeQueryListCommand.java new file mode 100644 index 00000000..0a6d6938 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeQueryListCommand.java @@ -0,0 +1,78 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.lang.String; +import java.lang.Integer; +import java.time.LocalDateTime; +import java.lang.Boolean; +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryListCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_cluster_node_query_List_command",description = "集群配置信息") +public class LazyNettyClusterNodeQueryListCommand { + + + /** + * + * 集群节点host + */ + @Schema(description ="集群节点host",name ="clusterNodeHost",example = "") + private String clusterNodeHost; + + /** + * + * 集群节点ID + */ + @Schema(description ="集群节点ID",name ="clusterNodeId",example = "") + private String clusterNodeId; + + /** + * + * 集群节点端口 + */ + @Schema(description ="集群节点端口",name ="clusterNodePort",example = "") + private Integer clusterNodePort; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 角色 + */ + @Schema(description ="角色",name ="role",example = "") + private String role; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "clusterNodeStatus", example = "") + private NettyClientStatus clusterNodeStatus; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeQueryOneCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeQueryOneCommand.java new file mode 100644 index 00000000..831abe9f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeQueryOneCommand.java @@ -0,0 +1,79 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.lang.String; +import java.lang.Integer; +import java.time.LocalDateTime; +import java.lang.Boolean; +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryOneCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_cluster_node_query_one_command",description = "集群配置信息") +public class LazyNettyClusterNodeQueryOneCommand { + + + /** + * + * 集群节点host + */ + @Schema(description ="集群节点host",name ="clusterNodeHost",example = "") + private String clusterNodeHost; + + /** + * + * 集群节点ID + */ + @Schema(description ="集群节点ID",name ="clusterNodeId",example = "") + private String clusterNodeId; + + /** + * + * 集群节点端口 + */ + @Schema(description ="集群节点端口",name ="clusterNodePort",example = "") + private Integer clusterNodePort; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 角色 + */ + @Schema(description ="角色",name ="role",example = "") + private String role; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "clusterNodeStatus", example = "") + private NettyClientStatus clusterNodeStatus; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeRemoveCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeRemoveCommand.java new file mode 100644 index 00000000..01709091 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeRemoveCommand.java @@ -0,0 +1,79 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.lang.String; +import java.lang.Integer; +import java.time.LocalDateTime; +import java.lang.Boolean; +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_cluster_node_remove_command",description = "集群配置信息") +public class LazyNettyClusterNodeRemoveCommand { + + + /** + * + * 集群节点host + */ + @Schema(description ="集群节点host",name ="clusterNodeHost",example = "") + private String clusterNodeHost; + + /** + * + * 集群节点ID + */ + @Schema(description ="集群节点ID",name ="clusterNodeId",example = "") + private String clusterNodeId; + + /** + * + * 集群节点端口 + */ + @Schema(description ="集群节点端口",name ="clusterNodePort",example = "") + private Integer clusterNodePort; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 角色 + */ + @Schema(description ="角色",name ="role",example = "") + private String role; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "clusterNodeStatus", example = "") + private NettyClientStatus clusterNodeStatus; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeStoryCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeStoryCommand.java new file mode 100644 index 00000000..5a6bf37b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeStoryCommand.java @@ -0,0 +1,79 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.lang.String; +import java.lang.Integer; +import java.time.LocalDateTime; +import java.lang.Boolean; +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyStoryCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_cluster_node_story_command",description = "集群配置信息") +public class LazyNettyClusterNodeStoryCommand { + + + /** + * + * 集群节点host + */ + @Schema(description ="集群节点host",name ="clusterNodeHost",example = "") + private String clusterNodeHost; + + /** + * + * 集群节点ID + */ + @Schema(description ="集群节点ID",name ="clusterNodeId",example = "") + private String clusterNodeId; + + /** + * + * 集群节点端口 + */ + @Schema(description ="集群节点端口",name ="clusterNodePort",example = "") + private Integer clusterNodePort; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 角色 + */ + @Schema(description ="角色",name ="role",example = "") + private String role; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "clusterNodeStatus", example = "") + private NettyClientStatus clusterNodeStatus; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeUpdateCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeUpdateCommand.java new file mode 100644 index 00000000..d4505ec2 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/command/lazy/netty/cluster/node/LazyNettyClusterNodeUpdateCommand.java @@ -0,0 +1,79 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.lang.String; +import java.lang.Integer; +import java.time.LocalDateTime; +import java.lang.Boolean; +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyUpdateCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_cluster_node_update_command",description = "集群配置信息") +public class LazyNettyClusterNodeUpdateCommand { + + + /** + * + * 集群节点host + */ + @Schema(description ="集群节点host",name ="clusterNodeHost",example = "") + private String clusterNodeHost; + + /** + * + * 集群节点ID + */ + @Schema(description ="集群节点ID",name ="clusterNodeId",example = "") + private String clusterNodeId; + + /** + * + * 集群节点端口 + */ + @Schema(description ="集群节点端口",name ="clusterNodePort",example = "") + private Integer clusterNodePort; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 角色 + */ + @Schema(description ="角色",name ="role",example = "") + private String role; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "clusterNodeStatus", example = "") + private NettyClientStatus clusterNodeStatus; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/dto/LazyNettyClusterNodeDTO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/dto/LazyNettyClusterNodeDTO.java new file mode 100644 index 00000000..02008d42 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/dto/LazyNettyClusterNodeDTO.java @@ -0,0 +1,76 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.application.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.lang.String; +import java.lang.Integer; +import java.time.LocalDateTime; +import java.lang.Boolean; + +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_cluster_node_command_dto", description = "集群配置信息") +public class LazyNettyClusterNodeDTO { + + + /** + * 集群节点host + */ + @Schema(description = "集群节点host", name = "clusterNodeHost", example = "") + private String clusterNodeHost; + + /** + * 集群节点ID + */ + @Schema(description = "集群节点ID", name = "clusterNodeId", example = "") + private String clusterNodeId; + + /** + * 集群节点端口 + */ + @Schema(description = "集群节点端口", name = "clusterNodePort", example = "") + private Integer clusterNodePort; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 角色 + */ + @Schema(description = "角色", name = "role", example = "") + private String role; + + /** + * 更新时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "clusterNodeStatus", example = "") + private NettyClientStatus clusterNodeStatus; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/impl/LazyNettyClusterNodeApplicationImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/impl/LazyNettyClusterNodeApplicationImpl.java new file mode 100644 index 00000000..af76456e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/application/impl/LazyNettyClusterNodeApplicationImpl.java @@ -0,0 +1,272 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.application.impl; + +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.client.netty.event.ClientChangeEvent; +import org.framework.smart.agent.network.heartbeat.client.netty.socket.NettyClientSocket; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.server.cluster.domain.model.cluster.node.LazyNettyClusterNode; +import org.framework.smart.agent.network.heartbeat.server.properties.ServerNodeProperties; +import org.wu.framework.database.lazy.web.plus.stereotype.LazyApplication; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.LazyNettyClusterNodeApplication; +import org.wu.framework.web.response.Result; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeRemoveCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeStoryCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeUpdateCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeQueryListCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeQueryOneCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.assembler.LazyNettyClusterNodeDTOAssembler; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.dto.LazyNettyClusterNodeDTO; + +import java.util.Objects; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +import jakarta.annotation.Resource; +import org.framework.smart.agent.network.heartbeat.server.cluster.domain.model.cluster.node.LazyNettyClusterNodeRepository; + +import java.util.List; + +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; + +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplicationImpl + **/ +@Slf4j +@LazyApplication +public class LazyNettyClusterNodeApplicationImpl implements LazyNettyClusterNodeApplication { + + @Resource + LazyNettyClusterNodeRepository lazyNettyClusterNodeRepository; + + @Resource + ClientChangeEvent clientChangeEvent; + + @Resource + List handleChannelTypeAdvancedList; // 处理服务端发送过来的数据类型 + + @Resource + ServerNodeProperties serverNodeProperties; + + // 缓存连接集群 socket + private final ConcurrentHashMap cacheClusterNettyClientSocketMap = new ConcurrentHashMap<>(); + + public static final ThreadPoolExecutor NETTY_CLUSTER_CLIENT_EXECUTOR = + new ThreadPoolExecutor(20, 50, 200, TimeUnit.MILLISECONDS, + new ArrayBlockingQueue<>(1)); + + /** + * describe 新增集群配置信息 + * + * @param lazyNettyClusterNodeStoryCommand 新增集群配置信息 + * @return {@link Result} 集群配置信息新增后领域对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result story(LazyNettyClusterNodeStoryCommand lazyNettyClusterNodeStoryCommand) { + LazyNettyClusterNode lazyNettyClusterNode = LazyNettyClusterNodeDTOAssembler.INSTANCE.toLazyNettyClusterNode(lazyNettyClusterNodeStoryCommand); + return lazyNettyClusterNodeRepository.story(lazyNettyClusterNode); + } + + /** + * describe 批量新增集群配置信息 + * + * @param lazyNettyClusterNodeStoryCommandList 批量新增集群配置信息 + * @return {@link Result>} 集群配置信息新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result> batchStory(List lazyNettyClusterNodeStoryCommandList) { + List lazyNettyClusterNodeList = lazyNettyClusterNodeStoryCommandList.stream().map(LazyNettyClusterNodeDTOAssembler.INSTANCE::toLazyNettyClusterNode).collect(Collectors.toList()); + return lazyNettyClusterNodeRepository.batchStory(lazyNettyClusterNodeList); + } + + /** + * describe 更新集群配置信息 + * + * @param lazyNettyClusterNodeUpdateCommand 更新集群配置信息 + * @return {@link Result} 集群配置信息领域对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result updateOne(LazyNettyClusterNodeUpdateCommand lazyNettyClusterNodeUpdateCommand) { + LazyNettyClusterNode lazyNettyClusterNode = LazyNettyClusterNodeDTOAssembler.INSTANCE.toLazyNettyClusterNode(lazyNettyClusterNodeUpdateCommand); + return lazyNettyClusterNodeRepository.story(lazyNettyClusterNode); + } + + /** + * describe 查询单个集群配置信息 + * + * @param lazyNettyClusterNodeQueryOneCommand 查询单个集群配置信息 + * @return {@link Result} 集群配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result findOne(LazyNettyClusterNodeQueryOneCommand lazyNettyClusterNodeQueryOneCommand) { + LazyNettyClusterNode lazyNettyClusterNode = LazyNettyClusterNodeDTOAssembler.INSTANCE.toLazyNettyClusterNode(lazyNettyClusterNodeQueryOneCommand); + return lazyNettyClusterNodeRepository.findOne(lazyNettyClusterNode).convert(LazyNettyClusterNodeDTOAssembler.INSTANCE::fromLazyNettyClusterNode); + } + + /** + * describe 查询多个集群配置信息 + * + * @param lazyNettyClusterNodeQueryListCommand 查询多个集群配置信息 + * @return {@link Result>} 集群配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result> findList(LazyNettyClusterNodeQueryListCommand lazyNettyClusterNodeQueryListCommand) { + LazyNettyClusterNode lazyNettyClusterNode = LazyNettyClusterNodeDTOAssembler.INSTANCE.toLazyNettyClusterNode(lazyNettyClusterNodeQueryListCommand); + return lazyNettyClusterNodeRepository.findList(lazyNettyClusterNode).convert(lazyNettyClusterNodes -> lazyNettyClusterNodes.stream().map(LazyNettyClusterNodeDTOAssembler.INSTANCE::fromLazyNettyClusterNode).collect(Collectors.toList())); + } + + /** + * describe 分页查询多个集群配置信息 + * + * @param lazyNettyClusterNodeQueryListCommand 分页查询多个集群配置信息 + * @return {@link Result>} 分页集群配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyNettyClusterNodeQueryListCommand lazyNettyClusterNodeQueryListCommand) { + LazyNettyClusterNode lazyNettyClusterNode = LazyNettyClusterNodeDTOAssembler.INSTANCE.toLazyNettyClusterNode(lazyNettyClusterNodeQueryListCommand); + return lazyNettyClusterNodeRepository.findPage(size, current, lazyNettyClusterNode).convert(page -> page.convert(LazyNettyClusterNodeDTOAssembler.INSTANCE::fromLazyNettyClusterNode)); + } + + /** + * describe 删除集群配置信息 + * + * @param lazyNettyClusterNodeRemoveCommand 删除集群配置信息 + * @return {@link Result} 集群配置信息 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result remove(LazyNettyClusterNodeRemoveCommand lazyNettyClusterNodeRemoveCommand) { + LazyNettyClusterNode lazyNettyClusterNode = LazyNettyClusterNodeDTOAssembler.INSTANCE.toLazyNettyClusterNode(lazyNettyClusterNodeRemoveCommand); + return lazyNettyClusterNodeRepository.remove(lazyNettyClusterNode); + } + + /** + * 启动 集群节点 + * + * @param lazyNettyClusterNode 配置 + */ + @Override + public void starterOneClusterNode(LazyNettyClusterNode lazyNettyClusterNode) { + + String inetHost = lazyNettyClusterNode.getClusterNodeHost(); + Integer inetPort = lazyNettyClusterNode.getClusterNodePort(); + String clusterNodeId = lazyNettyClusterNode.getClusterNodeId(); + // 当前节点ID + String clusterNodeClientId = serverNodeProperties.getNodeId(); + + NettyClientSocket nettyClientSocket = new + NettyClientSocket(inetHost, inetPort, clusterNodeClientId, + clusterNodeId, + clientChangeEvent, handleChannelTypeAdvancedList); + // 过滤已经存在的 + boolean anyMatch = cacheClusterNettyClientSocketMap + .keySet().stream() + .anyMatch(cacheClusterLazyNettyClusterNode -> clusterNodeId.equals(cacheClusterLazyNettyClusterNode.getClusterNodeId())); + if (anyMatch) { + log.warn("当前节点注册:{} 已经存在", lazyNettyClusterNode); + return; + } + cacheClusterNettyClientSocketMap.put(lazyNettyClusterNode, nettyClientSocket); + + Thread thread = new Thread(() -> { + try { + nettyClientSocket.newConnect2Server(); + } catch (Exception e) { + throw new RuntimeException(e); + } + + }); + // 当前服务连接Netty客户端:{},Netty端口:{} + log.info("Current service connection Netty client: {}, Netty port: {}", inetHost, inetPort); + NETTY_CLUSTER_CLIENT_EXECUTOR.execute(thread); + + + } + + /** + * 启动集群所有节点 + */ + @Override + public void starterClusterNodes() { + // 查询所有配置 + LazyNettyClusterNode queryLazyNettyClusterNode = new LazyNettyClusterNode(); + queryLazyNettyClusterNode.setIsDeleted(false); + + lazyNettyClusterNodeRepository.findList(queryLazyNettyClusterNode).accept(lazyNettyClusterNodeList -> { + + for (LazyNettyClusterNode lazyNettyClusterNode : lazyNettyClusterNodeList) { + starterOneClusterNode(lazyNettyClusterNode); + } + }); + + } + + /** + * 关闭 集群节点 + * + * @param needCloseLazyNettyClusterNode 配置 + */ + @Override + public void destroyOneClusterNode(LazyNettyClusterNode needCloseLazyNettyClusterNode) { + // 当前节点ID + String clusterNodeId = serverNodeProperties.getNodeId(); + // 关闭指定socket + cacheClusterNettyClientSocketMap.forEach(((lazyNettyClusterNode, nettyClientSocket) -> { + String inetHost = lazyNettyClusterNode.getClusterNodeHost(); + Integer inetPort = lazyNettyClusterNode.getClusterNodePort(); + String needCloseInetHost = needCloseLazyNettyClusterNode.getClusterNodeHost(); + Integer needCloseInetPort = needCloseLazyNettyClusterNode.getClusterNodePort(); + String needCloseClientId = needCloseLazyNettyClusterNode.getClusterNodeId(); + if (Objects.equals(clusterNodeId, needCloseClientId) + && Objects.equals(inetPort, needCloseInetPort) + && Objects.equals(inetHost, needCloseInetHost)) { + nettyClientSocket.shutdown(); + // 关闭客户端:{}与服务端连接:{}:{} + log.warn("Close client: {} Connect to server: {}: {}", clusterNodeId, inetHost, inetPort); + } + })); + } + + /** + * 关闭 集群上所有节点 + */ + @Override + public void destroyClusterNodes() { + // 关闭socket + cacheClusterNettyClientSocketMap.forEach(((lazyNettyClusterNode, nettyClientSocket) -> { + nettyClientSocket.shutdown(); + String clientId = lazyNettyClusterNode.getClusterNodeId(); + String inetHost = lazyNettyClusterNode.getClusterNodeHost(); + Integer inetPort = lazyNettyClusterNode.getClusterNodePort(); + // 关闭客户端:{}与服务端连接:{}:{} + log.warn("Close client: {} Connect to server: {}: {}", clientId, inetHost, inetPort); + })); + } + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/controller/LazyNettyClusterNodeProvider.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/controller/LazyNettyClusterNodeProvider.java new file mode 100644 index 00000000..422830f3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/controller/LazyNettyClusterNodeProvider.java @@ -0,0 +1,142 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import org.wu.framework.web.spring.EasyController; +import org.springframework.web.bind.annotation.*; +import org.wu.framework.web.response.Result; +import jakarta.annotation.Resource; +import org.framework.smart.agent.network.heartbeat.server.cluster.domain.model.cluster.node.LazyNettyClusterNode; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeRemoveCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeStoryCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeUpdateCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeQueryListCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.command.lazy.netty.cluster.node.LazyNettyClusterNodeQueryOneCommand; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.LazyNettyClusterNodeApplication; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.dto.LazyNettyClusterNodeDTO; + +import java.util.List; + +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; + +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyController + **/ +@Tag(name = "集群配置信息提供者") +@EasyController("/lazy/netty/cluster/node") +public class LazyNettyClusterNodeProvider { + + @Resource + private LazyNettyClusterNodeApplication lazyNettyClusterNodeApplication; + + /** + * describe 新增集群配置信息 + * + * @param lazyNettyClusterNodeStoryCommand 新增集群配置信息 + * @return {@link Result} 集群配置信息新增后领域对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Operation(summary = "新增集群配置信息") + @PostMapping("/story") + public Result story(@RequestBody LazyNettyClusterNodeStoryCommand lazyNettyClusterNodeStoryCommand) { + return lazyNettyClusterNodeApplication.story(lazyNettyClusterNodeStoryCommand); + } + + /** + * describe 批量新增集群配置信息 + * + * @param lazyNettyClusterNodeStoryCommandList 批量新增集群配置信息 + * @return {@link Result>} 集群配置信息新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Operation(summary = "批量新增集群配置信息") + @PostMapping("/batchStory") + public Result> batchStory(@RequestBody List lazyNettyClusterNodeStoryCommandList) { + return lazyNettyClusterNodeApplication.batchStory(lazyNettyClusterNodeStoryCommandList); + } + + /** + * describe 更新集群配置信息 + * + * @param lazyNettyClusterNodeUpdateCommand 更新集群配置信息 + * @return {@link Result} 集群配置信息领域对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Operation(summary = "更新集群配置信息") + @PutMapping("/updateOne") + public Result updateOne(@RequestBody LazyNettyClusterNodeUpdateCommand lazyNettyClusterNodeUpdateCommand) { + return lazyNettyClusterNodeApplication.updateOne(lazyNettyClusterNodeUpdateCommand); + } + + /** + * describe 查询单个集群配置信息 + * + * @param lazyNettyClusterNodeQueryOneCommand 查询单个集群配置信息 + * @return {@link Result} 集群配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Operation(summary = "查询单个集群配置信息") + @GetMapping("/findOne") + public Result findOne(@ModelAttribute LazyNettyClusterNodeQueryOneCommand lazyNettyClusterNodeQueryOneCommand) { + return lazyNettyClusterNodeApplication.findOne(lazyNettyClusterNodeQueryOneCommand); + } + + /** + * describe 查询多个集群配置信息 + * + * @param lazyNettyClusterNodeQueryListCommand 查询多个集群配置信息 + * @return {@link Result>} 集群配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Operation(summary = "查询多个集群配置信息") + @GetMapping("/findList") + public Result> findList(@ModelAttribute LazyNettyClusterNodeQueryListCommand lazyNettyClusterNodeQueryListCommand) { + return lazyNettyClusterNodeApplication.findList(lazyNettyClusterNodeQueryListCommand); + } + + /** + * describe 分页查询多个集群配置信息 + * + * @param lazyNettyClusterNodeQueryListCommand 分页查询多个集群配置信息 + * @return {@link Result>} 分页集群配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Operation(summary = "分页查询多个集群配置信息") + @GetMapping("/findPage") + public Result> findPage(@Parameter(description = "分页大小") @RequestParam(defaultValue = "10", value = "size") int size, + @Parameter(description = "当前页数") @RequestParam(defaultValue = "1", value = "current") int current, @ModelAttribute LazyNettyClusterNodeQueryListCommand lazyNettyClusterNodeQueryListCommand) { + return lazyNettyClusterNodeApplication.findPage(size, current, lazyNettyClusterNodeQueryListCommand); + } + + /** + * describe 删除集群配置信息 + * + * @param lazyNettyClusterNodeRemoveCommand 删除集群配置信息 + * @return {@link Result} 集群配置信息 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Operation(summary = "删除集群配置信息") + @DeleteMapping("/remove") + public Result remove(@ModelAttribute LazyNettyClusterNodeRemoveCommand lazyNettyClusterNodeRemoveCommand) { + return lazyNettyClusterNodeApplication.remove(lazyNettyClusterNodeRemoveCommand); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/domain/model/cluster/Node.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/domain/model/cluster/Node.java new file mode 100644 index 00000000..cd2b13c0 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/domain/model/cluster/Node.java @@ -0,0 +1,4 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.domain.model.cluster; + +public class Node { +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/domain/model/cluster/node/LazyNettyClusterNode.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/domain/model/cluster/node/LazyNettyClusterNode.java new file mode 100644 index 00000000..e61bc7cd --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/domain/model/cluster/node/LazyNettyClusterNode.java @@ -0,0 +1,81 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.domain.model.cluster.node; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.wu.framework.lazy.orm.core.stereotype.LazyTableField; + +import java.lang.String; +import java.lang.Integer; +import java.time.LocalDateTime; +import java.lang.Boolean; +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_cluster_node",description = "集群配置信息") +public class LazyNettyClusterNode { + + + /** + * + * 集群节点host + */ + @Schema(description ="集群节点host",name ="clusterNodeHost",example = "") + private String clusterNodeHost; + + /** + * + * 集群节点ID + */ + @Schema(description ="集群节点ID",name ="clusterNodeId",example = "") + private String clusterNodeId; + + /** + * + * 集群节点端口 + */ + @Schema(description ="集群节点端口",name ="clusterNodePort",example = "") + private Integer clusterNodePort; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 角色 + */ + @Schema(description ="角色",name ="role",example = "") + private String role; + + /** + * + * 更新时间 + */ + @Schema(description ="更新时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "clusterNodeStatus", example = "") + private NettyClientStatus clusterNodeStatus; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/domain/model/cluster/node/LazyNettyClusterNodeRepository.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/domain/model/cluster/node/LazyNettyClusterNodeRepository.java new file mode 100644 index 00000000..83219681 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/domain/model/cluster/node/LazyNettyClusterNodeRepository.java @@ -0,0 +1,104 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.domain.model.cluster.node; + +import org.wu.framework.web.response.Result; + +import java.util.List; + +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; + +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository + **/ + +public interface LazyNettyClusterNodeRepository { + + + /** + * describe 新增集群配置信息 + * + * @param lazyNettyClusterNode 新增集群配置信息 + * @return {@link Result} 集群配置信息新增后领域对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result story(LazyNettyClusterNode lazyNettyClusterNode); + + /** + * describe 批量新增集群配置信息 + * + * @param lazyNettyClusterNodeList 批量新增集群配置信息 + * @return {@link Result>} 集群配置信息新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result> batchStory(List lazyNettyClusterNodeList); + + /** + * describe 查询单个集群配置信息 + * + * @param lazyNettyClusterNode 查询单个集群配置信息 + * @return {@link Result} 集群配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result findOne(LazyNettyClusterNode lazyNettyClusterNode); + + /** + * describe 查询多个集群配置信息 + * + * @param lazyNettyClusterNode 查询多个集群配置信息 + * @return {@link Result>} 集群配置信息DTO对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result> findList(LazyNettyClusterNode lazyNettyClusterNode); + + /** + * describe 分页查询多个集群配置信息 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyClusterNode 分页查询多个集群配置信息 + * @return {@link Result>} 分页集群配置信息领域对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result> findPage(int size, int current, LazyNettyClusterNode lazyNettyClusterNode); + + /** + * describe 删除集群配置信息 + * + * @param lazyNettyClusterNode 删除集群配置信息 + * @return {@link Result} 集群配置信息 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result remove(LazyNettyClusterNode lazyNettyClusterNode); + + /** + * describe 是否存在集群配置信息 + * + * @param lazyNettyClusterNode 是否存在集群配置信息 + * @return {@link Result} 集群配置信息是否存在 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + Result exists(LazyNettyClusterNode lazyNettyClusterNode); + + /** + * 修改节点状态 + * @param clusterNodeId 节点ID + */ + void updateNodeStatus(String clusterNodeId); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/event/ClusterNodeChangeEventImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/event/ClusterNodeChangeEventImpl.java new file mode 100644 index 00000000..fc669b3e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/event/ClusterNodeChangeEventImpl.java @@ -0,0 +1,169 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.event; + + +import io.netty.channel.Channel; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties.LazyNettyServerProperties; +import org.framework.smart.agent.network.heartbeat.client.domain.model.lazy.netty.server.properties.LazyNettyServerPropertiesRepository; +import org.framework.smart.agent.network.heartbeat.client.netty.event.ClientChangeEvent; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyClientChannel; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.NettyServerContext; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.framework.smart.agent.network.heartbeat.server.cluster.domain.model.cluster.node.LazyNettyClusterNodeRepository; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * node 注册 变更事件 + */ +@Primary +@Slf4j +@Component +public class ClusterNodeChangeEventImpl implements ClientChangeEvent { + + + @Resource + private LazyNettyServerPropertiesRepository lazyNettyServerPropertiesRepository; + + @Resource + private LazyNettyClusterNodeRepository lazyNettyClusterNodeRepository; + + +// private final StringRedisTemplate stringRedisTemplate; +// private final RedisProviderTemplate redisProviderTemplate; +// +// public DefaultClientChangeEvent1Impl(StringRedisTemplate stringRedisTemplate, RedisProviderTemplate redisProviderTemplate) { +// this.stringRedisTemplate = stringRedisTemplate; +// this.redisProviderTemplate = redisProviderTemplate; +// } + + + /** + * 推送客户端在线 + */ + @Override + public void clientOnLine(String clientId) { +// // 获取当前客户端ID +// if (ObjectUtils.isEmpty(clientId)) { +// clientId = stringRedisTemplate.opsForValue().get(ClientConfigKeyUtils.CLIENT_ID_KEY); +// } +// String clientStatusKey = ClientConfigKeyUtils.getClientStatusKey(clientId); +// // 如果可以已经在线状态不推送 +// stringRedisTemplate.opsForValue().set(clientStatusKey, NettyClientStatus.ON_LINE.name()); +// ClientOnLineState clientOnLineState = new ClientOnLineState(); +// clientOnLineState.setClientId(clientId); +// clientOnLineState.setOnLineState(NettyClientStatus.ON_LINE.name()); +// // 暂存扫描触发 +// redisProviderTemplate.send(RedisChannelConstant.REDIS_CLIENT_ONLINE_OR_OFFLINE_CHANNEL,clientOnLineState); + + } + + /** + * 推送客户端在线 + * + * @param inetHost 服务端ip + * @param inetPort 服务端端口 + * @param serverId 服务端ID + * @param clientId 客户端 + */ + @Override + public void clientOnLine(String inetHost, int inetPort, String serverId, String clientId) { + LazyNettyServerProperties lazyNettyServerProperties = new LazyNettyServerProperties(); + lazyNettyServerProperties.setClientId(clientId); + lazyNettyServerProperties.setInetHost(inetHost); + lazyNettyServerProperties.setInetPort(inetPort); + lazyNettyServerProperties.setConnectStatus(NettyClientStatus.ON_LINE); + lazyNettyServerPropertiesRepository.onLine(lazyNettyServerProperties); + // 更改状态在线 + clientOnLine(clientId); + + List serverEndpointChannels = NettyServerContext.getServerEndpointChannels(); + for (NettyClientChannel serverEndpointChannel : serverEndpointChannels) { + Channel serverEndpointChannelChannel = serverEndpointChannel.getChannel(); + if (serverEndpointChannelChannel != null && serverEndpointChannelChannel.isActive()) { + // 客户端本地获取所有 已经连接的服务端的channel 通知他们 扫描数据库node信息,重新初始化 + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setType(MessageType.REPORT_CLUSTER_NODE_REGISTER_MESSAGE); + nettyMsg.setClientId(clientId); + nettyMsg.setData((clientId).getBytes()); + serverEndpointChannelChannel.writeAndFlush(nettyMsg); + } + } + + // 修改节点状态 + lazyNettyClusterNodeRepository.updateNodeStatus(serverId); + + + } + + + + /** + * 推送客户端离线 + */ + @Override + public void clientOffLine(String clientId) { +// if (ObjectUtils.isEmpty(clientId)) { +// clientId = stringRedisTemplate.opsForValue().get(ClientConfigKeyUtils.CLIENT_ID_KEY); +// } +// String clientStatusKey = ClientConfigKeyUtils.getClientStatusKey(clientId); +// // 离线状态 +// stringRedisTemplate.opsForValue().set(clientStatusKey, NettyClientStatus.OFF_LINE.name()); +// // 暂存状态 +// stagingOpen(clientId); +// // 暂存扫描触发 +// ClientOnLineState clientOnLineState = new ClientOnLineState(); +// clientOnLineState.setClientId(clientId); +// clientOnLineState.setOnLineState(NettyClientStatus.OFF_LINE.name()); +// redisProviderTemplate.send(RedisChannelConstant.REDIS_CLIENT_ONLINE_OR_OFFLINE_CHANNEL,clientOnLineState); + } + + /** + * 推送客户端离线 + * + * @param inetHost 服务端ip + * @param inetPort 服务端端口 + * @param serverId + * @param clientId 客户端 + */ + @Override + public void clientOffLine(String inetHost, int inetPort, String serverId, String clientId) { + LazyNettyServerProperties lazyNettyServerProperties = new LazyNettyServerProperties(); + lazyNettyServerProperties.setClientId(clientId); + lazyNettyServerProperties.setInetHost(inetHost); + lazyNettyServerProperties.setInetPort(inetPort); + lazyNettyServerProperties.setConnectStatus(NettyClientStatus.OFF_LINE); + lazyNettyServerPropertiesRepository.offLine(lazyNettyServerProperties); + clientOffLine(clientId); + // 修改节点状态 + lazyNettyClusterNodeRepository.updateNodeStatus(serverId); + } + + @Override + public void stagingOpen(String clientId) { +// String stagingStatusKey = StagingConfigKeyConstant.getStagingStatusKey(clientId); +// stringRedisTemplate.opsForValue().set(stagingStatusKey, StagingStatus.OPENED.name()); + + } + + /** + * 暂存关闭 + * + * @param clientId 租户ID + */ + @Override + public void stagingClose(String clientId) { +// if (clientId == null) { +// clientId = stringRedisTemplate.opsForValue().get(ClientConfigKeyUtils.CLIENT_ID_KEY); +// } +// String stagingStatusKey = StagingConfigKeyConstant.getStagingStatusKey(clientId); +// stringRedisTemplate.opsForValue().set(stagingStatusKey, StagingStatus.CLOSED.name()); + + } + +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/converter/LazyNettyClusterNodeConverter.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/converter/LazyNettyClusterNodeConverter.java new file mode 100644 index 00000000..e2149be4 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/converter/LazyNettyClusterNodeConverter.java @@ -0,0 +1,48 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.infrastructure.converter; + +import org.framework.smart.agent.network.heartbeat.server.cluster.domain.model.cluster.node.LazyNettyClusterNode; +import org.framework.smart.agent.network.heartbeat.server.cluster.infrastructure.entity.LazyNettyClusterNodeDO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureConverter + **/ +@Mapper +public interface LazyNettyClusterNodeConverter { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + LazyNettyClusterNodeConverter INSTANCE = Mappers.getMapper(LazyNettyClusterNodeConverter.class); + /** + * describe 实体对象 转换成领域对象 + * + * @param lazyNettyClusterNodeDO 集群配置信息实体对象 + * @return {@link LazyNettyClusterNode} 集群配置信息领域对象 + + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + LazyNettyClusterNode toLazyNettyClusterNode(LazyNettyClusterNodeDO lazyNettyClusterNodeDO); + /** + * describe 领域对象 转换成实体对象 + * + * @param lazyNettyClusterNode 集群配置信息领域对象 + * @return {@link LazyNettyClusterNodeDO} 集群配置信息实体对象 + + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + LazyNettyClusterNodeDO fromLazyNettyClusterNode(LazyNettyClusterNode lazyNettyClusterNode); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/entity/LazyNettyClusterNodeDO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/entity/LazyNettyClusterNodeDO.java new file mode 100644 index 00000000..03bdae02 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/entity/LazyNettyClusterNodeDO.java @@ -0,0 +1,90 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.infrastructure.entity; + +import lombok.Data; +import lombok.experimental.Accessors; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.wu.framework.lazy.orm.core.stereotype.LazyTableIndex; +import org.wu.framework.core.stereotype.LayerField; +import org.wu.framework.core.stereotype.LayerField.LayerFieldType; +import org.wu.framework.lazy.orm.core.stereotype.LazyTable; +import org.wu.framework.lazy.orm.core.stereotype.LazyTableField; +import org.wu.framework.lazy.orm.core.stereotype.*; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.lang.String; +import java.lang.Integer; +import java.time.LocalDateTime; +import java.lang.Boolean; + +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity + **/ +@Data +@Accessors(chain = true) +@LazyTable(tableName = "lazy_netty_cluster_node", comment = "集群配置信息") +@Schema(title = "lazy_netty_cluster_node", description = "集群配置信息") +public class LazyNettyClusterNodeDO { + + + /** + * 集群节点host + */ + @Schema(description = "集群节点host", name = "clusterNodeHost", example = "") + @LazyTableField(name = "cluster_node_host", comment = "集群节点host", columnType = "varchar(255)", notNull = true) + private String clusterNodeHost; + + /** + * 集群节点ID + */ + @Schema(description = "集群节点ID", name = "clusterNodeId", example = "") + @LazyTableFieldUnique(name = "cluster_node_id", comment = "集群节点ID", columnType = "varchar(255)", notNull = true) + private String clusterNodeId; + + /** + * 集群节点端口 + */ + @Schema(description = "集群节点端口", name = "clusterNodePort", example = "") + @LazyTableField(name = "cluster_node_port", comment = "集群节点端口", columnType = "int", notNull = true) + private Integer clusterNodePort; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + @LazyTableField(name = "create_time", comment = "创建时间") + private LocalDateTime createTime; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + @LazyTableField(name = "is_deleted", comment = "是否删除") + private Boolean isDeleted; + + /** + * 角色 + */ + @Schema(description = "角色", name = "role", example = "") + @LazyTableField(name = "role", comment = "角色", defaultValue = "'node'", upsertStrategy = LazyFieldStrategy.NEVER, columnType = "varchar(255)") + private String role; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + @LazyTableField(name = "update_time", comment = "更新时间") + private LocalDateTime updateTime; + + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "clusterNodeStatus", example = "") + @LazyTableField(name = "cluster_node_status", comment = "在线状态(true在线,false离线)", columnType = "varchar(255)") + private NettyClientStatus clusterNodeStatus; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/mapper/LazyNettyClusterNodeMapper.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/mapper/LazyNettyClusterNodeMapper.java new file mode 100644 index 00000000..888a93e1 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/mapper/LazyNettyClusterNodeMapper.java @@ -0,0 +1,15 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.infrastructure.mapper; + +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyNettyClusterNodeMapper { + + + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/persistence/LazyNettyClusterNodeRepositoryImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/persistence/LazyNettyClusterNodeRepositoryImpl.java new file mode 100644 index 00000000..e5f049ca --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/persistence/LazyNettyClusterNodeRepositoryImpl.java @@ -0,0 +1,189 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.infrastructure.persistence; + +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.framework.smart.agent.network.heartbeat.server.cluster.infrastructure.entity.LazyNettyClusterNodeDO; +import org.framework.smart.agent.network.heartbeat.server.cluster.infrastructure.converter.LazyNettyClusterNodeConverter; +import org.framework.smart.agent.network.heartbeat.server.cluster.domain.model.cluster.node.LazyNettyClusterNodeRepository; +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyClientStateDO; +import org.springframework.stereotype.Repository; + +import java.time.LocalDateTime; +import java.util.stream.Collectors; + +import org.springframework.transaction.annotation.Transactional; +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import jakarta.annotation.Resource; +import org.framework.smart.agent.network.heartbeat.server.cluster.domain.model.cluster.node.LazyNettyClusterNode; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; + +import java.util.List; + +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; + +/** + * describe 集群配置信息 + * + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructurePersistence + **/ +@Repository +public class LazyNettyClusterNodeRepositoryImpl implements LazyNettyClusterNodeRepository { + + @Resource + LazyLambdaStream lazyLambdaStream; + + /** + * describe 新增集群配置信息 + * + * @param lazyNettyClusterNode 新增集群配置信息 + * @return {@link Result} 集群配置信息新增后领域对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result story(LazyNettyClusterNode lazyNettyClusterNode) { + LazyNettyClusterNodeDO lazyNettyClusterNodeDO = LazyNettyClusterNodeConverter.INSTANCE.fromLazyNettyClusterNode(lazyNettyClusterNode); + lazyLambdaStream.upsert(lazyNettyClusterNodeDO); + return ResultFactory.successOf(); + } + + /** + * describe 批量新增集群配置信息 + * + * @param lazyNettyClusterNodeList 批量新增集群配置信息 + * @return {@link Result>} 集群配置信息新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result> batchStory(List lazyNettyClusterNodeList) { + List lazyNettyClusterNodeDOList = lazyNettyClusterNodeList.stream().map(LazyNettyClusterNodeConverter.INSTANCE::fromLazyNettyClusterNode).collect(Collectors.toList()); + lazyLambdaStream.upsert(lazyNettyClusterNodeDOList); + return ResultFactory.successOf(); + } + + /** + * describe 查询单个集群配置信息 + * + * @param lazyNettyClusterNode 查询单个集群配置信息 + * @return {@link Result} 集群配置信息领域对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result findOne(LazyNettyClusterNode lazyNettyClusterNode) { + LazyNettyClusterNodeDO lazyNettyClusterNodeDO = LazyNettyClusterNodeConverter.INSTANCE.fromLazyNettyClusterNode(lazyNettyClusterNode); + LazyNettyClusterNode lazyNettyClusterNodeOne = lazyLambdaStream.selectOne(LazyWrappers.lambdaWrapperBean(lazyNettyClusterNodeDO), LazyNettyClusterNode.class); + return ResultFactory.successOf(lazyNettyClusterNodeOne); + } + + /** + * describe 查询多个集群配置信息 + * + * @param lazyNettyClusterNode 查询多个集群配置信息 + * @return {@link Result>} 集群配置信息领域对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result> findList(LazyNettyClusterNode lazyNettyClusterNode) { + LazyNettyClusterNodeDO lazyNettyClusterNodeDO = LazyNettyClusterNodeConverter.INSTANCE.fromLazyNettyClusterNode(lazyNettyClusterNode); + List lazyNettyClusterNodeList = lazyLambdaStream.selectList(LazyWrappers.lambdaWrapperBean(lazyNettyClusterNodeDO), LazyNettyClusterNode.class); + return ResultFactory.successOf(lazyNettyClusterNodeList); + } + + /** + * describe 分页查询多个集群配置信息 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyClusterNode 分页查询多个集群配置信息 + * @return {@link Result>} 分页集群配置信息领域对象 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyNettyClusterNode lazyNettyClusterNode) { + LazyNettyClusterNodeDO lazyNettyClusterNodeDO = LazyNettyClusterNodeConverter.INSTANCE.fromLazyNettyClusterNode(lazyNettyClusterNode); + LazyPage lazyPage = new LazyPage<>(current, size); + LazyPage lazyNettyClusterNodeLazyPage = lazyLambdaStream.selectPage(LazyWrappers.lambdaWrapperBean(lazyNettyClusterNodeDO), lazyPage, LazyNettyClusterNode.class); + return ResultFactory.successOf(lazyNettyClusterNodeLazyPage); + } + + /** + * describe 删除集群配置信息 + * + * @param lazyNettyClusterNode 删除集群配置信息 + * @return {@link Result} 集群配置信息 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result remove(LazyNettyClusterNode lazyNettyClusterNode) { + LazyNettyClusterNodeDO lazyNettyClusterNodeDO = LazyNettyClusterNodeConverter.INSTANCE.fromLazyNettyClusterNode(lazyNettyClusterNode); + // lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyNettyClusterNodeDO)); + return ResultFactory.successOf(); + } + + /** + * describe 是否存在集群配置信息 + * + * @param lazyNettyClusterNode 集群配置信息领域对象 + * @return {@link Result} 是否存在 true 存在,false 不存在 + * @author Jia wei Wu + * @date 2024/04/12 02:16 下午 + **/ + + @Override + public Result exists(LazyNettyClusterNode lazyNettyClusterNode) { + LazyNettyClusterNodeDO lazyNettyClusterNodeDO = LazyNettyClusterNodeConverter.INSTANCE.fromLazyNettyClusterNode(lazyNettyClusterNode); + Boolean exists = lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyNettyClusterNodeDO)); + return ResultFactory.successOf(exists); + } + + /** + * 修改节点状态 + * + * @param clusterNodeId 节点ID + */ + @Transactional(rollbackFor = Exception.class) + @Override + public void updateNodeStatus(String clusterNodeId) { + // 查询这个节点下客户端注册是否正常 + List lazyNettyClientStateDOList = lazyLambdaStream.selectList( + LazyWrappers.lambdaWrapper() + .eq(LazyNettyClientStateDO::getServerId, clusterNodeId) + ); + boolean anyMatch = lazyNettyClientStateDOList.stream() + .anyMatch(lazyNettyClientStateDO -> + NettyClientStatus.OFF_LINE.equals(lazyNettyClientStateDO.getOnLineState()) + ); + + LazyNettyClusterNodeDO lazyNettyClusterNodeDO = new LazyNettyClusterNodeDO(); + lazyNettyClusterNodeDO.setClusterNodeId(clusterNodeId); + lazyNettyClusterNodeDO.setUpdateTime(LocalDateTime.now()); + + // 更新当前节点状态 + if(anyMatch){ + // 离线 + lazyNettyClusterNodeDO.setClusterNodeStatus(NettyClientStatus.OFF_LINE); + }else { + // 在线 + lazyNettyClusterNodeDO.setClusterNodeStatus(NettyClientStatus.ON_LINE); + } + lazyLambdaStream.update(lazyNettyClusterNodeDO,LazyWrappers.lambdaWrapper() + .eq(LazyNettyClusterNodeDO::getClusterNodeId,clusterNodeId)); + + + + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/xml/LazyNettyClusterNodeMapper.xml b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/xml/LazyNettyClusterNodeMapper.xml new file mode 100644 index 00000000..c890fdbf --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/infrastructure/xml/LazyNettyClusterNodeMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/config/HeartbeatServerConfiguration.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/config/HeartbeatServerConfiguration.java new file mode 100644 index 00000000..56dcc31b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/config/HeartbeatServerConfiguration.java @@ -0,0 +1,93 @@ +package org.framework.smart.agent.network.heartbeat.server.config; + + +import org.framework.smart.agent.network.heartbeat.server.cluster.application.LazyNettyClusterNodeApplication; +import org.framework.smart.agent.network.heartbeat.server.netty.advanced.*; + +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Role; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelFlowAdapter; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyInternalNetworkPenetrationMappingApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyNettyClientBlacklistApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyClientStatsChangeApplication; + + +@Role(BeanDefinition.ROLE_INFRASTRUCTURE) +public class HeartbeatServerConfiguration { + + /** + * 服务端 处理客户端心跳 + * + * @return ServerHandleChannelHeartbeatTypeAdvanced + */ + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) + @Bean + public ServerHandleChannelHeartbeatTypeAdvanced serverChannelHeartbeatTypeAdvanced() { + return new ServerHandleChannelHeartbeatTypeAdvanced(); + } + + /** + * 处理 服务端处理客户端数据传输 + * + * @return ServerHandleReportHandleChannelTransferTypeAdvanced + */ + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) + @Bean + public ServerHandleReportHandleChannelTransferTypeAdvanced serverReportChannelTransferTypeAdvanced(ChannelFlowAdapter channelFlowAdapter) { + return new ServerHandleReportHandleChannelTransferTypeAdvanced(channelFlowAdapter); + } + + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) + @Bean + public ServerHandleClientConnectSuccessTypeAdvanced serverReportConnectSuccessTypeAdvanced( + LazyClientStatsChangeApplication lazyClientStatsChangeApplication, + LazyNettyClientBlacklistApplication lazyNettyClientBlacklistApplication, + LazyInternalNetworkPenetrationMappingApplication lazyInternalNetworkPenetrationMappingApplication) { + return new ServerHandleClientConnectSuccessTypeAdvanced(lazyClientStatsChangeApplication, lazyNettyClientBlacklistApplication, lazyInternalNetworkPenetrationMappingApplication); + } + + /** + * 服务端处理集群注册信息 + * + * @param lazyNettyClusterNodeApplication 集群信息获取 + * @return ServerHandleReportClusterNodeRegisterTypeAdvanced + */ + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) + @Bean + public ServerHandleReportClusterNodeRegisterTypeAdvanced serverHandleReportClusterNodeRegisterTypeAdvanced() { + return new ServerHandleReportClusterNodeRegisterTypeAdvanced(); + } + + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) + @Bean + public ServerHandleReportDisconnectTypeAdvanced serverReportDisconnectTypeAdvanced(LazyClientStatsChangeApplication lazyClientStatsChangeApplication) { + return new ServerHandleReportDisconnectTypeAdvanced(lazyClientStatsChangeApplication); + } + + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) + @Bean + public ServerHandleReportSingleClientCloseVisitorTypeAdvanced serverReportSingleClientCloseVisitorTypeAdvanced() { + return new ServerHandleReportSingleClientCloseVisitorTypeAdvanced(); + } + + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) + @Bean + public ServerHandleReportSingleClientRealConnectTypeAdvanced serverReportSingleClientRealConnectTypeAdvanced() { + return new ServerHandleReportSingleClientRealConnectTypeAdvanced(); + } + + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) + @Bean + public ServerHandleReportStagingClosedTypeAdvanced serverReportStagingClosedTypeAdvanced(LazyClientStatsChangeApplication lazyClientStatsChangeApplication) { + return new ServerHandleReportStagingClosedTypeAdvanced(lazyClientStatsChangeApplication); + } + + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) + @Bean + public ServerHandleReportStagingOpenedTypeAdvanced serverReportStagingOpenedTypeAdvanced(LazyClientStatsChangeApplication lazyClientStatsChangeApplication) { + return new ServerHandleReportStagingOpenedTypeAdvanced(lazyClientStatsChangeApplication); + } + + +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/config/ServerFlowConfiguration.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/config/ServerFlowConfiguration.java new file mode 100644 index 00000000..8ed7409f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/config/ServerFlowConfiguration.java @@ -0,0 +1,57 @@ +package org.framework.smart.agent.network.heartbeat.server.config; + +import org.framework.smart.agent.network.heartbeat.server.netty.flow.ServerHandlerInFlowHandler; +import org.framework.smart.agent.network.heartbeat.server.netty.flow.ServerHandlerOutFlowHandler; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyVisitorPortFlowApplication; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Role; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelFlowAdapter; +import org.framework.smart.agent.network.heartbeat.common.advanced.flow.HandleChannelFlowAdvanced; + +import java.util.List; + +/** + * @see ChannelFlowAdapter + * @see HandleChannelFlowAdvanced + */ +@Role(BeanDefinition.ROLE_INFRASTRUCTURE) +public class ServerFlowConfiguration { + /** + * 进口数据处理 + * + * @return ServerHandlerInFlowHandler + */ + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) + @Bean + public ServerHandlerInFlowHandler serverHandlerInFlowHandler(LazyVisitorPortFlowApplication lazyVisitorPortFlowApplication) { + return new ServerHandlerInFlowHandler(lazyVisitorPortFlowApplication); + } + + /** + * 出口数据处理 + * + * @return ServerHandlerOutFlowHandler + */ + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) + @Bean + public ServerHandlerOutFlowHandler serverHandlerOutFlowHandler(LazyVisitorPortFlowApplication lazyVisitorPortFlowApplication) { + return new ServerHandlerOutFlowHandler(lazyVisitorPortFlowApplication); + } + + + /** + * 服务端流量适配器 + * + * @param handleChannelFlowAdvancedList 服务端流量适配者 + * @return 服务端流量适配器 + */ + @ConditionalOnMissingBean(ChannelFlowAdapter.class) + @Bean + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) + public ChannelFlowAdapter channelFlowAdapter(List handleChannelFlowAdvancedList) { + return new ChannelFlowAdapter(handleChannelFlowAdvancedList); + } + +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/init/InitClusterNode.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/init/InitClusterNode.java new file mode 100644 index 00000000..b2171838 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/init/InitClusterNode.java @@ -0,0 +1,105 @@ +package org.framework.smart.agent.network.heartbeat.server.init; + +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.LazyNettyClusterNodeApplication; +import org.framework.smart.agent.network.heartbeat.server.cluster.domain.model.cluster.node.LazyNettyClusterNode; +import org.framework.smart.agent.network.heartbeat.server.cluster.infrastructure.entity.LazyNettyClusterNodeDO; +import org.framework.smart.agent.network.heartbeat.server.properties.ServerNodeProperties; +import org.springframework.beans.factory.DisposableBean; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Configuration; +import org.wu.framework.core.utils.ObjectUtils; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; + +import java.time.LocalDateTime; +import java.util.Objects; + +/** + * 当配置模式为集群模式 加载 + */ + +@ConditionalOnProperty(prefix = ServerNodeProperties.prefix, value = "mode", havingValue = "cluster") +@Configuration +@Slf4j +public class InitClusterNode implements CommandLineRunner, DisposableBean { + + private final LazyNettyClusterNodeApplication lazyNettyClusterNodeApplication; + + private final ServerNodeProperties serverNodeProperties; + private final LazyLambdaStream lazyLambdaStream; + + public InitClusterNode(LazyNettyClusterNodeApplication lazyNettyClusterNodeApplication, + ServerNodeProperties serverNodeProperties, + LazyLambdaStream lazyLambdaStream) { + this.lazyNettyClusterNodeApplication = lazyNettyClusterNodeApplication; + this.serverNodeProperties = serverNodeProperties; + this.lazyLambdaStream = lazyLambdaStream; + } + + + @Override + public void run(String... args) throws Exception { + log.info("init cluster node...."); + initNodeConfig2Db(); + // 连接所有节点 + + lazyNettyClusterNodeApplication.starterClusterNodes(); + + + } + + public boolean checkConfig(ServerNodeProperties serverNodeProperties) { + + if ( + ObjectUtils.isEmpty(serverNodeProperties.getNodeId()) || + ObjectUtils.isEmpty(serverNodeProperties.getNodeHost()) || + ObjectUtils.isEmpty(serverNodeProperties.getNodePort()) + ) { + return false; + } + return true; + + } + + /** + * 存储配置到db + */ + public void initNodeConfig2Db() { + + // 初始化 node 配置信息 + String clusterNodeId = serverNodeProperties.getNodeId(); + String clusterNodeHost = serverNodeProperties.getNodeHost(); + Integer clusterNodePort = serverNodeProperties.getNodePort(); + + if (Objects.isNull(clusterNodeId) || + Objects.isNull(clusterNodeHost)) { + log.warn("节点信息错误:{}", serverNodeProperties); + return; + } + LazyNettyClusterNode lazyNettyClusterNode = new LazyNettyClusterNode(); + lazyNettyClusterNode.setClusterNodeHost(clusterNodeHost); + lazyNettyClusterNode.setClusterNodePort(clusterNodePort); + lazyNettyClusterNode.setClusterNodeId(clusterNodeId); + lazyNettyClusterNode.setIsDeleted(false); + lazyNettyClusterNode.setCreateTime(LocalDateTime.now()); + lazyNettyClusterNode.setUpdateTime(LocalDateTime.now()); + // 根据服务端端口、port 唯一性验证 + boolean exists = lazyLambdaStream.exists(LazyWrappers.lambdaWrapper() + .eq(LazyNettyClusterNodeDO::getClusterNodeId, clusterNodeId) + ); + if (!exists) { + lazyLambdaStream.insert(lazyNettyClusterNode); + } + } + + /** + * 程序关闭后执行 + */ + @Override + public void destroy() { + lazyNettyClusterNodeApplication.destroyClusterNodes(); + } + +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/init/InitServerSocket.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/init/InitServerSocket.java new file mode 100644 index 00000000..2d7c9b5b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/init/InitServerSocket.java @@ -0,0 +1,79 @@ +package org.framework.smart.agent.network.heartbeat.server.init; + + +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.server.netty.filter.NettyServerFilter; +import org.framework.smart.agent.network.heartbeat.server.netty.socket.NettyOnCloudNettyServerSocket; +import org.framework.smart.agent.network.heartbeat.server.properties.ServerNodeProperties; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.autoconfigure.web.ServerProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.wu.framework.core.utils.ObjectUtils; + +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + + +/** + * description 初始化服务端 + * + * @author 吴佳伟 + * @date 2023/09/12 18:22 + */ +@Slf4j +@Configuration +public class InitServerSocket implements CommandLineRunner { + + private final ServerProperties serverProperties; + private final NettyServerFilter nettyServerFilter; + private final ServerNodeProperties serverNodeProperties; + + + ThreadPoolExecutor NETTY_SERVER_EXECUTOR = new ThreadPoolExecutor(1, 1, 200, TimeUnit.MILLISECONDS, + new ArrayBlockingQueue<>(1)); + + public InitServerSocket(ServerProperties serverProperties, + NettyServerFilter nettyServerFilter, + ServerNodeProperties serverNodeProperties + ) { + this.serverProperties = serverProperties; + this.nettyServerFilter = nettyServerFilter; + this.serverNodeProperties = serverNodeProperties; + } + + + @Bean(destroyMethod = "shutdown") + public NettyOnCloudNettyServerSocket nettyServerSocket() { + return new NettyOnCloudNettyServerSocket(nettyServerFilter); + } + + /** + * @param args + * @throws Exception + */ + @Override + public void run(String... args) throws Exception { + + log.info("Init InitServerSocket ..."); + NettyOnCloudNettyServerSocket serverSocket = new NettyOnCloudNettyServerSocket(nettyServerFilter); + log.info("当前服务启动端口:{}", serverProperties.getPort()); + int serverPortAdd1000 = serverProperties.getPort() + 1000; + if (!ObjectUtils.isEmpty(serverNodeProperties.getNodePort())) { + serverPortAdd1000 = serverNodeProperties.getNodePort(); + } + int nettyServerPort = serverPortAdd1000; + Thread thread = new Thread(() -> { + try { + serverSocket.startServer(nettyServerPort); + } catch (Exception e) { + throw new RuntimeException(e); + } + + }); + log.info("当前服务启动Netty端口:{}", nettyServerPort); + NETTY_SERVER_EXECUTOR.execute(thread); + + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleChannelHeartbeatTypeAdvanced.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleChannelHeartbeatTypeAdvanced.java new file mode 100644 index 00000000..7dd1038c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleChannelHeartbeatTypeAdvanced.java @@ -0,0 +1,32 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.advanced; + + +import io.netty.channel.Channel; +import org.springframework.stereotype.Component; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.AbstractHandleChannelHeartbeatTypeAdvanced; + + +/** + * 服务端 处理客户端心跳 + * TYPE_HEARTBEAT + */ +@Component +public class ServerHandleChannelHeartbeatTypeAdvanced extends AbstractHandleChannelHeartbeatTypeAdvanced { + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param msg 通道数据 + */ + @Override + public void doHandler(Channel channel, NettyProxyMsg msg) { + NettyProxyMsg hb = new NettyProxyMsg(); + hb.setType(MessageType.TYPE_HEARTBEAT); + channel.writeAndFlush(hb); + } + + +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleClientConnectSuccessTypeAdvanced.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleClientConnectSuccessTypeAdvanced.java new file mode 100644 index 00000000..7bc499f3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleClientConnectSuccessTypeAdvanced.java @@ -0,0 +1,101 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.advanced; + + +import com.alibaba.fastjson.JSON; +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.framework.smart.agent.network.heartbeat.common.ChannelContext; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.server.AbstractHandleClientConnectSuccessTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.utils.ChannelAttributeKeyUtils; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyInternalNetworkPenetrationMappingApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyNettyClientBlacklistApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyClientStatsChangeApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.blacklist.LazyNettyClientBlacklist; + +import java.nio.charset.StandardCharsets; +import java.util.List; + + +/** + * 服务端连接成功处理 + * REPORT_CLIENT_CONNECT_SUCCESS + */ +@Slf4j +@Component +public class ServerHandleClientConnectSuccessTypeAdvanced extends AbstractHandleClientConnectSuccessTypeAdvanced { + + private final LazyClientStatsChangeApplication lazyClientStatsChangeApplication; + private final LazyNettyClientBlacklistApplication lazyNettyClientBlacklistApplication; + private final LazyInternalNetworkPenetrationMappingApplication lazyInternalNetworkPenetrationMappingApplication; + + public ServerHandleClientConnectSuccessTypeAdvanced(LazyClientStatsChangeApplication lazyClientStatsChangeApplication, LazyNettyClientBlacklistApplication lazyNettyClientBlacklistApplication, LazyInternalNetworkPenetrationMappingApplication lazyInternalNetworkPenetrationMappingApplication) { + this.lazyClientStatsChangeApplication = lazyClientStatsChangeApplication; + this.lazyNettyClientBlacklistApplication = lazyNettyClientBlacklistApplication; + this.lazyInternalNetworkPenetrationMappingApplication = lazyInternalNetworkPenetrationMappingApplication; + } + + + /** + * 处理当前数据 + * + * @param newChannel 当前通道 + * @param msg 通道数据 + */ + @Override + public void doHandler(Channel newChannel, NettyProxyMsg msg) { + + + String clientId = new String(msg.getClientId()); + ChannelContext.push(newChannel, clientId); + + ChannelAttributeKeyUtils.buildClientId(newChannel, clientId); + // 客户端:{},IP:{}连接成功 + log.info("Client: {}, IP: {} Connection successful", new String(msg.getClientId()), newChannel.remoteAddress().toString()); + // 验证客户端是否时黑名单 + LazyNettyClientBlacklist lazyNettyClientBlacklist = new LazyNettyClientBlacklist(); + lazyNettyClientBlacklist.setClientId(clientId); + lazyNettyClientBlacklist.setIsDeleted(false); + lazyNettyClientBlacklistApplication.exists(lazyNettyClientBlacklist).accept(exists -> { + if (!exists) { + // 服务状态在线 + lazyClientStatsChangeApplication.clientOnLine(clientId); + List clientChannels = ChannelContext.get(); + // 当前在线客户端数量:{} + log.info("Current number of online clients: {}", clientChannels.size()); + // 所有的客户端ID + List clientIdList = clientChannels + .stream() + .map(activeClientChannel -> new String(activeClientChannel.getClientId())) + .toList(); + + // TODO 多副本本地channel 无法共享问题 + // 通知所有客户端有人上线了 + for (ChannelContext.ClientChannel clientChannel : clientChannels) { + Channel channel = clientChannel.getChannel(); + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setType(MessageType.DISTRIBUTE_CLIENT_CONNECTION_SUCCESS_NOTIFICATION); + nettyMsg.setData((JSON.toJSONString(clientIdList) + .getBytes(StandardCharsets.UTF_8))); + // 发送所有客户端ID + channel.writeAndFlush(nettyMsg); + } + // 开始开启客户端:【{}】,端口映射 + log.info("Start opening client: [{}], port mapping", clientId); + // 创建访问者(内网穿透连接创建) + lazyInternalNetworkPenetrationMappingApplication.createVisitor(clientId); + // 结束开启客户端:【{}】,端口映射 + log.info("End opening client: [{}], port mapping", clientId); + + } else { + // 黑名单客户端 + + } + }); + + + } + +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportClusterNodeRegisterTypeAdvanced.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportClusterNodeRegisterTypeAdvanced.java new file mode 100644 index 00000000..717e9c94 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportClusterNodeRegisterTypeAdvanced.java @@ -0,0 +1,40 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.advanced; + +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.server.AbstractHandleReportClusterNodeRegisterTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.server.cluster.application.LazyNettyClusterNodeApplication; +import org.springframework.stereotype.Component; +import org.wu.framework.bean.factory.BeanContext; + +/** + * 集群节点注册 服务端本地处理 + */ +@Slf4j +@Component +public class ServerHandleReportClusterNodeRegisterTypeAdvanced extends + AbstractHandleReportClusterNodeRegisterTypeAdvanced { + + + public ServerHandleReportClusterNodeRegisterTypeAdvanced() { + } + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param nettyProxyMsg 通道数据 + */ + @Override + protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + + log.info("node register and me start scan node config"); + // 本地扫描节点配置重新注册 + LazyNettyClusterNodeApplication lazyNettyClusterNodeApplication = BeanContext.getBean(LazyNettyClusterNodeApplication.class); + + // 循环依赖问题 + lazyNettyClusterNodeApplication.starterClusterNodes(); + + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportDisconnectTypeAdvanced.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportDisconnectTypeAdvanced.java new file mode 100644 index 00000000..be096e28 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportDisconnectTypeAdvanced.java @@ -0,0 +1,91 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.advanced; + + +import io.netty.channel.Channel; +import io.netty.channel.ChannelId; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.server.netty.socket.NettyVisitorSocket; +import org.springframework.stereotype.Component; +import org.wu.framework.core.utils.ObjectUtils; +import org.framework.smart.agent.network.heartbeat.common.ChannelContext; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyClientVisitorContext; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.server.AbstractHandleReportDisconnectTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyClientStatsChangeApplication; + +import java.io.IOException; +import java.util.List; + + +/** + * 服务端处理客户端断开连接处理 + * TYPE_DISCONNECT + */ +@Slf4j +@Component +public class ServerHandleReportDisconnectTypeAdvanced extends AbstractHandleReportDisconnectTypeAdvanced { + private final LazyClientStatsChangeApplication lazyClientStatsChangeApplication; + + public ServerHandleReportDisconnectTypeAdvanced(LazyClientStatsChangeApplication lazyClientStatsChangeApplication) { + this.lazyClientStatsChangeApplication = lazyClientStatsChangeApplication; + } + + /** + * 处理当前数据 + * + * @param deathChannel 关闭的通道 + * @param msg 通道数据 + */ + @Override + public void doHandler(Channel deathChannel, NettyProxyMsg msg) { + // 关闭连接通知 + byte[] clientIdByte = msg.getClientId(); + log.warn("close client :{} channel", new String(clientIdByte)); + ChannelId deathChannelId = deathChannel.id(); + ChannelContext.ClientChannel deathClientChannelDTO = ChannelContext.get(clientIdByte); + + if (deathClientChannelDTO != null) { + byte[] clientId = deathClientChannelDTO.getClientId(); + // 服务状态离线 + String tenantId = new String(clientId); + lazyClientStatsChangeApplication.clientOffLine(tenantId); + ChannelContext.remove(clientIdByte); + List clientChannels = ChannelContext.get(); + + // 通知其他客户端 channelId 关闭了 + for (ChannelContext.ClientChannel clientChannel : clientChannels) { + Channel channel = clientChannel.getChannel(); + + // 离线通知 + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setType(MessageType.DISTRIBUTE_CLIENT_DISCONNECTION_NOTIFICATION); + nettyMsg.setClientId(clientId); + nettyMsg.setData(clientId); + channel.writeAndFlush(nettyMsg); + // 暂存通知 + NettyProxyMsg stagingNettyProxyMsg = new NettyProxyMsg(); + stagingNettyProxyMsg.setType(MessageType.DISTRIBUTE_CLIENT_STAGING_OPENED_NOTIFICATION); + stagingNettyProxyMsg.setData(clientId); + stagingNettyProxyMsg.setClientId(clientId); + channel.writeAndFlush(stagingNettyProxyMsg); + } + // 关闭绑定的访客端口 + List visitorSockets = NettyClientVisitorContext.getVisitorSockets(new String(clientId)); + if (!ObjectUtils.isEmpty(visitorSockets)) { + for (NettyVisitorSocket visitorSocket : visitorSockets) { + int visitorPort = visitorSocket.getVisitorPort(); + try { + visitorSocket.close(); + log.warn("client :[{}] visitorPort:[{}] close", new String(clientId), visitorPort); + } catch (IOException | InterruptedException e) { + throw new RuntimeException(e); + } + } + } + + } + } + + +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportHandleChannelTransferTypeAdvanced.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportHandleChannelTransferTypeAdvanced.java new file mode 100644 index 00000000..4c3ebfac --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportHandleChannelTransferTypeAdvanced.java @@ -0,0 +1,62 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.advanced; + + +import io.netty.buffer.ByteBuf; +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.NettyRealIdContext; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelFlowAdapter; +import org.framework.smart.agent.network.heartbeat.common.advanced.server.AbstractHandleReportHandleChannelTransferTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.enums.ChannelFlowEnum; +import org.framework.smart.agent.network.heartbeat.server.netty.flow.ServerChannelFlow; + + +/** + * 服务端处理客户端数据传输 + * REPORT_CLIENT_STAGING_CLOSED + */ +@Slf4j +@Component +public class ServerHandleReportHandleChannelTransferTypeAdvanced extends AbstractHandleReportHandleChannelTransferTypeAdvanced { + + private final ChannelFlowAdapter channelFlowAdapter; + + public ServerHandleReportHandleChannelTransferTypeAdvanced(ChannelFlowAdapter channelFlowAdapter) { + this.channelFlowAdapter = channelFlowAdapter; + } + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param msg 通道数据 + */ + @Override + public void doHandler(Channel channel, NettyProxyMsg msg) { + String clientId = new String(msg.getClientId()); + Integer visitorPort = Integer.valueOf(new String(msg.getVisitorPort())); + log.debug("接收到客户端:[{}]内网穿透返回的数据:[{}]", clientId, new String(msg.getData())); + // 将数据转发访客通道 + byte[] visitorId = msg.getVisitorId(); + Channel visitor = NettyRealIdContext.getReal(visitorId); + if (visitor != null) { + ByteBuf buf = visitor.config().getAllocator().buffer(msg.getData().length); + buf.writeBytes(msg.getData()); + visitor.writeAndFlush(buf); + + // 记录出口数据 + ServerChannelFlow serverChannelFlow = ServerChannelFlow + .builder() + .channelFlowEnum(ChannelFlowEnum.OUT_FLOW) + .port(visitorPort) + .clientId(clientId) + .flow(msg.getData().length) + .build(); + channelFlowAdapter.handler(channel, serverChannelFlow); + } + + } + +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportSingleClientCloseVisitorTypeAdvanced.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportSingleClientCloseVisitorTypeAdvanced.java new file mode 100644 index 00000000..c50ec436 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportSingleClientCloseVisitorTypeAdvanced.java @@ -0,0 +1,32 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.advanced; + +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.framework.smart.agent.network.heartbeat.common.NettyCommunicationIdContext; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.NettyRealIdContext; +import org.framework.smart.agent.network.heartbeat.common.advanced.server.AbstractHandleReportSingleClientCloseVisitorTypeAdvanced; + +/** + * 服务端处理客户端 关闭一个访客 + */ +@Slf4j +@Component +public class ServerHandleReportSingleClientCloseVisitorTypeAdvanced extends AbstractHandleReportSingleClientCloseVisitorTypeAdvanced { + + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param nettyProxyMsg 通道数据 + */ + @Override + protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + // 关闭访客通道 + byte[] visitorId = nettyProxyMsg.getVisitorId(); + NettyCommunicationIdContext.clear(visitorId); + NettyRealIdContext.clear(visitorId); + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportSingleClientRealConnectTypeAdvanced.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportSingleClientRealConnectTypeAdvanced.java new file mode 100644 index 00000000..93b31035 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportSingleClientRealConnectTypeAdvanced.java @@ -0,0 +1,47 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.advanced; + +import io.netty.channel.Channel; +import io.netty.channel.ChannelOption; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.framework.smart.agent.network.heartbeat.common.NettyCommunicationIdContext; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.NettyRealIdContext; +import org.framework.smart.agent.network.heartbeat.common.advanced.server.AbstractHandleReportSingleClientRealConnectTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.utils.ChannelAttributeKeyUtils; + +@Slf4j +@Component +public class ServerHandleReportSingleClientRealConnectTypeAdvanced extends AbstractHandleReportSingleClientRealConnectTypeAdvanced { + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param nettyProxyMsg 通道数据 + */ + @Override + protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + // 客户端绑定端口成功 + byte[] clientId = nettyProxyMsg.getClientId(); + byte[] clientTargetIp = nettyProxyMsg.getClientTargetIp(); + byte[] clientTargetPort = nettyProxyMsg.getClientTargetPort(); + byte[] visitorPort = nettyProxyMsg.getVisitorPort(); + byte[] visitorId = nettyProxyMsg.getVisitorId(); + log.info("客户端:{},绑定真实服务ip:{},port:{},成功", new String(clientId), new String(clientTargetIp), new String(clientTargetPort)); + // 绑定服务端访客通信通道 + NettyCommunicationIdContext.pushVisitor(channel, new String(visitorId)); + ChannelAttributeKeyUtils.buildVisitorId(channel, visitorId); + ChannelAttributeKeyUtils.buildClientId(channel, clientId); + ChannelAttributeKeyUtils.buildVisitorPort(channel, Integer.valueOf(new String(visitorPort))); + // 访客通道开启自动读取 + Channel visitorRealChannel = NettyRealIdContext.getReal(new String(visitorId)); + visitorRealChannel.config().setOption(ChannelOption.AUTO_READ, true); + + // 或许此处还应该通知服务端 这个访客绑定的客户端真实通道打开 + + // 下发客户端 真实通道自动读写开启 + + + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportStagingClosedTypeAdvanced.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportStagingClosedTypeAdvanced.java new file mode 100644 index 00000000..be4f3efb --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportStagingClosedTypeAdvanced.java @@ -0,0 +1,59 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.advanced; + +import io.netty.channel.Channel; +import io.netty.channel.ChannelId; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.framework.smart.agent.network.heartbeat.common.ChannelContext; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.server.AbstractHandleReportStagingClosedTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyClientStatsChangeApplication; + +import java.nio.charset.StandardCharsets; +import java.util.List; + +/** + * 服务端处理上报的暂存关闭 + */ +@Slf4j +@Component +public class ServerHandleReportStagingClosedTypeAdvanced extends AbstractHandleReportStagingClosedTypeAdvanced { + private final LazyClientStatsChangeApplication lazyClientStatsChangeApplication; + + public ServerHandleReportStagingClosedTypeAdvanced(LazyClientStatsChangeApplication lazyClientStatsChangeApplication) { + this.lazyClientStatsChangeApplication = lazyClientStatsChangeApplication; + } + + /** + * 处理当前数据 + * + * @param stagingClosedChannel 关闭暂存的通道 + * @param msg 通道数据 + */ + @Override + protected void doHandler(Channel stagingClosedChannel, NettyProxyMsg msg) { + byte[] clientIdBytes = msg.getClientId(); + // 获取所有通道 + List clientChannels = ChannelContext.get(); + ChannelId stagingClosedChannelId = stagingClosedChannel.id(); + ChannelContext.ClientChannel stagingOpenedClientChannel = ChannelContext.get(clientIdBytes); + if (stagingOpenedClientChannel != null) { + String clientId = new String(clientIdBytes); + // 存储当前客户端暂存关闭 + lazyClientStatsChangeApplication.stagingClosed(clientId); + for (ChannelContext.ClientChannel clientChannel : clientChannels) { + // 告诉他们 当前参数这个通道 暂存关闭了 + Channel channel = clientChannel.getChannel(); + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setType(MessageType.DISTRIBUTE_CLIENT_STAGING_CLOSED_NOTIFICATION); + nettyMsg.setData((clientId + .getBytes(StandardCharsets.UTF_8))); + nettyMsg.setClientId((clientId + .getBytes(StandardCharsets.UTF_8))); + channel.writeAndFlush(nettyMsg); + } + } + + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportStagingOpenedTypeAdvanced.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportStagingOpenedTypeAdvanced.java new file mode 100644 index 00000000..7dcd8503 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/advanced/ServerHandleReportStagingOpenedTypeAdvanced.java @@ -0,0 +1,61 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.advanced; + +import io.netty.channel.Channel; +import io.netty.channel.ChannelId; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.framework.smart.agent.network.heartbeat.common.ChannelContext; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.advanced.server.AbstractHandleReportStagingOpenedTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyClientStatsChangeApplication; + +import java.nio.charset.StandardCharsets; +import java.util.List; + +/** + * 服务端处理上报的暂存开启 + */ +@Slf4j +@Component +public class ServerHandleReportStagingOpenedTypeAdvanced extends AbstractHandleReportStagingOpenedTypeAdvanced { + + private final LazyClientStatsChangeApplication lazyClientStatsChangeApplication; + + public ServerHandleReportStagingOpenedTypeAdvanced(LazyClientStatsChangeApplication lazyClientStatsChangeApplication) { + this.lazyClientStatsChangeApplication = lazyClientStatsChangeApplication; + } + + /** + * 处理当前数据 + * + * @param stagingOpenedChannel 开启暂存的通道 + * @param msg 通道数据 + */ + @Override + protected void doHandler(Channel stagingOpenedChannel, NettyProxyMsg msg) { + // 获取所有通道 + byte[] clientIdBytes = msg.getClientId(); + List clientChannels = ChannelContext.get(); + ChannelId stagingOpenedChannelId = stagingOpenedChannel.id(); + ChannelContext.ClientChannel stagingOpenedClientChannel = ChannelContext.get(clientIdBytes); + if (stagingOpenedClientChannel != null) { + for (ChannelContext.ClientChannel clientChannel : clientChannels) { + // 存储当前客户端暂存关闭 + String clientId = new String(clientIdBytes); + lazyClientStatsChangeApplication.stagingOpened(clientId); + // 告诉他们 当前参数这个通道 暂存开启了 + Channel channel = clientChannel.getChannel(); + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setType(MessageType.DISTRIBUTE_CLIENT_STAGING_OPENED_NOTIFICATION); + nettyMsg.setData((clientId + .getBytes(StandardCharsets.UTF_8))); + nettyMsg.setClientId((clientId + .getBytes(StandardCharsets.UTF_8))); + channel.writeAndFlush(nettyMsg); + } + } + + + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/filter/NettyServerFilter.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/filter/NettyServerFilter.java new file mode 100644 index 00000000..b59553c7 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/filter/NettyServerFilter.java @@ -0,0 +1,51 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.filter; + +import io.netty.channel.ChannelInitializer; +import io.netty.channel.ChannelPipeline; +import io.netty.channel.socket.SocketChannel; +import io.netty.handler.codec.string.StringDecoder; +import io.netty.handler.codec.string.StringEncoder; +import io.netty.handler.timeout.IdleStateHandler; +import org.springframework.stereotype.Component; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelTypeAdapter; +import org.framework.smart.agent.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.smart.agent.network.heartbeat.common.decoder.NettyProxyMsgDecoder; +import org.framework.smart.agent.network.heartbeat.common.encoder.NettyProxyMsgEncoder; +import org.framework.smart.agent.network.heartbeat.server.netty.handler.NettyServerHandler; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * description + * + * @author 吴佳伟 + * @date 2023/09/13 10:26 + */ +@Component +public class NettyServerFilter extends ChannelInitializer { + private final List handleChannelTypeAdvancedList; + + public NettyServerFilter(List handleChannelTypeAdvancedList) { + this.handleChannelTypeAdvancedList = handleChannelTypeAdvancedList; + } + + @Override + protected void initChannel(SocketChannel ch) throws Exception { + ChannelPipeline pipeline = ch.pipeline(); + // 以("\n")为结尾分割的 解码器 + // 解码、编码 + pipeline.addLast(new NettyProxyMsgDecoder(Integer.MAX_VALUE, 0, 4, -4, 0)); + pipeline.addLast(new NettyProxyMsgEncoder()); +// ph.addLast("framer", new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter())); + // 解码和编码,应和客户端一致 + //入参说明: 读超时时间、写超时时间、所有类型的超时时间、时间格式 + + pipeline.addLast(new IdleStateHandler(5, 0, 0, TimeUnit.SECONDS)); + pipeline.addLast("decoder", new StringDecoder()); + pipeline.addLast("encoder", new StringEncoder()); + // 类型处理器适配器 + ChannelTypeAdapter channelTypeAdapter = new ChannelTypeAdapter(handleChannelTypeAdvancedList); + pipeline.addLast("doHandler", new NettyServerHandler(channelTypeAdapter));// 服务端业务逻辑 + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/filter/VisitorFilter.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/filter/VisitorFilter.java new file mode 100644 index 00000000..7cede0fb --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/filter/VisitorFilter.java @@ -0,0 +1,34 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.filter; + +import io.netty.channel.*; +import io.netty.channel.socket.SocketChannel; +import org.framework.smart.agent.network.heartbeat.common.InternalNetworkPenetrationRealClient; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelFlowAdapter; +import org.framework.smart.agent.network.heartbeat.server.netty.handler.VisitorHandler; + +public class VisitorFilter extends ChannelInitializer { + private final InternalNetworkPenetrationRealClient internalNetworkPenetrationRealClient; + private final ChannelFlowAdapter channelFlowAdapter; + + public VisitorFilter(InternalNetworkPenetrationRealClient internalNetworkPenetrationRealClient, ChannelFlowAdapter channelFlowAdapter) { + this.internalNetworkPenetrationRealClient = internalNetworkPenetrationRealClient; + this.channelFlowAdapter = channelFlowAdapter; + } + + /** + * This method will be called once the {@link Channel} was registered. After the method returns this instance + * will be removed from the {@link ChannelPipeline} of the {@link Channel}. + * + * @param ch the {@link Channel} which was registered. + * @throws Exception is thrown if an error occurs. In that case it will be handled by + * {@link #exceptionCaught(ChannelHandlerContext, Throwable)} which will by default connectionClose + * the {@link Channel}. + */ + @Override + protected void initChannel(SocketChannel ch) throws Exception { + ChannelPipeline pipeline = ch.pipeline(); + pipeline.addLast(new ChannelDuplexHandler()); + pipeline.addLast(new VisitorHandler(internalNetworkPenetrationRealClient, channelFlowAdapter)); + + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/flow/ServerChannelFlow.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/flow/ServerChannelFlow.java new file mode 100644 index 00000000..3e0163f7 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/flow/ServerChannelFlow.java @@ -0,0 +1,56 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.flow; + +import lombok.Builder; +import lombok.Data; +import org.framework.smart.agent.network.heartbeat.common.advanced.flow.ChannelFlow; +import org.framework.smart.agent.network.heartbeat.common.enums.ChannelFlowEnum; + +@Builder +@Data +public class ServerChannelFlow implements ChannelFlow { + private String clientId; + private Integer port; + private ChannelFlowEnum channelFlowEnum; + private Integer flow; + + /** + * 通道客户端ID + * + * @return 通道客户端ID + */ + @Override + public String clientId() { + return clientId; + } + + /** + * 通道使用的端口(服务端访客端口、客户端真实端口) + * + * @return 端口 + */ + @Override + public Integer port() { + return port; + } + + /** + * 通道流量类型 + * + * @return ChannelFlowEnum + * @see ChannelFlowEnum + */ + @Override + public ChannelFlowEnum channelFlowEnum() { + return channelFlowEnum; + } + + /** + * 流量 + * + * @return 流量 + */ + @Override + public Integer flow() { + return flow; + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/flow/ServerHandlerInFlowHandler.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/flow/ServerHandlerInFlowHandler.java new file mode 100644 index 00000000..ead725ff --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/flow/ServerHandlerInFlowHandler.java @@ -0,0 +1,51 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.flow; + +import io.netty.channel.Channel; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyVisitorPortFlowApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.flow.LazyVisitorPortFlowStoryCommand; +import org.framework.smart.agent.network.heartbeat.common.advanced.flow.AbstractHandleChannelFlowAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.flow.ChannelFlow; +import org.framework.smart.agent.network.heartbeat.common.enums.ChannelFlowEnum; + +/** + * 进口流量处理 + */ +public class ServerHandlerInFlowHandler extends AbstractHandleChannelFlowAdvanced { + private final LazyVisitorPortFlowApplication lazyVisitorPortFlowApplication; + + public ServerHandlerInFlowHandler(LazyVisitorPortFlowApplication lazyVisitorPortFlowApplication) { + this.lazyVisitorPortFlowApplication = lazyVisitorPortFlowApplication; + } + + /** + * 处理是否支持这种类型 + * + * @param channelFlow 数据 + * @return boolean + */ + @Override + protected boolean doSupport(ChannelFlow channelFlow) { + return ChannelFlowEnum.IN_FLOW.equals(channelFlow.channelFlowEnum()); + } + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param channelFlow 通道数据 + */ + @Override + protected void doHandler(Channel channel, ChannelFlow channelFlow) { + String clientId = channelFlow.clientId(); + Integer port = channelFlow.port(); + Integer flow = channelFlow.flow(); + + // 进口流量处理 + LazyVisitorPortFlowStoryCommand visitorPortFlow = new LazyVisitorPortFlowStoryCommand(); + visitorPortFlow.setInFlow(flow); + visitorPortFlow.setClientId(clientId); + visitorPortFlow.setVisitorPort(port); + visitorPortFlow.setIsDeleted(false); + lazyVisitorPortFlowApplication.flowIncreaseStory(visitorPortFlow); + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/flow/ServerHandlerOutFlowHandler.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/flow/ServerHandlerOutFlowHandler.java new file mode 100644 index 00000000..f58e65ad --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/flow/ServerHandlerOutFlowHandler.java @@ -0,0 +1,52 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.flow; + +import io.netty.channel.Channel; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyVisitorPortFlowApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.flow.LazyVisitorPortFlowStoryCommand; +import org.framework.smart.agent.network.heartbeat.common.advanced.flow.AbstractHandleChannelFlowAdvanced; +import org.framework.smart.agent.network.heartbeat.common.advanced.flow.ChannelFlow; +import org.framework.smart.agent.network.heartbeat.common.enums.ChannelFlowEnum; + +/** + * 出口流量处理 + */ +public class ServerHandlerOutFlowHandler extends AbstractHandleChannelFlowAdvanced { + private final LazyVisitorPortFlowApplication lazyVisitorPortFlowApplication; + + public ServerHandlerOutFlowHandler(LazyVisitorPortFlowApplication lazyVisitorPortFlowApplication) { + this.lazyVisitorPortFlowApplication = lazyVisitorPortFlowApplication; + } + + /** + * 处理是否支持这种类型 + * + * @param channelFlow 数据 + * @return boolean + */ + @Override + protected boolean doSupport(ChannelFlow channelFlow) { + return ChannelFlowEnum.OUT_FLOW.equals(channelFlow.channelFlowEnum()); + } + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param channelFlow 通道数据 + */ + @Override + protected void doHandler(Channel channel, ChannelFlow channelFlow) { + String clientId = channelFlow.clientId(); + Integer port = channelFlow.port(); + Integer flow = channelFlow.flow(); + + // 出口流量处理 + + LazyVisitorPortFlowStoryCommand visitorPortFlow = new LazyVisitorPortFlowStoryCommand(); + visitorPortFlow.setOutFlow(flow); + visitorPortFlow.setClientId(clientId); + visitorPortFlow.setVisitorPort(port); + visitorPortFlow.setIsDeleted(false); + lazyVisitorPortFlowApplication.flowIncreaseStory(visitorPortFlow); + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/HeartBeatServerHandler.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/HeartBeatServerHandler.java new file mode 100644 index 00000000..4e8b67dc --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/HeartBeatServerHandler.java @@ -0,0 +1,44 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.handler; + +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInboundHandlerAdapter; +import io.netty.handler.timeout.IdleState; +import io.netty.handler.timeout.IdleStateEvent; +import io.netty.util.AttributeKey; + +@Deprecated +public class HeartBeatServerHandler extends ChannelInboundHandlerAdapter { + + AttributeKey channelAttributeKeyId = AttributeKey.valueOf("channelAttributeTenantId"); + private int lossConnectCount = 0; + + @Override + public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception { + String channelAttributeId = ctx.channel().attr(channelAttributeKeyId).get(); + System.out.println("channelAttributeTenantId:" + channelAttributeId); + System.out.println("已经5秒未收到客户端的消息了!"); + + if (evt instanceof IdleStateEvent event) { + if (event.state() == IdleState.READER_IDLE) { + lossConnectCount++; + if (lossConnectCount > 2) { + System.out.println("关闭这个不活跃通道!"); +// ctx.channel().connectionClose(); + } + } + } else { + super.userEventTriggered(ctx, evt); + } + } + + @Override + public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + lossConnectCount = 0; + System.out.println("client says: " + msg.toString()); + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { + ctx.close(); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/LazyServerIdleStateHandler.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/LazyServerIdleStateHandler.java new file mode 100644 index 00000000..2517148b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/LazyServerIdleStateHandler.java @@ -0,0 +1,537 @@ +/* + * Copyright 2012 The Netty Project + * + * The Netty Project licenses this file to you under the Apache License, + * version 2.0 (the "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at: + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ +package org.framework.smart.agent.network.heartbeat.server.netty.handler; + +import io.netty.bootstrap.ServerBootstrap; +import io.netty.channel.*; +import io.netty.handler.timeout.*; +import io.netty.util.concurrent.Future; +import io.netty.util.internal.ObjectUtil; + +import java.util.concurrent.TimeUnit; + +/** + * Raises a {@link ReadTimeoutException} when no data was read within a certain + * period of time. + * + *

+ * // The connection is closed when there is no inbound traffic
+ * // for 30 seconds.
+ *
+ * public class MyChannelInitializer extends {@link ChannelInitializer}<{@link Channel}> {
+ *     public void initChannel({@link Channel} channel) {
+ *         channel.pipeline().addLast("readTimeoutHandler", new {@link LazyServerIdleStateHandler}(30));
+ *         channel.pipeline().addLast("myHandler", new MyHandler());
+ *     }
+ * }
+ *
+ * // Handler should handle the {@link ReadTimeoutException}.
+ * public class MyHandler extends {@link ChannelDuplexHandler} {
+ *     {@code @Override}
+ *     public void exceptionCaught({@link ChannelHandlerContext} ctx, {@link Throwable} cause)
+ *             throws {@link Exception} {
+ *         if (cause instanceof {@link ReadTimeoutException}) {
+ *             // do something
+ *         } else {
+ *             super.exceptionCaught(ctx, cause);
+ *         }
+ *     }
+ * }
+ *
+ * {@link ServerBootstrap} bootstrap = ...;
+ * ...
+ * bootstrap.childHandler(new MyChannelInitializer());
+ * ...
+ * 
+ * + * @see WriteTimeoutHandler + * @see IdleStateHandler + */ +public class LazyServerIdleStateHandler extends ChannelDuplexHandler { + private static final long MIN_TIMEOUT_NANOS = TimeUnit.MILLISECONDS.toNanos(1); + private final boolean observeOutput; + private final long readerIdleTimeNanos; + private final long writerIdleTimeNanos; + private final long allIdleTimeNanos; + private Future readerIdleTimeout; + private long lastReadTime; + private boolean firstReaderIdleEvent = true; + private Future writerIdleTimeout; + private long lastWriteTime; + private boolean firstWriterIdleEvent = true; + private Future allIdleTimeout; + private boolean firstAllIdleEvent = true; + // Not create a new ChannelFutureListener per write operation to reduce GC pressure. + private final ChannelFutureListener writeListener = new ChannelFutureListener() { + @Override + public void operationComplete(ChannelFuture future) throws Exception { + lastWriteTime = ticksInNanos(); + firstWriterIdleEvent = firstAllIdleEvent = true; + } + }; + private byte state; // 0 - none, 1 - initialized, 2 - destroyed + private boolean reading; + + private long lastChangeCheckTimeStamp; + private int lastMessageHashCode; + private long lastPendingWriteBytes; + private long lastFlushProgress; + + /** + * Creates a new instance firing {@link IdleStateEvent}s. + * + * @param readerIdleTimeSeconds an {@link IdleStateEvent} whose state is {@link IdleState#READER_IDLE} + * will be triggered when no read was performed for the specified + * period of time. Specify {@code 0} to disable. + * @param writerIdleTimeSeconds an {@link IdleStateEvent} whose state is {@link IdleState#WRITER_IDLE} + * will be triggered when no write was performed for the specified + * period of time. Specify {@code 0} to disable. + * @param allIdleTimeSeconds an {@link IdleStateEvent} whose state is {@link IdleState#ALL_IDLE} + * will be triggered when neither read nor write was performed for + * the specified period of time. Specify {@code 0} to disable. + */ + public LazyServerIdleStateHandler( + int readerIdleTimeSeconds, + int writerIdleTimeSeconds, + int allIdleTimeSeconds) { + + this(readerIdleTimeSeconds, writerIdleTimeSeconds, allIdleTimeSeconds, + TimeUnit.SECONDS); + } + + /** + * @see #LazyServerIdleStateHandler(boolean, long, long, long, TimeUnit) + */ + public LazyServerIdleStateHandler( + long readerIdleTime, long writerIdleTime, long allIdleTime, + TimeUnit unit) { + this(false, readerIdleTime, writerIdleTime, allIdleTime, unit); + } + + /** + * Creates a new instance firing {@link IdleStateEvent}s. + * + * @param observeOutput whether or not the consumption of {@code bytes} should be taken into + * consideration when assessing write idleness. The default is {@code false}. + * @param readerIdleTime an {@link IdleStateEvent} whose state is {@link IdleState#READER_IDLE} + * will be triggered when no read was performed for the specified + * period of time. Specify {@code 0} to disable. + * @param writerIdleTime an {@link IdleStateEvent} whose state is {@link IdleState#WRITER_IDLE} + * will be triggered when no write was performed for the specified + * period of time. Specify {@code 0} to disable. + * @param allIdleTime an {@link IdleStateEvent} whose state is {@link IdleState#ALL_IDLE} + * will be triggered when neither read nor write was performed for + * the specified period of time. Specify {@code 0} to disable. + * @param unit the {@link TimeUnit} of {@code readerIdleTime}, + * {@code writeIdleTime}, and {@code allIdleTime} + */ + public LazyServerIdleStateHandler(boolean observeOutput, + long readerIdleTime, long writerIdleTime, long allIdleTime, + TimeUnit unit) { + ObjectUtil.checkNotNull(unit, "unit"); + + this.observeOutput = observeOutput; + + if (readerIdleTime <= 0) { + readerIdleTimeNanos = 0; + } else { + readerIdleTimeNanos = Math.max(unit.toNanos(readerIdleTime), MIN_TIMEOUT_NANOS); + } + if (writerIdleTime <= 0) { + writerIdleTimeNanos = 0; + } else { + writerIdleTimeNanos = Math.max(unit.toNanos(writerIdleTime), MIN_TIMEOUT_NANOS); + } + if (allIdleTime <= 0) { + allIdleTimeNanos = 0; + } else { + allIdleTimeNanos = Math.max(unit.toNanos(allIdleTime), MIN_TIMEOUT_NANOS); + } + } + + /** + * Return the readerIdleTime that was given when instance this class in milliseconds. + */ + public long getReaderIdleTimeInMillis() { + return TimeUnit.NANOSECONDS.toMillis(readerIdleTimeNanos); + } + + /** + * Return the writerIdleTime that was given when instance this class in milliseconds. + */ + public long getWriterIdleTimeInMillis() { + return TimeUnit.NANOSECONDS.toMillis(writerIdleTimeNanos); + } + + /** + * Return the allIdleTime that was given when instance this class in milliseconds. + */ + public long getAllIdleTimeInMillis() { + return TimeUnit.NANOSECONDS.toMillis(allIdleTimeNanos); + } + + @Override + public void handlerAdded(ChannelHandlerContext ctx) throws Exception { + if (ctx.channel().isActive() && ctx.channel().isRegistered()) { + // channelActive() event has been fired already, which means this.channelActive() will + // not be invoked. We have to initialize here instead. + initialize(ctx); + } else { + // channelActive() event has not been fired yet. this.channelActive() will be invoked + // and initialization will occur there. + } + } + + @Override + public void handlerRemoved(ChannelHandlerContext ctx) throws Exception { + destroy(); + } + + @Override + public void channelRegistered(ChannelHandlerContext ctx) throws Exception { + // Initialize early if channel is active already. + if (ctx.channel().isActive()) { + initialize(ctx); + } + super.channelRegistered(ctx); + } + + @Override + public void channelActive(ChannelHandlerContext ctx) throws Exception { + // This method will be invoked only if this doHandler was added + // before channelActive() event is fired. If a user adds this doHandler + // after the channelActive() event, initialize() will be called by beforeAdd(). + initialize(ctx); + super.channelActive(ctx); + } + + @Override + public void channelInactive(ChannelHandlerContext ctx) throws Exception { + destroy(); + super.channelInactive(ctx); + } + + @Override + public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + if (readerIdleTimeNanos > 0 || allIdleTimeNanos > 0) { + reading = true; + firstReaderIdleEvent = firstAllIdleEvent = true; + } + ctx.fireChannelRead(msg); + System.out.println("channelRead"); + } + + @Override + public void channelReadComplete(ChannelHandlerContext ctx) throws Exception { + if ((readerIdleTimeNanos > 0 || allIdleTimeNanos > 0) && reading) { + lastReadTime = ticksInNanos(); + reading = false; + } + ctx.fireChannelReadComplete(); + System.out.println("channelReadComplete"); + } + + @Override + public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception { + // Allow writing with void promise if doHandler is only configured for read timeout events. + if (writerIdleTimeNanos > 0 || allIdleTimeNanos > 0) { + ctx.write(msg, promise.unvoid()).addListener(writeListener); + } else { + ctx.write(msg, promise); + } + System.out.println("write"); + } + + private void initialize(ChannelHandlerContext ctx) { + // Avoid the case where destroy() is called before scheduling timeouts. + // See: https://github.com/netty/netty/issues/143 + switch (state) { + case 1: + case 2: + return; + default: + break; + } + + state = 1; + initOutputChanged(ctx); + + lastReadTime = lastWriteTime = ticksInNanos(); + if (readerIdleTimeNanos > 0) { + readerIdleTimeout = schedule(ctx, new ReaderIdleTimeoutTask(ctx), + readerIdleTimeNanos, TimeUnit.NANOSECONDS); + } + if (writerIdleTimeNanos > 0) { + writerIdleTimeout = schedule(ctx, new WriterIdleTimeoutTask(ctx), + writerIdleTimeNanos, TimeUnit.NANOSECONDS); + } + if (allIdleTimeNanos > 0) { + allIdleTimeout = schedule(ctx, new AllIdleTimeoutTask(ctx), + allIdleTimeNanos, TimeUnit.NANOSECONDS); + } + } + + /** + * This method is visible for testing! + */ + long ticksInNanos() { + return System.nanoTime(); + } + + /** + * This method is visible for testing! + */ + Future schedule(ChannelHandlerContext ctx, Runnable task, long delay, TimeUnit unit) { + return ctx.executor().schedule(task, delay, unit); + } + + private void destroy() { + state = 2; + + if (readerIdleTimeout != null) { + readerIdleTimeout.cancel(false); + readerIdleTimeout = null; + } + if (writerIdleTimeout != null) { + writerIdleTimeout.cancel(false); + writerIdleTimeout = null; + } + if (allIdleTimeout != null) { + allIdleTimeout.cancel(false); + allIdleTimeout = null; + } + } + + /** + * Is called when an {@link IdleStateEvent} should be fired. This implementation calls + * {@link ChannelHandlerContext#fireUserEventTriggered(Object)}. + */ + protected void channelIdle(ChannelHandlerContext ctx, IdleStateEvent evt) throws Exception { + ctx.fireUserEventTriggered(evt); + } + + /** + * Returns a {@link IdleStateEvent}. + */ + protected IdleStateEvent newIdleStateEvent(IdleState state, boolean first) { + switch (state) { + case ALL_IDLE: + return first ? IdleStateEvent.FIRST_ALL_IDLE_STATE_EVENT : IdleStateEvent.ALL_IDLE_STATE_EVENT; + case READER_IDLE: + return first ? IdleStateEvent.FIRST_READER_IDLE_STATE_EVENT : IdleStateEvent.READER_IDLE_STATE_EVENT; + case WRITER_IDLE: + return first ? IdleStateEvent.FIRST_WRITER_IDLE_STATE_EVENT : IdleStateEvent.WRITER_IDLE_STATE_EVENT; + default: + throw new IllegalArgumentException("Unhandled: state=" + state + ", first=" + first); + } + } + + /** + * @see #hasOutputChanged(ChannelHandlerContext, boolean) + */ + private void initOutputChanged(ChannelHandlerContext ctx) { + if (observeOutput) { + Channel channel = ctx.channel(); + Channel.Unsafe unsafe = channel.unsafe(); + ChannelOutboundBuffer buf = unsafe.outboundBuffer(); + + if (buf != null) { + lastMessageHashCode = System.identityHashCode(buf.current()); + lastPendingWriteBytes = buf.totalPendingWriteBytes(); + lastFlushProgress = buf.currentProgress(); + } + } + } + + /** + * Returns {@code true} if and only if the {@link IdleStateHandler} was constructed + * with {@link #observeOutput} enabled and there has been an observed change in the + * {@link ChannelOutboundBuffer} between two consecutive calls of this method. + *

+ * https://github.com/netty/netty/issues/6150 + */ + private boolean hasOutputChanged(ChannelHandlerContext ctx, boolean first) { + if (observeOutput) { + + // We can take this shortcut if the ChannelPromises that got passed into write() + // appear to complete. It indicates "change" on message level and we simply assume + // that there's change happening on byte level. If the user doesn't observe channel + // writability events then they'll eventually OOME and there's clearly a different + // problem and idleness is least of their concerns. + if (lastChangeCheckTimeStamp != lastWriteTime) { + lastChangeCheckTimeStamp = lastWriteTime; + + // But this applies only if it's the non-first call. + if (!first) { + return true; + } + } + + Channel channel = ctx.channel(); + Channel.Unsafe unsafe = channel.unsafe(); + ChannelOutboundBuffer buf = unsafe.outboundBuffer(); + + if (buf != null) { + int messageHashCode = System.identityHashCode(buf.current()); + long pendingWriteBytes = buf.totalPendingWriteBytes(); + + if (messageHashCode != lastMessageHashCode || pendingWriteBytes != lastPendingWriteBytes) { + lastMessageHashCode = messageHashCode; + lastPendingWriteBytes = pendingWriteBytes; + + if (!first) { + return true; + } + } + + long flushProgress = buf.currentProgress(); + if (flushProgress != lastFlushProgress) { + lastFlushProgress = flushProgress; + return !first; + } + } + } + + return false; + } + + private abstract static class AbstractIdleTask implements Runnable { + + private final ChannelHandlerContext ctx; + + AbstractIdleTask(ChannelHandlerContext ctx) { + this.ctx = ctx; + } + + @Override + public void run() { + if (!ctx.channel().isOpen()) { + return; + } + + run(ctx); + } + + protected abstract void run(ChannelHandlerContext ctx); + } + + private final class ReaderIdleTimeoutTask extends AbstractIdleTask { + + ReaderIdleTimeoutTask(ChannelHandlerContext ctx) { + super(ctx); + } + + @Override + protected void run(ChannelHandlerContext ctx) { + long nextDelay = readerIdleTimeNanos; + if (!reading) { + nextDelay -= ticksInNanos() - lastReadTime; + } + + if (nextDelay <= 0) { + // Reader is idle - set a new timeout and notify the callback. + readerIdleTimeout = schedule(ctx, this, readerIdleTimeNanos, TimeUnit.NANOSECONDS); + + boolean first = firstReaderIdleEvent; + firstReaderIdleEvent = false; + + try { + IdleStateEvent event = newIdleStateEvent(IdleState.READER_IDLE, first); + channelIdle(ctx, event); + } catch (Throwable t) { + ctx.fireExceptionCaught(t); + } + } else { + // Read occurred before the timeout - set a new timeout with shorter delay. + readerIdleTimeout = schedule(ctx, this, nextDelay, TimeUnit.NANOSECONDS); + } + } + } + + private final class WriterIdleTimeoutTask extends AbstractIdleTask { + + WriterIdleTimeoutTask(ChannelHandlerContext ctx) { + super(ctx); + } + + @Override + protected void run(ChannelHandlerContext ctx) { + + long lastWriteTime = LazyServerIdleStateHandler.this.lastWriteTime; + long nextDelay = writerIdleTimeNanos - (ticksInNanos() - lastWriteTime); + if (nextDelay <= 0) { + // Writer is idle - set a new timeout and notify the callback. + writerIdleTimeout = schedule(ctx, this, writerIdleTimeNanos, TimeUnit.NANOSECONDS); + + boolean first = firstWriterIdleEvent; + firstWriterIdleEvent = false; + + try { + if (hasOutputChanged(ctx, first)) { + return; + } + + IdleStateEvent event = newIdleStateEvent(IdleState.WRITER_IDLE, first); + channelIdle(ctx, event); + } catch (Throwable t) { + ctx.fireExceptionCaught(t); + } + } else { + // Write occurred before the timeout - set a new timeout with shorter delay. + writerIdleTimeout = schedule(ctx, this, nextDelay, TimeUnit.NANOSECONDS); + } + } + } + + private final class AllIdleTimeoutTask extends AbstractIdleTask { + + AllIdleTimeoutTask(ChannelHandlerContext ctx) { + super(ctx); + } + + @Override + protected void run(ChannelHandlerContext ctx) { + + long nextDelay = allIdleTimeNanos; + if (!reading) { + nextDelay -= ticksInNanos() - Math.max(lastReadTime, lastWriteTime); + } + if (nextDelay <= 0) { + // Both reader and writer are idle - set a new timeout and + // notify the callback. + allIdleTimeout = schedule(ctx, this, allIdleTimeNanos, TimeUnit.NANOSECONDS); + + boolean first = firstAllIdleEvent; + firstAllIdleEvent = false; + + try { + if (hasOutputChanged(ctx, first)) { + return; + } + + IdleStateEvent event = newIdleStateEvent(IdleState.ALL_IDLE, first); + channelIdle(ctx, event); + } catch (Throwable t) { + ctx.fireExceptionCaught(t); + } + } else { + // Either read or write occurred before the timeout - set a new + // timeout with shorter delay. + allIdleTimeout = schedule(ctx, this, nextDelay, TimeUnit.NANOSECONDS); + } + } + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/NettyServerHandler.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/NettyServerHandler.java new file mode 100644 index 00000000..daae6e2f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/NettyServerHandler.java @@ -0,0 +1,133 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.handler; + +import io.netty.channel.*; +import io.netty.handler.timeout.IdleState; +import io.netty.handler.timeout.IdleStateEvent; +import lombok.extern.slf4j.Slf4j; +import org.wu.framework.core.utils.ObjectUtils; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyCommunicationIdContext; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.common.NettyRealIdContext; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelTypeAdapter; +import org.framework.smart.agent.network.heartbeat.common.utils.ChannelAttributeKeyUtils; + +/** + * description 服务端数据处理器 + * + * @author 吴佳伟 + * @date 2023/09/13 10:27 + */ +@Slf4j +public class NettyServerHandler extends SimpleChannelInboundHandler { + + private final ChannelTypeAdapter channelTypeAdapter; + /** + * 空闲次数 + */ + private int idle_count = 1; + + public NettyServerHandler(ChannelTypeAdapter channelTypeAdapter) { + this.channelTypeAdapter = channelTypeAdapter; + } + + /** + * Is called for each message of type {@link I}. + * + * @param ctx the {@link ChannelHandlerContext} which this {@link SimpleChannelInboundHandler} + * belongs to + * @param nettyMsg the message to handle + * @throws Exception is thrown if an error occurred + */ + @Override + protected void channelRead0(ChannelHandlerContext ctx, NettyProxyMsg nettyMsg) throws Exception { + // 客户端读取到代理过来的数据了 + Channel channel = ctx.channel(); + byte type = nettyMsg.getType(); +// byte[] data = nettyMsg.getData(); +// log.info("客户端发送数据类型:{},发送数据:{}", type, new String(data)); + channelTypeAdapter.handler(channel, nettyMsg); + + } + + /** + * 超时处理 * 如果5秒没有接受客户端的心跳,就触发; * 如果超过两次,则直接关闭; + */ + @Override + public void userEventTriggered(ChannelHandlerContext ctx, Object obj) throws Exception { + Channel channel = ctx.channel(); + if (obj instanceof IdleStateEvent event) { + if (IdleState.READER_IDLE.equals(event.state())) { //如果读通道处于空闲状态,说明没有接收到心跳命令 + String clientId = ChannelAttributeKeyUtils.getClientId(channel); + String visitorId = ChannelAttributeKeyUtils.getVisitorId(channel); + // 已经5秒没有接收到客户端:{}的信息了 + log.warn("I haven't received any information from client: {} for 5 seconds", clientId); + if (idle_count > 2) { + + if (ObjectUtils.isEmpty(visitorId)) { + // 关闭这个不活跃的channel client:{} + log.warn("Close this inactive channel client: {}", clientId); + // 给所有客户端发送 这个客户端离线了 + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setClientId(clientId); + nettyMsg.setType(MessageType.REPORT_CLIENT_DISCONNECTION); + channelTypeAdapter.handler(channel, nettyMsg); + channel.close(); + } else { + log.warn("Close visitor: [{}]'s connection", visitorId); + NettyCommunicationIdContext.clear(visitorId); + NettyRealIdContext.clear(visitorId); + } + + } + idle_count++; + } + } else { + super.userEventTriggered(ctx, obj); + } + } + + + /** + * Calls {@link ChannelHandlerContext#fireChannelInactive()} to forward + * to the next {@link ChannelInboundHandler} in the {@link ChannelPipeline}. + *

+ * Sub-classes may override this method to change behavior. + * + * @param ctx + */ + @Override + public void channelInactive(ChannelHandlerContext ctx) throws Exception { + Channel channel = ctx.channel(); + boolean open = channel.isOpen(); + // 下发当前客户端通道断开连接 + + String clientId = ChannelAttributeKeyUtils.getClientId(channel); + String visitorId = ChannelAttributeKeyUtils.getVisitorId(channel); + + if (!ObjectUtils.isEmpty(visitorId)) { + // 客户端:{},断开访客的连接:{} + log.warn("Client: {}, disconnect guest: {}", clientId, visitorId); + // 访客通道 关闭访客通道 + NettyCommunicationIdContext.clear(visitorId); + super.channelInactive(ctx); + } else if (!ObjectUtils.isEmpty(clientId)) { + // 断开客户端的连接:{} + log.warn("Disconnect client: {}", clientId); + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setType(MessageType.REPORT_CLIENT_DISCONNECTION); + nettyMsg.setClientId(clientId); + channelTypeAdapter.handler(channel, nettyMsg); + super.channelInactive(ctx); + } + + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { +// super.exceptionCaught(ctx, cause); + Channel channel = ctx.channel(); + //…… + if (channel.isActive()) ctx.close(); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/VisitorHandler.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/VisitorHandler.java new file mode 100644 index 00000000..5941182a --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/handler/VisitorHandler.java @@ -0,0 +1,181 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.handler; + + +import io.netty.buffer.ByteBuf; +import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelOption; +import io.netty.channel.SimpleChannelInboundHandler; +import io.netty.util.internal.StringUtil; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.common.*; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelFlowAdapter; +import org.framework.smart.agent.network.heartbeat.common.enums.ChannelFlowEnum; +import org.framework.smart.agent.network.heartbeat.common.utils.ChannelAttributeKeyUtils; +import org.framework.smart.agent.network.heartbeat.server.netty.flow.ServerChannelFlow; + +import java.util.UUID; + +@Slf4j +public class VisitorHandler extends SimpleChannelInboundHandler { + private final InternalNetworkPenetrationRealClient internalNetworkPenetrationRealClient; + private final ChannelFlowAdapter channelFlowAdapter;// 流量适配器 + + public VisitorHandler(InternalNetworkPenetrationRealClient internalNetworkPenetrationRealClient, ChannelFlowAdapter channelFlowAdapter) { + this.internalNetworkPenetrationRealClient = internalNetworkPenetrationRealClient; + this.channelFlowAdapter = channelFlowAdapter; + } + + @Override + public void channelActive(ChannelHandlerContext ctx) throws Exception { + // 访客连接上代理服务器了 + Channel visitorChannel = ctx.channel(); + // 先不读取访客数据 + visitorChannel.config().setOption(ChannelOption.AUTO_READ, false); + + + // 生成访客ID + String visitorId = UUID.randomUUID().toString(); + String clientId = internalNetworkPenetrationRealClient.getClientId(); + Integer visitorPort = internalNetworkPenetrationRealClient.getVisitorPort(); + String clientTargetIp = internalNetworkPenetrationRealClient.getClientTargetIp(); + Integer clientTargetPort = internalNetworkPenetrationRealClient.getClientTargetPort(); + // 绑定访客真实通道 + NettyRealIdContext.pushReal(visitorChannel, visitorId); + // 当前通道绑定访客ID + ChannelAttributeKeyUtils.buildVisitorId(visitorChannel, visitorId); + ChannelAttributeKeyUtils.buildClientId(visitorChannel, clientId); + NettyProxyMsg nettyProxyMsg = new NettyProxyMsg(); + nettyProxyMsg.setType(MessageType.DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT); + nettyProxyMsg.setClientId(clientId); + nettyProxyMsg.setVisitorPort(visitorPort); + nettyProxyMsg.setClientTargetIp(clientTargetIp); + nettyProxyMsg.setClientTargetPort(clientTargetPort); + + nettyProxyMsg.setVisitorId(visitorId); + + // 客户端心跳通道 + ChannelContext.ClientChannel clientChannel = ChannelContext.get(clientId); + if (clientChannel != null) { + log.info("通过客户端:{},获取通道而后创建连接", clientId); + Channel channel = clientChannel.getChannel(); + channel.writeAndFlush(nettyProxyMsg); + } else { + log.error("无法通过客户端ID获取客户端通道"); + } + + + // 等待访客ID传输到客户端后绑定客户端真实服务后开启 + + + log.info("服务端访客端口连接成功了"); + super.channelActive(ctx); + } + + @Override + public void channelRead0(ChannelHandlerContext ctx, ByteBuf buf) { + + Channel realChannel = ctx.channel(); + String clientId = internalNetworkPenetrationRealClient.getClientId(); + String clientTargetIp = internalNetworkPenetrationRealClient.getClientTargetIp(); + Integer clientTargetPort = internalNetworkPenetrationRealClient.getClientTargetPort(); + Integer visitorPort = internalNetworkPenetrationRealClient.getVisitorPort(); + String visitorId = ChannelAttributeKeyUtils.getVisitorId(realChannel); + if (StringUtil.isNullOrEmpty(clientId)) { + return; + } + byte[] bytes = new byte[buf.readableBytes()]; + buf.readBytes(bytes); + // 获取客户端通道,而后进行数据下发 + log.debug("服务端访客端口成功接收数据:{}", new String(bytes)); + + // 使用访客的通信通道 + Channel visitorCommunicationChannel = NettyCommunicationIdContext.getVisitor(visitorId); + // 绑定数据流量 + ChannelAttributeKeyUtils.buildInFlow(visitorCommunicationChannel, bytes.length); + NettyProxyMsg nettyProxyMsg = new NettyProxyMsg(); + nettyProxyMsg.setType(MessageType.DISTRIBUTE_CLIENT_TRANSFER); + nettyProxyMsg.setClientId(clientId); + nettyProxyMsg.setClientTargetIp(clientTargetIp); + nettyProxyMsg.setClientTargetPort(clientTargetPort); + nettyProxyMsg.setVisitorPort(visitorPort); + nettyProxyMsg.setVisitorId(visitorId); + nettyProxyMsg.setData(bytes); + visitorCommunicationChannel.writeAndFlush(nettyProxyMsg); + // 处理访客流量 + ServerChannelFlow serverChannelFlow = ServerChannelFlow + .builder() + .channelFlowEnum(ChannelFlowEnum.IN_FLOW) + .port(visitorPort) + .clientId(clientId) + .flow(bytes.length) + .build(); + channelFlowAdapter.handler(realChannel, serverChannelFlow); + log.debug("服务端访客端口成功发送数据了"); + } + + @Override + public void channelInactive(ChannelHandlerContext ctx) throws Exception { + String visitorId = ChannelAttributeKeyUtils.getVisitorId(ctx.channel()); + String clientId = ChannelAttributeKeyUtils.getClientId(ctx.channel()); + if (StringUtil.isNullOrEmpty(visitorId)) { + super.channelInactive(ctx); + return; + } + // 通信通道自动读写打开 ,然后关闭通信通道 + Channel visitorChannel = NettyCommunicationIdContext.getVisitor(visitorId); + if (visitorChannel != null && visitorChannel.isActive()) { + + visitorChannel.config().setOption(ChannelOption.AUTO_READ, true); + + // 通知服务端 关闭访问通道、真实通道 + NettyProxyMsg myMsg = new NettyProxyMsg(); + myMsg.setType(MessageType.DISTRIBUTE_SINGLE_CLIENT_REAL_CLOSE_VISITOR); + myMsg.setVisitorId(visitorId); + visitorChannel.writeAndFlush(myMsg); + } + // 关闭 访客通信通道、访客真实通道 + NettyRealIdContext.clear(visitorId); + NettyCommunicationIdContext.clear(visitorId); + log.warn("服务端访客端口断开连接"); + super.channelInactive(ctx); + } + + @Override + public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception { + +// Channel visitorChannel = ctx.channel(); +// String vid = visitorChannel.attr(Constant.VID).get(); +// if (StringUtil.isNullOrEmpty(vid)) { +// super.channelWritabilityChanged(ctx); +// return; +// } +// Channel clientChannel = Constant.vcc.get(vid); +// if (clientChannel != null) { +// clientChannel.config().setOption(ChannelOption.AUTO_READ, visitorChannel.isWritable()); +// } + log.info("channelWritabilityChanged"); + super.channelWritabilityChanged(ctx); + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { + log.error("exceptionCaught"); + + Channel channel = ctx.channel(); + String clientId = ChannelAttributeKeyUtils.getClientId(channel); + String visitorId = ChannelAttributeKeyUtils.getVisitorId(channel); + // 使用通信通道 下发关闭访客 + Channel visitorChannel = NettyCommunicationIdContext.getVisitor(visitorId); + if (visitorChannel != null) { + // 下发关闭访客 + NettyProxyMsg closeRealClient = new NettyProxyMsg(); + closeRealClient.setType(MessageType.DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT_AUTO_READ); + closeRealClient.setClientId(clientId); + closeRealClient.setVisitorId(visitorId); + visitorChannel.writeAndFlush(closeRealClient); + } + + ctx.close(); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/socket/NettyOnCloudNettyServerSocket.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/socket/NettyOnCloudNettyServerSocket.java new file mode 100644 index 00000000..f534bf08 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/socket/NettyOnCloudNettyServerSocket.java @@ -0,0 +1,61 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.socket; + + +import io.netty.bootstrap.ServerBootstrap; +import io.netty.channel.ChannelFuture; +import io.netty.channel.ChannelFutureListener; +import io.netty.channel.ChannelOption; +import io.netty.channel.EventLoopGroup; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.nio.NioServerSocketChannel; +import org.framework.smart.agent.network.heartbeat.server.netty.filter.NettyServerFilter; + +public class NettyOnCloudNettyServerSocket { + private final EventLoopGroup bossGroup = new NioEventLoopGroup(); + private final EventLoopGroup workerGroup = new NioEventLoopGroup(); + private final NettyServerFilter nettyServerFilter;// 通道业务处理 + private ChannelFuture channelFuture; + + public NettyOnCloudNettyServerSocket(NettyServerFilter nettyServerFilter) { + this.nettyServerFilter = nettyServerFilter; + } + + /** + * 启动服务端 + * + * @throws Exception + */ + public void startServer(int serverPort) throws Exception { + try { + + ServerBootstrap b = new ServerBootstrap(); + b.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class) + // 给服务端channel设置属性 + .option(ChannelOption.SO_BACKLOG, 128) + + .childOption(ChannelOption.SO_KEEPALIVE, true) + .childHandler(nettyServerFilter); + channelFuture = b.bind(serverPort).sync(); + + channelFuture.addListener((ChannelFutureListener) channelFuture -> { + // 服务器已启动 + }); + channelFuture.channel().closeFuture().sync(); + } finally { + shutdown(); + // 服务器已关闭 + } + } + + public void shutdown() { + if (channelFuture != null) { + channelFuture.channel().close().syncUninterruptibly(); + } + if ((bossGroup != null) && (!bossGroup.isShutdown())) { + bossGroup.shutdownGracefully(); + } + if ((workerGroup != null) && (!workerGroup.isShutdown())) { + workerGroup.shutdownGracefully(); + } + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/socket/NettyVisitorSocket.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/socket/NettyVisitorSocket.java new file mode 100644 index 00000000..3cf49d09 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/netty/socket/NettyVisitorSocket.java @@ -0,0 +1,225 @@ +package org.framework.smart.agent.network.heartbeat.server.netty.socket; + +import io.netty.bootstrap.ServerBootstrap; +import io.netty.channel.*; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.nio.NioServerSocketChannel; +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.common.InternalNetworkPenetrationRealClient; +import org.framework.smart.agent.network.heartbeat.common.NettyClientVisitorContext; +import org.framework.smart.agent.network.heartbeat.common.NettyVisitorPortContext; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelFlowAdapter; +import org.framework.smart.agent.network.heartbeat.server.netty.filter.VisitorFilter; + +import java.io.IOException; + +/** + * 访客链接socket + * + * @see NettyVisitorPortContext + * @see NettyClientVisitorContext + */ +@Slf4j +public class NettyVisitorSocket { + private final EventLoopGroup bossGroup = new NioEventLoopGroup(); + private final EventLoopGroup workerGroup = new NioEventLoopGroup(); + private final VisitorFilter visitorFilter; + @Getter + private final String clientId; + @Getter + private final int visitorPort; + + public NettyVisitorSocket(VisitorFilter visitorFilter, String clientId, int visitorPort) { + this.visitorFilter = visitorFilter; + this.clientId = clientId; + this.visitorPort = visitorPort; + } + + /** + * 启动服务代理 + * + * @throws Exception + */ + public void startServer() throws Exception { + + Channel visitor = NettyVisitorPortContext.getVisitor(visitorPort); + if (visitor == null) { + ServerBootstrap b = new ServerBootstrap(); + b + .group(bossGroup, workerGroup) + .childOption(ChannelOption.SO_KEEPALIVE, true) + .channel(NioServerSocketChannel.class) + .childHandler(visitorFilter); + ChannelFuture sync = b.bind(visitorPort).sync(); + sync.addListener((ChannelFutureListener) future -> { + if (future.isSuccess()) { + // 这里时异步处理 + log.info("客户端:[{}]访客端口:[{}] 开启", clientId, visitorPort); + NettyVisitorPortContext.pushVisitor(visitorPort, future.channel()); + + } else { + log.error("客户端:[{}]访客端口:[{}]绑定失败", clientId, visitorPort); + } + }); + NettyClientVisitorContext.pushVisitorSocket(clientId, this); + } else { + log.warn("客户端:[{}]访客端口:[{}] 重复启动", clientId, visitorPort); + } + + } + + public void close() throws IOException, InterruptedException { + if (!bossGroup.isShutdown()) { + bossGroup.shutdownGracefully(); + } + if (!workerGroup.isShutdown()) { + workerGroup.shutdownGracefully(); + } + Channel visitor = NettyVisitorPortContext.getVisitor(visitorPort); + if (visitor != null) { + + // close channel + visitor.close(); + // remove visitor + NettyVisitorPortContext.removeVisitor(visitorPort); + // remove client this + NettyClientVisitorContext.removeVisitorSocket(clientId,this); + log.warn("关闭客户端 :【{}】 访客户端口:【{}】", clientId, visitorPort); + } else { + log.warn("关闭访客端口失败 未找到客户端通道 客户端 :【{}】 访客户端口:【{}】", clientId, visitorPort); + } + } + + + public static final class NettyVisitorSocketBuilder { + + /** + * 客户端ID + */ + private String clientId; + + /** + * 客户端目标地址 + */ + private String clientTargetIp; + + /** + * 客户端目标端口 + */ + private Integer clientTargetPort; + + + /** + * 访问端口 + */ + private Integer visitorPort; + /** + * 访客ID + */ + private String visitorId; + + /** + * 流量适配器 + */ + private ChannelFlowAdapter channelFlowAdapter; + + public static NettyVisitorSocketBuilder builder() { + return new NettyVisitorSocketBuilder(); + } + + /** + * 填充客户端 + * + * @param clientId 客户端 + * @return 返回当前对象 + */ + public NettyVisitorSocketBuilder builderClientId(String clientId) { + this.clientId = clientId; + return this; + } + + /** + * 绑定客户端目标IP + * + * @param clientTargetIp 客户端目标IP + * @return 当前对象 + */ + public NettyVisitorSocketBuilder builderClientTargetIp(String clientTargetIp) { + this.clientTargetIp = clientTargetIp; + return this; + } + + /** + * 绑定客户端目标端口 + * + * @param clientTargetPort 客户端目标端口 + * @return 当前对象 + */ + public NettyVisitorSocketBuilder builderClientTargetPort(Integer clientTargetPort) { + this.clientTargetPort = clientTargetPort; + return this; + } + + /** + * 绑定访客端口 + * + * @param visitorPort 访客端口 + * @return 当前对象 + */ + public NettyVisitorSocketBuilder builderVisitorPort(Integer visitorPort) { + this.visitorPort = visitorPort; + return this; + } + + /** + * 绑定流量适配器 + * + * @param channelFlowAdapter 流量适配器 + * @return 当前对象 + */ + public NettyVisitorSocketBuilder builderChannelFlowAdapter(ChannelFlowAdapter channelFlowAdapter) { + this.channelFlowAdapter = channelFlowAdapter; + return this; + } + + /** + * 绑定访客ID + * + * @param visitorId 访客ID + * @return 当前对象 + */ + public NettyVisitorSocketBuilder builderVisitorId(String visitorId) { + this.visitorId = visitorId; + return this; + } + + public NettyVisitorSocket build() { + if (clientId == null) { + throw new IllegalArgumentException("clientId must not null"); + } + if (clientTargetIp == null) { + throw new IllegalArgumentException("clientTargetIp must not null"); + } + if (clientTargetPort == null) { + throw new IllegalArgumentException("clientTargetPort must not null"); + } + if (visitorPort == null) { + throw new IllegalArgumentException("visitorPort must not null"); + } + InternalNetworkPenetrationRealClient internalNetworkPenetrationRealClient = InternalNetworkPenetrationRealClient + .builder() + .clientId(clientId) + .clientTargetIp(clientTargetIp) + .clientTargetPort(clientTargetPort) + .visitorPort(visitorPort) + .visitorId(visitorId).build(); + + VisitorFilter visitorFilter = new VisitorFilter(internalNetworkPenetrationRealClient, channelFlowAdapter); + return new NettyVisitorSocket(visitorFilter, clientId, visitorPort); + } + + + } + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/properties/ServerNodeProperties.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/properties/ServerNodeProperties.java new file mode 100644 index 00000000..262a3183 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/properties/ServerNodeProperties.java @@ -0,0 +1,39 @@ +package org.framework.smart.agent.network.heartbeat.server.properties; + +import lombok.Data; +import org.framework.smart.agent.network.heartbeat.common.enums.NetWorkMode; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +/** + * 服务端模式配置 + */ +@Configuration +@ConfigurationProperties(prefix = ServerNodeProperties.prefix) +@Data +public class ServerNodeProperties { + public static final String prefix = "spring.lazy.netty.server"; + + /** + * 模式 默认单机版 + */ + private NetWorkMode mode = NetWorkMode.STANDALONE; + + /** + * + * 集群节点host + */ + private String nodeHost; + + /** + * + * 集群节点ID + */ + private String nodeId; + + /** + * + * 集群节点端口 + */ + private Integer nodePort; +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyClientStatsChangeApplication.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyClientStatsChangeApplication.java new file mode 100644 index 00000000..40f2f3c9 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyClientStatsChangeApplication.java @@ -0,0 +1,38 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application; + +/** + * 云下心跳客户端操作 nacos 配置 + */ +public interface LazyClientStatsChangeApplication { + + + /** + * 客户端在线 + * + * @param clientId 客户端ID + */ + void clientOnLine(String clientId); + + /** + * 客户端离线 + * + * @param clientId 客户端ID + */ + void clientOffLine(String clientId); + + /** + * 客户端暂存关闭 + * + * @param clientId 客户端ID + */ + void stagingClosed(String clientId); + + + /** + * 客户端暂存开启 + * + * @param clientId 客户端ID + */ + void stagingOpened(String clientId); + +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyInternalNetworkPenetrationMappingApplication.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyInternalNetworkPenetrationMappingApplication.java new file mode 100644 index 00000000..0f91ec4e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyInternalNetworkPenetrationMappingApplication.java @@ -0,0 +1,107 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application; + + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.internal.network.penetration.mapping.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyInternalNetworkPenetrationMappingDTO; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.internal.network.penetration.mapping.LazyInternalNetworkPenetrationMapping; + +import java.util.List; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyApplication + **/ + +public interface LazyInternalNetworkPenetrationMappingApplication { + + + /** + * describe 新增内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingStoryCommand 新增内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result story(LazyInternalNetworkPenetrationMappingStoryCommand lazyInternalNetworkPenetrationMappingStoryCommand) ; + + /** + * describe 批量新增内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingStoryCommandList 批量新增内网穿透映射 + * @return {@link Result>} 内网穿透映射新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result> batchStory(List lazyInternalNetworkPenetrationMappingStoryCommandList); + + /** + * describe 更新内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingUpdateCommand 更新内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result updateOne(LazyInternalNetworkPenetrationMappingUpdateCommand lazyInternalNetworkPenetrationMappingUpdateCommand) ; + + /** + * describe 查询单个内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingQueryOneCommand 查询单个内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMappingDTO >} 内网穿透映射DTO对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result findOne(LazyInternalNetworkPenetrationMappingQueryOneCommand lazyInternalNetworkPenetrationMappingQueryOneCommand); + + /** + * describe 查询多个内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingQueryListCommand 查询多个内网穿透映射 + * @return {@link Result >} 内网穿透映射DTO对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result> findList(LazyInternalNetworkPenetrationMappingQueryListCommand lazyInternalNetworkPenetrationMappingQueryListCommand); + + /** + * describe 分页查询多个内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingQueryListCommand 分页查询多个内网穿透映射 + * @return {@link Result >} 分页内网穿透映射DTO对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result> findPage(int size, int current, LazyInternalNetworkPenetrationMappingQueryListCommand lazyInternalNetworkPenetrationMappingQueryListCommand); + + /** + * describe 删除内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingRemoveCommand 删除内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result remove(LazyInternalNetworkPenetrationMappingRemoveCommand lazyInternalNetworkPenetrationMappingRemoveCommand); + + /** + * 创建客户端的访问者 + * + * @param clientId 客户端ID + */ + Result createVisitor(String clientId); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyNettyClientBlacklistApplication.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyNettyClientBlacklistApplication.java new file mode 100644 index 00000000..de910712 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyNettyClientBlacklistApplication.java @@ -0,0 +1,110 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application; + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyNettyClientBlacklistDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.blacklist.*; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.blacklist.LazyNettyClientBlacklist; + +import java.util.List; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyApplication + **/ + +public interface LazyNettyClientBlacklistApplication { + + + /** + * describe 新增客户端黑名单 + * + * @param lazyNettyClientBlacklistStoryCommand 新增客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result story(LazyNettyClientBlacklistStoryCommand lazyNettyClientBlacklistStoryCommand); + + /** + * describe 批量新增客户端黑名单 + * + * @param lazyNettyClientBlacklistStoryCommandList 批量新增客户端黑名单 + * @return {@link Result>} 客户端黑名单新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result> batchStory(List lazyNettyClientBlacklistStoryCommandList); + + /** + * describe 更新客户端黑名单 + * + * @param lazyNettyClientBlacklistUpdateCommand 更新客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result updateOne(LazyNettyClientBlacklistUpdateCommand lazyNettyClientBlacklistUpdateCommand); + + /** + * describe 查询单个客户端黑名单 + * + * @param lazyNettyClientBlacklistQueryOneCommand 查询单个客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklistDTO >} 客户端黑名单DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result findOne(LazyNettyClientBlacklistQueryOneCommand lazyNettyClientBlacklistQueryOneCommand); + + /** + * describe 查询多个客户端黑名单 + * + * @param lazyNettyClientBlacklistQueryListCommand 查询多个客户端黑名单 + * @return {@link Result >} 客户端黑名单DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result> findList(LazyNettyClientBlacklistQueryListCommand lazyNettyClientBlacklistQueryListCommand); + + /** + * describe 分页查询多个客户端黑名单 + * + * @param lazyNettyClientBlacklistQueryListCommand 分页查询多个客户端黑名单 + * @return {@link Result >} 分页客户端黑名单DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result> findPage(int size, int current, LazyNettyClientBlacklistQueryListCommand lazyNettyClientBlacklistQueryListCommand); + + /** + * describe 删除客户端黑名单 + * + * @param lazyNettyClientBlacklistRemoveCommand 删除客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result remove(LazyNettyClientBlacklistRemoveCommand lazyNettyClientBlacklistRemoveCommand); + + /** + * describe 是否存在客户端黑名单 + * + * @param lazyNettyClientBlacklist 是否存在客户端黑名单 + * @return {@link Result} 客户端黑名单是否存在 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result exists(LazyNettyClientBlacklist lazyNettyClientBlacklist); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyNettyClientStateApplication.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyNettyClientStateApplication.java new file mode 100644 index 00000000..9766fbe6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyNettyClientStateApplication.java @@ -0,0 +1,109 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application; + + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyNettyClientStateDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.state.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state.LazyNettyClientState; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication; + + +import java.util.List; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyApplication + **/ + +public interface LazyNettyClientStateApplication { + + + /** + * describe 新增客户端状态 + * + * @param lazyNettyClientStateStoryCommand 新增客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result story(LazyNettyClientStateStoryCommand lazyNettyClientStateStoryCommand); + + /** + * describe 批量新增客户端状态 + * + * @param lazyNettyClientStateStoryCommandList 批量新增客户端状态 + * @return {@link Result>} 客户端状态新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result> batchStory(List lazyNettyClientStateStoryCommandList); + + /** + * describe 更新客户端状态 + * + * @param lazyNettyClientStateUpdateCommand 更新客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result updateOne(LazyNettyClientStateUpdateCommand lazyNettyClientStateUpdateCommand); + + /** + * describe 查询单个客户端状态 + * + * @param lazyNettyClientStateQueryOneCommand 查询单个客户端状态 + * @return {@link Result< LazyNettyClientStateDTO >} 客户端状态DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result findOne(LazyNettyClientStateQueryOneCommand lazyNettyClientStateQueryOneCommand); + + /** + * describe 查询多个客户端状态 + * + * @param lazyNettyClientStateQueryListCommand 查询多个客户端状态 + * @return {@link Result >} 客户端状态DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result> findList(LazyNettyClientStateQueryListCommand lazyNettyClientStateQueryListCommand); + + /** + * describe 分页查询多个客户端状态 + * + * @param lazyNettyClientStateQueryListCommand 分页查询多个客户端状态 + * @return {@link Result >} 分页客户端状态DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result> findPage(int size, int current, LazyNettyClientStateQueryListCommand lazyNettyClientStateQueryListCommand); + + /** + * describe 删除客户端状态 + * + * @param lazyNettyClientStateRemoveCommand 删除客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result remove(LazyNettyClientStateRemoveCommand lazyNettyClientStateRemoveCommand); + + /** + * 通过客户端心跳通道发送客户端请求 + * + * @param lazyNettyClientMessageCommand 发送请求到客户端 + * @return {@link Result} + */ + Result sendMessage2HeartbeatClient(LazyNettyClientMessageCommand lazyNettyClientMessageCommand); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyNettyServerVisitorApplication.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyNettyServerVisitorApplication.java new file mode 100644 index 00000000..3621fcfe --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyNettyServerVisitorApplication.java @@ -0,0 +1,101 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application; + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.server.visitor.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyNettyServerVisitorDTO; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication; + +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.server.visitor.LazyNettyServerVisitor; + +import java.util.List; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyApplication + **/ + +public interface LazyNettyServerVisitorApplication { + + + /** + * describe 新增服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorStoryCommand 新增服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口新增后领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result story(LazyNettyServerVisitorStoryCommand lazyNettyServerVisitorStoryCommand); + + /** + * describe 批量新增服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorStoryCommandList 批量新增服务端提前开放出来的端口 + * @return {@link Result>} 服务端提前开放出来的端口新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result> batchStory(List lazyNettyServerVisitorStoryCommandList); + + /** + * describe 更新服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorUpdateCommand 更新服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result updateOne(LazyNettyServerVisitorUpdateCommand lazyNettyServerVisitorUpdateCommand); + + /** + * describe 查询单个服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorQueryOneCommand 查询单个服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitorDTO >} 服务端提前开放出来的端口DTO对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result findOne(LazyNettyServerVisitorQueryOneCommand lazyNettyServerVisitorQueryOneCommand); + + /** + * describe 查询多个服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorQueryListCommand 查询多个服务端提前开放出来的端口 + * @return {@link Result >} 服务端提前开放出来的端口DTO对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result> findList(LazyNettyServerVisitorQueryListCommand lazyNettyServerVisitorQueryListCommand); + + /** + * describe 分页查询多个服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorQueryListCommand 分页查询多个服务端提前开放出来的端口 + * @return {@link Result >} 分页服务端提前开放出来的端口DTO对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result> findPage(int size, int current, LazyNettyServerVisitorQueryListCommand lazyNettyServerVisitorQueryListCommand); + + /** + * describe 删除服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorRemoveCommand 删除服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result remove(LazyNettyServerVisitorRemoveCommand lazyNettyServerVisitorRemoveCommand); + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyVisitorPortFlowApplication.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyVisitorPortFlowApplication.java new file mode 100644 index 00000000..2ed44605 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyVisitorPortFlowApplication.java @@ -0,0 +1,120 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application; + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyVisitorPortFlowDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.flow.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyVisitorFlowDTO; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication; + +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.flow.LazyVisitorPortFlow; + +import java.util.List; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyApplication + **/ + +public interface LazyVisitorPortFlowApplication { + + + /** + * describe 新增访客端流量 + * + * @param lazyVisitorPortFlowStoryCommand 新增访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量新增后领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result story(LazyVisitorPortFlowStoryCommand lazyVisitorPortFlowStoryCommand); + + /** + * + * 流量增长存储 + * @param lazyVisitorPortFlowStoryCommand + * @return + */ + Result flowIncreaseStory(LazyVisitorPortFlowStoryCommand lazyVisitorPortFlowStoryCommand); + + /** + * describe 批量新增访客端流量 + * + * @param lazyVisitorPortFlowStoryCommandList 批量新增访客端流量 + * @return {@link Result>} 访客端流量新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result> batchStory(List lazyVisitorPortFlowStoryCommandList); + + /** + * describe 更新访客端流量 + * + * @param lazyVisitorPortFlowUpdateCommand 更新访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result updateOne(LazyVisitorPortFlowUpdateCommand lazyVisitorPortFlowUpdateCommand); + + /** + * describe 查询单个访客端流量 + * + * @param lazyVisitorPortFlowQueryOneCommand 查询单个访客端流量 + * @return {@link Result< LazyVisitorPortFlowDTO >} 访客端流量DTO对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result findOne(LazyVisitorPortFlowQueryOneCommand lazyVisitorPortFlowQueryOneCommand); + + /** + * describe 查询多个访客端流量 + * + * @param lazyVisitorPortFlowQueryListCommand 查询多个访客端流量 + * @return {@link Result >} 访客端流量DTO对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result> findList(LazyVisitorPortFlowQueryListCommand lazyVisitorPortFlowQueryListCommand); + + /** + * describe 分页查询多个访客端流量 + * + * @param lazyVisitorPortFlowQueryListCommand 分页查询多个访客端流量 + * @return {@link Result >} 分页访客端流量DTO对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result> findPage(int size, int current, LazyVisitorPortFlowQueryListCommand lazyVisitorPortFlowQueryListCommand); + + /** + * describe 删除访客端流量 + * + * @param lazyVisitorPortFlowRemoveCommand 删除访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result remove(LazyVisitorPortFlowRemoveCommand lazyVisitorPortFlowRemoveCommand); + + + /** + * 根据客户端查询流量 + * + * @param size 分页大小 + * @param current 分页 + * @param lazyVisitorPortFlowQueryListCommand 查询条件 + * @return {@link Result>} 分页访客端流量DTO对象 + */ + Result> findClientFlowPage(int size, int current, LazyVisitorPortFlowQueryListCommand lazyVisitorPortFlowQueryListCommand); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyVisitorPortPerDayFlowApplication.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyVisitorPortPerDayFlowApplication.java new file mode 100644 index 00000000..b37ffeb4 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/LazyVisitorPortPerDayFlowApplication.java @@ -0,0 +1,122 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application; + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyClientFlowPerDayEchartsDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyClientPortFlowPerDayEchartsDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyVisitorPortPerDayFlowDTO; +import org.wu.framework.web.response.Result; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.port.per.day.flow.LazyVisitorPortPerDayFlow; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowRemoveCommand; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowStoryCommand; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowUpdateCommand; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowQueryListCommand; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowQueryOneCommand; + +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication + **/ + +public interface LazyVisitorPortPerDayFlowApplication { + + + /** + * describe 新增每日统计流量 + * + * @param lazyVisitorPortPerDayFlowStoryCommand 新增每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlow >} 每日统计流量新增后领域对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result story(LazyVisitorPortPerDayFlowStoryCommand lazyVisitorPortPerDayFlowStoryCommand); + + /** + * describe 批量新增每日统计流量 + * + * @param lazyVisitorPortPerDayFlowStoryCommandList 批量新增每日统计流量 + * @return {@link Result>} 每日统计流量新增后领域对象集合 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result> batchStory(List lazyVisitorPortPerDayFlowStoryCommandList); + + /** + * describe 更新每日统计流量 + * + * @param lazyVisitorPortPerDayFlowUpdateCommand 更新每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlow >} 每日统计流量领域对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result updateOne(LazyVisitorPortPerDayFlowUpdateCommand lazyVisitorPortPerDayFlowUpdateCommand); + + /** + * describe 查询单个每日统计流量 + * + * @param lazyVisitorPortPerDayFlowQueryOneCommand 查询单个每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlowDTO >} 每日统计流量DTO对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result findOne(LazyVisitorPortPerDayFlowQueryOneCommand lazyVisitorPortPerDayFlowQueryOneCommand); + + /** + * describe 查询多个每日统计流量 + * + * @param lazyVisitorPortPerDayFlowQueryListCommand 查询多个每日统计流量 + * @return {@link Result >} 每日统计流量DTO对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result > findList(LazyVisitorPortPerDayFlowQueryListCommand lazyVisitorPortPerDayFlowQueryListCommand); + + /** + * describe 分页查询多个每日统计流量 + * + * @param lazyVisitorPortPerDayFlowQueryListCommand 分页查询多个每日统计流量 + * @return {@link Result >} 分页每日统计流量DTO对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result > findPage(int size, int current, LazyVisitorPortPerDayFlowQueryListCommand lazyVisitorPortPerDayFlowQueryListCommand); + + /** + * describe 删除每日统计流量 + * + * @param lazyVisitorPortPerDayFlowRemoveCommand 删除每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlow >} 每日统计流量 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result remove(LazyVisitorPortPerDayFlowRemoveCommand lazyVisitorPortPerDayFlowRemoveCommand); + + /** + * 获取客户近七天流量数据 + * @return + */ + Result findClient7DayFlow(); + + /** + * 获取客户流量数据 + * @return + */ + Result findClientPerDayFlow(); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/InternalNetworkPenetrationMappingDTOAssembler.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/InternalNetworkPenetrationMappingDTOAssembler.java new file mode 100644 index 00000000..f1e886ca --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/InternalNetworkPenetrationMappingDTOAssembler.java @@ -0,0 +1,88 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.assembler; + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.internal.network.penetration.mapping.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyInternalNetworkPenetrationMappingDTO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.internal.network.penetration.mapping.LazyInternalNetworkPenetrationMapping; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyAssembler + **/ +@Mapper +public interface InternalNetworkPenetrationMappingDTOAssembler { + + + /** + * describe MapStruct 创建的代理对象 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + InternalNetworkPenetrationMappingDTOAssembler INSTANCE = Mappers.getMapper(InternalNetworkPenetrationMappingDTOAssembler.class); + + /** + * describe 应用层存储入参转换成 领域对象 + * + * @param lazyInternalNetworkPenetrationMappingStoryCommand 保存内网穿透映射对象 + * @return {@link LazyInternalNetworkPenetrationMapping} 内网穿透映射领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + LazyInternalNetworkPenetrationMapping toInternalNetworkPenetrationMapping(LazyInternalNetworkPenetrationMappingStoryCommand lazyInternalNetworkPenetrationMappingStoryCommand); + + /** + * describe 应用层更新入参转换成 领域对象 + * + * @param lazyInternalNetworkPenetrationMappingUpdateCommand 更新内网穿透映射对象 + * @return {@link LazyInternalNetworkPenetrationMapping} 内网穿透映射领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + LazyInternalNetworkPenetrationMapping toInternalNetworkPenetrationMapping(LazyInternalNetworkPenetrationMappingUpdateCommand lazyInternalNetworkPenetrationMappingUpdateCommand); + + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyInternalNetworkPenetrationMappingQueryOneCommand 查询单个内网穿透映射对象参数 + * @return {@link LazyInternalNetworkPenetrationMapping} 内网穿透映射领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + LazyInternalNetworkPenetrationMapping toInternalNetworkPenetrationMapping(LazyInternalNetworkPenetrationMappingQueryOneCommand lazyInternalNetworkPenetrationMappingQueryOneCommand); + + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyInternalNetworkPenetrationMappingQueryListCommand 查询集合内网穿透映射对象参数 + * @return {@link LazyInternalNetworkPenetrationMapping} 内网穿透映射领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + LazyInternalNetworkPenetrationMapping toInternalNetworkPenetrationMapping(LazyInternalNetworkPenetrationMappingQueryListCommand lazyInternalNetworkPenetrationMappingQueryListCommand); + + /** + * describe 应用层删除入参转换成 领域对象 + * + * @param lazyInternalNetworkPenetrationMappingRemoveCommand 删除内网穿透映射对象参数 + * @return {@link LazyInternalNetworkPenetrationMapping} 内网穿透映射领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + LazyInternalNetworkPenetrationMapping toInternalNetworkPenetrationMapping(LazyInternalNetworkPenetrationMappingRemoveCommand lazyInternalNetworkPenetrationMappingRemoveCommand); + + /** + * describe 持久层领域对象转换成DTO对象 + * + * @param lazyInternalNetworkPenetrationMapping 内网穿透映射领域对象 + * @return {@link LazyInternalNetworkPenetrationMappingDTO} 内网穿透映射DTO对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + LazyInternalNetworkPenetrationMappingDTO fromInternalNetworkPenetrationMapping(LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/NettyClientBlacklistDTOAssembler.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/NettyClientBlacklistDTOAssembler.java new file mode 100644 index 00000000..d9fc3c5d --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/NettyClientBlacklistDTOAssembler.java @@ -0,0 +1,89 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.assembler; + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.blacklist.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyNettyClientBlacklistDTO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler; + +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.blacklist.LazyNettyClientBlacklist; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyAssembler + **/ +@Mapper +public interface NettyClientBlacklistDTOAssembler { + + + /** + * describe MapStruct 创建的代理对象 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + NettyClientBlacklistDTOAssembler INSTANCE = Mappers.getMapper(NettyClientBlacklistDTOAssembler.class); + + /** + * describe 应用层存储入参转换成 领域对象 + * + * @param lazyNettyClientBlacklistStoryCommand 保存客户端黑名单对象 + * @return {@link LazyNettyClientBlacklist} 客户端黑名单领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientBlacklist toNettyClientBlacklist(LazyNettyClientBlacklistStoryCommand lazyNettyClientBlacklistStoryCommand); + + /** + * describe 应用层更新入参转换成 领域对象 + * + * @param lazyNettyClientBlacklistUpdateCommand 更新客户端黑名单对象 + * @return {@link LazyNettyClientBlacklist} 客户端黑名单领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientBlacklist toNettyClientBlacklist(LazyNettyClientBlacklistUpdateCommand lazyNettyClientBlacklistUpdateCommand); + + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyClientBlacklistQueryOneCommand 查询单个客户端黑名单对象参数 + * @return {@link LazyNettyClientBlacklist} 客户端黑名单领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientBlacklist toNettyClientBlacklist(LazyNettyClientBlacklistQueryOneCommand lazyNettyClientBlacklistQueryOneCommand); + + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyClientBlacklistQueryListCommand 查询集合客户端黑名单对象参数 + * @return {@link LazyNettyClientBlacklist} 客户端黑名单领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientBlacklist toNettyClientBlacklist(LazyNettyClientBlacklistQueryListCommand lazyNettyClientBlacklistQueryListCommand); + + /** + * describe 应用层删除入参转换成 领域对象 + * + * @param lazyNettyClientBlacklistRemoveCommand 删除客户端黑名单对象参数 + * @return {@link LazyNettyClientBlacklist} 客户端黑名单领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientBlacklist toNettyClientBlacklist(LazyNettyClientBlacklistRemoveCommand lazyNettyClientBlacklistRemoveCommand); + + /** + * describe 持久层领域对象转换成DTO对象 + * + * @param lazyNettyClientBlacklist 客户端黑名单领域对象 + * @return {@link LazyNettyClientBlacklistDTO} 客户端黑名单DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientBlacklistDTO fromNettyClientBlacklist(LazyNettyClientBlacklist lazyNettyClientBlacklist); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/NettyClientStateDTOAssembler.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/NettyClientStateDTOAssembler.java new file mode 100644 index 00000000..46774d31 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/NettyClientStateDTOAssembler.java @@ -0,0 +1,89 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.assembler; + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyNettyClientStateDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.state.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state.LazyNettyClientState; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler; + + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyAssembler + **/ +@Mapper +public interface NettyClientStateDTOAssembler { + + + /** + * describe MapStruct 创建的代理对象 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + NettyClientStateDTOAssembler INSTANCE = Mappers.getMapper(NettyClientStateDTOAssembler.class); + + /** + * describe 应用层存储入参转换成 领域对象 + * + * @param lazyNettyClientStateStoryCommand 保存客户端状态对象 + * @return {@link LazyNettyClientState} 客户端状态领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientState toNettyClientState(LazyNettyClientStateStoryCommand lazyNettyClientStateStoryCommand); + + /** + * describe 应用层更新入参转换成 领域对象 + * + * @param lazyNettyClientStateUpdateCommand 更新客户端状态对象 + * @return {@link LazyNettyClientState} 客户端状态领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientState toNettyClientState(LazyNettyClientStateUpdateCommand lazyNettyClientStateUpdateCommand); + + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyClientStateQueryOneCommand 查询单个客户端状态对象参数 + * @return {@link LazyNettyClientState} 客户端状态领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientState toNettyClientState(LazyNettyClientStateQueryOneCommand lazyNettyClientStateQueryOneCommand); + + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyClientStateQueryListCommand 查询集合客户端状态对象参数 + * @return {@link LazyNettyClientState} 客户端状态领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientState toNettyClientState(LazyNettyClientStateQueryListCommand lazyNettyClientStateQueryListCommand); + + /** + * describe 应用层删除入参转换成 领域对象 + * + * @param lazyNettyClientStateRemoveCommand 删除客户端状态对象参数 + * @return {@link LazyNettyClientState} 客户端状态领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientState toNettyClientState(LazyNettyClientStateRemoveCommand lazyNettyClientStateRemoveCommand); + + /** + * describe 持久层领域对象转换成DTO对象 + * + * @param lazyNettyClientState 客户端状态领域对象 + * @return {@link LazyNettyClientStateDTO} 客户端状态DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientStateDTO fromNettyClientState(LazyNettyClientState lazyNettyClientState); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/NettyServerVisitorDTOAssembler.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/NettyServerVisitorDTOAssembler.java new file mode 100644 index 00000000..84f596c4 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/NettyServerVisitorDTOAssembler.java @@ -0,0 +1,89 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.assembler; + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.server.visitor.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyNettyServerVisitorDTO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler; + +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.server.visitor.LazyNettyServerVisitor; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyAssembler + **/ +@Mapper +public interface NettyServerVisitorDTOAssembler { + + + /** + * describe MapStruct 创建的代理对象 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + NettyServerVisitorDTOAssembler INSTANCE = Mappers.getMapper(NettyServerVisitorDTOAssembler.class); + + /** + * describe 应用层存储入参转换成 领域对象 + * + * @param lazyNettyServerVisitorStoryCommand 保存服务端提前开放出来的端口对象 + * @return {@link LazyNettyServerVisitor} 服务端提前开放出来的端口领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + LazyNettyServerVisitor toNettyServerVisitor(LazyNettyServerVisitorStoryCommand lazyNettyServerVisitorStoryCommand); + + /** + * describe 应用层更新入参转换成 领域对象 + * + * @param lazyNettyServerVisitorUpdateCommand 更新服务端提前开放出来的端口对象 + * @return {@link LazyNettyServerVisitor} 服务端提前开放出来的端口领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + LazyNettyServerVisitor toNettyServerVisitor(LazyNettyServerVisitorUpdateCommand lazyNettyServerVisitorUpdateCommand); + + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyServerVisitorQueryOneCommand 查询单个服务端提前开放出来的端口对象参数 + * @return {@link LazyNettyServerVisitor} 服务端提前开放出来的端口领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + LazyNettyServerVisitor toNettyServerVisitor(LazyNettyServerVisitorQueryOneCommand lazyNettyServerVisitorQueryOneCommand); + + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyNettyServerVisitorQueryListCommand 查询集合服务端提前开放出来的端口对象参数 + * @return {@link LazyNettyServerVisitor} 服务端提前开放出来的端口领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + LazyNettyServerVisitor toNettyServerVisitor(LazyNettyServerVisitorQueryListCommand lazyNettyServerVisitorQueryListCommand); + + /** + * describe 应用层删除入参转换成 领域对象 + * + * @param lazyNettyServerVisitorRemoveCommand 删除服务端提前开放出来的端口对象参数 + * @return {@link LazyNettyServerVisitor} 服务端提前开放出来的端口领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + LazyNettyServerVisitor toNettyServerVisitor(LazyNettyServerVisitorRemoveCommand lazyNettyServerVisitorRemoveCommand); + + /** + * describe 持久层领域对象转换成DTO对象 + * + * @param lazyNettyServerVisitor 服务端提前开放出来的端口领域对象 + * @return {@link LazyNettyServerVisitorDTO} 服务端提前开放出来的端口DTO对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + LazyNettyServerVisitorDTO fromNettyServerVisitor(LazyNettyServerVisitor lazyNettyServerVisitor); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/VisitorPortFlowDTOAssembler.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/VisitorPortFlowDTOAssembler.java new file mode 100644 index 00000000..73051a4a --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/VisitorPortFlowDTOAssembler.java @@ -0,0 +1,89 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.assembler; + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.flow.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyVisitorPortFlowDTO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler; + +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.flow.LazyVisitorPortFlow; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyAssembler + **/ +@Mapper +public interface VisitorPortFlowDTOAssembler { + + + /** + * describe MapStruct 创建的代理对象 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + VisitorPortFlowDTOAssembler INSTANCE = Mappers.getMapper(VisitorPortFlowDTOAssembler.class); + + /** + * describe 应用层存储入参转换成 领域对象 + * + * @param lazyVisitorPortFlowStoryCommand 保存访客端流量对象 + * @return {@link LazyVisitorPortFlow} 访客端流量领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + LazyVisitorPortFlow toVisitorFlow(LazyVisitorPortFlowStoryCommand lazyVisitorPortFlowStoryCommand); + + /** + * describe 应用层更新入参转换成 领域对象 + * + * @param lazyVisitorPortFlowUpdateCommand 更新访客端流量对象 + * @return {@link LazyVisitorPortFlow} 访客端流量领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + LazyVisitorPortFlow toVisitorFlow(LazyVisitorPortFlowUpdateCommand lazyVisitorPortFlowUpdateCommand); + + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyVisitorPortFlowQueryOneCommand 查询单个访客端流量对象参数 + * @return {@link LazyVisitorPortFlow} 访客端流量领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + LazyVisitorPortFlow toVisitorFlow(LazyVisitorPortFlowQueryOneCommand lazyVisitorPortFlowQueryOneCommand); + + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyVisitorPortFlowQueryListCommand 查询集合访客端流量对象参数 + * @return {@link LazyVisitorPortFlow} 访客端流量领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + LazyVisitorPortFlow toVisitorFlow(LazyVisitorPortFlowQueryListCommand lazyVisitorPortFlowQueryListCommand); + + /** + * describe 应用层删除入参转换成 领域对象 + * + * @param lazyVisitorPortFlowRemoveCommand 删除访客端流量对象参数 + * @return {@link LazyVisitorPortFlow} 访客端流量领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + LazyVisitorPortFlow toVisitorFlow(LazyVisitorPortFlowRemoveCommand lazyVisitorPortFlowRemoveCommand); + + /** + * describe 持久层领域对象转换成DTO对象 + * + * @param lazyVisitorPortFlow 访客端流量领域对象 + * @return {@link LazyVisitorPortFlowDTO} 访客端流量DTO对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + LazyVisitorPortFlowDTO fromVisitorFlow(LazyVisitorPortFlow lazyVisitorPortFlow); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/VisitorPortPerDayFlowDTOAssembler.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/VisitorPortPerDayFlowDTOAssembler.java new file mode 100644 index 00000000..558327aa --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/assembler/VisitorPortPerDayFlowDTOAssembler.java @@ -0,0 +1,93 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.assembler; + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyVisitorPortPerDayFlowDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.port.per.day.flow.LazyVisitorPortPerDayFlow; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowRemoveCommand; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowStoryCommand; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowUpdateCommand; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowQueryListCommand; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowQueryOneCommand; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler + **/ +@Mapper +public interface VisitorPortPerDayFlowDTOAssembler { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + VisitorPortPerDayFlowDTOAssembler INSTANCE = Mappers.getMapper(VisitorPortPerDayFlowDTOAssembler.class); + /** + * describe 应用层存储入参转换成 领域对象 + * + * @param lazyVisitorPortPerDayFlowStoryCommand 保存每日统计流量对象 + * @return {@link LazyVisitorPortPerDayFlow} 每日统计流量领域对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + LazyVisitorPortPerDayFlow toVisitorPortPerDayFlow(LazyVisitorPortPerDayFlowStoryCommand lazyVisitorPortPerDayFlowStoryCommand); + /** + * describe 应用层更新入参转换成 领域对象 + * + * @param lazyVisitorPortPerDayFlowUpdateCommand 更新每日统计流量对象 + * @return {@link LazyVisitorPortPerDayFlow} 每日统计流量领域对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + LazyVisitorPortPerDayFlow toVisitorPortPerDayFlow(LazyVisitorPortPerDayFlowUpdateCommand lazyVisitorPortPerDayFlowUpdateCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyVisitorPortPerDayFlowQueryOneCommand 查询单个每日统计流量对象参数 + * @return {@link LazyVisitorPortPerDayFlow} 每日统计流量领域对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + LazyVisitorPortPerDayFlow toVisitorPortPerDayFlow(LazyVisitorPortPerDayFlowQueryOneCommand lazyVisitorPortPerDayFlowQueryOneCommand); + /** + * describe 应用层查询入参转换成 领域对象 + * + * @param lazyVisitorPortPerDayFlowQueryListCommand 查询集合每日统计流量对象参数 + * @return {@link LazyVisitorPortPerDayFlow} 每日统计流量领域对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + LazyVisitorPortPerDayFlow toVisitorPortPerDayFlow(LazyVisitorPortPerDayFlowQueryListCommand lazyVisitorPortPerDayFlowQueryListCommand); + /** + * describe 应用层删除入参转换成 领域对象 + * + * @param lazyVisitorPortPerDayFlowRemoveCommand 删除每日统计流量对象参数 + * @return {@link LazyVisitorPortPerDayFlow} 每日统计流量领域对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + LazyVisitorPortPerDayFlow toVisitorPortPerDayFlow(LazyVisitorPortPerDayFlowRemoveCommand lazyVisitorPortPerDayFlowRemoveCommand); + /** + * describe 持久层领域对象转换成DTO对象 + * + * @param lazyVisitorPortPerDayFlow 每日统计流量领域对象 + * @return {@link LazyVisitorPortPerDayFlowDTO} 每日统计流量DTO对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + LazyVisitorPortPerDayFlowDTO fromVisitorPortPerDayFlow(LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingQueryListCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingQueryListCommand.java new file mode 100644 index 00000000..9d1a45bc --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingQueryListCommand.java @@ -0,0 +1,74 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.internal.network.penetration.mapping; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryListCommand; + +import java.time.LocalDateTime; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyQueryListCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "internal_network_penetration_mapping_query_List_command", description = "内网穿透映射") +public class LazyInternalNetworkPenetrationMappingQueryListCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 客户端目标地址 + */ + @Schema(description = "客户端目标地址", name = "clientTargetIp", example = "") + private String clientTargetIp; + + /** + * 客户端目标端口 + */ + @Schema(description = "客户端目标端口", name = "clientTargetPort", example = "") + private Integer clientTargetPort; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键自增 + */ + @Schema(description = "主键自增", name = "id", example = "") + private Long id; + + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访问端口 + */ + @Schema(description = "访问端口", name = "visitorPort", example = "") + private Integer visitorPort; + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingQueryOneCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingQueryOneCommand.java new file mode 100644 index 00000000..1a8100cd --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingQueryOneCommand.java @@ -0,0 +1,73 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.internal.network.penetration.mapping; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryOneCommand; + +import java.time.LocalDateTime; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyQueryOneCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_internal_network_penetration_mapping_query_one_command", description = "内网穿透映射") +public class LazyInternalNetworkPenetrationMappingQueryOneCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 客户端目标地址 + */ + @Schema(description = "客户端目标地址", name = "clientTargetIp", example = "") + private String clientTargetIp; + + /** + * 客户端目标端口 + */ + @Schema(description = "客户端目标端口", name = "clientTargetPort", example = "") + private Integer clientTargetPort; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键自增 + */ + @Schema(description = "主键自增", name = "id", example = "") + private Long id; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访问端口 + */ + @Schema(description = "访问端口", name = "visitorPort", example = "") + private Integer visitorPort; + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingRemoveCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingRemoveCommand.java new file mode 100644 index 00000000..bfc3b8d9 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingRemoveCommand.java @@ -0,0 +1,65 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.internal.network.penetration.mapping; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand; +import org.wu.framework.web.response.mark.ValidType; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "internal_network_penetration_mapping_remove_command", description = "内网穿透映射") +public class LazyInternalNetworkPenetrationMappingRemoveCommand { + + + /** + * 客户端ID + */ + @NotNull(message = "客户端ID 不能为空", groups = ValidType.Delete.class) + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 客户端目标地址 + */ + @NotNull(message = "客户端目标地址 不能为空", groups = ValidType.Delete.class) + @Schema(description = "客户端目标地址", name = "clientTargetIp", example = "") + private String clientTargetIp; + + /** + * 客户端目标端口 + */ + @NotNull(message = "客户端目标端口 不能为空", groups = ValidType.Delete.class) + @Schema(description = "客户端目标端口", name = "clientTargetPort", example = "") + private Integer clientTargetPort; + + /** + * 主键自增 + */ + @Schema(description = "主键自增", name = "id", example = "") + private Long id; + + /** + * 访问端口 + */ + @NotNull(message = "访问端口 不能为空", groups = ValidType.Delete.class) + @Schema(description = "访问端口", name = "visitorPort", example = "") + private Integer visitorPort; + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingStoryCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingStoryCommand.java new file mode 100644 index 00000000..6195fe36 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingStoryCommand.java @@ -0,0 +1,59 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.internal.network.penetration.mapping; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyStoryCommand; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyStoryCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "internal_network_penetration_mapping_story_command", description = "内网穿透映射") +public class LazyInternalNetworkPenetrationMappingStoryCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 客户端目标地址 + */ + @Schema(description = "客户端目标地址", name = "clientTargetIp", example = "") + private String clientTargetIp; + + /** + * 客户端目标端口 + */ + @Schema(description = "客户端目标端口", name = "clientTargetPort", example = "") + private Integer clientTargetPort; + + /** + * 主键自增 + */ + @Schema(description = "主键自增", name = "id", example = "") + private Long id; + + /** + * 访问端口 + */ + @Schema(description = "访问端口", name = "visitorPort", example = "") + private Integer visitorPort; + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingUpdateCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingUpdateCommand.java new file mode 100644 index 00000000..865c48f3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingUpdateCommand.java @@ -0,0 +1,64 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.internal.network.penetration.mapping; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyUpdateCommand; +import org.wu.framework.web.response.mark.ValidType; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyUpdateCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "internal_network_penetration_mapping_update_command", description = "内网穿透映射") +public class LazyInternalNetworkPenetrationMappingUpdateCommand { + + /** + * 客户端ID + */ + @NotNull(message = "客户端ID 不能为空", groups = ValidType.Delete.class) + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 客户端目标地址 + */ + @NotNull(message = "客户端目标地址 不能为空", groups = ValidType.Delete.class) + @Schema(description = "客户端目标地址", name = "clientTargetIp", example = "") + private String clientTargetIp; + + /** + * 客户端目标端口 + */ + @NotNull(message = "客户端目标端口 不能为空", groups = ValidType.Delete.class) + @Schema(description = "客户端目标端口", name = "clientTargetPort", example = "") + private Integer clientTargetPort; + + /** + * 主键自增 + */ + @Schema(description = "主键自增", name = "id", example = "") + private Long id; + + /** + * 访问端口 + */ + @NotNull(message = "访问端口 不能为空", groups = ValidType.Delete.class) + @Schema(description = "访问端口", name = "visitorPort", example = "") + private Integer visitorPort; + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistQueryListCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistQueryListCommand.java new file mode 100644 index 00000000..9e82c87c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistQueryListCommand.java @@ -0,0 +1,57 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.blacklist; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryListCommand; + +import java.time.LocalDateTime; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyQueryListCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_blacklist_query_List_command", description = "客户端黑名单") +public class LazyNettyClientBlacklistQueryListCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistQueryOneCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistQueryOneCommand.java new file mode 100644 index 00000000..eb5da12f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistQueryOneCommand.java @@ -0,0 +1,57 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.blacklist; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryOneCommand; + +import java.time.LocalDateTime; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyQueryOneCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_blacklist_query_one_command", description = "客户端黑名单") +public class LazyNettyClientBlacklistQueryOneCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistRemoveCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistRemoveCommand.java new file mode 100644 index 00000000..4813bdbf --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistRemoveCommand.java @@ -0,0 +1,57 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.blacklist; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand; + +import java.time.LocalDateTime; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_blacklist_remove_command", description = "客户端黑名单") +public class LazyNettyClientBlacklistRemoveCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistStoryCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistStoryCommand.java new file mode 100644 index 00000000..4f11e671 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistStoryCommand.java @@ -0,0 +1,61 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.blacklist; + + +import org.wu.framework.web.response.mark.ValidType; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyStoryCommand; + +import java.time.LocalDateTime; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyStoryCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_blacklist_story_command", description = "客户端黑名单") +public class LazyNettyClientBlacklistStoryCommand { + + + /** + * 客户端ID + */ + @NotNull(groups = ValidType.Create.class, message = "客户端ID不允许为空") + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistUpdateCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistUpdateCommand.java new file mode 100644 index 00000000..572b8066 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/blacklist/LazyNettyClientBlacklistUpdateCommand.java @@ -0,0 +1,57 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.blacklist; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyUpdateCommand; + +import java.time.LocalDateTime; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyUpdateCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_blacklist_update_command", description = "客户端黑名单") +public class LazyNettyClientBlacklistUpdateCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientMessageCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientMessageCommand.java new file mode 100644 index 00000000..9612cf60 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientMessageCommand.java @@ -0,0 +1,38 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.state; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand; + +/** + * describe 发送请求到客户端 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "netty_client_message_command", description = "客户端状态") +public class LazyNettyClientMessageCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + + /** + * 发送的消息 + */ + @Schema(description = "发送的消息", name = "message", example = "") + private String message; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateQueryListCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateQueryListCommand.java new file mode 100644 index 00000000..d72e87ce --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateQueryListCommand.java @@ -0,0 +1,75 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.state; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryListCommand; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.time.LocalDateTime; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyQueryListCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_state_query_List_command", description = "客户端状态") +public class LazyNettyClientStateQueryListCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "onLineState", example = "") + private NettyClientStatus onLineState; + + /** + * 暂存状态(开启、关闭) + */ + @Schema(description = "暂存状态(开启、关闭)", name = "staging", example = "") + private String stagingState; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateQueryOneCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateQueryOneCommand.java new file mode 100644 index 00000000..6f038be5 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateQueryOneCommand.java @@ -0,0 +1,75 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.state; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryOneCommand; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.time.LocalDateTime; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyQueryOneCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_state_query_one_command", description = "客户端状态") +public class LazyNettyClientStateQueryOneCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "onLineState", example = "") + private NettyClientStatus onLineState; + + /** + * 暂存状态(开启、关闭) + */ + @Schema(description = "暂存状态(开启、关闭)", name = "staging", example = "") + private String stagingState; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateRemoveCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateRemoveCommand.java new file mode 100644 index 00000000..d357908f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateRemoveCommand.java @@ -0,0 +1,70 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.state; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.time.LocalDateTime; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_state_remove_command", description = "客户端状态") +public class LazyNettyClientStateRemoveCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "onLineState", example = "") + private NettyClientStatus onLineState; + + /** + * 暂存状态(开启、关闭) + */ + @Schema(description = "暂存状态(开启、关闭)", name = "staging", example = "") + private String stagingState; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateStoryCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateStoryCommand.java new file mode 100644 index 00000000..1e9a6166 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateStoryCommand.java @@ -0,0 +1,75 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.state; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyStoryCommand; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.time.LocalDateTime; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyStoryCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_state_story_command", description = "客户端状态") +public class LazyNettyClientStateStoryCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "onLineState", example = "") + private NettyClientStatus onLineState; + + /** + * 暂存状态(开启、关闭) + */ + @Schema(description = "暂存状态(开启、关闭)", name = "staging", example = "") + private String stagingState; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateUpdateCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateUpdateCommand.java new file mode 100644 index 00000000..0b6713d0 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/client/state/LazyNettyClientStateUpdateCommand.java @@ -0,0 +1,74 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.state; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyUpdateCommand; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.time.LocalDateTime; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyUpdateCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_state_update_command", description = "客户端状态") +public class LazyNettyClientStateUpdateCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "onLineState", example = "") + private NettyClientStatus onLineState; + + /** + * 暂存状态(开启、关闭) + */ + @Schema(description = "暂存状态(开启、关闭)", name = "staging", example = "") + private String stagingState; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorQueryListCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorQueryListCommand.java new file mode 100644 index 00000000..6d5ea16f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorQueryListCommand.java @@ -0,0 +1,63 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.server.visitor; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryListCommand; + +import java.time.LocalDateTime; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyQueryListCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_visitor_query_List_command", description = "服务端提前开放出来的端口") +public class LazyNettyServerVisitorQueryListCommand { + + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; + + /** + * 用户ID + */ + @Schema(description = "用户ID", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorQueryOneCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorQueryOneCommand.java new file mode 100644 index 00000000..e0aeee1f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorQueryOneCommand.java @@ -0,0 +1,63 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.server.visitor; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryOneCommand; + +import java.time.LocalDateTime; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyQueryOneCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_visitor_query_one_command", description = "服务端提前开放出来的端口") +public class LazyNettyServerVisitorQueryOneCommand { + + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; + + /** + * 用户ID + */ + @Schema(description = "用户ID", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorRemoveCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorRemoveCommand.java new file mode 100644 index 00000000..949b2814 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorRemoveCommand.java @@ -0,0 +1,63 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.server.visitor; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand; + +import java.time.LocalDateTime; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_visitor_remove_command", description = "服务端提前开放出来的端口") +public class LazyNettyServerVisitorRemoveCommand { + + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; + + /** + * 用户ID + */ + @Schema(description = "用户ID", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorStoryCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorStoryCommand.java new file mode 100644 index 00000000..7dbeb594 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorStoryCommand.java @@ -0,0 +1,63 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.server.visitor; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyStoryCommand; + +import java.time.LocalDateTime; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyStoryCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_visitor_story_command", description = "服务端提前开放出来的端口") +public class LazyNettyServerVisitorStoryCommand { + + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; + + /** + * 用户ID + */ + @Schema(description = "用户ID", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorUpdateCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorUpdateCommand.java new file mode 100644 index 00000000..c3d19a52 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/netty/server/visitor/LazyNettyServerVisitorUpdateCommand.java @@ -0,0 +1,63 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.server.visitor; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyUpdateCommand; + +import java.time.LocalDateTime; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyUpdateCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_visitor_update_command", description = "服务端提前开放出来的端口") +public class LazyNettyServerVisitorUpdateCommand { + + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; + + /** + * 用户ID + */ + @Schema(description = "用户ID", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowQueryListCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowQueryListCommand.java new file mode 100644 index 00000000..3c3ee9c2 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowQueryListCommand.java @@ -0,0 +1,75 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.flow; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryListCommand; + +import java.time.LocalDateTime; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyQueryListCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_flow_query_List_command", description = "访客端流量") +public class LazyVisitorPortFlowQueryListCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 当前访客当前进口流量 + */ + @Schema(description = "当前访客当前进口流量", name = "inFlow", example = "") + private Integer inFlow; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 当前访客出口流量 + */ + @Schema(description = "当前访客出口流量", name = "outFlow", example = "") + private Integer outFlow; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowQueryOneCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowQueryOneCommand.java new file mode 100644 index 00000000..d572466a --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowQueryOneCommand.java @@ -0,0 +1,75 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.flow; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryOneCommand; + +import java.time.LocalDateTime; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyQueryOneCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_flow_query_one_command", description = "访客端流量") +public class LazyVisitorPortFlowQueryOneCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 当前访客当前进口流量 + */ + @Schema(description = "当前访客当前进口流量", name = "inFlow", example = "") + private Integer inFlow; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 当前访客出口流量 + */ + @Schema(description = "当前访客出口流量", name = "outFlow", example = "") + private Integer outFlow; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowRemoveCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowRemoveCommand.java new file mode 100644 index 00000000..b394d833 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowRemoveCommand.java @@ -0,0 +1,75 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.flow; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand; + +import java.time.LocalDateTime; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_flow_remove_command", description = "访客端流量") +public class LazyVisitorPortFlowRemoveCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 当前访客当前进口流量 + */ + @Schema(description = "当前访客当前进口流量", name = "inFlow", example = "") + private Integer inFlow; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 当前访客出口流量 + */ + @Schema(description = "当前访客出口流量", name = "outFlow", example = "") + private Integer outFlow; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowStoryCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowStoryCommand.java new file mode 100644 index 00000000..62bdc684 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowStoryCommand.java @@ -0,0 +1,75 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.flow; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyStoryCommand; + +import java.time.LocalDateTime; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyStoryCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_flow_story_command", description = "访客端流量") +public class LazyVisitorPortFlowStoryCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 当前访客当前进口流量 + */ + @Schema(description = "当前访客当前进口流量", name = "inFlow", example = "") + private Integer inFlow; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 当前访客出口流量 + */ + @Schema(description = "当前访客出口流量", name = "outFlow", example = "") + private Integer outFlow; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowUpdateCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowUpdateCommand.java new file mode 100644 index 00000000..de692de7 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/flow/LazyVisitorPortFlowUpdateCommand.java @@ -0,0 +1,75 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.flow; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyUpdateCommand; + +import java.time.LocalDateTime; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyUpdateCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_flow_update_command", description = "访客端流量") +public class LazyVisitorPortFlowUpdateCommand { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 当前访客当前进口流量 + */ + @Schema(description = "当前访客当前进口流量", name = "inFlow", example = "") + private Integer inFlow; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 当前访客出口流量 + */ + @Schema(description = "当前访客出口流量", name = "outFlow", example = "") + private Integer outFlow; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowQueryListCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowQueryListCommand.java new file mode 100644 index 00000000..69adace6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowQueryListCommand.java @@ -0,0 +1,91 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryListCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_per_day_flow_query_List_command",description = "每日统计流量") +public class LazyVisitorPortPerDayFlowQueryListCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 访客端口 + */ + @Schema(description ="访客端口",name ="visitorPort",example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowQueryOneCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowQueryOneCommand.java new file mode 100644 index 00000000..869da4e5 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowQueryOneCommand.java @@ -0,0 +1,91 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyQueryOneCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_per_day_flow_query_one_command",description = "每日统计流量") +public class LazyVisitorPortPerDayFlowQueryOneCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 访客端口 + */ + @Schema(description ="访客端口",name ="visitorPort",example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowRemoveCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowRemoveCommand.java new file mode 100644 index 00000000..c4c84add --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowRemoveCommand.java @@ -0,0 +1,91 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyRemoveCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_per_day_flow_remove_command",description = "每日统计流量") +public class LazyVisitorPortPerDayFlowRemoveCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 访客端口 + */ + @Schema(description ="访客端口",name ="visitorPort",example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowStoryCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowStoryCommand.java new file mode 100644 index 00000000..004d62f6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowStoryCommand.java @@ -0,0 +1,91 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyStoryCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_per_day_flow_story_command",description = "每日统计流量") +public class LazyVisitorPortPerDayFlowStoryCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 访客端口 + */ + @Schema(description ="访客端口",name ="visitorPort",example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowUpdateCommand.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowUpdateCommand.java new file mode 100644 index 00000000..2baeb8e5 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/command/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowUpdateCommand.java @@ -0,0 +1,91 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyUpdateCommand + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_per_day_flow_update_command",description = "每日统计流量") +public class LazyVisitorPortPerDayFlowUpdateCommand { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 访客端口 + */ + @Schema(description ="访客端口",name ="visitorPort",example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyClientChannelDTO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyClientChannelDTO.java new file mode 100644 index 00000000..06dd1e96 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyClientChannelDTO.java @@ -0,0 +1,25 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.dto; + +import io.netty.channel.Channel; +import io.netty.channel.ChannelId; +import lombok.Data; + + +/** + * 客户端通道 + */ +@Data +public class LazyClientChannelDTO { + /** + * 连接信息 + */ + private String clientId; + /** + * 通道ID + */ + private ChannelId channelId; + /** + * 通道 + */ + private Channel channel; +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyClientFlowPerDayEchartsDTO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyClientFlowPerDayEchartsDTO.java new file mode 100644 index 00000000..39120095 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyClientFlowPerDayEchartsDTO.java @@ -0,0 +1,39 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * 获取客户使用流量数据 + */ +@Data +@Accessors(chain = true) +public class LazyClientFlowPerDayEchartsDTO { + + + /** + * 曲线类型 + */ + private List typeList = List.of("进口流量", "出口流量", "总流量"); + + /** + * 时间 + */ + private List dayList; + /** + * 客户端入口流量 + */ + + private List clientInFlowList; + /** + * 出口流量 + */ + private List clientOutFlowList; + /** + * 全部流量 + */ + private List clientAllFlowList; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyClientPortFlowPerDayEchartsDTO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyClientPortFlowPerDayEchartsDTO.java new file mode 100644 index 00000000..29d0cd53 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyClientPortFlowPerDayEchartsDTO.java @@ -0,0 +1,46 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * 获取客户使用流量数据 + */ +@Data +@Accessors(chain = true) +public class LazyClientPortFlowPerDayEchartsDTO { + + + /** + * 客户端ID + */ + private List clientIdList; + + /** + * 时间 + */ + private List dayList; + /** + * 客户端入口流量 + */ + + private List clientInFlowList; + /** + * 出口流量 + */ + private List clientOutFlowList; + + + @Data + public static final class ClientFlow { + + private String clientId; + + private Integer visitorPort; + + private List flowList; + + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyInternalNetworkPenetrationMappingDTO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyInternalNetworkPenetrationMappingDTO.java new file mode 100644 index 00000000..7ab06b46 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyInternalNetworkPenetrationMappingDTO.java @@ -0,0 +1,82 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO; + +import java.time.LocalDateTime; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "internal_network_penetration_mapping_command_dto", description = "内网穿透映射") +public class LazyInternalNetworkPenetrationMappingDTO { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 客户端目标地址 + */ + @Schema(description = "客户端目标地址", name = "clientTargetIp", example = "") + private String clientTargetIp; + + /** + * 客户端目标端口 + */ + @Schema(description = "客户端目标端口", name = "clientTargetPort", example = "") + private Integer clientTargetPort; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键自增 + */ + @Schema(description = "主键自增", name = "id", example = "") + private Long id; + + /** + * 是否删除 默认否 + */ + @Schema(description = "是否删除 默认否", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 修改时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访问端口 + */ + @Schema(description = "访问端口", name = "visitorPort", example = "") + private Integer visitorPort; + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyNettyClientBlacklistDTO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyNettyClientBlacklistDTO.java new file mode 100644 index 00000000..8ae2e843 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyNettyClientBlacklistDTO.java @@ -0,0 +1,57 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO; + +import java.time.LocalDateTime; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_blacklist_command_dto", description = "客户端黑名单") +public class LazyNettyClientBlacklistDTO { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyNettyClientStateDTO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyNettyClientStateDTO.java new file mode 100644 index 00000000..68f92f20 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyNettyClientStateDTO.java @@ -0,0 +1,76 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.time.LocalDateTime; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_state_command_dto", description = "客户端状态") +public class LazyNettyClientStateDTO { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "onLineState", example = "") + private NettyClientStatus onLineState; + + /** + * 暂存状态(开启、关闭) + */ + @Schema(description = "暂存状态(开启、关闭)", name = "staging", example = "") + private String stagingState; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyNettyServerVisitorDTO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyNettyServerVisitorDTO.java new file mode 100644 index 00000000..5ddeeec4 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyNettyServerVisitorDTO.java @@ -0,0 +1,63 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO; + +import java.time.LocalDateTime; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_visitor_command_dto", description = "服务端提前开放出来的端口") +public class LazyNettyServerVisitorDTO { + + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; + + /** + * 用户ID + */ + @Schema(description = "用户ID", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyVisitorFlowDTO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyVisitorFlowDTO.java new file mode 100644 index 00000000..d58cd3e5 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyVisitorFlowDTO.java @@ -0,0 +1,80 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.core.utils.ByteSizeUtil; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_flow_command_dto", description = "访客端流量") +public class LazyVisitorFlowDTO { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 当前访客当前进口流量 + */ + @Schema(description = "当前访客当前进口流量", name = "inFlow", example = "") + private Integer inFlow; + + + /** + * 当前访客出口流量 + */ + @Schema(description = "当前访客出口流量", name = "outFlow", example = "") + private Integer outFlow; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + /** + * 当前访客下所有端口的流量 + */ + @Schema(description = "当前访客下所有端口的流量") + private List lazyVisitorPortFlowDTOList; + + + public String getInFlow() { + return ByteSizeUtil.convertSize(inFlow); + } + + public String getOutFlow() { + return ByteSizeUtil.convertSize(outFlow); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyVisitorPortFlowDTO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyVisitorPortFlowDTO.java new file mode 100644 index 00000000..5a77824a --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyVisitorPortFlowDTO.java @@ -0,0 +1,96 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.core.utils.ByteSizeUtil; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO; + +import java.time.LocalDateTime; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_flow_command_dto", description = "访客端流量") +public class LazyVisitorPortFlowDTO { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 当前访客当前进口流量 + */ + @Schema(description = "当前访客当前进口流量", name = "inFlow", example = "") + private Integer inFlow; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 当前访客出口流量 + */ + @Schema(description = "当前访客出口流量", name = "outFlow", example = "") + private Integer outFlow; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + + public Integer getInFlowSize() { + if (inFlow == null) return 0; + return inFlow; + } + + public Integer getOutFlowSize() { + if (outFlow == null) return 0; + return outFlow; + } + + public String getInFlow() { + if (inFlow == null) return "0b"; + return ByteSizeUtil.convertSize(inFlow); + } + + public String getOutFlow() { + if (outFlow == null) return "0b"; + return ByteSizeUtil.convertSize(outFlow); + } + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyVisitorPortPerDayFlowDTO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyVisitorPortPerDayFlowDTO.java new file mode 100644 index 00000000..76d3b1ed --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/dto/LazyVisitorPortPerDayFlowDTO.java @@ -0,0 +1,91 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.dto; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDTO + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_per_day_flow_command_dto",description = "每日统计流量") +public class LazyVisitorPortPerDayFlowDTO { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 访客端口 + */ + @Schema(description ="访客端口",name ="visitorPort",example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyClientStatsChangeApplicationImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyClientStatsChangeApplicationImpl.java new file mode 100644 index 00000000..51153e45 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyClientStatsChangeApplicationImpl.java @@ -0,0 +1,108 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.impl; + + +import org.framework.smart.agent.network.heartbeat.server.properties.ServerNodeProperties; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state.LazyNettyClientState; +import org.wu.framework.database.lazy.web.plus.stereotype.LazyApplication; +import lombok.extern.slf4j.Slf4j; +import org.framework.smart.agent.network.heartbeat.common.constant.ClientConfigKeyUtils; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyClientStatsChangeApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state.LazyNettyClientStateRepository; + + +@Slf4j +@LazyApplication +public class LazyClientStatsChangeApplicationImpl implements LazyClientStatsChangeApplication { + + private final LazyNettyClientStateRepository lazyNettyClientStateRepository; + private final ServerNodeProperties serverNodeProperties; + + + public LazyClientStatsChangeApplicationImpl(LazyNettyClientStateRepository lazyNettyClientStateRepository, + ServerNodeProperties serverNodeProperties) { + + this.lazyNettyClientStateRepository = lazyNettyClientStateRepository; + this.serverNodeProperties = serverNodeProperties; + } + + + /** + * 客户端在线 + * + * @param clientId 客户端ID + */ + @Override + public void clientOnLine(String clientId) { + // 如果可以已经在线状态不推送 + String clientStatusKey = ClientConfigKeyUtils.getClientStatusKey(clientId); +// stringRedisTemplate.opsForValue().set(clientStatusKey, NettyClientStatus.ON_LINE.name()); + LazyNettyClientState lazyNettyClientState = new LazyNettyClientState(); + lazyNettyClientState.setClientId(clientId); + lazyNettyClientState.setOnLineState(NettyClientStatus.ON_LINE); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientState.setServerId(serverId); + lazyNettyClientStateRepository.updateOnLIneState(lazyNettyClientState); + // 触发暂存扫描 +// ClientOnLineState clientOnLineState = new ClientOnLineState(); +// clientOnLineState.setClientId(clientId); +// clientOnLineState.setOnLineState(NettyClientStatus.ON_LINE.name()); +// stringRedisTemplate.convertAndSend(REDIS_CLIENT_ONLINE_OR_OFFLINE_CHANNEL,clientOnLineState); + } + + /** + * 客户端离线 + * + * @param clientId 客户端ID + */ + @Override + public void clientOffLine(String clientId) { + // 如果可以已经在线状态不推送 + String clientStatusKey = ClientConfigKeyUtils.getClientStatusKey(clientId); +// stringRedisTemplate.opsForValue().set(clientStatusKey, NettyClientStatus.OFF_LINE.name()); + // 修改客户端状态 离线 + LazyNettyClientState lazyNettyClientState = new LazyNettyClientState(); + lazyNettyClientState.setClientId(clientId); + lazyNettyClientState.setOnLineState(NettyClientStatus.OFF_LINE); + lazyNettyClientState.setStagingState("OPENED"); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientState.setServerId(serverId); + lazyNettyClientStateRepository.updateOnLIneState(lazyNettyClientState); +// // 触发暂存扫描 +// ClientOnLineState clientOnLineState = new ClientOnLineState(); +// clientOnLineState.setClientId(clientId); +// clientOnLineState.setOnLineState(NettyClientStatus.OFF_LINE.name()); +// stringRedisTemplate.convertAndSend(REDIS_CLIENT_ONLINE_OR_OFFLINE_CHANNEL,clientOnLineState); + + } + + /** + * 客户端暂存关闭 + * + * @param clientId 客户端ID + */ + @Override + public void stagingClosed(String clientId) { + LazyNettyClientState lazyNettyClientState = new LazyNettyClientState(); + lazyNettyClientState.setClientId(clientId); + lazyNettyClientState.setStagingState("CLOSED"); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientState.setServerId(serverId); + lazyNettyClientStateRepository.updateStagingState(lazyNettyClientState); + } + + /** + * 客户端暂存开启 + * + * @param clientId 客户端ID + */ + @Override + public void stagingOpened(String clientId) { + LazyNettyClientState lazyNettyClientState = new LazyNettyClientState(); + lazyNettyClientState.setClientId(clientId); + lazyNettyClientState.setStagingState("OPENED"); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientState.setServerId(serverId); + lazyNettyClientStateRepository.updateStagingState(lazyNettyClientState); + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyInternalNetworkPenetrationMappingApplicationImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyInternalNetworkPenetrationMappingApplicationImpl.java new file mode 100644 index 00000000..ac41a727 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyInternalNetworkPenetrationMappingApplicationImpl.java @@ -0,0 +1,299 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.impl; + +import org.framework.smart.agent.network.heartbeat.common.NettyClientVisitorContext; +import org.framework.smart.agent.network.heartbeat.server.properties.ServerNodeProperties; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.internal.network.penetration.mapping.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyInternalNetworkPenetrationMappingDTO; +import org.springframework.transaction.annotation.Transactional; +import org.wu.framework.core.utils.ObjectUtils; +import org.wu.framework.database.lazy.web.plus.stereotype.LazyApplication; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplicationImpl; +import org.framework.smart.agent.network.heartbeat.common.adapter.ChannelFlowAdapter; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyInternalNetworkPenetrationMappingApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.assembler.InternalNetworkPenetrationMappingDTOAssembler; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.internal.network.penetration.mapping.LazyInternalNetworkPenetrationMapping; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.internal.network.penetration.mapping.LazyInternalNetworkPenetrationMappingRepository; +import org.framework.smart.agent.network.heartbeat.server.netty.socket.NettyVisitorSocket; + +import java.io.IOException; +import java.util.List; +import java.util.stream.Collectors; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyApplicationImpl + **/ +@Slf4j +@LazyApplication +public class LazyInternalNetworkPenetrationMappingApplicationImpl implements LazyInternalNetworkPenetrationMappingApplication { + + @Resource + LazyInternalNetworkPenetrationMappingRepository lazyInternalNetworkPenetrationMappingRepository; + + @Resource + ChannelFlowAdapter channelFlowAdapter; + + @Resource + ServerNodeProperties serverNodeProperties; + + + /** + * describe 新增内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingStoryCommand 新增内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Override + public Result story(LazyInternalNetworkPenetrationMappingStoryCommand lazyInternalNetworkPenetrationMappingStoryCommand) { + LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping = InternalNetworkPenetrationMappingDTOAssembler.INSTANCE.toInternalNetworkPenetrationMapping(lazyInternalNetworkPenetrationMappingStoryCommand); + lazyInternalNetworkPenetrationMapping.setIsDeleted(false); + String serverId = serverNodeProperties.getNodeId(); + lazyInternalNetworkPenetrationMapping.setServerId(serverId); + + String clientId = lazyInternalNetworkPenetrationMapping.getClientId(); + String clientTargetIp = lazyInternalNetworkPenetrationMapping.getClientTargetIp(); + Integer clientTargetPort = lazyInternalNetworkPenetrationMapping.getClientTargetPort(); + Integer visitorPort = lazyInternalNetworkPenetrationMapping.getVisitorPort(); + + + this.changeSocket(clientId, clientTargetIp, clientTargetPort, visitorPort); + return lazyInternalNetworkPenetrationMappingRepository.story(lazyInternalNetworkPenetrationMapping); + } + + /** + * describe 批量新增内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingStoryCommandList 批量新增内网穿透映射 + * @return {@link Result>} 内网穿透映射新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Transactional + @Override + public Result> batchStory(List lazyInternalNetworkPenetrationMappingStoryCommandList) { + List lazyInternalNetworkPenetrationMappingList = + lazyInternalNetworkPenetrationMappingStoryCommandList + .stream() + .map(lazyInternalNetworkPenetrationMappingStoryCommand -> { + LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping = InternalNetworkPenetrationMappingDTOAssembler.INSTANCE.toInternalNetworkPenetrationMapping(lazyInternalNetworkPenetrationMappingStoryCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyInternalNetworkPenetrationMapping.setServerId(serverId); + return lazyInternalNetworkPenetrationMapping; + }) + .collect(Collectors.toList()); + + Result> batchStory = lazyInternalNetworkPenetrationMappingRepository.batchStory(lazyInternalNetworkPenetrationMappingList); + // 开启端口 + for (LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping : lazyInternalNetworkPenetrationMappingList) { + String clientId = lazyInternalNetworkPenetrationMapping.getClientId(); + String clientTargetIp = lazyInternalNetworkPenetrationMapping.getClientTargetIp(); + Integer clientTargetPort = lazyInternalNetworkPenetrationMapping.getClientTargetPort(); + Integer visitorPort = lazyInternalNetworkPenetrationMapping.getVisitorPort(); + this.changeSocket(clientId, clientTargetIp, clientTargetPort, visitorPort); + } + return batchStory; + } + + /** + * describe 更新内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingUpdateCommand 更新内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Transactional + @Override + public Result updateOne(LazyInternalNetworkPenetrationMappingUpdateCommand lazyInternalNetworkPenetrationMappingUpdateCommand) { + LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping = InternalNetworkPenetrationMappingDTOAssembler.INSTANCE.toInternalNetworkPenetrationMapping(lazyInternalNetworkPenetrationMappingUpdateCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyInternalNetworkPenetrationMapping.setServerId(serverId); + // 删除绑定数据 + Result story = lazyInternalNetworkPenetrationMappingRepository.story(lazyInternalNetworkPenetrationMapping); + String clientId = lazyInternalNetworkPenetrationMapping.getClientId(); + String clientTargetIp = lazyInternalNetworkPenetrationMapping.getClientTargetIp(); + Integer clientTargetPort = lazyInternalNetworkPenetrationMapping.getClientTargetPort(); + Integer visitorPort = lazyInternalNetworkPenetrationMapping.getVisitorPort(); + this.changeSocket(clientId, clientTargetIp, clientTargetPort, visitorPort); + return story; + } + + + /** + * 变更 网络穿透 + * + * @param clientId 客户端ID + * @param clientTargetIp 客户端目标IP + * @param clientTargetPort 客户端莫表端口 + * @param visitorPort 访客端口 + */ + private void changeSocket(String clientId, String clientTargetIp, Integer clientTargetPort, Integer visitorPort) { + // 删除 客户端映射 + this.changeCloseSocket(clientId, visitorPort); + // 更新 客户端映射 + createVisitor(clientId, clientTargetIp, clientTargetPort, visitorPort); + } + + + /** + * 删除 通道 + * + * @param clientId 客户端ID + * @param visitorPort 访客端口 + */ + private void changeCloseSocket(String clientId, Integer visitorPort) { + // 删除 客户端映射 + List nettyVisitorSocketList = NettyClientVisitorContext.getVisitorSockets(clientId); + if (!ObjectUtils.isEmpty(nettyVisitorSocketList)) { + nettyVisitorSocketList = nettyVisitorSocketList.stream() + .filter(nettyVisitorSocket -> nettyVisitorSocket.getVisitorPort() == visitorPort).toList(); + if (!ObjectUtils.isEmpty(nettyVisitorSocketList)) { + // 关闭端口 + for (NettyVisitorSocket nettyVisitorSocket : nettyVisitorSocketList) { + try { + nettyVisitorSocket.close(); + } catch (IOException | InterruptedException e) { + throw new RuntimeException(e); + } + } + } + } + } + + /** + * describe 查询单个内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingQueryOneCommand 查询单个内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMappingDTO >} 内网穿透映射DTO对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + @Override + public Result findOne(LazyInternalNetworkPenetrationMappingQueryOneCommand lazyInternalNetworkPenetrationMappingQueryOneCommand) { + LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping = InternalNetworkPenetrationMappingDTOAssembler.INSTANCE.toInternalNetworkPenetrationMapping(lazyInternalNetworkPenetrationMappingQueryOneCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyInternalNetworkPenetrationMapping.setServerId(serverId); + return lazyInternalNetworkPenetrationMappingRepository.findOne(lazyInternalNetworkPenetrationMapping).convert(InternalNetworkPenetrationMappingDTOAssembler.INSTANCE::fromInternalNetworkPenetrationMapping); + } + + /** + * describe 查询多个内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingQueryListCommand 查询多个内网穿透映射 + * @return {@link Result>} 内网穿透映射DTO对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Override + public Result> findList(LazyInternalNetworkPenetrationMappingQueryListCommand lazyInternalNetworkPenetrationMappingQueryListCommand) { + LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping = InternalNetworkPenetrationMappingDTOAssembler.INSTANCE.toInternalNetworkPenetrationMapping(lazyInternalNetworkPenetrationMappingQueryListCommand); + + String serverId = serverNodeProperties.getNodeId(); + lazyInternalNetworkPenetrationMapping.setServerId(serverId); + return lazyInternalNetworkPenetrationMappingRepository.findList(lazyInternalNetworkPenetrationMapping).convert(internalNetworkPenetrationMappings -> internalNetworkPenetrationMappings.stream().map(InternalNetworkPenetrationMappingDTOAssembler.INSTANCE::fromInternalNetworkPenetrationMapping).collect(Collectors.toList())); + } + + /** + * describe 分页查询多个内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingQueryListCommand 分页查询多个内网穿透映射 + * @return {@link Result>} 分页内网穿透映射DTO对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyInternalNetworkPenetrationMappingQueryListCommand lazyInternalNetworkPenetrationMappingQueryListCommand) { + LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping = InternalNetworkPenetrationMappingDTOAssembler.INSTANCE.toInternalNetworkPenetrationMapping(lazyInternalNetworkPenetrationMappingQueryListCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyInternalNetworkPenetrationMapping.setServerId(serverId); + return lazyInternalNetworkPenetrationMappingRepository.findPage(size, current, lazyInternalNetworkPenetrationMapping).convert(page -> page.convert(InternalNetworkPenetrationMappingDTOAssembler.INSTANCE::fromInternalNetworkPenetrationMapping)); + } + + /** + * describe 删除内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingRemoveCommand 删除内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Transactional + @Override + public Result remove(LazyInternalNetworkPenetrationMappingRemoveCommand lazyInternalNetworkPenetrationMappingRemoveCommand) { + LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping = InternalNetworkPenetrationMappingDTOAssembler.INSTANCE.toInternalNetworkPenetrationMapping(lazyInternalNetworkPenetrationMappingRemoveCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyInternalNetworkPenetrationMapping.setServerId(serverId); + Result remove = lazyInternalNetworkPenetrationMappingRepository.remove(lazyInternalNetworkPenetrationMapping); + // 删除端口映射 + String clientId = lazyInternalNetworkPenetrationMappingRemoveCommand.getClientId(); + Integer visitorPort = lazyInternalNetworkPenetrationMappingRemoveCommand.getVisitorPort(); + this.changeCloseSocket(clientId, visitorPort); + return remove; + } + + /** + * 创建客户端的访问者 + * + * @param clientId 客户端ID + */ + @Override + public Result createVisitor(String clientId) { + // 查询代理信息 + LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping = new LazyInternalNetworkPenetrationMapping(); + lazyInternalNetworkPenetrationMapping.setIsDeleted(false); + lazyInternalNetworkPenetrationMapping.setClientId(clientId); + return lazyInternalNetworkPenetrationMappingRepository + .findList(lazyInternalNetworkPenetrationMapping) + .applyOther(internalNetworkPenetrationMappings -> { + for (LazyInternalNetworkPenetrationMapping networkPenetrationMapping : internalNetworkPenetrationMappings) { + Integer visitorPort = networkPenetrationMapping.getVisitorPort(); + String clientTargetIp = networkPenetrationMapping.getClientTargetIp(); + Integer clientTargetPort = networkPenetrationMapping.getClientTargetPort(); + this.createVisitor(clientId, clientTargetIp, clientTargetPort, visitorPort); + } + return ResultFactory.successOf(); + }); + } + + /** + * 创建访客 + * + * @param clientId 客户端ID + * @param clientTargetIp 客户端目标IP + * @param clientTargetPort 客户端目标端口 + * @param visitorPort 访客端口 + */ + private void createVisitor(String clientId, String clientTargetIp, Integer clientTargetPort, Integer visitorPort) { + // 更新 客户端映射 + NettyVisitorSocket nettyVisitorSocket = NettyVisitorSocket.NettyVisitorSocketBuilder + .builder() + .builderClientId(clientId) + .builderClientTargetIp(clientTargetIp) + .builderClientTargetPort(clientTargetPort) + .builderVisitorPort(visitorPort) + .builderChannelFlowAdapter(channelFlowAdapter) + .build(); + try { + nettyVisitorSocket.startServer(); + } catch (Exception e) { + log.error("客户端:{},网络端口:{},开放失败", clientId, visitorPort); + throw new RuntimeException(e); + } + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyNettyClientBlacklistApplicationImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyNettyClientBlacklistApplicationImpl.java new file mode 100644 index 00000000..e1fbc547 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyNettyClientBlacklistApplicationImpl.java @@ -0,0 +1,196 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.impl; + +import org.framework.smart.agent.network.heartbeat.server.properties.ServerNodeProperties; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyNettyClientBlacklistDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.blacklist.*; +import org.wu.framework.database.lazy.web.plus.stereotype.LazyApplication; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import io.netty.channel.Channel; +import jakarta.annotation.Resource; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplicationImpl; +import org.framework.smart.agent.network.heartbeat.common.ChannelContext; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyNettyClientBlacklistApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.assembler.NettyClientBlacklistDTOAssembler; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.blacklist.LazyNettyClientBlacklist; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.blacklist.LazyNettyClientBlacklistRepository; + +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.stream.Collectors; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyApplicationImpl + **/ +@LazyApplication +public class LazyNettyClientBlacklistApplicationImpl implements LazyNettyClientBlacklistApplication { + + @Resource + LazyNettyClientBlacklistRepository lazyNettyClientBlacklistRepository; + @Resource + ServerNodeProperties serverNodeProperties; + + /** + * describe 新增客户端黑名单 + * + * @param lazyNettyClientBlacklistStoryCommand 新增客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result story(LazyNettyClientBlacklistStoryCommand lazyNettyClientBlacklistStoryCommand) { + LazyNettyClientBlacklist lazyNettyClientBlacklist = NettyClientBlacklistDTOAssembler.INSTANCE.toNettyClientBlacklist(lazyNettyClientBlacklistStoryCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientBlacklist.setServerId(serverId); + // 添加和名单,客户端下线 + Result story = lazyNettyClientBlacklistRepository.story(lazyNettyClientBlacklist); + // 获取客户端channel 发送下下通知 + String clientId = lazyNettyClientBlacklist.getClientId(); + ChannelContext.ClientChannel clientChannel = ChannelContext.get(clientId.getBytes(StandardCharsets.UTF_8)); + if (null != clientChannel) { + // 模拟客户端发送下线通知 + Channel channel = clientChannel.getChannel(); + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setClientId(clientId); + nettyMsg.setType(MessageType.REPORT_CLIENT_DISCONNECTION); + + channel.writeAndFlush(nettyMsg); + } + + return story; + } + + /** + * describe 批量新增客户端黑名单 + * + * @param lazyNettyClientBlacklistStoryCommandList 批量新增客户端黑名单 + * @return {@link Result>} 客户端黑名单新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result> batchStory(List lazyNettyClientBlacklistStoryCommandList) { + List lazyNettyClientBlacklistList = lazyNettyClientBlacklistStoryCommandList + .stream() + .map( + lazyNettyClientBlacklistStoryCommand -> { + LazyNettyClientBlacklist lazyNettyClientBlacklist = NettyClientBlacklistDTOAssembler.INSTANCE.toNettyClientBlacklist(lazyNettyClientBlacklistStoryCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientBlacklist.setServerId(serverId); + return lazyNettyClientBlacklist; + } + + ) + .collect(Collectors.toList()); + return lazyNettyClientBlacklistRepository.batchStory(lazyNettyClientBlacklistList); + } + + /** + * describe 更新客户端黑名单 + * + * @param lazyNettyClientBlacklistUpdateCommand 更新客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result updateOne(LazyNettyClientBlacklistUpdateCommand lazyNettyClientBlacklistUpdateCommand) { + LazyNettyClientBlacklist lazyNettyClientBlacklist = NettyClientBlacklistDTOAssembler.INSTANCE.toNettyClientBlacklist(lazyNettyClientBlacklistUpdateCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientBlacklist.setServerId(serverId); + return lazyNettyClientBlacklistRepository.story(lazyNettyClientBlacklist); + } + + /** + * describe 查询单个客户端黑名单 + * + * @param lazyNettyClientBlacklistQueryOneCommand 查询单个客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklistDTO >} 客户端黑名单DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result findOne(LazyNettyClientBlacklistQueryOneCommand lazyNettyClientBlacklistQueryOneCommand) { + LazyNettyClientBlacklist lazyNettyClientBlacklist = NettyClientBlacklistDTOAssembler.INSTANCE.toNettyClientBlacklist(lazyNettyClientBlacklistQueryOneCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientBlacklist.setServerId(serverId); + return lazyNettyClientBlacklistRepository.findOne(lazyNettyClientBlacklist).convert(NettyClientBlacklistDTOAssembler.INSTANCE::fromNettyClientBlacklist); + } + + /** + * describe 查询多个客户端黑名单 + * + * @param lazyNettyClientBlacklistQueryListCommand 查询多个客户端黑名单 + * @return {@link Result>} 客户端黑名单DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result> findList(LazyNettyClientBlacklistQueryListCommand lazyNettyClientBlacklistQueryListCommand) { + LazyNettyClientBlacklist lazyNettyClientBlacklist = NettyClientBlacklistDTOAssembler.INSTANCE.toNettyClientBlacklist(lazyNettyClientBlacklistQueryListCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientBlacklist.setServerId(serverId); + return lazyNettyClientBlacklistRepository.findList(lazyNettyClientBlacklist).convert(nettyClientBlacklists -> nettyClientBlacklists.stream().map(NettyClientBlacklistDTOAssembler.INSTANCE::fromNettyClientBlacklist).collect(Collectors.toList())); + } + + /** + * describe 分页查询多个客户端黑名单 + * + * @param lazyNettyClientBlacklistQueryListCommand 分页查询多个客户端黑名单 + * @return {@link Result>} 分页客户端黑名单DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyNettyClientBlacklistQueryListCommand lazyNettyClientBlacklistQueryListCommand) { + LazyNettyClientBlacklist lazyNettyClientBlacklist = NettyClientBlacklistDTOAssembler.INSTANCE.toNettyClientBlacklist(lazyNettyClientBlacklistQueryListCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientBlacklist.setServerId(serverId); + return lazyNettyClientBlacklistRepository.findPage(size, current, lazyNettyClientBlacklist).convert(page -> page.convert(NettyClientBlacklistDTOAssembler.INSTANCE::fromNettyClientBlacklist)); + } + + /** + * describe 删除客户端黑名单 + * + * @param lazyNettyClientBlacklistRemoveCommand 删除客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result remove(LazyNettyClientBlacklistRemoveCommand lazyNettyClientBlacklistRemoveCommand) { + LazyNettyClientBlacklist lazyNettyClientBlacklist = NettyClientBlacklistDTOAssembler.INSTANCE.toNettyClientBlacklist(lazyNettyClientBlacklistRemoveCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientBlacklist.setServerId(serverId); + return lazyNettyClientBlacklistRepository.remove(lazyNettyClientBlacklist); + } + + /** + * describe 是否存在客户端黑名单 + * + * @param lazyNettyClientBlacklist 是否存在客户端黑名单 + * @return {@link Result} 客户端黑名单是否存在 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + @Override + public Result exists(LazyNettyClientBlacklist lazyNettyClientBlacklist) { + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientBlacklist.setServerId(serverId); + return lazyNettyClientBlacklistRepository.exists(lazyNettyClientBlacklist); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyNettyClientStateApplicationImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyNettyClientStateApplicationImpl.java new file mode 100644 index 00000000..084e7462 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyNettyClientStateApplicationImpl.java @@ -0,0 +1,211 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.impl; + + +import org.framework.smart.agent.network.heartbeat.server.properties.ServerNodeProperties; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyNettyClientStateDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.state.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state.LazyNettyClientState; +import org.wu.framework.database.lazy.web.plus.stereotype.LazyApplication; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import io.netty.channel.Channel; +import jakarta.annotation.Resource; +import org.wu.framework.core.utils.ObjectUtils; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplicationImpl; +import org.framework.smart.agent.network.heartbeat.common.ChannelContext; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyClientVisitorContext; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyNettyClientStateApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.assembler.NettyClientStateDTOAssembler; + +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state.LazyNettyClientStateRepository; +import org.framework.smart.agent.network.heartbeat.server.netty.socket.NettyVisitorSocket; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.stream.Collectors; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyApplicationImpl + **/ +@LazyApplication +public class LazyNettyClientStateApplicationImpl implements LazyNettyClientStateApplication { + + @Resource + LazyNettyClientStateRepository lazyNettyClientStateRepository; + @Resource + ServerNodeProperties serverNodeProperties; + + /** + * describe 新增客户端状态 + * + * @param lazyNettyClientStateStoryCommand 新增客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result story(LazyNettyClientStateStoryCommand lazyNettyClientStateStoryCommand) { + LazyNettyClientState lazyNettyClientState = NettyClientStateDTOAssembler.INSTANCE.toNettyClientState(lazyNettyClientStateStoryCommand); + + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientState.setServerId(serverId); + return lazyNettyClientStateRepository.story(lazyNettyClientState); + } + + /** + * describe 批量新增客户端状态 + * + * @param lazyNettyClientStateStoryCommandList 批量新增客户端状态 + * @return {@link Result>} 客户端状态新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result> batchStory(List lazyNettyClientStateStoryCommandList) { + List lazyNettyClientStateList = lazyNettyClientStateStoryCommandList + .stream() + .map(lazyNettyClientStateStoryCommand -> { + LazyNettyClientState lazyNettyClientState = NettyClientStateDTOAssembler.INSTANCE.toNettyClientState(lazyNettyClientStateStoryCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientState.setServerId(serverId); + return lazyNettyClientState; + }) + .collect(Collectors.toList()); + return lazyNettyClientStateRepository.batchStory(lazyNettyClientStateList); + } + + /** + * describe 更新客户端状态 + * + * @param lazyNettyClientStateUpdateCommand 更新客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result updateOne(LazyNettyClientStateUpdateCommand lazyNettyClientStateUpdateCommand) { + LazyNettyClientState lazyNettyClientState = NettyClientStateDTOAssembler.INSTANCE.toNettyClientState(lazyNettyClientStateUpdateCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientState.setServerId(serverId); + return lazyNettyClientStateRepository.story(lazyNettyClientState); + } + + /** + * describe 查询单个客户端状态 + * + * @param lazyNettyClientStateQueryOneCommand 查询单个客户端状态 + * @return {@link Result< LazyNettyClientStateDTO >} 客户端状态DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result findOne(LazyNettyClientStateQueryOneCommand lazyNettyClientStateQueryOneCommand) { + LazyNettyClientState lazyNettyClientState = NettyClientStateDTOAssembler.INSTANCE.toNettyClientState(lazyNettyClientStateQueryOneCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientState.setServerId(serverId); + return lazyNettyClientStateRepository.findOne(lazyNettyClientState).convert(NettyClientStateDTOAssembler.INSTANCE::fromNettyClientState); + } + + /** + * describe 查询多个客户端状态 + * + * @param lazyNettyClientStateQueryListCommand 查询多个客户端状态 + * @return {@link Result>} 客户端状态DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result> findList(LazyNettyClientStateQueryListCommand lazyNettyClientStateQueryListCommand) { + LazyNettyClientState lazyNettyClientState = NettyClientStateDTOAssembler.INSTANCE.toNettyClientState(lazyNettyClientStateQueryListCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientState.setServerId(serverId); + return lazyNettyClientStateRepository.findList(lazyNettyClientState).convert(nettyClientStates -> nettyClientStates.stream().map(NettyClientStateDTOAssembler.INSTANCE::fromNettyClientState).collect(Collectors.toList())); + } + + /** + * describe 分页查询多个客户端状态 + * + * @param lazyNettyClientStateQueryListCommand 分页查询多个客户端状态 + * @return {@link Result>} 分页客户端状态DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyNettyClientStateQueryListCommand lazyNettyClientStateQueryListCommand) { + LazyNettyClientState lazyNettyClientState = NettyClientStateDTOAssembler.INSTANCE.toNettyClientState(lazyNettyClientStateQueryListCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientState.setServerId(serverId); + return lazyNettyClientStateRepository.findPage(size, current, lazyNettyClientState).convert(page -> page.convert(NettyClientStateDTOAssembler.INSTANCE::fromNettyClientState)); + } + + /** + * describe 删除客户端状态 + * + * @param lazyNettyClientStateRemoveCommand 删除客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result remove(LazyNettyClientStateRemoveCommand lazyNettyClientStateRemoveCommand) { + LazyNettyClientState lazyNettyClientState = NettyClientStateDTOAssembler.INSTANCE.toNettyClientState(lazyNettyClientStateRemoveCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyClientState.setServerId(serverId); + // 获取当前客户端通道 而后关闭 + String clientId = lazyNettyClientStateRemoveCommand.getClientId(); + // 心跳关闭 + ChannelContext.clear(clientId); + // 关闭访客 + List nettyVisitorSocketList = NettyClientVisitorContext.getVisitorSockets(clientId); + if (!ObjectUtils.isEmpty(nettyVisitorSocketList)) { + for (NettyVisitorSocket nettyVisitorSocket : nettyVisitorSocketList) { + try { + nettyVisitorSocket.close(); + } catch (IOException | InterruptedException e) { + throw new RuntimeException(e); + } + } + } + return lazyNettyClientStateRepository.remove(lazyNettyClientState); + } + + /** + * 通过客户端心跳通道发送客户端请求 + * + * @param lazyNettyClientMessageCommand 发送请求到客户端 + * @return {@link Result} + */ + @Override + public Result sendMessage2HeartbeatClient(LazyNettyClientMessageCommand lazyNettyClientMessageCommand) { + // 获取客户端ID + String clientId = lazyNettyClientMessageCommand.getClientId(); + String message = lazyNettyClientMessageCommand.getMessage(); + ChannelContext.ClientChannel clientChannel = ChannelContext.get(clientId); + if (clientChannel == null) { + return ResultFactory.errorOf("客户端:" + clientId + "不存在"); + } + // 发送消息到客户端 + Channel channel = clientChannel.getChannel(); + NettyProxyMsg nettyProxyMsg = new NettyProxyMsg(); + nettyProxyMsg.setClientId("服务端"); + nettyProxyMsg.setData(message.getBytes(StandardCharsets.UTF_8)); + nettyProxyMsg.setType(MessageType.DISTRIBUTE_SINGLE_CLIENT_MESSAGE); + channel.writeAndFlush(nettyProxyMsg); + return ResultFactory.successOf(); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyNettyServerVisitorApplicationImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyNettyServerVisitorApplicationImpl.java new file mode 100644 index 00000000..aeb47c2d --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyNettyServerVisitorApplicationImpl.java @@ -0,0 +1,162 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.impl; + +import org.framework.smart.agent.network.heartbeat.server.properties.ServerNodeProperties; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyNettyServerVisitorDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.server.visitor.*; +import org.wu.framework.database.lazy.web.plus.stereotype.LazyApplication; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import jakarta.annotation.Resource; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplicationImpl; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyNettyServerVisitorApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.assembler.NettyServerVisitorDTOAssembler; + +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.server.visitor.LazyNettyServerVisitor; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.server.visitor.LazyNettyServerVisitorRepository; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyApplicationImpl + **/ +@LazyApplication +public class LazyNettyServerVisitorApplicationImpl implements LazyNettyServerVisitorApplication { + + @Resource + LazyNettyServerVisitorRepository lazyNettyServerVisitorRepository; + + @Resource + ServerNodeProperties serverNodeProperties; + + /** + * describe 新增服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorStoryCommand 新增服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口新增后领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result story(LazyNettyServerVisitorStoryCommand lazyNettyServerVisitorStoryCommand) { + LazyNettyServerVisitor lazyNettyServerVisitor = NettyServerVisitorDTOAssembler.INSTANCE.toNettyServerVisitor(lazyNettyServerVisitorStoryCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyServerVisitor.setServerId(serverId); + return lazyNettyServerVisitorRepository.story(lazyNettyServerVisitor); + } + + /** + * describe 批量新增服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorStoryCommandList 批量新增服务端提前开放出来的端口 + * @return {@link Result>} 服务端提前开放出来的端口新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result> batchStory(List lazyNettyServerVisitorStoryCommandList) { + List lazyNettyServerVisitorList = lazyNettyServerVisitorStoryCommandList + .stream() + .map(lazyNettyServerVisitorStoryCommand -> { + LazyNettyServerVisitor lazyNettyServerVisitor = NettyServerVisitorDTOAssembler.INSTANCE.toNettyServerVisitor(lazyNettyServerVisitorStoryCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyServerVisitor.setServerId(serverId); + return lazyNettyServerVisitor; + } + ) + .collect(Collectors.toList()); + return lazyNettyServerVisitorRepository.batchStory(lazyNettyServerVisitorList); + } + + /** + * describe 更新服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorUpdateCommand 更新服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result updateOne(LazyNettyServerVisitorUpdateCommand lazyNettyServerVisitorUpdateCommand) { + LazyNettyServerVisitor lazyNettyServerVisitor = NettyServerVisitorDTOAssembler.INSTANCE.toNettyServerVisitor(lazyNettyServerVisitorUpdateCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyServerVisitor.setServerId(serverId); + return lazyNettyServerVisitorRepository.story(lazyNettyServerVisitor); + } + + /** + * describe 查询单个服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorQueryOneCommand 查询单个服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitorDTO >} 服务端提前开放出来的端口DTO对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result findOne(LazyNettyServerVisitorQueryOneCommand lazyNettyServerVisitorQueryOneCommand) { + LazyNettyServerVisitor lazyNettyServerVisitor = NettyServerVisitorDTOAssembler.INSTANCE.toNettyServerVisitor(lazyNettyServerVisitorQueryOneCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyServerVisitor.setServerId(serverId); + return lazyNettyServerVisitorRepository.findOne(lazyNettyServerVisitor).convert(NettyServerVisitorDTOAssembler.INSTANCE::fromNettyServerVisitor); + } + + /** + * describe 查询多个服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorQueryListCommand 查询多个服务端提前开放出来的端口 + * @return {@link Result>} 服务端提前开放出来的端口DTO对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result> findList(LazyNettyServerVisitorQueryListCommand lazyNettyServerVisitorQueryListCommand) { + LazyNettyServerVisitor lazyNettyServerVisitor = NettyServerVisitorDTOAssembler.INSTANCE.toNettyServerVisitor(lazyNettyServerVisitorQueryListCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyServerVisitor.setServerId(serverId); + return lazyNettyServerVisitorRepository.findList(lazyNettyServerVisitor).convert(nettyServerVisitors -> nettyServerVisitors.stream().map(NettyServerVisitorDTOAssembler.INSTANCE::fromNettyServerVisitor).collect(Collectors.toList())); + } + + /** + * describe 分页查询多个服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorQueryListCommand 分页查询多个服务端提前开放出来的端口 + * @return {@link Result>} 分页服务端提前开放出来的端口DTO对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyNettyServerVisitorQueryListCommand lazyNettyServerVisitorQueryListCommand) { + LazyNettyServerVisitor lazyNettyServerVisitor = NettyServerVisitorDTOAssembler.INSTANCE.toNettyServerVisitor(lazyNettyServerVisitorQueryListCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyServerVisitor.setServerId(serverId); + return lazyNettyServerVisitorRepository.findPage(size, current, lazyNettyServerVisitor).convert(page -> page.convert(NettyServerVisitorDTOAssembler.INSTANCE::fromNettyServerVisitor)); + } + + /** + * describe 删除服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorRemoveCommand 删除服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result remove(LazyNettyServerVisitorRemoveCommand lazyNettyServerVisitorRemoveCommand) { + LazyNettyServerVisitor lazyNettyServerVisitor = NettyServerVisitorDTOAssembler.INSTANCE.toNettyServerVisitor(lazyNettyServerVisitorRemoveCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyNettyServerVisitor.setServerId(serverId); + return lazyNettyServerVisitorRepository.remove(lazyNettyServerVisitor); + } + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyVisitorPortFlowApplicationImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyVisitorPortFlowApplicationImpl.java new file mode 100644 index 00000000..8a270270 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyVisitorPortFlowApplicationImpl.java @@ -0,0 +1,294 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.impl; + +import jakarta.annotation.Resource; +import org.framework.smart.agent.network.heartbeat.server.properties.ServerNodeProperties; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyVisitorPortFlowApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.assembler.VisitorPortFlowDTOAssembler; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.assembler.VisitorPortPerDayFlowDTOAssembler; + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowStoryCommand; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyVisitorFlowDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyVisitorPortFlowDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.flow.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.flow.LazyVisitorPortFlow; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.flow.LazyVisitorPortFlowRepository; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.port.per.day.flow.LazyVisitorPortPerDayFlow; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowRepository; +import org.wu.framework.core.utils.ObjectUtils; +import org.wu.framework.database.lazy.web.plus.stereotype.LazyApplication; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplicationImpl; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyApplicationImpl + **/ +@LazyApplication +public class LazyVisitorPortFlowApplicationImpl implements LazyVisitorPortFlowApplication { + + @Resource + LazyVisitorPortFlowRepository lazyVisitorPortFlowRepository; + + @Resource + LazyVisitorPortPerDayFlowRepository lazyVisitorPortPerDayFlowRepository; + @Resource + ServerNodeProperties serverNodeProperties; + + /** + * describe 新增访客端流量 + * + * @param lazyVisitorPortFlowStoryCommand 新增访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量新增后领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result story(LazyVisitorPortFlowStoryCommand lazyVisitorPortFlowStoryCommand) { + LazyVisitorPortFlow lazyVisitorPortFlow = VisitorPortFlowDTOAssembler.INSTANCE.toVisitorFlow(lazyVisitorPortFlowStoryCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyVisitorPortFlow.setServerId(serverId); + return lazyVisitorPortFlowRepository.story(lazyVisitorPortFlow); + } + + /** + * 流量增长存储 + * 访客 ID 访客 端口必须 + * + * @param lazyVisitorPortFlowStoryCommand + * @return + */ + @Override + public Result flowIncreaseStory(LazyVisitorPortFlowStoryCommand lazyVisitorPortFlowStoryCommand) { + String clientId = lazyVisitorPortFlowStoryCommand.getClientId(); + Integer visitorPort = lazyVisitorPortFlowStoryCommand.getVisitorPort(); + String serverId = serverNodeProperties.getNodeId(); + lazyVisitorPortFlowStoryCommand.setServerId(serverId); + + Integer realOutFlow = ObjectUtils.isEmpty(lazyVisitorPortFlowStoryCommand.getOutFlow()) ? 0 : lazyVisitorPortFlowStoryCommand.getOutFlow(); + Integer realInFlow = ObjectUtils.isEmpty(lazyVisitorPortFlowStoryCommand.getInFlow()) ? 0 : lazyVisitorPortFlowStoryCommand.getInFlow(); + // 查询是否存在已有流量 而后进行统计汇总 + LazyVisitorPortFlow findOneLazyVisitorPortFlowQuery = new LazyVisitorPortFlow(); + findOneLazyVisitorPortFlowQuery.setClientId(clientId); + findOneLazyVisitorPortFlowQuery.setVisitorPort(visitorPort); + + findOneLazyVisitorPortFlowQuery.setServerId(serverId); + lazyVisitorPortFlowRepository.findOne(findOneLazyVisitorPortFlowQuery).accept(existVisitorFlow -> { + Integer inFlow = existVisitorFlow.getInFlow(); + Integer outFlow = existVisitorFlow.getOutFlow(); + if (!ObjectUtils.isEmpty(inFlow)) { + lazyVisitorPortFlowStoryCommand.setInFlow(realInFlow + inFlow); + } + if (!ObjectUtils.isEmpty(outFlow)) { + lazyVisitorPortFlowStoryCommand.setOutFlow(realOutFlow + outFlow); + } + }); + LazyVisitorPortFlow lazyVisitorPortFlow = VisitorPortFlowDTOAssembler.INSTANCE.toVisitorFlow(lazyVisitorPortFlowStoryCommand); + lazyVisitorPortFlowRepository.story(lazyVisitorPortFlow); + + // 日流量统计 + LazyVisitorPortPerDayFlowStoryCommand lazyVisitorPortPerDayFlowStoryCommand = new LazyVisitorPortPerDayFlowStoryCommand(); + lazyVisitorPortPerDayFlowStoryCommand.setClientId(clientId); + lazyVisitorPortPerDayFlowStoryCommand.setVisitorPort(visitorPort); + lazyVisitorPortPerDayFlowStoryCommand.setDay(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + + lazyVisitorPortPerDayFlowStoryCommand.setOutFlow(realOutFlow); + lazyVisitorPortPerDayFlowStoryCommand.setInFlow(realInFlow); + lazyVisitorPortPerDayFlowStoryCommand.setServerId(serverId); + + LazyVisitorPortPerDayFlow findOneLazyVisitorPortPerDayFlowQuery = new LazyVisitorPortPerDayFlow(); + findOneLazyVisitorPortPerDayFlowQuery.setClientId(clientId); + findOneLazyVisitorPortPerDayFlowQuery.setVisitorPort(visitorPort); + findOneLazyVisitorPortPerDayFlowQuery.setDay(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + findOneLazyVisitorPortPerDayFlowQuery.setServerId(serverId); + + lazyVisitorPortPerDayFlowRepository.findOne(findOneLazyVisitorPortPerDayFlowQuery).accept(existVisitorPortPerDayFlow -> { + Integer inFlow = existVisitorPortPerDayFlow.getInFlow(); + Integer outFlow = existVisitorPortPerDayFlow.getOutFlow(); + if (!ObjectUtils.isEmpty(inFlow)) { + lazyVisitorPortPerDayFlowStoryCommand.setInFlow(realInFlow + inFlow); + } + if (!ObjectUtils.isEmpty(outFlow)) { + lazyVisitorPortPerDayFlowStoryCommand.setOutFlow(realOutFlow + outFlow); + } + }); + LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow = VisitorPortPerDayFlowDTOAssembler.INSTANCE.toVisitorPortPerDayFlow(lazyVisitorPortPerDayFlowStoryCommand); + lazyVisitorPortPerDayFlowRepository.story(lazyVisitorPortPerDayFlow); + + return ResultFactory.successOf(); + + } + + /** + * describe 批量新增访客端流量 + * + * @param lazyVisitorPortFlowStoryCommandList 批量新增访客端流量 + * @return {@link Result>} 访客端流量新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result> batchStory(List lazyVisitorPortFlowStoryCommandList) { + List lazyVisitorPortFlowList = lazyVisitorPortFlowStoryCommandList + .stream() + .map(visitorPortFlowStoryCommand -> { + LazyVisitorPortFlow visitorFlow = VisitorPortFlowDTOAssembler.INSTANCE.toVisitorFlow(visitorPortFlowStoryCommand); + String serverId = serverNodeProperties.getNodeId(); + visitorFlow.setServerId(serverId); + return visitorFlow; + } + + ) + .collect(Collectors.toList()); + return lazyVisitorPortFlowRepository.batchStory(lazyVisitorPortFlowList); + } + + /** + * describe 更新访客端流量 + * + * @param lazyVisitorPortFlowUpdateCommand 更新访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result updateOne(LazyVisitorPortFlowUpdateCommand lazyVisitorPortFlowUpdateCommand) { + LazyVisitorPortFlow lazyVisitorPortFlow = VisitorPortFlowDTOAssembler.INSTANCE.toVisitorFlow(lazyVisitorPortFlowUpdateCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyVisitorPortFlow.setServerId(serverId); + return lazyVisitorPortFlowRepository.story(lazyVisitorPortFlow); + } + + /** + * describe 查询单个访客端流量 + * + * @param lazyVisitorPortFlowQueryOneCommand 查询单个访客端流量 + * @return {@link Result< LazyVisitorFlowDTO >} 访客端流量DTO对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result findOne(LazyVisitorPortFlowQueryOneCommand lazyVisitorPortFlowQueryOneCommand) { + LazyVisitorPortFlow lazyVisitorPortFlow = VisitorPortFlowDTOAssembler.INSTANCE.toVisitorFlow(lazyVisitorPortFlowQueryOneCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyVisitorPortFlow.setServerId(serverId); + return lazyVisitorPortFlowRepository.findOne(lazyVisitorPortFlow).convert(VisitorPortFlowDTOAssembler.INSTANCE::fromVisitorFlow); + } + + /** + * describe 查询多个访客端流量 + * + * @param visitorFlowQueryListCommand 查询多个访客端流量 + * @return {@link Result>} 访客端流量DTO对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result> findList(LazyVisitorPortFlowQueryListCommand visitorFlowQueryListCommand) { + LazyVisitorPortFlow lazyVisitorPortFlow = VisitorPortFlowDTOAssembler.INSTANCE.toVisitorFlow(visitorFlowQueryListCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyVisitorPortFlow.setServerId(serverId); + return lazyVisitorPortFlowRepository.findList(lazyVisitorPortFlow).convert(visitorFlows -> visitorFlows.stream().map(VisitorPortFlowDTOAssembler.INSTANCE::fromVisitorFlow).collect(Collectors.toList())); + } + + /** + * describe 分页查询多个访客端流量 + * + * @param lazyVisitorPortFlowQueryListCommand 分页查询多个访客端流量 + * @return {@link Result>} 分页访客端流量DTO对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyVisitorPortFlowQueryListCommand lazyVisitorPortFlowQueryListCommand) { + LazyVisitorPortFlow lazyVisitorPortFlow = VisitorPortFlowDTOAssembler.INSTANCE.toVisitorFlow(lazyVisitorPortFlowQueryListCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyVisitorPortFlow.setServerId(serverId); + return lazyVisitorPortFlowRepository.findPage(size, current, lazyVisitorPortFlow).convert(page -> page.convert(VisitorPortFlowDTOAssembler.INSTANCE::fromVisitorFlow)); + } + + /** + * describe 删除访客端流量 + * + * @param lazyVisitorPortFlowRemoveCommand 删除访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result remove(LazyVisitorPortFlowRemoveCommand lazyVisitorPortFlowRemoveCommand) { + LazyVisitorPortFlow lazyVisitorPortFlow = VisitorPortFlowDTOAssembler.INSTANCE.toVisitorFlow(lazyVisitorPortFlowRemoveCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyVisitorPortFlow.setServerId(serverId); + return lazyVisitorPortFlowRepository.remove(lazyVisitorPortFlow); + } + + /** + * 根据客户端查询流量 + * + * @param size 分页大小 + * @param current 分页 + * @param lazyVisitorPortFlowQueryListCommand 查询条件 + * @return {@link Result>} 分页访客端流量DTO对象 + */ + @Override + public Result> findClientFlowPage(int size, int current, LazyVisitorPortFlowQueryListCommand lazyVisitorPortFlowQueryListCommand) { + LazyVisitorPortFlow lazyVisitorPortFlow = VisitorPortFlowDTOAssembler.INSTANCE.toVisitorFlow(lazyVisitorPortFlowQueryListCommand); + String serverId = serverNodeProperties.getNodeId(); + lazyVisitorPortFlow.setServerId(serverId); + return lazyVisitorPortFlowRepository.findPageGroupByClientId(size, current, lazyVisitorPortFlow).convert(visitorPortFlowLazyPage -> { + List clientIdList = visitorPortFlowLazyPage + .getRecord() + .stream() + .map(LazyVisitorPortFlow::getClientId) + .toList(); + List lazyVisitorPortFlowList = lazyVisitorPortFlowRepository.findListByClientIds(clientIdList, serverId); + + + // 根据客户端进行分组 + + List lazyVisitorPortFlowDTOList = lazyVisitorPortFlowList.stream().map(VisitorPortFlowDTOAssembler.INSTANCE::fromVisitorFlow).toList(); + + + Map> client_port_flow_map = lazyVisitorPortFlowDTOList.stream().collect(Collectors.groupingBy(visitorPortFlowDTO -> visitorPortFlowDTO.getClientId())); + + Map client_in_flow = lazyVisitorPortFlowDTOList.stream() + .collect( + Collectors.groupingBy(LazyVisitorPortFlowDTO::getClientId, + Collectors.summingInt(LazyVisitorPortFlowDTO::getInFlowSize))); + + Map client_out_flow = lazyVisitorPortFlowDTOList.stream() + .collect( + Collectors.groupingBy(LazyVisitorPortFlowDTO::getClientId, + Collectors.summingInt(LazyVisitorPortFlowDTO::getOutFlowSize))); + + return visitorPortFlowLazyPage.convert(visitorPortFlow1 -> { + String clientId = visitorPortFlow1.getClientId(); + LazyVisitorFlowDTO lazyVisitorFlowDTO = new LazyVisitorFlowDTO(); + lazyVisitorFlowDTO.setClientId(clientId); + lazyVisitorFlowDTO.setInFlow(client_in_flow.getOrDefault(clientId, 0)); + lazyVisitorFlowDTO.setOutFlow(client_out_flow.getOrDefault(clientId, 0)); + lazyVisitorFlowDTO.setLazyVisitorPortFlowDTOList(client_port_flow_map.getOrDefault(clientId, new ArrayList<>())); + return lazyVisitorFlowDTO; + }); + }); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyVisitorPortPerDayFlowApplicationImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyVisitorPortPerDayFlowApplicationImpl.java new file mode 100644 index 00000000..128c6c11 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/application/impl/LazyVisitorPortPerDayFlowApplicationImpl.java @@ -0,0 +1,302 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.application.impl; + +import jakarta.annotation.Resource; +import org.framework.smart.agent.network.heartbeat.server.properties.ServerNodeProperties; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyVisitorPortPerDayFlowApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.assembler.VisitorPortPerDayFlowDTOAssembler; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.port.per.day.flow.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyClientFlowPerDayEchartsDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyClientPortFlowPerDayEchartsDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyVisitorPortPerDayFlowDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state.LazyNettyClientState; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state.LazyNettyClientStateRepository; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.port.per.day.flow.LazyVisitorPortPerDayFlow; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowRepository; +import org.wu.framework.core.utils.ObjectUtils; +import org.wu.framework.database.lazy.web.plus.stereotype.LazyApplication; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplicationImpl + **/ +@LazyApplication +public class LazyVisitorPortPerDayFlowApplicationImpl implements LazyVisitorPortPerDayFlowApplication { + + @Resource + LazyVisitorPortPerDayFlowRepository lazyVisitorPortPerDayFlowRepository; + + @Resource + LazyNettyClientStateRepository lazyNettyClientStateRepository; + + @Resource + ServerNodeProperties serverNodeProperties; + + /** + * describe 新增每日统计流量 + * + * @param lazyVisitorPortPerDayFlowStoryCommand 新增每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlow >} 每日统计流量新增后领域对象 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result story(LazyVisitorPortPerDayFlowStoryCommand lazyVisitorPortPerDayFlowStoryCommand) { + LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow = VisitorPortPerDayFlowDTOAssembler.INSTANCE.toVisitorPortPerDayFlow(lazyVisitorPortPerDayFlowStoryCommand); + + String serverId = serverNodeProperties.getNodeId(); + lazyVisitorPortPerDayFlow.setServerId(serverId); + return lazyVisitorPortPerDayFlowRepository.story(lazyVisitorPortPerDayFlow); + } + + /** + * describe 批量新增每日统计流量 + * + * @param lazyVisitorPortPerDayFlowStoryCommandList 批量新增每日统计流量 + * @return {@link Result>} 每日统计流量新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result> batchStory(List lazyVisitorPortPerDayFlowStoryCommandList) { + List lazyVisitorPortPerDayFlowList = lazyVisitorPortPerDayFlowStoryCommandList + .stream() + .map(lazyVisitorPortPerDayFlowStoryCommand -> { + LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow = VisitorPortPerDayFlowDTOAssembler.INSTANCE.toVisitorPortPerDayFlow(lazyVisitorPortPerDayFlowStoryCommand); + String serverId = serverNodeProperties.getNodeId(); + + lazyVisitorPortPerDayFlow.setServerId(serverId); + return lazyVisitorPortPerDayFlow; + } + ) + .collect(Collectors.toList()); + return lazyVisitorPortPerDayFlowRepository.batchStory(lazyVisitorPortPerDayFlowList); + } + + /** + * describe 更新每日统计流量 + * + * @param lazyVisitorPortPerDayFlowUpdateCommand 更新每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlow >} 每日统计流量领域对象 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result updateOne(LazyVisitorPortPerDayFlowUpdateCommand lazyVisitorPortPerDayFlowUpdateCommand) { + LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow = VisitorPortPerDayFlowDTOAssembler.INSTANCE.toVisitorPortPerDayFlow(lazyVisitorPortPerDayFlowUpdateCommand); + String serverId = serverNodeProperties.getNodeId(); + + lazyVisitorPortPerDayFlow.setServerId(serverId); return lazyVisitorPortPerDayFlowRepository.story(lazyVisitorPortPerDayFlow); + } + + /** + * describe 查询单个每日统计流量 + * + * @param lazyVisitorPortPerDayFlowQueryOneCommand 查询单个每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlowDTO >} 每日统计流量DTO对象 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result findOne(LazyVisitorPortPerDayFlowQueryOneCommand lazyVisitorPortPerDayFlowQueryOneCommand) { + LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow = VisitorPortPerDayFlowDTOAssembler.INSTANCE.toVisitorPortPerDayFlow(lazyVisitorPortPerDayFlowQueryOneCommand); + String serverId = serverNodeProperties.getNodeId(); + + lazyVisitorPortPerDayFlow.setServerId(serverId); return lazyVisitorPortPerDayFlowRepository.findOne(lazyVisitorPortPerDayFlow).convert(VisitorPortPerDayFlowDTOAssembler.INSTANCE::fromVisitorPortPerDayFlow); + } + + /** + * describe 查询多个每日统计流量 + * + * @param lazyVisitorPortPerDayFlowQueryListCommand 查询多个每日统计流量 + * @return {@link Result>} 每日统计流量DTO对象 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result> findList(LazyVisitorPortPerDayFlowQueryListCommand lazyVisitorPortPerDayFlowQueryListCommand) { + LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow = VisitorPortPerDayFlowDTOAssembler.INSTANCE.toVisitorPortPerDayFlow(lazyVisitorPortPerDayFlowQueryListCommand); + String serverId = serverNodeProperties.getNodeId(); + + lazyVisitorPortPerDayFlow.setServerId(serverId); return lazyVisitorPortPerDayFlowRepository.findList(lazyVisitorPortPerDayFlow).convert(visitorPortPerDayFlows -> visitorPortPerDayFlows.stream().map(VisitorPortPerDayFlowDTOAssembler.INSTANCE::fromVisitorPortPerDayFlow).collect(Collectors.toList())); + } + + /** + * describe 分页查询多个每日统计流量 + * + * @param lazyVisitorPortPerDayFlowQueryListCommand 分页查询多个每日统计流量 + * @return {@link Result>} 分页每日统计流量DTO对象 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result> findPage(int size, int current, LazyVisitorPortPerDayFlowQueryListCommand lazyVisitorPortPerDayFlowQueryListCommand) { + LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow = VisitorPortPerDayFlowDTOAssembler.INSTANCE.toVisitorPortPerDayFlow(lazyVisitorPortPerDayFlowQueryListCommand); + String serverId = serverNodeProperties.getNodeId(); + + lazyVisitorPortPerDayFlow.setServerId(serverId); return lazyVisitorPortPerDayFlowRepository.findPage(size, current, lazyVisitorPortPerDayFlow).convert(page -> page.convert(VisitorPortPerDayFlowDTOAssembler.INSTANCE::fromVisitorPortPerDayFlow)); + } + + /** + * describe 删除每日统计流量 + * + * @param lazyVisitorPortPerDayFlowRemoveCommand 删除每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlow >} 每日统计流量 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result remove(LazyVisitorPortPerDayFlowRemoveCommand lazyVisitorPortPerDayFlowRemoveCommand) { + LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow = VisitorPortPerDayFlowDTOAssembler.INSTANCE.toVisitorPortPerDayFlow(lazyVisitorPortPerDayFlowRemoveCommand); + String serverId = serverNodeProperties.getNodeId(); + + lazyVisitorPortPerDayFlow.setServerId(serverId); return lazyVisitorPortPerDayFlowRepository.remove(lazyVisitorPortPerDayFlow); + } + + /** + * 获取客户近七天流量数据 + * + * @return + */ + @Override + public Result findClient7DayFlow() { + + LazyClientPortFlowPerDayEchartsDTO lazyClientPortFlowPerDayEchartsDTO = new LazyClientPortFlowPerDayEchartsDTO(); + + + int dayLength = 7; + // 流量日期 + List dayList = Stream.iterate(1, n -> n + 1).limit(dayLength).map(index -> { + LocalDate minus = LocalDate.now().minusDays(dayLength - index); + return minus.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + }).toList(); + lazyClientPortFlowPerDayEchartsDTO.setDayList(dayList); + LazyNettyClientState lazyNettyClientState = new LazyNettyClientState(); + String serverId = serverNodeProperties.getNodeId(); + + lazyNettyClientState.setServerId(serverId); + // 客户端ID + List clientIdList = lazyNettyClientStateRepository.findList(lazyNettyClientState) + .applyOther(nettyClientStates -> nettyClientStates + .stream().map(LazyNettyClientState::getClientId) + .toList()); + lazyClientPortFlowPerDayEchartsDTO.setClientIdList(clientIdList); + LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow1 = new LazyVisitorPortPerDayFlow(); + lazyVisitorPortPerDayFlow1.setServerId(serverId); + List lazyVisitorPortPerDayFlowList = lazyVisitorPortPerDayFlowRepository.findList(lazyVisitorPortPerDayFlow1) + .applyOther(clientPerDayFlows -> clientPerDayFlows); + + List> collect = lazyVisitorPortPerDayFlowList + .stream() + .collect(Collectors + .groupingBy( + LazyVisitorPortPerDayFlow::getClientId))// 客户端分组 + .values() + .stream() + .map( + visitorPortPerDayFlows -> visitorPortPerDayFlows + .stream() + .collect(Collectors.groupingBy(LazyVisitorPortPerDayFlow::getVisitorPort)) // 访客分组 + .values() + .stream() + .toList() + ) + .collect(Collectors.flatMapping( + Collection::stream, + Collectors.toList())); + + + // in flow + List clientInFlowList = collect.stream().map(visitorPortPerDayFlows -> { + LazyClientPortFlowPerDayEchartsDTO.ClientFlow clientFlow = new LazyClientPortFlowPerDayEchartsDTO.ClientFlow(); + LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow = visitorPortPerDayFlows.stream().findFirst().get(); + String clientId = lazyVisitorPortPerDayFlow.getClientId(); + Integer visitorPort = lazyVisitorPortPerDayFlow.getVisitorPort(); + clientFlow.setClientId(clientId); + clientFlow.setVisitorPort(visitorPort); + Map portPerDayFlowMap = visitorPortPerDayFlows.stream() + .collect(Collectors.toMap(LazyVisitorPortPerDayFlow::getDay, LazyVisitorPortPerDayFlow::getInFlow, (A, B) -> A)); + List flowList = dayList.stream().map(day -> portPerDayFlowMap.getOrDefault(day, 0)).toList(); + clientFlow.setFlowList(flowList); + return clientFlow; + }).toList(); + + + lazyClientPortFlowPerDayEchartsDTO.setClientInFlowList(clientInFlowList); + + + // out flow + List clientOutFlowList = collect.stream().map(visitorPortPerDayFlows -> { + LazyClientPortFlowPerDayEchartsDTO.ClientFlow clientFlow = new LazyClientPortFlowPerDayEchartsDTO.ClientFlow(); + LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow = visitorPortPerDayFlows.stream().findFirst().get(); + String clientId = lazyVisitorPortPerDayFlow.getClientId(); + Integer visitorPort = lazyVisitorPortPerDayFlow.getVisitorPort(); + clientFlow.setClientId(clientId); + clientFlow.setVisitorPort(visitorPort); + Map portPerDayFlowMap = visitorPortPerDayFlows.stream() + .collect(Collectors.toMap(LazyVisitorPortPerDayFlow::getDay, LazyVisitorPortPerDayFlow::getOutFlow, (A, B) -> A)); + List flowList = dayList.stream().map(day -> portPerDayFlowMap.getOrDefault(day, 0)).toList(); + clientFlow.setFlowList(flowList); + return clientFlow; + }).toList(); + + lazyClientPortFlowPerDayEchartsDTO.setClientOutFlowList(clientOutFlowList); + + + // + return ResultFactory.successOf(lazyClientPortFlowPerDayEchartsDTO); + } + + /** + * 获取客户流量数据 + * + * @return + */ + @Override + public Result findClientPerDayFlow() { + LazyClientFlowPerDayEchartsDTO lazyClientFlowPerDayEchartsDTO = new LazyClientFlowPerDayEchartsDTO(); + LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow1 = new LazyVisitorPortPerDayFlow(); + String serverId = serverNodeProperties.getNodeId(); + lazyVisitorPortPerDayFlow1.setServerId(serverId); + List lazyVisitorPortPerDayFlowList = + lazyVisitorPortPerDayFlowRepository.findList(lazyVisitorPortPerDayFlow1).applyOther(clientPerDayFlows -> clientPerDayFlows) + ; + if(ObjectUtils.isEmpty(lazyVisitorPortPerDayFlowList)){ + return ResultFactory.successOf(lazyClientFlowPerDayEchartsDTO); + } + + List dayList = lazyVisitorPortPerDayFlowList.stream().map(LazyVisitorPortPerDayFlow::getDay).toList(); + + List clientInFlowList = lazyVisitorPortPerDayFlowList.stream().map(LazyVisitorPortPerDayFlow::getInFlow).toList(); + List clientOutFlowList = + lazyVisitorPortPerDayFlowList.stream().map(LazyVisitorPortPerDayFlow::getOutFlow).toList(); + List clientAllFlowList = lazyVisitorPortPerDayFlowList.stream().map(visitorPortPerDayFlow -> ObjectUtils.isEmpty(visitorPortPerDayFlow.getInFlow()) ? 0 : visitorPortPerDayFlow.getInFlow() + + (ObjectUtils.isEmpty(visitorPortPerDayFlow.getOutFlow()) ? 0 : visitorPortPerDayFlow.getOutFlow())).toList(); + + lazyClientFlowPerDayEchartsDTO.setDayList(dayList); + lazyClientFlowPerDayEchartsDTO.setClientInFlowList(clientInFlowList); + lazyClientFlowPerDayEchartsDTO.setClientOutFlowList(clientOutFlowList); + lazyClientFlowPerDayEchartsDTO.setClientAllFlowList(clientAllFlowList); + return ResultFactory.successOf(lazyClientFlowPerDayEchartsDTO); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyChannelController.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyChannelController.java new file mode 100644 index 00000000..9a33bc8e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyChannelController.java @@ -0,0 +1,110 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.controller; + + +import org.wu.framework.web.spring.EasyController; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import io.netty.channel.Channel; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.framework.smart.agent.network.heartbeat.common.ChannelContext; +import org.framework.smart.agent.network.heartbeat.common.InternalNetworkPenetrationRealClient; +import org.framework.smart.agent.network.heartbeat.common.MessageType; +import org.framework.smart.agent.network.heartbeat.common.NettyProxyMsg; + +import java.nio.charset.StandardCharsets; +import java.util.List; + +/** + * 通道管理 + */ +@Slf4j +@Tag(name = "服务端Netty通道管理") +@EasyController("/channel") +public class LazyChannelController { + + @Operation(summary = "服务端访问客户端") + @GetMapping("/{clientId}") + public void fetchClientId(@PathVariable("clientId") String clientId) { + log.info("clientId:" + clientId); + // 获取客户端channel + ChannelContext.ClientChannel clientChannel = ChannelContext.get(clientId.getBytes(StandardCharsets.UTF_8)); + + if (clientChannel == null) { + if (log.isDebugEnabled()) { + for (ChannelContext.ClientChannel exisitClientChannel : ChannelContext.get()) { + log.debug("当前存在的通道:{}", new String(exisitClientChannel.getClientId())); + } + } + return; + } + // 发送消息 + Channel channel = clientChannel.getChannel(); + NettyProxyMsg nettyMsg = new NettyProxyMsg(); + nettyMsg.setClientId(clientId); + // 下发 客户端消息 + nettyMsg.setType(MessageType.DISTRIBUTE_CLIENT_TRANSFER); + + channel.writeAndFlush(nettyMsg); + } + + /** + * 获取当前服务端所有通道 + */ + @Operation(summary = "获取当前服务端所有通道") + @GetMapping("/findClientIdList") + public Result> findClientIdList() { + List clientChannels = ChannelContext.get(); + return ResultFactory.successOf(clientChannels.stream().map(clientChannel -> new String(clientChannel.getClientId())).toList()); + } + + /** + * 批量调度客户端 数据转换接收 + */ + @Operation(summary = "批量调度客户端 数据转换接收") + @PostMapping("/batchTransfer") + public Result> batchTransfer(@RequestBody InternalNetworkPenetrationRealClient internalNetworkPenetrationRealClient) { + + String data = "GET /swagger-ui/index.html HTTP/1.1\n" + + "Host: 127.0.0.1:19080\n" + + "Connection: keep-alive\n" + + "Cache-Control: max-age=0\n" + + "sec-ch-ua: \"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"\n" + + "sec-ch-ua-mobile: ?0\n" + + "sec-ch-ua-platform: \"macOS\"\n" + + "Upgrade-Insecure-Requests: 1\n" + + "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\n" + + "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\n" + + "Sec-Fetch-Site: none\n" + + "Sec-Fetch-Mode: navigate\n" + + "Sec-Fetch-User: ?1\n" + + "Sec-Fetch-Dest: document\n" + + "Accept-Encoding: gzip, deflate, br\n" + + "Accept-Language: zh-CN,zh;q=0.9\n" + + "Cookie: XXL_JOB_LOGIN_IDENTITY=7b226964223a312c22757365726e616d65223a2261646d696e222c2270617373776f7264223a226531306164633339343962613539616262653536653035376632306638383365222c22726f6c65223a312c227065726d697373696f6e223a6e756c6c7d; Hm_lvt_173e771eef816c412396d2cb4fe2d632=1703040917\n"; + + List clientChannels = ChannelContext.get(); + String clientTargetIp = internalNetworkPenetrationRealClient.getClientTargetIp(); + Integer clientTargetPort = internalNetworkPenetrationRealClient.getClientTargetPort(); + Integer visitorPort = internalNetworkPenetrationRealClient.getVisitorPort(); + for (ChannelContext.ClientChannel clientChannel : clientChannels) { + Channel channel = clientChannel.getChannel(); + NettyProxyMsg nettyProxyMsg = new NettyProxyMsg(); + // 下发 客户端消息 + nettyProxyMsg.setType(MessageType.DISTRIBUTE_CLIENT_TRANSFER); + nettyProxyMsg.setClientId(clientChannel.getClientId()); + nettyProxyMsg.setVisitorPort(visitorPort); + nettyProxyMsg.setClientTargetIp(clientTargetIp); + nettyProxyMsg.setClientTargetPort(clientTargetPort); + nettyProxyMsg.setData(data.getBytes(StandardCharsets.UTF_8)); + channel.writeAndFlush(nettyProxyMsg); + } + return ResultFactory.successOf(); + } + +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyInternalNetworkPenetrationMappingProvider.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyInternalNetworkPenetrationMappingProvider.java new file mode 100644 index 00000000..dc97c979 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyInternalNetworkPenetrationMappingProvider.java @@ -0,0 +1,145 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.controller; + + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.internal.network.penetration.mapping.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyInternalNetworkPenetrationMappingDTO; +import org.springframework.validation.annotation.Validated; +import org.wu.framework.web.response.mark.ValidType; +import org.wu.framework.web.spring.EasyController; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyController; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyInternalNetworkPenetrationMappingApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.internal.network.penetration.mapping.LazyInternalNetworkPenetrationMapping; + +import java.util.List; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyController + **/ +@Tag(name = "内网穿透映射提供者") +@EasyController("/internal/network/penetration/mapping") +public class LazyInternalNetworkPenetrationMappingProvider { + + @Resource + private LazyInternalNetworkPenetrationMappingApplication lazyInternalNetworkPenetrationMappingApplication; + + /** + * describe 新增内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingStoryCommand 新增内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Operation(summary = "新增内网穿透映射") + @PostMapping("/story") + public Result story(@RequestBody LazyInternalNetworkPenetrationMappingStoryCommand lazyInternalNetworkPenetrationMappingStoryCommand) { + return lazyInternalNetworkPenetrationMappingApplication.story(lazyInternalNetworkPenetrationMappingStoryCommand); + } + + /** + * describe 批量新增内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingStoryCommandList 批量新增内网穿透映射 + * @return {@link Result>} 内网穿透映射新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Operation(summary = "批量新增内网穿透映射") + @PostMapping("/batchStory") + public Result> batchStory(@RequestBody List lazyInternalNetworkPenetrationMappingStoryCommandList) { + return lazyInternalNetworkPenetrationMappingApplication.batchStory(lazyInternalNetworkPenetrationMappingStoryCommandList); + } + + /** + * describe 更新内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingUpdateCommand 更新内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Operation(summary = "更新内网穿透映射") + @PutMapping("/updateOne") + public Result updateOne( + @Validated(ValidType.Update.class) + @RequestBody LazyInternalNetworkPenetrationMappingUpdateCommand lazyInternalNetworkPenetrationMappingUpdateCommand) { + return lazyInternalNetworkPenetrationMappingApplication.updateOne(lazyInternalNetworkPenetrationMappingUpdateCommand); + } + + /** + * describe 查询单个内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingQueryOneCommand 查询单个内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMappingDTO >} 内网穿透映射DTO对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Operation(summary = "查询单个内网穿透映射") + @GetMapping("/findOne") + public Result findOne(@ModelAttribute LazyInternalNetworkPenetrationMappingQueryOneCommand lazyInternalNetworkPenetrationMappingQueryOneCommand) { + return lazyInternalNetworkPenetrationMappingApplication.findOne(lazyInternalNetworkPenetrationMappingQueryOneCommand); + } + + /** + * describe 查询多个内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingQueryListCommand 查询多个内网穿透映射 + * @return {@link Result>} 内网穿透映射DTO对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Operation(summary = "查询多个内网穿透映射") + @GetMapping("/findList") + public Result> findList(@ModelAttribute LazyInternalNetworkPenetrationMappingQueryListCommand lazyInternalNetworkPenetrationMappingQueryListCommand) { + return lazyInternalNetworkPenetrationMappingApplication.findList(lazyInternalNetworkPenetrationMappingQueryListCommand); + } + + /** + * describe 分页查询多个内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingQueryListCommand 分页查询多个内网穿透映射 + * @return {@link Result>} 分页内网穿透映射DTO对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Operation(summary = "分页查询多个内网穿透映射") + @GetMapping("/findPage") + public Result> findPage(@Parameter(description = "分页大小") @RequestParam(defaultValue = "10", value = "size") int size, + @Parameter(description = "当前页数") @RequestParam(defaultValue = "1", value = "current") int current, @ModelAttribute LazyInternalNetworkPenetrationMappingQueryListCommand lazyInternalNetworkPenetrationMappingQueryListCommand) { + return lazyInternalNetworkPenetrationMappingApplication.findPage(size, current, lazyInternalNetworkPenetrationMappingQueryListCommand); + } + + /** + * describe 删除内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingRemoveCommand 删除内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Operation(summary = "删除内网穿透映射") + @DeleteMapping("/remove") + public Result remove( + @Validated(ValidType.Delete.class) + @ModelAttribute LazyInternalNetworkPenetrationMappingRemoveCommand lazyInternalNetworkPenetrationMappingRemoveCommand) { + return lazyInternalNetworkPenetrationMappingApplication.remove(lazyInternalNetworkPenetrationMappingRemoveCommand); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyNettyClientBlacklistProvider.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyNettyClientBlacklistProvider.java new file mode 100644 index 00000000..25ed1a20 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyNettyClientBlacklistProvider.java @@ -0,0 +1,142 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.controller; + + + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.blacklist.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyNettyClientBlacklistDTO; +import org.wu.framework.web.spring.EasyController; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.mark.ValidType; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyController; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyNettyClientBlacklistApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.blacklist.LazyNettyClientBlacklist; + +import java.util.List; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyController + **/ +@Tag(name = "客户端黑名单提供者") +@EasyController("/netty/client/blacklist") +public class LazyNettyClientBlacklistProvider { + + @Resource + private LazyNettyClientBlacklistApplication lazyNettyClientBlacklistApplication; + + /** + * describe 新增客户端黑名单 + * + * @param lazyNettyClientBlacklistStoryCommand 新增客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "新增客户端黑名单") + @PostMapping("/story") + public Result story(@Validated(ValidType.Create.class) @RequestBody LazyNettyClientBlacklistStoryCommand lazyNettyClientBlacklistStoryCommand) { + return lazyNettyClientBlacklistApplication.story(lazyNettyClientBlacklistStoryCommand); + } + + /** + * describe 批量新增客户端黑名单 + * + * @param lazyNettyClientBlacklistStoryCommandList 批量新增客户端黑名单 + * @return {@link Result>} 客户端黑名单新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "批量新增客户端黑名单") + @PostMapping("/batchStory") + public Result> batchStory(@Validated(ValidType.Create.class) @RequestBody List lazyNettyClientBlacklistStoryCommandList) { + return lazyNettyClientBlacklistApplication.batchStory(lazyNettyClientBlacklistStoryCommandList); + } + + /** + * describe 更新客户端黑名单 + * + * @param lazyNettyClientBlacklistUpdateCommand 更新客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "更新客户端黑名单") + @PutMapping("/updateOne") + public Result updateOne(@RequestBody LazyNettyClientBlacklistUpdateCommand lazyNettyClientBlacklistUpdateCommand) { + return lazyNettyClientBlacklistApplication.updateOne(lazyNettyClientBlacklistUpdateCommand); + } + + /** + * describe 查询单个客户端黑名单 + * + * @param lazyNettyClientBlacklistQueryOneCommand 查询单个客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklistDTO >} 客户端黑名单DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "查询单个客户端黑名单") + @GetMapping("/findOne") + public Result findOne(@ModelAttribute LazyNettyClientBlacklistQueryOneCommand lazyNettyClientBlacklistQueryOneCommand) { + return lazyNettyClientBlacklistApplication.findOne(lazyNettyClientBlacklistQueryOneCommand); + } + + /** + * describe 查询多个客户端黑名单 + * + * @param lazyNettyClientBlacklistQueryListCommand 查询多个客户端黑名单 + * @return {@link Result>} 客户端黑名单DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "查询多个客户端黑名单") + @GetMapping("/findList") + public Result> findList(@ModelAttribute LazyNettyClientBlacklistQueryListCommand lazyNettyClientBlacklistQueryListCommand) { + return lazyNettyClientBlacklistApplication.findList(lazyNettyClientBlacklistQueryListCommand); + } + + /** + * describe 分页查询多个客户端黑名单 + * + * @param lazyNettyClientBlacklistQueryListCommand 分页查询多个客户端黑名单 + * @return {@link Result>} 分页客户端黑名单DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "分页查询多个客户端黑名单") + @GetMapping("/findPage") + public Result> findPage(@Parameter(description = "分页大小") @RequestParam(defaultValue = "10", value = "size") int size, + @Parameter(description = "当前页数") @RequestParam(defaultValue = "1", value = "current") int current, @ModelAttribute LazyNettyClientBlacklistQueryListCommand lazyNettyClientBlacklistQueryListCommand) { + return lazyNettyClientBlacklistApplication.findPage(size, current, lazyNettyClientBlacklistQueryListCommand); + } + + /** + * describe 删除客户端黑名单 + * + * @param lazyNettyClientBlacklistRemoveCommand 删除客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "删除客户端黑名单") + @DeleteMapping("/remove") + public Result remove(@ModelAttribute LazyNettyClientBlacklistRemoveCommand lazyNettyClientBlacklistRemoveCommand) { + return lazyNettyClientBlacklistApplication.remove(lazyNettyClientBlacklistRemoveCommand); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyNettyClientStateProvider.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyNettyClientStateProvider.java new file mode 100644 index 00000000..06196f75 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyNettyClientStateProvider.java @@ -0,0 +1,154 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.controller; + + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.client.state.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyNettyClientStateDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state.LazyNettyClientState; +import org.wu.framework.web.spring.EasyController; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyController; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyNettyClientStateApplication; + +import java.util.List; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyController + **/ +@Tag(name = "客户端状态提供者") +@EasyController("/netty/client/state") +public class LazyNettyClientStateProvider { + + @Resource + private LazyNettyClientStateApplication lazyNettyClientStateApplication; + + /** + * describe 新增客户端状态 + * + * @param lazyNettyClientStateStoryCommand 新增客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "新增客户端状态") + @PostMapping("/story") + public Result story(@RequestBody LazyNettyClientStateStoryCommand lazyNettyClientStateStoryCommand) { + return lazyNettyClientStateApplication.story(lazyNettyClientStateStoryCommand); + } + + /** + * describe 批量新增客户端状态 + * + * @param lazyNettyClientStateStoryCommandList 批量新增客户端状态 + * @return {@link Result >} 客户端状态新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "批量新增客户端状态") + @PostMapping("/batchStory") + public Result> batchStory(@RequestBody List lazyNettyClientStateStoryCommandList) { + return lazyNettyClientStateApplication.batchStory(lazyNettyClientStateStoryCommandList); + } + + /** + * describe 更新客户端状态 + * + * @param lazyNettyClientStateUpdateCommand 更新客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "更新客户端状态") + @PutMapping("/updateOne") + public Result updateOne(@RequestBody LazyNettyClientStateUpdateCommand lazyNettyClientStateUpdateCommand) { + return lazyNettyClientStateApplication.updateOne(lazyNettyClientStateUpdateCommand); + } + + /** + * describe 查询单个客户端状态 + * + * @param lazyNettyClientStateQueryOneCommand 查询单个客户端状态 + * @return {@link Result< LazyNettyClientStateDTO >} 客户端状态DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "查询单个客户端状态") + @GetMapping("/findOne") + public Result findOne(@ModelAttribute LazyNettyClientStateQueryOneCommand lazyNettyClientStateQueryOneCommand) { + return lazyNettyClientStateApplication.findOne(lazyNettyClientStateQueryOneCommand); + } + + /** + * describe 查询多个客户端状态 + * + * @param lazyNettyClientStateQueryListCommand 查询多个客户端状态 + * @return {@link Result>} 客户端状态DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "查询多个客户端状态") + @GetMapping("/findList") + public Result> findList(@ModelAttribute LazyNettyClientStateQueryListCommand lazyNettyClientStateQueryListCommand) { + return lazyNettyClientStateApplication.findList(lazyNettyClientStateQueryListCommand); + } + + /** + * describe 分页查询多个客户端状态 + * + * @param lazyNettyClientStateQueryListCommand 分页查询多个客户端状态 + * @return {@link Result< LazyPage < LazyNettyClientStateDTO >>} 分页客户端状态DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "分页查询多个客户端状态") + @GetMapping("/findPage") + public Result> findPage(@Parameter(description = "分页大小") @RequestParam(defaultValue = "10", value = "size") int size, + @Parameter(description = "当前页数") @RequestParam(defaultValue = "1", value = "current") int current, @ModelAttribute LazyNettyClientStateQueryListCommand lazyNettyClientStateQueryListCommand) { + return lazyNettyClientStateApplication.findPage(size, current, lazyNettyClientStateQueryListCommand); + } + + /** + * describe 删除客户端状态 + * + * @param lazyNettyClientStateRemoveCommand 删除客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "删除客户端状态") + @DeleteMapping("/remove") + public Result remove(@ModelAttribute LazyNettyClientStateRemoveCommand lazyNettyClientStateRemoveCommand) { + return lazyNettyClientStateApplication.remove(lazyNettyClientStateRemoveCommand); + } + + /** + * describe 通过客户端心跳通道发送客户端请求 + * + * @param lazyNettyClientMessageCommand 发送请求到客户端 + * @return {@link Result< LazyNettyClientState >} + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Operation(summary = "通过客户端心跳通道发送客户端请求") + @PostMapping("/sendMessage2HeartbeatClient") + public Result sendMessage2HeartbeatClient(@RequestBody LazyNettyClientMessageCommand lazyNettyClientMessageCommand) { + return lazyNettyClientStateApplication.sendMessage2HeartbeatClient(lazyNettyClientMessageCommand); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyNettyServerVisitorProvider.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyNettyServerVisitorProvider.java new file mode 100644 index 00000000..3215c37b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyNettyServerVisitorProvider.java @@ -0,0 +1,138 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.controller; + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.netty.server.visitor.*; +import org.wu.framework.web.spring.EasyController; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyController; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyNettyServerVisitorApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyNettyServerVisitorDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.server.visitor.LazyNettyServerVisitor; + +import java.util.List; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyController + **/ +@Tag(name = "服务端提前开放出来的端口提供者") +@EasyController("/netty/server/visitor") +public class LazyNettyServerVisitorProvider { + + @Resource + private LazyNettyServerVisitorApplication lazyNettyServerVisitorApplication; + + /** + * describe 新增服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorStoryCommand 新增服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口新增后领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Operation(summary = "新增服务端提前开放出来的端口") + @PostMapping("/story") + public Result story(@RequestBody LazyNettyServerVisitorStoryCommand lazyNettyServerVisitorStoryCommand) { + return lazyNettyServerVisitorApplication.story(lazyNettyServerVisitorStoryCommand); + } + + /** + * describe 批量新增服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorStoryCommandList 批量新增服务端提前开放出来的端口 + * @return {@link Result>} 服务端提前开放出来的端口新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Operation(summary = "批量新增服务端提前开放出来的端口") + @PostMapping("/batchStory") + public Result> batchStory(@RequestBody List lazyNettyServerVisitorStoryCommandList) { + return lazyNettyServerVisitorApplication.batchStory(lazyNettyServerVisitorStoryCommandList); + } + + /** + * describe 更新服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorUpdateCommand 更新服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Operation(summary = "更新服务端提前开放出来的端口") + @PutMapping("/updateOne") + public Result updateOne(@RequestBody LazyNettyServerVisitorUpdateCommand lazyNettyServerVisitorUpdateCommand) { + return lazyNettyServerVisitorApplication.updateOne(lazyNettyServerVisitorUpdateCommand); + } + + /** + * describe 查询单个服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorQueryOneCommand 查询单个服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitorDTO >} 服务端提前开放出来的端口DTO对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Operation(summary = "查询单个服务端提前开放出来的端口") + @GetMapping("/findOne") + public Result findOne(@ModelAttribute LazyNettyServerVisitorQueryOneCommand lazyNettyServerVisitorQueryOneCommand) { + return lazyNettyServerVisitorApplication.findOne(lazyNettyServerVisitorQueryOneCommand); + } + + /** + * describe 查询多个服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorQueryListCommand 查询多个服务端提前开放出来的端口 + * @return {@link Result>} 服务端提前开放出来的端口DTO对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Operation(summary = "查询多个服务端提前开放出来的端口") + @GetMapping("/findList") + public Result> findList(@ModelAttribute LazyNettyServerVisitorQueryListCommand lazyNettyServerVisitorQueryListCommand) { + return lazyNettyServerVisitorApplication.findList(lazyNettyServerVisitorQueryListCommand); + } + + /** + * describe 分页查询多个服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorQueryListCommand 分页查询多个服务端提前开放出来的端口 + * @return {@link Result>} 分页服务端提前开放出来的端口DTO对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Operation(summary = "分页查询多个服务端提前开放出来的端口") + @GetMapping("/findPage") + public Result> findPage(@Parameter(description = "分页大小") @RequestParam(defaultValue = "10", value = "size") int size, + @Parameter(description = "当前页数") @RequestParam(defaultValue = "1", value = "current") int current, @ModelAttribute LazyNettyServerVisitorQueryListCommand lazyNettyServerVisitorQueryListCommand) { + return lazyNettyServerVisitorApplication.findPage(size, current, lazyNettyServerVisitorQueryListCommand); + } + + /** + * describe 删除服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorRemoveCommand 删除服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Operation(summary = "删除服务端提前开放出来的端口") + @DeleteMapping("/remove") + public Result remove(@ModelAttribute LazyNettyServerVisitorRemoveCommand lazyNettyServerVisitorRemoveCommand) { + return lazyNettyServerVisitorApplication.remove(lazyNettyServerVisitorRemoveCommand); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyVisitorPortFlowProvider.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyVisitorPortFlowProvider.java new file mode 100644 index 00000000..0ace417e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyVisitorPortFlowProvider.java @@ -0,0 +1,154 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.controller; + +import org.framework.smart.agent.network.heartbeat.server.standalone.application.command.visitor.flow.*; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyVisitorPortFlowDTO; +import org.wu.framework.web.spring.EasyController; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyController; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyVisitorPortFlowApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyVisitorFlowDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.flow.LazyVisitorPortFlow; + +import java.util.List; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyController + **/ +@Tag(name = "访客端流量提供者") +@EasyController("/visitor/port/flow") +public class LazyVisitorPortFlowProvider { + + @Resource + private LazyVisitorPortFlowApplication lazyVisitorPortFlowApplication; + + /** + * describe 新增访客端流量 + * + * @param lazyVisitorPortFlowStoryCommand 新增访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量新增后领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Operation(summary = "新增访客端流量") + @PostMapping("/story") + public Result story(@RequestBody LazyVisitorPortFlowStoryCommand lazyVisitorPortFlowStoryCommand) { + return lazyVisitorPortFlowApplication.story(lazyVisitorPortFlowStoryCommand); + } + + /** + * describe 批量新增访客端流量 + * + * @param lazyVisitorPortFlowStoryCommandList 批量新增访客端流量 + * @return {@link Result>} 访客端流量新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Operation(summary = "批量新增访客端流量") + @PostMapping("/batchStory") + public Result> batchStory(@RequestBody List lazyVisitorPortFlowStoryCommandList) { + return lazyVisitorPortFlowApplication.batchStory(lazyVisitorPortFlowStoryCommandList); + } + + /** + * describe 更新访客端流量 + * + * @param lazyVisitorPortFlowUpdateCommand 更新访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Operation(summary = "更新访客端流量") + @PutMapping("/updateOne") + public Result updateOne(@RequestBody LazyVisitorPortFlowUpdateCommand lazyVisitorPortFlowUpdateCommand) { + return lazyVisitorPortFlowApplication.updateOne(lazyVisitorPortFlowUpdateCommand); + } + + /** + * describe 查询单个访客端流量 + * + * @param lazyVisitorPortFlowQueryOneCommand 查询单个访客端流量 + * @return {@link Result< LazyVisitorPortFlowDTO >} 访客端流量DTO对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Operation(summary = "查询单个访客端流量") + @GetMapping("/findOne") + public Result findOne(@ModelAttribute LazyVisitorPortFlowQueryOneCommand lazyVisitorPortFlowQueryOneCommand) { + return lazyVisitorPortFlowApplication.findOne(lazyVisitorPortFlowQueryOneCommand); + } + + /** + * describe 查询多个访客端流量 + * + * @param lazyVisitorPortFlowQueryListCommand 查询多个访客端流量 + * @return {@link Result>} 访客端流量DTO对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Operation(summary = "查询多个访客端流量") + @GetMapping("/findList") + public Result> findList(@ModelAttribute LazyVisitorPortFlowQueryListCommand lazyVisitorPortFlowQueryListCommand) { + return lazyVisitorPortFlowApplication.findList(lazyVisitorPortFlowQueryListCommand); + } + + /** + * describe 分页查询多个访客端流量 + * + * @param lazyVisitorPortFlowQueryListCommand 分页查询多个访客端流量 + * @return {@link Result>} 分页访客端流量DTO对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Operation(summary = "分页查询多个访客端流量") + @GetMapping("/findPage") + public Result> findPage(@Parameter(description = "分页大小") @RequestParam(defaultValue = "10", value = "size") int size, + @Parameter(description = "当前页数") @RequestParam(defaultValue = "1", value = "current") int current, @ModelAttribute LazyVisitorPortFlowQueryListCommand lazyVisitorPortFlowQueryListCommand) { + return lazyVisitorPortFlowApplication.findPage(size, current, lazyVisitorPortFlowQueryListCommand); + } + + /** + * 根据客户端查询流量 + * + * @param size 分页大小 + * @param current 分页 + * @param lazyVisitorPortFlowQueryListCommand 查询条件 + * @return {@link Result>} 分页访客端流量DTO对象 + */ + @Operation(summary = "分页查询多个访客端流量") + @GetMapping("/findClientFlowPage") + public Result> findClientFlowPage(@Parameter(description = "分页大小") @RequestParam(defaultValue = "10", value = "size") int size, + @Parameter(description = "当前页数") @RequestParam(defaultValue = "1", value = "current") int current, @ModelAttribute LazyVisitorPortFlowQueryListCommand lazyVisitorPortFlowQueryListCommand) { + return lazyVisitorPortFlowApplication.findClientFlowPage(size, current, lazyVisitorPortFlowQueryListCommand); + } + + /** + * describe 删除访客端流量 + * + * @param lazyVisitorPortFlowRemoveCommand 删除访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Operation(summary = "删除访客端流量") + @DeleteMapping("/remove") + public Result remove(@ModelAttribute LazyVisitorPortFlowRemoveCommand lazyVisitorPortFlowRemoveCommand) { + return lazyVisitorPortFlowApplication.remove(lazyVisitorPortFlowRemoveCommand); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyVisitorPortPerDayFlowProvider.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyVisitorPortPerDayFlowProvider.java new file mode 100644 index 00000000..19e4ac0b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/controller/LazyVisitorPortPerDayFlowProvider.java @@ -0,0 +1,49 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.controller; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.LazyVisitorPortPerDayFlowApplication; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyClientFlowPerDayEchartsDTO; +import org.framework.smart.agent.network.heartbeat.server.standalone.application.dto.LazyClientPortFlowPerDayEchartsDTO; +import org.springframework.web.bind.annotation.GetMapping; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.spring.EasyController; + +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyController + **/ +@Tag(name = "每日统计流量提供者") +@EasyController("/visitor/port/per/day/flow") +public class LazyVisitorPortPerDayFlowProvider { + @Resource + private LazyVisitorPortPerDayFlowApplication lazyVisitorPortPerDayFlowApplication; + + + /** + * describe 获取客户近七天流量数据 + * + * @author Jia wei Wu + **/ + + @Operation(summary = "获取客户近七天流量数据") + @GetMapping("/findClient7DayFlow") + public Result findClientPort7DayFlow() { + return lazyVisitorPortPerDayFlowApplication.findClient7DayFlow(); + } + + /** + * 获取客户流量数据 + * @return + */ + @Operation(summary = "获取客户流量数据") + @GetMapping("/findClientPerDayFlow") + public Result findClientPerDayFlow() { + return lazyVisitorPortPerDayFlowApplication.findClientPerDayFlow(); + } + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMapping.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMapping.java new file mode 100644 index 00000000..64ada98b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMapping.java @@ -0,0 +1,82 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.internal.network.penetration.mapping; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain; + +import java.time.LocalDateTime; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "internal_network_penetration_mapping", description = "内网穿透映射") +public class LazyInternalNetworkPenetrationMapping { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 客户端目标地址 + */ + @Schema(description = "客户端目标地址", name = "clientTargetIp", example = "") + private String clientTargetIp; + + /** + * 客户端目标端口 + */ + @Schema(description = "客户端目标端口", name = "clientTargetPort", example = "") + private Integer clientTargetPort; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键自增 + */ + @Schema(description = "主键自增", name = "id", example = "") + private Long id; + + /** + * 是否删除 默认否 + */ + @Schema(description = "是否删除 默认否", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访问端口 + */ + @Schema(description = "访问端口", name = "visitorPort", example = "") + private Integer visitorPort; + + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingRepository.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingRepository.java new file mode 100644 index 00000000..285a227b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/internal/network/penetration/mapping/LazyInternalNetworkPenetrationMappingRepository.java @@ -0,0 +1,99 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.internal.network.penetration.mapping; + +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository; + +import java.util.List; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyDomainRepository + **/ + +public interface LazyInternalNetworkPenetrationMappingRepository { + + + /** + * describe 新增内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMapping 新增内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result story(LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping); + + /** + * describe 批量新增内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingList 批量新增内网穿透映射 + * @return {@link Result>} 内网穿透映射新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result> batchStory(List lazyInternalNetworkPenetrationMappingList); + + /** + * describe 查询单个内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMapping 查询单个内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射DTO对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result findOne(LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping); + + /** + * describe 查询多个内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMapping 查询多个内网穿透映射 + * @return {@link Result>} 内网穿透映射DTO对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result> findList(LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping); + + /** + * describe 分页查询多个内网穿透映射 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyInternalNetworkPenetrationMapping 分页查询多个内网穿透映射 + * @return {@link Result>} 分页内网穿透映射领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result> findPage(int size, int current, LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping); + + /** + * describe 删除内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMapping 删除内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result remove(LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping); + + /** + * describe 是否存在内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMapping 是否存在内网穿透映射 + * @return {@link Result} 内网穿透映射是否存在 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + Result exists(LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping); + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/blacklist/LazyNettyClientBlacklist.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/blacklist/LazyNettyClientBlacklist.java new file mode 100644 index 00000000..f74ed4f6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/blacklist/LazyNettyClientBlacklist.java @@ -0,0 +1,57 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.blacklist; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain; + +import java.time.LocalDateTime; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_blacklist", description = "客户端黑名单") +public class LazyNettyClientBlacklist { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/blacklist/LazyNettyClientBlacklistRepository.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/blacklist/LazyNettyClientBlacklistRepository.java new file mode 100644 index 00000000..9f4a38a8 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/blacklist/LazyNettyClientBlacklistRepository.java @@ -0,0 +1,99 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.blacklist; + +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository; + +import java.util.List; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyDomainRepository + **/ + +public interface LazyNettyClientBlacklistRepository { + + + /** + * describe 新增客户端黑名单 + * + * @param lazyNettyClientBlacklist 新增客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result story(LazyNettyClientBlacklist lazyNettyClientBlacklist); + + /** + * describe 批量新增客户端黑名单 + * + * @param lazyNettyClientBlacklistList 批量新增客户端黑名单 + * @return {@link Result>} 客户端黑名单新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result> batchStory(List lazyNettyClientBlacklistList); + + /** + * describe 查询单个客户端黑名单 + * + * @param lazyNettyClientBlacklist 查询单个客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result findOne(LazyNettyClientBlacklist lazyNettyClientBlacklist); + + /** + * describe 查询多个客户端黑名单 + * + * @param lazyNettyClientBlacklist 查询多个客户端黑名单 + * @return {@link Result>} 客户端黑名单DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result> findList(LazyNettyClientBlacklist lazyNettyClientBlacklist); + + /** + * describe 分页查询多个客户端黑名单 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyClientBlacklist 分页查询多个客户端黑名单 + * @return {@link Result>} 分页客户端黑名单领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result> findPage(int size, int current, LazyNettyClientBlacklist lazyNettyClientBlacklist); + + /** + * describe 删除客户端黑名单 + * + * @param lazyNettyClientBlacklist 删除客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result remove(LazyNettyClientBlacklist lazyNettyClientBlacklist); + + /** + * describe 是否存在客户端黑名单 + * + * @param lazyNettyClientBlacklist 是否存在客户端黑名单 + * @return {@link Result} 客户端黑名单是否存在 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result exists(LazyNettyClientBlacklist lazyNettyClientBlacklist); + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/state/LazyNettyClientState.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/state/LazyNettyClientState.java new file mode 100644 index 00000000..6994a07d --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/state/LazyNettyClientState.java @@ -0,0 +1,75 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.time.LocalDateTime; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_client_state", description = "客户端状态") +public class LazyNettyClientState { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "onLineState", example = "") + private NettyClientStatus onLineState; + + /** + * 暂存状态(开启、关闭) + */ + @Schema(description = "暂存状态(开启、关闭)", name = "staging", example = "") + private String stagingState; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/state/LazyNettyClientStateRepository.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/state/LazyNettyClientStateRepository.java new file mode 100644 index 00000000..f4136ea2 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/client/state/LazyNettyClientStateRepository.java @@ -0,0 +1,114 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state; + +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository; + +import java.util.List; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyDomainRepository + **/ + +public interface LazyNettyClientStateRepository { + + + /** + * describe 新增客户端状态 + * + * @param lazyNettyClientState 新增客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result story(LazyNettyClientState lazyNettyClientState); + + /** + * describe 批量新增客户端状态 + * + * @param lazyNettyClientStateList 批量新增客户端状态 + * @return {@link Result>} 客户端状态新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result> batchStory(List lazyNettyClientStateList); + + /** + * describe 查询单个客户端状态 + * + * @param lazyNettyClientState 查询单个客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result findOne(LazyNettyClientState lazyNettyClientState); + + /** + * describe 查询多个客户端状态 + * + * @param lazyNettyClientState 查询多个客户端状态 + * @return {@link Result>} 客户端状态DTO对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result> findList(LazyNettyClientState lazyNettyClientState); + + /** + * describe 分页查询多个客户端状态 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyClientState 分页查询多个客户端状态 + * @return {@link Result>} 分页客户端状态领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result> findPage(int size, int current, LazyNettyClientState lazyNettyClientState); + + /** + * describe 删除客户端状态 + * + * @param lazyNettyClientState 删除客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result remove(LazyNettyClientState lazyNettyClientState); + + /** + * describe 是否存在客户端状态 + * + * @param lazyNettyClientState 是否存在客户端状态 + * @return {@link Result} 客户端状态是否存在 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + Result exists(LazyNettyClientState lazyNettyClientState); + + /** + * 修改客户端在线状态 + * + * @param lazyNettyClientState 客户端状态 + * @return Result + */ + Result updateOnLIneState(LazyNettyClientState lazyNettyClientState); + + /** + * 修改客户端暂存状态 + * + * @param lazyNettyClientState 客户端信息 + * @return Result + */ + Result updateStagingState(LazyNettyClientState lazyNettyClientState); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/server/visitor/LazyNettyServerVisitor.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/server/visitor/LazyNettyServerVisitor.java new file mode 100644 index 00000000..9d1d6e74 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/server/visitor/LazyNettyServerVisitor.java @@ -0,0 +1,63 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.server.visitor; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain; + +import java.time.LocalDateTime; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_netty_server_visitor", description = "服务端提前开放出来的端口") +public class LazyNettyServerVisitor { + + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + private String describe; + + /** + * 用户ID + */ + @Schema(description = "用户ID", name = "id", example = "") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/server/visitor/LazyNettyServerVisitorRepository.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/server/visitor/LazyNettyServerVisitorRepository.java new file mode 100644 index 00000000..3c100ae6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/netty/server/visitor/LazyNettyServerVisitorRepository.java @@ -0,0 +1,99 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.server.visitor; + +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository; + +import java.util.List; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyDomainRepository + **/ + +public interface LazyNettyServerVisitorRepository { + + + /** + * describe 新增服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitor 新增服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口新增后领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result story(LazyNettyServerVisitor lazyNettyServerVisitor); + + /** + * describe 批量新增服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorList 批量新增服务端提前开放出来的端口 + * @return {@link Result>} 服务端提前开放出来的端口新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result> batchStory(List lazyNettyServerVisitorList); + + /** + * describe 查询单个服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitor 查询单个服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口DTO对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result findOne(LazyNettyServerVisitor lazyNettyServerVisitor); + + /** + * describe 查询多个服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitor 查询多个服务端提前开放出来的端口 + * @return {@link Result>} 服务端提前开放出来的端口DTO对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result> findList(LazyNettyServerVisitor lazyNettyServerVisitor); + + /** + * describe 分页查询多个服务端提前开放出来的端口 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyServerVisitor 分页查询多个服务端提前开放出来的端口 + * @return {@link Result>} 分页服务端提前开放出来的端口领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result> findPage(int size, int current, LazyNettyServerVisitor lazyNettyServerVisitor); + + /** + * describe 删除服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitor 删除服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result remove(LazyNettyServerVisitor lazyNettyServerVisitor); + + /** + * describe 是否存在服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitor 是否存在服务端提前开放出来的端口 + * @return {@link Result} 服务端提前开放出来的端口是否存在 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + Result exists(LazyNettyServerVisitor lazyNettyServerVisitor); + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/LazyClientPerDayFlow.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/LazyClientPerDayFlow.java new file mode 100644 index 00000000..2f3760d6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/LazyClientPerDayFlow.java @@ -0,0 +1,70 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + * describe 客户端每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_per_day_flow",description = "客户端每日统计流量") +public class LazyClientPerDayFlow { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/flow/LazyVisitorPortFlow.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/flow/LazyVisitorPortFlow.java new file mode 100644 index 00000000..5b2a974f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/flow/LazyVisitorPortFlow.java @@ -0,0 +1,75 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.flow; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain; + +import java.time.LocalDateTime; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_flow", description = "访客端流量") +public class LazyVisitorPortFlow { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + private Long id; + + /** + * 当前访客当前进口流量 + */ + @Schema(description = "当前访客当前进口流量", name = "inFlow", example = "") + private Integer inFlow; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + private Boolean isDeleted; + + /** + * 当前访客出口流量 + */ + @Schema(description = "当前访客出口流量", name = "outFlow", example = "") + private Integer outFlow; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/flow/LazyVisitorPortFlowRepository.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/flow/LazyVisitorPortFlowRepository.java new file mode 100644 index 00000000..8899ebd3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/flow/LazyVisitorPortFlowRepository.java @@ -0,0 +1,117 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.flow; + +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.web.response.Result; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository; + +import java.util.List; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyDomainRepository + **/ + +public interface LazyVisitorPortFlowRepository { + + + /** + * describe 新增访客端流量 + * + * @param lazyVisitorPortFlow 新增访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量新增后领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result story(LazyVisitorPortFlow lazyVisitorPortFlow); + + /** + * describe 批量新增访客端流量 + * + * @param lazyVisitorPortFlowList 批量新增访客端流量 + * @return {@link Result>} 访客端流量新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result> batchStory(List lazyVisitorPortFlowList); + + /** + * describe 查询单个访客端流量 + * + * @param lazyVisitorPortFlow 查询单个访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量DTO对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result findOne(LazyVisitorPortFlow lazyVisitorPortFlow); + + /** + * describe 查询多个访客端流量 + * + * @param lazyVisitorPortFlow 查询多个访客端流量 + * @return {@link Result>} 访客端流量DTO对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result> findList(LazyVisitorPortFlow lazyVisitorPortFlow); + + /** + * describe 分页查询多个访客端流量 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyVisitorPortFlow 分页查询多个访客端流量 + * @return {@link Result>} 分页访客端流量领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result> findPage(int size, int current, LazyVisitorPortFlow lazyVisitorPortFlow); + + /** + * describe 删除访客端流量 + * + * @param lazyVisitorPortFlow 删除访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result remove(LazyVisitorPortFlow lazyVisitorPortFlow); + + /** + * describe 是否存在访客端流量 + * + * @param lazyVisitorPortFlow 是否存在访客端流量 + * @return {@link Result} 访客端流量是否存在 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + Result exists(LazyVisitorPortFlow lazyVisitorPortFlow); + + /** + * 根据客户端查询流量 + * + * @param size 分页大小 + * @param current 分页 + * @param lazyVisitorPortFlow 查询条件 + * @return {@link Result>} 分页访客端流量DTO对象 + */ + Result> findPageGroupByClientId(int size, int current, LazyVisitorPortFlow lazyVisitorPortFlow); + + /** + * 根据客户端ID查询出 客户端所有的进出口流量 + * + * @param clientIdList 客户端ID + * @param serverId 服务ID + * @return 客户端所有的进出口流量 + */ + List findListByClientIds(List clientIdList, String serverId); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/port/per/day/flow/LazyVisitorPortPerDayFlow.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/port/per/day/flow/LazyVisitorPortPerDayFlow.java new file mode 100644 index 00000000..e650c287 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/port/per/day/flow/LazyVisitorPortPerDayFlow.java @@ -0,0 +1,91 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.port.per.day.flow; + +import lombok.Data; +import lombok.experimental.Accessors; +import io.swagger.v3.oas.annotations.media.Schema; +import java.lang.String; +import java.time.LocalDateTime; +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomain + **/ +@Data +@Accessors(chain = true) +@Schema(title = "lazy_visitor_port_per_day_flow",description = "每日统计流量") +public class LazyVisitorPortPerDayFlow { + + + /** + * + * 客户端ID + */ + @Schema(description ="客户端ID",name ="clientId",example = "") + private String clientId; + + /** + * + * 创建时间 + */ + @Schema(description ="创建时间",name ="createTime",example = "") + private LocalDateTime createTime; + + /** + * + * 日期 + */ + @Schema(description ="日期",name ="day",example = "") + private String day; + + /** + * + * 主键 + */ + @Schema(description ="主键",name ="id",example = "") + private Long id; + + /** + * + * 当前访客当前进口流量 + */ + @Schema(description ="当前访客当前进口流量",name ="inFlow",example = "") + private Integer inFlow; + + /** + * + * 是否删除 + */ + @Schema(description ="是否删除",name ="isDeleted",example = "") + private Boolean isDeleted; + + /** + * + * 当前访客出口流量 + */ + @Schema(description ="当前访客出口流量",name ="outFlow",example = "") + private Integer outFlow; + + /** + * + * 修改时间 + */ + @Schema(description ="修改时间",name ="updateTime",example = "") + private LocalDateTime updateTime; + + /** + * + * 访客端口 + */ + @Schema(description ="访客端口",name ="visitorPort",example = "") + private Integer visitorPort; /** + * 服务端ID + */ + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowRepository.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowRepository.java new file mode 100644 index 00000000..0138dabf --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/domain/model/visitor/port/per/day/flow/LazyVisitorPortPerDayFlowRepository.java @@ -0,0 +1,110 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.port.per.day.flow; + +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.LazyClientPerDayFlow; +import org.wu.framework.web.response.Result; + +import java.util.List; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyDomainRepository + **/ + +public interface LazyVisitorPortPerDayFlowRepository { + + + /** + * describe 新增每日统计流量 + * + * @param lazyVisitorPortPerDayFlow 新增每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlow >} 每日统计流量新增后领域对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result story(LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow); + + /** + * describe 批量新增每日统计流量 + * + * @param lazyVisitorPortPerDayFlowList 批量新增每日统计流量 + * @return {@link Result>} 每日统计流量新增后领域对象集合 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result> batchStory(List lazyVisitorPortPerDayFlowList); + + /** + * describe 查询单个每日统计流量 + * + * @param lazyVisitorPortPerDayFlow 查询单个每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlow >} 每日统计流量DTO对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result findOne(LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow); + + /** + * describe 查询多个每日统计流量 + * + * @param lazyVisitorPortPerDayFlow 查询多个每日统计流量 + * @return {@link Result>} 每日统计流量DTO对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result> findList(LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow); + + /** + * describe 分页查询多个每日统计流量 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyVisitorPortPerDayFlow 分页查询多个每日统计流量 + * @return {@link Result>} 分页每日统计流量领域对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result> findPage(int size, int current, LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow); + + /** + * describe 删除每日统计流量 + * + * @param lazyVisitorPortPerDayFlow 删除每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlow >} 每日统计流量 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result remove(LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow); + + /** + * describe 是否存在每日统计流量 + * + * @param lazyVisitorPortPerDayFlow 是否存在每日统计流量 + * @return {@link Result} 每日统计流量是否存在 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + Result exists(LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow); + + /** + * 获取客户端每天流量 + * @return 客户端每天流量 + */ + Result> findClientPerDayFlowList(); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyInternalNetworkPenetrationMappingConverter.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyInternalNetworkPenetrationMappingConverter.java new file mode 100644 index 00000000..21a93eb1 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyInternalNetworkPenetrationMappingConverter.java @@ -0,0 +1,47 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.converter; + +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyInternalNetworkPenetrationMappingDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureConverter; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.internal.network.penetration.mapping.LazyInternalNetworkPenetrationMapping; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyInfrastructureConverter + **/ +@Mapper +public interface LazyInternalNetworkPenetrationMappingConverter { + + + /** + * describe MapStruct 创建的代理对象 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + LazyInternalNetworkPenetrationMappingConverter INSTANCE = Mappers.getMapper(LazyInternalNetworkPenetrationMappingConverter.class); + + /** + * describe 实体对象 转换成领域对象 + * + * @param lazyInternalNetworkPenetrationMappingDO 内网穿透映射实体对象 + * @return {@link LazyInternalNetworkPenetrationMapping} 内网穿透映射领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + LazyInternalNetworkPenetrationMapping toInternalNetworkPenetrationMapping(LazyInternalNetworkPenetrationMappingDO lazyInternalNetworkPenetrationMappingDO); + + /** + * describe 领域对象 转换成实体对象 + * + * @param lazyInternalNetworkPenetrationMapping 内网穿透映射领域对象 + * @return {@link LazyInternalNetworkPenetrationMappingDO} 内网穿透映射实体对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + LazyInternalNetworkPenetrationMappingDO fromInternalNetworkPenetrationMapping(LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyClientBlacklistConverter.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyClientBlacklistConverter.java new file mode 100644 index 00000000..d2bf4544 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyClientBlacklistConverter.java @@ -0,0 +1,48 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.converter; + + +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyClientBlacklistDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureConverter; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.blacklist.LazyNettyClientBlacklist; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyInfrastructureConverter + **/ +@Mapper +public interface LazyNettyClientBlacklistConverter { + + + /** + * describe MapStruct 创建的代理对象 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientBlacklistConverter INSTANCE = Mappers.getMapper(LazyNettyClientBlacklistConverter.class); + + /** + * describe 实体对象 转换成领域对象 + * + * @param lazyNettyClientBlacklistDO 客户端黑名单实体对象 + * @return {@link LazyNettyClientBlacklist} 客户端黑名单领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientBlacklist toNettyClientBlacklist(LazyNettyClientBlacklistDO lazyNettyClientBlacklistDO); + + /** + * describe 领域对象 转换成实体对象 + * + * @param lazyNettyClientBlacklist 客户端黑名单领域对象 + * @return {@link LazyNettyClientBlacklistDO} 客户端黑名单实体对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientBlacklistDO fromNettyClientBlacklist(LazyNettyClientBlacklist lazyNettyClientBlacklist); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyClientStateConverter.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyClientStateConverter.java new file mode 100644 index 00000000..ec4ef351 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyClientStateConverter.java @@ -0,0 +1,47 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.converter; + +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyClientStateDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureConverter; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state.LazyNettyClientState; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyInfrastructureConverter + **/ +@Mapper +public interface LazyNettyClientStateConverter { + + + /** + * describe MapStruct 创建的代理对象 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientStateConverter INSTANCE = Mappers.getMapper(LazyNettyClientStateConverter.class); + + /** + * describe 实体对象 转换成领域对象 + * + * @param lazyNettyClientStateDO 客户端状态实体对象 + * @return {@link LazyNettyClientState} 客户端状态领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientState toNettyClientState(LazyNettyClientStateDO lazyNettyClientStateDO); + + /** + * describe 领域对象 转换成实体对象 + * + * @param lazyNettyClientState 客户端状态领域对象 + * @return {@link LazyNettyClientStateDO} 客户端状态实体对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + LazyNettyClientStateDO fromNettyClientState(LazyNettyClientState lazyNettyClientState); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyServerVisitorConverter.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyServerVisitorConverter.java new file mode 100644 index 00000000..a1f2e42c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyNettyServerVisitorConverter.java @@ -0,0 +1,47 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.converter; + +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyServerVisitorDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureConverter; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.server.visitor.LazyNettyServerVisitor; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyInfrastructureConverter + **/ +@Mapper +public interface LazyNettyServerVisitorConverter { + + + /** + * describe MapStruct 创建的代理对象 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + LazyNettyServerVisitorConverter INSTANCE = Mappers.getMapper(LazyNettyServerVisitorConverter.class); + + /** + * describe 实体对象 转换成领域对象 + * + * @param lazyNettyServerVisitorDO 服务端提前开放出来的端口实体对象 + * @return {@link LazyNettyServerVisitor} 服务端提前开放出来的端口领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + LazyNettyServerVisitor toNettyServerVisitor(LazyNettyServerVisitorDO lazyNettyServerVisitorDO); + + /** + * describe 领域对象 转换成实体对象 + * + * @param lazyNettyServerVisitor 服务端提前开放出来的端口领域对象 + * @return {@link LazyNettyServerVisitorDO} 服务端提前开放出来的端口实体对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + LazyNettyServerVisitorDO fromNettyServerVisitor(LazyNettyServerVisitor lazyNettyServerVisitor); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyVisitorPortFlowConverter.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyVisitorPortFlowConverter.java new file mode 100644 index 00000000..1930ac9e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyVisitorPortFlowConverter.java @@ -0,0 +1,47 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.converter; + +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyVisitorPortFlowDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureConverter; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.flow.LazyVisitorPortFlow; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyInfrastructureConverter + **/ +@Mapper +public interface LazyVisitorPortFlowConverter { + + + /** + * describe MapStruct 创建的代理对象 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + LazyVisitorPortFlowConverter INSTANCE = Mappers.getMapper(LazyVisitorPortFlowConverter.class); + + /** + * describe 实体对象 转换成领域对象 + * + * @param lazyVisitorPortFlowDO 访客端流量实体对象 + * @return {@link LazyVisitorPortFlow} 访客端流量领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + LazyVisitorPortFlow toVisitorFlow(LazyVisitorPortFlowDO lazyVisitorPortFlowDO); + + /** + * describe 领域对象 转换成实体对象 + * + * @param lazyVisitorPortFlow 访客端流量领域对象 + * @return {@link LazyVisitorPortFlowDO} 访客端流量实体对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + LazyVisitorPortFlowDO fromVisitorFlow(LazyVisitorPortFlow lazyVisitorPortFlow); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyVisitorPortPerDayFlowConverter.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyVisitorPortPerDayFlowConverter.java new file mode 100644 index 00000000..a5dc7423 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/converter/LazyVisitorPortPerDayFlowConverter.java @@ -0,0 +1,48 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.converter; + +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.port.per.day.flow.LazyVisitorPortPerDayFlow; +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyVisitorPortPerDayFlowDO; +import org.mapstruct.factory.Mappers; +import org.mapstruct.Mapper; +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureConverter + **/ +@Mapper +public interface LazyVisitorPortPerDayFlowConverter { + + + /** + * describe MapStruct 创建的代理对象 + * + + + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + LazyVisitorPortPerDayFlowConverter INSTANCE = Mappers.getMapper(LazyVisitorPortPerDayFlowConverter.class); + /** + * describe 实体对象 转换成领域对象 + * + * @param lazyVisitorPortPerDayFlowDO 每日统计流量实体对象 + * @return {@link LazyVisitorPortPerDayFlow} 每日统计流量领域对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + LazyVisitorPortPerDayFlow toVisitorPortPerDayFlow(LazyVisitorPortPerDayFlowDO lazyVisitorPortPerDayFlowDO); + /** + * describe 领域对象 转换成实体对象 + * + * @param lazyVisitorPortPerDayFlow 每日统计流量领域对象 + * @return {@link LazyVisitorPortPerDayFlowDO} 每日统计流量实体对象 + + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + LazyVisitorPortPerDayFlowDO fromVisitorPortPerDayFlow(LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow); +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyInternalNetworkPenetrationMappingDO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyInternalNetworkPenetrationMappingDO.java new file mode 100644 index 00000000..fd96d3d6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyInternalNetworkPenetrationMappingDO.java @@ -0,0 +1,94 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity; +import org.wu.framework.lazy.orm.core.stereotype.*; + +import java.time.LocalDateTime; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyInfrastructureEntity + **/ +@Data +@Accessors(chain = true) +@LazyTable(tableName = "lazy_internal_network_penetration_mapping", comment = "内网穿透映射") +@Schema(title = "lazy_internal_network_penetration_mapping", description = "内网穿透映射") +public class LazyInternalNetworkPenetrationMappingDO { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + @LazyTableField(name = "client_id", comment = "客户端ID", columnType = "varchar(255)") + private String clientId; + + /** + * 客户端目标地址 + */ + @Schema(description = "客户端目标地址", name = "clientTargetIp", example = "") + @LazyTableField(name = "client_target_ip", comment = "客户端目标地址", columnType = "varchar(255)", defaultValue = "'0.0.0.0'") + private String clientTargetIp; + + /** + * 客户端目标端口 + */ + @Schema(description = "客户端目标端口", name = "clientTargetPort", example = "") + @LazyTableField(name = "client_target_port", comment = "客户端目标端口", columnType = "int", notNull = true) + private Integer clientTargetPort; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + @LazyTableFieldCreateTime + private LocalDateTime createTime; + + /** + * 主键自增 + */ + @Schema(description = "主键自增", name = "id", example = "") + @LazyTableFieldId + private Long id; + + /** + * 是否删除 默认否 + */ + @Schema(description = "是否删除 默认否", name = "isDeleted", example = "") + @LazyTableField(name = "is_deleted", comment = "是否删除 默认否", columnType = "tinyint", defaultValue = "'0'") + private Boolean isDeleted; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + @LazyTableFieldUpdateTime + private LocalDateTime updateTime; + + /** + * 访问端口 + */ + @Schema(description = "访问端口", name = "visitorPort", example = "") + @LazyTableFieldUnique(comment = "访问端口", notNull = true) + private Integer visitorPort; + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + @LazyTableField(comment = "描述") + private String describe; + /** + * 服务端ID + */ + @LazyTableFieldUnique(name = "server_id", comment = "服务端ID") + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyClientBlacklistDO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyClientBlacklistDO.java new file mode 100644 index 00000000..4564e18c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyClientBlacklistDO.java @@ -0,0 +1,66 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity; +import org.wu.framework.lazy.orm.core.stereotype.*; + +import java.time.LocalDateTime; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyInfrastructureEntity + **/ +@Data +@Accessors(chain = true) +@LazyTable(tableName = "lazy_netty_client_blacklist", comment = "客户端黑名单") +@Schema(title = "lazy_netty_client_blacklist", description = "客户端黑名单") +public class LazyNettyClientBlacklistDO { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + @LazyTableFieldUnique(name = "client_id", comment = "客户端ID", columnType = "varchar(255)") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + @LazyTableFieldCreateTime + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + @LazyTableFieldId(name = "id", comment = "主键") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + @LazyTableField(name = "is_deleted", comment = "是否删除", columnType = "tinyint") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + @LazyTableFieldUpdateTime + private LocalDateTime updateTime; + /** + * 服务端ID + */ + @LazyTableFieldUnique(name = "server_id", comment = "服务端ID",notNull = true) + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyClientStateDO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyClientStateDO.java new file mode 100644 index 00000000..be59b64c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyClientStateDO.java @@ -0,0 +1,88 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity; +import org.wu.framework.lazy.orm.core.stereotype.*; +import org.framework.smart.agent.network.heartbeat.common.enums.NettyClientStatus; + +import java.time.LocalDateTime; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyInfrastructureEntity + **/ +@Data +@Accessors(chain = true) +@LazyTable(tableName = "lazy_netty_client_state", comment = "客户端状态") +@Schema(title = "lazy_netty_client_state", description = "客户端状态") +public class LazyNettyClientStateDO { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + @LazyTableFieldUnique(name = "client_id", comment = "客户端ID", columnType = "varchar(255)") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + @LazyTableFieldCreateTime + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + @LazyTableFieldId(name = "id", comment = "主键") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + @LazyTableField(name = "is_deleted", comment = "是否删除", defaultValue = "'0'", columnType = "tinyint") + private Boolean isDeleted; + + /** + * 在线状态(true在线,false离线) + */ + @Schema(description = "在线状态(true在线,false离线)", name = "onLineState", example = "") + @LazyTableField(name = "on_line_state", comment = "在线状态(true在线,false离线)", columnType = "varchar(255)") + private NettyClientStatus onLineState; + + /** + * 暂存状态(开启、关闭) + */ + @Schema(description = "暂存状态(开启、关闭)", name = "staging", example = "") + @LazyTableField(name = "staging_state", comment = "暂存状态(开启、关闭)", columnType = "varchar(255)") + private String stagingState; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + @LazyTableFieldUpdateTime + private LocalDateTime updateTime; + + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + @LazyTableField(comment = "描述") + private String describe; + /** + * 服务端ID + */ + @LazyTableFieldUnique(name = "server_id", comment = "服务端ID",notNull = true) + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyServerVisitorDO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyServerVisitorDO.java new file mode 100644 index 00000000..06a875fe --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyNettyServerVisitorDO.java @@ -0,0 +1,73 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity; +import org.wu.framework.lazy.orm.core.stereotype.*; + +import java.time.LocalDateTime; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyInfrastructureEntity + **/ +@Data +@Accessors(chain = true) +@LazyTable(tableName = "lazy_netty_server_visitor", comment = "服务端提前开放出来的端口") +@Schema(title = "lazy_netty_server_visitor", description = "服务端提前开放出来的端口") +public class LazyNettyServerVisitorDO { + + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + @LazyTableField(name = "create_time", comment = "创建时间", defaultValue = "CURRENT_TIMESTAMP", upsertStrategy = LazyFieldStrategy.NEVER, extra = " on update CURRENT_TIMESTAMP") + private LocalDateTime createTime; + + /** + * 描述 + */ + @Schema(description = "描述", name = "describe", example = "") + @LazyTableField(name = "describe", comment = "描述", columnType = "varchar(255)") + private String describe; + + /** + * 用户ID + */ + @Schema(description = "用户ID", name = "id", example = "") + @LazyTableFieldId(name = "id", comment = "用户ID") + private Long id; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + @LazyTableField(name = "is_deleted", comment = "是否删除") + private Boolean isDeleted; + + /** + * 更新时间 + */ + @Schema(description = "更新时间", name = "updateTime", example = "") + @LazyTableField(name = "update_time", comment = "更新时间", defaultValue = "CURRENT_TIMESTAMP", upsertStrategy = LazyFieldStrategy.NEVER, extra = " on update CURRENT_TIMESTAMP") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + @LazyTableFieldUnique(name = "visitor_port", comment = "访客端口", columnType = "int") + private Integer visitorPort; + /** + * 服务端ID + */ + @LazyTableFieldUnique(name = "server_id", comment = "服务端ID",notNull = true) + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyVisitorPortFlowDO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyVisitorPortFlowDO.java new file mode 100644 index 00000000..9523f870 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyVisitorPortFlowDO.java @@ -0,0 +1,88 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity; +import org.wu.framework.lazy.orm.core.stereotype.*; + +import java.time.LocalDateTime; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyInfrastructureEntity + **/ +@Data +@Accessors(chain = true) +@LazyTable(tableName = "lazy_visitor_port_flow", comment = "访客端流量") +@Schema(title = "lazy_visitor_port_flow", description = "访客端流量") +public class LazyVisitorPortFlowDO { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + @LazyTableFieldUnique(name = "client_id", comment = "客户端ID", columnType = "varchar(50)") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + @LazyTableFieldCreateTime + private LocalDateTime createTime; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + @LazyTableFieldId(name = "id", comment = "主键") + private Long id; + + /** + * 当前访客当前进口流量 + */ + @Schema(description = "当前访客当前进口流量", name = "inFlow", example = "") + @LazyTableField(name = "in_flow", comment = "当前访客当前进口流量", columnType = "int") + private Integer inFlow; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + @LazyTableField(name = "is_deleted", comment = "是否删除", defaultValue = "'0'", upsertStrategy = LazyFieldStrategy.NEVER, columnType = "tinyint") + private Boolean isDeleted; + + /** + * 当前访客出口流量 + */ + @Schema(description = "当前访客出口流量", name = "outFlow", example = "") + @LazyTableField(name = "out_flow", comment = "当前访客出口流量", columnType = "int") + private Integer outFlow; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + @LazyTableFieldUpdateTime + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + @LazyTableFieldUnique(name = "visitor_port", comment = "访客端口", columnType = "int") + private Integer visitorPort; /** + /** + * 服务端ID + */ + @LazyTableFieldUnique(name = "server_id", comment = "服务端ID",notNull = true) + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyVisitorPortPerDayFlowDO.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyVisitorPortPerDayFlowDO.java new file mode 100644 index 00000000..ff249078 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/entity/LazyVisitorPortPerDayFlowDO.java @@ -0,0 +1,101 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity; + +import lombok.Data; +import lombok.experimental.Accessors; +import org.wu.framework.lazy.orm.core.stereotype.LazyTable; +import org.wu.framework.lazy.orm.core.stereotype.LazyTableField; +import org.wu.framework.lazy.orm.core.stereotype.*; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.lang.String; +import java.time.LocalDateTime; + +import org.wu.framework.lazy.orm.core.stereotype.LazyTableFieldId; + +import java.lang.Long; +import java.lang.Integer; +import java.lang.Boolean; + +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity + **/ +@Data +@Accessors(chain = true) +@LazyTable(tableName = "lazy_visitor_port_per_day_flow", comment = "每日统计流量") +@Schema(title = "lazy_visitor_port_per_day_flow", description = "每日统计流量") +public class LazyVisitorPortPerDayFlowDO { + + + /** + * 客户端ID + */ + @Schema(description = "客户端ID", name = "clientId", example = "") + @LazyTableFieldUnique(name = "client_id", comment = "客户端ID", columnType = "varchar(50)") + private String clientId; + + /** + * 创建时间 + */ + @Schema(description = "创建时间", name = "createTime", example = "") + @LazyTableField(name = "create_time", comment = "创建时间", defaultValue = "CURRENT_TIMESTAMP", upsertStrategy = LazyFieldStrategy.NEVER, extra = "") + private LocalDateTime createTime; + + /** + * 日期 + */ + @Schema(description = "日期", name = "day", example = "") + @LazyTableFieldUnique(name = "day", comment = "日期", columnType = "varchar(255)") + private String day; + + /** + * 主键 + */ + @Schema(description = "主键", name = "id", example = "") + @LazyTableFieldId(name = "id", comment = "主键") + private Long id; + + /** + * 当前访客当前进口流量 + */ + @Schema(description = "当前访客当前进口流量", name = "inFlow", example = "") + @LazyTableField(name = "in_flow", comment = "当前访客当前进口流量", columnType = "int") + private Integer inFlow; + + /** + * 是否删除 + */ + @Schema(description = "是否删除", name = "isDeleted", example = "") + @LazyTableField(name = "is_deleted", comment = "是否删除", defaultValue = "'0'", upsertStrategy = LazyFieldStrategy.NEVER, columnType = "tinyint") + private Boolean isDeleted; + + /** + * 当前访客出口流量 + */ + @Schema(description = "当前访客出口流量", name = "outFlow", example = "") + @LazyTableField(name = "out_flow", comment = "当前访客出口流量", columnType = "int") + private Integer outFlow; + + /** + * 修改时间 + */ + @Schema(description = "修改时间", name = "updateTime", example = "") + @LazyTableField(name = "update_time", comment = "修改时间", defaultValue = "CURRENT_TIMESTAMP", upsertStrategy = LazyFieldStrategy.NEVER, extra = " on update CURRENT_TIMESTAMP") + private LocalDateTime updateTime; + + /** + * 访客端口 + */ + @Schema(description = "访客端口", name = "visitorPort", example = "") + @LazyTableFieldUnique(name = "visitor_port", comment = "访客端口", columnType = "int") + private Integer visitorPort; + /** + * 服务端ID + */ + @LazyTableFieldUnique(name = "server_id", comment = "服务端ID",notNull = true) + @Schema(description = "服务端ID", name = "serverId", example = "") + private String serverId; +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyInternalNetworkPenetrationMappingMapper.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyInternalNetworkPenetrationMappingMapper.java new file mode 100644 index 00000000..7474d9f9 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyInternalNetworkPenetrationMappingMapper.java @@ -0,0 +1,16 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.mapper; + +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyInternalNetworkPenetrationMappingMapper { + + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyClientBlacklistMapper.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyClientBlacklistMapper.java new file mode 100644 index 00000000..396e03bf --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyClientBlacklistMapper.java @@ -0,0 +1,16 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.mapper; + +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyNettyClientBlacklistMapper { + + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyClientStateMapper.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyClientStateMapper.java new file mode 100644 index 00000000..f7640846 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyClientStateMapper.java @@ -0,0 +1,16 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.mapper; + +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyNettyClientStateMapper { + + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyServerVisitorMapper.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyServerVisitorMapper.java new file mode 100644 index 00000000..b2663f06 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyServerVisitorMapper.java @@ -0,0 +1,16 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.mapper; + +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyNettyServerVisitorMapper { + + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyServerVisitorPortMapper.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyServerVisitorPortMapper.java new file mode 100644 index 00000000..5f1cc430 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyNettyServerVisitorPortMapper.java @@ -0,0 +1,16 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.mapper; + +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:13 下午 + * @see DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyNettyServerVisitorPortMapper { + + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyVisitorPortFlowMapper.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyVisitorPortFlowMapper.java new file mode 100644 index 00000000..27bb91c0 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyVisitorPortFlowMapper.java @@ -0,0 +1,16 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.mapper; + +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyVisitorPortFlowMapper { + + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyVisitorPortPerDayFlowMapper.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyVisitorPortPerDayFlowMapper.java new file mode 100644 index 00000000..55d14695 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/mapper/LazyVisitorPortPerDayFlowMapper.java @@ -0,0 +1,15 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.mapper; + +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureMapper + **/ + +public interface LazyVisitorPortPerDayFlowMapper { + + + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyInternalNetworkPenetrationMappingRepositoryImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyInternalNetworkPenetrationMappingRepositoryImpl.java new file mode 100644 index 00000000..505b12d6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyInternalNetworkPenetrationMappingRepositoryImpl.java @@ -0,0 +1,148 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.persistence; + +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyInternalNetworkPenetrationMappingDO; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Repository; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructurePersistence; +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.converter.LazyInternalNetworkPenetrationMappingConverter; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.internal.network.penetration.mapping.LazyInternalNetworkPenetrationMapping; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.internal.network.penetration.mapping.LazyInternalNetworkPenetrationMappingRepository; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * describe 内网穿透映射 + * + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + * @see DefaultDDDLazyInfrastructurePersistence + **/ +@Repository +public class LazyInternalNetworkPenetrationMappingRepositoryImpl implements LazyInternalNetworkPenetrationMappingRepository { + + @Resource + LazyLambdaStream lazyLambdaStream; + + /** + * describe 新增内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMapping 新增内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Override + public Result story(LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping) { + LazyInternalNetworkPenetrationMappingDO lazyInternalNetworkPenetrationMappingDO = LazyInternalNetworkPenetrationMappingConverter.INSTANCE.fromInternalNetworkPenetrationMapping(lazyInternalNetworkPenetrationMapping); + lazyInternalNetworkPenetrationMappingDO.setIsDeleted(false); + lazyLambdaStream.upsertRemoveNull(lazyInternalNetworkPenetrationMappingDO); + return ResultFactory.successOf(); + } + + /** + * describe 批量新增内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMappingList 批量新增内网穿透映射 + * @return {@link Result>} 内网穿透映射新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Override + public Result> batchStory(List lazyInternalNetworkPenetrationMappingList) { + List lazyInternalNetworkPenetrationMappingDOList = lazyInternalNetworkPenetrationMappingList.stream().map(LazyInternalNetworkPenetrationMappingConverter.INSTANCE::fromInternalNetworkPenetrationMapping).collect(Collectors.toList()); + lazyLambdaStream.upsert(lazyInternalNetworkPenetrationMappingDOList); + return ResultFactory.successOf(); + } + + /** + * describe 查询单个内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMapping 查询单个内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Override + public Result findOne(LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping) { + LazyInternalNetworkPenetrationMappingDO lazyInternalNetworkPenetrationMappingDO = LazyInternalNetworkPenetrationMappingConverter.INSTANCE.fromInternalNetworkPenetrationMapping(lazyInternalNetworkPenetrationMapping); + LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMappingOne = lazyLambdaStream.selectOne(LazyWrappers.lambdaWrapperBean(lazyInternalNetworkPenetrationMappingDO), LazyInternalNetworkPenetrationMapping.class); + return ResultFactory.successOf(lazyInternalNetworkPenetrationMappingOne); + } + + /** + * describe 查询多个内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMapping 查询多个内网穿透映射 + * @return {@link Result>} 内网穿透映射领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Override + public Result> findList(LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping) { + LazyInternalNetworkPenetrationMappingDO lazyInternalNetworkPenetrationMappingDO = LazyInternalNetworkPenetrationMappingConverter.INSTANCE.fromInternalNetworkPenetrationMapping(lazyInternalNetworkPenetrationMapping); + List lazyInternalNetworkPenetrationMappingList = lazyLambdaStream.selectList(LazyWrappers.lambdaWrapperBean(lazyInternalNetworkPenetrationMappingDO), LazyInternalNetworkPenetrationMapping.class); + return ResultFactory.successOf(lazyInternalNetworkPenetrationMappingList); + } + + /** + * describe 分页查询多个内网穿透映射 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyInternalNetworkPenetrationMapping 分页查询多个内网穿透映射 + * @return {@link Result>} 分页内网穿透映射领域对象 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping) { + LazyInternalNetworkPenetrationMappingDO lazyInternalNetworkPenetrationMappingDO = LazyInternalNetworkPenetrationMappingConverter.INSTANCE.fromInternalNetworkPenetrationMapping(lazyInternalNetworkPenetrationMapping); + LazyPage lazyPage = new LazyPage<>(current, size); + LazyPage internalNetworkPenetrationMappingLazyPage = lazyLambdaStream.selectPage(LazyWrappers.lambdaWrapperBean(lazyInternalNetworkPenetrationMappingDO), lazyPage, LazyInternalNetworkPenetrationMapping.class); + return ResultFactory.successOf(internalNetworkPenetrationMappingLazyPage); + } + + /** + * describe 删除内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMapping 删除内网穿透映射 + * @return {@link Result< LazyInternalNetworkPenetrationMapping >} 内网穿透映射 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Override + public Result remove(LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping) { + LazyInternalNetworkPenetrationMappingDO lazyInternalNetworkPenetrationMappingDO = LazyInternalNetworkPenetrationMappingConverter.INSTANCE.fromInternalNetworkPenetrationMapping(lazyInternalNetworkPenetrationMapping); + lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyInternalNetworkPenetrationMappingDO)); + return ResultFactory.successOf(); + } + + /** + * describe 是否存在内网穿透映射 + * + * @param lazyInternalNetworkPenetrationMapping 内网穿透映射领域对象 + * @return {@link Result} 是否存在 true 存在,false 不存在 + * @author Jia wei Wu + * @date 2023/12/29 05:21 下午 + **/ + + @Override + public Result exists(LazyInternalNetworkPenetrationMapping lazyInternalNetworkPenetrationMapping) { + LazyInternalNetworkPenetrationMappingDO lazyInternalNetworkPenetrationMappingDO = LazyInternalNetworkPenetrationMappingConverter.INSTANCE.fromInternalNetworkPenetrationMapping(lazyInternalNetworkPenetrationMapping); + Boolean exists = lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyInternalNetworkPenetrationMappingDO)); + return ResultFactory.successOf(exists); + } + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientBlacklistRepositoryImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientBlacklistRepositoryImpl.java new file mode 100644 index 00000000..51873a76 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientBlacklistRepositoryImpl.java @@ -0,0 +1,147 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.persistence; + +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyClientBlacklistDO; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Repository; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructurePersistence; +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.converter.LazyNettyClientBlacklistConverter; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.blacklist.LazyNettyClientBlacklist; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.blacklist.LazyNettyClientBlacklistRepository; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * describe 客户端黑名单 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyInfrastructurePersistence + **/ +@Repository +public class LazyNettyClientBlacklistRepositoryImpl implements LazyNettyClientBlacklistRepository { + + @Resource + LazyLambdaStream lazyLambdaStream; + + /** + * describe 新增客户端黑名单 + * + * @param lazyNettyClientBlacklist 新增客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result story(LazyNettyClientBlacklist lazyNettyClientBlacklist) { + LazyNettyClientBlacklistDO lazyNettyClientBlacklistDO = LazyNettyClientBlacklistConverter.INSTANCE.fromNettyClientBlacklist(lazyNettyClientBlacklist); + lazyLambdaStream.upsert(lazyNettyClientBlacklistDO); + return ResultFactory.successOf(); + } + + /** + * describe 批量新增客户端黑名单 + * + * @param lazyNettyClientBlacklistList 批量新增客户端黑名单 + * @return {@link Result>} 客户端黑名单新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result> batchStory(List lazyNettyClientBlacklistList) { + List lazyNettyClientBlacklistDOList = lazyNettyClientBlacklistList.stream().map(LazyNettyClientBlacklistConverter.INSTANCE::fromNettyClientBlacklist).collect(Collectors.toList()); + lazyLambdaStream.upsert(lazyNettyClientBlacklistDOList); + return ResultFactory.successOf(); + } + + /** + * describe 查询单个客户端黑名单 + * + * @param lazyNettyClientBlacklist 查询单个客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result findOne(LazyNettyClientBlacklist lazyNettyClientBlacklist) { + LazyNettyClientBlacklistDO lazyNettyClientBlacklistDO = LazyNettyClientBlacklistConverter.INSTANCE.fromNettyClientBlacklist(lazyNettyClientBlacklist); + LazyNettyClientBlacklist lazyNettyClientBlacklistOne = lazyLambdaStream.selectOne(LazyWrappers.lambdaWrapperBean(lazyNettyClientBlacklistDO), LazyNettyClientBlacklist.class); + return ResultFactory.successOf(lazyNettyClientBlacklistOne); + } + + /** + * describe 查询多个客户端黑名单 + * + * @param lazyNettyClientBlacklist 查询多个客户端黑名单 + * @return {@link Result>} 客户端黑名单领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result> findList(LazyNettyClientBlacklist lazyNettyClientBlacklist) { + LazyNettyClientBlacklistDO lazyNettyClientBlacklistDO = LazyNettyClientBlacklistConverter.INSTANCE.fromNettyClientBlacklist(lazyNettyClientBlacklist); + List lazyNettyClientBlacklistList = lazyLambdaStream.selectList(LazyWrappers.lambdaWrapperBean(lazyNettyClientBlacklistDO), LazyNettyClientBlacklist.class); + return ResultFactory.successOf(lazyNettyClientBlacklistList); + } + + /** + * describe 分页查询多个客户端黑名单 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyClientBlacklist 分页查询多个客户端黑名单 + * @return {@link Result>} 分页客户端黑名单领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyNettyClientBlacklist lazyNettyClientBlacklist) { + LazyNettyClientBlacklistDO lazyNettyClientBlacklistDO = LazyNettyClientBlacklistConverter.INSTANCE.fromNettyClientBlacklist(lazyNettyClientBlacklist); + LazyPage lazyPage = new LazyPage<>(current, size); + LazyPage nettyClientBlacklistLazyPage = lazyLambdaStream.selectPage(LazyWrappers.lambdaWrapperBean(lazyNettyClientBlacklistDO), lazyPage, LazyNettyClientBlacklist.class); + return ResultFactory.successOf(nettyClientBlacklistLazyPage); + } + + /** + * describe 删除客户端黑名单 + * + * @param lazyNettyClientBlacklist 删除客户端黑名单 + * @return {@link Result< LazyNettyClientBlacklist >} 客户端黑名单 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result remove(LazyNettyClientBlacklist lazyNettyClientBlacklist) { + LazyNettyClientBlacklistDO lazyNettyClientBlacklistDO = LazyNettyClientBlacklistConverter.INSTANCE.fromNettyClientBlacklist(lazyNettyClientBlacklist); + // lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyNettyClientBlacklistDO)); + return ResultFactory.successOf(); + } + + /** + * describe 是否存在客户端黑名单 + * + * @param lazyNettyClientBlacklist 客户端黑名单领域对象 + * @return {@link Result} 是否存在 true 存在,false 不存在 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result exists(LazyNettyClientBlacklist lazyNettyClientBlacklist) { + LazyNettyClientBlacklistDO lazyNettyClientBlacklistDO = LazyNettyClientBlacklistConverter.INSTANCE.fromNettyClientBlacklist(lazyNettyClientBlacklist); + Boolean exists = lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyNettyClientBlacklistDO)); + return ResultFactory.successOf(exists); + } + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientStateRepositoryImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientStateRepositoryImpl.java new file mode 100644 index 00000000..4e9ba120 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientStateRepositoryImpl.java @@ -0,0 +1,184 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.persistence; + +import jakarta.annotation.Resource; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state.LazyNettyClientState; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.client.state.LazyNettyClientStateRepository; +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.converter.LazyNettyClientStateConverter; +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyClientStateDO; +import org.springframework.stereotype.Repository; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructurePersistence; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * describe 客户端状态 + * + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + * @see DefaultDDDLazyInfrastructurePersistence + **/ +@Repository +public class LazyNettyClientStateRepositoryImpl implements LazyNettyClientStateRepository { + + @Resource + LazyLambdaStream lazyLambdaStream; + + /** + * describe 新增客户端状态 + * + * @param lazyNettyClientState 新增客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态新增后领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result story(LazyNettyClientState lazyNettyClientState) { + + LazyNettyClientStateDO lazyNettyClientStateDO = LazyNettyClientStateConverter.INSTANCE.fromNettyClientState(lazyNettyClientState); + lazyLambdaStream.upsert(lazyNettyClientStateDO); + return ResultFactory.successOf(); + } + + /** + * describe 批量新增客户端状态 + * + * @param lazyNettyClientStateList 批量新增客户端状态 + * @return {@link Result>} 客户端状态新增后领域对象集合 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result> batchStory(List lazyNettyClientStateList) { + List lazyNettyClientStateDOList = lazyNettyClientStateList.stream().map(LazyNettyClientStateConverter.INSTANCE::fromNettyClientState).collect(Collectors.toList()); + lazyLambdaStream.upsert(lazyNettyClientStateDOList); + return ResultFactory.successOf(); + } + + /** + * describe 查询单个客户端状态 + * + * @param lazyNettyClientState 查询单个客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result findOne(LazyNettyClientState lazyNettyClientState) { + LazyNettyClientStateDO lazyNettyClientStateDO = LazyNettyClientStateConverter.INSTANCE.fromNettyClientState(lazyNettyClientState); + lazyNettyClientStateDO.setIsDeleted(false); + LazyNettyClientState lazyNettyClientStateOne = lazyLambdaStream.selectOne(LazyWrappers.lambdaWrapperBean(lazyNettyClientStateDO), LazyNettyClientState.class); + return ResultFactory.successOf(lazyNettyClientStateOne); + } + + /** + * describe 查询多个客户端状态 + * + * @param lazyNettyClientState 查询多个客户端状态 + * @return {@link Result>} 客户端状态领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result> findList(LazyNettyClientState lazyNettyClientState) { + LazyNettyClientStateDO lazyNettyClientStateDO = LazyNettyClientStateConverter.INSTANCE.fromNettyClientState(lazyNettyClientState); + List lazyNettyClientStateList = lazyLambdaStream + .selectList(LazyWrappers.lambdaWrapperBean(lazyNettyClientStateDO) + .eq(LazyNettyClientStateDO::getIsDeleted, false) + .orderByDesc(LazyNettyClientStateDO::getCreateTime) + , LazyNettyClientState.class); + return ResultFactory.successOf(lazyNettyClientStateList); + } + + /** + * describe 分页查询多个客户端状态 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyClientState 分页查询多个客户端状态 + * @return {@link Result>} 分页客户端状态领域对象 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyNettyClientState lazyNettyClientState) { + LazyNettyClientStateDO lazyNettyClientStateDO = LazyNettyClientStateConverter.INSTANCE.fromNettyClientState(lazyNettyClientState); + LazyPage lazyPage = new LazyPage<>(current, size); + LazyPage nettyClientStateLazyPage = lazyLambdaStream.selectPage(LazyWrappers.lambdaWrapperBean(lazyNettyClientStateDO), lazyPage, LazyNettyClientState.class); + return ResultFactory.successOf(nettyClientStateLazyPage); + } + + /** + * describe 删除客户端状态 + * + * @param lazyNettyClientState 删除客户端状态 + * @return {@link Result< LazyNettyClientState >} 客户端状态 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result remove(LazyNettyClientState lazyNettyClientState) { + LazyNettyClientStateDO lazyNettyClientStateDO = LazyNettyClientStateConverter.INSTANCE.fromNettyClientState(lazyNettyClientState); + lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyNettyClientStateDO)); + return ResultFactory.successOf(); + } + + /** + * describe 是否存在客户端状态 + * + * @param lazyNettyClientState 客户端状态领域对象 + * @return {@link Result} 是否存在 true 存在,false 不存在 + * @author Jia wei Wu + * @date 2023/12/27 03:46 下午 + **/ + + @Override + public Result exists(LazyNettyClientState lazyNettyClientState) { + LazyNettyClientStateDO lazyNettyClientStateDO = LazyNettyClientStateConverter.INSTANCE.fromNettyClientState(lazyNettyClientState); + Boolean exists = lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyNettyClientStateDO)); + return ResultFactory.successOf(exists); + } + + /** + * 修改客户端状态 + * + * @param lazyNettyClientState 客户端状态 + * @return Result + */ + @Override + public Result updateOnLIneState(LazyNettyClientState lazyNettyClientState) { + LazyNettyClientStateDO lazyNettyClientStateDO = LazyNettyClientStateConverter.INSTANCE.fromNettyClientState(lazyNettyClientState); + // 查询客户端是否存在 + // 存在更新客户端在线状态 + // 不存在新增一条 + lazyLambdaStream.upsertRemoveNull(lazyNettyClientStateDO); + return ResultFactory.successOf(); + } + + /** + * 修改客户端暂存状态 + * + * @param lazyNettyClientState 客户端信息 + * @return Result + */ + @Override + public Result updateStagingState(LazyNettyClientState lazyNettyClientState) { + LazyNettyClientStateDO lazyNettyClientStateDO = LazyNettyClientStateConverter.INSTANCE.fromNettyClientState(lazyNettyClientState); + // 查询客户端是否存在 + // 存在更新客户端在线状态 + // 不存在新增一条 + lazyLambdaStream.upsertRemoveNull(lazyNettyClientStateDO); + return ResultFactory.successOf(); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyServerVisitorRepositoryImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyServerVisitorRepositoryImpl.java new file mode 100644 index 00000000..94014aad --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyServerVisitorRepositoryImpl.java @@ -0,0 +1,155 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.persistence; + +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyServerVisitorDO; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Repository; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructurePersistence; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.server.visitor.LazyNettyServerVisitor; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.netty.server.visitor.LazyNettyServerVisitorRepository; +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.converter.LazyNettyServerVisitorConverter; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * describe 服务端提前开放出来的端口 + * + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + * @see DefaultDDDLazyInfrastructurePersistence + **/ +@Repository +public class LazyNettyServerVisitorRepositoryImpl implements LazyNettyServerVisitorRepository { + + @Resource + LazyLambdaStream lazyLambdaStream; + + /** + * describe 新增服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitor 新增服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口新增后领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result story(LazyNettyServerVisitor lazyNettyServerVisitor) { + LazyNettyServerVisitorDO lazyNettyServerVisitorDO = LazyNettyServerVisitorConverter.INSTANCE.fromNettyServerVisitor(lazyNettyServerVisitor); + lazyLambdaStream.upsertRemoveNull(lazyNettyServerVisitorDO); + return ResultFactory.successOf(); + } + + /** + * describe 批量新增服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitorList 批量新增服务端提前开放出来的端口 + * @return {@link Result>} 服务端提前开放出来的端口新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result> batchStory(List lazyNettyServerVisitorList) { + List lazyNettyServerVisitorDOList = lazyNettyServerVisitorList.stream().map(LazyNettyServerVisitorConverter.INSTANCE::fromNettyServerVisitor).collect(Collectors.toList()); + lazyLambdaStream.upsert(lazyNettyServerVisitorDOList); + return ResultFactory.successOf(); + } + + /** + * describe 查询单个服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitor 查询单个服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result findOne(LazyNettyServerVisitor lazyNettyServerVisitor) { + LazyNettyServerVisitorDO lazyNettyServerVisitorDO = LazyNettyServerVisitorConverter.INSTANCE.fromNettyServerVisitor(lazyNettyServerVisitor); + LazyNettyServerVisitor lazyNettyServerVisitorOne = lazyLambdaStream.selectOne(LazyWrappers.lambdaWrapperBean(lazyNettyServerVisitorDO), LazyNettyServerVisitor.class); + return ResultFactory.successOf(lazyNettyServerVisitorOne); + } + + /** + * describe 查询多个服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitor 查询多个服务端提前开放出来的端口 + * @return {@link Result>} 服务端提前开放出来的端口领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result> findList(LazyNettyServerVisitor lazyNettyServerVisitor) { + LazyNettyServerVisitorDO lazyNettyServerVisitorDO = LazyNettyServerVisitorConverter.INSTANCE.fromNettyServerVisitor(lazyNettyServerVisitor); + List lazyNettyServerVisitorList = lazyLambdaStream + .selectList( + LazyWrappers.lambdaWrapperBean(lazyNettyServerVisitorDO) + .orderByDesc(LazyNettyServerVisitorDO::getCreateTime) + , LazyNettyServerVisitor.class); + return ResultFactory.successOf(lazyNettyServerVisitorList); + } + + /** + * describe 分页查询多个服务端提前开放出来的端口 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyNettyServerVisitor 分页查询多个服务端提前开放出来的端口 + * @return {@link Result>} 分页服务端提前开放出来的端口领域对象 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyNettyServerVisitor lazyNettyServerVisitor) { + LazyNettyServerVisitorDO lazyNettyServerVisitorDO = LazyNettyServerVisitorConverter.INSTANCE.fromNettyServerVisitor(lazyNettyServerVisitor); + LazyPage lazyPage = new LazyPage<>(current, size); + LazyPage nettyServerVisitorLazyPage = lazyLambdaStream + .selectPage( + LazyWrappers.lambdaWrapperBean(lazyNettyServerVisitorDO) + .orderByDesc(LazyNettyServerVisitorDO::getCreateTime) + , lazyPage, LazyNettyServerVisitor.class); + return ResultFactory.successOf(nettyServerVisitorLazyPage); + } + + /** + * describe 删除服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitor 删除服务端提前开放出来的端口 + * @return {@link Result< LazyNettyServerVisitor >} 服务端提前开放出来的端口 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result remove(LazyNettyServerVisitor lazyNettyServerVisitor) { + LazyNettyServerVisitorDO lazyNettyServerVisitorDO = LazyNettyServerVisitorConverter.INSTANCE.fromNettyServerVisitor(lazyNettyServerVisitor); + lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyNettyServerVisitorDO)); + return ResultFactory.successOf(); + } + + /** + * describe 是否存在服务端提前开放出来的端口 + * + * @param lazyNettyServerVisitor 服务端提前开放出来的端口领域对象 + * @return {@link Result} 是否存在 true 存在,false 不存在 + * @author Jia wei Wu + * @date 2024/01/16 02:21 下午 + **/ + + @Override + public Result exists(LazyNettyServerVisitor lazyNettyServerVisitor) { + LazyNettyServerVisitorDO lazyNettyServerVisitorDO = LazyNettyServerVisitorConverter.INSTANCE.fromNettyServerVisitor(lazyNettyServerVisitor); + Boolean exists = lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyNettyServerVisitorDO)); + return ResultFactory.successOf(exists); + } + +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyVisitorPortFlowRepositoryImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyVisitorPortFlowRepositoryImpl.java new file mode 100644 index 00000000..799b206c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyVisitorPortFlowRepositoryImpl.java @@ -0,0 +1,189 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.persistence; + + +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyVisitorPortFlowDO; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Repository; +import org.wu.framework.core.utils.ObjectUtils; +import org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructurePersistence; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.flow.LazyVisitorPortFlow; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.flow.LazyVisitorPortFlowRepository; +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.converter.LazyVisitorPortFlowConverter; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * describe 访客端流量 + * + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + * @see DefaultDDDLazyInfrastructurePersistence + **/ +@Repository +public class LazyVisitorPortFlowRepositoryImpl implements LazyVisitorPortFlowRepository { + + @Resource + LazyLambdaStream lazyLambdaStream; + + /** + * describe 新增访客端流量 + * + * @param lazyVisitorPortFlow 新增访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量新增后领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result story(LazyVisitorPortFlow lazyVisitorPortFlow) { + LazyVisitorPortFlowDO lazyVisitorPortFlowDO = LazyVisitorPortFlowConverter.INSTANCE.fromVisitorFlow(lazyVisitorPortFlow); + lazyLambdaStream.upsertRemoveNull(lazyVisitorPortFlowDO); + return ResultFactory.successOf(); + } + + /** + * describe 批量新增访客端流量 + * + * @param lazyVisitorPortFlowList 批量新增访客端流量 + * @return {@link Result>} 访客端流量新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result> batchStory(List lazyVisitorPortFlowList) { + List lazyVisitorPortFlowDOList = lazyVisitorPortFlowList.stream().map(LazyVisitorPortFlowConverter.INSTANCE::fromVisitorFlow).collect(Collectors.toList()); + lazyLambdaStream.upsert(lazyVisitorPortFlowDOList); + return ResultFactory.successOf(); + } + + /** + * describe 查询单个访客端流量 + * + * @param lazyVisitorPortFlow 查询单个访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result findOne(LazyVisitorPortFlow lazyVisitorPortFlow) { + LazyVisitorPortFlowDO lazyVisitorPortFlowDO = LazyVisitorPortFlowConverter.INSTANCE.fromVisitorFlow(lazyVisitorPortFlow); + LazyVisitorPortFlow lazyVisitorPortFlowOne = lazyLambdaStream.selectOne(LazyWrappers.lambdaWrapperBean(lazyVisitorPortFlowDO), LazyVisitorPortFlow.class); + return ResultFactory.successOf(lazyVisitorPortFlowOne); + } + + /** + * describe 查询多个访客端流量 + * + * @param lazyVisitorPortFlow 查询多个访客端流量 + * @return {@link Result>} 访客端流量领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result> findList(LazyVisitorPortFlow lazyVisitorPortFlow) { + LazyVisitorPortFlowDO lazyVisitorPortFlowDO = LazyVisitorPortFlowConverter.INSTANCE.fromVisitorFlow(lazyVisitorPortFlow); + List lazyVisitorPortFlowList = lazyLambdaStream.selectList(LazyWrappers.lambdaWrapperBean(lazyVisitorPortFlowDO), LazyVisitorPortFlow.class); + return ResultFactory.successOf(lazyVisitorPortFlowList); + } + + /** + * describe 分页查询多个访客端流量 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyVisitorPortFlow 分页查询多个访客端流量 + * @return {@link Result>} 分页访客端流量领域对象 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result> findPage(int size, int current, LazyVisitorPortFlow lazyVisitorPortFlow) { + LazyVisitorPortFlowDO lazyVisitorPortFlowDO = LazyVisitorPortFlowConverter.INSTANCE.fromVisitorFlow(lazyVisitorPortFlow); + LazyPage lazyPage = new LazyPage<>(current, size); + LazyPage visitorFlowLazyPage = lazyLambdaStream.selectPage(LazyWrappers.lambdaWrapperBean(lazyVisitorPortFlowDO), lazyPage, LazyVisitorPortFlow.class); + return ResultFactory.successOf(visitorFlowLazyPage); + } + + /** + * describe 删除访客端流量 + * + * @param lazyVisitorPortFlow 删除访客端流量 + * @return {@link Result< LazyVisitorPortFlow >} 访客端流量 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result remove(LazyVisitorPortFlow lazyVisitorPortFlow) { + LazyVisitorPortFlowDO lazyVisitorPortFlowDO = LazyVisitorPortFlowConverter.INSTANCE.fromVisitorFlow(lazyVisitorPortFlow); + lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyVisitorPortFlowDO)); + return ResultFactory.successOf(); + } + + /** + * describe 是否存在访客端流量 + * + * @param lazyVisitorPortFlow 访客端流量领域对象 + * @return {@link Result} 是否存在 true 存在,false 不存在 + * @author Jia wei Wu + * @date 2024/01/24 05:19 下午 + **/ + + @Override + public Result exists(LazyVisitorPortFlow lazyVisitorPortFlow) { + LazyVisitorPortFlowDO lazyVisitorPortFlowDO = LazyVisitorPortFlowConverter.INSTANCE.fromVisitorFlow(lazyVisitorPortFlow); + Boolean exists = lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyVisitorPortFlowDO)); + return ResultFactory.successOf(exists); + } + + /** + * 根据客户端查询流量 + * + * @param size 分页大小 + * @param current 分页 + * @param lazyVisitorPortFlow 查询条件 + * @return {@link Result>} 分页访客端流量DTO对象 + */ + @Override + public Result> findPageGroupByClientId(int size, int current, LazyVisitorPortFlow lazyVisitorPortFlow) { + LazyVisitorPortFlowDO lazyVisitorPortFlowDO = LazyVisitorPortFlowConverter.INSTANCE.fromVisitorFlow(lazyVisitorPortFlow); + LazyPage lazyPage = new LazyPage<>(current, size); + LazyPage visitorFlowLazyPage = lazyLambdaStream + .selectPage( + LazyWrappers.lambdaWrapperBean(lazyVisitorPortFlowDO) + .groupBy(LazyVisitorPortFlowDO::getClientId), + lazyPage, + LazyVisitorPortFlow.class); + return ResultFactory.successOf(visitorFlowLazyPage); + } + + /** + * 根据客户端ID查询出 客户端所有的进出口流量 + * + * @param clientIdList 客户端ID + * @param serverId 服务端ID + * @return 客户端所有的进出口流量 + */ + @Override + public List findListByClientIds(List clientIdList, String serverId) { + if (ObjectUtils.isEmpty(clientIdList)) { + return new ArrayList<>(); + } + return lazyLambdaStream.selectList( + LazyWrappers.lambdaWrapper() + .in(LazyVisitorPortFlowDO::getClientId, clientIdList) + .eq(LazyVisitorPortFlowDO::getServerId, serverId), + LazyVisitorPortFlow.class); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyVisitorPortPerDayFlowRepositoryImpl.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyVisitorPortPerDayFlowRepositoryImpl.java new file mode 100644 index 00000000..962567d8 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/persistence/LazyVisitorPortPerDayFlowRepositoryImpl.java @@ -0,0 +1,170 @@ +package org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.persistence; + +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.LazyClientPerDayFlow; +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyVisitorPortPerDayFlowDO; +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.converter.LazyVisitorPortPerDayFlowConverter; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.port.per.day.flow.LazyVisitorPortPerDayFlowRepository; +import org.springframework.stereotype.Repository; + +import java.util.stream.Collectors; + +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyFunctionWrappers; +import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; +import org.wu.framework.web.response.Result; +import org.wu.framework.web.response.ResultFactory; +import jakarta.annotation.Resource; +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.port.per.day.flow.LazyVisitorPortPerDayFlow; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; + +import java.util.List; + +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; + +/** + * describe 每日统计流量 + * + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructurePersistence + **/ +@Repository +public class LazyVisitorPortPerDayFlowRepositoryImpl implements LazyVisitorPortPerDayFlowRepository { + + @Resource + LazyLambdaStream lazyLambdaStream; + + /** + * describe 新增每日统计流量 + * + * @param lazyVisitorPortPerDayFlow 新增每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlow >} 每日统计流量新增后领域对象 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result story(LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow) { + LazyVisitorPortPerDayFlowDO lazyVisitorPortPerDayFlowDO = LazyVisitorPortPerDayFlowConverter.INSTANCE.fromVisitorPortPerDayFlow(lazyVisitorPortPerDayFlow); + lazyLambdaStream.upsert(lazyVisitorPortPerDayFlowDO); + return ResultFactory.successOf(); + } + + /** + * describe 批量新增每日统计流量 + * + * @param lazyVisitorPortPerDayFlowList 批量新增每日统计流量 + * @return {@link Result>} 每日统计流量新增后领域对象集合 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result> batchStory(List lazyVisitorPortPerDayFlowList) { + List lazyVisitorPortPerDayFlowDOList = lazyVisitorPortPerDayFlowList.stream().map(LazyVisitorPortPerDayFlowConverter.INSTANCE::fromVisitorPortPerDayFlow).collect(Collectors.toList()); + lazyLambdaStream.upsert(lazyVisitorPortPerDayFlowDOList); + return ResultFactory.successOf(); + } + + /** + * describe 查询单个每日统计流量 + * + * @param lazyVisitorPortPerDayFlow 查询单个每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlow >} 每日统计流量领域对象 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result findOne(LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow) { + LazyVisitorPortPerDayFlowDO lazyVisitorPortPerDayFlowDO = LazyVisitorPortPerDayFlowConverter.INSTANCE.fromVisitorPortPerDayFlow(lazyVisitorPortPerDayFlow); + LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlowOne = lazyLambdaStream.selectOne(LazyWrappers.lambdaWrapperBean(lazyVisitorPortPerDayFlowDO), LazyVisitorPortPerDayFlow.class); + return ResultFactory.successOf(lazyVisitorPortPerDayFlowOne); + } + + /** + * describe 查询多个每日统计流量 + * + * @param lazyVisitorPortPerDayFlow 查询多个每日统计流量 + * @return {@link Result>} 每日统计流量领域对象 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result> findList(LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow) { + LazyVisitorPortPerDayFlowDO lazyVisitorPortPerDayFlowDO = LazyVisitorPortPerDayFlowConverter.INSTANCE.fromVisitorPortPerDayFlow(lazyVisitorPortPerDayFlow); + List lazyVisitorPortPerDayFlowList = lazyLambdaStream.selectList(LazyWrappers.lambdaWrapperBean(lazyVisitorPortPerDayFlowDO), LazyVisitorPortPerDayFlow.class); + return ResultFactory.successOf(lazyVisitorPortPerDayFlowList); + } + + /** + * describe 分页查询多个每日统计流量 + * + * @param size 当前页数 + * @param current 当前页 + * @param lazyVisitorPortPerDayFlow 分页查询多个每日统计流量 + * @return {@link Result>} 分页每日统计流量领域对象 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result> findPage(int size, int current, LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow) { + LazyVisitorPortPerDayFlowDO lazyVisitorPortPerDayFlowDO = LazyVisitorPortPerDayFlowConverter.INSTANCE.fromVisitorPortPerDayFlow(lazyVisitorPortPerDayFlow); + LazyPage lazyPage = new LazyPage<>(current, size); + LazyPage visitorPortPerDayFlowLazyPage = lazyLambdaStream.selectPage(LazyWrappers.lambdaWrapperBean(lazyVisitorPortPerDayFlowDO), lazyPage, LazyVisitorPortPerDayFlow.class); + return ResultFactory.successOf(visitorPortPerDayFlowLazyPage); + } + + /** + * describe 删除每日统计流量 + * + * @param lazyVisitorPortPerDayFlow 删除每日统计流量 + * @return {@link Result< LazyVisitorPortPerDayFlow >} 每日统计流量 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result remove(LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow) { + LazyVisitorPortPerDayFlowDO lazyVisitorPortPerDayFlowDO = LazyVisitorPortPerDayFlowConverter.INSTANCE.fromVisitorPortPerDayFlow(lazyVisitorPortPerDayFlow); + lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyVisitorPortPerDayFlowDO)); + return ResultFactory.successOf(); + } + + /** + * describe 是否存在每日统计流量 + * + * @param lazyVisitorPortPerDayFlow 每日统计流量领域对象 + * @return {@link Result} 是否存在 true 存在,false 不存在 + * @author Jia wei Wu + * @date 2024/03/19 09:53 上午 + **/ + + @Override + public Result exists(LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow) { + LazyVisitorPortPerDayFlowDO lazyVisitorPortPerDayFlowDO = LazyVisitorPortPerDayFlowConverter.INSTANCE.fromVisitorPortPerDayFlow(lazyVisitorPortPerDayFlow); + Boolean exists = lazyLambdaStream.exists(LazyWrappers.lambdaWrapperBean(lazyVisitorPortPerDayFlowDO)); + return ResultFactory.successOf(exists); + } + + /** + * 获取客户端每天流量 + * + * @return 客户端每天流量 + */ + @Override + public Result> findClientPerDayFlowList() { + List lazyClientPerDayFlowList = lazyLambdaStream + .selectList( + LazyWrappers.lambdaWrapper() + .groupBy(LazyVisitorPortPerDayFlowDO::getClientId, LazyVisitorPortPerDayFlowDO::getDay) + .orderByAsc(LazyVisitorPortPerDayFlowDO::getDay) + .functionAs(LazyFunctionWrappers.function().sum(LazyVisitorPortPerDayFlowDO::getInFlow), LazyClientPerDayFlow::getInFlow) + .functionAs(LazyFunctionWrappers.function().sum(LazyVisitorPortPerDayFlowDO::getOutFlow), LazyClientPerDayFlow::getOutFlow) + , + LazyClientPerDayFlow.class + ); + return ResultFactory.successOf(lazyClientPerDayFlowList); + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/xml/LazyVisitorPortFlowMapper.xml b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/xml/LazyVisitorPortFlowMapper.xml new file mode 100644 index 00000000..53bb1fd4 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/xml/LazyVisitorPortFlowMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/xml/LazyVisitorPortPerDayFlowMapper.xml b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/xml/LazyVisitorPortPerDayFlowMapper.xml new file mode 100644 index 00000000..8f7ec549 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/standalone/infrastructure/xml/LazyVisitorPortPerDayFlowMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/ui/NettyServerLazyUI.java b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/ui/NettyServerLazyUI.java new file mode 100644 index 00000000..aabff2f9 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/java/org/framework/smart/agent/network/heartbeat/server/ui/NettyServerLazyUI.java @@ -0,0 +1,65 @@ +package org.framework.smart.agent.network.heartbeat.server.ui; + +import org.springframework.context.annotation.Configuration; +import org.wu.framework.web.ui.LazyUI; + +/** + * netty 客户端本地UI + */ +@Configuration +public class NettyServerLazyUI implements LazyUI { + public static final String UI_URL = "/netty-server-ui/**"; + public static final String UI_URL_INDEX = "/netty-server-ui/index.html"; + public static final String CLASSPATH = "classpath:/netty-server-ui/v1/"; + + /** + * 是否支持 default false + *

+ * pathPatterns 格式 /acw-client-ui/** + * locations 格式 classpath:/acw-local-client/v1/ + *

+ * + * @return true、false + */ + @Override + public boolean support() { + return true; + } + + /** + * @return UI 描述 + */ + @Override + public String desc() { + return "Netty 服务端 UI"; + } + + /** + * @return UI 访问的path + * 例如:/acw-client-ui/** + */ + @Override + public String pathPatterns() { + return UI_URL; + } + + /** + * 返回页面首页地址 + * + * @return String + * 例如 /acw-client-ui/index.html + */ + @Override + public String index() { + return UI_URL_INDEX; + } + + /** + * @return 文件资源 + * 例如:classpath:/acw-local-client/v1/ + */ + @Override + public String locations() { + return CLASSPATH; + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/main/resources/META-INF/spring.factories b/wu-smart-agent-network-heartbeat-server/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000..6ce8e757 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/resources/META-INF/spring.factories @@ -0,0 +1,8 @@ +# Auto Configure +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +org.framework.smart.agent.network.heartbeat.server.EnableHeartbeatServerAutoConfiguration,\ +org.framework.smart.agent.network.heartbeat.server.config.HeartbeatServerConfiguration,\ +org.framework.smart.agent.network.heartbeat.server.init.InitServerSocket,\ +org.framework.smart.agent.network.heartbeat.server.init.InitClusterNode,\ +org.framework.smart.agent.network.heartbeat.server.config.ServerFlowConfiguration,\ +org.framework.smart.agent.network.heartbeat.server.EnableHeartbeatServerClusterAutoConfiguration diff --git a/wu-smart-agent-network-heartbeat-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/wu-smart-agent-network-heartbeat-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 00000000..bf2529bc --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,6 @@ +org.framework.smart.agent.network.heartbeat.server.EnableHeartbeatServerAutoConfiguration +org.framework.smart.agent.network.heartbeat.server.config.HeartbeatServerConfiguration +org.framework.smart.agent.network.heartbeat.server.init.InitServerSocket +org.framework.smart.agent.network.heartbeat.server.init.InitClusterNode +org.framework.smart.agent.network.heartbeat.server.config.ServerFlowConfiguration +org.framework.smart.agent.network.heartbeat.server.EnableHeartbeatServerClusterAutoConfiguration diff --git a/wu-smart-agent-network-heartbeat-server/src/test/java/org/framework/smart/agent/network/heartbeat/server/domain/model/visitor/flow/InternalNetworkPenetrationMappingTest.java b/wu-smart-agent-network-heartbeat-server/src/test/java/org/framework/smart/agent/network/heartbeat/server/domain/model/visitor/flow/InternalNetworkPenetrationMappingTest.java new file mode 100644 index 00000000..ada247e8 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/test/java/org/framework/smart/agent/network/heartbeat/server/domain/model/visitor/flow/InternalNetworkPenetrationMappingTest.java @@ -0,0 +1,39 @@ +package org.framework.smart.agent.network.heartbeat.server.domain.model.visitor.flow; + +import org.framework.smart.agent.network.heartbeat.server.standalone.infrastructure.entity.LazyInternalNetworkPenetrationMappingDO; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; +import org.wu.framework.lazy.orm.database.sql.expand.database.persistence.factory.LazyLambdaStreamFactory; + +public class InternalNetworkPenetrationMappingTest { + public static void main(String[] args) { +// DynamicLazyDataSourceTypeHolder.push(LazyDataSourceType.MySQL); + LazyLambdaStream lazyLambdaStream = LazyLambdaStreamFactory.createLazyLambdaStream( + "127.0.0.1", + 3306, + "wu_lazy_cloud_netty_server", + "root", + "wujiawei" + ); + int temp_port = 800; + for (int i = 0; i < 10; i++) { + temp_port += 1; + LazyInternalNetworkPenetrationMappingDO lazyInternalNetworkPenetrationMappingDO = new LazyInternalNetworkPenetrationMappingDO(); + lazyInternalNetworkPenetrationMappingDO.setClientId("temp_id"); + lazyInternalNetworkPenetrationMappingDO.setClientTargetIp("127.0.0.1"); + lazyInternalNetworkPenetrationMappingDO.setClientTargetPort(3000 + temp_port); + lazyInternalNetworkPenetrationMappingDO.setVisitorPort(temp_port); + lazyLambdaStream.upsertRemoveNull(lazyInternalNetworkPenetrationMappingDO); + } + + temp_port = 900; + for (int i = 0; i < 10; i++) { + temp_port += 1; + LazyInternalNetworkPenetrationMappingDO lazyInternalNetworkPenetrationMappingDO = new LazyInternalNetworkPenetrationMappingDO(); + lazyInternalNetworkPenetrationMappingDO.setClientId("temp_id_client"); + lazyInternalNetworkPenetrationMappingDO.setClientTargetIp("127.0.0.1"); + lazyInternalNetworkPenetrationMappingDO.setClientTargetPort(3000 + temp_port); + lazyInternalNetworkPenetrationMappingDO.setVisitorPort(temp_port); + lazyLambdaStream.upsertRemoveNull(lazyInternalNetworkPenetrationMappingDO); + } + } +} diff --git a/wu-smart-agent-network-heartbeat-server/src/test/java/org/framework/smart/agent/network/heartbeat/server/domain/model/visitor/flow/VisitorPortFlowTest.java b/wu-smart-agent-network-heartbeat-server/src/test/java/org/framework/smart/agent/network/heartbeat/server/domain/model/visitor/flow/VisitorPortFlowTest.java new file mode 100644 index 00000000..ed46d669 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-server/src/test/java/org/framework/smart/agent/network/heartbeat/server/domain/model/visitor/flow/VisitorPortFlowTest.java @@ -0,0 +1,45 @@ +package org.framework.smart.agent.network.heartbeat.server.domain.model.visitor.flow; + +import org.framework.smart.agent.network.heartbeat.server.standalone.domain.model.visitor.flow.LazyVisitorPortFlow; +import org.springframework.util.StopWatch; +import org.wu.framework.core.ReflexUtils; +import org.wu.framework.core.utils.DataTransformUntil; + +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.List; + +class VisitorPortFlowTest { + + public static void main(String[] args) { + // 反射测试 + List lazyVisitorPortFlows = DataTransformUntil.simulationBeanList(LazyVisitorPortFlow.class, 10000000); + + StopWatch stopWatch = new StopWatch(); + stopWatch.start("常规获取"); + for (LazyVisitorPortFlow lazyVisitorPortFlow : lazyVisitorPortFlows) { + Integer inFlow = lazyVisitorPortFlow.getInFlow(); + } + stopWatch.stop(); + + stopWatch.start("反射获取"); + Field declaredField = ReflexUtils.findDeclaredField(LazyVisitorPortFlow.class, "inFlow"); + declaredField.setAccessible(true); + + for (LazyVisitorPortFlow lazyVisitorPortFlow : lazyVisitorPortFlows) { + Object inFlow = ReflexUtils.findDeclaredFieldBean(lazyVisitorPortFlow, declaredField); + } + stopWatch.stop(); + + stopWatch.start("反射Get获取"); + Method declaredMethod = ReflexUtils.findDeclaredMethod(LazyVisitorPortFlow.class, "getInFlow"); + declaredMethod.setAccessible(true); + for (LazyVisitorPortFlow lazyVisitorPortFlow : lazyVisitorPortFlows) { + Object inFlow = ReflexUtils.invokeDeclaredMethod(lazyVisitorPortFlow, declaredMethod); + } + stopWatch.stop(); + + System.out.println(stopWatch.prettyPrint()); + + } +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-start/pom.xml b/wu-smart-agent-network-heartbeat-start/pom.xml new file mode 100644 index 00000000..653381d0 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/pom.xml @@ -0,0 +1,48 @@ + + + 4.0.0 + + top.wu2020 + wu-smart-agent-network + 1.2.6-JDK17-SNAPSHOT + + + wu-smart-agent-network-heartbeat-start + + wu-smart-agent-network-heartbeat-start + wu-smart-agent-network-heartbeat-start + pom + + + + wu-smart-agent-network-heartbeat-client-start + wu-smart-agent-network-heartbeat-server-start + wu-smart-agent-network-heartbeat-server-cluster-start + + + 17 + + + + org.springframework.boot + spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/Dockerfile b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/Dockerfile new file mode 100644 index 00000000..a149bd23 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/Dockerfile @@ -0,0 +1,22 @@ +FROM registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-framework-parent:jdk-17.0.7-x64 +MAINTAINER wujiawei <1207537021@qq.com> + +RUN echo "Asia/Shanghai" > /etc/timezone + + + +ENV APP_JAR_NAME=$APP_NAME \ + JAVA_OPTS="-Xms512m -Xmx1024m -Djava.security.egd=file:/dev/./urandom" \ + PARAMS="" + + +COPY target/*.jar /app.jar + + + +ENTRYPOINT exec java -server $JAVA_OPTS -jar /app.jar $PARAMS + + + + + diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/Native-Dockerfile b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/Native-Dockerfile new file mode 100644 index 00000000..d365b997 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/Native-Dockerfile @@ -0,0 +1,16 @@ +FROM alpine + +MAINTAINER wujiawei <1207537021@qq.com> + +RUN echo "Asia/Shanghai" > /etc/timezone + + +COPY target/wu-smart-agent-network-heartbeat-client /native-app + +ENTRYPOINT ["/bin/sh" ,"-c", "exec ./native-app"] + + + + + + diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/README.md b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/README.md new file mode 100644 index 00000000..918cb88d --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/README.md @@ -0,0 +1,77 @@ + + +```shell +mvn clean package -Pnative +``` + + +## BUILD IMAGE +```shell +mvn spring-boot:build-image -Pnative + +docker tag docker.io/library/wu-smart-agent-network-heartbeat-client-start:1.2.6-JDK17-SNAPSHOT registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-client-start:1.2.6-JDK17-NATIVE-SNAPSHOT + +docker push registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-client-start:1.2.6-JDK17-NATIVE-SNAPSHOT + +``` + +### 构建docker镜像 + + +```shell + +#docker login --username=1207537021@qq.com registry.cn-hangzhou.aliyuncs.com + +mvn clean install + +docker build -t registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-client-start:1.2.6-JDK17-SNAPSHOT . +docker push registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-client-start:1.2.6-JDK17-SNAPSHOT + +``` + + +### run +```shell + +docker run -d -it --privileged --name client -p 6004:6004 registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-client-start:1.2.6-JDK17-NATIVE-SNAPSHOT + +``` + +```yaml +# 只在 worker 节点执行 +# 替换 x.x.x.x 为 master 节点的内网 IP +export MASTER_IP=124.222.48.62 +# 替换 apiserver.demo 为初始化 master 节点时所使用的 APISERVER_NAME +export APISERVER_NAME=apiserver.demo +echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts + +# 替换为 master 节点上 kubeadm token create 命令的输出 +kubeadm join apiserver.demo:6443 --token 2wtcsg.0af26p9wzfgvyf5a --discovery-token-ca-cert-hash sha256:92f267bdf14c4cd31d3d767d6ff6a6fbdbb83357720d73b91b42d408d5e4a5e7 + +``` + + +```shell + # 创建虚拟网卡 + cat > /etc/sysconfig/network-scripts/ifcfg-eth0:1 <- + registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-client-start:1.2.6-JDK17-NATIVE-SNAPSHOT + imagePullPolicy: Always + name: wu-smart-agent-network-heartbeat-client-start + resources: {} + securityContext: + privileged: true + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 + diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/pom.xml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/pom.xml new file mode 100644 index 00000000..fc94013d --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/pom.xml @@ -0,0 +1,67 @@ + + + + top.wu2020 + wu-smart-agent-network-heartbeat-start + 1.2.6-JDK17-SNAPSHOT + + 4.0.0 + + wu-smart-agent-network-heartbeat-client-start + 云下心跳客户端 + + + 17 + 17 + + + + + top.wu2020 + wu-smart-agent-network-heartbeat-client + + + + + + + + org.graalvm.buildtools + native-maven-plugin + 0.9.23 + + + ${project.artifactId} + + org.framework.smart.agent.network.heartbeat.client.LazyCloudHeartbeatClientStart + + --no-fallback + + + + + build-native + + compile-no-fork + + package + + + + + org.springframework.boot + spring-boot-maven-plugin + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + + \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/java/org/framework/smart/agent/network/heartbeat/client/LazyCloudHeartbeatClientStart.java b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/java/org/framework/smart/agent/network/heartbeat/client/LazyCloudHeartbeatClientStart.java new file mode 100644 index 00000000..cae204a6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/java/org/framework/smart/agent/network/heartbeat/client/LazyCloudHeartbeatClientStart.java @@ -0,0 +1,17 @@ +package org.framework.smart.agent.network.heartbeat.client; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.wu.framework.lazy.orm.core.stereotype.LazyScan; + +/** + * 云上云下-云下心跳服务器 + */ + +@LazyScan(scanBasePackages = "org.framework.smart.agent.network.heartbeat.client.infrastructure.entity") +@SpringBootApplication +public class LazyCloudHeartbeatClientStart { + public static void main(String[] args) { + SpringApplication.run(LazyCloudHeartbeatClientStart.class,args); + } +} diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/resources/application-dev.yml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/resources/application-dev.yml new file mode 100644 index 00000000..a36b12ca --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/resources/application-dev.yml @@ -0,0 +1,24 @@ +spring: + lazy: + netty: + client: + inet-host: 127.0.0.1 + inet-port: 7001 + inet-path: wu-smart-agent-network-heartbeat-server +# inet-host: 124.222.48.62 # 服务端地址 +# inet-port: 30676 #服务端端口 + # inet-path: wu-smart-agent-network-heartbeat-server + client-id: wujiawei # 客户端ID + # client-id: temp_id # 客户端ID + data: + redis: + host: 192.168.17.221 + port: 30553 + password: wujiawei + database: 2 + + + datasource: + url: jdbc:h2:~/client_heartbeat;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE;DATABASE_TO_UPPER=true;MODE=MySQL;CASE_INSENSITIVE_IDENTIFIERS=TRUE + username: sa + driver-class-name: org.h2.Driver diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/resources/application-prod.yml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/resources/application-prod.yml new file mode 100644 index 00000000..cac8735b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/resources/application-prod.yml @@ -0,0 +1,5 @@ +spring: + datasource: + url: jdbc:h2:~/client_heartbeat + username: sa + driver-class-name: org.h2.Driver \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/resources/application.yml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/resources/application.yml new file mode 100644 index 00000000..1cf11e20 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-client-start/src/main/resources/application.yml @@ -0,0 +1,19 @@ + +server: + port: 6004 + +spring: + profiles: + active: dev + lazy: + enable-auto-schema: true + +--- +## 客户端设置 +#spring: +# lazy: +# netty: +# client: +# client-id: 1024 +# inet-host: 127.0.0.1 +# inet-port: 7101 \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/Dockerfile b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/Dockerfile new file mode 100644 index 00000000..a149bd23 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/Dockerfile @@ -0,0 +1,22 @@ +FROM registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-framework-parent:jdk-17.0.7-x64 +MAINTAINER wujiawei <1207537021@qq.com> + +RUN echo "Asia/Shanghai" > /etc/timezone + + + +ENV APP_JAR_NAME=$APP_NAME \ + JAVA_OPTS="-Xms512m -Xmx1024m -Djava.security.egd=file:/dev/./urandom" \ + PARAMS="" + + +COPY target/*.jar /app.jar + + + +ENTRYPOINT exec java -server $JAVA_OPTS -jar /app.jar $PARAMS + + + + + diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/README.md b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/README.md new file mode 100644 index 00000000..d2506477 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/README.md @@ -0,0 +1,38 @@ +# DOCKER JDK IMAGE + + +### 打包可执行文件 + +```shell +mvn clean package -Pnative +``` + +## BUILD IMAGE +```shell +mvn spring-boot:build-image -Pnative + +docker tag docker.io/library/wu-smart-agent-network-heartbeat-server-cluster-start:1.2.6-JDK17-SNAPSHOT registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server-cluster-start:1.2.6-JDK17-NATIVE-SNAPSHOT + +docker push registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server-cluster-start:1.2.6-JDK17-NATIVE-SNAPSHOT + +``` + +```shell + +#docker login --username=1207537021@qq.com registry.cn-hangzhou.aliyuncs.com + +mvn clean install + +docker build -t registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server-cluster-start:1.2.6-JDK17-SNAPSHOT . +docker push registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server-cluster-start:1.2.6-JDK17-SNAPSHOT + +``` + + +```RUN +docker run -d -it -p 18080:18080 --name wu-smart-agent-network-heartbeat-server-cluster-start registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server-cluster-start:1.2.6-JDK17-SNAPSHOT + +http://127.0.0.1:18080/swagger-ui/index.html + +``` + diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/jar-memory.png b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/jar-memory.png new file mode 100644 index 0000000000000000000000000000000000000000..472fe1810aeb33b6b360eb38c75c56d3f758c6b5 GIT binary patch literal 219963 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 i`dUk8D_#%U_LvBQ2lR)Mq$m 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

1#bNN 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

  • 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%0AD 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̓&UozEO7d+od(^F@)~ifze1Rmx#A6~9Cq z7OcT3%J|d~Wx$GZZI_uz2GZT5$zdqimcm`5=CmK0?j`oWFXhY8eWeoz0*nl6?Q5bQ z#}z$t$jbY!kp9-E?X*RL}xNwQbG|#TvwfObCU^-RsE=MN(u~5&B^Up&171 zXZ!{{dV#Vk@9X?CY(dvZl$VuR6+ zoAu`k6+TVNMS;PoV<1qm7lcrq4*DDm#} ztQYdOop%w5KQ{tQFACZ$sfzw9@cQ%nor((HJ+K!C{`p-Y3-+Yo1MF^m_J4Y;r*7+G zlI-18A%MC?dCqm9>$-hBRFVkzSdYJd{*WmPYp2nv#vn%H$DTu^LwgA5pVyxRTq%tP zX^3!`z++2oPyc^y-28L@?kStfXYXX}Qki%zepK)s_}RAJ^a-FqnhWXxoj$zgAkwH8 z?+EA+M@k#rVeQV|2prhFvPqN_mK%2|zpAbk)W0<9SBNs9{cqkq*X{kjn!Fv-GnH#M z*Mc12?DwyfzXYqnMVVM5>$iV}sP+ao2c@bojZ>H}+gFpB7{P}=&8#huI7)sKC4;LL zN)>!k*TGS*eJR_k*#=6V6D&*}aT|P0rDtuw0vV`VUP4_~iT*zxUijC}u>Y!itZrLf z{WWM0jjl~gmIR&nxkvRc3MdH)n}-<2%2S~rI4wXbXF#JNA` z3H!);`#gC8;BP5}Y;VHji(iK9l|NoX;PCsWhagtR9{H8eAHxA2g|kopM?DNR{GA}LW%nYIpF9KrA^YlU z5)TPAZ~_e(utlnVWTnyq;bFO6Aeg>$^gtQ4_9{Wv_17UWF`^x@jN4+QOi=0JXal|0HPx2I}wT~`;4S$mcQ&RhVLy?;%&d!lsWI=$J$CuiGo z(H1>hg8Hf}dE)@(Sp!-aRhzdC9N~FjjTlsXfG=dv>cuT0jwxEfd$_PSk}fo=Y?s6g zl3U4hue4HJ3B~vQ!iek5NMeQOF!)&@~s+$*Zi~hU{UU$E*E0ZHDW)bR!k6{H{D>Tt&?(rEZ$wz_HYGS&7?R3Xv10U%w7I60DI=*XC7wC7QPKl?K)U zXMy86z#3<*-KEiKGX}rhP}PIOM^FbG6JJ_ zV5O$Svbn-{TZ61}#`$O{5Wf&s^3I+YRdND}QaEhM-w%Lx>pEnHGI?BE&^bmu#iNQ; zI~_ttNjD2@_-s=?ta38vlXGS2{@DEonIV+E8M{jlnoH+OX91B%Z@R10JEL{=t$SWt z+QlNwc3lz5;@QNHr6|5B>)WU^5h%z}{>%0;F)=qKZrAN)KENP;dxS=p?f+M;`2Ut_ zMZLYl=I@Q>W za{3u97yeH!XgADeg~bNY@BOqFc55<#wdlXD+i(8gzb(anxNM>5={RTVdc??xZMIWi zxaS430spg1iFnVW;(XpDvJ@j$dej zR0GrplTHm7S+IgUasSb_d8%D@(xp5VLcy)gxzt~K9(DZI4NfIMgTeSpQcw#n@0-7y z{|Jo!al-dN)drxs;7;D}=n@Bl9WU3WRU3*3@axC0_97*kx+ayd4xdJdvOBb(todzu w$&9ZY@po9~>DCf^JF}@{yHRiGqx&T4etbNiKJtdy+RlK~(Y&dFQL_pBUqPI^^Z)<= literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/k8s-node-pod.md b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/k8s-node-pod.md new file mode 100644 index 00000000..92fe7625 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/k8s-node-pod.md @@ -0,0 +1,161 @@ +# 记录一次k8s pod之间ip无法访问,问题排查与定位 + +![img.png](../../k8s-node-pod-network-k8snodepod.png) + +### 问题展现现象 +node之间通信正常 +部分node上的pod无法通信 +### 排查有问题node +#### 使用启动网络测试工具 +##### 环境准备 + +docker + +数据库mysql + + +##### 使用有状态副本集合 + +```bash +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + annotations: + k8s.kuboard.cn/displayName: 有状态内网穿透集群 + labels: + k8s.kuboard.cn/layer: svc + k8s.kuboard.cn/name: network-server-cluster-start + name: network-server-cluster-start + namespace: default +spec: + podManagementPolicy: OrderedReady + replicas: 10 + revisionHistoryLimit: 10 + selector: + matchLabels: + k8s.kuboard.cn/layer: svc + k8s.kuboard.cn/name: network-server-cluster-start + serviceName: network-server-cluster-start + template: + metadata: + labels: + k8s.kuboard.cn/layer: svc + k8s.kuboard.cn/name: network-server-cluster-start + spec: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchLabels: + k8s.kuboard.cn/layer: svc + k8s.kuboard.cn/name: network-server-cluster-start + topologyKey: kubernetes.io/hostname + containers: + - env: + - name: spring.datasource.url + value: >- + jdbc:mysql://mysql-host:mysql-port/wu_lazy_cloud_netty_server_cluster?allowMultiQueries=true&useUnicode=true&autoReconnect=true&useAffectedRows=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&databaseTerm=SCHEMA + - name: JAVA_OPTS + value: '-Xms64m -Xmx128m' + - name: spring.datasource.username + value: root + - name: spring.datasource.password + value: laihui + - name: spring.lazy.netty.server.node-id + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: spring.lazy.netty.server.node-port + value: '7101' + envFrom: + - configMapRef: + name: wu-smart-agent-network-heartbeat-server-cluster-start-conf + image: >- + registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server-cluster-start:1.2.6-JDK17-NATIVE-SNAPSHOT + imagePullPolicy: Always + name: network-server-cluster-start + ports: + - containerPort: 7101 + hostPort: 7101 + name: tcp7101 + protocol: TCP + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 + updateStrategy: + rollingUpdate: + partition: 0 + type: RollingUpdate + +--- +apiVersion: v1 +kind: Service +metadata: + annotations: {} + labels: + k8s.kuboard.cn/layer: svc + k8s.kuboard.cn/name: network-server-cluster-start + name: network-server-cluster-start + namespace: default +spec: + ipFamilyPolicy: SingleStack + ports: + - name: 6eqe4d + port: 7101 + protocol: TCP + targetPort: 7101 + selector: + k8s.kuboard.cn/layer: svc + k8s.kuboard.cn/name: network-server-cluster-start + sessionAffinity: None + type: ClusterIP + + +--- +apiVersion: v1 +data: + spring.lazy.netty.server.node-host: '${HOSTNAME}.network-server-cluster-start.default.svc.cluster.local' +kind: ConfigMap +metadata: + name: wu-smart-agent-network-heartbeat-server-cluster-start-conf + namespace: default + +--- +apiVersion: v1 +kind: Service +metadata: + annotations: {} + name: network-server-cluster-start-web + namespace: default +spec: + ports: + - name: sjmxma + nodePort: 33201 + port: 6101 + protocol: TCP + targetPort: 6101 + selector: + k8s.kuboard.cn/name: network-server-cluster-start + sessionAffinity: None + type: NodePort + + +``` +##### 配置参数需要调整的 +::: tip 其中 mysql-host、mysql-port 替换成你本地具体数据库 +::: 注意副本数量调整为你可以调度的节点数据量 + +##### 打开页面 http://集群IP:33201/netty-server-ui/index.html (默认账号/密码:admin/admin) +##### 初始化菜单、添加角色、用户授权角色 +##### 打开集群管理页面(查看异常状态节点) +![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/88a473b88ee24e86b4a4915c98652636.png) + + + diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/k8s.yaml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/k8s.yaml new file mode 100644 index 00000000..7ddd6dd1 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/k8s.yaml @@ -0,0 +1,129 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + annotations: + k8s.kuboard.cn/displayName: 有状态内网穿透集群 + labels: + k8s.kuboard.cn/layer: svc + k8s.kuboard.cn/name: network-server-cluster-start + name: network-server-cluster-start + namespace: default +spec: + podManagementPolicy: OrderedReady + replicas: 10 + revisionHistoryLimit: 10 + selector: + matchLabels: + k8s.kuboard.cn/layer: svc + k8s.kuboard.cn/name: network-server-cluster-start + serviceName: network-server-cluster-start + template: + metadata: + labels: + k8s.kuboard.cn/layer: svc + k8s.kuboard.cn/name: network-server-cluster-start + spec: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchLabels: + k8s.kuboard.cn/layer: svc + k8s.kuboard.cn/name: network-server-cluster-start + topologyKey: kubernetes.io/hostname + containers: + - env: + - name: spring.datasource.url + value: >- + jdbc:mysql://cloud-mysql.middleground-management:3306/wu_lazy_cloud_netty_server_cluster?allowMultiQueries=true&useUnicode=true&autoReconnect=true&useAffectedRows=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&databaseTerm=SCHEMA + - name: JAVA_OPTS + value: '-Xms64m -Xmx128m' + - name: spring.datasource.username + value: root + - name: spring.datasource.password + value: laihui + - name: spring.lazy.netty.server.node-id + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: spring.lazy.netty.server.node-port + value: '7101' + envFrom: + - configMapRef: + name: wu-smart-agent-network-heartbeat-server-cluster-start-conf + image: >- + registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server-cluster-start:1.2.6-JDK17-NATIVE-SNAPSHOT + imagePullPolicy: Always + name: network-server-cluster-start + ports: + - containerPort: 7101 + hostPort: 7101 + name: tcp7101 + protocol: TCP + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 + updateStrategy: + rollingUpdate: + partition: 0 + type: RollingUpdate + +--- +apiVersion: v1 +kind: Service +metadata: + annotations: {} + labels: + k8s.kuboard.cn/layer: svc + k8s.kuboard.cn/name: network-server-cluster-start + name: network-server-cluster-start + namespace: default +spec: + ipFamilyPolicy: SingleStack + ports: + - name: 6eqe4d + port: 7101 + protocol: TCP + targetPort: 7101 + selector: + k8s.kuboard.cn/layer: svc + k8s.kuboard.cn/name: network-server-cluster-start + sessionAffinity: None + type: ClusterIP + + +--- +apiVersion: v1 +data: + spring.lazy.netty.server.node-host: '${HOSTNAME}.network-server-cluster-start.default.svc.cluster.local' +kind: ConfigMap +metadata: + name: wu-smart-agent-network-heartbeat-server-cluster-start-conf + namespace: default + +--- +apiVersion: v1 +kind: Service +metadata: + annotations: {} + name: network-server-cluster-start-web + namespace: default +spec: + ports: + - name: sjmxma + nodePort: 33201 + port: 6101 + protocol: TCP + targetPort: 6101 + selector: + k8s.kuboard.cn/name: network-server-cluster-start + sessionAffinity: None + type: NodePort + diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/pom.xml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/pom.xml new file mode 100644 index 00000000..dc441cc1 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/pom.xml @@ -0,0 +1,71 @@ + + + + top.wu2020 + wu-smart-agent-network-heartbeat-start + 1.2.6-JDK17-SNAPSHOT + + + 4.0.0 + + wu-smart-agent-network-heartbeat-server-cluster-start + 云上心跳服务端 + + + 17 + 17 + + + + + top.wu2020 + wu-smart-agent-network-heartbeat-server-cluster + + + top.wu2020 + wu-smart-acw-client + + + + + + + + org.graalvm.buildtools + native-maven-plugin + 0.9.23 + + + ${project.artifactId} + + org.framework.smart.agent.network.heartbeat.server.cluster.start.LazyCloudHeartbeatServerClusterStart + + --no-fallback + + + + + build-native + + compile-no-fork + + package + + + + + org.springframework.boot + spring-boot-maven-plugin + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/start/LazyCloudHeartbeatServerClusterStart.java b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/start/LazyCloudHeartbeatServerClusterStart.java new file mode 100644 index 00000000..77ec6b04 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/java/org/framework/smart/agent/network/heartbeat/server/cluster/start/LazyCloudHeartbeatServerClusterStart.java @@ -0,0 +1,16 @@ +package org.framework.smart.agent.network.heartbeat.server.cluster.start; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * 云上云下-云上心跳服务器 + */ +@Slf4j +@SpringBootApplication +public class LazyCloudHeartbeatServerClusterStart { + public static void main(String[] args) { + SpringApplication.run(LazyCloudHeartbeatServerClusterStart.class,args); + } +} diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/resources/application-dev.yml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/resources/application-dev.yml new file mode 100644 index 00000000..144ff444 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/resources/application-dev.yml @@ -0,0 +1,6 @@ +spring: + datasource: + url: jdbc:mysql://127.0.0.1:3306/wu_lazy_cloud_netty_server_cluster?allowMultiQueries=true&useUnicode=true&autoReconnect=true&useAffectedRows=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&databaseTerm=SCHEMA + username: root + password: wujiawei + driver-class-name: com.mysql.cj.jdbc.Driver diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/resources/application-prod.yml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/resources/application-prod.yml new file mode 100644 index 00000000..cb32e4e4 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/resources/application-prod.yml @@ -0,0 +1,8 @@ +spring: + datasource: + url: jdbc:mysql://${MAIN_DB_HOST}/wu_lazy_cloud_netty_server_cluster?allowMultiQueries=true&useUnicode=true&autoReconnect=true&useAffectedRows=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&databaseTerm=SCHEMA + username: root + password: wujiawei + driver-class-name: com.mysql.cj.jdbc.Driver + main: + allow-bean-definition-overriding: true \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/resources/application.yml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/resources/application.yml new file mode 100644 index 00000000..80e03eff --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-cluster-start/src/main/resources/application.yml @@ -0,0 +1,25 @@ + +server: + port: 6101 + +spring: + profiles: + active: dev + lazy: + enable-auto-schema: true + authorization: + un-check-api-path: + - /v1/api/lazy/netty/server/properties/** + - /v1/api/project/dataSource/** +--- +spring: + lazy: + netty: + server: + mode: cluster # 模式:集群、单机版 + node-id: default #当前服务ID + node-host: 127.0.0.1 # 当前节点host + node-port: 7101 # 当前节点端口 + + + diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/Dockerfile b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/Dockerfile new file mode 100644 index 00000000..a149bd23 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/Dockerfile @@ -0,0 +1,22 @@ +FROM registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-framework-parent:jdk-17.0.7-x64 +MAINTAINER wujiawei <1207537021@qq.com> + +RUN echo "Asia/Shanghai" > /etc/timezone + + + +ENV APP_JAR_NAME=$APP_NAME \ + JAVA_OPTS="-Xms512m -Xmx1024m -Djava.security.egd=file:/dev/./urandom" \ + PARAMS="" + + +COPY target/*.jar /app.jar + + + +ENTRYPOINT exec java -server $JAVA_OPTS -jar /app.jar $PARAMS + + + + + diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/README.md b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/README.md new file mode 100644 index 00000000..b2638b1c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/README.md @@ -0,0 +1,39 @@ +# DOCKER JDK IMAGE + + +### 打包可执行文件 + +```shell +mvn clean package -Pnative +``` + +## BUILD IMAGE +```shell +mvn spring-boot:build-image -Pnative + +docker tag docker.io/library/wu-smart-agent-network-heartbeat-server-start:1.2.6-JDK17-SNAPSHOT registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server-start:1.2.6-JDK17-NATIVE-SNAPSHOT + +docker push registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server-start:1.2.6-JDK17-NATIVE-SNAPSHOT + +``` + +```shell + +#docker login --username=1207537021@qq.com registry.cn-hangzhou.aliyuncs.com + +mvn clean install + +docker build -t registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server-start:1.2.6-JDK17-SNAPSHOT . +docker push registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server-start:1.2.6-JDK17-SNAPSHOT + +``` + + +```RUN +docker run -d -it -p 18080:18080 --name wu-smart-agent-network-heartbeat-server-start registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server-start:1.2.6-JDK17-SNAPSHOT + +http://127.0.0.1:18080/swagger-ui/index.html + + +``` + diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/jar-memory.png b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/jar-memory.png new file mode 100644 index 0000000000000000000000000000000000000000..472fe1810aeb33b6b360eb38c75c56d3f758c6b5 GIT binary patch literal 219963 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 i`dUk8D_#%U_LvBQ2lR)Mq$m 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

    1#bNN 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

  • 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%0AD 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̓&UozEO7d+od(^F@)~ifze1Rmx#A6~9Cq z7OcT3%J|d~Wx$GZZI_uz2GZT5$zdqimcm`5=CmK0?j`oWFXhY8eWeoz0*nl6?Q5bQ z#}z$t$jbY!kp9-E?X*RL}xNwQbG|#TvwfObCU^-RsE=MN(u~5&B^Up&171 zXZ!{{dV#Vk@9X?CY(dvZl$VuR6+ zoAu`k6+TVNMS;PoV<1qm7lcrq4*DDm#} ztQYdOop%w5KQ{tQFACZ$sfzw9@cQ%nor((HJ+K!C{`p-Y3-+Yo1MF^m_J4Y;r*7+G zlI-18A%MC?dCqm9>$-hBRFVkzSdYJd{*WmPYp2nv#vn%H$DTu^LwgA5pVyxRTq%tP zX^3!`z++2oPyc^y-28L@?kStfXYXX}Qki%zepK)s_}RAJ^a-FqnhWXxoj$zgAkwH8 z?+EA+M@k#rVeQV|2prhFvPqN_mK%2|zpAbk)W0<9SBNs9{cqkq*X{kjn!Fv-GnH#M z*Mc12?DwyfzXYqnMVVM5>$iV}sP+ao2c@bojZ>H}+gFpB7{P}=&8#huI7)sKC4;LL zN)>!k*TGS*eJR_k*#=6V6D&*}aT|P0rDtuw0vV`VUP4_~iT*zxUijC}u>Y!itZrLf z{WWM0jjl~gmIR&nxkvRc3MdH)n}-<2%2S~rI4wXbXF#JNA` z3H!);`#gC8;BP5}Y;VHji(iK9l|NoX;PCsWhagtR9{H8eAHxA2g|kopM?DNR{GA}LW%nYIpF9KrA^YlU z5)TPAZ~_e(utlnVWTnyq;bFO6Aeg>$^gtQ4_9{Wv_17UWF`^x@jN4+QOi=0JXal|0HPx2I}wT~`;4S$mcQ&RhVLy?;%&d!lsWI=$J$CuiGo z(H1>hg8Hf}dE)@(Sp!-aRhzdC9N~FjjTlsXfG=dv>cuT0jwxEfd$_PSk}fo=Y?s6g zl3U4hue4HJ3B~vQ!iek5NMeQOF!)&@~s+$*Zi~hU{UU$E*E0ZHDW)bR!k6{H{D>Tt&?(rEZ$wz_HYGS&7?R3Xv10U%w7I60DI=*XC7wC7QPKl?K)U zXMy86z#3<*-KEiKGX}rhP}PIOM^FbG6JJ_ zV5O$Svbn-{TZ61}#`$O{5Wf&s^3I+YRdND}QaEhM-w%Lx>pEnHGI?BE&^bmu#iNQ; zI~_ttNjD2@_-s=?ta38vlXGS2{@DEonIV+E8M{jlnoH+OX91B%Z@R10JEL{=t$SWt z+QlNwc3lz5;@QNHr6|5B>)WU^5h%z}{>%0;F)=qKZrAN)KENP;dxS=p?f+M;`2Ut_ zMZLYl=I@Q>W za{3u97yeH!XgADeg~bNY@BOqFc55<#wdlXD+i(8gzb(anxNM>5={RTVdc??xZMIWi zxaS430spg1iFnVW;(XpDvJ@j$dej zR0GrplTHm7S+IgUasSb_d8%D@(xp5VLcy)gxzt~K9(DZI4NfIMgTeSpQcw#n@0-7y z{|Jo!al-dN)drxs;7;D}=n@Bl9WU3WRU3*3@axC0_97*kx+ayd4xdJdvOBb(todzu w$&9ZY@po9~>DCf^JF}@{yHRiGqx&T4etbNiKJtdy+RlK~(Y&dFQL_pBUqPI^^Z)<= literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/k8s.yaml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/k8s.yaml new file mode 100644 index 00000000..0d88519c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/k8s.yaml @@ -0,0 +1,89 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: {} + labels: + k8s.kuboard.cn/layer: gateway + k8s.kuboard.cn/name: wu-lazy-cloud-heartbeat-server + name: wu-lazy-cloud-heartbeat-server + namespace: default +spec: + progressDeadlineSeconds: 600 + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + k8s.kuboard.cn/layer: gateway + k8s.kuboard.cn/name: wu-lazy-cloud-heartbeat-server + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + k8s.kuboard.cn/layer: gateway + k8s.kuboard.cn/name: wu-lazy-cloud-heartbeat-server + spec: + containers: + - env: + - name: spring.datasource.url + value: >- + jdbc:mysql://cloud-mysql:3306/wu_lazy_cloud_netty_server?allowMultiQueries=true&useUnicode=true&autoReconnect=true&useAffectedRows=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&databaseTerm=SCHEMA + - name: JAVA_OPTS + value: '-Xms64m -Xmx128m' + - name: spring.datasource.username + value: root + - name: spring.datasource.password + value: wujiawei + - name: spring.datasource.driver-class-name + value: com.mysql.cj.jdbc.Driver + image: >- + registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-heartbeat-server-start:1.2.6-JDK17-NATIVE-SNAPSHOT + imagePullPolicy: Always + name: wu-lazy-cloud-heartbeat-server + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 + + +--- +apiVersion: v1 +kind: Service +metadata: + annotations: {} + labels: + k8s.kuboard.cn/layer: gateway + k8s.kuboard.cn/name: wu-smart-agent-network-heartbeat-server + name: wu-smart-agent-network-heartbeat-server + namespace: default +spec: + ports: + - name: pecjjh + nodePort: 30676 + port: 7001 + protocol: TCP + targetPort: 7001 + - name: z4bg3n + nodePort: 30273 + port: 30273 + protocol: TCP + targetPort: 30273 + - name: wfcigf + nodePort: 30576 + port: 6001 + protocol: TCP + targetPort: 6001 + selector: + k8s.kuboard.cn/layer: gateway + k8s.kuboard.cn/name: wu-smart-agent-network-heartbeat-server + sessionAffinity: None + type: NodePort + diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/pom.xml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/pom.xml new file mode 100644 index 00000000..67a79cf3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/pom.xml @@ -0,0 +1,67 @@ + + + + top.wu2020 + wu-smart-agent-network-heartbeat-start + 1.2.6-JDK17-SNAPSHOT + + + 4.0.0 + + wu-smart-agent-network-heartbeat-server-start + 云上心跳服务端 + + + 17 + 17 + + + + + top.wu2020 + wu-smart-agent-network-heartbeat-server + + + + + + + + org.graalvm.buildtools + native-maven-plugin + 0.9.23 + + + ${project.artifactId} + + org.framework.smart.agent.network.heartbeat.server.LazyCloudHeartbeatServerStart + + --no-fallback + + + + + build-native + + compile-no-fork + + package + + + + + org.springframework.boot + spring-boot-maven-plugin + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/java/org/framework/smart/agent/network/heartbeat/server/LazyCloudHeartbeatServerStart.java b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/java/org/framework/smart/agent/network/heartbeat/server/LazyCloudHeartbeatServerStart.java new file mode 100644 index 00000000..88c793e8 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/java/org/framework/smart/agent/network/heartbeat/server/LazyCloudHeartbeatServerStart.java @@ -0,0 +1,16 @@ +package org.framework.smart.agent.network.heartbeat.server; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * 云上云下-云上心跳服务器 + */ +@Slf4j +@SpringBootApplication +public class LazyCloudHeartbeatServerStart { + public static void main(String[] args) { + SpringApplication.run(LazyCloudHeartbeatServerStart.class,args); + } +} diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/resources/application-dev.yml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/resources/application-dev.yml new file mode 100644 index 00000000..88385798 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/resources/application-dev.yml @@ -0,0 +1,15 @@ + +--- +## h2 配置 +spring: + datasource: + url: jdbc:h2:./wu_lazy_cloud_netty_server:wu_lazy_cloud_netty_server;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE;DATABASE_TO_UPPER=true;MODE=MySQL;CASE_INSENSITIVE_IDENTIFIERS=TRUE + username: sa + driver-class-name: org.h2.Driver +--- +#spring: +# datasource: +# url: jdbc:mysql://127.0.0.1:3306/wu_lazy_cloud_netty_server?allowMultiQueries=true&useUnicode=true&autoReconnect=true&useAffectedRows=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&databaseTerm=SCHEMA +# username: root +# password: wujiawei +# driver-class-name: com.mysql.cj.jdbc.Driver \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/resources/application-prod.yml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/resources/application-prod.yml new file mode 100644 index 00000000..e9f3704c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/resources/application-prod.yml @@ -0,0 +1,8 @@ +spring: + datasource: + url: jdbc:mysql://${MAIN_DB_HOST}/wu_lazy_cloud_netty_server?allowMultiQueries=true&useUnicode=true&autoReconnect=true&useAffectedRows=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&databaseTerm=SCHEMA + username: root + password: wujiawei + driver-class-name: com.mysql.cj.jdbc.Driver + main: + allow-bean-definition-overriding: true \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/resources/application.yml b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/resources/application.yml new file mode 100644 index 00000000..6b24b9c3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-start/wu-smart-agent-network-heartbeat-server-start/src/main/resources/application.yml @@ -0,0 +1,35 @@ +server: + port: 6001 + +spring: + profiles: + active: dev + lazy: + enable-auto-schema: true + netty: + server: + mode: standalone # 模式:集群、单机版 + node-id: default #当前服务ID + node-host: 127.0.0.1 # 当前节点host + node-port: 7001 # 当前节点端口 + ddl-configure: + ddl-auto: create + +--- +# 添加api 过滤 +spring: + lazy: + authorization: + un-check-api-path: + - /acw-client/java/api/** + - /v1/online/** + - /v1/api/** +--- +# 服务端与客户端集成 +#spring: +# lazy: +# netty: +# client: +# inet-host: ${spring.lazy.netty.server.node-host} +# inet-port: ${spring.lazy.netty.server.node-port} +# client-id: standalone \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/.gitignore b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/.gitignore new file mode 100644 index 00000000..8ee54e8d --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/.gitignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/README.md b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/README.md new file mode 100644 index 00000000..44566884 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/README.md @@ -0,0 +1,29 @@ +# acw-local-client + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). + +## Customize configuration + +See [Vite Configuration Reference](https://vitejs.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run serve +``` + +### Compile and Minify for Production + +```sh +npm run build +``` diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/index.html b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/index.html new file mode 100644 index 00000000..c3a83305 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/index.html @@ -0,0 +1,13 @@ + + + + + + + Java 使用 Lazy ORM 网络穿透客户端! + + +
    + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/jsconfig.json b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/package-lock.json b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/package-lock.json new file mode 100644 index 00000000..524f11ae --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/package-lock.json @@ -0,0 +1,2941 @@ +{ + "name": "acw-local-client", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "acw-local-client", + "version": "0.0.0", + "dependencies": { + "element-plus": "^2.5.6", + "unplugin-auto-import": "^0.17.5", + "unplugin-vue-components": "^0.26.0", + "vue": "^3.4.15" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.0.3", + "axios": "^1.6.7", + "vite": "^5.0.11" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.7", + "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.7.tgz", + "integrity": "sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==" + }, + "node_modules/@babel/parser": { + "version": "7.23.9", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.6.0.tgz", + "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "dependencies": { + "@floating-ui/utils": "^0.2.1" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.3", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.6.3.tgz", + "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", + "dependencies": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz", + "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz", + "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz", + "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz", + "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz", + "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz", + "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz", + "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz", + "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", + "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz", + "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz", + "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz", + "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz", + "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/lodash": { + "version": "4.14.202", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz", + "integrity": "sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==", + "dev": true, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.19.tgz", + "integrity": "sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==", + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.19", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.19.tgz", + "integrity": "sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==", + "dependencies": { + "@vue/compiler-core": "3.4.19", + "@vue/shared": "3.4.19" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.19.tgz", + "integrity": "sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==", + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/compiler-core": "3.4.19", + "@vue/compiler-dom": "3.4.19", + "@vue/compiler-ssr": "3.4.19", + "@vue/shared": "3.4.19", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.6", + "postcss": "^8.4.33", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.19.tgz", + "integrity": "sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==", + "dependencies": { + "@vue/compiler-dom": "3.4.19", + "@vue/shared": "3.4.19" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.19.tgz", + "integrity": "sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==", + "dependencies": { + "@vue/shared": "3.4.19" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.19.tgz", + "integrity": "sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==", + "dependencies": { + "@vue/reactivity": "3.4.19", + "@vue/shared": "3.4.19" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.19.tgz", + "integrity": "sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==", + "dependencies": { + "@vue/runtime-core": "3.4.19", + "@vue/shared": "3.4.19", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.19.tgz", + "integrity": "sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==", + "dependencies": { + "@vue/compiler-ssr": "3.4.19", + "@vue/shared": "3.4.19" + }, + "peerDependencies": { + "vue": "3.4.19" + } + }, + "node_modules/@vue/shared": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.19.tgz", + "integrity": "sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==" + }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.7", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==" + }, + "node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "dependencies": { + "vue-demi": "*" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.7", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/axios": { + "version": "1.6.7", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/element-plus": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.5.6.tgz", + "integrity": "sha512-zctKTiyIDmcnMp3K5WG1hglgraW9EbiCLiIDVtaMCS5mPMl2fRKdS0vOFGnECIq9taFoxnyoDwxHD81nv0B4RA==", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "dev": true, + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" + }, + "node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "engines": { + "node": ">=14" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/magic-string": { + "version": "0.30.7", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.7.tgz", + "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mlly": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.6.0.tgz", + "integrity": "sha512-YOvg9hfYQmnaB56Yb+KrJE2u0Yzz5zR+sLejEvF4fzwzV1Al6hkf2vyHTwqCRyv0hCi9rVCqVoXpyYevQIRwLQ==", + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.12.0.tgz", + "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==", + "devOptional": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.12.0", + "@rollup/rollup-android-arm64": "4.12.0", + "@rollup/rollup-darwin-arm64": "4.12.0", + "@rollup/rollup-darwin-x64": "4.12.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.12.0", + "@rollup/rollup-linux-arm64-gnu": "4.12.0", + "@rollup/rollup-linux-arm64-musl": "4.12.0", + "@rollup/rollup-linux-riscv64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-musl": "4.12.0", + "@rollup/rollup-win32-arm64-msvc": "4.12.0", + "@rollup/rollup-win32-ia32-msvc": "4.12.0", + "@rollup/rollup-win32-x64-msvc": "4.12.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==" + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "dependencies": { + "acorn": "^8.10.0" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ufo": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.4.0.tgz", + "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" + }, + "node_modules/unimport": { + "version": "3.7.1", + "resolved": "https://registry.npmmirror.com/unimport/-/unimport-3.7.1.tgz", + "integrity": "sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==", + "dependencies": { + "@rollup/pluginutils": "^5.1.0", + "acorn": "^8.11.2", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "fast-glob": "^3.3.2", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "mlly": "^1.4.2", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.1.1", + "strip-literal": "^1.3.0", + "unplugin": "^1.5.1" + } + }, + "node_modules/unimport/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/unimport/node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/unplugin": { + "version": "1.7.1", + "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-1.7.1.tgz", + "integrity": "sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==", + "dependencies": { + "acorn": "^8.11.3", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.6.1" + } + }, + "node_modules/unplugin-auto-import": { + "version": "0.17.5", + "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.17.5.tgz", + "integrity": "sha512-fHNDkDSxv3PGagX1wmKBYBkgaM4AKAgZmdJw/bxjhNljx9KSXSgHpGfX0MwUrq9qw6q1bhHIZVWyOwoY2koo4w==", + "dependencies": { + "@antfu/utils": "^0.7.7", + "@rollup/pluginutils": "^5.1.0", + "fast-glob": "^3.3.2", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "minimatch": "^9.0.3", + "unimport": "^3.7.1", + "unplugin": "^1.6.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@nuxt/kit": "^3.2.2", + "@vueuse/core": "*" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "@vueuse/core": { + "optional": true + } + } + }, + "node_modules/unplugin-auto-import/node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/unplugin-vue-components": { + "version": "0.26.0", + "resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.26.0.tgz", + "integrity": "sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==", + "dependencies": { + "@antfu/utils": "^0.7.6", + "@rollup/pluginutils": "^5.0.4", + "chokidar": "^3.5.3", + "debug": "^4.3.4", + "fast-glob": "^3.3.1", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.3", + "minimatch": "^9.0.3", + "resolve": "^1.22.4", + "unplugin": "^1.4.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@babel/parser": "^7.15.8", + "@nuxt/kit": "^3.2.2", + "vue": "2 || 3" + }, + "peerDependenciesMeta": { + "@babel/parser": { + "optional": true + }, + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite": { + "version": "5.1.4", + "resolved": "https://registry.npmmirror.com/vite/-/vite-5.1.4.tgz", + "integrity": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.19.tgz", + "integrity": "sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==", + "dependencies": { + "@vue/compiler-dom": "3.4.19", + "@vue/compiler-sfc": "3.4.19", + "@vue/runtime-dom": "3.4.19", + "@vue/server-renderer": "3.4.19", + "@vue/shared": "3.4.19" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz", + "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==" + } + }, + "dependencies": { + "@antfu/utils": { + "version": "0.7.7", + "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.7.tgz", + "integrity": "sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==" + }, + "@babel/parser": { + "version": "7.23.9", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==" + }, + "@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==" + }, + "@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "requires": {} + }, + "@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "dev": true, + "optional": true + }, + "@floating-ui/core": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.6.0.tgz", + "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "requires": { + "@floating-ui/utils": "^0.2.1" + } + }, + "@floating-ui/dom": { + "version": "1.6.3", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.6.3.tgz", + "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", + "requires": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" + } + }, + "@floating-ui/utils": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@popperjs/core": { + "version": "npm:@sxzz/popperjs-es@2.11.7", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" + }, + "@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz", + "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz", + "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz", + "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz", + "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz", + "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz", + "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz", + "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz", + "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", + "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz", + "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz", + "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz", + "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz", + "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==", + "dev": true, + "optional": true + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "@types/lodash": { + "version": "4.14.202", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" + }, + "@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + }, + "@vitejs/plugin-vue": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz", + "integrity": "sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==", + "dev": true, + "requires": {} + }, + "@vue/compiler-core": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.19.tgz", + "integrity": "sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==", + "requires": { + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.19", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-dom": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.19.tgz", + "integrity": "sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==", + "requires": { + "@vue/compiler-core": "3.4.19", + "@vue/shared": "3.4.19" + } + }, + "@vue/compiler-sfc": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.19.tgz", + "integrity": "sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==", + "requires": { + "@babel/parser": "^7.23.9", + "@vue/compiler-core": "3.4.19", + "@vue/compiler-dom": "3.4.19", + "@vue/compiler-ssr": "3.4.19", + "@vue/shared": "3.4.19", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.6", + "postcss": "^8.4.33", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-ssr": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.19.tgz", + "integrity": "sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==", + "requires": { + "@vue/compiler-dom": "3.4.19", + "@vue/shared": "3.4.19" + } + }, + "@vue/reactivity": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.19.tgz", + "integrity": "sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==", + "requires": { + "@vue/shared": "3.4.19" + } + }, + "@vue/runtime-core": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.19.tgz", + "integrity": "sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==", + "requires": { + "@vue/reactivity": "3.4.19", + "@vue/shared": "3.4.19" + } + }, + "@vue/runtime-dom": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.19.tgz", + "integrity": "sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==", + "requires": { + "@vue/runtime-core": "3.4.19", + "@vue/shared": "3.4.19", + "csstype": "^3.1.3" + } + }, + "@vue/server-renderer": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.19.tgz", + "integrity": "sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==", + "requires": { + "@vue/compiler-ssr": "3.4.19", + "@vue/shared": "3.4.19" + } + }, + "@vue/shared": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.19.tgz", + "integrity": "sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==" + }, + "@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "requires": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.14.7", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "requires": {} + } + } + }, + "@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==" + }, + "@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "requires": { + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.14.7", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "requires": {} + } + } + }, + "acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "axios": { + "version": "1.6.7", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "dev": true, + "requires": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "element-plus": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.5.6.tgz", + "integrity": "sha512-zctKTiyIDmcnMp3K5WG1hglgraW9EbiCLiIDVtaMCS5mPMl2fRKdS0vOFGnECIq9taFoxnyoDwxHD81nv0B4RA==", + "requires": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + }, + "esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "dev": true + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "requires": { + "hasown": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" + }, + "local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==" + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "requires": {} + }, + "magic-string": { + "version": "0.30.7", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.7.tgz", + "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "mlly": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.6.0.tgz", + "integrity": "sha512-YOvg9hfYQmnaB56Yb+KrJE2u0Yzz5zR+sLejEvF4fzwzV1Al6hkf2vyHTwqCRyv0hCi9rVCqVoXpyYevQIRwLQ==", + "requires": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "requires": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rollup": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.12.0.tgz", + "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==", + "devOptional": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.12.0", + "@rollup/rollup-android-arm64": "4.12.0", + "@rollup/rollup-darwin-arm64": "4.12.0", + "@rollup/rollup-darwin-x64": "4.12.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.12.0", + "@rollup/rollup-linux-arm64-gnu": "4.12.0", + "@rollup/rollup-linux-arm64-musl": "4.12.0", + "@rollup/rollup-linux-riscv64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-musl": "4.12.0", + "@rollup/rollup-win32-arm64-msvc": "4.12.0", + "@rollup/rollup-win32-ia32-msvc": "4.12.0", + "@rollup/rollup-win32-x64-msvc": "4.12.0", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "scule": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "requires": { + "acorn": "^8.10.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "ufo": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.4.0.tgz", + "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" + }, + "unimport": { + "version": "3.7.1", + "resolved": "https://registry.npmmirror.com/unimport/-/unimport-3.7.1.tgz", + "integrity": "sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==", + "requires": { + "@rollup/pluginutils": "^5.1.0", + "acorn": "^8.11.2", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "fast-glob": "^3.3.2", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "mlly": "^1.4.2", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.1.1", + "strip-literal": "^1.3.0", + "unplugin": "^1.5.1" + }, + "dependencies": { + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "requires": { + "@types/estree": "^1.0.0" + } + }, + "local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "requires": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + } + } + } + }, + "unplugin": { + "version": "1.7.1", + "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-1.7.1.tgz", + "integrity": "sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==", + "requires": { + "acorn": "^8.11.3", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.6.1" + } + }, + "unplugin-auto-import": { + "version": "0.17.5", + "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.17.5.tgz", + "integrity": "sha512-fHNDkDSxv3PGagX1wmKBYBkgaM4AKAgZmdJw/bxjhNljx9KSXSgHpGfX0MwUrq9qw6q1bhHIZVWyOwoY2koo4w==", + "requires": { + "@antfu/utils": "^0.7.7", + "@rollup/pluginutils": "^5.1.0", + "fast-glob": "^3.3.2", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "minimatch": "^9.0.3", + "unimport": "^3.7.1", + "unplugin": "^1.6.0" + }, + "dependencies": { + "local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "requires": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + } + } + } + }, + "unplugin-vue-components": { + "version": "0.26.0", + "resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.26.0.tgz", + "integrity": "sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==", + "requires": { + "@antfu/utils": "^0.7.6", + "@rollup/pluginutils": "^5.0.4", + "chokidar": "^3.5.3", + "debug": "^4.3.4", + "fast-glob": "^3.3.1", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.3", + "minimatch": "^9.0.3", + "resolve": "^1.22.4", + "unplugin": "^1.4.0" + } + }, + "vite": { + "version": "5.1.4", + "resolved": "https://registry.npmmirror.com/vite/-/vite-5.1.4.tgz", + "integrity": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==", + "dev": true, + "requires": { + "esbuild": "^0.19.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" + } + }, + "vue": { + "version": "3.4.19", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.19.tgz", + "integrity": "sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==", + "requires": { + "@vue/compiler-dom": "3.4.19", + "@vue/compiler-sfc": "3.4.19", + "@vue/runtime-dom": "3.4.19", + "@vue/server-renderer": "3.4.19", + "@vue/shared": "3.4.19" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + }, + "webpack-virtual-modules": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz", + "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==" + } + } +} diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/package.json b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/package.json new file mode 100644 index 00000000..e53cbf0c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/package.json @@ -0,0 +1,23 @@ +{ + "name": "acw-local-client", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "serve": "vite --host", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@element-plus/icons-vue": "^2.3.1", + "element-plus": "^2.5.6", + "unplugin-auto-import": "^0.17.5", + "unplugin-vue-components": "^0.26.0", + "vue": "^3.4.15" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.0.3", + "axios": "^1.6.7", + "vite": "^5.0.11" + } +} diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/public/favicon.ico b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/App.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/App.vue new file mode 100644 index 00000000..b2722433 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/App.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/assets/LazyORMlog.png b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/assets/LazyORMlog.png new file mode 100644 index 0000000000000000000000000000000000000000..aeaafe50619a40b17f82e36943b0f8614f404497 GIT binary patch literal 2454 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 */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: + color 0.5s, + background-color 0.5s; + line-height: 1.6; + font-family: + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/assets/logo.svg b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/assets/logo.svg new file mode 100644 index 00000000..75656603 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/assets/logo.svg @@ -0,0 +1 @@ + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/assets/main.css b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/assets/main.css new file mode 100644 index 00000000..36fb845b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/assets/main.css @@ -0,0 +1,35 @@ +@import './base.css'; + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; + padding: 3px; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/HelloWorld.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/HelloWorld.vue new file mode 100644 index 00000000..4be79e64 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/HelloWorld.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/LocalClientProperties.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/LocalClientProperties.vue new file mode 100644 index 00000000..6cd9bb85 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/LocalClientProperties.vue @@ -0,0 +1,227 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/TheWelcome.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/TheWelcome.vue new file mode 100644 index 00000000..dab95367 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/TheWelcome.vue @@ -0,0 +1,88 @@ + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/WelcomeItem.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/WelcomeItem.vue new file mode 100644 index 00000000..6d7086ae --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/WelcomeItem.vue @@ -0,0 +1,87 @@ + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconCommunity.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconCommunity.vue new file mode 100644 index 00000000..2dc8b055 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconCommunity.vue @@ -0,0 +1,7 @@ + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconDocumentation.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconDocumentation.vue new file mode 100644 index 00000000..6d4791cf --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconDocumentation.vue @@ -0,0 +1,7 @@ + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconEcosystem.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconEcosystem.vue new file mode 100644 index 00000000..c3a4f078 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconEcosystem.vue @@ -0,0 +1,7 @@ + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconSupport.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconSupport.vue new file mode 100644 index 00000000..7452834d --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconSupport.vue @@ -0,0 +1,7 @@ + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconTooling.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconTooling.vue new file mode 100644 index 00000000..660598d7 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/components/icons/IconTooling.vue @@ -0,0 +1,19 @@ + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/main.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/main.js new file mode 100644 index 00000000..5ed91a10 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/src/main.js @@ -0,0 +1,15 @@ +import './assets/main.css' + +import { createApp } from 'vue' +import App from './App.vue' +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +import * as ElementPlusIconsVue from '@element-plus/icons-vue' + +const app=createApp(App); + +for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) +} +app.use(ElementPlus) +app.mount('#app') diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/vite.config.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/vite.config.js new file mode 100644 index 00000000..3e201dfa --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/vite.config.js @@ -0,0 +1,54 @@ +import { fileURLToPath, URL } from 'node:url' + +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +import AutoImport from 'unplugin-auto-import/vite' +import Components from 'unplugin-vue-components/vite' +import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' + +// https://vitejs.dev/config/ +export default defineConfig({ + outputDir: '../wu-smart-agent-network-heartbeat-client/src/resources/network-local-client-ui/v1', // 构建时输出目录 + base: './', + plugins: [ + vue(), + AutoImport({ + resolvers: [ElementPlusResolver()], + }), + Components({ + resolvers: [ElementPlusResolver()], + }), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + } + }, + publicPath: "", + productionSourceMap: false, + server: { + port: "38080", // 请求地址的端口号,在本项目是38080 + proxy: { + '/v1/api': { + target: "http://127.0.0.1:6004", // 真实的服务器地址 + changeOrigin: true, // + secure: false, // 默认情况下,不接受运行在 HTTPS 上,且使用了无效证书的后端服务器。如果你想要接受设为false + ws: false, // 是否启用websockets + // 是否重写 + pathRewrite: { + "^/v1/api": "/v1/api", + }, + }, + '/upload': { + target: 'http://localhost:3300/upload', + changeOrigin: true, + ws: true, + rewrite: (path) => path.replace(new RegExp(`^/upload`), ''), + }, + }, + warmup: { + clientFiles: ['./index.html', './src/{views,components}/*'], + }, + }, +}) diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/yarn.lock b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/yarn.lock new file mode 100644 index 00000000..99e64c5b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-client-ui/yarn.lock @@ -0,0 +1,1009 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@antfu/utils@^0.7.6", "@antfu/utils@^0.7.7": + version "0.7.7" + resolved "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.7.tgz#26ea493a831b4f3a85475e7157be02fb4eab51fb" + integrity sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg== + +"@babel/parser@^7.23.9": + version "7.24.1" + resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.1.tgz#1e416d3627393fab1cb5b0f2f1796a100ae9133a" + integrity sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg== + +"@ctrl/tinycolor@^3.4.1": + version "3.6.1" + resolved "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31" + integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== + +"@element-plus/icons-vue@^2.3.1": + version "2.3.1" + resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz#1f635ad5fdd5c85ed936481525570e82b5a8307a" + integrity sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg== + +"@esbuild/aix-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" + integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== + +"@esbuild/android-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" + integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== + +"@esbuild/android-arm@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" + integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== + +"@esbuild/android-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" + integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== + +"@esbuild/darwin-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" + integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== + +"@esbuild/darwin-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" + integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== + +"@esbuild/freebsd-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" + integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== + +"@esbuild/freebsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" + integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== + +"@esbuild/linux-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" + integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== + +"@esbuild/linux-arm@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" + integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== + +"@esbuild/linux-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" + integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== + +"@esbuild/linux-loong64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" + integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== + +"@esbuild/linux-mips64el@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" + integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== + +"@esbuild/linux-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" + integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== + +"@esbuild/linux-riscv64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" + integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== + +"@esbuild/linux-s390x@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" + integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== + +"@esbuild/linux-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" + integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== + +"@esbuild/netbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" + integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== + +"@esbuild/openbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" + integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== + +"@esbuild/sunos-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" + integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== + +"@esbuild/win32-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" + integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== + +"@esbuild/win32-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" + integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== + +"@esbuild/win32-x64@0.20.2": + version "0.20.2" + resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" + integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== + +"@floating-ui/core@^1.0.0": + version "1.6.0" + resolved "https://registry.npmmirror.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1" + integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g== + dependencies: + "@floating-ui/utils" "^0.2.1" + +"@floating-ui/dom@^1.0.1": + version "1.6.3" + resolved "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.6.3.tgz#954e46c1dd3ad48e49db9ada7218b0985cee75ef" + integrity sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw== + dependencies: + "@floating-ui/core" "^1.0.0" + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/utils@^0.2.0", "@floating-ui/utils@^0.2.1": + version "0.2.1" + resolved "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2" + integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== + +"@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@popperjs/core@npm:@sxzz/popperjs-es@^2.11.7": + version "2.11.7" + resolved "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz#a7f69e3665d3da9b115f9e71671dae1b97e13671" + integrity sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ== + +"@rollup/pluginutils@^5.0.4", "@rollup/pluginutils@^5.1.0": + version "5.1.0" + resolved "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0" + integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + +"@rollup/rollup-android-arm-eabi@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.2.tgz#fbf098f49d96a8cac9056f22f5fd80906ef3af85" + integrity sha512-3XFIDKWMFZrMnao1mJhnOT1h2g0169Os848NhhmGweEcfJ4rCi+3yMCOLG4zA61rbJdkcrM/DjVZm9Hg5p5w7g== + +"@rollup/rollup-android-arm64@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.2.tgz#0d2448251040fce19a98eee505dff5b3c8ec9b98" + integrity sha512-GdxxXbAuM7Y/YQM9/TwwP+L0omeE/lJAR1J+olu36c3LqqZEBdsIWeQ91KBe6nxwOnb06Xh7JS2U5ooWU5/LgQ== + +"@rollup/rollup-darwin-arm64@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.2.tgz#78db4d4da5b1b84c22adbe25c8a4961b3f22d3af" + integrity sha512-mCMlpzlBgOTdaFs83I4XRr8wNPveJiJX1RLfv4hggyIVhfB5mJfN4P8Z6yKh+oE4Luz+qq1P3kVdWrCKcMYrrA== + +"@rollup/rollup-darwin-x64@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.2.tgz#fcc05af54379f8ee5c7e954987d4514c6fd0fb42" + integrity sha512-yUoEvnH0FBef/NbB1u6d3HNGyruAKnN74LrPAfDQL3O32e3k3OSfLrPgSJmgb3PJrBZWfPyt6m4ZhAFa2nZp2A== + +"@rollup/rollup-linux-arm-gnueabihf@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.2.tgz#2ce200efa1ef4a56ee2af7b453edc74a259d7d31" + integrity sha512-GYbLs5ErswU/Xs7aGXqzc3RrdEjKdmoCrgzhJWyFL0r5fL3qd1NPcDKDowDnmcoSiGJeU68/Vy+OMUluRxPiLQ== + +"@rollup/rollup-linux-arm64-gnu@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.2.tgz#5a24aac882bff9abfda3f45f6f1db2166c342a4a" + integrity sha512-L1+D8/wqGnKQIlh4Zre9i4R4b4noxzH5DDciyahX4oOz62CphY7WDWqJoQ66zNR4oScLNOqQJfNSIAe/6TPUmQ== + +"@rollup/rollup-linux-arm64-musl@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.2.tgz#f1fb4c6f961d3f3397231a99e621d199200e4ea9" + integrity sha512-tK5eoKFkXdz6vjfkSTCupUzCo40xueTOiOO6PeEIadlNBkadH1wNOH8ILCPIl8by/Gmb5AGAeQOFeLev7iZDOA== + +"@rollup/rollup-linux-powerpc64le-gnu@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.13.2.tgz#46b2463d94ac3af3e0f7a2947b695397bc13b755" + integrity sha512-zvXvAUGGEYi6tYhcDmb9wlOckVbuD+7z3mzInCSTACJ4DQrdSLPNUeDIcAQW39M3q6PDquqLWu7pnO39uSMRzQ== + +"@rollup/rollup-linux-riscv64-gnu@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.2.tgz#47b932ee59a5395a3a341b0493e361d9e6032cf2" + integrity sha512-C3GSKvMtdudHCN5HdmAMSRYR2kkhgdOfye4w0xzyii7lebVr4riCgmM6lRiSCnJn2w1Xz7ZZzHKuLrjx5620kw== + +"@rollup/rollup-linux-s390x-gnu@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.13.2.tgz#8e14a1b3c3b9a4440c70a9c1ba12d32aa21f9712" + integrity sha512-l4U0KDFwzD36j7HdfJ5/TveEQ1fUTjFFQP5qIt9gBqBgu1G8/kCaq5Ok05kd5TG9F8Lltf3MoYsUMw3rNlJ0Yg== + +"@rollup/rollup-linux-x64-gnu@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.2.tgz#270e939194b66df77bcb33dd9a5ddf7784bd7997" + integrity sha512-xXMLUAMzrtsvh3cZ448vbXqlUa7ZL8z0MwHp63K2IIID2+DeP5iWIT6g1SN7hg1VxPzqx0xZdiDM9l4n9LRU1A== + +"@rollup/rollup-linux-x64-musl@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.2.tgz#e8dd0f3c2046acbda2934490b36552e856a3bc6a" + integrity sha512-M/JYAWickafUijWPai4ehrjzVPKRCyDb1SLuO+ZyPfoXgeCEAlgPkNXewFZx0zcnoIe3ay4UjXIMdXQXOZXWqA== + +"@rollup/rollup-win32-arm64-msvc@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.2.tgz#f8b65a4a7e7a6b383e7b14439129b2f474ff123c" + integrity sha512-2YWwoVg9KRkIKaXSh0mz3NmfurpmYoBBTAXA9qt7VXk0Xy12PoOP40EFuau+ajgALbbhi4uTj3tSG3tVseCjuA== + +"@rollup/rollup-win32-ia32-msvc@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.2.tgz#bc1c5a4fbc4337d6cb15da80a4de95fd53ab3573" + integrity sha512-2FSsE9aQ6OWD20E498NYKEQLneShWes0NGMPQwxWOdws35qQXH+FplabOSP5zEe1pVjurSDOGEVCE2agFwSEsw== + +"@rollup/rollup-win32-x64-msvc@4.13.2": + version "4.13.2" + resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.2.tgz#851959c4c1c3c6647aba1f388198c8243aed6917" + integrity sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ== + +"@types/estree@1.0.5", "@types/estree@^1.0.0": + version "1.0.5" + resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/lodash-es@^4.17.6": + version "4.17.12" + resolved "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz#65f6d1e5f80539aa7cfbfc962de5def0cf4f341b" + integrity sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*", "@types/lodash@^4.14.182": + version "4.17.0" + resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.0.tgz#d774355e41f372d5350a4d0714abb48194a489c3" + integrity sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA== + +"@types/web-bluetooth@^0.0.16": + version "0.0.16" + resolved "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz#1d12873a8e49567371f2a75fe3e7f7edca6662d8" + integrity sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ== + +"@vitejs/plugin-vue@^5.0.3": + version "5.0.4" + resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz#508d6a0f2440f86945835d903fcc0d95d1bb8a37" + integrity sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ== + +"@vue/compiler-core@3.4.21": + version "3.4.21" + resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.21.tgz#868b7085378fc24e58c9aed14c8d62110a62be1a" + integrity sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og== + dependencies: + "@babel/parser" "^7.23.9" + "@vue/shared" "3.4.21" + entities "^4.5.0" + estree-walker "^2.0.2" + source-map-js "^1.0.2" + +"@vue/compiler-dom@3.4.21": + version "3.4.21" + resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz#0077c355e2008207283a5a87d510330d22546803" + integrity sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA== + dependencies: + "@vue/compiler-core" "3.4.21" + "@vue/shared" "3.4.21" + +"@vue/compiler-sfc@3.4.21": + version "3.4.21" + resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz#4af920dc31ab99e1ff5d152b5fe0ad12181145b2" + integrity sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ== + dependencies: + "@babel/parser" "^7.23.9" + "@vue/compiler-core" "3.4.21" + "@vue/compiler-dom" "3.4.21" + "@vue/compiler-ssr" "3.4.21" + "@vue/shared" "3.4.21" + estree-walker "^2.0.2" + magic-string "^0.30.7" + postcss "^8.4.35" + source-map-js "^1.0.2" + +"@vue/compiler-ssr@3.4.21": + version "3.4.21" + resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz#b84ae64fb9c265df21fc67f7624587673d324fef" + integrity sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q== + dependencies: + "@vue/compiler-dom" "3.4.21" + "@vue/shared" "3.4.21" + +"@vue/reactivity@3.4.21": + version "3.4.21" + resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.21.tgz#affd3415115b8ebf4927c8d2a0d6a24bccfa9f02" + integrity sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw== + dependencies: + "@vue/shared" "3.4.21" + +"@vue/runtime-core@3.4.21": + version "3.4.21" + resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.21.tgz#3749c3f024a64c4c27ecd75aea4ca35634db0062" + integrity sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA== + dependencies: + "@vue/reactivity" "3.4.21" + "@vue/shared" "3.4.21" + +"@vue/runtime-dom@3.4.21": + version "3.4.21" + resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.21.tgz#91f867ef64eff232cac45095ab28ebc93ac74588" + integrity sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw== + dependencies: + "@vue/runtime-core" "3.4.21" + "@vue/shared" "3.4.21" + csstype "^3.1.3" + +"@vue/server-renderer@3.4.21": + version "3.4.21" + resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.21.tgz#150751579d26661ee3ed26a28604667fa4222a97" + integrity sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg== + dependencies: + "@vue/compiler-ssr" "3.4.21" + "@vue/shared" "3.4.21" + +"@vue/shared@3.4.21": + version "3.4.21" + resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz#de526a9059d0a599f0b429af7037cd0c3ed7d5a1" + integrity sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g== + +"@vueuse/core@^9.1.0": + version "9.13.0" + resolved "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz#2f69e66d1905c1e4eebc249a01759cf88ea00cf4" + integrity sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw== + dependencies: + "@types/web-bluetooth" "^0.0.16" + "@vueuse/metadata" "9.13.0" + "@vueuse/shared" "9.13.0" + vue-demi "*" + +"@vueuse/metadata@9.13.0": + version "9.13.0" + resolved "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz#bc25a6cdad1b1a93c36ce30191124da6520539ff" + integrity sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ== + +"@vueuse/shared@9.13.0": + version "9.13.0" + resolved "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz#089ff4cc4e2e7a4015e57a8f32e4b39d096353b9" + integrity sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw== + dependencies: + vue-demi "*" + +acorn@^8.10.0, acorn@^8.11.2, acorn@^8.11.3: + version "8.11.3" + resolved "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +async-validator@^4.2.5: + version "4.2.5" + resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" + integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +axios@^1.6.7: + version "1.6.8" + resolved "https://registry.npmmirror.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" + integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +chokidar@^3.5.3, chokidar@^3.6.0: + version "3.6.0" + resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +dayjs@^1.11.3: + version "1.11.10" + resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + +debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +element-plus@^2.5.6: + version "2.6.3" + resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.6.3.tgz#15e82e7dc0646c5d1e01b508d0e577d764829b1c" + integrity sha512-U4L/mr+1r+EmAUYUHrs0V/8hHMdBGP07rPymSC72LZCN4jK1UwygQYICegTQ5us4mxeqBvW6wfoEfo003fwCqw== + dependencies: + "@ctrl/tinycolor" "^3.4.1" + "@element-plus/icons-vue" "^2.3.1" + "@floating-ui/dom" "^1.0.1" + "@popperjs/core" "npm:@sxzz/popperjs-es@^2.11.7" + "@types/lodash" "^4.14.182" + "@types/lodash-es" "^4.17.6" + "@vueuse/core" "^9.1.0" + async-validator "^4.2.5" + dayjs "^1.11.3" + escape-html "^1.0.3" + lodash "^4.17.21" + lodash-es "^4.17.21" + lodash-unified "^1.0.2" + memoize-one "^6.0.0" + normalize-wheel-es "^1.2.0" + +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +esbuild@^0.20.1: + version "0.20.2" + resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1" + integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== + optionalDependencies: + "@esbuild/aix-ppc64" "0.20.2" + "@esbuild/android-arm" "0.20.2" + "@esbuild/android-arm64" "0.20.2" + "@esbuild/android-x64" "0.20.2" + "@esbuild/darwin-arm64" "0.20.2" + "@esbuild/darwin-x64" "0.20.2" + "@esbuild/freebsd-arm64" "0.20.2" + "@esbuild/freebsd-x64" "0.20.2" + "@esbuild/linux-arm" "0.20.2" + "@esbuild/linux-arm64" "0.20.2" + "@esbuild/linux-ia32" "0.20.2" + "@esbuild/linux-loong64" "0.20.2" + "@esbuild/linux-mips64el" "0.20.2" + "@esbuild/linux-ppc64" "0.20.2" + "@esbuild/linux-riscv64" "0.20.2" + "@esbuild/linux-s390x" "0.20.2" + "@esbuild/linux-x64" "0.20.2" + "@esbuild/netbsd-x64" "0.20.2" + "@esbuild/openbsd-x64" "0.20.2" + "@esbuild/sunos-x64" "0.20.2" + "@esbuild/win32-arm64" "0.20.2" + "@esbuild/win32-ia32" "0.20.2" + "@esbuild/win32-x64" "0.20.2" + +escape-html@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +estree-walker@^3.0.3: + version "3.0.3" + resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" + +fast-glob@^3.3.1, fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +follow-redirects@^1.15.6: + version "1.15.6" + resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +hasown@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +jsonc-parser@^3.2.0: + version "3.2.1" + resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" + integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== + +local-pkg@^0.4.3: + version "0.4.3" + resolved "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.4.3.tgz#0ff361ab3ae7f1c19113d9bb97b98b905dbc4963" + integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g== + +local-pkg@^0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.5.0.tgz#093d25a346bae59a99f80e75f6e9d36d7e8c925c" + integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== + dependencies: + mlly "^1.4.2" + pkg-types "^1.0.3" + +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash-unified@^1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz#80b1eac10ed2eb02ed189f08614a29c27d07c894" + integrity sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +magic-string@^0.30.3, magic-string@^0.30.5, magic-string@^0.30.7: + version "0.30.8" + resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.8.tgz#14e8624246d2bedba70d5462aa99ac9681844613" + integrity sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +memoize-one@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" + integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +minimatch@^9.0.3: + version "9.0.4" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + +mlly@^1.2.0, mlly@^1.4.2: + version "1.6.1" + resolved "https://registry.npmmirror.com/mlly/-/mlly-1.6.1.tgz#0983067dc3366d6314fc5e12712884e6978d028f" + integrity sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA== + dependencies: + acorn "^8.11.3" + pathe "^1.1.2" + pkg-types "^1.0.3" + ufo "^1.3.2" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-wheel-es@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz#0fa2593d619f7245a541652619105ab076acf09e" + integrity sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +pathe@^1.1.0, pathe@^1.1.1, pathe@^1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" + integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pkg-types@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.0.3.tgz#988b42ab19254c01614d13f4f65a2cfc7880f868" + integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== + dependencies: + jsonc-parser "^3.2.0" + mlly "^1.2.0" + pathe "^1.1.0" + +postcss@^8.4.35, postcss@^8.4.38: + version "8.4.38" + resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +resolve@^1.22.4: + version "1.22.8" + resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rollup@^4.13.0: + version "4.13.2" + resolved "https://registry.npmmirror.com/rollup/-/rollup-4.13.2.tgz#ac57d2dc48e8f5562f5a6daadb9caee590069262" + integrity sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g== + dependencies: + "@types/estree" "1.0.5" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.13.2" + "@rollup/rollup-android-arm64" "4.13.2" + "@rollup/rollup-darwin-arm64" "4.13.2" + "@rollup/rollup-darwin-x64" "4.13.2" + "@rollup/rollup-linux-arm-gnueabihf" "4.13.2" + "@rollup/rollup-linux-arm64-gnu" "4.13.2" + "@rollup/rollup-linux-arm64-musl" "4.13.2" + "@rollup/rollup-linux-powerpc64le-gnu" "4.13.2" + "@rollup/rollup-linux-riscv64-gnu" "4.13.2" + "@rollup/rollup-linux-s390x-gnu" "4.13.2" + "@rollup/rollup-linux-x64-gnu" "4.13.2" + "@rollup/rollup-linux-x64-musl" "4.13.2" + "@rollup/rollup-win32-arm64-msvc" "4.13.2" + "@rollup/rollup-win32-ia32-msvc" "4.13.2" + "@rollup/rollup-win32-x64-msvc" "4.13.2" + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +scule@^1.1.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz#6efbd22fd0bb801bdcc585c89266a7d2daa8fbd3" + integrity sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g== + +source-map-js@^1.0.2, source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +strip-literal@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/strip-literal/-/strip-literal-1.3.0.tgz#db3942c2ec1699e6836ad230090b84bb458e3a07" + integrity sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg== + dependencies: + acorn "^8.10.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +ufo@^1.3.2: + version "1.5.3" + resolved "https://registry.npmmirror.com/ufo/-/ufo-1.5.3.tgz#3325bd3c977b6c6cd3160bf4ff52989adc9d3344" + integrity sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw== + +unimport@^3.7.1: + version "3.7.1" + resolved "https://registry.npmmirror.com/unimport/-/unimport-3.7.1.tgz#37250d0f3f2dcf1e1b66ed13728db0e9f50ba0c3" + integrity sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ== + dependencies: + "@rollup/pluginutils" "^5.1.0" + acorn "^8.11.2" + escape-string-regexp "^5.0.0" + estree-walker "^3.0.3" + fast-glob "^3.3.2" + local-pkg "^0.5.0" + magic-string "^0.30.5" + mlly "^1.4.2" + pathe "^1.1.1" + pkg-types "^1.0.3" + scule "^1.1.1" + strip-literal "^1.3.0" + unplugin "^1.5.1" + +unplugin-auto-import@^0.17.5: + version "0.17.5" + resolved "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.17.5.tgz#5ae7164fddd1560e96bf9be23b2f5ef46c808ca6" + integrity sha512-fHNDkDSxv3PGagX1wmKBYBkgaM4AKAgZmdJw/bxjhNljx9KSXSgHpGfX0MwUrq9qw6q1bhHIZVWyOwoY2koo4w== + dependencies: + "@antfu/utils" "^0.7.7" + "@rollup/pluginutils" "^5.1.0" + fast-glob "^3.3.2" + local-pkg "^0.5.0" + magic-string "^0.30.5" + minimatch "^9.0.3" + unimport "^3.7.1" + unplugin "^1.6.0" + +unplugin-vue-components@^0.26.0: + version "0.26.0" + resolved "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.26.0.tgz#6d79caa770039a1eb3d7c09fdd28778ea20afef3" + integrity sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ== + dependencies: + "@antfu/utils" "^0.7.6" + "@rollup/pluginutils" "^5.0.4" + chokidar "^3.5.3" + debug "^4.3.4" + fast-glob "^3.3.1" + local-pkg "^0.4.3" + magic-string "^0.30.3" + minimatch "^9.0.3" + resolve "^1.22.4" + unplugin "^1.4.0" + +unplugin@^1.4.0, unplugin@^1.5.1, unplugin@^1.6.0: + version "1.10.1" + resolved "https://registry.npmmirror.com/unplugin/-/unplugin-1.10.1.tgz#8ceda065dc71bc67d923dea0920f05c67f2cd68c" + integrity sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg== + dependencies: + acorn "^8.11.3" + chokidar "^3.6.0" + webpack-sources "^3.2.3" + webpack-virtual-modules "^0.6.1" + +vite@^5.0.11: + version "5.2.7" + resolved "https://registry.npmmirror.com/vite/-/vite-5.2.7.tgz#e1b8a985eb54fcb9467d7f7f009d87485016df6e" + integrity sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA== + dependencies: + esbuild "^0.20.1" + postcss "^8.4.38" + rollup "^4.13.0" + optionalDependencies: + fsevents "~2.3.3" + +vue-demi@*: + version "0.14.7" + resolved "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.7.tgz#8317536b3ef74c5b09f268f7782e70194567d8f2" + integrity sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA== + +vue@^3.4.15: + version "3.4.21" + resolved "https://registry.npmmirror.com/vue/-/vue-3.4.21.tgz#69ec30e267d358ee3a0ce16612ba89e00aaeb731" + integrity sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA== + dependencies: + "@vue/compiler-dom" "3.4.21" + "@vue/compiler-sfc" "3.4.21" + "@vue/runtime-dom" "3.4.21" + "@vue/server-renderer" "3.4.21" + "@vue/shared" "3.4.21" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack-virtual-modules@^0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz#ac6fdb9c5adb8caecd82ec241c9631b7a3681b6f" + integrity sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg== diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/.eslintignore b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/.eslintignore new file mode 100644 index 00000000..234d3f73 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/.eslintignore @@ -0,0 +1 @@ +# * \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/.eslintrc.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/.eslintrc.js new file mode 100644 index 00000000..cc717dce --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/.eslintrc.js @@ -0,0 +1,31 @@ +module.exports = { + root: true, + + env: { + node: true, + }, + + extends: [ + "plugin:vue/vue3-essential", + "eslint:recommended", + "@vue/prettier", + ], + + parserOptions: { + parser: "@babel/eslint-parser", + }, + // "writable" 以允许重写变量,或 "readonly" 不允许重写变量 + globals: { + XE: "readonly", + VE_ENV: "readonly", + VE_API: "readonly", + }, + + rules: { + indent: [2, 4, { SwitchCase: 1 }], + "prettier/prettier": [2, { tabWidth: 4, endOfLine: "auto" }], + "no-console": "off", + "no-debugger": "off", + "vue/multi-word-component-names": 0, + }, +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/Dockerfile b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/Dockerfile new file mode 100755 index 00000000..ebbe90b6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/Dockerfile @@ -0,0 +1,11 @@ +FROM nginx:1.13.0-alpine +COPY dist /usr/share/nginx/html/ + +##将nginx配置模板复制过去到指定目录 +COPY default.template /etc/nginx/conf.d/ + +#将docker环境下的命令行路径切换到/etc/nginx/conf.d下执行 +WORKDIR /etc/nginx/conf.d +#添加环境变量的写入 + +ENTRYPOINT envsubst < default.template > default.conf && cat default.conf && nginx -g 'daemon off;' diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/LICENSE b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/LICENSE new file mode 100644 index 00000000..bef0995c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Asa + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/README.md b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/README.md new file mode 100644 index 00000000..057353a1 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/README.md @@ -0,0 +1,296 @@ + + +![logo](https://i.bmp.ovh/imgs/2021/08/f828888bb4064c64.png) + +# wu-smart-agent-network + +**[✈ 国内加速链接](https://gitee.com/asaasa/wu-smart-agent-network)** +**[✈ 效果预览](https://wu-smart-agent-network.vercel.app/)** +**[✈ 效果预览(备用地址)](http://asaasa.gitee.io/xujianhua)** +**走过路过的老铁,帮忙点个小 ⭐⭐⭐⭐⭐,🤝🤝🤝🤝🤝,🙏🙏🙏🙏🙏** + +## 项目简介 + +基于**vue3**和**element-plus**开发的企业后台管理模板. + +--- + +![登录页](https://i.bmp.ovh/imgs/2021/08/d9cc587a8b230dec.png) +![404](https://i.bmp.ovh/imgs/2021/08/c8d46b772369167d.png) +![用户管理](https://i.bmp.ovh/imgs/2021/08/6ea6b416eebca641.png) +![菜单管理](https://i.bmp.ovh/imgs/2021/08/682c150eef16bf17.png) +![角色管理](https://i.bmp.ovh/imgs/2021/08/7ff5cda434a2000b.png) +![iframe页面](https://i.bmp.ovh/imgs/2021/08/a101fec1b5769d7b.png) + +## 功能特性 + +项目使用了最新的**vue3 全家桶**+**element-plus**+**mockjs**+**axios**+**eChart5**.项目继成了**mockServe**,可脱离后端自主开发测试 +对**axios**深度封装,采用动态路由,路由配置更简单,**mockServe**独立开发测试时可在 nodework 直观查看接口数据 +基于 node 实现自动化开发 + +## 环境依赖 + +**node 14+**, **vueCli 4+** + +## 部署步骤 + +**npm i** +**npm run serve** +**yarn build / npm run build** +**yarn build --report** + + +## 目录结构描述 + +``` +│ .browserslistrc 浏览器兼容配置 +│ .eslintrc.js eslint配置文件 +│ .gitignore git配置文件 +│ babel.config.js babel配置文件 +│ jsconfig.json js配置文件 +│ LICENSE 开源认证 +│ package-lock.json +│ package.json +│ README.md 项目说明 +│ vue.config.js vue配置文件 +│ +├─.vscode vscode配置文件 +│ settings.json +│ +├─node_modules +├─public +│ favicon.ico +│ index.html +│ +└─src + │ App.vue + │ main.js + │ config.js + │ + ├─api api管理模块 + │ │ index.js api管理入口文件 + │ │ mock-server.js mock服务配置文件 + │ │ + │ └─modules api分模块管理 + │ system.js 模块api文件 + │ + ├─assets 静态文件 + │ logo.png + │ + ├─components 公共组件目录 + │ │ Common.vue + │ │ FunctionPage.vue + │ │ + │ ├─dashboard + │ │ LiveChart.vue + │ │ Shortcuts.vue + │ │ + │ └─layout + │ │ NavigateBar.vue + │ │ SideBar.vue + │ │ + │ └─components + │ Breadcrumb.vue + │ Hamburger.vue + │ Logo.vue + │ Personal.vue + │ SlideMenu.vue + │ + ├─directives 自定义指令目录 + │ │ index.js 自定义指令入口文件 + │ │ + │ └─modules 自定义指令模块目录 + │ permission.js + │ resize.js + │ + ├─plugins 插件目录 + │ axios-plus.js + │ element.js + │ mock.js + │ permission.js + │ + ├─router router目录 + │ globalRoutes.js + │ index.js + │ mainRoutes.js + │ + ├─store vuex目录 + │ │ getters.js + │ │ index.js + │ │ + │ └─modules vuex模块目录 + │ app.js + │ + ├─styles 样式目录 + │ common.scss + │ variables.scss.js + │ + ├─utils 公共方法 + │ index.js + │ validate.js + │ + └─views + │ 404.vue + │ AppMain.vue + │ Home.vue + │ IFrame.vue + │ Login.vue + │ + └─pages + │ common.js + │ + ├─leisure + │ Game.vue + │ + └─system + │ Menus.vue + │ Roles.vue + │ Users.vue + │ + └─components + MenuEdit.vue + RoleEdit.vue + UsersEdit.vue + UsersEditRoute.vue +``` + +## 使用文档 + +### 自定义指令 + +**v-permission="[array]"** +自定义权限指令,参数为一个数组,数组元素为按钮所对应的 key 值 + +```js +{{ buttons.add.name }} + +``` + +**v-resize="myChart"** +监听 echart 容器的自定义指令,参数为 echart 实例 + +```js +
    +``` + +### 动态路由 + +动态路由的配置可查看 [src\plugins\permission.js](src\plugins\permission.js) +主要原理就是根据后端接口返回的树形菜单数据,动态生成路由表并挂载.具体需求字段可在[src\plugins\permission.js](src\plugins\permission.js)中的**fnAddDynamicMenuRoutes**方法中进行配置修改 + +```js +let route = { + path: menuList[i].url.replace(/\//g, "-") + `-${menuList[i].id}`, + component: null, + name: menuList[i].url.replace(/\//g, "-") + `-${menuList[i].id}`, + // meta: { + // } +}; +// url以http[s]://开头, 通过iframe展示 +if (menuList[i].iframe == 1) { + route["path"] = `i-${menuList[i].id}`; + route["name"] = `i-${menuList[i].id}`; + route["props"] = { url: menuList[i].url }; + route["component"] = () => import("@/views/IFrame.vue"); +} else { + const l = "views/pages/" + menuList[i].url; + route["component"] = () => import("@/" + l + ".vue"); +} +routes.push(route); +``` + +根据需求可以添加更多路由配置或定制化字段,如路由别名等 + +### 接口配置 + +项目中对 axios 做了封装配置中添加**Global**字段用来控制是否显示全屏 load,默认为 true,如需修改添加 axios 配置可在[src\plugins\axios-plus.js](src\plugins\axios.js)中进行 + +#### 添加接口 + +本项目对 mock 做了深度集成,在使用其他项目时,mock 接口和项目接口往往都是分开维护很不方便.所以就放在了一起.只用在一处添加即可.接口目录为[src\api\modules](src\api\modules)**不要修改此目录名称**.在该目录下添加对应的接口文件. + +```js +module.exports = { + login: { + //接口名称 必须 + url: "/login", //接口地址 必须 + type: "post", //请求类型 必须 + mock: true, //mock细粒度控制开关,非必须,不填则为false + response: (opt) => { + //启用mock时的返回数据 opt为请求数据头 + const { + body: { userName, pwd }, + } = opt; + let data = { + code: "00", + message: "登录成功!", + token: new Date().getTime(), + uname: userName, + }; + if (userName == "Administrator") { + if (pwd != "123456") { + data = { + code: "01", + message: "密码错误", + }; + } + } + return data; + }, + }, +}; +``` + +必须使用**module.exports**导出 + +#### 接口的使用 + +项目中已将封装后 axios 实例挂载到自定义字段 window.VE_API 上.调用方式为: + +```js +VE_API [ fileName ][ portName ] (params,[config]) //有全局loading +VE_API [ fileName ][ portName ] (params,{Global:false}) //没有全局loading +``` + +### 菜单配置 + +项目中的菜单时根据后端返回的树形结构数据动态生成,具体可查看[src\components\layout\components\SlideMenu.vue](src\components\layout\components\SlideMenu.vue) + +## 声明 + +个人开发维护! 欢迎交流学习! + +设置阿里云镜像仓库 +```shell +npm config set registry http://registry.npm.taobao.org/ +``` + +### 打包 + +```shell +yarn run build +``` + +### 拷贝前端 +```shell +echo "开始拷贝前端UI" +rm -rf ../wu-smart-agent-network-heartbeat-server/src/resources/static +cp -r ../wu-smart-agent-network-ui/dist/* ../wu-smart-agent-network-heartbeat-server/src/main/resources/static/ + +``` + +docker login --username=1207537021@qq.com registry.cn-hangzhou.aliyuncs.com +```shell +docker build -t registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-ui:ui-master . +docker push registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-smart-agent-network-ui:ui-master + +``` diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/babel.config.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/babel.config.js new file mode 100644 index 00000000..4684ac3e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/babel.config.js @@ -0,0 +1,4 @@ +module.exports = { + presets: ["@vue/cli-plugin-babel/preset"], + plugins: ["@vue/babel-plugin-jsx"], +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/default.template b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/default.template new file mode 100644 index 00000000..5808d5ce --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/default.template @@ -0,0 +1,45 @@ +server { + listen 80; + server_name localhost; + + #charset koi8-r; + #access_log /var/log/nginx/log/host.access.log main; + + location / { + root /usr/share/nginx/html; + add_header version '${vue_http_response_version}'; + index index.html index.htm; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } + + # proxy the PHP scripts to Apache listening on 127.0.0.1:80 + # + #location ~ \.php$ { + # proxy_pass http://127.0.0.1; + #} + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # root html; + # fastcgi_pass 127.0.0.1:9000; + # fastcgi_index index.php; + # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + # include fastcgi_params; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} +} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/jsconfig.json b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/jsconfig.json new file mode 100644 index 00000000..460828e6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/jsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "baseUrl": "./", + "paths": { + "@/*": ["src/*"] + } + }, + "include": ["src/*"] +} diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/package-lock.json b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/package-lock.json new file mode 100644 index 00000000..94382316 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/package-lock.json @@ -0,0 +1,24510 @@ +{ + "name": "wu-smart-agent-network", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "wu-smart-agent-network", + "version": "0.1.0", + "dependencies": { + "@element-plus/icons-vue": "^2.1.0", + "@icon-park/vue-next": "^1.4.2", + "@vueuse/core": "^10.2.1", + "axios": "^1.4.0", + "clipboard": "^2.0.11", + "core-js": "^3.20.3", + "dayjs": "^1.11.9", + "echarts": "^5.4.3", + "element-plus": "^2.3.8", + "normalize.css": "^8.0.1", + "nprogress": "^0.2.0", + "qs": "^6.11.2", + "sortablejs": "^1.15.0", + "uuid": "^9.0.1", + "vue": "^3.3.4", + "vue-clipboard3": "^2.0.0", + "vue-router": "^4.2.4", + "vue3-json-viewer": "^2.2.2", + "vuex": "^4.1.0", + "xe-utils": "^3.5.11", + "zdog": "^1.1.3" + }, + "devDependencies": { + "@babel/eslint-parser": "^7.22.9", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/cli-plugin-babel": "^5.0.8", + "@vue/cli-plugin-eslint": "^5.0.8", + "@vue/cli-plugin-router": "^5.0.8", + "@vue/cli-plugin-vuex": "^5.0.8", + "@vue/cli-service": "^5.0.8", + "@vue/compiler-sfc": "^3.3.4", + "@vue/eslint-config-prettier": "^8.0.0", + "compression-webpack-plugin": "^10.0.0", + "eslint": "^8.46.0", + "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-vue": "^9.16.0", + "lint-staged": "^13.2.3", + "mockjs": "^1.1.0", + "prettier": "^3.0.0", + "sass": "^1.64.1", + "sass-loader": "^13.3.2", + "terser-webpack-plugin": "^5.3.9", + "vue-cli-plugin-axios": "^0.0.4", + "vue-cli-plugin-element-plus": "^0.0.13", + "webpack": "5.78.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@achrinza/node-ipc": { + "version": "9.2.8", + "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-9.2.8.tgz", + "integrity": "sha512-DSzEEkbMYbAUVlhy7fg+BzccoRuSQzqHbIPGxGv19OJ2WKwS3/9ChAnQcII4g+GujcHhyJ8BUuOVAx/S5uAfQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@node-ipc/js-queue": "2.0.3", + "event-pubsub": "4.3.0", + "js-message": "1.0.7" + }, + "engines": { + "node": "8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz", + "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.5", + "@babel/parser": "^7.23.5", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.5", + "@babel/types": "^7.23.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz", + "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", + "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.23.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.5.tgz", + "integrity": "sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz", + "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.5", + "@babel/types": "^7.23.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", + "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz", + "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.5.tgz", + "integrity": "sha512-6IsY8jOeWibsengGlWIezp7cuZEFzNlAghFpzh9wiZwhQ42/hRcPnY/QV9HJoKTlujupinSlnQPiEy/u2C1ZfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.23.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/plugin-syntax-decorators": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz", + "integrity": "sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz", + "integrity": "sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz", + "integrity": "sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz", + "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", + "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.4.tgz", + "integrity": "sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.5.tgz", + "integrity": "sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.4", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.5", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.3", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.23.4", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/runtime": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz", + "integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", + "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.5", + "@babel/types": "^7.23.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", + "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", + "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.2.tgz", + "integrity": "sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", + "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.4.2", + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", + "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==", + "license": "MIT" + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@icon-park/vue-next": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@icon-park/vue-next/-/vue-next-1.4.2.tgz", + "integrity": "sha512-+QklF255wkfBOabY+xw6FAI0Bwln/RhdwCunNy/9sKdKuChtaU67QZqU67KGAvZUTeeBgsL+yaHHxqfQeGZXEQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 8.0.0", + "npm": ">= 5.0.0" + }, + "peerDependencies": { + "vue": "3.x" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@node-ipc/js-queue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@node-ipc/js-queue/-/js-queue-2.0.3.tgz", + "integrity": "sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "easy-stack": "1.0.1" + }, + "engines": { + "node": ">=1.0.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@pkgr/utils/node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@pkgr/utils/node_modules/open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.24", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", + "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", + "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.44.8", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.8.tgz", + "integrity": "sha512-4K8GavROwhrYl2QXDXm0Rv9epkA8GBFu0EI+XrrnnuCl7u8CWBRusX7fXJfanhZTDWSAL24gDI/UqXyUM0Injw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.41", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", + "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.14.202", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/mime": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz", + "integrity": "sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.10.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz", + "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.10.tgz", + "integrity": "sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.9.10", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", + "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/send/node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", + "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.1.5.tgz", + "integrity": "sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.5.tgz", + "integrity": "sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "@vue/babel-helper-vue-transform-on": "^1.1.5", + "camelcase": "^6.3.0", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-plugin-jsx/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vue/babel-plugin-jsx/node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vue/babel-plugin-transform-vue-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz", + "integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-preset-app": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz", + "integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.16", + "@babel/helper-compilation-targets": "^7.12.16", + "@babel/helper-module-imports": "^7.12.13", + "@babel/plugin-proposal-class-properties": "^7.12.13", + "@babel/plugin-proposal-decorators": "^7.12.13", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.12.13", + "@babel/plugin-transform-runtime": "^7.12.15", + "@babel/preset-env": "^7.12.16", + "@babel/runtime": "^7.12.13", + "@vue/babel-plugin-jsx": "^1.0.3", + "@vue/babel-preset-jsx": "^1.1.2", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.8.3", + "core-js-compat": "^3.8.3", + "semver": "^7.3.4" + }, + "peerDependencies": { + "@babel/core": "*", + "core-js": "^3", + "vue": "^2 || ^3.2.13" + }, + "peerDependenciesMeta": { + "core-js": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vue/babel-preset-app/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/babel-preset-app/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/babel-preset-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz", + "integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "@vue/babel-sugar-composition-api-inject-h": "^1.4.0", + "@vue/babel-sugar-composition-api-render-instance": "^1.4.0", + "@vue/babel-sugar-functional-vue": "^1.4.0", + "@vue/babel-sugar-inject-h": "^1.4.0", + "@vue/babel-sugar-v-model": "^1.4.0", + "@vue/babel-sugar-v-on": "^1.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0", + "vue": "*" + }, + "peerDependenciesMeta": { + "vue": { + "optional": true + } + } + }, + "node_modules/@vue/babel-sugar-composition-api-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz", + "integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-composition-api-render-instance": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz", + "integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-functional-vue": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz", + "integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz", + "integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-model": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz", + "integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-on": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz", + "integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/cli-overlay": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz", + "integrity": "sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-babel": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz", + "integrity": "sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.16", + "@vue/babel-preset-app": "^5.0.8", + "@vue/cli-shared-utils": "^5.0.8", + "babel-loader": "^8.2.2", + "thread-loader": "^3.0.0", + "webpack": "^5.54.0" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-babel/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/thread-loader": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-3.0.4.tgz", + "integrity": "sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.1.0", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/@vue/cli-plugin-babel/node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@vue/cli-plugin-eslint": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz", + "integrity": "sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/cli-shared-utils": "^5.0.8", + "eslint-webpack-plugin": "^3.1.0", + "globby": "^11.0.2", + "webpack": "^5.54.0", + "yorkie": "^2.0.0" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0", + "eslint": ">=7.5.0" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/eslint-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/eslint-webpack-plugin/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@vue/cli-plugin-eslint/node_modules/webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/@vue/cli-plugin-router": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz", + "integrity": "sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/cli-shared-utils": "^5.0.8" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + } + }, + "node_modules/@vue/cli-plugin-vuex": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz", + "integrity": "sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + } + }, + "node_modules/@vue/cli-service": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-5.0.8.tgz", + "integrity": "sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.12.16", + "@soda/friendly-errors-webpack-plugin": "^1.8.0", + "@soda/get-current-script": "^1.0.2", + "@types/minimist": "^1.2.0", + "@vue/cli-overlay": "^5.0.8", + "@vue/cli-plugin-router": "^5.0.8", + "@vue/cli-plugin-vuex": "^5.0.8", + "@vue/cli-shared-utils": "^5.0.8", + "@vue/component-compiler-utils": "^3.3.0", + "@vue/vue-loader-v15": "npm:vue-loader@^15.9.7", + "@vue/web-component-wrapper": "^1.3.0", + "acorn": "^8.0.5", + "acorn-walk": "^8.0.2", + "address": "^1.1.2", + "autoprefixer": "^10.2.4", + "browserslist": "^4.16.3", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.10", + "clipboardy": "^2.3.0", + "cliui": "^7.0.4", + "copy-webpack-plugin": "^9.0.1", + "css-loader": "^6.5.0", + "css-minimizer-webpack-plugin": "^3.0.2", + "cssnano": "^5.0.0", + "debug": "^4.1.1", + "default-gateway": "^6.0.3", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "fs-extra": "^9.1.0", + "globby": "^11.0.2", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^5.1.0", + "is-file-esm": "^1.0.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "mini-css-extract-plugin": "^2.5.3", + "minimist": "^1.2.5", + "module-alias": "^2.2.2", + "portfinder": "^1.0.26", + "postcss": "^8.2.6", + "postcss-loader": "^6.1.1", + "progress-webpack-plugin": "^1.0.12", + "ssri": "^8.0.1", + "terser-webpack-plugin": "^5.1.1", + "thread-loader": "^3.0.0", + "vue-loader": "^17.0.0", + "vue-style-loader": "^4.1.3", + "webpack": "^5.54.0", + "webpack-bundle-analyzer": "^4.4.0", + "webpack-chain": "^6.5.1", + "webpack-dev-server": "^4.7.3", + "webpack-merge": "^5.7.3", + "webpack-virtual-modules": "^0.4.2", + "whatwg-fetch": "^3.6.2" + }, + "bin": { + "vue-cli-service": "bin/vue-cli-service.js" + }, + "engines": { + "node": "^12.0.0 || >= 14.0.0" + }, + "peerDependencies": { + "vue-template-compiler": "^2.0.0", + "webpack-sources": "*" + }, + "peerDependenciesMeta": { + "cache-loader": { + "optional": true + }, + "less-loader": { + "optional": true + }, + "pug-plain-loader": { + "optional": true + }, + "raw-loader": { + "optional": true + }, + "sass-loader": { + "optional": true + }, + "stylus-loader": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, + "node_modules/@vue/cli-service/node_modules/@soda/friendly-errors-webpack-plugin": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", + "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^3.0.0", + "error-stack-parser": "^2.0.6", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.0.0" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/@vue/cli-service/node_modules/@soda/friendly-errors-webpack-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@vue/cli-service/node_modules/@soda/friendly-errors-webpack-plugin/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@vue/cli-service/node_modules/@soda/friendly-errors-webpack-plugin/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@vue/cli-service/node_modules/@soda/friendly-errors-webpack-plugin/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-service/node_modules/@soda/friendly-errors-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@vue/cli-service/node_modules/@soda/friendly-errors-webpack-plugin/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15": { + "name": "vue-loader", + "version": "15.11.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.11.1.tgz", + "integrity": "sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "peerDependencies": { + "css-loader": "*", + "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "cache-loader": { + "optional": true + }, + "prettier": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@vue/cli-service/node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@vue/cli-service/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/cli-service/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/cli-service/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@vue/cli-service/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-service/node_modules/copy-webpack-plugin": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz", + "integrity": "sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^11.0.3", + "normalize-path": "^3.0.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/@vue/cli-service/node_modules/css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/@vue/cli-service/node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/@vue/cli-service/node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@vue/cli-service/node_modules/css-minimizer-webpack-plugin/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@vue/cli-service/node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/@vue/cli-service/node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@vue/cli-service/node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-service/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@vue/cli-service/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/cli-service/node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-service/node_modules/html-webpack-plugin": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.4.tgz", + "integrity": "sha512-3wNSaVVxdxcu0jd4FpQFoICdqgxs4zIQQvj+2yQKFfBOnLETQ6X5CDWdeasuGlSsooFlMkEioWDTqBv1wvw5Iw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/@vue/cli-service/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-service/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@vue/cli-service/node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/@vue/cli-service/node_modules/progress-webpack-plugin": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/progress-webpack-plugin/-/progress-webpack-plugin-1.0.16.tgz", + "integrity": "sha512-sdiHuuKOzELcBANHfrupYo+r99iPRyOnw15qX+rNlVUqXGfjXdH4IgxriKwG1kNJwVswKQHMdj1hYZMcb9jFaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^2.1.0", + "figures": "^2.0.0", + "log-update": "^2.3.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" + } + }, + "node_modules/@vue/cli-service/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@vue/cli-service/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/cli-service/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/cli-service/node_modules/thread-loader": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-3.0.4.tgz", + "integrity": "sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.1.0", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" + } + }, + "node_modules/@vue/cli-service/node_modules/thread-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/@vue/cli-service/node_modules/vue-loader": { + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-17.3.1.tgz", + "integrity": "sha512-nmVu7KU8geOyzsStyyaxID/uBGDMS8BkPXb6Lu2SNkMawriIbb+hYrNtgftHMKxOSkjjjTF5OSSwPo3KP59egg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "watchpack": "^2.4.0" + }, + "peerDependencies": { + "webpack": "^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "@vue/compiler-sfc": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vue/cli-service/node_modules/vue-loader/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@vue/cli-service/node_modules/vue-loader/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@vue/cli-service/node_modules/vue-loader/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@vue/cli-service/node_modules/vue-loader/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-service/node_modules/vue-loader/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@vue/cli-service/node_modules/vue-loader/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@vue/cli-service/node_modules/webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/@vue/cli-service/node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/@vue/cli-service/node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@vue/cli-service/node_modules/webpack-dev-middleware/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@vue/cli-service/node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/@vue/cli-service/node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@vue/cli-service/node_modules/webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/@vue/cli-service/node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@vue/cli-service/node_modules/webpack-dev-server/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@vue/cli-service/node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/@vue/cli-service/node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@vue/cli-service/node_modules/ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@vue/cli-shared-utils": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz", + "integrity": "sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@achrinza/node-ipc": "^9.2.5", + "chalk": "^4.1.2", + "execa": "^1.0.0", + "joi": "^17.4.0", + "launch-editor": "^2.2.1", + "lru-cache": "^6.0.0", + "node-fetch": "^2.6.7", + "open": "^8.0.2", + "ora": "^5.3.0", + "read-pkg": "^5.1.1", + "semver": "^7.3.4", + "strip-ansi": "^6.0.0" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.11.tgz", + "integrity": "sha512-h97/TGWBilnLuRaj58sxNrsUU66fwdRKLOLQ9N/5iNDfp+DZhYH9Obhe0bXxhedl8fjAgpRANpiZfbgWyruQ0w==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.23.5", + "@vue/shared": "3.3.11", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.11.tgz", + "integrity": "sha512-zoAiUIqSKqAJ81WhfPXYmFGwDRuO+loqLxvXmfUdR5fOitPoUiIeFI9cTTyv9MU5O1+ZZglJVTusWzy+wfk5hw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.3.11", + "@vue/shared": "3.3.11" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.11.tgz", + "integrity": "sha512-U4iqPlHO0KQeK1mrsxCN0vZzw43/lL8POxgpzcJweopmqtoYy9nljJzWDIQS3EfjiYhfdtdk9Gtgz7MRXnz3GA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.23.5", + "@vue/compiler-core": "3.3.11", + "@vue/compiler-dom": "3.3.11", + "@vue/compiler-ssr": "3.3.11", + "@vue/reactivity-transform": "3.3.11", + "@vue/shared": "3.3.11", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.32", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.11.tgz", + "integrity": "sha512-Zd66ZwMvndxRTgVPdo+muV4Rv9n9DwQ4SSgWWKWkPFebHQfVYRrVjeygmmDmPewsHyznCNvJ2P2d6iOOhdv8Qg==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.3.11", + "@vue/shared": "3.3.11" + } + }, + "node_modules/@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "optionalDependencies": { + "prettier": "^1.18.2 || ^2.0.0" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/@vue/component-compiler-utils/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==", + "license": "MIT" + }, + "node_modules/@vue/eslint-config-prettier": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-8.0.0.tgz", + "integrity": "sha512-55dPqtC4PM/yBjhAr+yEw6+7KzzdkBuLmnhBrDfp4I48+wy+Giqqj9yUr5T2uD/BkBROjjmqnLZmXRdOx/VtQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^5.0.0" + }, + "peerDependencies": { + "eslint": ">= 8.0.0", + "prettier": ">= 3.0.0" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.11.tgz", + "integrity": "sha512-D5tcw091f0nuu+hXq5XANofD0OXnBmaRqMYl5B3fCR+mX+cXJIGNw/VNawBqkjLNWETrFW0i+xH9NvDbTPVh7g==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.3.11" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.11.tgz", + "integrity": "sha512-fPGjH0wqJo68A0wQ1k158utDq/cRyZNlFoxGwNScE28aUFOKFEnCBsvyD8jHn+0kd0UKVpuGuaZEQ6r9FJRqCg==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.23.5", + "@vue/compiler-core": "3.3.11", + "@vue/shared": "3.3.11", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.11.tgz", + "integrity": "sha512-g9ztHGwEbS5RyWaOpXuyIVFTschclnwhqEbdy5AwGhYOgc7m/q3NFwr50MirZwTTzX55JY8pSkeib9BX04NIpw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.3.11", + "@vue/shared": "3.3.11" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.11.tgz", + "integrity": "sha512-OlhtV1PVpbgk+I2zl+Y5rQtDNcCDs12rsRg71XwaA2/Rbllw6mBLMi57VOn8G0AjOJ4Mdb4k56V37+g8ukShpQ==", + "license": "MIT", + "dependencies": { + "@vue/runtime-core": "3.3.11", + "@vue/shared": "3.3.11", + "csstype": "^3.1.2" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.11.tgz", + "integrity": "sha512-AIWk0VwwxCAm4wqtJyxBylRTXSy1wCLOKbWxHaHiu14wjsNYtiRCSgVuqEPVuDpErOlRdNnuRgipQfXRLjLN5A==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.3.11", + "@vue/shared": "3.3.11" + }, + "peerDependencies": { + "vue": "3.3.11" + } + }, + "node_modules/@vue/shared": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.11.tgz", + "integrity": "sha512-u2G8ZQ9IhMWTMXaWqZycnK4UthG1fA238CD+DP4Dm4WJi5hdUKKLg0RMRaRpDPNMdkTwIDkp7WtD0Rd9BH9fLw==", + "license": "MIT" + }, + "node_modules/@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", + "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vueuse/core": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.7.0.tgz", + "integrity": "sha512-4EUDESCHtwu44ZWK3Gc/hZUVhVo/ysvdtwocB5vcauSV4B7NiGY5972WnsojB3vRNdxvAt7kzJWE2h9h7C9d5w==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.7.0", + "@vueuse/shared": "10.7.0", + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/metadata": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.7.0.tgz", + "integrity": "sha512-GlaH7tKP2iBCZ3bHNZ6b0cl9g0CJK8lttkBNUX156gWvNYhTKEtbweWLm9rxCPIiwzYcr/5xML6T8ZUEt+DkvA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.7.0.tgz", + "integrity": "sha512-kc00uV6CiaTdc3i1CDC4a3lBxzaBE9AgYNtFN87B5OOscqeWElj/uza8qVDmk7/U8JbqoONLbtqiLJ5LGRuqlw==", + "license": "MIT", + "dependencies": { + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz", + "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axios": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", + "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.33.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/bonjour-service/node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "big-integer": "^1.6.44" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001566", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz", + "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "dev": true, + "license": "ISC", + "dependencies": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "bin": { + "highlight": "bin/highlight" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/clipboard": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", + "license": "MIT", + "dependencies": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "node_modules/clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true, + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression-webpack-plugin": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-10.0.0.tgz", + "integrity": "sha512-wLXLIBwpul/ALcm7Aj+69X0pYT3BYt6DdPn3qrgBIh9YejV9Bju9ShhlAsjujLyWMo6SAweFIWaUoFmXZNuNrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bluebird": "^3.1.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/core-js": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.34.0.tgz", + "integrity": "sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.34.0.tgz", + "integrity": "sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.22.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", + "license": "MIT" + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/default-browser/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/default-gateway/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/default-gateway/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/default-gateway/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true, + "license": "MIT" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", + "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/echarts": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.3.tgz", + "integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.4.4" + } + }, + "node_modules/echarts/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.608", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.608.tgz", + "integrity": "sha512-J2f/3iIIm3Mo0npneITZ2UPe4B1bg8fTNrFjD8715F/k1BvbviRuqYGkET1PgprrczXYTHFvotbBOmUp6KE0uA==", + "dev": true, + "license": "ISC" + }, + "node_modules/element-plus": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.4.3.tgz", + "integrity": "sha512-b3q26j+lM4SBqiyzw8HybybGnP2pk4MWgrnzzzYW5qKQUgV6EG1Zg7nMCfgCVccI8tNvZoTiUHb2mFaiB9qT8w==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/element-plus/node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", + "license": "MIT" + }, + "node_modules/element-plus/node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/element-plus/node_modules/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/element-plus/node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "license": "MIT", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", + "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.55.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz", + "integrity": "sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.5" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.19.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.19.2.tgz", + "integrity": "sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.13", + "semver": "^7.5.4", + "vue-eslint-parser": "^9.3.1", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-vue/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-vue/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/execa/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", + "dev": true, + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", + "license": "MIT", + "dependencies": { + "delegate": "^3.1.2" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-file-esm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-file-esm/-/is-file-esm-1.0.0.tgz", + "integrity": "sha512-rZlaNKb4Mr8WlRu2A9XdeoKgnO5aA53XdPHgCKVyCrQ/rWi89RET1+bq37Ru46obaQXeiX4vmFIm1vks41hoSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "read-pkg-up": "^7.0.1" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container/node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/joi": { + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/launch-editor-middleware": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.6.1.tgz", + "integrity": "sha512-Fg/xYhf7ARmRp40n18wIfJyuAMEjXo67Yull7uF7d0OJ3qA4EYJISt1XfPPn69IIJ5jKgQwzcg6DqHYo95LL/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "launch-editor": "^2.6.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lint-staged": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.3.0.tgz", + "integrity": "sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "5.3.0", + "commander": "11.0.0", + "debug": "4.3.4", + "execa": "7.2.0", + "lilconfig": "2.1.0", + "listr2": "6.6.1", + "micromatch": "4.0.5", + "pidtree": "0.6.0", + "string-argv": "0.3.2", + "yaml": "2.3.1" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/yaml": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 14" + } + }, + "node_modules/listr2": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-6.6.1.tgz", + "integrity": "sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^3.1.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^5.0.1", + "rfdc": "^1.3.0", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/listr2/node_modules/ansi-escapes": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", + "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^1.0.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/listr2/node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/log-update": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-5.0.1.tgz", + "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^5.0.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^5.0.0", + "strip-ansi": "^7.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/listr2/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/lru-cache/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true, + "license": "ISC" + }, + "node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz", + "integrity": "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==", + "dev": true, + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mockjs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mockjs/-/mockjs-1.1.0.tgz", + "integrity": "sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==", + "dev": true, + "dependencies": { + "commander": "*" + }, + "bin": { + "random": "bin/random" + } + }, + "node_modules/mockjs/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/module-alias": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/module-alias/-/module-alias-2.2.3.tgz", + "integrity": "sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/normalize.css": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", + "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==", + "license": "MIT" + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", + "license": "MIT" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true, + "license": "MIT" + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "license": "MIT", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", + "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/run-applescript/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/run-applescript/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/run-applescript/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/run-applescript/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.69.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", + "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-loader": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz", + "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==", + "license": "MIT" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true, + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/sirv": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", + "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/sortablejs": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.1.tgz", + "integrity": "sha512-P5Cjvb0UG1ZVNiDPj/n4V+DinttXG6K8n7vM/HQf0C25K3YKQTQY6fsr/sEGsJGpQ9exmPxluHxKBc0mLKU1lQ==", + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true, + "license": "MIT" + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/synckit": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.6.tgz", + "integrity": "sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/utils": "^2.4.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "license": "MIT" + }, + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vue": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.11.tgz", + "integrity": "sha512-d4oBctG92CRO1cQfVBZp6WJAs0n8AK4Xf5fNjQCBeKCvMI1efGQ5E3Alt1slFJS9fZuPcFoiAiqFvQlv1X7t/w==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.3.11", + "@vue/compiler-sfc": "3.3.11", + "@vue/runtime-dom": "3.3.11", + "@vue/server-renderer": "3.3.11", + "@vue/shared": "3.3.11" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-cli-plugin-axios": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vue-cli-plugin-axios/-/vue-cli-plugin-axios-0.0.4.tgz", + "integrity": "sha512-p2b/fvPJuPBnvU8027PAAuU5DiOzUn2lku8XLG/f6c8FU0N+/MXWZAlOuHhqd9e7+KIZitwe/c8qlmv7TglbTg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-cli-plugin-element-plus": { + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/vue-cli-plugin-element-plus/-/vue-cli-plugin-element-plus-0.0.13.tgz", + "integrity": "sha512-ctG5mynJIyGLFBhS2JpzXmBWT3JRXwzMm5AoANUmBlbZHTruct1xQF2OKM/mfJv6tSfqCcEfgH8rGCAY5ca83Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-clipboard3": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vue-clipboard3/-/vue-clipboard3-2.0.0.tgz", + "integrity": "sha512-Q9S7dzWGax7LN5iiSPcu/K1GGm2gcBBlYwmMsUc5/16N6w90cbKow3FnPmPs95sungns4yvd9/+JhbAznECS2A==", + "dependencies": { + "clipboard": "^2.0.6" + } + }, + "node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vue-eslint-parser": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", + "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-eslint-parser/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-router": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "node_modules/vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue3-json-viewer": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/vue3-json-viewer/-/vue3-json-viewer-2.2.2.tgz", + "integrity": "sha512-56l3XDGggnpwEqZieXsSMhNT4NhtO6d7zuSAxHo4i0UVxymyY2jRb7UMQOU1ztChKALZCAzX7DlgrsnEhxu77A==", + "license": "ISC", + "dependencies": { + "clipboard": "^2.0.10" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vuex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz", + "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.0.0-beta.11" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/webpack": { + "version": "5.78.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.78.0.tgz", + "integrity": "sha512-gT5DP72KInmE/3azEaQrISjTvLYlSM0j1Ezhht/KLVkrqtv10JoP/RXhwmX/frrutOPuSq3o5Vq0ehR/4Vmd1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", + "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "is-plain-object": "^5.0.0", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz", + "integrity": "sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack/node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.19", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", + "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xe-utils": { + "version": "3.5.14", + "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-3.5.14.tgz", + "integrity": "sha512-Xq6mS8dWwHBQsQUEBXcZYSaBV0KnNLoVWd0vRRDI3nKpbNxfs/LSCK0W21g1edLFnXYfKqg7hh5dakr3RtYY0A==", + "license": "MIT" + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/yorkie/node_modules/execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/zdog": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/zdog/-/zdog-1.1.3.tgz", + "integrity": "sha512-raRj6r0gPzopFm5XWBJZr/NuV4EEnT4iE+U3dp5FV5pCb588Gmm3zLIp/j9yqqcMiHH8VNQlerLTgOqL7krh6w==", + "license": "MIT" + }, + "node_modules/zrender": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.4.tgz", + "integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==", + "license": "BSD-3-Clause", + "dependencies": { + "tslib": "2.3.0" + } + }, + "node_modules/zrender/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@achrinza/node-ipc": { + "version": "9.2.8", + "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-9.2.8.tgz", + "integrity": "sha512-DSzEEkbMYbAUVlhy7fg+BzccoRuSQzqHbIPGxGv19OJ2WKwS3/9ChAnQcII4g+GujcHhyJ8BUuOVAx/S5uAfQg==", + "dev": true, + "requires": { + "@node-ipc/js-queue": "2.0.3", + "event-pubsub": "4.3.0", + "js-message": "1.0.7" + } + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "dev": true + }, + "@babel/core": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz", + "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.5", + "@babel/parser": "^7.23.5", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.5", + "@babel/types": "^7.23.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + } + }, + "@babel/eslint-parser": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz", + "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==", + "dev": true, + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", + "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", + "dev": true, + "requires": { + "@babel/types": "^7.23.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.5.tgz", + "integrity": "sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "requires": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "requires": { + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + } + }, + "@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + } + }, + "@babel/helpers": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz", + "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==", + "dev": true, + "requires": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.5", + "@babel/types": "^7.23.5" + } + }, + "@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", + "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + } + }, + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz", + "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.5.tgz", + "integrity": "sha512-6IsY8jOeWibsengGlWIezp7cuZEFzNlAghFpzh9wiZwhQ42/hRcPnY/QV9HJoKTlujupinSlnQPiEy/u2C1ZfQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.23.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/plugin-syntax-decorators": "^7.23.3" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "requires": {} + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz", + "integrity": "sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz", + "integrity": "sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz", + "integrity": "sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz", + "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", + "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.4.tgz", + "integrity": "sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "semver": "^6.3.1" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.5.tgz", + "integrity": "sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.4", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.5", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.3", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.23.4", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "@babel/runtime": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz", + "integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + } + }, + "@babel/traverse": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", + "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.5", + "@babel/types": "^7.23.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", + "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } + }, + "@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==" + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "requires": {} + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + } + } + }, + "@eslint/js": { + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", + "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "dev": true + }, + "@floating-ui/core": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.2.tgz", + "integrity": "sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==", + "requires": { + "@floating-ui/utils": "^0.1.3" + } + }, + "@floating-ui/dom": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", + "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "requires": { + "@floating-ui/core": "^1.4.2", + "@floating-ui/utils": "^0.1.3" + } + }, + "@floating-ui/utils": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", + "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==" + }, + "@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true + }, + "@icon-park/vue-next": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@icon-park/vue-next/-/vue-next-1.4.2.tgz", + "integrity": "sha512-+QklF255wkfBOabY+xw6FAI0Bwln/RhdwCunNy/9sKdKuChtaU67QZqU67KGAvZUTeeBgsL+yaHHxqfQeGZXEQ==", + "requires": {} + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "requires": { + "eslint-scope": "5.1.1" + } + }, + "@node-ipc/js-queue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@node-ipc/js-queue/-/js-queue-2.0.3.tgz", + "integrity": "sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==", + "dev": true, + "requires": { + "easy-stack": "1.0.1" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" + }, + "dependencies": { + "define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true + }, + "open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dev": true, + "requires": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + } + } + } + }, + "@polka/url": { + "version": "1.0.0-next.24", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", + "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", + "dev": true + }, + "@popperjs/core": { + "version": "npm:@sxzz/popperjs-es@2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" + }, + "@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", + "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", + "dev": true + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, + "@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.44.8", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.8.tgz", + "integrity": "sha512-4K8GavROwhrYl2QXDXm0Rv9epkA8GBFu0EI+XrrnnuCl7u8CWBRusX7fXJfanhZTDWSAL24gDI/UqXyUM0Injw==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.41", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", + "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true + }, + "@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, + "@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "@types/lodash": { + "version": "4.14.202", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" + }, + "@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/mime": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz", + "integrity": "sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==", + "dev": true + }, + "@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true + }, + "@types/node": { + "version": "20.10.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz", + "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/node-forge": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.10.tgz", + "integrity": "sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "dev": true + }, + "@types/qs": { + "version": "6.9.10", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", + "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + }, + "dependencies": { + "@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + } + } + }, + "@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dev": true, + "requires": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==" + }, + "@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", + "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==", + "dev": true + }, + "@vue/babel-helper-vue-transform-on": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.1.5.tgz", + "integrity": "sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.5.tgz", + "integrity": "sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "@vue/babel-helper-vue-transform-on": "^1.1.5", + "camelcase": "^6.3.0", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true + } + } + }, + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz", + "integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-preset-app": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz", + "integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==", + "dev": true, + "requires": { + "@babel/core": "^7.12.16", + "@babel/helper-compilation-targets": "^7.12.16", + "@babel/helper-module-imports": "^7.12.13", + "@babel/plugin-proposal-class-properties": "^7.12.13", + "@babel/plugin-proposal-decorators": "^7.12.13", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.12.13", + "@babel/plugin-transform-runtime": "^7.12.15", + "@babel/preset-env": "^7.12.16", + "@babel/runtime": "^7.12.13", + "@vue/babel-plugin-jsx": "^1.0.3", + "@vue/babel-preset-jsx": "^1.1.2", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.8.3", + "core-js-compat": "^3.8.3", + "semver": "^7.3.4" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@vue/babel-preset-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz", + "integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==", + "dev": true, + "requires": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "@vue/babel-sugar-composition-api-inject-h": "^1.4.0", + "@vue/babel-sugar-composition-api-render-instance": "^1.4.0", + "@vue/babel-sugar-functional-vue": "^1.4.0", + "@vue/babel-sugar-inject-h": "^1.4.0", + "@vue/babel-sugar-v-model": "^1.4.0", + "@vue/babel-sugar-v-on": "^1.4.0" + } + }, + "@vue/babel-sugar-composition-api-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz", + "integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-composition-api-render-instance": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz", + "integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-functional-vue": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz", + "integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz", + "integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-v-model": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz", + "integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-sugar-v-on": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz", + "integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0" + } + }, + "@vue/cli-overlay": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz", + "integrity": "sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ==", + "dev": true + }, + "@vue/cli-plugin-babel": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz", + "integrity": "sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ==", + "dev": true, + "requires": { + "@babel/core": "^7.12.16", + "@vue/babel-preset-app": "^5.0.8", + "@vue/cli-shared-utils": "^5.0.8", + "babel-loader": "^8.2.2", + "thread-loader": "^3.0.0", + "webpack": "^5.54.0" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } + }, + "es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "thread-loader": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-3.0.4.tgz", + "integrity": "sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==", + "dev": true, + "requires": { + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.1.0", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + } + } + }, + "@vue/cli-plugin-eslint": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz", + "integrity": "sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^5.0.8", + "eslint-webpack-plugin": "^3.1.0", + "globby": "^11.0.2", + "webpack": "^5.54.0", + "yorkie": "^2.0.0" + }, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true + }, + "eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dev": true, + "requires": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + } + } + }, + "@vue/cli-plugin-router": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz", + "integrity": "sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^5.0.8" + } + }, + "@vue/cli-plugin-vuex": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz", + "integrity": "sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA==", + "dev": true, + "requires": {} + }, + "@vue/cli-service": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-5.0.8.tgz", + "integrity": "sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.12.16", + "@soda/friendly-errors-webpack-plugin": "^1.8.0", + "@soda/get-current-script": "^1.0.2", + "@types/minimist": "^1.2.0", + "@vue/cli-overlay": "^5.0.8", + "@vue/cli-plugin-router": "^5.0.8", + "@vue/cli-plugin-vuex": "^5.0.8", + "@vue/cli-shared-utils": "^5.0.8", + "@vue/component-compiler-utils": "^3.3.0", + "@vue/vue-loader-v15": "npm:vue-loader@^15.9.7", + "@vue/web-component-wrapper": "^1.3.0", + "acorn": "^8.0.5", + "acorn-walk": "^8.0.2", + "address": "^1.1.2", + "autoprefixer": "^10.2.4", + "browserslist": "^4.16.3", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.10", + "clipboardy": "^2.3.0", + "cliui": "^7.0.4", + "copy-webpack-plugin": "^9.0.1", + "css-loader": "^6.5.0", + "css-minimizer-webpack-plugin": "^3.0.2", + "cssnano": "^5.0.0", + "debug": "^4.1.1", + "default-gateway": "^6.0.3", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "fs-extra": "^9.1.0", + "globby": "^11.0.2", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^5.1.0", + "is-file-esm": "^1.0.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "mini-css-extract-plugin": "^2.5.3", + "minimist": "^1.2.5", + "module-alias": "^2.2.2", + "portfinder": "^1.0.26", + "postcss": "^8.2.6", + "postcss-loader": "^6.1.1", + "progress-webpack-plugin": "^1.0.12", + "ssri": "^8.0.1", + "terser-webpack-plugin": "^5.1.1", + "thread-loader": "^3.0.0", + "vue-loader": "^17.0.0", + "vue-style-loader": "^4.1.3", + "webpack": "^5.54.0", + "webpack-bundle-analyzer": "^4.4.0", + "webpack-chain": "^6.5.1", + "webpack-dev-server": "^4.7.3", + "webpack-merge": "^5.7.3", + "webpack-virtual-modules": "^0.4.2", + "whatwg-fetch": "^3.6.2" + }, + "dependencies": { + "@soda/friendly-errors-webpack-plugin": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", + "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "error-stack-parser": "^2.0.6", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@vue/vue-loader-v15": { + "version": "npm:vue-loader@15.11.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.11.1.tgz", + "integrity": "sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + } + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "copy-webpack-plugin": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz", + "integrity": "sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==", + "dev": true, + "requires": { + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^11.0.3", + "normalize-path": "^3.0.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0" + } + }, + "css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + } + }, + "css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dev": true, + "requires": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "html-webpack-plugin": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.4.tgz", + "integrity": "sha512-3wNSaVVxdxcu0jd4FpQFoICdqgxs4zIQQvj+2yQKFfBOnLETQ6X5CDWdeasuGlSsooFlMkEioWDTqBv1wvw5Iw==", + "dev": true, + "requires": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "dev": true, + "requires": { + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + } + }, + "progress-webpack-plugin": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/progress-webpack-plugin/-/progress-webpack-plugin-1.0.16.tgz", + "integrity": "sha512-sdiHuuKOzELcBANHfrupYo+r99iPRyOnw15qX+rNlVUqXGfjXdH4IgxriKwG1kNJwVswKQHMdj1hYZMcb9jFaA==", + "dev": true, + "requires": { + "chalk": "^2.1.0", + "figures": "^2.0.0", + "log-update": "^2.3.0" + } + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "thread-loader": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-3.0.4.tgz", + "integrity": "sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==", + "dev": true, + "requires": { + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.1.0", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } + } + }, + "vue-loader": { + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-17.3.1.tgz", + "integrity": "sha512-nmVu7KU8geOyzsStyyaxID/uBGDMS8BkPXb6Lu2SNkMawriIbb+hYrNtgftHMKxOSkjjjTF5OSSwPo3KP59egg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "watchpack": "^2.4.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dev": true, + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "dev": true, + "requires": {} + } + } + }, + "@vue/cli-shared-utils": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz", + "integrity": "sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==", + "dev": true, + "requires": { + "@achrinza/node-ipc": "^9.2.5", + "chalk": "^4.1.2", + "execa": "^1.0.0", + "joi": "^17.4.0", + "launch-editor": "^2.2.1", + "lru-cache": "^6.0.0", + "node-fetch": "^2.6.7", + "open": "^8.0.2", + "ora": "^5.3.0", + "read-pkg": "^5.1.1", + "semver": "^7.3.4", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@vue/compiler-core": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.11.tgz", + "integrity": "sha512-h97/TGWBilnLuRaj58sxNrsUU66fwdRKLOLQ9N/5iNDfp+DZhYH9Obhe0bXxhedl8fjAgpRANpiZfbgWyruQ0w==", + "requires": { + "@babel/parser": "^7.23.5", + "@vue/shared": "3.3.11", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-dom": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.11.tgz", + "integrity": "sha512-zoAiUIqSKqAJ81WhfPXYmFGwDRuO+loqLxvXmfUdR5fOitPoUiIeFI9cTTyv9MU5O1+ZZglJVTusWzy+wfk5hw==", + "requires": { + "@vue/compiler-core": "3.3.11", + "@vue/shared": "3.3.11" + } + }, + "@vue/compiler-sfc": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.11.tgz", + "integrity": "sha512-U4iqPlHO0KQeK1mrsxCN0vZzw43/lL8POxgpzcJweopmqtoYy9nljJzWDIQS3EfjiYhfdtdk9Gtgz7MRXnz3GA==", + "requires": { + "@babel/parser": "^7.23.5", + "@vue/compiler-core": "3.3.11", + "@vue/compiler-dom": "3.3.11", + "@vue/compiler-ssr": "3.3.11", + "@vue/reactivity-transform": "3.3.11", + "@vue/shared": "3.3.11", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.32", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-ssr": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.11.tgz", + "integrity": "sha512-Zd66ZwMvndxRTgVPdo+muV4Rv9n9DwQ4SSgWWKWkPFebHQfVYRrVjeygmmDmPewsHyznCNvJ2P2d6iOOhdv8Qg==", + "requires": { + "@vue/compiler-dom": "3.3.11", + "@vue/shared": "3.3.11" + } + }, + "@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2 || ^2.0.0", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "optional": true + } + } + }, + "@vue/devtools-api": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" + }, + "@vue/eslint-config-prettier": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-8.0.0.tgz", + "integrity": "sha512-55dPqtC4PM/yBjhAr+yEw6+7KzzdkBuLmnhBrDfp4I48+wy+Giqqj9yUr5T2uD/BkBROjjmqnLZmXRdOx/VtQg==", + "dev": true, + "requires": { + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^5.0.0" + } + }, + "@vue/reactivity": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.11.tgz", + "integrity": "sha512-D5tcw091f0nuu+hXq5XANofD0OXnBmaRqMYl5B3fCR+mX+cXJIGNw/VNawBqkjLNWETrFW0i+xH9NvDbTPVh7g==", + "requires": { + "@vue/shared": "3.3.11" + } + }, + "@vue/reactivity-transform": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.11.tgz", + "integrity": "sha512-fPGjH0wqJo68A0wQ1k158utDq/cRyZNlFoxGwNScE28aUFOKFEnCBsvyD8jHn+0kd0UKVpuGuaZEQ6r9FJRqCg==", + "requires": { + "@babel/parser": "^7.23.5", + "@vue/compiler-core": "3.3.11", + "@vue/shared": "3.3.11", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5" + } + }, + "@vue/runtime-core": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.11.tgz", + "integrity": "sha512-g9ztHGwEbS5RyWaOpXuyIVFTschclnwhqEbdy5AwGhYOgc7m/q3NFwr50MirZwTTzX55JY8pSkeib9BX04NIpw==", + "requires": { + "@vue/reactivity": "3.3.11", + "@vue/shared": "3.3.11" + } + }, + "@vue/runtime-dom": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.11.tgz", + "integrity": "sha512-OlhtV1PVpbgk+I2zl+Y5rQtDNcCDs12rsRg71XwaA2/Rbllw6mBLMi57VOn8G0AjOJ4Mdb4k56V37+g8ukShpQ==", + "requires": { + "@vue/runtime-core": "3.3.11", + "@vue/shared": "3.3.11", + "csstype": "^3.1.2" + } + }, + "@vue/server-renderer": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.11.tgz", + "integrity": "sha512-AIWk0VwwxCAm4wqtJyxBylRTXSy1wCLOKbWxHaHiu14wjsNYtiRCSgVuqEPVuDpErOlRdNnuRgipQfXRLjLN5A==", + "requires": { + "@vue/compiler-ssr": "3.3.11", + "@vue/shared": "3.3.11" + } + }, + "@vue/shared": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.11.tgz", + "integrity": "sha512-u2G8ZQ9IhMWTMXaWqZycnK4UthG1fA238CD+DP4Dm4WJi5hdUKKLg0RMRaRpDPNMdkTwIDkp7WtD0Rd9BH9fLw==" + }, + "@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", + "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "dev": true + }, + "@vueuse/core": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.7.0.tgz", + "integrity": "sha512-4EUDESCHtwu44ZWK3Gc/hZUVhVo/ysvdtwocB5vcauSV4B7NiGY5972WnsojB3vRNdxvAt7kzJWE2h9h7C9d5w==", + "requires": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.7.0", + "@vueuse/shared": "10.7.0", + "vue-demi": ">=0.14.6" + } + }, + "@vueuse/metadata": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.7.0.tgz", + "integrity": "sha512-GlaH7tKP2iBCZ3bHNZ6b0cl9g0CJK8lttkBNUX156gWvNYhTKEtbweWLm9rxCPIiwzYcr/5xML6T8ZUEt+DkvA==" + }, + "@vueuse/shared": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.7.0.tgz", + "integrity": "sha512-kc00uV6CiaTdc3i1CDC4a3lBxzaBE9AgYNtFN87B5OOscqeWElj/uza8qVDmk7/U8JbqoONLbtqiLJ5LGRuqlw==", + "requires": { + "vue-demi": ">=0.14.6" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz", + "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==", + "dev": true + }, + "address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "dev": true, + "requires": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "axios": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", + "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.33.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.3" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "dev": true, + "requires": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "requires": { + "big-integer": "^1.6.44" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, + "requires": { + "run-applescript": "^5.0.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "requires": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001566", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz", + "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==", + "dev": true + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + } + }, + "cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true + }, + "cli-truncate": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "dev": true, + "requires": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "clipboard": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "compression-webpack-plugin": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-10.0.0.tgz", + "integrity": "sha512-wLXLIBwpul/ALcm7Aj+69X0pYT3BYt6DdPn3qrgBIh9YejV9Bju9ShhlAsjujLyWMo6SAweFIWaUoFmXZNuNrg==", + "dev": true, + "requires": { + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "core-js": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.34.0.tgz", + "integrity": "sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==" + }, + "core-js-compat": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.34.0.tgz", + "integrity": "sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==", + "dev": true, + "requires": { + "browserslist": "^4.22.2" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "dev": true, + "requires": {} + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "dev": true, + "requires": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, + "csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true + }, + "default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dev": true, + "requires": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, + "dependencies": { + "execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + } + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "requires": { + "path-key": "^4.0.0" + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + } + } + }, + "default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, + "requires": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + } + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + } + } + }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", + "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", + "dev": true + }, + "echarts": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.3.tgz", + "integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==", + "requires": { + "tslib": "2.3.0", + "zrender": "5.4.4" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.608", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.608.tgz", + "integrity": "sha512-J2f/3iIIm3Mo0npneITZ2UPe4B1bg8fTNrFjD8715F/k1BvbviRuqYGkET1PgprrczXYTHFvotbBOmUp6KE0uA==", + "dev": true + }, + "element-plus": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.4.3.tgz", + "integrity": "sha512-b3q26j+lM4SBqiyzw8HybybGnP2pk4MWgrnzzzYW5qKQUgV6EG1Zg7nMCfgCVccI8tNvZoTiUHb2mFaiB9qT8w==", + "requires": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "dependencies": { + "@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + }, + "@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "requires": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + } + }, + "@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==" + }, + "@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "requires": { + "vue-demi": "*" + } + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, + "requires": { + "stackframe": "^1.3.4" + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eslint": { + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", + "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.55.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + } + } + }, + "eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz", + "integrity": "sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.5" + } + }, + "eslint-plugin-vue": { + "version": "9.19.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.19.2.tgz", + "integrity": "sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.13", + "semver": "^7.5.4", + "vue-eslint-parser": "^9.3.1", + "xml-name-validator": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true + }, + "eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true + }, + "flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "requires": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", + "requires": { + "delegate": "^3.1.2" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "requires": { + "duplexer": "^0.1.2" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "requires": { + "get-intrinsic": "^1.2.2" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "requires": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true + } + } + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "dev": true + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + } + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "requires": {} + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "dev": true + }, + "immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-file-esm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-file-esm/-/is-file-esm-1.0.0.tgz", + "integrity": "sha512-rZlaNKb4Mr8WlRu2A9XdeoKgnO5aA53XdPHgCKVyCrQ/rWi89RET1+bq37Ru46obaQXeiX4vmFIm1vks41hoSA==", + "dev": true, + "requires": { + "read-pkg-up": "^7.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "requires": { + "is-docker": "^3.0.0" + }, + "dependencies": { + "is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true + } + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "joi": { + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true + }, + "launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dev": true, + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "launch-editor-middleware": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.6.1.tgz", + "integrity": "sha512-Fg/xYhf7ARmRp40n18wIfJyuAMEjXo67Yull7uF7d0OJ3qA4EYJISt1XfPPn69IIJ5jKgQwzcg6DqHYo95LL/g==", + "dev": true, + "requires": { + "launch-editor": "^2.6.1" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "lint-staged": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.3.0.tgz", + "integrity": "sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==", + "dev": true, + "requires": { + "chalk": "5.3.0", + "commander": "11.0.0", + "debug": "4.3.4", + "execa": "7.2.0", + "lilconfig": "2.1.0", + "listr2": "6.6.1", + "micromatch": "4.0.5", + "pidtree": "0.6.0", + "string-argv": "0.3.2", + "yaml": "2.3.1" + }, + "dependencies": { + "chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true + }, + "commander": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", + "dev": true + }, + "execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + } + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "requires": { + "path-key": "^4.0.0" + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + }, + "yaml": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "dev": true + } + } + }, + "listr2": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-6.6.1.tgz", + "integrity": "sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==", + "dev": true, + "requires": { + "cli-truncate": "^3.1.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^5.0.1", + "rfdc": "^1.3.0", + "wrap-ansi": "^8.1.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", + "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "dev": true, + "requires": { + "type-fest": "^1.0.2" + } + }, + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "requires": { + "restore-cursor": "^4.0.0" + } + }, + "log-update": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-5.0.1.tgz", + "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==", + "dev": true, + "requires": { + "ansi-escapes": "^5.0.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^5.0.0", + "strip-ansi": "^7.0.1", + "wrap-ansi": "^8.0.1" + } + }, + "restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + } + } + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "requires": {} + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + } + } + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + }, + "dependencies": { + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true + }, + "memfs": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz", + "integrity": "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==", + "dev": true, + "requires": { + "fs-monkey": "^1.0.4" + } + }, + "memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "mockjs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mockjs/-/mockjs-1.1.0.tgz", + "integrity": "sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==", + "dev": true, + "requires": { + "commander": "*" + }, + "dependencies": { + "commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true + } + } + }, + "module-alias": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/module-alias/-/module-alias-2.2.3.tgz", + "integrity": "sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==", + "dev": true + }, + "mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true + }, + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "normalize.css": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", + "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + } + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "dev": true, + "requires": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "dev": true, + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "requires": {} + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + } + }, + "postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dev": true, + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", + "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + } + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true + }, + "qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "requires": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true + }, + "renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dev": true, + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + } + } + }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + } + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass": { + "version": "1.69.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", + "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz", + "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==", + "dev": true, + "requires": { + "neo-async": "^2.6.2" + } + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "requires": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + } + } + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "requires": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "sirv": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", + "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", + "dev": true, + "requires": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true + } + } + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + } + } + }, + "sortablejs": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.1.tgz", + "integrity": "sha512-P5Cjvb0UG1ZVNiDPj/n4V+DinttXG6K8n7vM/HQf0C25K3YKQTQY6fsr/sEGsJGpQ9exmPxluHxKBc0mLKU1lQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + }, + "synckit": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.6.tgz", + "integrity": "sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==", + "dev": true, + "requires": { + "@pkgr/utils": "^2.4.2", + "tslib": "^2.6.2" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "terser": { + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "dependencies": { + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "vue": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.11.tgz", + "integrity": "sha512-d4oBctG92CRO1cQfVBZp6WJAs0n8AK4Xf5fNjQCBeKCvMI1efGQ5E3Alt1slFJS9fZuPcFoiAiqFvQlv1X7t/w==", + "requires": { + "@vue/compiler-dom": "3.3.11", + "@vue/compiler-sfc": "3.3.11", + "@vue/runtime-dom": "3.3.11", + "@vue/server-renderer": "3.3.11", + "@vue/shared": "3.3.11" + } + }, + "vue-cli-plugin-axios": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vue-cli-plugin-axios/-/vue-cli-plugin-axios-0.0.4.tgz", + "integrity": "sha512-p2b/fvPJuPBnvU8027PAAuU5DiOzUn2lku8XLG/f6c8FU0N+/MXWZAlOuHhqd9e7+KIZitwe/c8qlmv7TglbTg==", + "dev": true + }, + "vue-cli-plugin-element-plus": { + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/vue-cli-plugin-element-plus/-/vue-cli-plugin-element-plus-0.0.13.tgz", + "integrity": "sha512-ctG5mynJIyGLFBhS2JpzXmBWT3JRXwzMm5AoANUmBlbZHTruct1xQF2OKM/mfJv6tSfqCcEfgH8rGCAY5ca83Q==", + "dev": true + }, + "vue-clipboard3": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vue-clipboard3/-/vue-clipboard3-2.0.0.tgz", + "integrity": "sha512-Q9S7dzWGax7LN5iiSPcu/K1GGm2gcBBlYwmMsUc5/16N6w90cbKow3FnPmPs95sungns4yvd9/+JhbAznECS2A==", + "requires": { + "clipboard": "^2.0.6" + } + }, + "vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "requires": {} + }, + "vue-eslint-parser": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", + "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-router": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "requires": { + "@vue/devtools-api": "^6.5.0" + } + }, + "vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "vue3-json-viewer": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/vue3-json-viewer/-/vue3-json-viewer-2.2.2.tgz", + "integrity": "sha512-56l3XDGggnpwEqZieXsSMhNT4NhtO6d7zuSAxHo4i0UVxymyY2jRb7UMQOU1ztChKALZCAzX7DlgrsnEhxu77A==", + "requires": { + "clipboard": "^2.0.10" + } + }, + "vuex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz", + "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==", + "requires": { + "@vue/devtools-api": "^6.0.0-beta.11" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "webpack": { + "version": "5.78.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.78.0.tgz", + "integrity": "sha512-gT5DP72KInmE/3azEaQrISjTvLYlSM0j1Ezhht/KLVkrqtv10JoP/RXhwmX/frrutOPuSq3o5Vq0ehR/4Vmd1g==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", + "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "is-plain-object": "^5.0.0", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + } + } + }, + "webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "dev": true, + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + } + }, + "webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "webpack-virtual-modules": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz", + "integrity": "sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==", + "dev": true + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whatwg-fetch": { + "version": "3.6.19", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", + "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} + }, + "xe-utils": { + "version": "3.5.14", + "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-3.5.14.tgz", + "integrity": "sha512-Xq6mS8dWwHBQsQUEBXcZYSaBV0KnNLoVWd0vRRDI3nKpbNxfs/LSCK0W21g1edLFnXYfKqg7hh5dakr3RtYY0A==" + }, + "xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, + "yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "requires": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true + }, + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA==", + "dev": true + } + } + }, + "zdog": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/zdog/-/zdog-1.1.3.tgz", + "integrity": "sha512-raRj6r0gPzopFm5XWBJZr/NuV4EEnT4iE+U3dp5FV5pCb588Gmm3zLIp/j9yqqcMiHH8VNQlerLTgOqL7krh6w==" + }, + "zrender": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.4.tgz", + "integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==", + "requires": { + "tslib": "2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } + } + } + } +} diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/package.json b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/package.json new file mode 100644 index 00000000..2a3fd37a --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/package.json @@ -0,0 +1,69 @@ +{ + "name": "wu-smart-agent-network", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "@element-plus/icons-vue": "^2.1.0", + "@icon-park/vue-next": "^1.4.2", + "@vueuse/core": "^10.2.1", + "axios": "^1.4.0", + "clipboard": "^2.0.11", + "core-js": "^3.20.3", + "dayjs": "^1.11.9", + "echarts": "^5.4.3", + "element-plus": "^2.3.8", + "normalize.css": "^8.0.1", + "nprogress": "^0.2.0", + "qs": "^6.11.2", + "sortablejs": "^1.15.0", + "sql-formatter": "^4.0.2", + "swiper": "^11.0.7", + "uuid": "^9.0.1", + "vue": "^3.3.4", + "vue-clipboard3": "^2.0.0", + "vue-codemirror": "^6.1.1", + "vue-codemirror-lite": "^1.0.4", + "vue-router": "^4.2.4", + "vue3-json-viewer": "^2.2.2", + "vuex": "^4.1.0", + "xe-utils": "^3.5.11", + "zdog": "^1.1.3" + }, + "devDependencies": { + "@babel/eslint-parser": "^7.22.9", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/cli-plugin-babel": "^5.0.8", + "@vue/cli-plugin-eslint": "^5.0.8", + "@vue/cli-plugin-router": "^5.0.8", + "@vue/cli-plugin-vuex": "^5.0.8", + "@vue/cli-service": "^5.0.8", + "@vue/compiler-sfc": "^3.3.4", + "@vue/eslint-config-prettier": "^8.0.0", + "compression-webpack-plugin": "^10.0.0", + "eslint": "^8.46.0", + "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-vue": "^9.16.0", + "lint-staged": "^13.2.3", + "mockjs": "^1.1.0", + "prettier": "^3.0.0", + "sass": "^1.64.1", + "sass-loader": "^13.3.2", + "terser-webpack-plugin": "^5.3.9", + "vue-cli-plugin-axios": "^0.0.4", + "vue-cli-plugin-element-plus": "^0.0.13", + "webpack": "5.78.0" + }, + "gitHooks": { + "pre-commit": "lint-staged" + }, + "lint-staged": { + "*.{js,jsx,vue}": [ + "vue-cli-service lint --fix" + ] + } +} diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/public/favicon.ico b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1aa85a35b4c90eb03db208e0a2d2075f8b3bbebb GIT binary patch literal 192874 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

    a7jcg=b%( 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%0D#69bxu$&La(Cs<6~rNe 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�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 D-wHny literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/public/favicon.ico1 b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/public/favicon.ico1 new file mode 100644 index 0000000000000000000000000000000000000000..9729dee670782766468942a35c803bcab5492aad GIT binary patch literal 4286 zcmeHLS#MQU6h8g{6P|qTqrX8^Dgwp`i33WaNWz1>I3b3_>A@hu2qYvf}#+bO8ea}Aoti9IWYkg}-9p?f5 zB_ufdb+Xqv&O?slJj}r*Cy_(zF7aFQgEnlzaqvH_%mQj(z_&lSxfqLr9+X;NX)t;sA0q2i!90kfa_r9He)y}6q ztEHJKptaCsXKx2CeF60R3XF$=*=b+8=Ho-aZGOA-IUru0qpg^Hl(7<;8UyOS2EKb5 zsQLs5hiKLq>?)pcr|r>R`AV|lBFbnh0?xb!T+0TgC*s=eGHcJ(Ea0a-KznI?`*nxO z5so{&^9=X$-NpK31n;v;$P*v!Jrm*68HCxf0s295R!D#L0u>(_){EW-{4pDx6L_FYZ}(!}$q zJ!=jF*Uxf2g&2AUX!$uJl{Q+6bWh=X0g=DvGt-@#2&6ntZ0{o82Ys$F&VP8>zNKsc za$W?y_?zZ^2AVBqgiG-*MWM>TIU`Jpwfx;CTl!Ns0O?Nw-F3bcojd0x^6;BR?hZg} zi%Iz@n(sWm`fq^WfArq$DLtpC&(%%+-)^D~`l0T)&o|g+G4JVD{P#5ydwqsI7sF)l zCxW_$5vJqHN0!jkMD*&^M) zWWWDztM(gBe}9wdkk(WRQa*tT)9akU(4sxt+ABo_2BO1=jvxgAee1p5{+pQ7 zn%A3)*Q@`l)jhwTc2zGIs + + + + + + + 内网穿透UI + + + +

    + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/App.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/App.vue new file mode 100644 index 00000000..75cdd22d --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/App.vue @@ -0,0 +1,6 @@ + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/index.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/index.js new file mode 100644 index 00000000..02882c8f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/index.js @@ -0,0 +1,41 @@ +const path = require("path"); +const fs = require("fs"); +const getPathInfo = (p) => path.parse(p); + +/** + * @description // 递归读取文件,类似于webpack的require.context() + * + * @param {String} directory 文件目录 + * @param {Boolean} useSubdirectories 是否查询子目录,默认false + * @param {array} extList 查询文件后缀,默认 ['.js'] + * + */ +function autoLoadFile(directory, useSubdirectories = false, extList = [".js"]) { + const filesList = {}; + // 递归读取文件 + function readFileList(directory, useSubdirectories, extList) { + const files = fs.readdirSync(directory); + files.forEach((item) => { + const fullPath = path.join(directory, item); + const stat = fs.statSync(fullPath); + if (stat.isDirectory() && useSubdirectories) { + readFileList( + path.join(directory, item), + useSubdirectories, + extList, + ); + } else { + const info = getPathInfo(fullPath); + + if (extList.includes(info.ext)) { + filesList[info.name] = require(fullPath); + } + } + }); + } + readFileList(directory, useSubdirectories, extList); + + return filesList; +} + +module.exports = autoLoadFile(path.join(__dirname, "./modules")); diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/mock-server.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/mock-server.js new file mode 100644 index 00000000..1f49e421 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/mock-server.js @@ -0,0 +1,103 @@ +// const bodyParser = require("body-parser"); +const express = require("express"); +const chokidar = require("chokidar"); +const chalk = require("chalk"); +const path = require("path"); +const Mock = require("mockjs"); +const apiDir = path.join(process.cwd(), "src/api"); + +// 注册mock接口路径 +function registerRoutes(app) { + let mockLastIndex; + let mocksForServer = new Array(); + const api = require("./index.js"); + Object.keys(api).map((route) => { + Object.keys(api[route]).map((item) => { + api[route][item].mock && + mocksForServer.push( + responseFake( + api[route][item].url, + api[route][item].type, + api[route][item].response, + ), + ); + }); + }); + // 注册接口 + for (const mock of mocksForServer) { + app[mock.type](mock.url, mock.response); + mockLastIndex = app._router.stack.length; + // console.log(app._router.stack[12]) + } + // 获取接口的长度 + const mockRoutesLength = mocksForServer.length; + // 注意:mockRoutesLength并不等于定于路由路径的数量,还包括其他路由 + // console.log(mockRoutesLength,mockLastIndex) + return { + mockRoutesLength, + mockStartIndex: mockLastIndex - mockRoutesLength, + }; +} +// 模拟mock server +const responseFake = (url, type, respond) => { + return { + url: url, + type: type || "get", + response: (req, res) => { + console.log(chalk.red("请求", req.path)); + res.json( + Mock.mock( + respond instanceof Function ? respond(req, res) : respond, + ), + ); + }, + }; +}; +// 移除路由 +function unregisterRoutes() { + Object.keys(require.cache).forEach((i) => { + console.log(apiDir, i); + if (i.includes(apiDir)) { + delete require.cache[require.resolve(i)]; + } + }); +} + +// 导出服务器app +module.exports = (app) => { + // 解析post数据 + app.use(express.json()); + app.use( + express.urlencoded({ + extended: true, + }), + ); + + // 注册路由表到app上 + const mockRoutes = registerRoutes(app); + let mockRoutesLength = mockRoutes.mockRoutesLength; + let mockStartIndex = mockRoutes.mockStartIndex; + //* 观察mock下的文件变化(不包括mock-server.js),热更新文件,这样添加数据路由就不用重启了 + chokidar + .watch(apiDir, { + ignored: /mock-server/, + ignoreInitial: true, + }) + .on("all", (event, path) => { + try { + // 先移除之前的路由 + app._router.stack.splice(mockStartIndex, mockRoutesLength); + // 清除缓冲 + unregisterRoutes(); + // 重新注册路由 + const mockRoutes = registerRoutes(app); + mockRoutesLength = mockRoutes.mockRoutesLength; + mockStartIndex = mockRoutes.mockStartIndex; + console.log( + chalk.magentaBright(`\n > 接口更新成功 --> 详情 ${path}`), + ); + } catch (err) { + console.log(chalk.redBright(err)); + } + }); +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/modules/cloudNetwork.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/modules/cloudNetwork.js new file mode 100644 index 00000000..b654cb3c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/modules/cloudNetwork.js @@ -0,0 +1,63 @@ +module.exports = { + cloudClientFindPage: { + url: "/netty/client/state/findPage", + type: "get", + }, + cloudClusterNodeFindPage: { + url: "/lazy/netty/cluster/node/findPage", + type: "get", + }, + cloudClientFindList: { + url: "/netty/client/state/findList", + type: "get", + }, + cloudClientDelete: { + url: "/netty/client/state/remove", + type: "delete", + }, + sendMessage2HeartbeatClient: { + url: "/netty/client/state/sendMessage2HeartbeatClient", + type: "post", + }, + visitorPage: { + url: "/netty/server/visitor/findPage", + type: "get", + }, + visitorList: { + url: "/netty/server/visitor/findList", + type: "get", + }, + visitorDelete: { + url: "/netty/server/visitor/remove", + type: "delete", + }, + visitorSave: { + url: "/netty/server/visitor/story", + type: "post", + }, + visitorUpdate: { + url: "/netty/server/visitor/updateOne", + type: "put", + }, + + visitorClientFlowPage: { + url: "/visitor/port/flow/findClientFlowPage", + type: "get", + }, + networkMappingPage: { + url: "/internal/network/penetration/mapping/findPage", + type: "get", + }, + networkMappingDelete: { + url: "/internal/network/penetration/mapping/remove", + type: "delete", + }, + networkMappingSave: { + url: "/internal/network/penetration/mapping/story", + type: "post", + }, + networkMappingUpdate: { + url: "/internal/network/penetration/mapping/updateOne", + type: "put", + }, +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/modules/cloudNetworkReport.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/modules/cloudNetworkReport.js new file mode 100644 index 00000000..aed8615d --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/modules/cloudNetworkReport.js @@ -0,0 +1,10 @@ +module.exports = { + findClient7DayFlow: { + url: "/visitor/port/per/day/flow/findClient7DayFlow", + type: "get", + }, + findClientPerDayFlow: { + url: "/visitor/port/per/day/flow/findClientPerDayFlow", + type: "get", + }, +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/modules/system.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/modules/system.js new file mode 100644 index 00000000..fdbf6ce1 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/api/modules/system.js @@ -0,0 +1,1204 @@ +// const Mock = require("mockjs"); //引入 +const { moduleName } = require("@/config"); +/** + * @description: 列表查询 + * @param {*} + * @return {*} + */ +const searchList = (sRole, sLimit, sPage, sList, sName) => { + let list = sList; + if (sRole !== null && sRole !== "" && sRole !== undefined) { + list = sList.filter((item) => item[sName] + "" === sRole + ""); + } + const res = {}; + res.total = list.length; + res.page = sPage * 1; + res.limit = sLimit * 1; + res.list = list.slice((sPage - 1) * sLimit, (sPage - 1) * sLimit + sLimit); + return { + message: "查询成功!", + code: "00", + data: res, + }; +}; +/** + * @description: 列表添加 + * @param {*} + * @return {*} + */ +const addList = (opt, list, name, sName) => { + const flag = list.some((item) => { + if (item.type !== "undefined") { + if (item.type === 2) { + return false; + } + } + return item[sName] == name; + }); + let res = { + message: "添加成功!", + code: "00", + }; + if (flag) { + res = { + message: "名称已存在", + code: "01", + }; + } else { + let item = { + id: list[list.length - 1].id + 1, + ...opt.body, + }; + list.push(item); + } + return res; +}; +const menuList = [ + { + parentId: -1, + id: 100, + name: "系统设置", //看官网,这个名字是3-5之间的 + url: "", + menu: "", + type: 0, + icon: "Setting", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: 100, + id: 1, + name: "用户管理", //看官网,这个名字是3-5之间的 + url: "system/Users", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "", + type: 1, + icon: "UserFilled", + sort: 2, + iframe: 0, + module: moduleName, + }, + { + parentId: 1, + id: 2, + name: "查询", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "search", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: 1, + id: 3, + name: "添加", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "add", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: 1, + id: 4, + name: "编辑", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "edit", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: 100, + id: 5, + name: "菜单管理", //看官网,这个名字是3-5之间的 + url: "settings/Menus", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "", + type: 1, + icon: "Menu", + sort: 1, + iframe: 0, + module: moduleName, + }, + { + parentId: 5, + id: 6, + name: "查询", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "search", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: 5, + id: 7, + name: "添加", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "add", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: 5, + id: 8, + name: "编辑", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "edit", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: 5, + id: 9, + name: "添加子级", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "addChild", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: 5, + id: 10, + name: "添加按钮", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "addBtn", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: 100, + id: 11, + name: "角色管理", //看官网,这个名字是3-5之间的 + url: "system/Roles", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "", + type: 1, + icon: "HelpFilled", + sort: 3, + iframe: 0, + module: moduleName, + }, + { + parentId: 11, + id: 12, + name: "查询", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "search", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: 11, + id: 13, + name: "添加", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "add", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: 11, + id: 14, + name: "编辑", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "edit", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: -1, + id: 15, + name: "参考资料", //看官网,这个名字是3-5之间的 + url: "", + menu: "", + type: 0, + icon: "DocumentCopy", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: 15, + id: 16, + name: "vue3.0", //看官网,这个名字是3-5之间的 + url: "https://www.vue3js.cn/docs/zh/", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "", + type: 1, + icon: "Promotion", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentId: 15, + id: 17, + name: "element-plus", //看官网,这个名字是3-5之间的 + url: "https://element-plus.org/#/zh-CN", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "", + type: 1, + icon: "ElemeFilled", + sort: 1, + iframe: 1, + module: moduleName, + }, +]; +const userList = [ + { + id: -1, + name: "Administrator", + userName: "超级管理员", + password: "123456", + role: -1, + status: 1, + }, + { + id: 0, + name: "admin", + userName: "管理员", + password: "123456", + role: 0, + status: 1, + }, +]; +const roleList = [ + { + id: -1, + name: "super", + roleName: "超级管理员", + status: "1", + role: menuList, + }, + { + id: 0, + name: "ceshi", + roleName: "测试", + status: "0", + role: menuList, + }, +]; + +const user = { + name: "", + userId: "", + roleId: "", + menus: null, +}; + +module.exports = { + userList: { + url: "/sys/user/retrieve", + type: "get", + mock: true, + response: (opt) => { + const { + body: { role, limit, page }, + } = opt; + return searchList(role, limit, page, userList, "role"); + }, + }, + userExportList: { + url: "/sys/user/export/List", + type: "get", + }, + userPage: { + url: "/sys/user/findPage", + type: "get", + }, + userAdd: { + url: "/sys/user/story", + type: "post", + }, + userEdit: { + url: "/sys/user/updateOne", + type: "put", + }, + userDel: { + url: "/sys/user/{{id}}", + type: "deleteUrl", + }, + userStatus: { + url: "/sys/user/status", + type: "post", + mock: true, + response: (opt) => { + const { + body: { id, status }, + } = opt; + if (id === -1) { + return { + message: "系统超级管理员账户不能停用!", + code: "01", + }; + } + userList.find((item) => item.id === id).status = status; + return { + message: "切换成功!", + code: "00", + }; + }, + }, + + menuList: { + url: "/menu/findList", + type: "get", + }, + menuAdd: { + url: "/menu/story", + type: "post", + mock: true, + response: (opt) => { + const { + body: { name }, + } = opt; + return addList(opt, menuList, name, "name"); + }, + }, + menuEdit: { + url: "/menu/update", + type: "put", + }, + menuUpsert: { + url: "/menu/upsert", + type: "post", + }, + menuDel: { + url: "/menu/delete", + type: "delete", + }, + + roleList: { + url: "/role/retrieve", + type: "get", + }, + roleOne: { + url: "/role/findOne", + type: "get", + }, + rolePage: { + url: "/role/retrieve/page", + type: "get", + mock: true, + response: (opt) => { + const { + body: { name, limit, page }, + } = opt; + return searchList(name, limit, page, roleList, "name"); + }, + }, + roleAdd: { + url: "/role/story", + type: "post", + }, + roleEdit: { + url: "/role/updateOne", + type: "put", + }, + roleDel: { + url: "/role/{{id}}", + type: "deleteUrl", + }, + requestLogFindPage: { + url: "/request/log/findPage", + type: "get", + }, + + userMenuList: { + url: "/sys/user/findUserMenuList", + type: "get", + mock: true, + response: () => { + user.menus = roleList.find((item) => item.id === user.roleId).role; + return { + message: "查询成功!", + code: "00", + list: user.menus, + }; + }, + }, + login: { + url: "/token/access_token", + type: "post", + }, + resolvingUser: { + url: "/token/user/{{accessToken}}", + type: "getUrl", + }, + register: { + url: "/token/create_user", + type: "post", + }, + dictionaryPage: { + url: "/dictionary/retrieve/page", + type: "get", + }, + dictionaryDelete: { + url: "/dictionary/{{id}}", + type: "deleteUrl", + }, + dictionaryAdd: { + url: "/dictionary/save", + type: "post", + }, + dictionaryEdit: { + url: "/dictionary/update", + type: "put", + }, + dictionaryDataPage: { + url: "/dictionary/data/retrieve/page", + type: "get", + }, + dictionaryDataList: { + url: "/dictionary/data/retrieve", + type: "get", + }, + dictionaryDataDelete: { + url: "/dictionary/data/{{id}}", + type: "deleteUrl", + }, + dictionaryDataAdd: { + url: "/dictionary/data/save", + type: "post", + }, + dictionaryDataEdit: { + url: "/dictionary/data/update", + type: "put", + }, + + upsertAdd: { + url: "/upsert/task/save", + type: "post", + }, + upsertPage: { + url: "/upsert/task/retrieve/page", + type: "get", + }, + upsertEdit: { + url: "/upsert/task/update", + type: "put", + }, + upsertDelete: { + url: "/upsert/task/{{id}}", + type: "deleteUrl", + }, + databaseInstanceAdd: { + url: "/database/instance/save", + type: "post", + }, + databaseInstanceTest: { + url: "/database/instance/testConnection", + type: "post", + }, + databaseInstancePage: { + url: "/database/instance/retrieve/page", + type: "get", + }, + databaseInstanceList: { + url: "/database/instance/retrieve", + type: "get", + }, + databaseInstanceEdit: { + url: "/database/instance/update", + type: "put", + }, + databaseInstanceDelete: { + url: "/database/instance/{{id}}", + type: "deleteUrl", + }, + databaseInstanceReload: { + url: "/database/instance/reload/{{id}}", + type: "patchUrl", + }, + + acwTableAssociationRelationPage: { + url: "/lazy/acw/table/association/relation/findPage", + type: "get", + }, + acwTableAssociationRelationList: { + url: "/lazy/acw/table/association/relation/findList", + type: "get", + }, + acwTableAssociationRelationStory: { + url: "/lazy/acw/table/association/relation/story", + type: "post", + }, + acwTableAssociationRelationDelete: { + url: "/lazy/acw/table/association/relation/remove", + type: "deleteUrl", + }, + acwTableAssociationRelationReload: { + url: "/lazy/acw/table/association/relation/reload/{{id}}", + type: "patchUrl", + }, + acwTableAssociationRelationAnalysisSchema: { + url: "/lazy/acw/table/association/relation/analysisSchema", + type: "put", + }, + // 数据库备份API 开始 + databaseInstanceBackUpPage: { + url: "/lazy/database/instance/back/ups/findPage", + type: "get", + }, + databaseInstanceBackUpDelete: { + url: "/lazy/database/instance/back/ups/remove", + type: "delete", + }, + databaseInstanceBackUp: { + url: "/lazy/database/instance/back/ups/backUps", + type: "patch", + }, + databaseSchemaBackUpPage: { + url: "/lazy/database/schema/back/ups/findPage", + type: "get", + }, + databaseSchemaBackUp: { + url: "/lazy/database/schema/back/ups/backUps", + type: "patch", + }, + databaseSchemaBackUpRemove: { + url: "/lazy/database/schema/back/ups/remove", + type: "delete", + }, + // 数据库备份API 结束 + // redis api实例 开始 + redisInstancePage: { + url: "/lazy/acw/redis/instance/findPage", + type: "get", + }, + redisInstanceDelete: { + url: "/lazy/acw/redis/instance/remove", + type: "delete", + }, + redisInstanceStory: { + url: "/lazy/acw/redis/instance/story", + type: "post", + }, + redisInstanceTest: { + url: "/lazy/acw/redis/instance/test", + type: "post", + }, + redisInstanceConsoleFindDataBases: { + url: "/lazy/acw/redis/console/findDataBases", + type: "get", + }, + redisInstanceConsoleFindKeys: { + url: "/lazy/acw/redis/console/findKeys", + type: "get", + }, + + redisInstanceConsoleFindKeysValues: { + url: "/lazy/acw/redis/console/findKeysValues", + type: "get", + }, + redisInstanceConsoleFindKeyValue: { + url: "/lazy/acw/redis/console/findKeyValue", + type: "get", + }, + redisInstanceConsoleSetKey: { + url: "/lazy/acw/redis/console/setKey", + type: "post", + }, + redisInstanceConsoleRemoveKey: { + url: "/lazy/acw/redis/console/removeKey", + type: "put", + }, + // redis api实例 结束 + schemaAdd: { + url: "/schema/save", + type: "post", + }, + schemaPage: { + url: "/schema/retrieve/page", + type: "get", + }, + schemaList: { + url: "/schema/findList", + type: "get", + }, + schemaEdit: { + url: "/schema/update", + type: "put", + }, + schemaDelete: { + url: "/schema/{{id}}", + type: "deleteUrl", + }, + batchDeleteInstanceSchema: { + url: "/schema/delete/batchDeleteInstanceSchema", + type: "deleteBody", + }, + batchExportSchemaData: { + url: "/schema/batchExportSchemaData", + type: "post", + }, + schemaReload: { + url: "/schema/reload/{{instanceId}}/{{schema}}", + type: "patchUrl", + }, + aceSchemaImportData: { + url: "/schema/batchImportSchemaData", + type: "post", + }, + schemaDeriveView: { + url: "/schema/schemaDeriveView", + type: "post", + }, + tableAutoStuffedRecordAdd: { + url: "/database/table/auto/stuffed/record/save", + type: "post", + }, + tableAutoStuffedRecordBatchAdd: { + url: "/database/table/auto/stuffed/record/batchSave", + type: "post", + }, + tableAutoStuffedRecordPage: { + url: "/database/table/auto/stuffed/record/findPage", + type: "get", + }, + tableAutoStuffedRecordList: { + url: "/database/table/auto/stuffed/record/findList", + type: "get", + }, + tableAutoStuffedRecordEdit: { + url: "/database/table/auto/stuffed/record/update", + type: "put", + }, + tableAutoStuffedRecordDelete: { + url: "/database/table/auto/stuffed/record/{{id}}", + type: "deleteUrl", + }, + tableAutoStuffedRecordBatchDelete: { + url: "/database/table/auto/stuffed/record/batch", + type: "deleteBody", + }, + tableAdd: { + url: "/table/storage", + type: "post", + }, + tablePage: { + url: "/table/retrieve/page", + type: "get", + }, + tableList: { + url: "/table/retrieve", + type: "get", + }, + tableDelete: { + url: "/table/delete/{{instanceId}}/{{schemaName}}/{{tableName}}", + type: "deleteUrl", + }, + batchDeleteTableDelete: { + url: "/table/batchDelete", + type: "deleteBody", + }, + slqAuditPage: { + url: "/sql/audit/findPage", + type: "get", + }, + slqAuditExport: { + url: "/sql/audit/export/findList", + type: "get", + }, + batchDeleteSlqAudit: { + url: "/sql/audit/batch", + type: "deleteBody", + }, + generateJavaModel: { + url: "/table/generate/java/model/{{instanceId}}/{{schemaName}}/{{tableName}}", + type: "getUrl", + }, + generateLocalJava: { + url: "/table/generate/local/java", + type: "post", + }, + clientGenerateLocalJava: { + url: "/acw/client/java/path/generate/local/java", + type: "post", + }, + tableExportInsertSql: { + url: "/table/export/insert/sql", + type: "get", + }, + tableExportUpsertSql: { + url: "/table/export/upsert/sql", + type: "get", + }, + exportTableStructureExcel: { + url: "/table/export/table/structure/excel", + type: "get", + }, + exportTableStructureMd: { + url: "/table/export/table/structure/md", + type: "get", + }, + exportTableStructureSql: { + url: "/table/export/table/structure/sql", + type: "get", + }, + findTableColumnList: { + url: "/table/table/structure/findTableColumnList", + type: "get", + }, + applicationAdd: { + url: "/application/save", + type: "post", + }, + applicationPage: { + url: "/application/retrieve/page", + type: "get", + }, + applicationList: { + url: "/application/retrieve", + type: "get", + }, + applicationEdit: { + url: "/application/update", + type: "put", + }, + applicationDelete: { + url: "/application/{{id}}", + type: "deleteUrl", + }, + applicationFindTables: { + url: "/application/findTables/{{applicationId}}", + type: "getUrl", + }, + projectAdd: { + url: "/project/save", + type: "post", + }, + projectPage: { + url: "/project/retrieve/page", + type: "get", + }, + projectList: { + url: "/project/retrieve", + type: "get", + }, + projectEdit: { + url: "/project/update", + type: "put", + }, + projectDelete: { + url: "/project/{{id}}", + type: "deleteUrl", + }, + interfaceAdd: { + url: "/interface/save", + type: "post", + }, + interfacePage: { + url: "/interface/retrieve/page", + type: "get", + }, + interfaceList: { + url: "/interface/retrieve", + type: "get", + }, + interfaceEdit: { + url: "/interface/update", + type: "put", + }, + interfaceDelete: { + url: "/interface/{{id}}", + type: "deleteUrl", + }, + apiAdd: { + url: "/api/save", + type: "post", + }, + apiPage: { + url: "/api/retrieve/page", + type: "get", + }, + apiList: { + url: "/api/retrieve", + type: "get", + }, + apiEdit: { + url: "/api/update", + type: "put", + }, + apiDelete: { + url: "/api/{{id}}", + type: "deleteUrl", + }, + clientApiAdd: { + url: "/lazy/interface_/info/story", + type: "post", + }, + clientApiSQLAdd: { + url: "/lazy/interface_/info/story-sql", + type: "post", + }, + clientApiPage: { + url: "/lazy/interface_/info/findPage", + type: "get", + }, + clientApiList: { + url: "/lazy/interface_/info/findList", + type: "get", + }, + clientApiFindOne: { + url: "/lazy/interface_/info/findOne", + type: "get", + }, + clientApiEdit: { + url: "/lazy/interface_/info/updateOne", + type: "put", + }, + clientApiDelete: { + url: "/lazy/interface_/info/remove", + type: "deleteUrl", + }, + clientApiDerivativeCode: { + url: "/lazy/interface_/info/derivativeCode", + type: "put", + }, + + clientInstancePage: { + url: "/acw/client/instance/findPage", + type: "get", + }, + clientInstanceList: { + url: "/acw/client/instance/findList", + type: "get", + }, + cloudClientFindList: { + url: "/netty/client/state/findList", + type: "get", + }, + cloudClientFindPage: { + url: "/netty/client/state/findPage", + type: "get", + }, + clientInstanceFindOne: { + url: "/acw/client/instance/findOne", + type: "get", + }, + + clientJavaPathPage: { + url: "/acw/client/java/path/findPage", + type: "get", + }, + clientJavaPathList: { + url: "/acw/client/java/path/findList", + type: "get", + }, + clientJavaPathFindOne: { + url: "/acw/client/java/path/findOne", + type: "get", + }, + + clientFindDefaultSchema: { + url: "/current/project/dataSource/findDefaultSchema", + type: "get", + }, + + clientFindSchemaList: { + url: "/current/project/dataSource/findSchemaList", + type: "get", + }, + clientFindTableList: { + url: "/current/project/dataSource/findTableList", + type: "get", + }, + clientFindColumnList: { + url: "/current/project/dataSource/findColumnList", + type: "get", + }, + databaseTableColumnAdd: { + url: "/database/table/column/save", + type: "post", + }, + databaseTableColumnPage: { + url: "/database/table/column/retrieve/page", + type: "get", + }, + databaseTablesColumnList: { + url: "/database/table/column/tableIds/{{instanceId}}/{{schemaName}}/{{tableNameList}}", + type: "getUrl", + }, + databaseTableColumnList: { + url: "/database/table/column/{{instanceId}}/{{schemaName}}/{{tableName}}", + type: "getUrl", + }, + findDatabaseTableColumnList: { + url: "/database/table/column/findColumn/{{instanceId}}/{{schemaName}}/{{tableName}}", + type: "getUrl", + }, + findInstanceSchemaColumnList: { + url: "/database/table/column/findInstanceSchemaColumnList/{{instanceId}}/{{schemaName}}", + type: "getUrl", + }, + databaseTableColumnEdit: { + url: "/database/table/column/update", + type: "put", + }, + databaseTableColumnDelete: { + url: "/database/table/column/{{id}}", + type: "deleteUrl", + }, + playMusicInsertOrUpdate: { + url: "/play/music/story", + type: "post", + }, + playMusicPage: { + url: "/play/music/findPage", + type: "get", + }, + playMusicList: { + url: "/play/music/findList", + type: "get", + }, + playMusicEdit: { + url: "/play/music/update", + type: "put", + }, + playMusicDelete: { + url: "/play/music/remove", + type: "delete", + }, + playMusicFindData: { + url: "/play/music/findOne", + type: "get", + }, + playFileAdd: { + url: "/play/file/add", + type: "post", + }, + playFilePage: { + url: "/play/file/findPage", + type: "get", + }, + playFileList: { + url: "/play/file/findList", + type: "get", + }, + playFileData: { + url: "/play/file/retrieve/data/{{id}}", + type: "getUrl", + }, + playFileEdit: { + url: "/play/file/update", + type: "put", + }, + playFileDelete: { + url: "/play/file/remove", + type: "delete", + }, + playFileResourceList: { + url: "/play/file/getFileResourceList", + type: "get", + }, + downLocalFile: { + url: "/play/file/retrieve/local/file", + type: "get", + }, + docPdfMerge: { + url: "/doc/pdf/merge/merge", + type: "post", + }, + docJson2Excel: { + url: "/doc/excel/json2Excel", + type: "post", + }, + sqlConsole: { + url: "/console/execute/sql/statement", + type: "get", + }, + sqlConsoleExport: { + url: "/console/execute/sql/statement/export", + type: "get", + }, + sqlConsoleUpsertExport: { + url: "/console/execute/upsert/sql/statement/export", + type: "get", + }, + tableSqlConsole: { + url: "/table/console/execute/table/sql/statement", + type: "post", + }, + tableColumnSqlConsole: { + url: "/table/console/execute/table/sql/statement/column", + type: "post", + }, + tableRowStory: { + url: "/table/console/execute/upsert/table/sql", + type: "post", + }, + tableRowDelete: { + url: "/table/console/execute/delete/table/sql", + type: "post", + }, + tableRowBatchDelete: { + url: "/table/console/execute/batch/delete/table/sql", + type: "post", + }, + tableSqlConsoleExport: { + url: "/table/console/execute/table/sql/statement/export", + type: "post", + }, + tableSqlConsoleUpsertExport: { + url: "/table/console/execute/upsert/table/sql/statement/export", + type: "post", + }, + tableSqlConsoleMdExport: { + url: "/table/console/execute/md/table/sql/statement/export", + type: "post", + }, + translate: { + url: "/translate", + type: "get", + }, + shortcutsData: { + url: "/shortcuts/data", + type: "get", + }, + jvmRunTimeMemory: { + url: "/jvm/runTimeMemory", + type: "get", + }, + jvmGC: { + url: "/jvm/gc", + type: "get", + }, + jvmCPU: { + url: "/jvm/cpu", + type: "get", + }, + // 自动化开始 + automationStory: { + url: "/lazy/automation/story", + type: "post", + }, + automationFindPage: { + url: "/lazy/automation/findPage", + type: "get", + }, + automationFindOne: { + url: "/lazy/automation/findOne", + type: "get", + }, + automationRemove: { + url: "/lazy/automation/remove", + type: "delete", + }, + + automationNodeStory: { + url: "/lazy/automation/node/story", + type: "post", + }, + automationNodeRemove: { + url: "/lazy/automation/node/remove", + type: "delete", + }, + + automationNodeHttpActionStory: { + url: "/lazy/automation/node/http/action/story", + type: "post", + }, + automationNodeHttpActionRemove: { + url: "/lazy/automation/node/http/action/remove", + type: "delete", + }, + + ttsTimbreStory: { + url: "/tts/timbre/story", + type: "post", + }, + ttsTimbreFindPage: { + url: "/tts/timbre/findPage", + type: "get", + }, + ttsTimbreFindList: { + url: "/tts/timbre/findList", + type: "get", + }, + ttsTimbreUpdateOne: { + url: "/tts/timbre/updateOne", + type: "put", + }, + ttsTimbreRemove: { + url: "/tts/timbre/remove", + type: "delete", + }, + + ttsChineseCharactersStory: { + url: "/tts/chinese/characters/story", + type: "post", + }, + ttsChineseCharactersFindPage: { + url: "/tts/chinese/characters/findPage", + type: "get", + }, + ttsChineseCharactersFindList: { + url: "/tts/chinese/characters/findList", + type: "get", + }, + ttsChineseCharactersUpdateOne: { + url: "/tts/chinese/characters/updateOne", + type: "put", + }, + ttsChineseCharactersRemove: { + url: "/tts/chinese/characters/remove", + type: "delete", + }, + + ttsChineseCharactersTimbreStory: { + url: "/tts/chinese/characters/timbre/story", + type: "post", + }, + ttsChineseCharactersTimbreFindPage: { + url: "/tts/chinese/characters/timbre/findPage", + type: "get", + }, + ttsChineseCharactersTimbreFindList: { + url: "/tts/chinese/characters/timbre/findList", + type: "get", + }, + ttsChineseCharactersTimbreUpdateOne: { + url: "/tts/chinese/characters/timbre/updateOne", + type: "put", + }, + ttsChineseCharactersTimbreRemove: { + url: "/tts/chinese/characters/timbre/remove", + type: "delete", + }, + ttsChineseCharactersTimbreTextToBytes: { + url: "/tts/chinese/characters/timbre/textToBytes", + type: "get", + }, + automationNodeHttpActionExecuteOne: { + url: "/lazy/automation/node/http/action/executeOne/{{actionId}}", + type: "patchUrl", + }, +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/json/china.json b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/json/china.json new file mode 100644 index 00000000..4f1250ce --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/json/china.json @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"adcode":110000,"name":"北京市","center":[116.405285,39.904989],"centroid":[116.41995,40.18994],"childrenNum":16,"level":"province","parent":{"adcode":100000},"subFeatureIndex":0,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[117.348611,40.581141],[117.389879,40.561593],[117.429915,40.576141],[117.412669,40.605226],[117.467487,40.649738],[117.467487,40.649738],[117.501364,40.636569],[117.514914,40.660181],[117.493973,40.675161],[117.408973,40.686961],[117.342451,40.673799],[117.319662,40.657911],[117.278394,40.664267],[117.208177,40.694675],[117.117018,40.70012],[117.11209,40.707379],[117.012308,40.693767],[116.964881,40.709647],[116.926692,40.745022],[116.924229,40.773581],[116.848468,40.839264],[116.81336,40.848319],[116.759773,40.889954],[116.713577,40.909858],[116.722201,40.927495],[116.677853,40.970888],[116.698795,41.021477],[116.688324,41.044501],[116.647672,41.059394],[116.615643,41.053076],[116.623034,41.021026],[116.598397,40.974503],[116.5676,40.992574],[116.519557,40.98128],[116.519557,40.98128],[116.455499,40.980828],[116.447492,40.953715],[116.477057,40.899907],[116.398216,40.90624],[116.370499,40.94377],[116.339702,40.929303],[116.334159,40.90443],[116.438253,40.81934],[116.46597,40.774487],[116.453651,40.765876],[116.316912,40.772221],[116.311369,40.754996],[116.273181,40.762703],[116.247311,40.791707],[116.22021,40.744115],[116.204812,40.740035],[116.171551,40.695582],[116.162928,40.662451],[116.133979,40.666536],[116.09887,40.630665],[116.005247,40.583868],[115.982457,40.578868],[115.971986,40.6025],[115.907929,40.617493],[115.885139,40.595229],[115.827857,40.587504],[115.819849,40.55932],[115.784741,40.55841],[115.755176,40.540221],[115.736082,40.503372],[115.781045,40.49336],[115.771806,40.443734],[115.864197,40.359422],[115.917784,40.354405],[115.95166,40.281852],[115.968907,40.264045],[115.89869,40.234354],[115.870356,40.185909],[115.855574,40.188652],[115.847567,40.147036],[115.806299,40.15344],[115.773654,40.176307],[115.75456,40.145663],[115.75456,40.145663],[115.599959,40.119583],[115.59072,40.096239],[115.527278,40.076092],[115.485394,40.040364],[115.454597,40.029825],[115.450286,39.992697],[115.428728,39.984443],[115.426264,39.950502],[115.481083,39.935819],[115.522967,39.899099],[115.515575,39.892212],[115.515575,39.892212],[115.526046,39.87568],[115.514344,39.837549],[115.567314,39.816407],[115.552532,39.794799],[115.50572,39.784222],[115.483547,39.798477],[115.483547,39.798477],[115.443511,39.785601],[115.439815,39.752022],[115.486626,39.741899],[115.491554,39.670074],[115.478619,39.650723],[115.478619,39.650723],[115.522351,39.640124],[115.518039,39.597252],[115.545756,39.618922],[115.587024,39.589873],[115.633836,39.599557],[115.633836,39.599557],[115.667712,39.615234],[115.698509,39.577881],[115.698509,39.577881],[115.699125,39.570039],[115.699125,39.570039],[115.716988,39.56035],[115.716988,39.56035],[115.718835,39.553891],[115.718835,39.553891],[115.720683,39.551122],[115.720683,39.551122],[115.722531,39.5442],[115.721299,39.543738],[115.722531,39.5442],[115.722531,39.543738],[115.721299,39.543738],[115.722531,39.543738],[115.724995,39.5442],[115.724995,39.5442],[115.738545,39.540046],[115.738545,39.539585],[115.738545,39.540046],[115.738545,39.539585],[115.752712,39.515581],[115.806299,39.510041],[115.806299,39.510041],[115.821081,39.522968],[115.821081,39.522968],[115.828473,39.541431],[115.867893,39.546507],[115.867893,39.546507],[115.91532,39.582955],[115.91532,39.582955],[115.910393,39.600479],[115.910393,39.600479],[115.957204,39.560812],[115.978146,39.595868],[115.995392,39.576958],[116.026189,39.587567],[116.036044,39.571884],[116.09887,39.575113],[116.130283,39.567732],[116.151841,39.583416],[116.198652,39.589412],[116.240536,39.564041],[116.257782,39.500344],[116.307057,39.488337],[116.337854,39.455536],[116.361876,39.455074],[116.361876,39.455074],[116.434557,39.442597],[116.454883,39.453226],[116.444412,39.482332],[116.411767,39.482794],[116.401912,39.528046],[116.443796,39.510041],[116.437637,39.526661],[116.478289,39.535431],[116.473361,39.552968],[116.50847,39.551122],[116.524484,39.596329],[116.592237,39.621227],[116.592237,39.621227],[116.620571,39.601863],[116.664918,39.605552],[116.723432,39.59264],[116.724048,39.59264],[116.723432,39.59264],[116.724048,39.59264],[116.726512,39.595407],[116.726512,39.595407],[116.709266,39.618],[116.748686,39.619844],[116.79057,39.595868],[116.812128,39.615695],[116.8497,39.66777],[116.906366,39.677444],[116.90575,39.688037],[116.889736,39.687576],[116.887272,39.72533],[116.916837,39.731314],[116.902055,39.763523],[116.949482,39.778703],[116.918069,39.84628],[116.907598,39.832494],[116.865714,39.843982],[116.812128,39.889916],[116.78441,39.891294],[116.782563,39.947749],[116.757925,39.967934],[116.781331,40.034866],[116.820135,40.02845],[116.831222,40.051359],[116.867562,40.041739],[116.927924,40.055024],[116.945171,40.04128],[117.025243,40.030283],[117.051728,40.059605],[117.105315,40.074261],[117.105315,40.074261],[117.140423,40.064185],[117.159517,40.077008],[117.204481,40.069681],[117.210024,40.082045],[117.224191,40.094865],[117.224191,40.094865],[117.254988,40.114548],[117.254988,40.114548],[117.254988,40.114548],[117.274082,40.105852],[117.307343,40.136971],[117.349227,40.136513],[117.367089,40.172649],[117.367089,40.173106],[117.367089,40.173106],[117.367089,40.172649],[117.383719,40.188195],[117.389879,40.227958],[117.351075,40.229786],[117.331365,40.289613],[117.295024,40.2782],[117.271618,40.325211],[117.271618,40.325211],[117.243285,40.369453],[117.226039,40.368997],[117.234046,40.417312],[117.263611,40.442367],[117.208793,40.501552],[117.262995,40.512927],[117.247597,40.539766],[117.269771,40.560684],[117.348611,40.581141],[117.348611,40.581141]]]]}},{"type":"Feature","properties":{"adcode":120000,"name":"天津市","center":[117.190182,39.125596],"centroid":[117.347043,39.288036],"childrenNum":16,"level":"province","parent":{"adcode":100000},"subFeatureIndex":1,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[117.765602,39.400527],[117.846906,39.407926],[117.871543,39.411625],[117.870311,39.455074],[117.899877,39.474479],[117.912195,39.517428],[117.912195,39.517428],[117.904804,39.533585],[117.933753,39.574191],[117.868464,39.59679],[117.829659,39.589873],[117.766834,39.598635],[117.753899,39.579726],[117.753899,39.579726],[117.745276,39.547892],[117.715711,39.529892],[117.707088,39.576036],[117.684914,39.58895],[117.654117,39.575113],[117.637486,39.603246],[117.66274,39.636437],[117.668899,39.666849],[117.627015,39.703693],[117.57774,39.726711],[117.595603,39.74604],[117.56111,39.754782],[117.546327,39.775943],[117.561726,39.799856],[117.529081,39.859144],[117.529081,39.859144],[117.508139,39.901854],[117.508139,39.901854],[117.512451,39.90874],[117.512451,39.90874],[117.513067,39.910576],[117.513067,39.910576],[117.514914,39.946832],[117.534625,39.954631],[117.546327,39.999116],[117.594987,39.994531],[117.594987,39.994531],[117.614697,39.97252],[117.671363,39.973896],[117.691073,39.984902],[117.756363,39.965181],[117.781616,39.966558],[117.781616,39.966558],[117.795167,39.996823],[117.795167,39.996823],[117.793319,40.005534],[117.793319,40.005534],[117.768681,40.022034],[117.768681,40.022034],[117.744044,40.018368],[117.74774,40.047236],[117.776073,40.059605],[117.752667,40.081588],[117.71879,40.082045],[117.71879,40.082045],[117.675059,40.082045],[117.655965,40.109514],[117.655965,40.109514],[117.654117,40.114548],[117.654117,40.114548],[117.651653,40.122786],[117.651653,40.122786],[117.613465,40.158014],[117.613465,40.158014],[117.609769,40.160301],[117.609769,40.160301],[117.576508,40.178593],[117.571581,40.219276],[117.548791,40.232527],[117.505059,40.227044],[117.450241,40.252627],[117.415748,40.248973],[117.389879,40.227958],[117.383719,40.188195],[117.367089,40.172649],[117.367089,40.173106],[117.367089,40.173106],[117.367089,40.172649],[117.349227,40.136513],[117.307343,40.136971],[117.274082,40.105852],[117.254988,40.114548],[117.254988,40.114548],[117.254988,40.114548],[117.224191,40.094865],[117.224191,40.094865],[117.210024,40.082045],[117.192162,40.066475],[117.198322,39.992697],[117.150894,39.944996],[117.162597,39.876598],[117.162597,39.876598],[117.227887,39.852712],[117.247597,39.860981],[117.251908,39.834332],[117.192162,39.832953],[117.156438,39.817326],[117.15767,39.796638],[117.205713,39.763984],[117.161981,39.748801],[117.165061,39.718886],[117.165061,39.718886],[117.177996,39.645194],[117.152742,39.623532],[117.10901,39.625375],[117.10901,39.625375],[117.016004,39.653949],[116.983359,39.638742],[116.983359,39.638742],[116.964265,39.64335],[116.948866,39.680668],[116.948866,39.680668],[116.944555,39.695405],[116.944555,39.695405],[116.932236,39.706456],[116.932236,39.706456],[116.90575,39.688037],[116.906366,39.677444],[116.8497,39.66777],[116.812128,39.615695],[116.808432,39.576497],[116.78749,39.554352],[116.819519,39.528507],[116.820751,39.482332],[116.785026,39.465702],[116.832454,39.435664],[116.876185,39.43474],[116.839845,39.413474],[116.840461,39.378326],[116.818287,39.3737],[116.829374,39.338994],[116.870642,39.357506],[116.889736,39.338068],[116.87249,39.291304],[116.881729,39.225966],[116.881729,39.225966],[116.855859,39.215766],[116.870026,39.153607],[116.909446,39.150822],[116.912526,39.110898],[116.91191,39.111362],[116.91191,39.111362],[116.912526,39.110898],[116.871874,39.054688],[116.812744,39.05097],[116.812744,39.05097],[116.783179,39.05097],[116.783179,39.05097],[116.754229,39.034701],[116.754229,39.034701],[116.754845,39.003084],[116.72836,38.975174],[116.708034,38.931892],[116.722201,38.896968],[116.723432,38.852706],[116.75115,38.831264],[116.737599,38.784629],[116.746222,38.754299],[116.794265,38.744498],[116.794265,38.744498],[116.858939,38.741231],[116.877417,38.680522],[116.948866,38.689398],[116.950714,38.689398],[116.95133,38.689398],[116.950714,38.689398],[116.948866,38.689398],[116.95133,38.689398],[117.038793,38.688464],[117.068358,38.680522],[117.055424,38.639398],[117.070822,38.608072],[117.109626,38.584685],[117.150894,38.617892],[117.183539,38.61836],[117.183539,38.61836],[117.213104,38.639866],[117.213104,38.639866],[117.258684,38.608072],[117.258684,38.608072],[117.238358,38.580943],[117.25314,38.556143],[117.368937,38.564566],[117.432379,38.601524],[117.47919,38.616489],[117.55803,38.613683],[117.639334,38.626776],[117.65658,38.66043],[117.729261,38.680055],[117.740964,38.700141],[117.740964,38.753833],[117.671363,38.772032],[117.646725,38.788827],[117.64611,38.828933],[117.752051,38.847579],[117.778536,38.869016],[117.847522,38.855502],[117.875855,38.920252],[117.898029,38.948649],[117.855529,38.957492],[117.837667,39.057011],[117.871543,39.122506],[117.96455,39.172631],[117.977485,39.206028],[118.032919,39.219939],[118.034767,39.218548],[118.064948,39.231065],[118.064948,39.256094],[118.036615,39.264898],[118.024296,39.289451],[118.024296,39.289451],[117.982412,39.298714],[117.982412,39.298714],[117.979333,39.300566],[117.979333,39.300566],[117.973173,39.312143],[117.973173,39.312143],[117.965782,39.314921],[117.965782,39.314921],[117.919587,39.318162],[117.919587,39.318162],[117.88879,39.332051],[117.854913,39.328348],[117.854297,39.328348],[117.854913,39.328348],[117.854297,39.328348],[117.850601,39.363984],[117.850601,39.363984],[117.810565,39.354729],[117.805022,39.373237],[117.784696,39.376938],[117.74466,39.354729],[117.670747,39.357969],[117.669515,39.322792],[117.594987,39.349176],[117.536472,39.338068],[117.521074,39.357043],[117.570965,39.404689],[117.601146,39.419485],[117.614081,39.407001],[117.668899,39.412087],[117.673211,39.386652],[117.699696,39.407463],[117.765602,39.400527]]],[[[117.805022,39.373237],[117.852449,39.380639],[117.846906,39.407926],[117.765602,39.400527],[117.784696,39.376938],[117.805022,39.373237]]]]}},{"type":"Feature","properties":{"adcode":130000,"name":"河北省","center":[114.502461,38.045474],"childrenNum":11,"level":"province","parent":{"adcode":100000},"subFeatureIndex":2,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[117.467487,40.649738],[117.412669,40.605226],[117.429915,40.576141],[117.389879,40.561593],[117.348611,40.581141],[117.348611,40.581141],[117.269771,40.560684],[117.247597,40.539766],[117.262995,40.512927],[117.208793,40.501552],[117.263611,40.442367],[117.234046,40.417312],[117.226039,40.368997],[117.243285,40.369453],[117.271618,40.325211],[117.271618,40.325211],[117.295024,40.2782],[117.331365,40.289613],[117.351075,40.229786],[117.389879,40.227958],[117.415748,40.248973],[117.450241,40.252627],[117.505059,40.227044],[117.548791,40.232527],[117.571581,40.219276],[117.576508,40.178593],[117.609769,40.160301],[117.609769,40.160301],[117.613465,40.158014],[117.613465,40.158014],[117.651653,40.122786],[117.651653,40.122786],[117.654117,40.114548],[117.654117,40.114548],[117.655965,40.109514],[117.655965,40.109514],[117.675059,40.082045],[117.71879,40.082045],[117.71879,40.082045],[117.752667,40.081588],[117.776073,40.059605],[117.74774,40.047236],[117.744044,40.018368],[117.768681,40.022034],[117.768681,40.022034],[117.793319,40.005534],[117.793319,40.005534],[117.795167,39.996823],[117.795167,39.996823],[117.781616,39.966558],[117.781616,39.966558],[117.756363,39.965181],[117.691073,39.984902],[117.671363,39.973896],[117.614697,39.97252],[117.594987,39.994531],[117.594987,39.994531],[117.546327,39.999116],[117.534625,39.954631],[117.514914,39.946832],[117.513067,39.910576],[117.513067,39.910576],[117.512451,39.90874],[117.512451,39.90874],[117.508139,39.901854],[117.508139,39.901854],[117.529081,39.859144],[117.529081,39.859144],[117.561726,39.799856],[117.546327,39.775943],[117.56111,39.754782],[117.595603,39.74604],[117.57774,39.726711],[117.627015,39.703693],[117.668899,39.666849],[117.66274,39.636437],[117.637486,39.603246],[117.654117,39.575113],[117.684914,39.58895],[117.707088,39.576036],[117.715711,39.529892],[117.745276,39.547892],[117.753899,39.579726],[117.753899,39.579726],[117.766834,39.598635],[117.829659,39.589873],[117.868464,39.59679],[117.933753,39.574191],[117.904804,39.533585],[117.912195,39.517428],[117.912195,39.517428],[117.899877,39.474479],[117.870311,39.455074],[117.871543,39.411625],[117.846906,39.407926],[117.852449,39.380639],[117.805022,39.373237],[117.810565,39.354729],[117.850601,39.363984],[117.850601,39.363984],[117.854297,39.328348],[117.854913,39.328348],[117.854297,39.328348],[117.854913,39.328348],[117.88879,39.332051],[117.919587,39.318162],[117.919587,39.318162],[117.965782,39.314921],[117.965782,39.314921],[117.973173,39.312143],[117.973173,39.312143],[117.979333,39.300566],[117.979333,39.300566],[117.982412,39.298714],[117.982412,39.298714],[118.024296,39.289451],[118.024296,39.289451],[118.036615,39.264898],[118.064948,39.256094],[118.064948,39.231065],[118.034767,39.218548],[118.026144,39.201854],[118.070492,39.213911],[118.077883,39.201854],[118.12531,39.182838],[118.162883,39.136433],[118.1906,39.080708],[118.225092,39.034701],[118.319331,39.009594],[118.366143,39.016104],[118.377845,38.971917],[118.491178,38.909077],[118.539837,38.910008],[118.604511,38.971452],[118.570634,38.999363],[118.533062,39.090928],[118.588497,39.107648],[118.578642,39.130863],[118.637156,39.157319],[118.76096,39.133648],[118.814546,39.138754],[118.857662,39.162888],[118.897082,39.151286],[118.920488,39.171703],[118.951285,39.178662],[118.896466,39.139683],[118.890307,39.118792],[118.926031,39.123435],[118.97777,39.163352],[119.023966,39.187012],[119.038132,39.211593],[119.096031,39.24219],[119.121284,39.281576],[119.185342,39.342234],[119.272805,39.363521],[119.317153,39.4107],[119.316537,39.437051],[119.269726,39.498497],[119.366428,39.734996],[119.474217,39.813189],[119.536427,39.809052],[119.520413,39.840306],[119.540739,39.888079],[119.588166,39.910576],[119.620195,39.904609],[119.642369,39.925264],[119.681789,39.922511],[119.726137,39.940867],[119.787115,39.950502],[119.820375,39.979399],[119.842549,39.956007],[119.872114,39.960594],[119.854252,39.98857],[119.845629,40.000949],[119.845629,40.000949],[119.854252,40.033033],[119.81668,40.050443],[119.81668,40.050443],[119.787115,40.041739],[119.787115,40.041739],[119.783419,40.046778],[119.783419,40.046778],[119.772332,40.08113],[119.736608,40.104936],[119.760629,40.136056],[119.745847,40.207851],[119.716898,40.195966],[119.671934,40.23938],[119.639289,40.231613],[119.639289,40.231613],[119.651608,40.271808],[119.598021,40.334335],[119.586934,40.375381],[119.604797,40.455119],[119.553674,40.502007],[119.572152,40.523846],[119.559217,40.547952],[119.503783,40.553864],[119.477913,40.533399],[119.429254,40.540221],[119.30237,40.530215],[119.256175,40.543404],[119.22045,40.569322],[119.230921,40.603863],[119.177951,40.609315],[119.162552,40.600228],[119.14469,40.632482],[119.184726,40.680153],[119.165632,40.69286],[119.115125,40.666536],[119.054763,40.664721],[119.028277,40.692406],[119.011031,40.687414],[118.96114,40.72008],[118.950053,40.747743],[118.895234,40.75409],[118.907553,40.775394],[118.878604,40.783098],[118.845959,40.822057],[118.873061,40.847866],[118.90201,40.960946],[118.916792,40.969984],[118.977154,40.959138],[118.977154,40.959138],[119.00056,40.967273],[119.013495,41.007479],[118.951901,41.018317],[118.937118,41.052625],[118.964836,41.079246],[119.037516,41.067516],[119.080632,41.095936],[119.081248,41.131555],[119.126212,41.138767],[119.189038,41.198234],[119.169943,41.222996],[119.204436,41.222546],[119.209364,41.244599],[119.2494,41.279689],[119.239545,41.31431],[119.211827,41.308016],[119.197661,41.282837],[119.168712,41.294978],[119.092951,41.293629],[118.980234,41.305769],[118.949437,41.317906],[118.890923,41.300823],[118.844727,41.342622],[118.843496,41.374516],[118.770199,41.352956],[118.741866,41.324198],[118.677192,41.35026],[118.629765,41.346666],[118.528135,41.355202],[118.412338,41.331838],[118.380309,41.312062],[118.348896,41.342622],[118.361215,41.384844],[118.348896,41.428384],[118.327338,41.450816],[118.271904,41.471446],[118.315636,41.512688],[118.302701,41.55256],[118.215237,41.59554],[118.206614,41.650566],[118.159187,41.67605],[118.155491,41.712694],[118.132702,41.733241],[118.140093,41.784134],[118.178281,41.814917],[118.236179,41.80778],[118.247266,41.773869],[118.29223,41.772976],[118.335346,41.845241],[118.340273,41.87243],[118.268824,41.930336],[118.306396,41.940131],[118.313788,41.98819],[118.291614,42.007759],[118.239875,42.024655],[118.286686,42.033991],[118.296541,42.057545],[118.27252,42.083312],[118.239259,42.092639],[118.212774,42.081091],[118.220165,42.058434],[118.194296,42.031324],[118.116687,42.037102],[118.155491,42.081091],[118.097593,42.105072],[118.089586,42.12283],[118.106216,42.172082],[118.033535,42.199132],[117.977485,42.229716],[117.974405,42.25054],[118.047702,42.280656],[118.060021,42.298364],[118.008898,42.346595],[118.024296,42.385064],[117.997811,42.416884],[117.874007,42.510038],[117.856761,42.539148],[117.797631,42.585431],[117.801326,42.612744],[117.779768,42.61847],[117.708935,42.588515],[117.667051,42.582347],[117.60053,42.603054],[117.537088,42.603054],[117.530313,42.590278],[117.475494,42.602613],[117.435458,42.585431],[117.434226,42.557224],[117.387415,42.517537],[117.387415,42.517537],[117.410205,42.519743],[117.413284,42.471645],[117.390495,42.461933],[117.332596,42.46105],[117.332596,42.46105],[117.275314,42.481797],[117.275314,42.481797],[117.188467,42.468114],[117.188467,42.468114],[117.135496,42.468996],[117.09546,42.484004],[117.080061,42.463699],[117.080061,42.463699],[117.01662,42.456193],[117.01662,42.456193],[117.009228,42.44957],[117.009228,42.44957],[117.005533,42.43367],[117.005533,42.43367],[116.99075,42.425719],[116.99075,42.425719],[116.974736,42.426603],[116.974736,42.426603],[116.97104,42.427486],[116.97104,42.427486],[116.944555,42.415116],[116.944555,42.415116],[116.936547,42.410256],[116.936547,42.410256],[116.921765,42.403628],[116.921765,42.403628],[116.910062,42.395231],[116.910062,42.395231],[116.910678,42.394789],[116.910678,42.394789],[116.886656,42.366496],[116.897743,42.297479],[116.918685,42.229716],[116.903287,42.190708],[116.789338,42.200462],[116.825062,42.155669],[116.850316,42.156556],[116.890352,42.092639],[116.879881,42.018431],[116.796113,41.977958],[116.748686,41.984186],[116.727744,41.951259],[116.66923,41.947698],[116.639049,41.929891],[116.597165,41.935679],[116.553433,41.928555],[116.510933,41.974399],[116.4826,41.975734],[116.453651,41.945917],[116.393289,41.942802],[116.414231,41.982407],[116.373579,42.009983],[116.310137,41.997086],[116.298434,41.96817],[116.223906,41.932562],[116.212819,41.885352],[116.194341,41.861734],[116.122892,41.861734],[116.106877,41.831419],[116.129051,41.805996],[116.09887,41.776547],[116.034196,41.782795],[116.007095,41.79752],[116.007095,41.797966],[116.007095,41.79752],[116.007095,41.797966],[115.994776,41.828743],[115.954124,41.874213],[115.916552,41.945027],[115.85311,41.927665],[115.834632,41.93835],[115.811226,41.912525],[115.726227,41.870202],[115.688038,41.867528],[115.654162,41.829189],[115.57409,41.80555],[115.519887,41.76762],[115.488474,41.760924],[115.42996,41.728775],[115.346808,41.712247],[115.319091,41.691693],[115.360975,41.661297],[115.345576,41.635807],[115.377605,41.603148],[115.310468,41.592854],[115.290142,41.622835],[115.26612,41.616124],[115.256881,41.580768],[115.20391,41.571367],[115.195287,41.602253],[115.0992,41.62373],[115.056085,41.602253],[115.016049,41.615229],[114.860832,41.60091],[114.895325,41.636255],[114.902716,41.695715],[114.89594,41.76762],[114.868839,41.813579],[114.922426,41.825175],[114.939056,41.846132],[114.923658,41.871093],[114.915035,41.960605],[114.9021,42.015763],[114.860832,42.054879],[114.86268,42.097967],[114.825723,42.139695],[114.79431,42.149457],[114.789383,42.130819],[114.75489,42.115727],[114.675434,42.12061],[114.647717,42.109512],[114.560254,42.132595],[114.510978,42.110844],[114.502355,42.06732],[114.480181,42.064654],[114.467863,42.025989],[114.511594,41.981962],[114.478334,41.951704],[114.419203,41.942356],[114.352066,41.953484],[114.343443,41.926774],[114.282465,41.863517],[114.200545,41.789934],[114.215328,41.75646],[114.206704,41.7386],[114.237501,41.698843],[114.215328,41.68499],[114.259059,41.623282],[114.226414,41.616572],[114.221487,41.582111],[114.230726,41.513584],[114.101379,41.537779],[114.032394,41.529715],[113.976959,41.505966],[113.953553,41.483553],[113.933227,41.487139],[113.919677,41.454404],[113.877793,41.431076],[113.871017,41.413126],[113.94493,41.392477],[113.92522,41.325546],[113.899351,41.316108],[113.914749,41.294529],[113.95109,41.282837],[113.971416,41.239649],[113.992357,41.269794],[114.016379,41.231999],[113.996669,41.19238],[113.960945,41.171211],[113.920293,41.172112],[113.877793,41.115777],[113.819279,41.09774],[113.868554,41.06887],[113.973263,40.983087],[113.994821,40.938798],[114.057647,40.925234],[114.041633,40.917546],[114.055183,40.867782],[114.073661,40.857372],[114.044712,40.830661],[114.080437,40.790348],[114.104458,40.797597],[114.103227,40.770861],[114.134639,40.737314],[114.162357,40.71373],[114.183299,40.67153],[114.236269,40.607043],[114.283081,40.590685],[114.273842,40.552954],[114.293552,40.55159],[114.282465,40.494725],[114.267066,40.474242],[114.299711,40.44009],[114.286161,40.425057],[114.31203,40.372645],[114.381015,40.36307],[114.390254,40.351213],[114.438914,40.371733],[114.481413,40.34802],[114.530688,40.345283],[114.510978,40.302851],[114.46971,40.268155],[114.406269,40.246232],[114.362537,40.249886],[114.292936,40.230242],[114.255364,40.236182],[114.235654,40.198252],[114.180219,40.191395],[114.135871,40.175392],[114.097683,40.193681],[114.073046,40.168533],[114.073046,40.168533],[114.101995,40.099901],[114.086596,40.071513],[114.045944,40.056856],[114.018227,40.103563],[113.989278,40.11226],[113.959097,40.033491],[113.910438,40.015618],[114.029314,39.985819],[114.028082,39.959218],[114.047176,39.916085],[114.067502,39.922511],[114.17406,39.897722],[114.212248,39.918839],[114.229494,39.899558],[114.204241,39.885324],[114.215943,39.8619],[114.286776,39.871087],[114.285545,39.858225],[114.395182,39.867412],[114.406885,39.833413],[114.390254,39.819165],[114.41674,39.775943],[114.409964,39.761683],[114.408117,39.652106],[114.431522,39.613851],[114.49558,39.608318],[114.51529,39.564964],[114.568877,39.573729],[114.532536,39.486027],[114.501739,39.476789],[114.496812,39.438437],[114.469095,39.400989],[114.466631,39.329736],[114.430906,39.307513],[114.437066,39.259337],[114.416124,39.242654],[114.47587,39.21623],[114.443841,39.174023],[114.388406,39.176807],[114.360689,39.134112],[114.369928,39.107648],[114.345907,39.075133],[114.252284,39.073739],[114.180835,39.049111],[114.157429,39.061194],[114.10877,39.052364],[114.082901,39.09325],[114.082901,39.09325],[114.064422,39.094179],[114.050872,39.135969],[114.006524,39.122971],[113.994821,39.095572],[113.961561,39.100681],[113.930148,39.063517],[113.898119,39.067699],[113.80696,38.989595],[113.776779,38.986804],[113.76754,38.959819],[113.776163,38.885788],[113.795257,38.860628],[113.855619,38.828933],[113.836525,38.795824],[113.839605,38.7585],[113.802648,38.763166],[113.775547,38.709949],[113.720728,38.713218],[113.70225,38.651551],[113.612939,38.645942],[113.603084,38.587024],[113.561816,38.558483],[113.546417,38.492936],[113.583374,38.459671],[113.537794,38.417952],[113.525475,38.383245],[113.557504,38.343359],[113.54457,38.270569],[113.570439,38.237202],[113.598772,38.22733],[113.64312,38.232031],[113.678844,38.20523],[113.711489,38.213695],[113.720728,38.174656],[113.797105,38.162894],[113.831597,38.16854],[113.811271,38.117707],[113.876561,38.055059],[113.872249,37.990471],[113.901198,37.984811],[113.936307,37.922993],[113.959097,37.906468],[113.976959,37.816696],[114.006524,37.813386],[114.044712,37.761834],[113.996669,37.730128],[113.993589,37.706932],[114.068118,37.721608],[114.12848,37.698409],[114.139567,37.675676],[114.115545,37.619761],[114.118625,37.59084],[114.036705,37.494037],[114.014531,37.42468],[113.973879,37.40329],[113.962792,37.355734],[113.90243,37.310052],[113.886416,37.239095],[113.853155,37.215269],[113.832213,37.167594],[113.773083,37.151855],[113.773699,37.107004],[113.758301,37.075497],[113.788482,37.059739],[113.771851,37.016745],[113.791561,36.98759],[113.76138,36.956034],[113.792793,36.894796],[113.773083,36.85506],[113.731815,36.858891],[113.731815,36.878521],[113.696707,36.882351],[113.676381,36.855539],[113.680692,36.789907],[113.600004,36.752995],[113.549497,36.752515],[113.535946,36.732373],[113.499606,36.740527],[113.465113,36.707908],[113.506997,36.705029],[113.476816,36.655114],[113.486671,36.635427],[113.54457,36.62342],[113.539642,36.594116],[113.569823,36.585947],[113.588917,36.547974],[113.559968,36.528741],[113.554425,36.494589],[113.587069,36.460904],[113.635729,36.451277],[113.670221,36.425278],[113.708409,36.423352],[113.731199,36.363135],[113.755221,36.366026],[113.813119,36.332285],[113.856851,36.329392],[113.84946,36.347711],[113.882104,36.353977],[113.911054,36.314927],[113.962792,36.353977],[113.981887,36.31782],[114.002828,36.334214],[114.056415,36.329392],[114.04348,36.303353],[114.080437,36.269585],[114.129096,36.280199],[114.175907,36.264759],[114.170364,36.245938],[114.170364,36.245938],[114.203009,36.245456],[114.2104,36.272962],[114.241197,36.251247],[114.257827,36.263794],[114.299095,36.245938],[114.345291,36.255591],[114.356378,36.230492],[114.408117,36.224699],[114.417356,36.205868],[114.466015,36.197658],[114.480181,36.177855],[114.533152,36.171575],[114.586739,36.141133],[114.588587,36.118414],[114.640326,36.137266],[114.720398,36.140166],[114.734564,36.15563],[114.771521,36.124699],[114.857752,36.127599],[114.858368,36.144516],[114.912571,36.140649],[114.926737,36.089403],[114.914419,36.052155],[114.998186,36.069572],[115.04623,36.112613],[115.048693,36.161912],[115.06286,36.178338],[115.104744,36.172058],[115.12507,36.209731],[115.1842,36.193312],[115.201446,36.210214],[115.201446,36.210214],[115.202678,36.209248],[115.202678,36.209248],[115.202678,36.208765],[115.202678,36.208765],[115.242098,36.19138],[115.279055,36.13775],[115.30246,36.127599],[115.312931,36.088436],[115.365902,36.099074],[115.376989,36.128083],[115.450902,36.152248],[115.465068,36.170125],[115.483547,36.148865],[115.474923,36.248352],[115.466916,36.258969],[115.466916,36.258969],[115.462605,36.276339],[115.417025,36.292742],[115.423185,36.32216],[115.366518,36.30914],[115.368982,36.342409],[115.340033,36.398307],[115.297533,36.413239],[115.317243,36.454166],[115.291374,36.460423],[115.272895,36.497476],[115.33141,36.550378],[115.355431,36.627262],[115.365902,36.621979],[115.420105,36.686795],[115.451518,36.702151],[115.479851,36.760187],[115.524815,36.763543],[115.683727,36.808117],[115.71206,36.883308],[115.75764,36.902453],[115.79706,36.968945],[115.776734,36.992848],[115.85619,37.060694],[115.888219,37.112254],[115.879596,37.150901],[115.91224,37.177132],[115.909777,37.20669],[115.969523,37.239572],[115.975682,37.337179],[116.024341,37.360015],[116.085935,37.373809],[116.106261,37.368577],[116.169087,37.384271],[116.193109,37.365723],[116.236224,37.361442],[116.2855,37.404241],[116.226369,37.428007],[116.243,37.447965],[116.224522,37.479791],[116.240536,37.489764],[116.240536,37.489764],[116.27626,37.466967],[116.290427,37.484065],[116.278724,37.524895],[116.295355,37.554316],[116.336007,37.581355],[116.36742,37.566177],[116.379738,37.522047],[116.38097,37.522522],[116.379738,37.522047],[116.38097,37.522522],[116.433941,37.473142],[116.448108,37.503059],[116.4826,37.521573],[116.575607,37.610754],[116.604556,37.624975],[116.66307,37.686096],[116.679085,37.728708],[116.724664,37.744327],[116.753613,37.77035],[116.753613,37.793054],[116.804736,37.848837],[116.837997,37.835132],[116.919301,37.846002],[117.027091,37.832296],[117.074518,37.848837],[117.150278,37.839385],[117.185387,37.849783],[117.271618,37.839858],[117.320278,37.861596],[117.400966,37.844584],[117.438538,37.854035],[117.481038,37.914967],[117.513067,37.94329],[117.524154,37.989527],[117.557414,38.046105],[117.557414,38.046105],[117.586979,38.071551],[117.704624,38.076262],[117.746508,38.12524],[117.771145,38.134655],[117.766834,38.158658],[117.789007,38.180772],[117.808718,38.22827],[117.848754,38.255062],[117.895565,38.301572],[117.948536,38.346644],[117.957775,38.376208],[117.937449,38.387936],[117.84629,38.368232],[117.781,38.373862],[117.730493,38.424985],[117.72495,38.457328],[117.678754,38.477008],[117.644878,38.52759],[117.68553,38.539293],[117.638102,38.54491],[117.639334,38.626776],[117.55803,38.613683],[117.47919,38.616489],[117.432379,38.601524],[117.368937,38.564566],[117.25314,38.556143],[117.238358,38.580943],[117.258684,38.608072],[117.258684,38.608072],[117.213104,38.639866],[117.213104,38.639866],[117.183539,38.61836],[117.183539,38.61836],[117.150894,38.617892],[117.109626,38.584685],[117.070822,38.608072],[117.055424,38.639398],[117.068358,38.680522],[117.038793,38.688464],[116.95133,38.689398],[116.948866,38.689398],[116.950714,38.689398],[116.95133,38.689398],[116.950714,38.689398],[116.948866,38.689398],[116.877417,38.680522],[116.858939,38.741231],[116.794265,38.744498],[116.794265,38.744498],[116.746222,38.754299],[116.737599,38.784629],[116.75115,38.831264],[116.723432,38.852706],[116.722201,38.896968],[116.708034,38.931892],[116.72836,38.975174],[116.754845,39.003084],[116.754229,39.034701],[116.754229,39.034701],[116.783179,39.05097],[116.783179,39.05097],[116.812744,39.05097],[116.812744,39.05097],[116.871874,39.054688],[116.912526,39.110898],[116.91191,39.111362],[116.91191,39.111362],[116.912526,39.110898],[116.909446,39.150822],[116.870026,39.153607],[116.855859,39.215766],[116.881729,39.225966],[116.881729,39.225966],[116.87249,39.291304],[116.889736,39.338068],[116.870642,39.357506],[116.829374,39.338994],[116.818287,39.3737],[116.840461,39.378326],[116.839845,39.413474],[116.876185,39.43474],[116.832454,39.435664],[116.785026,39.465702],[116.820751,39.482332],[116.819519,39.528507],[116.78749,39.554352],[116.808432,39.576497],[116.812128,39.615695],[116.79057,39.595868],[116.748686,39.619844],[116.709266,39.618],[116.726512,39.595407],[116.726512,39.595407],[116.724048,39.59264],[116.723432,39.59264],[116.724048,39.59264],[116.723432,39.59264],[116.664918,39.605552],[116.620571,39.601863],[116.592237,39.621227],[116.592237,39.621227],[116.524484,39.596329],[116.50847,39.551122],[116.473361,39.552968],[116.478289,39.535431],[116.437637,39.526661],[116.443796,39.510041],[116.401912,39.528046],[116.411767,39.482794],[116.444412,39.482332],[116.454883,39.453226],[116.434557,39.442597],[116.361876,39.455074],[116.361876,39.455074],[116.337854,39.455536],[116.307057,39.488337],[116.257782,39.500344],[116.240536,39.564041],[116.198652,39.589412],[116.151841,39.583416],[116.130283,39.567732],[116.09887,39.575113],[116.036044,39.571884],[116.026189,39.587567],[115.995392,39.576958],[115.978146,39.595868],[115.957204,39.560812],[115.910393,39.600479],[115.910393,39.600479],[115.91532,39.582955],[115.91532,39.582955],[115.867893,39.546507],[115.867893,39.546507],[115.828473,39.541431],[115.821081,39.522968],[115.821081,39.522968],[115.806299,39.510041],[115.806299,39.510041],[115.752712,39.515581],[115.738545,39.539585],[115.738545,39.540046],[115.738545,39.539585],[115.738545,39.540046],[115.724995,39.5442],[115.724995,39.5442],[115.722531,39.543738],[115.721299,39.543738],[115.722531,39.543738],[115.722531,39.5442],[115.721299,39.543738],[115.722531,39.5442],[115.720683,39.551122],[115.720683,39.551122],[115.718835,39.553891],[115.718835,39.553891],[115.716988,39.56035],[115.716988,39.56035],[115.699125,39.570039],[115.699125,39.570039],[115.698509,39.577881],[115.698509,39.577881],[115.667712,39.615234],[115.633836,39.599557],[115.633836,39.599557],[115.587024,39.589873],[115.545756,39.618922],[115.518039,39.597252],[115.522351,39.640124],[115.478619,39.650723],[115.478619,39.650723],[115.491554,39.670074],[115.486626,39.741899],[115.439815,39.752022],[115.443511,39.785601],[115.483547,39.798477],[115.483547,39.798477],[115.50572,39.784222],[115.552532,39.794799],[115.567314,39.816407],[115.514344,39.837549],[115.526046,39.87568],[115.515575,39.892212],[115.515575,39.892212],[115.522967,39.899099],[115.481083,39.935819],[115.426264,39.950502],[115.428728,39.984443],[115.450286,39.992697],[115.454597,40.029825],[115.485394,40.040364],[115.527278,40.076092],[115.59072,40.096239],[115.599959,40.119583],[115.75456,40.145663],[115.75456,40.145663],[115.773654,40.176307],[115.806299,40.15344],[115.847567,40.147036],[115.855574,40.188652],[115.870356,40.185909],[115.89869,40.234354],[115.968907,40.264045],[115.95166,40.281852],[115.917784,40.354405],[115.864197,40.359422],[115.771806,40.443734],[115.781045,40.49336],[115.736082,40.503372],[115.755176,40.540221],[115.784741,40.55841],[115.819849,40.55932],[115.827857,40.587504],[115.885139,40.595229],[115.907929,40.617493],[115.971986,40.6025],[115.982457,40.578868],[116.005247,40.583868],[116.09887,40.630665],[116.133979,40.666536],[116.162928,40.662451],[116.171551,40.695582],[116.204812,40.740035],[116.22021,40.744115],[116.247311,40.791707],[116.273181,40.762703],[116.311369,40.754996],[116.316912,40.772221],[116.453651,40.765876],[116.46597,40.774487],[116.438253,40.81934],[116.334159,40.90443],[116.339702,40.929303],[116.370499,40.94377],[116.398216,40.90624],[116.477057,40.899907],[116.447492,40.953715],[116.455499,40.980828],[116.519557,40.98128],[116.519557,40.98128],[116.5676,40.992574],[116.598397,40.974503],[116.623034,41.021026],[116.615643,41.053076],[116.647672,41.059394],[116.688324,41.044501],[116.698795,41.021477],[116.677853,40.970888],[116.722201,40.927495],[116.713577,40.909858],[116.759773,40.889954],[116.81336,40.848319],[116.848468,40.839264],[116.924229,40.773581],[116.926692,40.745022],[116.964881,40.709647],[117.012308,40.693767],[117.11209,40.707379],[117.117018,40.70012],[117.208177,40.694675],[117.278394,40.664267],[117.319662,40.657911],[117.342451,40.673799],[117.408973,40.686961],[117.493973,40.675161],[117.514914,40.660181],[117.501364,40.636569],[117.467487,40.649738],[117.467487,40.649738]]],[[[117.210024,40.082045],[117.204481,40.069681],[117.159517,40.077008],[117.140423,40.064185],[117.105315,40.074261],[117.105315,40.074261],[117.051728,40.059605],[117.025243,40.030283],[116.945171,40.04128],[116.927924,40.055024],[116.867562,40.041739],[116.831222,40.051359],[116.820135,40.02845],[116.781331,40.034866],[116.757925,39.967934],[116.782563,39.947749],[116.78441,39.891294],[116.812128,39.889916],[116.865714,39.843982],[116.907598,39.832494],[116.918069,39.84628],[116.949482,39.778703],[116.902055,39.763523],[116.916837,39.731314],[116.887272,39.72533],[116.889736,39.687576],[116.90575,39.688037],[116.932236,39.706456],[116.932236,39.706456],[116.944555,39.695405],[116.944555,39.695405],[116.948866,39.680668],[116.948866,39.680668],[116.964265,39.64335],[116.983359,39.638742],[116.983359,39.638742],[117.016004,39.653949],[117.10901,39.625375],[117.10901,39.625375],[117.152742,39.623532],[117.177996,39.645194],[117.165061,39.718886],[117.165061,39.718886],[117.161981,39.748801],[117.205713,39.763984],[117.15767,39.796638],[117.156438,39.817326],[117.192162,39.832953],[117.251908,39.834332],[117.247597,39.860981],[117.227887,39.852712],[117.162597,39.876598],[117.162597,39.876598],[117.150894,39.944996],[117.198322,39.992697],[117.192162,40.066475],[117.210024,40.082045]]],[[[117.784696,39.376938],[117.765602,39.400527],[117.699696,39.407463],[117.673211,39.386652],[117.668899,39.412087],[117.614081,39.407001],[117.601146,39.419485],[117.570965,39.404689],[117.521074,39.357043],[117.536472,39.338068],[117.594987,39.349176],[117.669515,39.322792],[117.670747,39.357969],[117.74466,39.354729],[117.784696,39.376938]]],[[[118.869365,39.142932],[118.82009,39.108576],[118.857662,39.098824],[118.869365,39.142932]]]]}},{"type":"Feature","properties":{"adcode":140000,"name":"山西省","center":[112.549248,37.857014],"centroid":[112.304436,37.618179],"childrenNum":11,"level":"province","parent":{"adcode":100000},"subFeatureIndex":3,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[110.379257,34.600612],[110.424837,34.588295],[110.488279,34.610956],[110.533242,34.583368],[110.610851,34.607508],[110.710017,34.605045],[110.749437,34.65232],[110.791937,34.649858],[110.824582,34.615881],[110.883712,34.64395],[110.903422,34.669056],[110.920052,34.730068],[110.976103,34.706456],[111.035233,34.740887],[111.118385,34.756623],[111.148566,34.807742],[111.232949,34.789559],[111.255123,34.819535],[111.29208,34.806759],[111.345666,34.831816],[111.389398,34.815113],[111.439289,34.838202],[111.502731,34.829851],[111.543999,34.853428],[111.570484,34.843114],[111.592042,34.881416],[111.617911,34.894671],[111.646861,34.938836],[111.681969,34.9511],[111.664107,34.984449],[111.740483,35.00455],[111.807005,35.032977],[111.810084,35.062374],[111.933272,35.083435],[111.97762,35.067272],[112.018888,35.068742],[112.039214,35.045717],[112.062004,35.056005],[112.05646,35.098615],[112.066315,35.153437],[112.03983,35.194039],[112.078634,35.219467],[112.058924,35.280069],[112.13838,35.271275],[112.21722,35.253195],[112.242474,35.234622],[112.304684,35.251728],[112.288053,35.219956],[112.36751,35.219956],[112.390915,35.239021],[112.513487,35.218489],[112.637291,35.225822],[112.628052,35.263457],[112.720443,35.206265],[112.772798,35.207732],[112.822073,35.258082],[112.884283,35.243909],[112.934174,35.262968],[112.936022,35.284466],[112.992072,35.29619],[112.985913,35.33965],[112.996384,35.362104],[113.067217,35.353806],[113.126347,35.332327],[113.149137,35.350878],[113.165151,35.412845],[113.185477,35.409431],[113.189789,35.44893],[113.243375,35.449418],[113.304353,35.426989],[113.31236,35.481101],[113.348085,35.468429],[113.391817,35.506925],[113.439244,35.507412],[113.49899,35.532254],[113.513773,35.57364],[113.55812,35.621816],[113.547649,35.656835],[113.578446,35.633491],[113.625258,35.632518],[113.622794,35.674825],[113.592613,35.691838],[113.587685,35.736542],[113.604932,35.797727],[113.582758,35.818111],[113.660982,35.837035],[113.637576,35.870019],[113.654207,35.931586],[113.648663,35.994073],[113.678844,35.985841],[113.694859,36.026991],[113.660366,36.034735],[113.68562,36.056026],[113.671453,36.115514],[113.655439,36.125182],[113.712721,36.129533],[113.705946,36.148865],[113.651127,36.174473],[113.697939,36.181719],[113.681924,36.216491],[113.716417,36.262347],[113.712105,36.303353],[113.736127,36.324571],[113.731199,36.363135],[113.708409,36.423352],[113.670221,36.425278],[113.635729,36.451277],[113.587069,36.460904],[113.554425,36.494589],[113.559968,36.528741],[113.588917,36.547974],[113.569823,36.585947],[113.539642,36.594116],[113.54457,36.62342],[113.486671,36.635427],[113.476816,36.655114],[113.506997,36.705029],[113.465113,36.707908],[113.499606,36.740527],[113.535946,36.732373],[113.549497,36.752515],[113.600004,36.752995],[113.680692,36.789907],[113.676381,36.855539],[113.696707,36.882351],[113.731815,36.878521],[113.731815,36.858891],[113.773083,36.85506],[113.792793,36.894796],[113.76138,36.956034],[113.791561,36.98759],[113.771851,37.016745],[113.788482,37.059739],[113.758301,37.075497],[113.773699,37.107004],[113.773083,37.151855],[113.832213,37.167594],[113.853155,37.215269],[113.886416,37.239095],[113.90243,37.310052],[113.962792,37.355734],[113.973879,37.40329],[114.014531,37.42468],[114.036705,37.494037],[114.118625,37.59084],[114.115545,37.619761],[114.139567,37.675676],[114.12848,37.698409],[114.068118,37.721608],[113.993589,37.706932],[113.996669,37.730128],[114.044712,37.761834],[114.006524,37.813386],[113.976959,37.816696],[113.959097,37.906468],[113.936307,37.922993],[113.901198,37.984811],[113.872249,37.990471],[113.876561,38.055059],[113.811271,38.117707],[113.831597,38.16854],[113.797105,38.162894],[113.720728,38.174656],[113.711489,38.213695],[113.678844,38.20523],[113.64312,38.232031],[113.598772,38.22733],[113.570439,38.237202],[113.54457,38.270569],[113.557504,38.343359],[113.525475,38.383245],[113.537794,38.417952],[113.583374,38.459671],[113.546417,38.492936],[113.561816,38.558483],[113.603084,38.587024],[113.612939,38.645942],[113.70225,38.651551],[113.720728,38.713218],[113.775547,38.709949],[113.802648,38.763166],[113.839605,38.7585],[113.836525,38.795824],[113.855619,38.828933],[113.795257,38.860628],[113.776163,38.885788],[113.76754,38.959819],[113.776779,38.986804],[113.80696,38.989595],[113.898119,39.067699],[113.930148,39.063517],[113.961561,39.100681],[113.994821,39.095572],[114.006524,39.122971],[114.050872,39.135969],[114.064422,39.094179],[114.082901,39.09325],[114.082901,39.09325],[114.10877,39.052364],[114.157429,39.061194],[114.180835,39.049111],[114.252284,39.073739],[114.345907,39.075133],[114.369928,39.107648],[114.360689,39.134112],[114.388406,39.176807],[114.443841,39.174023],[114.47587,39.21623],[114.416124,39.242654],[114.437066,39.259337],[114.430906,39.307513],[114.466631,39.329736],[114.469095,39.400989],[114.496812,39.438437],[114.501739,39.476789],[114.532536,39.486027],[114.568877,39.573729],[114.51529,39.564964],[114.49558,39.608318],[114.431522,39.613851],[114.408117,39.652106],[114.409964,39.761683],[114.41674,39.775943],[114.390254,39.819165],[114.406885,39.833413],[114.395182,39.867412],[114.285545,39.858225],[114.286776,39.871087],[114.215943,39.8619],[114.204241,39.885324],[114.229494,39.899558],[114.212248,39.918839],[114.17406,39.897722],[114.067502,39.922511],[114.047176,39.916085],[114.028082,39.959218],[114.029314,39.985819],[113.910438,40.015618],[113.959097,40.033491],[113.989278,40.11226],[114.018227,40.103563],[114.045944,40.056856],[114.086596,40.071513],[114.101995,40.099901],[114.073046,40.168533],[114.073046,40.168533],[114.097683,40.193681],[114.135871,40.175392],[114.180219,40.191395],[114.235654,40.198252],[114.255364,40.236182],[114.292936,40.230242],[114.362537,40.249886],[114.406269,40.246232],[114.46971,40.268155],[114.510978,40.302851],[114.530688,40.345283],[114.481413,40.34802],[114.438914,40.371733],[114.390254,40.351213],[114.381015,40.36307],[114.31203,40.372645],[114.286161,40.425057],[114.299711,40.44009],[114.267066,40.474242],[114.282465,40.494725],[114.293552,40.55159],[114.273842,40.552954],[114.283081,40.590685],[114.236269,40.607043],[114.183299,40.67153],[114.162357,40.71373],[114.134639,40.737314],[114.084748,40.729605],[114.063806,40.706925],[114.07243,40.679246],[114.041633,40.608861],[114.076741,40.575686],[114.080437,40.547952],[114.061959,40.52885],[114.011452,40.515657],[113.948626,40.514747],[113.890112,40.466503],[113.850691,40.460583],[113.794641,40.517932],[113.763228,40.473787],[113.688699,40.448288],[113.559968,40.348476],[113.500222,40.334335],[113.387505,40.319279],[113.316672,40.319736],[113.27602,40.388601],[113.251382,40.413211],[113.083231,40.374925],[113.03334,40.368997],[112.898449,40.329317],[112.848558,40.206937],[112.744464,40.167161],[112.712436,40.178593],[112.6299,40.235725],[112.511639,40.269068],[112.456205,40.300112],[112.418017,40.295091],[112.349031,40.257194],[112.310227,40.256281],[112.299756,40.21105],[112.232619,40.169905],[112.232003,40.133311],[112.183344,40.083877],[112.182112,40.061437],[112.142076,40.027076],[112.133453,40.001866],[112.07617,39.919298],[112.042294,39.886243],[112.012729,39.827438],[111.970229,39.796638],[111.959758,39.692642],[111.925265,39.66731],[111.9382,39.623071],[111.87907,39.606013],[111.842729,39.620305],[111.783599,39.58895],[111.722621,39.606013],[111.659179,39.641507],[111.625303,39.633672],[111.525521,39.662242],[111.497187,39.661781],[111.445448,39.640124],[111.460847,39.606935],[111.441137,39.59679],[111.422043,39.539123],[111.431282,39.508656],[111.372152,39.479099],[111.358601,39.432428],[111.337043,39.420872],[111.171971,39.423183],[111.143022,39.407926],[111.125776,39.366297],[111.159037,39.362596],[111.155341,39.338531],[111.186138,39.35149],[111.179363,39.326959],[111.202152,39.305197],[111.247732,39.302419],[111.213239,39.257021],[111.219399,39.244044],[111.163348,39.152678],[111.173819,39.135041],[111.147334,39.100681],[111.138095,39.064447],[111.094363,39.030053],[111.038313,39.020289],[110.998276,38.998433],[110.980414,38.970056],[111.009979,38.932823],[111.016755,38.889981],[110.995813,38.868084],[111.009363,38.847579],[110.965016,38.755699],[110.915125,38.704345],[110.916357,38.673981],[110.880632,38.626776],[110.898494,38.587024],[110.920052,38.581878],[110.907733,38.521035],[110.870777,38.510265],[110.874473,38.453579],[110.840596,38.439986],[110.796864,38.453579],[110.77777,38.440924],[110.746973,38.366355],[110.701394,38.353215],[110.661358,38.308617],[110.601612,38.308147],[110.57759,38.297345],[110.565887,38.215105],[110.528315,38.211814],[110.509221,38.192061],[110.519692,38.130889],[110.501829,38.097929],[110.507989,38.013107],[110.528315,37.990471],[110.522771,37.955088],[110.59422,37.922049],[110.680452,37.790216],[110.735886,37.77035],[110.750669,37.736281],[110.716792,37.728708],[110.706321,37.705511],[110.775306,37.680886],[110.793169,37.650567],[110.763604,37.639668],[110.771611,37.594634],[110.795017,37.558586],[110.770995,37.538184],[110.759292,37.474567],[110.740198,37.44939],[110.644111,37.435135],[110.630561,37.372858],[110.641648,37.360015],[110.695234,37.34955],[110.678604,37.317668],[110.690307,37.287201],[110.661974,37.281963],[110.651503,37.256722],[110.590525,37.187145],[110.53509,37.138021],[110.535706,37.115118],[110.49567,37.086956],[110.460561,37.044932],[110.417446,37.027257],[110.426685,37.008621],[110.382953,37.022001],[110.381721,37.002408],[110.424221,36.963685],[110.408823,36.892403],[110.376178,36.882351],[110.424221,36.855539],[110.406975,36.824886],[110.423605,36.818179],[110.407591,36.776007],[110.447011,36.737649],[110.438388,36.685835],[110.402663,36.697352],[110.394656,36.676716],[110.426685,36.657514],[110.447627,36.621018],[110.496902,36.582102],[110.488895,36.556628],[110.503677,36.488335],[110.47288,36.453203],[110.489511,36.430094],[110.487047,36.393972],[110.459946,36.327946],[110.474112,36.306729],[110.474112,36.248352],[110.45625,36.22663],[110.447011,36.164328],[110.467953,36.074893],[110.491974,36.034735],[110.49259,35.994073],[110.516612,35.971796],[110.502445,35.947575],[110.516612,35.918501],[110.511684,35.879718],[110.549257,35.877778],[110.550489,35.838005],[110.571431,35.800639],[110.57759,35.701559],[110.609619,35.632031],[110.589293,35.602355],[110.567735,35.539559],[110.531394,35.511309],[110.477808,35.413821],[110.45009,35.327933],[110.374946,35.251728],[110.378642,35.210666],[110.364475,35.197952],[110.373714,35.134351],[110.320743,35.00504],[110.262229,34.944233],[110.230816,34.880925],[110.246831,34.789068],[110.243135,34.725641],[110.229584,34.692679],[110.269004,34.629671],[110.29549,34.610956],[110.379257,34.600612]]]]}},{"type":"Feature","properties":{"adcode":150000,"name":"内蒙古自治区","center":[111.670801,40.818311],"centroid":[114.077429,44.331087],"childrenNum":12,"level":"province","parent":{"adcode":100000},"subFeatureIndex":4,"acroutes":[100000]},"geometry":{"type":"Polygon","coordinates":[[[97.172903,42.795257],[97.371235,42.457076],[97.500582,42.243894],[97.653335,41.986856],[97.84674,41.656379],[97.613915,41.477276],[97.629314,41.440498],[97.903407,41.168057],[97.971776,41.09774],[98.142391,41.001607],[98.184891,40.988056],[98.25018,40.93925],[98.333332,40.918903],[98.344419,40.568413],[98.627751,40.677884],[98.569853,40.746836],[98.668403,40.773128],[98.689345,40.691952],[98.72199,40.657911],[98.762642,40.639748],[98.802678,40.607043],[98.80699,40.660181],[98.790975,40.705564],[98.984996,40.782644],[99.041662,40.693767],[99.102025,40.676522],[99.12543,40.715091],[99.172858,40.747289],[99.174705,40.858278],[99.565827,40.846961],[99.673,40.93292],[99.985897,40.909858],[100.057346,40.908049],[100.107853,40.875475],[100.224882,40.727337],[100.237201,40.716905],[100.242744,40.618855],[100.169447,40.541131],[100.169447,40.277743],[100.007455,40.20008],[99.955716,40.150695],[99.927383,40.063727],[99.841152,40.013326],[99.751225,40.006909],[99.714268,39.972061],[99.533182,39.891753],[99.491298,39.884406],[99.459885,39.898181],[99.440791,39.885783],[99.469124,39.875221],[99.672384,39.888079],[99.822058,39.860063],[99.904593,39.785601],[99.958796,39.769504],[100.040716,39.757083],[100.128179,39.702312],[100.250135,39.685274],[100.314193,39.606935],[100.301258,39.572345],[100.326512,39.509118],[100.44354,39.485565],[100.500823,39.481408],[100.498975,39.400527],[100.606764,39.387577],[100.707778,39.404689],[100.842053,39.405614],[100.842669,39.199999],[100.864227,39.106719],[100.829118,39.075133],[100.835278,39.025869],[100.875314,39.002619],[100.901799,39.030053],[100.961545,39.005874],[100.969553,38.946788],[101.117378,38.975174],[101.228863,39.020754],[101.198682,38.943064],[101.237486,38.907214],[101.24303,38.860628],[101.33542,38.847113],[101.34158,38.822406],[101.307087,38.80282],[101.331109,38.777164],[101.412413,38.764099],[101.562702,38.713218],[101.601506,38.65529],[101.672955,38.6908],[101.777049,38.66043],[101.873751,38.733761],[101.941505,38.808883],[102.075164,38.891378],[102.045599,38.904885],[101.955055,38.985874],[101.926106,39.000758],[101.833715,39.08907],[101.902701,39.111827],[102.012338,39.127149],[102.050526,39.141075],[102.276576,39.188868],[102.3548,39.231993],[102.45335,39.255167],[102.579002,39.183301],[102.616574,39.171703],[102.883892,39.120649],[103.007696,39.099753],[103.133347,39.192579],[103.188166,39.215302],[103.259615,39.263971],[103.344615,39.331588],[103.428998,39.353341],[103.595302,39.386652],[103.728961,39.430117],[103.85338,39.461543],[103.955626,39.456923],[104.089901,39.419947],[104.073271,39.351953],[104.047401,39.297788],[104.171205,39.160567],[104.207546,39.083495],[104.190915,39.042139],[104.196459,38.9882],[104.173053,38.94446],[104.044322,38.895105],[104.011677,38.85923],[103.85954,38.64454],[103.416063,38.404821],[103.465339,38.353215],[103.507838,38.280905],[103.53494,38.156776],[103.368636,38.08898],[103.362477,38.037621],[103.40744,37.860651],[103.627947,37.797783],[103.683381,37.777919],[103.841062,37.64725],[103.874938,37.604117],[103.935916,37.572818],[104.089285,37.465067],[104.183524,37.406618],[104.237727,37.411847],[104.287002,37.428007],[104.322726,37.44844],[104.407726,37.464592],[104.419429,37.511604],[104.433595,37.515402],[104.623305,37.522522],[104.805007,37.539133],[104.866601,37.566651],[105.027977,37.580881],[105.111128,37.633981],[105.187505,37.657674],[105.221998,37.677097],[105.315004,37.702197],[105.4037,37.710246],[105.467141,37.695094],[105.598952,37.699356],[105.616199,37.722555],[105.622358,37.777919],[105.677177,37.771769],[105.760944,37.799674],[105.80406,37.862068],[105.799749,37.939986],[105.840401,38.004147],[105.780655,38.084741],[105.76772,38.121474],[105.775111,38.186887],[105.802828,38.220277],[105.842248,38.240962],[105.86627,38.296406],[105.821307,38.366824],[105.835473,38.387467],[105.827466,38.432486],[105.850872,38.443736],[105.836705,38.476071],[105.863806,38.53508],[105.856415,38.569714],[105.874277,38.593105],[105.852719,38.641735],[105.894603,38.696405],[105.88598,38.716953],[105.908154,38.737496],[105.909386,38.791159],[105.992538,38.857366],[105.97098,38.909077],[106.021487,38.953769],[106.060907,38.96866],[106.087392,39.006339],[106.078153,39.026333],[106.096631,39.084889],[106.145907,39.153142],[106.170544,39.163352],[106.192718,39.142932],[106.251232,39.131327],[106.285109,39.146181],[106.29558,39.167992],[106.280181,39.262118],[106.402753,39.291767],[106.511774,39.272311],[106.525325,39.308439],[106.556122,39.322329],[106.602318,39.37555],[106.643586,39.357969],[106.683622,39.357506],[106.751375,39.381564],[106.781556,39.371849],[106.806809,39.318625],[106.806193,39.277407],[106.790795,39.241263],[106.795723,39.214375],[106.825288,39.19397],[106.859164,39.107648],[106.878874,39.091392],[106.933693,39.076527],[106.96757,39.054688],[106.971881,39.026333],[106.954019,38.941202],[106.837606,38.847579],[106.756302,38.748699],[106.709491,38.718821],[106.66268,38.601524],[106.647897,38.470917],[106.599854,38.389812],[106.482209,38.319417],[106.555506,38.263521],[106.627571,38.232501],[106.654672,38.22921],[106.737824,38.197706],[106.779092,38.171833],[106.858548,38.156306],[106.942316,38.132302],[107.010069,38.120532],[107.051337,38.122886],[107.071047,38.138892],[107.119091,38.134185],[107.138801,38.161011],[107.19054,38.153953],[107.240431,38.111586],[107.33159,38.086625],[107.3938,38.014993],[107.440611,37.995659],[107.411662,37.948009],[107.448618,37.933378],[107.49235,37.944706],[107.560719,37.893717],[107.65003,37.86443],[107.684523,37.888522],[107.732566,37.84931],[107.842819,37.828987],[107.884703,37.808186],[107.982022,37.787378],[107.993109,37.735335],[108.025753,37.696041],[108.012819,37.66857],[108.025137,37.649619],[108.055318,37.652462],[108.134159,37.622131],[108.193905,37.638246],[108.205608,37.655779],[108.24626,37.665728],[108.293071,37.656726],[108.301078,37.640616],[108.422418,37.648672],[108.485244,37.678044],[108.532671,37.690832],[108.628142,37.651988],[108.699591,37.669518],[108.720533,37.683728],[108.777815,37.683728],[108.791982,37.700303],[108.784591,37.764673],[108.799989,37.784068],[108.791982,37.872934],[108.798141,37.93385],[108.82709,37.989056],[108.797525,38.04799],[108.830786,38.049875],[108.883141,38.01405],[108.893612,37.978207],[108.93488,37.922521],[108.9743,37.931962],[108.982923,37.964053],[109.018648,37.971602],[109.037742,38.021593],[109.06977,38.023008],[109.050676,38.055059],[109.069155,38.091336],[108.964445,38.154894],[108.938575,38.207582],[108.976148,38.245192],[108.961981,38.26493],[109.007561,38.359316],[109.051292,38.385122],[109.054372,38.433892],[109.128901,38.480288],[109.175712,38.518694],[109.196654,38.552867],[109.276726,38.623035],[109.331545,38.597783],[109.367269,38.627711],[109.329081,38.66043],[109.338936,38.701542],[109.404226,38.720689],[109.444262,38.782763],[109.511399,38.833595],[109.549587,38.805618],[109.624116,38.85457],[109.672159,38.928167],[109.685094,38.968195],[109.665384,38.981687],[109.72513,39.018429],[109.762086,39.057476],[109.793499,39.074204],[109.851397,39.122971],[109.890818,39.103932],[109.92223,39.107183],[109.893897,39.141075],[109.961035,39.191651],[109.871723,39.243581],[109.90252,39.271848],[109.962267,39.212056],[110.041107,39.21623],[110.109476,39.249606],[110.217881,39.281113],[110.184005,39.355192],[110.161831,39.387115],[110.136577,39.39174],[110.12549,39.432891],[110.152592,39.45415],[110.243751,39.423645],[110.257917,39.407001],[110.385417,39.310291],[110.429764,39.341308],[110.434692,39.381101],[110.482735,39.360745],[110.524003,39.382952],[110.559728,39.351027],[110.566503,39.320014],[110.596684,39.282966],[110.626249,39.266751],[110.702626,39.273701],[110.731575,39.30705],[110.73835,39.348713],[110.782698,39.38804],[110.869545,39.494341],[110.891103,39.509118],[110.958856,39.519275],[111.017371,39.552045],[111.101138,39.559428],[111.136863,39.587106],[111.154725,39.569116],[111.148566,39.531277],[111.10545,39.497573],[111.10545,39.472631],[111.058639,39.447681],[111.064182,39.400989],[111.098059,39.401914],[111.087588,39.376013],[111.125776,39.366297],[111.143022,39.407926],[111.171971,39.423183],[111.337043,39.420872],[111.358601,39.432428],[111.372152,39.479099],[111.431282,39.508656],[111.422043,39.539123],[111.441137,39.59679],[111.460847,39.606935],[111.445448,39.640124],[111.497187,39.661781],[111.525521,39.662242],[111.625303,39.633672],[111.659179,39.641507],[111.722621,39.606013],[111.783599,39.58895],[111.842729,39.620305],[111.87907,39.606013],[111.9382,39.623071],[111.925265,39.66731],[111.959758,39.692642],[111.970229,39.796638],[112.012729,39.827438],[112.042294,39.886243],[112.07617,39.919298],[112.133453,40.001866],[112.142076,40.027076],[112.182112,40.061437],[112.183344,40.083877],[112.232003,40.133311],[112.232619,40.169905],[112.299756,40.21105],[112.310227,40.256281],[112.349031,40.257194],[112.418017,40.295091],[112.456205,40.300112],[112.511639,40.269068],[112.6299,40.235725],[112.712436,40.178593],[112.744464,40.167161],[112.848558,40.206937],[112.898449,40.329317],[113.03334,40.368997],[113.083231,40.374925],[113.251382,40.413211],[113.27602,40.388601],[113.316672,40.319736],[113.387505,40.319279],[113.500222,40.334335],[113.559968,40.348476],[113.688699,40.448288],[113.763228,40.473787],[113.794641,40.517932],[113.850691,40.460583],[113.890112,40.466503],[113.948626,40.514747],[114.011452,40.515657],[114.061959,40.52885],[114.080437,40.547952],[114.076741,40.575686],[114.041633,40.608861],[114.07243,40.679246],[114.063806,40.706925],[114.084748,40.729605],[114.134639,40.737314],[114.103227,40.770861],[114.104458,40.797597],[114.080437,40.790348],[114.044712,40.830661],[114.073661,40.857372],[114.055183,40.867782],[114.041633,40.917546],[114.057647,40.925234],[113.994821,40.938798],[113.973263,40.983087],[113.868554,41.06887],[113.819279,41.09774],[113.877793,41.115777],[113.920293,41.172112],[113.960945,41.171211],[113.996669,41.19238],[114.016379,41.231999],[113.992357,41.269794],[113.971416,41.239649],[113.95109,41.282837],[113.914749,41.294529],[113.899351,41.316108],[113.92522,41.325546],[113.94493,41.392477],[113.871017,41.413126],[113.877793,41.431076],[113.919677,41.454404],[113.933227,41.487139],[113.953553,41.483553],[113.976959,41.505966],[114.032394,41.529715],[114.101379,41.537779],[114.230726,41.513584],[114.221487,41.582111],[114.226414,41.616572],[114.259059,41.623282],[114.215328,41.68499],[114.237501,41.698843],[114.206704,41.7386],[114.215328,41.75646],[114.200545,41.789934],[114.282465,41.863517],[114.343443,41.926774],[114.352066,41.953484],[114.419203,41.942356],[114.478334,41.951704],[114.511594,41.981962],[114.467863,42.025989],[114.480181,42.064654],[114.502355,42.06732],[114.510978,42.110844],[114.560254,42.132595],[114.647717,42.109512],[114.675434,42.12061],[114.75489,42.115727],[114.789383,42.130819],[114.79431,42.149457],[114.825723,42.139695],[114.86268,42.097967],[114.860832,42.054879],[114.9021,42.015763],[114.915035,41.960605],[114.923658,41.871093],[114.939056,41.846132],[114.922426,41.825175],[114.868839,41.813579],[114.89594,41.76762],[114.902716,41.695715],[114.895325,41.636255],[114.860832,41.60091],[115.016049,41.615229],[115.056085,41.602253],[115.0992,41.62373],[115.195287,41.602253],[115.20391,41.571367],[115.256881,41.580768],[115.26612,41.616124],[115.290142,41.622835],[115.310468,41.592854],[115.377605,41.603148],[115.345576,41.635807],[115.360975,41.661297],[115.319091,41.691693],[115.346808,41.712247],[115.42996,41.728775],[115.488474,41.760924],[115.519887,41.76762],[115.57409,41.80555],[115.654162,41.829189],[115.688038,41.867528],[115.726227,41.870202],[115.811226,41.912525],[115.834632,41.93835],[115.85311,41.927665],[115.916552,41.945027],[115.954124,41.874213],[115.994776,41.828743],[116.007095,41.797966],[116.007095,41.79752],[116.034196,41.782795],[116.09887,41.776547],[116.129051,41.805996],[116.106877,41.831419],[116.122892,41.861734],[116.194341,41.861734],[116.212819,41.885352],[116.223906,41.932562],[116.298434,41.96817],[116.310137,41.997086],[116.373579,42.009983],[116.414231,41.982407],[116.393289,41.942802],[116.453651,41.945917],[116.4826,41.975734],[116.510933,41.974399],[116.553433,41.928555],[116.597165,41.935679],[116.639049,41.929891],[116.66923,41.947698],[116.727744,41.951259],[116.748686,41.984186],[116.796113,41.977958],[116.879881,42.018431],[116.890352,42.092639],[116.850316,42.156556],[116.825062,42.155669],[116.789338,42.200462],[116.903287,42.190708],[116.918685,42.229716],[116.897743,42.297479],[116.886656,42.366496],[116.910678,42.394789],[116.910062,42.395231],[116.921765,42.403628],[116.936547,42.410256],[116.944555,42.415116],[116.97104,42.427486],[116.974736,42.426603],[116.99075,42.425719],[117.005533,42.43367],[117.009228,42.44957],[117.01662,42.456193],[117.080061,42.463699],[117.09546,42.484004],[117.135496,42.468996],[117.188467,42.468114],[117.275314,42.481797],[117.332596,42.46105],[117.390495,42.461933],[117.413284,42.471645],[117.410205,42.519743],[117.387415,42.517537],[117.434226,42.557224],[117.435458,42.585431],[117.475494,42.602613],[117.530313,42.590278],[117.537088,42.603054],[117.60053,42.603054],[117.667051,42.582347],[117.708935,42.588515],[117.779768,42.61847],[117.801326,42.612744],[117.797631,42.585431],[117.856761,42.539148],[117.874007,42.510038],[117.997811,42.416884],[118.024296,42.385064],[118.008898,42.346595],[118.060021,42.298364],[118.047702,42.280656],[117.974405,42.25054],[117.977485,42.229716],[118.033535,42.199132],[118.106216,42.172082],[118.089586,42.12283],[118.097593,42.105072],[118.155491,42.081091],[118.116687,42.037102],[118.194296,42.031324],[118.220165,42.058434],[118.212774,42.081091],[118.239259,42.092639],[118.27252,42.083312],[118.296541,42.057545],[118.286686,42.033991],[118.239875,42.024655],[118.291614,42.007759],[118.313788,41.98819],[118.306396,41.940131],[118.268824,41.930336],[118.340273,41.87243],[118.335346,41.845241],[118.29223,41.772976],[118.247266,41.773869],[118.236179,41.80778],[118.178281,41.814917],[118.140093,41.784134],[118.132702,41.733241],[118.155491,41.712694],[118.159187,41.67605],[118.206614,41.650566],[118.215237,41.59554],[118.302701,41.55256],[118.315636,41.512688],[118.271904,41.471446],[118.327338,41.450816],[118.348896,41.428384],[118.361215,41.384844],[118.348896,41.342622],[118.380309,41.312062],[118.412338,41.331838],[118.528135,41.355202],[118.629765,41.346666],[118.677192,41.35026],[118.741866,41.324198],[118.770199,41.352956],[118.843496,41.374516],[118.844727,41.342622],[118.890923,41.300823],[118.949437,41.317906],[118.980234,41.305769],[119.092951,41.293629],[119.168712,41.294978],[119.197661,41.282837],[119.211827,41.308016],[119.239545,41.31431],[119.296211,41.325097],[119.330704,41.385293],[119.309762,41.405944],[119.376283,41.422102],[119.378131,41.459787],[119.401537,41.472343],[119.406464,41.503276],[119.361501,41.545841],[119.362116,41.566442],[119.420015,41.567785],[119.415703,41.590169],[119.342406,41.617914],[119.307914,41.657273],[119.299907,41.705545],[119.319001,41.727435],[119.317769,41.764049],[119.292515,41.790827],[119.312841,41.80555],[119.334399,41.871539],[119.323312,41.889807],[119.340559,41.926774],[119.323928,41.937014],[119.324544,41.969505],[119.375667,42.023322],[119.384906,42.08953],[119.352261,42.118391],[119.314689,42.119723],[119.30853,42.147239],[119.286972,42.154781],[119.277733,42.185387],[119.237697,42.200905],[119.274037,42.239021],[119.280197,42.260728],[119.34795,42.300578],[119.432949,42.317396],[119.482841,42.347037],[119.502551,42.388159],[119.540123,42.363401],[119.572152,42.359421],[119.571536,42.335536],[119.539507,42.297922],[119.557985,42.289068],[119.609108,42.276671],[119.617115,42.252755],[119.679941,42.240793],[119.744615,42.211545],[119.841933,42.215534],[119.854868,42.170308],[119.837622,42.135257],[119.845629,42.097079],[119.87581,42.077982],[119.897368,42.030879],[119.921389,42.014429],[119.924469,41.98908],[119.950954,41.974399],[119.954034,41.923212],[119.989759,41.899163],[120.023019,41.816701],[120.041498,41.818932],[120.050737,41.776101],[120.024867,41.737707],[120.035954,41.708226],[120.096316,41.697056],[120.1382,41.729221],[120.127113,41.77253],[120.183164,41.826513],[120.188707,41.848361],[120.215808,41.853265],[120.251533,41.884016],[120.286641,41.880005],[120.290337,41.897381],[120.260156,41.904062],[120.271859,41.925439],[120.318054,41.93746],[120.309431,41.951704],[120.373489,41.994862],[120.399358,41.984631],[120.456641,42.016208],[120.450481,42.057101],[120.493597,42.073539],[120.466496,42.105516],[120.56751,42.152119],[120.58414,42.167203],[120.624792,42.154338],[120.72211,42.203565],[120.745516,42.223512],[120.79048,42.218636],[120.820661,42.227943],[120.8299,42.252755],[120.883487,42.242565],[120.883487,42.269585],[120.933994,42.27977],[120.992508,42.264714],[121.028848,42.242565],[121.070732,42.254083],[121.087978,42.278885],[121.120623,42.280656],[121.133558,42.300135],[121.184681,42.333324],[121.218558,42.371802],[121.285079,42.387717],[121.314644,42.42837],[121.304789,42.435879],[121.386093,42.474294],[121.434752,42.475176],[121.4791,42.49636],[121.506201,42.482239],[121.570875,42.487093],[121.607831,42.516214],[121.604136,42.495037],[121.66573,42.437204],[121.69899,42.438529],[121.747649,42.484887],[121.803084,42.514891],[121.817867,42.504303],[121.831417,42.533856],[121.844352,42.522389],[121.889931,42.556784],[121.921344,42.605697],[121.915801,42.656332],[121.94167,42.666014],[121.939207,42.688453],[122.018663,42.69901],[122.062394,42.723635],[122.072865,42.710444],[122.160945,42.684934],[122.204676,42.685374],[122.204676,42.732867],[122.261343,42.695931],[122.324785,42.684934],[122.338951,42.669975],[122.396234,42.684054],[122.396234,42.707366],[122.460907,42.755282],[122.439349,42.770221],[122.371596,42.776371],[122.35127,42.830378],[122.436886,42.843105],[122.556378,42.827745],[122.576088,42.819405],[122.580399,42.789987],[122.624747,42.773296],[122.653696,42.78252],[122.733152,42.786034],[122.73808,42.77066],[122.786123,42.757479],[122.848949,42.712203],[122.883442,42.751766],[122.887137,42.770221],[122.925941,42.772417],[122.945651,42.753524],[122.980144,42.777689],[123.058368,42.768903],[123.118114,42.801405],[123.227752,42.831695],[123.169853,42.859777],[123.188947,42.895739],[123.18402,42.925983],[123.259165,42.993431],[123.323222,43.000872],[123.434707,43.027565],[123.474743,43.042438],[123.536337,43.007],[123.572678,43.003498],[123.580685,43.036314],[123.631192,43.088346],[123.636119,43.141644],[123.666916,43.179623],[123.645974,43.208855],[123.676771,43.223684],[123.664453,43.264663],[123.698329,43.272071],[123.703873,43.37047],[123.608402,43.366119],[123.54496,43.415262],[123.519707,43.402219],[123.486446,43.44525],[123.442098,43.437863],[123.419925,43.410046],[123.382968,43.469143],[123.36449,43.483475],[123.315831,43.492159],[123.329998,43.519071],[123.304744,43.550742],[123.360179,43.567223],[123.452569,43.545971],[123.461193,43.568523],[123.434091,43.575461],[123.421157,43.598435],[123.5117,43.592801],[123.510468,43.624867],[123.536953,43.633964],[123.518475,43.682024],[123.520323,43.708419],[123.48275,43.737396],[123.498149,43.771114],[123.461809,43.822518],[123.467968,43.853599],[123.397135,43.954929],[123.37065,43.970006],[123.400831,43.979481],[123.365722,44.013922],[123.331229,44.028984],[123.32815,44.084035],[123.350939,44.092633],[123.362642,44.133452],[123.386664,44.161794],[123.323838,44.179823],[123.286882,44.211574],[123.277027,44.25274],[123.196955,44.34483],[123.128585,44.367081],[123.114419,44.40258],[123.142136,44.428228],[123.125506,44.455147],[123.137209,44.486322],[123.12489,44.5098],[123.06576,44.505959],[123.025108,44.493153],[122.85634,44.398304],[122.76087,44.369648],[122.702971,44.319145],[122.675254,44.285738],[122.641993,44.283595],[122.515726,44.251025],[122.483081,44.236877],[122.319241,44.233018],[122.271198,44.255741],[122.291524,44.310152],[122.294604,44.41113],[122.28598,44.477783],[122.228082,44.480345],[122.224386,44.526016],[122.196053,44.559712],[122.13138,44.577619],[122.113517,44.615546],[122.103046,44.67388],[122.117213,44.701961],[122.161561,44.728328],[122.152322,44.744057],[122.10243,44.736406],[122.110438,44.767856],[122.142467,44.753833],[122.168952,44.770405],[122.099967,44.7823],[122.098119,44.81882],[122.04946,44.912985],[122.079025,44.914256],[122.087032,44.95281],[122.074713,45.006573],[122.098735,45.02138],[122.119677,45.068739],[122.109822,45.142236],[122.143082,45.183167],[122.192358,45.180636],[122.22993,45.206784],[122.239169,45.276313],[122.147394,45.295682],[122.146778,45.374352],[122.180039,45.409655],[122.168336,45.439897],[122.064242,45.472641],[122.002648,45.507882],[121.993409,45.552741],[121.966308,45.596308],[121.995873,45.59882],[122.003264,45.623102],[121.970004,45.692956],[121.934279,45.71051],[121.867142,45.719703],[121.812323,45.704659],[121.811091,45.687103],[121.713773,45.701734],[121.666345,45.727641],[121.644172,45.752284],[121.657106,45.770238],[121.697142,45.76314],[121.754425,45.794862],[121.766744,45.830318],[121.769823,45.84366],[121.817251,45.875336],[121.805548,45.900746],[121.821562,45.918235],[121.809243,45.961102],[121.761816,45.998947],[121.819098,46.023054],[121.843736,46.024301],[121.864062,46.002272],[121.923808,46.004767],[121.92812,45.988552],[122.040221,45.959022],[122.085184,45.912406],[122.091344,45.882002],[122.200981,45.857],[122.236705,45.831569],[122.253952,45.7982],[122.301379,45.813218],[122.337719,45.859917],[122.372828,45.856166],[122.362357,45.917403],[122.446125,45.916986],[122.496016,45.85825],[122.504639,45.786933],[122.522501,45.786933],[122.556378,45.82156],[122.603189,45.778169],[122.640761,45.771072],[122.650001,45.731401],[122.671558,45.70048],[122.741775,45.705077],[122.751015,45.735996],[122.792283,45.766063],[122.752246,45.834905],[122.772572,45.856583],[122.80029,45.856583],[122.828623,45.912406],[122.792898,46.073313],[123.04605,46.099878],[123.070071,46.123527],[123.112571,46.130163],[123.102716,46.172037],[123.127354,46.174523],[123.128585,46.210565],[123.178476,46.248239],[123.142136,46.298293],[123.089781,46.347888],[123.011557,46.434984],[123.010325,46.524823],[123.002318,46.574624],[123.052825,46.579972],[123.04605,46.617803],[123.077462,46.622324],[123.098404,46.603002],[123.18094,46.614103],[123.228368,46.588198],[123.279491,46.616981],[123.276411,46.660947],[123.318295,46.662179],[123.366338,46.677784],[123.474743,46.686817],[123.603475,46.68928],[123.631808,46.728675],[123.629344,46.813524],[123.580069,46.827447],[123.625648,46.847508],[123.599163,46.868378],[123.605322,46.891286],[123.576989,46.891286],[123.575757,46.845461],[123.562823,46.82581],[123.506772,46.827038],[123.483366,46.84587],[123.52833,46.944836],[123.487678,46.959951],[123.42362,46.934212],[123.337389,46.988943],[123.301664,46.999965],[123.304128,46.964852],[123.360179,46.970978],[123.404526,46.935438],[123.40699,46.906416],[123.374345,46.837683],[123.341084,46.826628],[123.295505,46.865105],[123.221592,46.850373],[123.22344,46.821305],[123.198802,46.803283],[123.163694,46.74016],[123.103332,46.734828],[123.076846,46.745082],[123.026339,46.718829],[123.00355,46.730726],[122.996774,46.761483],[122.906847,46.80738],[122.893913,46.895376],[122.895144,46.960359],[122.83971,46.937072],[122.791051,46.941567],[122.798442,46.9575],[122.77442,46.973837],[122.778116,47.002822],[122.845869,47.046881],[122.852645,47.072158],[122.821232,47.065636],[122.710363,47.093349],[122.679566,47.094164],[122.615508,47.124306],[122.582863,47.158092],[122.531124,47.198771],[122.498479,47.255262],[122.462755,47.27841],[122.441197,47.310476],[122.418407,47.350632],[122.507103,47.401291],[122.543443,47.495589],[122.59395,47.54732],[122.765181,47.614333],[122.848949,47.67441],[122.926557,47.697777],[123.041122,47.746492],[123.161846,47.781892],[123.214201,47.824502],[123.256085,47.876711],[123.300432,47.953723],[123.537569,48.021816],[123.579453,48.045427],[123.705105,48.152142],[123.746373,48.197638],[123.862785,48.271782],[124.019234,48.39313],[124.07898,48.43603],[124.136878,48.463023],[124.25945,48.536385],[124.314269,48.503881],[124.302566,48.456673],[124.330283,48.435633],[124.309957,48.413393],[124.331515,48.380015],[124.317964,48.35099],[124.353689,48.315978],[124.365392,48.283731],[124.422058,48.245884],[124.412819,48.219175],[124.418978,48.181679],[124.475029,48.173698],[124.471333,48.133373],[124.430065,48.12099],[124.415899,48.08782],[124.46579,48.098213],[124.478108,48.123387],[124.505826,48.124985],[124.529847,48.146951],[124.512601,48.164518],[124.547094,48.200829],[124.579122,48.262221],[124.558796,48.268197],[124.579738,48.297269],[124.540934,48.335476],[124.547094,48.35775],[124.51876,48.378027],[124.52492,48.426897],[124.507674,48.445558],[124.555717,48.467784],[124.533543,48.515379],[124.548941,48.535593],[124.520608,48.556195],[124.579122,48.596582],[124.601912,48.632587],[124.624702,48.701755],[124.612383,48.747945],[124.656115,48.783842],[124.644412,48.80789],[124.654267,48.83429],[124.697383,48.841775],[124.715861,48.885475],[124.709086,48.920487],[124.744194,48.920487],[124.756513,48.967262],[124.808252,49.020666],[124.828578,49.077933],[124.809484,49.115943],[124.847672,49.129651],[124.860607,49.166448],[124.906802,49.184054],[124.983179,49.162535],[125.039845,49.17623],[125.034302,49.157056],[125.117453,49.126127],[125.158721,49.144921],[125.187671,49.186792],[125.219699,49.189139],[125.227707,49.248947],[125.214772,49.277066],[125.261583,49.322336],[125.256656,49.359769],[125.277598,49.379644],[125.25604,49.395227],[125.256656,49.437275],[125.270822,49.454395],[125.228323,49.487063],[125.211076,49.539908],[125.233866,49.536801],[125.23017,49.595411],[125.205533,49.593859],[125.16796,49.629923],[125.15441,49.616741],[125.127308,49.655113],[125.132236,49.672157],[125.164881,49.669446],[125.189518,49.652401],[125.185207,49.634574],[125.219699,49.669058],[125.225243,49.726349],[125.204301,49.734086],[125.221547,49.754969],[125.222779,49.799026],[125.177815,49.829533],[125.239409,49.844587],[125.225243,49.867351],[125.245569,49.87198],[125.212924,49.907452],[125.225859,49.922481],[125.199373,49.935194],[125.190134,49.959841],[125.231402,49.957531],[125.241873,49.987938],[125.278214,49.996402],[125.297924,50.014481],[125.283757,50.036012],[125.25296,50.041393],[125.289916,50.057917],[125.315786,50.04562],[125.328105,50.065985],[125.283757,50.070211],[125.287453,50.093636],[125.258504,50.103618],[125.27883,50.127411],[125.311474,50.140453],[125.376148,50.137385],[125.335496,50.161161],[125.382923,50.172278],[125.39093,50.199868],[125.417416,50.195654],[125.448829,50.216338],[125.442053,50.260357],[125.466075,50.266861],[125.463611,50.295925],[125.530749,50.331085],[125.520278,50.3498],[125.546763,50.358965],[125.522126,50.404759],[125.536292,50.420014],[125.567089,50.402852],[125.583104,50.409717],[125.562162,50.438314],[125.580024,50.449366],[125.627451,50.443268],[125.654553,50.471082],[125.699516,50.487078],[125.740784,50.523237],[125.754335,50.506874],[125.770349,50.531227],[125.794987,50.532748],[125.829479,50.56165],[125.807921,50.60383],[125.814697,50.62092],[125.793139,50.643316],[125.804226,50.658874],[125.789443,50.679735],[125.825784,50.70362],[125.78082,50.725598],[125.795603,50.738856],[125.758646,50.746809],[125.804226,50.773309],[125.828863,50.756654],[125.846726,50.769524],[125.836255,50.793363],[125.890457,50.805845],[125.878138,50.816812],[125.913247,50.825885],[125.939732,50.85423],[125.961906,50.901054],[125.997631,50.872738],[125.996399,50.906715],[126.02042,50.927466],[126.042594,50.92558],[126.068464,50.967434],[126.041978,50.981753],[126.033971,51.011132],[126.059225,51.043503],[125.976073,51.084498],[125.993935,51.119072],[125.970529,51.123955],[125.946508,51.108176],[125.909551,51.138977],[125.864588,51.146487],[125.850421,51.21364],[125.819008,51.227134],[125.761726,51.226385],[125.76111,51.261976],[125.740784,51.27583],[125.700132,51.327465],[125.626219,51.380163],[125.623756,51.387633],[125.62314,51.398089],[125.600966,51.410409],[125.60035,51.413396],[125.595422,51.416755],[125.559082,51.461521],[125.528285,51.488359],[125.424807,51.562827],[125.38046,51.585516],[125.35151,51.623801],[125.316402,51.610052],[125.289301,51.633831],[125.228938,51.640517],[125.214772,51.627888],[125.175968,51.639403],[125.130388,51.635317],[125.12854,51.659083],[125.098975,51.658341],[125.060171,51.59667],[125.073106,51.553526],[125.047236,51.529704],[125.004737,51.529332],[124.983795,51.508478],[124.928976,51.498419],[124.917889,51.474196],[124.942527,51.447349],[124.885244,51.40817],[124.864302,51.37979],[124.783614,51.392115],[124.76452,51.38726],[124.752817,51.35812],[124.693687,51.3327],[124.62655,51.327465],[124.58713,51.363725],[124.555717,51.375307],[124.490427,51.380537],[124.478108,51.36223],[124.443616,51.35812],[124.426985,51.331953],[124.430065,51.301281],[124.406659,51.272086],[124.339522,51.293422],[124.297638,51.298661],[124.271769,51.308389],[124.239124,51.344664],[124.192313,51.33943],[124.128255,51.347281],[124.090067,51.3413],[124.071588,51.320734],[123.994596,51.322604],[123.939777,51.313253],[123.926227,51.300532],[123.887423,51.320734],[123.842459,51.367462],[123.794416,51.361109],[123.711264,51.398089],[123.660141,51.342795],[123.661989,51.319237],[123.582533,51.306893],[123.582533,51.294545],[123.46304,51.286686],[123.440251,51.270963],[123.414381,51.278825],[123.376809,51.266844],[123.339853,51.27246],[123.294273,51.254111],[123.231447,51.268716],[123.231447,51.279199],[123.127969,51.297913],[123.069455,51.321108],[123.002934,51.31213],[122.965977,51.345786],[122.965977,51.386886],[122.946267,51.405183],[122.903768,51.415262],[122.900072,51.445112],[122.871123,51.455181],[122.854492,51.477551],[122.880362,51.511085],[122.858804,51.524864],[122.880362,51.537894],[122.874202,51.561339],[122.832935,51.581797],[122.85634,51.606707],[122.820616,51.633088],[122.816304,51.655371],[122.778732,51.698048],[122.749167,51.746613],[122.771957,51.779579],[122.732536,51.832495],[122.725761,51.87833],[122.706051,51.890151],[122.729457,51.919321],[122.726377,51.978709],[122.683877,51.974654],[122.664783,51.99861],[122.650616,52.058997],[122.625363,52.067459],[122.643841,52.111585],[122.629059,52.13657],[122.690653,52.140243],[122.73808,52.153464],[122.769493,52.179893],[122.766413,52.232705],[122.787355,52.252494],[122.76087,52.26678],[122.710979,52.256157],[122.67895,52.276667],[122.585943,52.266413],[122.560689,52.282526],[122.478153,52.29607],[122.484313,52.341432],[122.447356,52.394052],[122.419023,52.375057],[122.378987,52.395512],[122.367284,52.413768],[122.342031,52.414133],[122.326016,52.459374],[122.310618,52.475416],[122.207756,52.469218],[122.178191,52.48963],[122.168952,52.513674],[122.140003,52.510032],[122.142467,52.495096],[122.107358,52.452445],[122.080873,52.440407],[122.091344,52.427272],[122.040837,52.413038],[122.035909,52.377615],[121.976779,52.343626],[121.94783,52.298266],[121.901018,52.280695],[121.841272,52.282526],[121.769207,52.308147],[121.714389,52.318025],[121.715621,52.342894],[121.658338,52.3904],[121.678664,52.419973],[121.63986,52.44442],[121.590585,52.443326],[121.565331,52.460468],[121.519136,52.456821],[121.495114,52.484892],[121.474172,52.482706],[121.416274,52.499468],[121.411963,52.52205],[121.353448,52.534793],[121.323883,52.573727],[121.280151,52.586819],[121.225333,52.577364],[121.182217,52.59918],[121.237036,52.619167],[121.29247,52.651855],[121.309717,52.676173],[121.373158,52.683067],[121.455078,52.73528],[121.476636,52.772225],[121.511129,52.779104],[121.537614,52.801542],[121.591201,52.824693],[121.620766,52.853251],[121.604136,52.872401],[121.610295,52.892264],[121.66265,52.912478],[121.677432,52.948192],[121.715621,52.997926],[121.785838,53.018451],[121.817867,53.061631],[121.775367,53.089674],[121.784606,53.104408],[121.753193,53.147501],[121.722396,53.145706],[121.665114,53.170467],[121.660186,53.195213],[121.67928,53.199515],[121.679896,53.240722],[121.642324,53.262564],[121.615222,53.258984],[121.575802,53.29155],[121.504969,53.323018],[121.499426,53.337314],[121.416274,53.319443],[121.336818,53.325877],[121.308485,53.301565],[121.227797,53.280459],[121.155732,53.285468],[121.129246,53.277238],[121.098449,53.306929],[121.055334,53.29155],[120.950624,53.29763],[120.936457,53.28833],[120.882871,53.294411],[120.867472,53.278669],[120.820661,53.269007],[120.838523,53.239648],[120.821893,53.241797],[120.736277,53.204892],[120.690698,53.174771],[120.687002,53.142476],[120.659901,53.137091],[120.643886,53.106923],[120.562582,53.082845],[120.529321,53.045803],[120.452945,53.01017],[120.411061,52.957927],[120.363018,52.94134],[120.350699,52.906343],[120.295265,52.891542],[120.297112,52.869872],[120.222584,52.84277],[120.181316,52.806969],[120.14128,52.813119],[120.101244,52.788877],[120.031642,52.773674],[120.071063,52.70628],[120.035338,52.646409],[120.049505,52.598453],[120.07599,52.586092],[120.125265,52.586819],[120.194866,52.578819],[120.289721,52.623527],[120.396895,52.616261],[120.462184,52.64532],[120.483742,52.630066],[120.56135,52.595544],[120.605082,52.589364],[120.62664,52.570818],[120.658669,52.56718],[120.690698,52.547532],[120.734429,52.536977],[120.687002,52.511489],[120.706712,52.492909],[120.68269,52.464479],[120.688234,52.427637],[120.64943,52.3904],[120.653741,52.371038],[120.62356,52.361172],[120.627256,52.323878],[120.653741,52.302658],[120.695625,52.290214],[120.715951,52.261286],[120.755371,52.258355],[120.745516,52.20594],[120.786784,52.15787],[120.760299,52.136937],[120.76769,52.10938],[120.753523,52.085483],[120.717183,52.072978],[120.690698,52.047221],[120.691929,52.026973],[120.717799,52.015556],[120.704864,51.983501],[120.66298,51.958061],[120.656821,51.926333],[120.548416,51.907877],[120.549032,51.882394],[120.481278,51.885719],[120.480046,51.855049],[120.40059,51.833605],[120.40675,51.81659],[120.363634,51.789945],[120.317438,51.785873],[120.294649,51.752171],[120.226279,51.717703],[120.172693,51.679868],[120.087077,51.678013],[120.100628,51.649058],[120.05936,51.634203],[120.035954,51.583657],[120.052584,51.560967],[120.017476,51.52114],[119.985447,51.505125],[119.982367,51.482396],[120.002693,51.459283],[119.982983,51.445112],[119.97128,51.40033],[119.910918,51.390994],[119.914614,51.374187],[119.946643,51.360736],[119.883817,51.336813],[119.885049,51.302777],[119.811136,51.281071],[119.828383,51.263099],[119.797586,51.243622],[119.821607,51.21439],[119.784035,51.22601],[119.760629,51.212516],[119.788346,51.174636],[119.771716,51.124331],[119.752622,51.117193],[119.764325,51.092017],[119.719361,51.075099],[119.726753,51.051028],[119.678093,51.016404],[119.630666,51.00925],[119.598637,50.984767],[119.569688,50.933879],[119.491464,50.87878],[119.498855,50.827776],[119.515485,50.814165],[119.496391,50.771795],[119.506862,50.763846],[119.450196,50.695281],[119.430486,50.684286],[119.385522,50.682769],[119.394145,50.667219],[119.361501,50.632689],[119.298059,50.616743],[119.281428,50.601551],[119.295595,50.573814],[119.264182,50.536933],[119.262334,50.490124],[119.250631,50.448604],[119.22353,50.441363],[119.217371,50.414675],[119.165016,50.422683],[119.125596,50.389118],[119.176719,50.378814],[119.155777,50.364691],[119.188422,50.347509],[119.232153,50.365455],[119.259871,50.345218],[119.277117,50.366218],[119.322696,50.352474],[119.358421,50.358965],[119.381827,50.324208],[119.35103,50.303953],[119.339943,50.244668],[119.319001,50.220933],[119.358421,50.197953],[119.339327,50.192206],[119.350414,50.166145],[119.309762,50.161161],[119.290052,50.121655],[119.236465,50.075204],[119.190269,50.087877],[119.193965,50.069826],[119.163168,50.027554],[119.12498,50.019095],[119.090487,49.985629],[118.982082,49.979087],[118.964836,49.988708],[118.791757,49.955606],[118.761576,49.959456],[118.739402,49.946364],[118.672264,49.955991],[118.605127,49.926719],[118.574946,49.931342],[118.531214,49.887791],[118.485019,49.866194],[118.483787,49.830691],[118.443751,49.835709],[118.385853,49.827217],[118.398787,49.802502],[118.384005,49.783958],[118.315636,49.766953],[118.284223,49.743755],[118.220781,49.729831],[118.211542,49.690744],[118.156723,49.660149],[118.129622,49.669446],[118.082811,49.616741],[118.011362,49.614803],[117.995963,49.623332],[117.950999,49.596187],[117.866,49.591532],[117.849369,49.551557],[117.809333,49.521263],[117.638102,49.574847],[117.485349,49.633024],[117.278394,49.636512],[117.068974,49.695389],[116.736367,49.847674],[116.717889,49.847288],[116.428397,49.430659],[116.048363,48.873274],[116.077928,48.822471],[116.069305,48.811437],[115.83032,48.560156],[115.799523,48.514982],[115.822929,48.259432],[115.81061,48.257042],[115.529126,48.155336],[115.545141,48.134971],[115.539597,48.104607],[115.580249,47.921649],[115.939342,47.683275],[115.968291,47.689721],[116.111189,47.811642],[116.130283,47.823296],[116.26579,47.876711],[116.453035,47.837358],[116.669846,47.890758],[116.791186,47.89758],[116.879265,47.893968],[117.094844,47.8241],[117.384335,47.641356],[117.493357,47.758563],[117.519226,47.761782],[117.529081,47.782697],[117.813645,48.016212],[117.886942,48.025418],[117.96147,48.011007],[118.052014,48.01421],[118.107448,48.031021],[118.124694,48.047427],[118.150564,48.036224],[118.238643,48.041826],[118.238027,48.031422],[118.284839,48.011007],[118.351976,48.006203],[118.37415,48.016612],[118.422193,48.01461],[118.441903,47.995791],[118.568171,47.992187],[118.773278,47.771034],[119.134219,47.664335],[119.152081,47.540453],[119.205052,47.520249],[119.365812,47.47739],[119.32208,47.42721],[119.365812,47.423161],[119.386138,47.397645],[119.437877,47.378602],[119.450812,47.353065],[119.559217,47.303172],[119.56784,47.248357],[119.627586,47.247544],[119.716282,47.195518],[119.763093,47.13082],[119.806825,47.055037],[119.79081,47.04525],[119.795122,47.013024],[119.845013,46.964852],[119.859795,46.917046],[119.926933,46.903963],[119.920157,46.853238],[119.936172,46.790173],[119.917078,46.758203],[119.93494,46.712674],[119.911534,46.669572],[119.859179,46.669572],[119.804361,46.68189],[119.8136,46.66834],[119.783419,46.626023],[119.739687,46.615336],[119.677477,46.584908],[119.682405,46.605058],[119.656535,46.625612],[119.598637,46.618214],[119.557985,46.633832],[119.491464,46.629311],[119.431718,46.638763],[119.374435,46.603414],[119.357805,46.619447],[119.325776,46.608759],[119.26295,46.649034],[119.20074,46.648213],[119.152081,46.658072],[119.123132,46.642872],[119.073857,46.676552],[119.011647,46.745902],[118.951285,46.722111],[118.912481,46.733188],[118.914329,46.77501],[118.845343,46.771731],[118.788061,46.717598],[118.788061,46.687227],[118.677192,46.6979],[118.639004,46.721291],[118.586033,46.692975],[118.446831,46.704467],[118.41049,46.728265],[118.316252,46.73934],[118.274984,46.715957],[118.238643,46.709392],[118.192448,46.682711],[118.124078,46.678195],[118.04647,46.631366],[117.992883,46.631366],[117.982412,46.614925],[117.914659,46.607936],[117.868464,46.575447],[117.870927,46.549935],[117.813645,46.530588],[117.769913,46.537586],[117.748355,46.521941],[117.704008,46.516587],[117.641182,46.558166],[117.622704,46.596012],[117.596218,46.603414],[117.49582,46.600535],[117.42006,46.582029],[117.447777,46.528117],[117.392343,46.463023],[117.375712,46.416421],[117.383719,46.394962],[117.372017,46.36028],[117.247597,46.366888],[117.097308,46.356976],[116.876801,46.375559],[116.834302,46.384229],[116.81336,46.355737],[116.745606,46.327642],[116.673541,46.325163],[116.585462,46.292504],[116.573143,46.258998],[116.536187,46.23251],[116.439484,46.137628],[116.414231,46.133896],[116.271949,45.966926],[116.243,45.876169],[116.288579,45.839074],[116.278108,45.831152],[116.286731,45.775247],[116.260862,45.776082],[116.22329,45.747273],[116.217746,45.72221],[116.17463,45.688775],[116.1155,45.679577],[116.035428,45.685013],[116.026805,45.661177],[115.936878,45.632727],[115.864197,45.572853],[115.699741,45.45963],[115.586408,45.440317],[115.36467,45.392427],[115.178041,45.396209],[114.983404,45.379397],[114.920578,45.386122],[114.745035,45.438217],[114.600906,45.403773],[114.551014,45.387383],[114.539928,45.325985],[114.519602,45.283893],[114.459855,45.21353],[114.409348,45.179371],[114.347139,45.119436],[114.313262,45.107189],[114.19069,45.036607],[114.158045,44.994301],[114.116777,44.957045],[114.065038,44.931206],[113.907358,44.915104],[113.861778,44.863377],[113.798953,44.849377],[113.712105,44.788247],[113.631417,44.745333],[113.540874,44.759358],[113.503918,44.777628],[113.11526,44.799714],[113.037652,44.822641],[112.937869,44.840042],[112.850406,44.840466],[112.712436,44.879494],[112.599719,44.930783],[112.540589,45.001072],[112.438959,45.071697],[112.396459,45.064512],[112.113743,45.072965],[112.071243,45.096206],[112.002874,45.090713],[111.903707,45.052252],[111.764505,44.969325],[111.69244,44.859983],[111.624687,44.778477],[111.585267,44.705789],[111.560629,44.647062],[111.569868,44.57634],[111.530448,44.55033],[111.514434,44.507666],[111.478709,44.488884],[111.427586,44.394455],[111.415883,44.35724],[111.428818,44.319573],[111.507042,44.294305],[111.534144,44.26217],[111.541535,44.206855],[111.559397,44.171238],[111.662875,44.061247],[111.702295,44.034147],[111.773128,44.010479],[111.870447,43.940279],[111.959758,43.823382],[111.970845,43.748205],[111.951135,43.693275],[111.891388,43.6738],[111.79407,43.672068],[111.606209,43.513863],[111.564325,43.490422],[111.456535,43.494329],[111.400485,43.472618],[111.354289,43.436125],[111.183674,43.396132],[111.151029,43.38004],[111.069725,43.357852],[111.02045,43.329998],[110.82027,43.149067],[110.769763,43.099272],[110.736502,43.089657],[110.687227,43.036314],[110.689691,43.02144],[110.631177,42.936061],[110.469801,42.839156],[110.437156,42.781203],[110.34846,42.742098],[110.139657,42.674815],[110.108244,42.642687],[109.906216,42.635643],[109.733753,42.579262],[109.683862,42.558988],[109.544044,42.472528],[109.486761,42.458842],[109.291509,42.435879],[109.026039,42.458401],[108.983539,42.449128],[108.845569,42.395673],[108.798757,42.415116],[108.705134,42.413349],[108.532671,42.442945],[108.298614,42.438529],[108.238252,42.460167],[108.089195,42.436321],[108.022058,42.433229],[107.986949,42.413349],[107.939522,42.403628],[107.736262,42.415116],[107.57427,42.412907],[107.501589,42.456635],[107.46648,42.458842],[107.303872,42.412465],[107.271844,42.364285],[107.051337,42.319166],[106.785867,42.291281],[106.612789,42.241679],[106.372572,42.161436],[106.344855,42.149457],[106.01348,42.032213],[105.74185,41.949033],[105.589713,41.888471],[105.385221,41.797073],[105.291599,41.749763],[105.230621,41.751103],[105.009498,41.583007],[104.923267,41.654143],[104.803775,41.652355],[104.68921,41.6452],[104.524138,41.661745],[104.530298,41.875104],[104.418813,41.860397],[104.30856,41.840782],[104.080046,41.805104],[103.868779,41.802427],[103.454868,41.877332],[103.418527,41.882233],[103.20726,41.96283],[103.021862,42.028212],[102.712045,42.153007],[102.621502,42.154338],[102.540814,42.162323],[102.449039,42.144133],[102.093642,42.223512],[102.070236,42.232374],[101.877447,42.432345],[101.803534,42.503861],[101.770274,42.509597],[101.557775,42.529887],[101.291689,42.586312],[100.862995,42.671295],[100.826655,42.675255],[100.32528,42.690213],[100.272309,42.636523],[100.004376,42.648849],[99.969267,42.647969],[99.51224,42.568244],[98.962822,42.607018],[98.546447,42.638284],[98.195362,42.653251],[97.831958,42.706047],[97.28254,42.782081],[97.172903,42.795257]]]}},{"type":"Feature","properties":{"adcode":210000,"name":"辽宁省","center":[123.429096,41.796767],"centroid":[122.604994,41.299712],"childrenNum":14,"level":"province","parent":{"adcode":100000},"subFeatureIndex":5,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[123.534489,39.788361],[123.546808,39.756163],[123.579453,39.781002],[123.612714,39.775023],[123.642279,39.796178],[123.645358,39.823761],[123.674924,39.826979],[123.687858,39.808132],[123.795032,39.822842],[123.812278,39.831115],[123.95148,39.817786],[124.002603,39.800316],[124.103001,39.823302],[124.099306,39.777323],[124.151045,39.74558],[124.173218,39.841225],[124.214486,39.865116],[124.215102,39.883487],[124.21695,39.894049],[124.218182,39.895885],[124.219414,39.899099],[124.241588,39.928477],[124.286551,39.931689],[124.288399,39.962888],[124.349377,39.989029],[124.372167,40.021576],[124.336442,40.049985],[124.346913,40.079756],[124.428217,40.144291],[124.457782,40.177679],[124.490427,40.18408],[124.513833,40.218362],[124.515065,40.22019],[124.62655,40.291896],[124.722636,40.321561],[124.739267,40.371733],[124.834121,40.423235],[124.913578,40.481981],[124.945606,40.45603],[124.985642,40.475153],[125.044157,40.466503],[125.042925,40.483802],[125.004737,40.496091],[125.015823,40.533853],[125.076801,40.562048],[125.113758,40.569322],[125.181511,40.611132],[125.262815,40.620218],[125.279445,40.655187],[125.305315,40.661089],[125.329337,40.643835],[125.375532,40.658365],[125.422343,40.635661],[125.418648,40.673345],[125.453756,40.676522],[125.459916,40.707379],[125.49564,40.728697],[125.544915,40.729605],[125.551075,40.761796],[125.585567,40.788535],[125.61698,40.763609],[125.685349,40.769048],[125.67611,40.788082],[125.641002,40.798503],[125.648393,40.826133],[125.707523,40.866877],[125.687813,40.897645],[125.652089,40.91619],[125.584335,40.891764],[125.589263,40.931112],[125.635458,40.94151],[125.650241,40.970888],[125.674879,40.974503],[125.684118,41.021929],[125.726617,41.055332],[125.739552,41.08917],[125.712451,41.095485],[125.734009,41.125695],[125.759878,41.132908],[125.791291,41.167607],[125.73832,41.178418],[125.758646,41.232449],[125.749407,41.245499],[125.695205,41.244599],[125.685349,41.273842],[125.646545,41.264396],[125.642234,41.296327],[125.62006,41.318355],[125.637306,41.34442],[125.610205,41.365084],[125.589879,41.359245],[125.581256,41.396517],[125.547995,41.401006],[125.534444,41.428833],[125.533212,41.479069],[125.493176,41.509103],[125.507343,41.534195],[125.479626,41.544946],[125.450061,41.597777],[125.461148,41.642516],[125.446981,41.67605],[125.412488,41.691246],[125.344119,41.672474],[125.317018,41.676944],[125.332416,41.711354],[125.336112,41.768067],[125.336112,41.768067],[125.323177,41.771191],[125.323177,41.771191],[125.319482,41.776993],[125.319482,41.776993],[125.294844,41.822945],[125.307779,41.924548],[125.35151,41.92811],[125.291764,41.958825],[125.29854,41.974399],[125.369989,42.002868],[125.363213,42.017097],[125.416184,42.063766],[125.414336,42.101964],[125.446365,42.098411],[125.490097,42.136145],[125.458068,42.160105],[125.458068,42.160105],[125.41372,42.156112],[125.368141,42.182726],[125.357054,42.145464],[125.305931,42.146351],[125.312706,42.197359],[125.280677,42.175187],[125.312706,42.219966],[125.27575,42.231045],[125.27575,42.266928],[125.299156,42.289953],[125.264047,42.312528],[125.224011,42.30102],[125.175352,42.308102],[125.167345,42.351903],[125.203685,42.366938],[125.185823,42.38197],[125.186439,42.427928],[125.140243,42.44692],[125.150098,42.458842],[125.105135,42.490624],[125.068794,42.499449],[125.090968,42.515773],[125.066946,42.534738],[125.089736,42.567803],[125.082961,42.591159],[125.097127,42.622433],[125.038613,42.615387],[125.010896,42.63212],[125.014592,42.666014],[124.99057,42.677455],[124.968396,42.722756],[124.996729,42.745174],[124.975171,42.802722],[124.92836,42.819844],[124.897563,42.787791],[124.874157,42.789987],[124.856911,42.824234],[124.84952,42.882585],[124.87231,42.962344],[124.869846,42.988178],[124.840897,43.032377],[124.88894,43.074796],[124.882781,43.13422],[124.785462,43.117185],[124.755281,43.074359],[124.719557,43.069987],[124.686912,43.051185],[124.677673,43.002185],[124.658579,42.972854],[124.635173,42.972854],[124.632093,42.949642],[124.607456,42.937376],[124.586514,42.905384],[124.466406,42.847054],[124.435609,42.880831],[124.371551,42.880831],[124.38079,42.912835],[124.431913,42.930803],[124.442384,42.958841],[124.42329,42.975482],[124.369703,42.972854],[124.333363,42.997371],[124.425754,43.076107],[124.366007,43.121554],[124.273617,43.17875],[124.287167,43.207983],[124.27608,43.233278],[124.228653,43.235022],[124.215102,43.255947],[124.168291,43.244177],[124.114088,43.247229],[124.117168,43.2773],[124.099306,43.292983],[124.032784,43.280786],[123.964415,43.34088],[123.896046,43.361333],[123.881263,43.392218],[123.881263,43.392218],[123.852314,43.406133],[123.857858,43.459153],[123.857858,43.459153],[123.79688,43.489988],[123.747604,43.472184],[123.749452,43.439167],[123.710032,43.417001],[123.703873,43.37047],[123.698329,43.272071],[123.664453,43.264663],[123.676771,43.223684],[123.645974,43.208855],[123.666916,43.179623],[123.636119,43.141644],[123.631192,43.088346],[123.580685,43.036314],[123.572678,43.003498],[123.536337,43.007],[123.474743,43.042438],[123.434707,43.027565],[123.323222,43.000872],[123.259165,42.993431],[123.18402,42.925983],[123.188947,42.895739],[123.169853,42.859777],[123.227752,42.831695],[123.118114,42.801405],[123.058368,42.768903],[122.980144,42.777689],[122.945651,42.753524],[122.925941,42.772417],[122.887137,42.770221],[122.883442,42.751766],[122.883442,42.751766],[122.848949,42.712203],[122.848949,42.712203],[122.786123,42.757479],[122.73808,42.77066],[122.733152,42.786034],[122.653696,42.78252],[122.624747,42.773296],[122.580399,42.789987],[122.576088,42.819405],[122.556378,42.827745],[122.436886,42.843105],[122.35127,42.830378],[122.371596,42.776371],[122.439349,42.770221],[122.460907,42.755282],[122.396234,42.707366],[122.396234,42.684054],[122.338951,42.669975],[122.324785,42.684934],[122.261343,42.695931],[122.204676,42.732867],[122.204676,42.685374],[122.160945,42.684934],[122.072865,42.710444],[122.062394,42.723635],[122.018663,42.69901],[121.939207,42.688453],[121.94167,42.666014],[121.915801,42.656332],[121.921344,42.605697],[121.889931,42.556784],[121.844352,42.522389],[121.831417,42.533856],[121.817867,42.504303],[121.803084,42.514891],[121.747649,42.484887],[121.69899,42.438529],[121.66573,42.437204],[121.604136,42.495037],[121.607831,42.516214],[121.570875,42.487093],[121.506201,42.482239],[121.4791,42.49636],[121.434752,42.475176],[121.386093,42.474294],[121.304789,42.435879],[121.314644,42.42837],[121.285079,42.387717],[121.218558,42.371802],[121.184681,42.333324],[121.133558,42.300135],[121.120623,42.280656],[121.087978,42.278885],[121.070732,42.254083],[121.028848,42.242565],[120.992508,42.264714],[120.933994,42.27977],[120.883487,42.269585],[120.883487,42.269585],[120.883487,42.242565],[120.8299,42.252755],[120.820661,42.227943],[120.79048,42.218636],[120.745516,42.223512],[120.72211,42.203565],[120.624792,42.154338],[120.58414,42.167203],[120.56751,42.152119],[120.466496,42.105516],[120.493597,42.073539],[120.450481,42.057101],[120.456641,42.016208],[120.399358,41.984631],[120.373489,41.994862],[120.309431,41.951704],[120.318054,41.93746],[120.271859,41.925439],[120.260156,41.904062],[120.290337,41.897381],[120.286641,41.880005],[120.251533,41.884016],[120.215808,41.853265],[120.188707,41.848361],[120.183164,41.826513],[120.127113,41.77253],[120.1382,41.729221],[120.096316,41.697056],[120.035954,41.708226],[120.024867,41.737707],[120.050737,41.776101],[120.041498,41.818932],[120.023019,41.816701],[119.989759,41.899163],[119.954034,41.923212],[119.950954,41.974399],[119.924469,41.98908],[119.921389,42.014429],[119.897368,42.030879],[119.87581,42.077982],[119.845629,42.097079],[119.837622,42.135257],[119.854868,42.170308],[119.841933,42.215534],[119.744615,42.211545],[119.679941,42.240793],[119.617115,42.252755],[119.609108,42.276671],[119.557985,42.289068],[119.557985,42.289068],[119.539507,42.297922],[119.571536,42.335536],[119.572152,42.359421],[119.540123,42.363401],[119.502551,42.388159],[119.482841,42.347037],[119.432949,42.317396],[119.34795,42.300578],[119.280197,42.260728],[119.274037,42.239021],[119.237697,42.200905],[119.277733,42.185387],[119.286972,42.154781],[119.30853,42.147239],[119.314689,42.119723],[119.352261,42.118391],[119.384906,42.08953],[119.375667,42.023322],[119.324544,41.969505],[119.323928,41.937014],[119.340559,41.926774],[119.323312,41.889807],[119.334399,41.871539],[119.312841,41.80555],[119.292515,41.790827],[119.317769,41.764049],[119.319001,41.727435],[119.299907,41.705545],[119.307914,41.657273],[119.342406,41.617914],[119.415703,41.590169],[119.420015,41.567785],[119.362116,41.566442],[119.361501,41.545841],[119.406464,41.503276],[119.401537,41.472343],[119.378131,41.459787],[119.376283,41.422102],[119.309762,41.405944],[119.330704,41.385293],[119.296211,41.325097],[119.239545,41.31431],[119.2494,41.279689],[119.209364,41.244599],[119.204436,41.222546],[119.169943,41.222996],[119.189038,41.198234],[119.126212,41.138767],[119.081248,41.131555],[119.080632,41.095936],[119.037516,41.067516],[118.964836,41.079246],[118.937118,41.052625],[118.951901,41.018317],[119.013495,41.007479],[119.00056,40.967273],[118.977154,40.959138],[118.977154,40.959138],[118.916792,40.969984],[118.90201,40.960946],[118.873061,40.847866],[118.845959,40.822057],[118.878604,40.783098],[118.907553,40.775394],[118.895234,40.75409],[118.950053,40.747743],[118.96114,40.72008],[119.011031,40.687414],[119.028277,40.692406],[119.054763,40.664721],[119.115125,40.666536],[119.165632,40.69286],[119.184726,40.680153],[119.14469,40.632482],[119.162552,40.600228],[119.177951,40.609315],[119.230921,40.603863],[119.22045,40.569322],[119.256175,40.543404],[119.30237,40.530215],[119.429254,40.540221],[119.477913,40.533399],[119.503783,40.553864],[119.559217,40.547952],[119.572152,40.523846],[119.553674,40.502007],[119.604797,40.455119],[119.586934,40.375381],[119.598021,40.334335],[119.651608,40.271808],[119.639289,40.231613],[119.639289,40.231613],[119.671934,40.23938],[119.716898,40.195966],[119.745847,40.207851],[119.760629,40.136056],[119.736608,40.104936],[119.772332,40.08113],[119.783419,40.046778],[119.783419,40.046778],[119.787115,40.041739],[119.787115,40.041739],[119.81668,40.050443],[119.81668,40.050443],[119.854252,40.033033],[119.845629,40.000949],[119.845629,40.000949],[119.854252,39.98857],[119.91831,39.989946],[119.941715,40.009659],[119.947259,40.040364],[120.092005,40.077466],[120.134504,40.074719],[120.161606,40.096239],[120.273091,40.127362],[120.371641,40.174478],[120.451097,40.177679],[120.491749,40.20008],[120.523778,40.256737],[120.52193,40.304676],[120.537329,40.325211],[120.602618,40.36079],[120.596459,40.399084],[120.617401,40.41959],[120.616169,40.444645],[120.619249,40.460128],[120.666676,40.467413],[120.693777,40.505647],[120.72211,40.515657],[120.72827,40.539311],[120.822509,40.59432],[120.837291,40.644289],[120.8299,40.671076],[120.861313,40.684692],[120.939537,40.686507],[120.983269,40.712822],[121.032544,40.709193],[121.028848,40.746382],[120.991276,40.744115],[120.980189,40.766329],[120.994356,40.790801],[120.971566,40.805751],[121.00729,40.807563],[121.010986,40.784457],[121.086747,40.79805],[121.076892,40.815716],[121.096602,40.839717],[121.126167,40.86914],[121.177906,40.873665],[121.23642,40.851035],[121.290622,40.851488],[121.439064,40.830208],[121.440296,40.88181],[121.499426,40.880001],[121.526527,40.85194],[121.55486,40.849677],[121.553013,40.817528],[121.576418,40.837906],[121.626309,40.844244],[121.682976,40.829755],[121.732251,40.846961],[121.735331,40.862351],[121.778446,40.886787],[121.816019,40.894931],[121.84312,40.831567],[121.883772,40.802127],[121.934279,40.79805],[121.936127,40.711462],[121.951525,40.680607],[122.025438,40.674253],[122.06609,40.64883],[122.122141,40.657457],[122.148626,40.671983],[122.133843,40.614313],[122.150474,40.588413],[122.245944,40.519752],[122.231162,40.505192],[122.265038,40.48016],[122.221923,40.481071],[122.240401,40.461039],[122.250872,40.445555],[122.229314,40.424146],[122.186814,40.422779],[122.198517,40.382219],[122.152322,40.357597],[122.135691,40.374925],[122.111054,40.348932],[122.138155,40.338897],[122.110438,40.315629],[122.079641,40.332967],[122.040221,40.322017],[122.039605,40.260391],[122.02667,40.244862],[121.940438,40.242121],[121.950293,40.204194],[121.98109,40.173106],[122.003264,40.172191],[121.995257,40.128277],[121.956453,40.133311],[121.910257,40.072887],[121.824642,40.025701],[121.796309,39.999116],[121.779062,39.942702],[121.76428,39.933525],[121.699606,39.937196],[121.626925,39.882569],[121.572107,39.865116],[121.541926,39.874302],[121.530223,39.851334],[121.472325,39.802155],[121.487107,39.760303],[121.45939,39.747881],[121.502506,39.703233],[121.482796,39.659478],[121.451999,39.658095],[121.450151,39.624914],[121.325731,39.601402],[121.299246,39.606013],[121.263521,39.589873],[121.226565,39.554814],[121.224717,39.519275],[121.268449,39.482794],[121.286927,39.507271],[121.301709,39.476327],[121.245659,39.456923],[121.270296,39.434277],[121.246891,39.421334],[121.245659,39.389427],[121.270296,39.374162],[121.307869,39.391277],[121.324499,39.371386],[121.35468,39.377863],[121.432904,39.357506],[121.435984,39.329736],[121.466781,39.320014],[121.474788,39.296398],[121.508665,39.29223],[121.51544,39.286672],[121.562252,39.322792],[121.621382,39.326033],[121.72486,39.364447],[121.711925,39.33992],[121.7187,39.320477],[121.667577,39.310754],[121.672505,39.275554],[121.623846,39.285745],[121.589353,39.263044],[121.631237,39.22643],[121.591201,39.228748],[121.586889,39.193506],[121.604136,39.166136],[121.639244,39.166136],[121.68236,39.117863],[121.631853,39.077921],[121.605983,39.080708],[121.642324,39.11972],[121.590585,39.154999],[121.562252,39.127149],[121.599208,39.098824],[121.581962,39.075598],[121.508049,39.034237],[121.431057,39.027263],[121.370695,39.060264],[121.317108,39.012384],[121.341129,38.980757],[121.275224,38.971917],[121.204391,38.941202],[121.180369,38.959819],[121.128014,38.958888],[121.08921,38.922115],[121.094138,38.894173],[121.129862,38.879266],[121.110768,38.862026],[121.12863,38.799089],[121.112,38.776231],[121.13787,38.723023],[121.198848,38.721623],[121.259825,38.786495],[121.280767,38.786961],[121.288775,38.78976],[121.315876,38.793958],[121.359608,38.822406],[121.399028,38.812613],[121.509897,38.817743],[121.564715,38.874607],[121.618302,38.862492],[121.675585,38.86156],[121.708845,38.872744],[121.719316,38.920252],[121.655874,38.946788],[121.618918,38.950046],[121.66265,38.966333],[121.671273,39.010059],[121.73841,38.998898],[121.756889,39.025869],[121.790149,39.022614],[121.804932,38.970986],[121.863446,38.942598],[121.920728,38.969591],[121.905946,38.997503],[121.852975,39.035631],[121.8887,39.027263],[121.929352,39.024939],[121.907178,39.055617],[121.923192,39.053758],[121.963228,39.030053],[122.013735,39.073275],[122.061778,39.060264],[122.071634,39.074204],[122.048228,39.101146],[122.088264,39.112291],[122.127684,39.144788],[122.167104,39.158711],[122.123988,39.172631],[122.117213,39.213911],[122.160329,39.238019],[122.242865,39.267678],[122.274893,39.322329],[122.30877,39.346399],[122.366053,39.370461],[122.412864,39.411625],[122.455364,39.408388],[122.467682,39.403301],[122.51203,39.413474],[122.532972,39.419947],[122.581631,39.464316],[122.637066,39.488799],[122.649385,39.516505],[122.682645,39.514658],[122.808913,39.559889],[122.847101,39.581571],[122.860652,39.604629],[122.941956,39.604629],[122.972753,39.594946],[122.978912,39.616156],[123.021412,39.64335],[123.010941,39.655331],[123.103332,39.676983],[123.146448,39.647037],[123.166774,39.674219],[123.212969,39.665928],[123.215433,39.696786],[123.253005,39.689879],[123.286882,39.704154],[123.270251,39.714743],[123.274563,39.753862],[123.350939,39.750641],[123.388512,39.74742],[123.392823,39.723949],[123.477823,39.74696],[123.521555,39.772724],[123.534489,39.788361]]],[[[122.63953,39.286209],[122.593334,39.278334],[122.539131,39.308439],[122.50895,39.290377],[122.57732,39.269994],[122.67895,39.268605],[122.673406,39.269531],[122.662935,39.273701],[122.655544,39.277407],[122.640761,39.288061],[122.63953,39.286209]]],[[[122.318625,39.170775],[122.345111,39.144788],[122.366053,39.174951],[122.398697,39.16196],[122.383299,39.190723],[122.393154,39.213448],[122.343263,39.203246],[122.322321,39.177271],[122.322937,39.174487],[122.319241,39.172167],[122.318625,39.170775]]],[[[122.691884,39.23292],[122.696812,39.206492],[122.751631,39.229675],[122.740544,39.248679],[122.635834,39.241727],[122.628443,39.231993],[122.690037,39.234774],[122.691268,39.23431],[122.691884,39.23292]]],[[[122.738696,39.034701],[122.704819,39.044463],[122.733152,39.014244],[122.75779,39.009594],[122.739312,39.036561],[122.738696,39.034701]]],[[[123.022644,39.546507],[122.96105,39.551122],[122.945035,39.520198],[122.995542,39.495264],[123.036194,39.533123],[123.022644,39.546507]]],[[[122.503407,39.241263],[122.502175,39.224112],[122.547755,39.229211],[122.503407,39.241263]]],[[[120.786784,40.473787],[120.83298,40.491995],[120.8299,40.516112],[120.805262,40.525666],[120.774465,40.48016],[120.786784,40.473787]]],[[[123.086702,39.426881],[123.090397,39.450915],[123.054057,39.457847],[123.086702,39.426881]]],[[[123.160614,39.025404],[123.205578,39.057011],[123.20065,39.077921],[123.145832,39.091857],[123.143984,39.038885],[123.160614,39.025404]]],[[[123.716807,39.74512],[123.756843,39.754322],[123.719887,39.763063],[123.716807,39.74512]]]]}},{"type":"Feature","properties":{"adcode":220000,"name":"吉林省","center":[125.3245,43.886841],"centroid":[126.171208,43.703954],"childrenNum":9,"level":"province","parent":{"adcode":100000},"subFeatureIndex":6,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[129.601492,42.415116],[129.601492,42.422627],[129.591021,42.447803],[129.627361,42.462816],[129.651999,42.426603],[129.704354,42.427045],[129.748701,42.471204],[129.738846,42.500332],[129.749933,42.546644],[129.746237,42.58455],[129.786889,42.615387],[129.754245,42.645768],[129.796744,42.681854],[129.767179,42.707806],[129.78381,42.762752],[129.810911,42.795257],[129.816454,42.851003],[129.835549,42.866796],[129.846636,42.918533],[129.874969,42.923792],[129.856491,42.951833],[129.868193,42.97373],[129.903918,42.968475],[129.897143,43.001748],[129.954425,43.010938],[129.963664,42.978547],[130.002468,42.981174],[130.027106,42.9676],[130.072685,42.971541],[130.10841,42.989929],[130.144134,42.976357],[130.120729,42.954461],[130.127504,42.932556],[130.10225,42.922916],[130.136127,42.90363],[130.17062,42.912397],[130.21004,42.902315],[130.258083,42.90626],[130.277793,42.892232],[130.258083,42.860655],[130.245148,42.799209],[130.242069,42.738582],[130.257467,42.710884],[130.290112,42.702968],[130.333228,42.64973],[130.373264,42.630799],[130.388046,42.603054],[130.420691,42.617148],[130.44656,42.607459],[130.423771,42.574855],[130.435474,42.553257],[130.476125,42.570007],[130.459495,42.588075],[130.482285,42.626837],[130.522937,42.622433],[130.520473,42.593362],[130.558661,42.495919],[130.585763,42.485328],[130.581451,42.435437],[130.645509,42.426603],[130.600545,42.450453],[130.599929,42.486211],[130.565437,42.506509],[130.570364,42.557224],[130.622719,42.573092],[130.633806,42.603494],[130.592538,42.671295],[130.521089,42.702089],[130.464423,42.688453],[130.425003,42.706926],[130.40714,42.731548],[130.46627,42.772417],[130.532792,42.787352],[130.562357,42.815015],[130.603625,42.819405],[130.665835,42.847932],[130.708335,42.846615],[130.719422,42.831695],[130.75453,42.845738],[130.784095,42.842227],[130.801957,42.879515],[130.845073,42.881269],[130.890653,42.852758],[130.912826,42.870744],[130.949783,42.876884],[130.981812,42.857145],[131.043406,42.862848],[131.017536,42.915027],[131.034167,42.929051],[131.114855,42.915027],[131.145652,42.9365],[131.151195,42.968475],[131.115471,42.975482],[131.11855,43.007875],[131.102536,43.021002],[131.120398,43.068238],[131.171521,43.06955],[131.173985,43.111506],[131.207861,43.1316],[131.218948,43.191405],[131.201086,43.203185],[131.206014,43.237202],[131.255289,43.265099],[131.269455,43.297775],[131.275615,43.369165],[131.314419,43.392653],[131.295941,43.441774],[131.314419,43.461325],[131.31873,43.499539],[131.304564,43.502144],[131.294093,43.470012],[131.234963,43.475224],[131.201086,43.442209],[131.175217,43.444816],[131.142572,43.425695],[131.026775,43.508655],[130.959638,43.48608],[130.907283,43.434387],[130.864167,43.437863],[130.841378,43.454374],[130.822899,43.503446],[130.776704,43.52341],[130.727429,43.560284],[130.671378,43.565054],[130.665835,43.583698],[130.623335,43.589767],[130.630726,43.622268],[130.57098,43.626167],[130.57098,43.626167],[130.501995,43.636563],[130.488444,43.65605],[130.437937,43.646091],[130.412684,43.652586],[130.394206,43.703227],[130.423155,43.745179],[130.382503,43.777164],[130.381887,43.817768],[130.362793,43.844967],[130.386198,43.85403],[130.368336,43.894151],[130.381887,43.910106],[130.338155,43.963975],[130.364025,43.992399],[130.365256,44.044042],[130.319061,44.03974],[130.307358,44.002731],[130.27225,43.981634],[130.262395,43.949328],[130.208192,43.948466],[130.153373,43.915711],[130.143518,43.878624],[130.116417,43.878192],[130.110873,43.852735],[130.079461,43.835039],[130.027722,43.851872],[130.009243,43.889407],[130.022794,43.917866],[130.017867,43.961821],[129.979062,44.015644],[129.951345,44.027263],[129.907614,44.023821],[129.881128,44.000148],[129.868193,44.012631],[129.802904,43.964837],[129.780114,43.892857],[129.739462,43.895876],[129.743158,43.876035],[129.699426,43.8838],[129.650767,43.873016],[129.529427,43.870427],[129.467833,43.874741],[129.449971,43.850578],[129.417942,43.843672],[129.406855,43.819496],[129.348341,43.798333],[129.30892,43.812155],[129.289826,43.797038],[129.254718,43.819496],[129.211602,43.784509],[129.232544,43.709284],[129.214066,43.695006],[129.217146,43.648689],[129.232544,43.635263],[129.23008,43.593234],[129.169102,43.561585],[129.145081,43.570258],[129.093958,43.547706],[129.037907,43.540332],[129.013886,43.522976],[128.962763,43.53903],[128.949828,43.553779],[128.878379,43.539898],[128.834647,43.587599],[128.821097,43.637429],[128.78722,43.686784],[128.768126,43.732207],[128.729322,43.736964],[128.760119,43.755554],[128.739177,43.806972],[128.719467,43.816905],[128.760734,43.857482],[128.729938,43.889838],[128.696061,43.903207],[128.636315,43.891132],[128.64001,43.948035],[128.610445,43.960529],[128.584576,43.990246],[128.574721,44.047914],[128.529141,44.112401],[128.471859,44.157501],[128.450301,44.203423],[128.471859,44.247596],[128.453997,44.257884],[128.472475,44.320001],[128.446605,44.339694],[128.475555,44.346114],[128.481714,44.375637],[128.457076,44.409848],[128.463236,44.431647],[128.427511,44.473512],[128.397946,44.483761],[128.372693,44.514495],[128.295084,44.480772],[128.293237,44.467961],[128.228563,44.445748],[128.211317,44.431647],[128.172512,44.34697],[128.137404,44.357668],[128.094904,44.354673],[128.074578,44.370075],[128.049941,44.349965],[128.065339,44.307155],[128.101679,44.293449],[128.064107,44.251454],[128.104143,44.230017],[128.09244,44.181539],[128.060411,44.168663],[128.088129,44.158359],[128.091208,44.133022],[128.042549,44.103807],[127.950158,44.088334],[127.912586,44.064687],[127.862695,44.062967],[127.846065,44.081886],[127.808492,44.086615],[127.783239,44.071997],[127.729036,44.09908],[127.735811,44.11412],[127.712406,44.199133],[127.681609,44.166946],[127.641573,44.193555],[127.626174,44.187977],[127.59045,44.227872],[127.623711,44.278025],[127.579363,44.310581],[127.486356,44.410275],[127.50853,44.437202],[127.463566,44.484615],[127.465414,44.516628],[127.485124,44.528576],[127.536247,44.522176],[127.570124,44.55033],[127.557189,44.575488],[127.392733,44.632158],[127.275705,44.640249],[127.261538,44.61299],[127.214111,44.624917],[127.228893,44.642804],[127.182082,44.644507],[127.138966,44.607451],[127.094619,44.615972],[127.089691,44.593816],[127.049655,44.566961],[127.041648,44.591258],[127.044112,44.653874],[127.030561,44.673454],[127.041032,44.712169],[126.9973,44.764882],[126.984366,44.823914],[126.999764,44.87398],[127.021938,44.898997],[127.073061,44.907051],[127.092771,44.94688],[127.050271,45.004034],[127.018242,45.024341],[126.984981,45.067893],[126.970815,45.070852],[126.96404,45.132104],[126.85625,45.145613],[126.792808,45.135481],[126.787265,45.159118],[126.732446,45.187385],[126.685635,45.187807],[126.640055,45.214373],[126.644983,45.225334],[126.569222,45.252725],[126.540273,45.23882],[126.519331,45.248091],[126.402919,45.222805],[126.356107,45.185698],[126.293282,45.180214],[126.285274,45.162494],[126.235383,45.140125],[126.225528,45.154054],[126.166398,45.13337],[126.142992,45.147723],[126.091869,45.149411],[126.047522,45.170933],[125.998247,45.162072],[125.992703,45.192447],[125.957595,45.201303],[125.915095,45.196664],[125.849805,45.23882],[125.823936,45.237978],[125.815929,45.264942],[125.761726,45.291472],[125.726001,45.336503],[125.695205,45.352066],[125.712451,45.389485],[125.711835,45.477677],[125.687813,45.514173],[125.660096,45.507043],[125.61698,45.517947],[125.583104,45.491942],[125.497488,45.469283],[125.480242,45.486488],[125.424807,45.485649],[125.434662,45.462988],[125.398322,45.416797],[125.361981,45.392847],[125.319482,45.422678],[125.301619,45.402092],[125.248649,45.417637],[125.189518,45.39915],[125.137779,45.409655],[125.097127,45.38276],[125.06633,45.39915],[125.08912,45.420998],[125.0497,45.428558],[125.025678,45.493201],[124.961005,45.495299],[124.936983,45.53388],[124.911114,45.535976],[124.884628,45.495299],[124.886476,45.442836],[124.839665,45.455852],[124.792853,45.436958],[124.776223,45.468024],[124.729412,45.444096],[124.690607,45.452493],[124.625318,45.437377],[124.575427,45.451234],[124.579738,45.424358],[124.544014,45.411756],[124.507058,45.424778],[124.480572,45.456271],[124.398652,45.440737],[124.374015,45.45795],[124.352457,45.496557],[124.369087,45.512915],[124.348761,45.546874],[124.287783,45.539329],[124.264377,45.555256],[124.273001,45.584163],[124.238508,45.591702],[124.226805,45.633564],[124.162132,45.616404],[124.128255,45.641933],[124.147349,45.665359],[124.122096,45.669123],[124.13503,45.690448],[124.10177,45.700898],[124.098074,45.722628],[124.054342,45.751449],[124.014922,45.749779],[124.001987,45.770655],[124.064197,45.802372],[124.03648,45.83824],[124.067277,45.840325],[124.061118,45.886168],[123.996444,45.906993],[123.968727,45.936551],[123.973654,45.973997],[124.011842,45.981899],[123.989053,46.011833],[124.040176,46.01973],[124.034016,46.045074],[124.009995,46.057534],[124.015538,46.088257],[123.99398,46.101123],[124.01677,46.118549],[123.991516,46.143019],[124.001987,46.166649],[123.971806,46.170379],[123.956408,46.206009],[123.979814,46.228784],[123.952096,46.256516],[123.960103,46.288369],[123.936082,46.286715],[123.917604,46.25693],[123.896046,46.303668],[123.84985,46.302428],[123.775938,46.263136],[123.726047,46.255688],[123.673692,46.258585],[123.604706,46.251964],[123.569598,46.223816],[123.569598,46.223816],[123.499381,46.259826],[123.452569,46.233338],[123.430396,46.243687],[123.357099,46.232096],[123.357099,46.232096],[123.320758,46.254447],[123.286266,46.250308],[123.248078,46.273065],[123.178476,46.248239],[123.128585,46.210565],[123.127354,46.174523],[123.102716,46.172037],[123.112571,46.130163],[123.070071,46.123527],[123.04605,46.099878],[122.792898,46.073313],[122.828623,45.912406],[122.80029,45.856583],[122.772572,45.856583],[122.752246,45.834905],[122.792283,45.766063],[122.751015,45.735996],[122.741775,45.705077],[122.671558,45.70048],[122.650001,45.731401],[122.640761,45.771072],[122.603189,45.778169],[122.556378,45.82156],[122.522501,45.786933],[122.504639,45.786933],[122.496016,45.85825],[122.446125,45.916986],[122.362357,45.917403],[122.372828,45.856166],[122.337719,45.859917],[122.301379,45.813218],[122.253952,45.7982],[122.236705,45.831569],[122.200981,45.857],[122.091344,45.882002],[122.085184,45.912406],[122.040221,45.959022],[121.92812,45.988552],[121.923808,46.004767],[121.864062,46.002272],[121.843736,46.024301],[121.819098,46.023054],[121.761816,45.998947],[121.809243,45.961102],[121.821562,45.918235],[121.805548,45.900746],[121.817251,45.875336],[121.769823,45.84366],[121.766744,45.830318],[121.766744,45.830318],[121.754425,45.794862],[121.697142,45.76314],[121.657106,45.770238],[121.644172,45.752284],[121.666345,45.727641],[121.713773,45.701734],[121.811091,45.687103],[121.812323,45.704659],[121.867142,45.719703],[121.934279,45.71051],[121.970004,45.692956],[122.003264,45.623102],[121.995873,45.59882],[121.966308,45.596308],[121.993409,45.552741],[122.002648,45.507882],[122.064242,45.472641],[122.168336,45.439897],[122.180039,45.409655],[122.146778,45.374352],[122.147394,45.295682],[122.239169,45.276313],[122.22993,45.206784],[122.192358,45.180636],[122.143082,45.183167],[122.109822,45.142236],[122.119677,45.068739],[122.098735,45.02138],[122.074713,45.006573],[122.087032,44.95281],[122.079025,44.914256],[122.04946,44.912985],[122.098119,44.81882],[122.099967,44.7823],[122.168952,44.770405],[122.142467,44.753833],[122.110438,44.767856],[122.10243,44.736406],[122.152322,44.744057],[122.161561,44.728328],[122.117213,44.701961],[122.103046,44.67388],[122.113517,44.615546],[122.13138,44.577619],[122.196053,44.559712],[122.224386,44.526016],[122.228082,44.480345],[122.28598,44.477783],[122.294604,44.41113],[122.291524,44.310152],[122.271198,44.255741],[122.319241,44.233018],[122.483081,44.236877],[122.515726,44.251025],[122.641993,44.283595],[122.675254,44.285738],[122.702971,44.319145],[122.76087,44.369648],[122.85634,44.398304],[123.025108,44.493153],[123.06576,44.505959],[123.12489,44.5098],[123.137209,44.486322],[123.125506,44.455147],[123.142136,44.428228],[123.114419,44.40258],[123.128585,44.367081],[123.196955,44.34483],[123.277027,44.25274],[123.286882,44.211574],[123.323838,44.179823],[123.386664,44.161794],[123.362642,44.133452],[123.350939,44.092633],[123.32815,44.084035],[123.331229,44.028984],[123.365722,44.013922],[123.400831,43.979481],[123.37065,43.970006],[123.397135,43.954929],[123.467968,43.853599],[123.461809,43.822518],[123.498149,43.771114],[123.48275,43.737396],[123.520323,43.708419],[123.518475,43.682024],[123.536953,43.633964],[123.510468,43.624867],[123.5117,43.592801],[123.421157,43.598435],[123.434091,43.575461],[123.461193,43.568523],[123.452569,43.545971],[123.452569,43.545971],[123.360179,43.567223],[123.304744,43.550742],[123.329998,43.519071],[123.315831,43.492159],[123.36449,43.483475],[123.382968,43.469143],[123.419925,43.410046],[123.442098,43.437863],[123.486446,43.44525],[123.519707,43.402219],[123.54496,43.415262],[123.608402,43.366119],[123.703873,43.37047],[123.710032,43.417001],[123.749452,43.439167],[123.747604,43.472184],[123.79688,43.489988],[123.857858,43.459153],[123.857858,43.459153],[123.852314,43.406133],[123.881263,43.392218],[123.881263,43.392218],[123.896046,43.361333],[123.964415,43.34088],[124.032784,43.280786],[124.099306,43.292983],[124.117168,43.2773],[124.114088,43.247229],[124.168291,43.244177],[124.215102,43.255947],[124.228653,43.235022],[124.27608,43.233278],[124.287167,43.207983],[124.273617,43.17875],[124.366007,43.121554],[124.425754,43.076107],[124.333363,42.997371],[124.369703,42.972854],[124.42329,42.975482],[124.442384,42.958841],[124.431913,42.930803],[124.38079,42.912835],[124.371551,42.880831],[124.435609,42.880831],[124.466406,42.847054],[124.586514,42.905384],[124.607456,42.937376],[124.632093,42.949642],[124.635173,42.972854],[124.658579,42.972854],[124.677673,43.002185],[124.686912,43.051185],[124.719557,43.069987],[124.755281,43.074359],[124.785462,43.117185],[124.882781,43.13422],[124.88894,43.074796],[124.840897,43.032377],[124.869846,42.988178],[124.87231,42.962344],[124.84952,42.882585],[124.856911,42.824234],[124.874157,42.789987],[124.897563,42.787791],[124.92836,42.819844],[124.975171,42.802722],[124.996729,42.745174],[124.968396,42.722756],[124.99057,42.677455],[125.014592,42.666014],[125.010896,42.63212],[125.038613,42.615387],[125.097127,42.622433],[125.082961,42.591159],[125.089736,42.567803],[125.066946,42.534738],[125.090968,42.515773],[125.068794,42.499449],[125.105135,42.490624],[125.150098,42.458842],[125.140243,42.44692],[125.186439,42.427928],[125.185823,42.38197],[125.203685,42.366938],[125.167345,42.351903],[125.175352,42.308102],[125.224011,42.30102],[125.264047,42.312528],[125.299156,42.289953],[125.27575,42.266928],[125.27575,42.231045],[125.312706,42.219966],[125.280677,42.175187],[125.312706,42.197359],[125.305931,42.146351],[125.357054,42.145464],[125.368141,42.182726],[125.41372,42.156112],[125.458068,42.160105],[125.458068,42.160105],[125.490097,42.136145],[125.446365,42.098411],[125.414336,42.101964],[125.416184,42.063766],[125.363213,42.017097],[125.369989,42.002868],[125.29854,41.974399],[125.291764,41.958825],[125.35151,41.92811],[125.307779,41.924548],[125.294844,41.822945],[125.319482,41.776993],[125.319482,41.776993],[125.323177,41.771191],[125.323177,41.771191],[125.336112,41.768067],[125.336112,41.768067],[125.332416,41.711354],[125.317018,41.676944],[125.344119,41.672474],[125.412488,41.691246],[125.446981,41.67605],[125.461148,41.642516],[125.450061,41.597777],[125.479626,41.544946],[125.507343,41.534195],[125.493176,41.509103],[125.533212,41.479069],[125.534444,41.428833],[125.547995,41.401006],[125.581256,41.396517],[125.589879,41.359245],[125.610205,41.365084],[125.637306,41.34442],[125.62006,41.318355],[125.642234,41.296327],[125.646545,41.264396],[125.685349,41.273842],[125.695205,41.244599],[125.749407,41.245499],[125.758646,41.232449],[125.73832,41.178418],[125.791291,41.167607],[125.759878,41.132908],[125.734009,41.125695],[125.712451,41.095485],[125.739552,41.08917],[125.726617,41.055332],[125.684118,41.021929],[125.674879,40.974503],[125.650241,40.970888],[125.635458,40.94151],[125.589263,40.931112],[125.584335,40.891764],[125.652089,40.91619],[125.687813,40.897645],[125.707523,40.866877],[125.778356,40.897645],[125.817161,40.866877],[125.860892,40.888597],[125.875059,40.908501],[125.921254,40.882715],[125.959442,40.88181],[126.008102,40.936537],[126.041362,40.928851],[126.051833,40.96185],[126.08263,40.976762],[126.066,40.997542],[126.1085,41.011995],[126.099877,41.036376],[126.133753,41.063906],[126.124514,41.092327],[126.16763,41.094583],[126.187956,41.113072],[126.188572,41.114875],[126.295129,41.171661],[126.332086,41.236949],[126.35426,41.244599],[126.373354,41.289133],[126.437411,41.353405],[126.497158,41.374965],[126.524259,41.349362],[126.539041,41.366881],[126.497158,41.406842],[126.559983,41.548081],[126.582773,41.563307],[126.564295,41.608965],[126.592628,41.624624],[126.608027,41.669345],[126.644983,41.661297],[126.688099,41.674262],[126.724439,41.710907],[126.690562,41.728328],[126.694874,41.751103],[126.723207,41.753335],[126.8002,41.702865],[126.809439,41.749317],[126.848243,41.734134],[126.85625,41.760031],[126.887047,41.791719],[126.931395,41.812687],[126.952953,41.804212],[126.940018,41.773423],[126.979438,41.776993],[127.005923,41.749317],[127.050887,41.744852],[127.057662,41.703758],[127.037952,41.676944],[127.103242,41.647883],[127.093387,41.629993],[127.127263,41.622388],[127.135887,41.600463],[127.178386,41.600015],[127.125416,41.566442],[127.11864,41.540018],[127.164836,41.542706],[127.188241,41.527475],[127.241212,41.520754],[127.28864,41.501932],[127.253531,41.486691],[127.296031,41.486243],[127.360704,41.466065],[127.360088,41.479518],[127.405668,41.478621],[127.419835,41.460235],[127.459255,41.461581],[127.465414,41.479069],[127.526392,41.467859],[127.547334,41.477276],[127.563964,41.432871],[127.618783,41.432871],[127.636645,41.413575],[127.684073,41.422999],[127.780159,41.427038],[127.854688,41.420755],[127.86947,41.4037],[127.882405,41.448124],[127.909506,41.42973],[127.93168,41.444984],[127.970484,41.438704],[127.991426,41.421204],[128.000049,41.442741],[128.040085,41.393375],[128.110919,41.393375],[128.090593,41.374516],[128.114614,41.364186],[128.169433,41.404149],[128.203925,41.410882],[128.243345,41.477276],[128.238418,41.497898],[128.301244,41.540018],[128.317874,41.575844],[128.30186,41.627756],[128.248889,41.681414],[128.208853,41.688565],[128.163889,41.721628],[128.147875,41.78101],[128.112766,41.793504],[128.104143,41.843457],[128.115846,41.896935],[128.106607,41.949923],[128.033926,42.000199],[128.090593,42.022877],[128.294468,42.026434],[128.405338,42.018876],[128.466316,42.020654],[128.49896,42.000644],[128.598127,42.007315],[128.60675,42.02999],[128.637547,42.035324],[128.658489,42.018876],[128.70222,42.02021],[128.737945,42.050435],[128.779213,42.033546],[128.795227,42.042436],[128.898089,42.016653],[128.952908,42.025545],[128.954755,42.083756],[128.971386,42.097079],[129.008958,42.09175],[129.039139,42.107736],[129.048378,42.137476],[129.113668,42.140583],[129.166639,42.188047],[129.215914,42.208442],[129.209138,42.237692],[129.181421,42.242122],[129.183269,42.262056],[129.215914,42.265157],[129.231312,42.283755],[129.208522,42.293052],[129.260261,42.335536],[129.231312,42.356325],[129.240551,42.376223],[129.326167,42.389927],[129.30892,42.403628],[129.331094,42.429695],[129.356348,42.427045],[129.342181,42.441179],[129.368051,42.459284],[129.366203,42.428811],[129.392688,42.42837],[129.400695,42.449128],[129.452434,42.441179],[129.49863,42.412023],[129.546057,42.361632],[129.578086,42.380202],[129.569463,42.399208],[129.601492,42.415116]]]]}},{"type":"Feature","properties":{"adcode":230000,"name":"黑龙江省","center":[126.642464,45.756967],"centroid":[127.693027,48.040465],"childrenNum":13,"level":"province","parent":{"adcode":100000},"subFeatureIndex":7,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[123.569598,46.223816],[123.604706,46.251964],[123.673692,46.258585],[123.726047,46.255688],[123.775938,46.263136],[123.84985,46.302428],[123.896046,46.303668],[123.917604,46.25693],[123.936082,46.286715],[123.960103,46.288369],[123.952096,46.256516],[123.979814,46.228784],[123.956408,46.206009],[123.971806,46.170379],[124.001987,46.166649],[123.991516,46.143019],[124.01677,46.118549],[123.99398,46.101123],[124.015538,46.088257],[124.009995,46.057534],[124.034016,46.045074],[124.040176,46.01973],[123.989053,46.011833],[124.011842,45.981899],[123.973654,45.973997],[123.968727,45.936551],[123.996444,45.906993],[124.061118,45.886168],[124.067277,45.840325],[124.03648,45.83824],[124.064197,45.802372],[124.001987,45.770655],[124.014922,45.749779],[124.054342,45.751449],[124.098074,45.722628],[124.10177,45.700898],[124.13503,45.690448],[124.122096,45.669123],[124.147349,45.665359],[124.128255,45.641933],[124.162132,45.616404],[124.226805,45.633564],[124.238508,45.591702],[124.273001,45.584163],[124.264377,45.555256],[124.287783,45.539329],[124.348761,45.546874],[124.369087,45.512915],[124.352457,45.496557],[124.374015,45.45795],[124.398652,45.440737],[124.480572,45.456271],[124.507058,45.424778],[124.544014,45.411756],[124.579738,45.424358],[124.575427,45.451234],[124.625318,45.437377],[124.690607,45.452493],[124.729412,45.444096],[124.776223,45.468024],[124.792853,45.436958],[124.839665,45.455852],[124.886476,45.442836],[124.884628,45.495299],[124.911114,45.535976],[124.936983,45.53388],[124.961005,45.495299],[125.025678,45.493201],[125.0497,45.428558],[125.08912,45.420998],[125.06633,45.39915],[125.097127,45.38276],[125.137779,45.409655],[125.189518,45.39915],[125.248649,45.417637],[125.301619,45.402092],[125.319482,45.422678],[125.361981,45.392847],[125.398322,45.416797],[125.434662,45.462988],[125.424807,45.485649],[125.480242,45.486488],[125.497488,45.469283],[125.583104,45.491942],[125.61698,45.517947],[125.660096,45.507043],[125.687813,45.514173],[125.711835,45.477677],[125.712451,45.389485],[125.695205,45.352066],[125.726001,45.336503],[125.761726,45.291472],[125.815929,45.264942],[125.823936,45.237978],[125.849805,45.23882],[125.915095,45.196664],[125.957595,45.201303],[125.992703,45.192447],[125.998247,45.162072],[126.047522,45.170933],[126.091869,45.149411],[126.142992,45.147723],[126.166398,45.13337],[126.225528,45.154054],[126.235383,45.140125],[126.285274,45.162494],[126.293282,45.180214],[126.356107,45.185698],[126.402919,45.222805],[126.519331,45.248091],[126.540273,45.23882],[126.569222,45.252725],[126.644983,45.225334],[126.640055,45.214373],[126.685635,45.187807],[126.732446,45.187385],[126.787265,45.159118],[126.792808,45.135481],[126.85625,45.145613],[126.96404,45.132104],[126.970815,45.070852],[126.984981,45.067893],[127.018242,45.024341],[127.050271,45.004034],[127.092771,44.94688],[127.073061,44.907051],[127.021938,44.898997],[126.999764,44.87398],[126.984366,44.823914],[126.9973,44.764882],[127.041032,44.712169],[127.030561,44.673454],[127.044112,44.653874],[127.041648,44.591258],[127.049655,44.566961],[127.089691,44.593816],[127.094619,44.615972],[127.138966,44.607451],[127.182082,44.644507],[127.228893,44.642804],[127.214111,44.624917],[127.261538,44.61299],[127.275705,44.640249],[127.392733,44.632158],[127.557189,44.575488],[127.570124,44.55033],[127.536247,44.522176],[127.485124,44.528576],[127.465414,44.516628],[127.463566,44.484615],[127.50853,44.437202],[127.486356,44.410275],[127.579363,44.310581],[127.623711,44.278025],[127.59045,44.227872],[127.626174,44.187977],[127.641573,44.193555],[127.681609,44.166946],[127.712406,44.199133],[127.735811,44.11412],[127.729036,44.09908],[127.783239,44.071997],[127.808492,44.086615],[127.846065,44.081886],[127.862695,44.062967],[127.912586,44.064687],[127.950158,44.088334],[128.042549,44.103807],[128.091208,44.133022],[128.088129,44.158359],[128.060411,44.168663],[128.09244,44.181539],[128.104143,44.230017],[128.064107,44.251454],[128.101679,44.293449],[128.065339,44.307155],[128.049941,44.349965],[128.074578,44.370075],[128.094904,44.354673],[128.137404,44.357668],[128.172512,44.34697],[128.211317,44.431647],[128.228563,44.445748],[128.293237,44.467961],[128.295084,44.480772],[128.372693,44.514495],[128.397946,44.483761],[128.427511,44.473512],[128.463236,44.431647],[128.457076,44.409848],[128.481714,44.375637],[128.475555,44.346114],[128.446605,44.339694],[128.472475,44.320001],[128.453997,44.257884],[128.471859,44.247596],[128.450301,44.203423],[128.471859,44.157501],[128.529141,44.112401],[128.574721,44.047914],[128.584576,43.990246],[128.610445,43.960529],[128.64001,43.948035],[128.636315,43.891132],[128.696061,43.903207],[128.729938,43.889838],[128.760734,43.857482],[128.719467,43.816905],[128.739177,43.806972],[128.760119,43.755554],[128.729322,43.736964],[128.768126,43.732207],[128.78722,43.686784],[128.821097,43.637429],[128.834647,43.587599],[128.878379,43.539898],[128.949828,43.553779],[128.962763,43.53903],[129.013886,43.522976],[129.037907,43.540332],[129.093958,43.547706],[129.145081,43.570258],[129.169102,43.561585],[129.23008,43.593234],[129.232544,43.635263],[129.217146,43.648689],[129.214066,43.695006],[129.232544,43.709284],[129.211602,43.784509],[129.254718,43.819496],[129.289826,43.797038],[129.30892,43.812155],[129.348341,43.798333],[129.406855,43.819496],[129.417942,43.843672],[129.449971,43.850578],[129.467833,43.874741],[129.529427,43.870427],[129.650767,43.873016],[129.699426,43.8838],[129.743158,43.876035],[129.739462,43.895876],[129.780114,43.892857],[129.802904,43.964837],[129.868193,44.012631],[129.881128,44.000148],[129.907614,44.023821],[129.951345,44.027263],[129.979062,44.015644],[130.017867,43.961821],[130.022794,43.917866],[130.009243,43.889407],[130.027722,43.851872],[130.079461,43.835039],[130.110873,43.852735],[130.116417,43.878192],[130.143518,43.878624],[130.153373,43.915711],[130.208192,43.948466],[130.262395,43.949328],[130.27225,43.981634],[130.307358,44.002731],[130.319061,44.03974],[130.365256,44.044042],[130.364025,43.992399],[130.338155,43.963975],[130.381887,43.910106],[130.368336,43.894151],[130.386198,43.85403],[130.362793,43.844967],[130.381887,43.817768],[130.382503,43.777164],[130.423155,43.745179],[130.394206,43.703227],[130.412684,43.652586],[130.437937,43.646091],[130.488444,43.65605],[130.501995,43.636563],[130.57098,43.626167],[130.57098,43.626167],[130.630726,43.622268],[130.623335,43.589767],[130.665835,43.583698],[130.671378,43.565054],[130.727429,43.560284],[130.776704,43.52341],[130.822899,43.503446],[130.841378,43.454374],[130.864167,43.437863],[130.907283,43.434387],[130.959638,43.48608],[131.026775,43.508655],[131.142572,43.425695],[131.175217,43.444816],[131.201086,43.442209],[131.234963,43.475224],[131.294093,43.470012],[131.304564,43.502144],[131.276847,43.495632],[131.20047,43.532089],[131.222028,43.593234],[131.216485,43.613169],[131.239274,43.670337],[131.221412,43.682024],[131.215869,43.72745],[131.232499,43.742585],[131.213405,43.801357],[131.2171,43.836334],[131.254057,43.893289],[131.26268,43.948897],[131.245434,43.95579],[131.26576,44.034578],[131.28239,44.035868],[131.287318,44.03802],[131.293477,44.043182],[131.310723,44.046623],[131.111775,44.710042],[131.090833,44.717272],[131.093297,44.746183],[131.069275,44.759783],[131.064348,44.786973],[131.016304,44.789521],[131.015688,44.814999],[130.972573,44.820094],[130.965181,44.85065],[131.07913,44.881614],[131.10192,44.898997],[131.090217,44.924427],[131.16105,44.948151],[131.20355,44.932901],[131.207861,44.913833],[131.263296,44.929935],[131.274999,44.919766],[131.313803,44.950692],[131.313803,44.965938],[131.355071,44.990068],[131.380324,44.978216],[131.409889,44.985836],[131.464708,44.963397],[131.501664,44.977793],[131.484418,44.99557],[131.529382,45.012073],[131.566338,45.045487],[131.63286,45.075078],[131.695685,45.132104],[131.687678,45.1511],[131.650722,45.159962],[131.681519,45.215217],[131.721555,45.234606],[131.759127,45.213952],[131.79362,45.211844],[131.788692,45.245984],[131.825649,45.291472],[131.82996,45.311677],[131.887858,45.342393],[131.917423,45.339448],[131.93159,45.287683],[131.976554,45.277156],[132.003655,45.25441],[132.17427,45.216903],[132.394161,45.16376],[132.76434,45.081417],[132.867202,45.061976],[132.916477,45.031109],[132.954049,45.023072],[132.98731,45.043373],[133.035969,45.054366],[133.070462,45.097051],[133.089556,45.097473],[133.107418,45.124504],[133.139447,45.127459],[133.129592,45.211422],[133.095715,45.246827],[133.110498,45.266627],[133.097563,45.284735],[133.128976,45.336924],[133.119121,45.352908],[133.144991,45.367205],[133.143759,45.430658],[133.164701,45.437377],[133.170244,45.465506],[133.203505,45.516689],[133.246005,45.517528],[133.333468,45.562379],[133.342707,45.554836],[133.393214,45.580393],[133.423395,45.584163],[133.412924,45.618079],[133.471438,45.631053],[133.448649,45.647372],[133.485605,45.658667],[133.484989,45.691702],[133.445569,45.705077],[133.454192,45.731819],[133.486837,45.740173],[133.469591,45.777751],[133.505315,45.785681],[133.469591,45.799451],[133.467743,45.834905],[133.494228,45.840325],[133.491764,45.867002],[133.51209,45.887001],[133.55459,45.893249],[133.583539,45.868669],[133.618032,45.903662],[133.614952,45.942794],[133.676546,45.94321],[133.681474,45.986473],[133.740604,46.048812],[133.745531,46.075389],[133.690713,46.133896],[133.706111,46.163333],[133.764626,46.17328],[133.794807,46.193583],[133.814517,46.230854],[133.849625,46.203939],[133.87919,46.233752],[133.867487,46.250722],[133.909987,46.254447],[133.91861,46.280924],[133.908139,46.308216],[133.922922,46.330948],[133.869335,46.338386],[133.876726,46.362345],[133.940784,46.38134],[133.948791,46.401153],[133.902596,46.446119],[133.852089,46.450242],[133.849625,46.475389],[133.890893,46.525235],[133.919842,46.596012],[134.011001,46.637941],[134.030711,46.708981],[134.033175,46.759023],[134.052885,46.779928],[134.025168,46.810657],[134.041182,46.848326],[134.042414,46.886787],[134.076291,46.938298],[134.063972,46.979962],[134.10216,47.005678],[134.118175,47.061968],[134.142812,47.093349],[134.222268,47.105164],[134.232739,47.134892],[134.230276,47.182097],[134.210566,47.210155],[134.156979,47.248357],[134.177305,47.326299],[134.203174,47.347389],[134.263536,47.371307],[134.266616,47.391974],[134.307268,47.428829],[134.339297,47.439759],[134.490202,47.446235],[134.522847,47.468086],[134.568426,47.478199],[134.576434,47.519036],[134.627556,47.546512],[134.678064,47.588507],[134.689766,47.63813],[134.779694,47.7159],[134.772918,47.763391],[134.678679,47.819278],[134.670056,47.864667],[134.677448,47.884738],[134.658969,47.901191],[134.607846,47.909214],[134.599839,47.947711],[134.55426,47.982173],[134.551796,48.032622],[134.632484,48.099412],[134.67252,48.170505],[134.679295,48.256245],[134.77107,48.288908],[134.864077,48.332293],[135.009439,48.365703],[135.090743,48.403461],[135.09567,48.437618],[135.068569,48.459451],[135.035924,48.440795],[134.996504,48.439603],[134.927519,48.451513],[134.886867,48.437618],[134.848679,48.393925],[134.820961,48.37604],[134.764295,48.370076],[134.704549,48.405448],[134.640491,48.409818],[134.578281,48.405448],[134.501905,48.418954],[134.438463,48.405448],[134.369478,48.382797],[134.20379,48.3824],[134.150819,48.346217],[134.116327,48.333089],[134.0689,48.338659],[134.029479,48.327519],[133.995603,48.303639],[133.940784,48.302047],[133.876111,48.282536],[133.824372,48.277359],[133.791111,48.261026],[133.740604,48.254651],[133.693177,48.186866],[133.667307,48.183275],[133.59709,48.194846],[133.573068,48.182078],[133.545967,48.121389],[133.451728,48.112999],[133.407997,48.124585],[133.302055,48.103009],[133.239845,48.126583],[133.182563,48.135769],[133.130208,48.134971],[133.053216,48.110202],[133.02673,48.085421],[133.016259,48.054228],[132.992238,48.035424],[132.883216,48.002599],[132.819159,47.936887],[132.769268,47.93849],[132.723072,47.962941],[132.691043,47.962941],[132.661478,47.944905],[132.662094,47.922451],[132.687348,47.88514],[132.662094,47.854227],[132.621442,47.82852],[132.599268,47.792347],[132.6005,47.740858],[132.558,47.718316],[132.469305,47.726368],[132.371987,47.765402],[132.325175,47.762184],[132.288835,47.742065],[132.272205,47.718718],[132.242639,47.70986],[132.19706,47.714289],[132.157024,47.70543],[132.086191,47.703013],[132.000575,47.712276],[131.976554,47.673201],[131.900793,47.685692],[131.825649,47.677231],[131.741881,47.706638],[131.690142,47.707041],[131.641483,47.663932],[131.59036,47.660707],[131.568186,47.682469],[131.559563,47.724757],[131.543548,47.736028],[131.456085,47.747297],[131.359998,47.730796],[131.273767,47.738846],[131.236811,47.733211],[131.183224,47.702611],[131.115471,47.689721],[131.029855,47.694555],[130.983659,47.713081],[130.966413,47.733211],[130.961486,47.828118],[130.891269,47.927263],[130.870943,47.943301],[130.770544,47.998194],[130.737284,48.034223],[130.699711,48.044227],[130.666451,48.105007],[130.673842,48.12818],[130.765617,48.18926],[130.769313,48.231136],[130.787791,48.256643],[130.817972,48.265409],[130.845073,48.296473],[130.81982,48.341444],[130.785327,48.357353],[130.747755,48.404256],[130.745907,48.449131],[130.776704,48.480084],[130.767465,48.507846],[130.711414,48.511414],[130.647357,48.484844],[130.620871,48.49595],[130.615944,48.575601],[130.605473,48.594207],[130.538335,48.612016],[130.538951,48.635751],[130.576524,48.688719],[130.622103,48.783842],[130.689856,48.849651],[130.680617,48.881146],[130.609168,48.881146],[130.559277,48.861071],[130.501995,48.865795],[130.471198,48.905541],[130.412068,48.905148],[130.279641,48.866976],[130.237757,48.868551],[130.219895,48.893739],[130.113337,48.956653],[130.059135,48.979047],[130.020946,49.021058],[129.937179,49.040285],[129.9187,49.060681],[129.934715,49.078717],[129.913157,49.1085],[129.866962,49.113985],[129.855259,49.133567],[129.864498,49.158621],[129.847867,49.181316],[129.784426,49.184054],[129.753629,49.208692],[129.761636,49.25754],[129.730223,49.288387],[129.696962,49.298535],[129.604571,49.279018],[129.562687,49.299706],[129.546057,49.395227],[129.51834,49.423652],[129.448739,49.441167],[129.390224,49.432605],[129.374826,49.414309],[129.379138,49.367175],[129.358196,49.355871],[129.320623,49.3586],[129.266421,49.396006],[129.215298,49.399122],[129.180805,49.386657],[129.143849,49.357431],[129.084719,49.359769],[129.061929,49.374189],[129.013886,49.457119],[128.932582,49.46801],[128.871604,49.492506],[128.792147,49.473065],[128.76135,49.482009],[128.763198,49.515824],[128.813089,49.558157],[128.802618,49.58222],[128.744104,49.595023],[128.715155,49.564756],[128.656025,49.577564],[128.619684,49.593471],[128.537764,49.604332],[128.500192,49.593859],[128.389939,49.58998],[128.343128,49.544956],[128.287077,49.566309],[128.243345,49.563203],[128.185447,49.53952],[128.122005,49.55311],[128.070882,49.556604],[128.001281,49.592307],[127.949542,49.596187],[127.897804,49.579116],[127.815268,49.593859],[127.782007,49.630698],[127.705015,49.665185],[127.677913,49.697712],[127.674833,49.764247],[127.653892,49.780094],[127.583059,49.786277],[127.531936,49.826059],[127.529472,49.864265],[127.547334,49.928645],[127.543638,49.944438],[127.495595,49.994479],[127.501755,50.056764],[127.58737,50.137768],[127.60708,50.178794],[127.603385,50.239309],[127.44632,50.270686],[127.371791,50.29669],[127.332371,50.340634],[127.369944,50.403996],[127.3644,50.438314],[127.30527,50.45432],[127.293567,50.46575],[127.323132,50.52552],[127.36132,50.547582],[127.370559,50.581415],[127.294799,50.663426],[127.28864,50.699451],[127.305886,50.733932],[127.295415,50.755139],[127.236285,50.781256],[127.143894,50.910111],[127.113713,50.93765],[127.052119,50.962911],[126.985597,51.029202],[126.922772,51.061937],[126.917844,51.138977],[126.899982,51.200518],[126.926467,51.246244],[126.976358,51.291551],[126.98375,51.318863],[126.970815,51.332327],[126.887047,51.321856],[126.877808,51.300906],[126.908605,51.283691],[126.92154,51.259729],[126.908605,51.246619],[126.863025,51.248492],[126.820526,51.281071],[126.813134,51.311756],[126.837156,51.345038],[126.904293,51.340552],[126.930163,51.359241],[126.908605,51.407423],[126.835308,51.413769],[126.791577,51.432428],[126.784185,51.448095],[126.812518,51.493948],[126.843931,51.521885],[126.837156,51.536033],[126.69549,51.57845],[126.67886,51.602246],[126.741069,51.642374],[126.723823,51.679126],[126.734294,51.711399],[126.724439,51.7266],[126.6727,51.73179],[126.658534,51.762544],[126.622809,51.777357],[126.580925,51.824728],[126.555056,51.874266],[126.510092,51.922274],[126.462665,51.948471],[126.468208,51.982395],[126.447882,52.009294],[126.450962,52.027709],[126.487918,52.041699],[126.514404,52.037282],[126.563679,52.119302],[126.556288,52.136203],[126.499005,52.16044],[126.457121,52.165212],[126.403535,52.185031],[126.34502,52.192002],[126.306832,52.205574],[126.312992,52.235271],[126.357955,52.264216],[126.401071,52.279597],[126.436795,52.277034],[126.4331,52.298632],[126.327774,52.310342],[126.320999,52.342163],[126.348716,52.357882],[126.353644,52.389304],[126.326542,52.424353],[126.268644,52.475051],[126.205202,52.466302],[126.192883,52.492181],[126.213209,52.525327],[126.147304,52.573],[126.066616,52.603905],[126.055529,52.582455],[126.030891,52.576273],[125.989008,52.603178],[125.968682,52.630429],[125.971145,52.654033],[125.995783,52.675085],[126.061688,52.673271],[126.072775,52.691048],[126.044442,52.739628],[126.112195,52.757016],[126.116507,52.768243],[126.052449,52.800095],[126.02042,52.795753],[125.985312,52.758465],[125.966834,52.759914],[125.937269,52.786705],[125.923718,52.815651],[125.855349,52.866259],[125.854117,52.891542],[125.827631,52.899123],[125.772197,52.89804],[125.751255,52.88143],[125.722306,52.880347],[125.678574,52.86084],[125.666871,52.869872],[125.665023,52.913561],[125.737088,52.943504],[125.742632,52.993964],[125.684118,53.00801],[125.643466,53.039686],[125.640386,53.06199],[125.613901,53.083564],[125.588647,53.081047],[125.530749,53.0512],[125.504263,53.061271],[125.503647,53.095424],[125.452524,53.107641],[125.343503,53.14463],[125.315786,53.144989],[125.252344,53.18051],[125.195062,53.198439],[125.142091,53.204175],[125.038613,53.202741],[124.970244,53.194137],[124.887708,53.164368],[124.909266,53.118059],[124.87231,53.099018],[124.832889,53.145347],[124.787926,53.140681],[124.734339,53.146783],[124.712165,53.162574],[124.720789,53.192344],[124.678905,53.207043],[124.590209,53.208476],[124.563108,53.201666],[124.496587,53.207759],[124.487348,53.217436],[124.435609,53.223886],[124.412203,53.248601],[124.375863,53.258984],[124.327819,53.331954],[124.239124,53.379817],[124.19416,53.37339],[124.125791,53.348033],[124.058038,53.404085],[124.01369,53.403371],[123.985973,53.434401],[123.865249,53.489627],[123.797495,53.489983],[123.746373,53.500308],[123.698329,53.498528],[123.668764,53.533756],[123.620721,53.550115],[123.58746,53.546915],[123.569598,53.505291],[123.53141,53.507071],[123.557895,53.531978],[123.546808,53.551537],[123.517243,53.558292],[123.490758,53.542648],[123.510468,53.509206],[123.499381,53.497816],[123.47228,53.509206],[123.454417,53.536602],[123.394055,53.538024],[123.309672,53.56078],[123.274563,53.563269],[123.231447,53.549404],[123.179092,53.509918],[123.137209,53.498172],[123.093477,53.508138],[123.052209,53.506715],[122.943804,53.483929],[122.894528,53.462914],[122.826775,53.457213],[122.763949,53.463626],[122.673406,53.459351],[122.608117,53.465408],[122.5379,53.453293],[122.496016,53.458638],[122.435038,53.444739],[122.37406,53.47467],[122.350038,53.505647],[122.266886,53.470039],[122.227466,53.461845],[122.161561,53.468614],[122.111054,53.426913],[122.077177,53.422277],[122.026054,53.428339],[121.875765,53.426556],[121.816019,53.41336],[121.754425,53.389454],[121.697758,53.392666],[121.589969,53.350891],[121.499426,53.337314],[121.504969,53.323018],[121.575802,53.29155],[121.615222,53.258984],[121.642324,53.262564],[121.679896,53.240722],[121.67928,53.199515],[121.660186,53.195213],[121.665114,53.170467],[121.722396,53.145706],[121.753193,53.147501],[121.784606,53.104408],[121.775367,53.089674],[121.817867,53.061631],[121.785838,53.018451],[121.715621,52.997926],[121.677432,52.948192],[121.66265,52.912478],[121.610295,52.892264],[121.604136,52.872401],[121.620766,52.853251],[121.591201,52.824693],[121.537614,52.801542],[121.511129,52.779104],[121.476636,52.772225],[121.455078,52.73528],[121.373158,52.683067],[121.309717,52.676173],[121.29247,52.651855],[121.237036,52.619167],[121.182217,52.59918],[121.225333,52.577364],[121.280151,52.586819],[121.323883,52.573727],[121.353448,52.534793],[121.411963,52.52205],[121.416274,52.499468],[121.474172,52.482706],[121.495114,52.484892],[121.519136,52.456821],[121.565331,52.460468],[121.590585,52.443326],[121.63986,52.44442],[121.678664,52.419973],[121.658338,52.3904],[121.715621,52.342894],[121.714389,52.318025],[121.769207,52.308147],[121.841272,52.282526],[121.901018,52.280695],[121.94783,52.298266],[121.976779,52.343626],[122.035909,52.377615],[122.040837,52.413038],[122.091344,52.427272],[122.080873,52.440407],[122.107358,52.452445],[122.142467,52.495096],[122.140003,52.510032],[122.168952,52.513674],[122.178191,52.48963],[122.207756,52.469218],[122.310618,52.475416],[122.326016,52.459374],[122.342031,52.414133],[122.367284,52.413768],[122.378987,52.395512],[122.419023,52.375057],[122.447356,52.394052],[122.484313,52.341432],[122.478153,52.29607],[122.560689,52.282526],[122.585943,52.266413],[122.67895,52.276667],[122.710979,52.256157],[122.76087,52.26678],[122.787355,52.252494],[122.766413,52.232705],[122.769493,52.179893],[122.73808,52.153464],[122.690653,52.140243],[122.629059,52.13657],[122.643841,52.111585],[122.625363,52.067459],[122.650616,52.058997],[122.664783,51.99861],[122.683877,51.974654],[122.726377,51.978709],[122.729457,51.919321],[122.706051,51.890151],[122.725761,51.87833],[122.732536,51.832495],[122.771957,51.779579],[122.749167,51.746613],[122.778732,51.698048],[122.816304,51.655371],[122.820616,51.633088],[122.85634,51.606707],[122.832935,51.581797],[122.874202,51.561339],[122.880362,51.537894],[122.858804,51.524864],[122.880362,51.511085],[122.854492,51.477551],[122.871123,51.455181],[122.900072,51.445112],[122.903768,51.415262],[122.946267,51.405183],[122.965977,51.386886],[122.965977,51.345786],[123.002934,51.31213],[123.069455,51.321108],[123.127969,51.297913],[123.231447,51.279199],[123.231447,51.268716],[123.294273,51.254111],[123.339853,51.27246],[123.376809,51.266844],[123.414381,51.278825],[123.440251,51.270963],[123.46304,51.286686],[123.582533,51.294545],[123.582533,51.306893],[123.661989,51.319237],[123.660141,51.342795],[123.711264,51.398089],[123.794416,51.361109],[123.842459,51.367462],[123.887423,51.320734],[123.926227,51.300532],[123.939777,51.313253],[123.994596,51.322604],[124.071588,51.320734],[124.090067,51.3413],[124.128255,51.347281],[124.192313,51.33943],[124.239124,51.344664],[124.271769,51.308389],[124.297638,51.298661],[124.339522,51.293422],[124.406659,51.272086],[124.430065,51.301281],[124.426985,51.331953],[124.443616,51.35812],[124.478108,51.36223],[124.490427,51.380537],[124.555717,51.375307],[124.58713,51.363725],[124.62655,51.327465],[124.693687,51.3327],[124.752817,51.35812],[124.76452,51.38726],[124.783614,51.392115],[124.864302,51.37979],[124.885244,51.40817],[124.942527,51.447349],[124.917889,51.474196],[124.928976,51.498419],[124.983795,51.508478],[125.004737,51.529332],[125.047236,51.529704],[125.073106,51.553526],[125.060171,51.59667],[125.098975,51.658341],[125.12854,51.659083],[125.130388,51.635317],[125.175968,51.639403],[125.214772,51.627888],[125.228938,51.640517],[125.289301,51.633831],[125.316402,51.610052],[125.35151,51.623801],[125.38046,51.585516],[125.424807,51.562827],[125.528285,51.488359],[125.559082,51.461521],[125.559082,51.461521],[125.595422,51.416755],[125.595422,51.416755],[125.60035,51.413396],[125.60035,51.413396],[125.600966,51.410409],[125.600966,51.410409],[125.62314,51.398089],[125.62314,51.398089],[125.623756,51.387633],[125.623756,51.387633],[125.626219,51.380163],[125.626219,51.380163],[125.700132,51.327465],[125.700132,51.327465],[125.740784,51.27583],[125.740784,51.27583],[125.76111,51.261976],[125.76111,51.261976],[125.761726,51.226385],[125.819008,51.227134],[125.850421,51.21364],[125.864588,51.146487],[125.909551,51.138977],[125.946508,51.108176],[125.970529,51.123955],[125.993935,51.119072],[125.976073,51.084498],[126.059225,51.043503],[126.033971,51.011132],[126.041978,50.981753],[126.068464,50.967434],[126.042594,50.92558],[126.02042,50.927466],[125.996399,50.906715],[125.997631,50.872738],[125.961906,50.901054],[125.939732,50.85423],[125.913247,50.825885],[125.878138,50.816812],[125.890457,50.805845],[125.836255,50.793363],[125.846726,50.769524],[125.828863,50.756654],[125.804226,50.773309],[125.758646,50.746809],[125.795603,50.738856],[125.78082,50.725598],[125.825784,50.70362],[125.789443,50.679735],[125.804226,50.658874],[125.793139,50.643316],[125.814697,50.62092],[125.807921,50.60383],[125.829479,50.56165],[125.794987,50.532748],[125.770349,50.531227],[125.754335,50.506874],[125.740784,50.523237],[125.699516,50.487078],[125.654553,50.471082],[125.627451,50.443268],[125.580024,50.449366],[125.562162,50.438314],[125.583104,50.409717],[125.567089,50.402852],[125.536292,50.420014],[125.522126,50.404759],[125.546763,50.358965],[125.520278,50.3498],[125.530749,50.331085],[125.463611,50.295925],[125.466075,50.266861],[125.442053,50.260357],[125.448829,50.216338],[125.417416,50.195654],[125.39093,50.199868],[125.382923,50.172278],[125.335496,50.161161],[125.376148,50.137385],[125.311474,50.140453],[125.27883,50.127411],[125.258504,50.103618],[125.287453,50.093636],[125.283757,50.070211],[125.328105,50.065985],[125.315786,50.04562],[125.289916,50.057917],[125.25296,50.041393],[125.283757,50.036012],[125.297924,50.014481],[125.278214,49.996402],[125.241873,49.987938],[125.231402,49.957531],[125.190134,49.959841],[125.199373,49.935194],[125.225859,49.922481],[125.212924,49.907452],[125.245569,49.87198],[125.225243,49.867351],[125.239409,49.844587],[125.177815,49.829533],[125.222779,49.799026],[125.221547,49.754969],[125.204301,49.734086],[125.225243,49.726349],[125.219699,49.669058],[125.185207,49.634574],[125.189518,49.652401],[125.164881,49.669446],[125.132236,49.672157],[125.127308,49.655113],[125.15441,49.616741],[125.16796,49.629923],[125.205533,49.593859],[125.23017,49.595411],[125.233866,49.536801],[125.211076,49.539908],[125.228323,49.487063],[125.270822,49.454395],[125.256656,49.437275],[125.25604,49.395227],[125.277598,49.379644],[125.256656,49.359769],[125.261583,49.322336],[125.214772,49.277066],[125.227707,49.248947],[125.219699,49.189139],[125.187671,49.186792],[125.158721,49.144921],[125.117453,49.126127],[125.034302,49.157056],[125.039845,49.17623],[124.983179,49.162535],[124.906802,49.184054],[124.860607,49.166448],[124.847672,49.129651],[124.809484,49.115943],[124.828578,49.077933],[124.808252,49.020666],[124.756513,48.967262],[124.744194,48.920487],[124.709086,48.920487],[124.715861,48.885475],[124.697383,48.841775],[124.654267,48.83429],[124.644412,48.80789],[124.656115,48.783842],[124.612383,48.747945],[124.624702,48.701755],[124.601912,48.632587],[124.579122,48.596582],[124.520608,48.556195],[124.548941,48.535593],[124.533543,48.515379],[124.555717,48.467784],[124.507674,48.445558],[124.52492,48.426897],[124.51876,48.378027],[124.547094,48.35775],[124.540934,48.335476],[124.579738,48.297269],[124.558796,48.268197],[124.579122,48.262221],[124.547094,48.200829],[124.512601,48.164518],[124.529847,48.146951],[124.505826,48.124985],[124.478108,48.123387],[124.46579,48.098213],[124.415899,48.08782],[124.430065,48.12099],[124.471333,48.133373],[124.475029,48.173698],[124.418978,48.181679],[124.412819,48.219175],[124.422058,48.245884],[124.365392,48.283731],[124.353689,48.315978],[124.317964,48.35099],[124.331515,48.380015],[124.309957,48.413393],[124.330283,48.435633],[124.302566,48.456673],[124.314269,48.503881],[124.25945,48.536385],[124.25945,48.536385],[124.136878,48.463023],[124.07898,48.43603],[124.019234,48.39313],[123.862785,48.271782],[123.746373,48.197638],[123.705105,48.152142],[123.579453,48.045427],[123.537569,48.021816],[123.300432,47.953723],[123.256085,47.876711],[123.214201,47.824502],[123.161846,47.781892],[123.041122,47.746492],[122.926557,47.697777],[122.848949,47.67441],[122.765181,47.614333],[122.59395,47.54732],[122.543443,47.495589],[122.507103,47.401291],[122.418407,47.350632],[122.441197,47.310476],[122.441197,47.310476],[122.462755,47.27841],[122.498479,47.255262],[122.531124,47.198771],[122.582863,47.158092],[122.582863,47.158092],[122.615508,47.124306],[122.679566,47.094164],[122.710363,47.093349],[122.710363,47.093349],[122.821232,47.065636],[122.852645,47.072158],[122.845869,47.046881],[122.778116,47.002822],[122.77442,46.973837],[122.798442,46.9575],[122.791051,46.941567],[122.83971,46.937072],[122.895144,46.960359],[122.893913,46.895376],[122.906847,46.80738],[122.996774,46.761483],[123.00355,46.730726],[123.026339,46.718829],[123.076846,46.745082],[123.103332,46.734828],[123.163694,46.74016],[123.198802,46.803283],[123.22344,46.821305],[123.221592,46.850373],[123.295505,46.865105],[123.341084,46.826628],[123.374345,46.837683],[123.40699,46.906416],[123.404526,46.935438],[123.360179,46.970978],[123.304128,46.964852],[123.301664,46.999965],[123.337389,46.988943],[123.42362,46.934212],[123.487678,46.959951],[123.52833,46.944836],[123.483366,46.84587],[123.506772,46.827038],[123.562823,46.82581],[123.575757,46.845461],[123.576989,46.891286],[123.605322,46.891286],[123.599163,46.868378],[123.625648,46.847508],[123.580069,46.827447],[123.629344,46.813524],[123.631808,46.728675],[123.603475,46.68928],[123.474743,46.686817],[123.366338,46.677784],[123.318295,46.662179],[123.276411,46.660947],[123.279491,46.616981],[123.228368,46.588198],[123.18094,46.614103],[123.098404,46.603002],[123.077462,46.622324],[123.04605,46.617803],[123.052825,46.579972],[123.002318,46.574624],[123.010325,46.524823],[123.011557,46.434984],[123.089781,46.347888],[123.142136,46.298293],[123.178476,46.248239],[123.248078,46.273065],[123.286266,46.250308],[123.320758,46.254447],[123.357099,46.232096],[123.357099,46.232096],[123.430396,46.243687],[123.452569,46.233338],[123.499381,46.259826],[123.569598,46.223816],[123.569598,46.223816]]]]}},{"type":"Feature","properties":{"adcode":310000,"name":"上海市","center":[121.472644,31.231706],"centroid":[121.438737,31.072559],"childrenNum":16,"level":"province","parent":{"adcode":100000},"subFeatureIndex":8,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[120.901349,31.017327],[120.940153,31.010146],[120.949392,31.030148],[120.989428,31.01425],[121.000515,30.938309],[120.993124,30.889532],[121.020225,30.872069],[120.991892,30.837133],[121.038087,30.814007],[121.060261,30.845354],[121.097833,30.857171],[121.13787,30.826342],[121.123087,30.77905],[121.174826,30.771851],[121.21671,30.785734],[121.232108,30.755909],[121.272144,30.723504],[121.274608,30.677191],[121.362071,30.679764],[121.426129,30.730192],[121.517288,30.775451],[121.601056,30.805269],[121.681128,30.818633],[121.904714,30.814007],[121.943518,30.776993],[121.970004,30.789333],[121.954605,30.825828],[121.994025,30.862823],[121.990945,30.96859],[121.977395,31.016301],[121.946598,31.066039],[121.809859,31.196669],[121.722396,31.3036],[121.599208,31.37465],[121.520984,31.394575],[121.404571,31.479337],[121.343593,31.511996],[121.301093,31.49873],[121.301093,31.49873],[121.247507,31.476785],[121.241963,31.493117],[121.174826,31.44922],[121.143413,31.392021],[121.113848,31.37465],[121.130478,31.343987],[121.142797,31.275472],[121.090442,31.291838],[121.060261,31.245289],[121.076892,31.158267],[121.018377,31.134194],[120.930298,31.141365],[120.881023,31.134706],[120.859465,31.100379],[120.890878,31.094229],[120.901349,31.017327]]],[[[121.974931,31.61704],[121.715005,31.673592],[121.64294,31.697527],[121.599824,31.703128],[121.49881,31.753012],[121.431673,31.769295],[121.384861,31.833382],[121.323267,31.868458],[121.265369,31.863883],[121.200079,31.834907],[121.118775,31.759119],[121.145261,31.75403],[121.289391,31.61653],[121.371926,31.553314],[121.395332,31.585437],[121.434136,31.590535],[121.547469,31.531382],[121.625693,31.501792],[121.682976,31.491075],[121.819098,31.437987],[121.890547,31.428795],[121.981706,31.464024],[121.995873,31.493117],[121.974931,31.61704]]],[[[121.795693,31.330186],[121.792613,31.363408],[121.742106,31.407345],[121.585657,31.454836],[121.567179,31.48342],[121.520984,31.494137],[121.509897,31.4824],[121.572107,31.435944],[121.727939,31.35472],[121.76428,31.31536],[121.785222,31.31127],[121.795693,31.330186]]],[[[121.801852,31.356765],[121.8037,31.328652],[121.840656,31.295418],[121.932431,31.283144],[122.016199,31.282121],[122.097503,31.255522],[122.122756,31.307179],[122.116597,31.320984],[122.040837,31.324051],[121.951525,31.337343],[121.845584,31.37465],[121.792613,31.377715],[121.801852,31.356765]]],[[[121.626925,31.445135],[121.631853,31.456878],[121.579498,31.479848],[121.626925,31.445135]]],[[[121.943518,31.215608],[121.959533,31.159291],[121.995873,31.160828],[122.008808,31.221238],[121.950909,31.228915],[121.943518,31.215608]]],[[[121.88254,31.240684],[121.909026,31.195133],[121.923808,31.234032],[121.88254,31.240684]]]]}},{"type":"Feature","properties":{"adcode":320000,"name":"江苏省","center":[118.767413,32.041544],"centroid":[119.486506,32.983991],"childrenNum":13,"level":"province","parent":{"adcode":100000},"subFeatureIndex":9,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[117.311654,34.561686],[117.27285,34.556757],[117.303647,34.542463],[117.267923,34.532603],[117.27285,34.499565],[117.252524,34.48674],[117.248213,34.451216],[117.166293,34.434435],[117.139191,34.526687],[117.15151,34.559222],[117.104083,34.648874],[117.073286,34.639026],[117.061583,34.675947],[117.070206,34.713835],[117.022163,34.759081],[116.969192,34.771864],[116.95133,34.81069],[116.979047,34.815113],[116.966113,34.844588],[116.929156,34.843114],[116.922381,34.894671],[116.858323,34.928533],[116.821983,34.929515],[116.815823,34.965324],[116.789338,34.975133],[116.781331,34.916757],[116.677853,34.939327],[116.622418,34.939818],[116.613795,34.922645],[116.557745,34.908905],[116.445028,34.895652],[116.408071,34.850972],[116.403144,34.756131],[116.369267,34.749247],[116.363724,34.715311],[116.392057,34.710391],[116.374195,34.640011],[116.430245,34.650843],[116.432709,34.630163],[116.477057,34.614896],[116.490607,34.573513],[116.594085,34.511894],[116.592237,34.493646],[116.662454,34.472927],[116.722816,34.472434],[116.773939,34.453683],[116.782563,34.429993],[116.828142,34.389012],[116.909446,34.408271],[116.969192,34.389012],[116.960569,34.363821],[116.983359,34.348011],[116.969192,34.283753],[117.051112,34.221425],[117.025243,34.167469],[117.046801,34.151622],[117.123793,34.128342],[117.130568,34.101586],[117.192162,34.068873],[117.257452,34.065899],[117.277162,34.078787],[117.311654,34.067882],[117.357234,34.088205],[117.404045,34.03218],[117.435458,34.028212],[117.514914,34.060941],[117.543248,34.038627],[117.569117,33.985051],[117.612849,34.000433],[117.629479,34.028708],[117.671363,33.992494],[117.672595,33.934916],[117.715095,33.879287],[117.753899,33.891211],[117.759442,33.874318],[117.739732,33.758467],[117.72495,33.74951],[117.750203,33.710688],[117.791471,33.733585],[117.843826,33.736074],[117.901724,33.720146],[117.972557,33.74951],[118.019985,33.738562],[118.065564,33.76593],[118.117919,33.766427],[118.161035,33.735576],[118.16781,33.663381],[118.112376,33.617045],[118.117919,33.594615],[118.107448,33.475391],[118.050782,33.491863],[118.027376,33.455421],[118.016905,33.402978],[118.029224,33.374995],[117.992883,33.333005],[117.974405,33.279487],[117.939297,33.262475],[117.942376,33.224936],[117.977485,33.226437],[117.988572,33.180869],[118.037231,33.152314],[118.038463,33.134776],[118.149332,33.169348],[118.178281,33.217926],[118.217085,33.191888],[118.219549,33.114227],[118.243571,33.027967],[118.244803,32.998359],[118.26944,32.969242],[118.303933,32.96874],[118.291614,32.946143],[118.252194,32.936601],[118.2331,32.914498],[118.250346,32.848157],[118.301469,32.846145],[118.300237,32.783275],[118.334114,32.761637],[118.363063,32.770695],[118.375382,32.718849],[118.411106,32.715828],[118.450526,32.743518],[118.483787,32.721367],[118.560163,32.729926],[118.572482,32.719856],[118.642699,32.744525],[118.707373,32.72036],[118.756648,32.737477],[118.73817,32.772708],[118.743097,32.853184],[118.743097,32.853184],[118.810235,32.853687],[118.821322,32.920527],[118.846575,32.922034],[118.849039,32.956689],[118.89585,32.957694],[118.89585,32.957694],[118.892771,32.941121],[118.934039,32.93861],[118.993169,32.958196],[119.020886,32.955685],[119.054763,32.8748],[119.113277,32.823014],[119.184726,32.825529],[119.211827,32.708275],[119.208748,32.641276],[119.230921,32.607001],[119.22045,32.576748],[119.152697,32.557582],[119.168096,32.536394],[119.142226,32.499556],[119.084944,32.452602],[119.041212,32.515201],[118.975923,32.505108],[118.922336,32.557078],[118.92172,32.557078],[118.922336,32.557078],[118.92172,32.557078],[118.890923,32.553042],[118.908169,32.59238],[118.84288,32.56767],[118.820706,32.60448],[118.784981,32.582295],[118.757264,32.603976],[118.73509,32.58885],[118.719076,32.614059],[118.719076,32.614059],[118.688895,32.588346],[118.658714,32.594397],[118.632844,32.578261],[118.59712,32.600951],[118.568787,32.585825],[118.564475,32.562122],[118.608823,32.536899],[118.592192,32.481383],[118.628533,32.467751],[118.691359,32.472295],[118.685199,32.403604],[118.703061,32.328792],[118.657482,32.30148],[118.674728,32.250375],[118.643931,32.209875],[118.510888,32.194176],[118.49549,32.165304],[118.501033,32.121726],[118.433896,32.086746],[118.394476,32.076098],[118.389548,31.985281],[118.363679,31.930443],[118.472084,31.879639],[118.466541,31.857784],[118.504729,31.841516],[118.481939,31.778453],[118.533678,31.76726],[118.521975,31.743343],[118.5577,31.73011],[118.571866,31.746397],[118.641467,31.75861],[118.653786,31.73011],[118.697518,31.709747],[118.643315,31.671555],[118.643315,31.649651],[118.736322,31.633347],[118.748025,31.675629],[118.773894,31.682759],[118.802844,31.619078],[118.858894,31.623665],[118.881684,31.564023],[118.885995,31.519139],[118.883532,31.500261],[118.852119,31.393553],[118.824401,31.375672],[118.767735,31.363919],[118.745561,31.372606],[118.720924,31.322518],[118.726467,31.282121],[118.756648,31.279564],[118.794836,31.229426],[118.870597,31.242219],[118.984546,31.237102],[119.014727,31.241707],[119.10527,31.235055],[119.107118,31.250917],[119.158241,31.294907],[119.197661,31.295418],[119.198277,31.270357],[119.266646,31.250405],[119.294363,31.263195],[119.338095,31.259103],[119.350414,31.301043],[119.374435,31.258591],[119.360269,31.213049],[119.391682,31.174142],[119.439109,31.177214],[119.461283,31.156219],[119.532732,31.159291],[119.599869,31.10909],[119.623891,31.130096],[119.678093,31.167997],[119.705811,31.152634],[119.715666,31.169533],[119.779723,31.17875],[119.809904,31.148536],[119.827151,31.174142],[119.878274,31.160828],[119.921389,31.170045],[119.946027,31.106016],[119.988527,31.059375],[120.001461,31.027071],[120.052584,31.00553],[120.111099,30.955761],[120.149903,30.937283],[120.223816,30.926502],[120.316206,30.933689],[120.371025,30.948575],[120.35809,30.886964],[120.42338,30.902884],[120.435083,30.920855],[120.441858,30.860768],[120.460336,30.839702],[120.489285,30.763624],[120.504684,30.757967],[120.563814,30.835592],[120.589684,30.854089],[120.654973,30.846896],[120.68269,30.882342],[120.713487,30.88491],[120.709176,30.933176],[120.684538,30.955247],[120.698089,30.970643],[120.746132,30.962432],[120.770154,30.996809],[120.820661,31.006556],[120.865624,30.989627],[120.901349,31.017327],[120.890878,31.094229],[120.859465,31.100379],[120.881023,31.134706],[120.930298,31.141365],[121.018377,31.134194],[121.076892,31.158267],[121.060261,31.245289],[121.090442,31.291838],[121.142797,31.275472],[121.130478,31.343987],[121.113848,31.37465],[121.143413,31.392021],[121.174826,31.44922],[121.241963,31.493117],[121.247507,31.476785],[121.301093,31.49873],[121.301093,31.49873],[121.343593,31.511996],[121.371926,31.553314],[121.289391,31.61653],[121.145261,31.75403],[121.118775,31.759119],[121.200079,31.834907],[121.265369,31.863883],[121.323267,31.868458],[121.384861,31.833382],[121.431673,31.769295],[121.49881,31.753012],[121.599824,31.703128],[121.64294,31.697527],[121.715005,31.673592],[121.974931,31.61704],[121.970004,31.718911],[121.889315,31.866425],[121.856055,31.955328],[121.772287,32.032984],[121.759352,32.059362],[121.525295,32.136423],[121.542542,32.152132],[121.458774,32.177462],[121.499426,32.211394],[121.493882,32.263533],[121.450151,32.282256],[121.425513,32.430885],[121.390405,32.460682],[121.352216,32.474315],[121.269681,32.483402],[121.153268,32.52933],[121.121855,32.569183],[121.076892,32.576243],[121.020225,32.605489],[120.961711,32.612042],[120.979573,32.636236],[120.963559,32.68259],[120.916131,32.701225],[120.953088,32.714318],[120.972182,32.761134],[120.981421,32.85972],[120.957399,32.893395],[120.932762,33.005887],[120.917979,33.02596],[120.871784,33.047032],[120.874247,33.093672],[120.843451,33.209915],[120.819429,33.237951],[120.833595,33.274984],[120.813885,33.303499],[120.769538,33.307],[120.741205,33.337505],[120.717183,33.436945],[120.680227,33.520306],[120.622944,33.615051],[120.611241,33.627012],[120.583524,33.668362],[120.534249,33.782346],[120.48559,33.859411],[120.367329,34.091674],[120.347619,34.179352],[120.314359,34.255563],[120.311895,34.306991],[120.103707,34.391481],[119.962657,34.459112],[119.811752,34.485754],[119.781571,34.515839],[119.641137,34.569078],[119.610956,34.592729],[119.569072,34.615389],[119.465594,34.672994],[119.525956,34.73351],[119.456971,34.748264],[119.381827,34.752198],[119.494543,34.754656],[119.497007,34.754164],[119.439725,34.785136],[119.440957,34.769406],[119.378747,34.764489],[119.312841,34.774813],[119.272189,34.797914],[119.238313,34.799388],[119.217371,34.827886],[119.202588,34.890253],[119.214907,34.925589],[119.211211,34.981507],[119.238313,35.048657],[119.285124,35.068252],[119.291899,35.028567],[119.307298,35.032977],[119.292515,35.068742],[119.306066,35.076578],[119.286972,35.115261],[119.250016,35.124562],[119.217371,35.106939],[119.137915,35.096167],[119.114509,35.055026],[119.027045,35.055516],[118.942662,35.040817],[118.928495,35.051106],[118.86259,35.025626],[118.860742,34.944233],[118.805307,34.87307],[118.80038,34.843114],[118.772047,34.794474],[118.739402,34.792508],[118.719076,34.745313],[118.764039,34.740396],[118.783749,34.723181],[118.739402,34.693663],[118.690127,34.678408],[118.664257,34.693663],[118.607591,34.694155],[118.601431,34.714327],[118.545997,34.705964],[118.460997,34.656258],[118.473932,34.623269],[118.439439,34.626223],[118.424657,34.595193],[118.439439,34.507949],[118.416034,34.473914],[118.404947,34.427525],[118.379693,34.415183],[118.290382,34.424563],[118.277447,34.404814],[118.220165,34.405802],[118.217701,34.379134],[118.179513,34.379628],[118.177665,34.45319],[118.132702,34.483287],[118.16473,34.50499],[118.185056,34.543942],[118.079115,34.569571],[118.114839,34.614404],[118.084042,34.655766],[118.053861,34.650843],[117.951615,34.678408],[117.909732,34.670533],[117.902956,34.644443],[117.793935,34.651827],[117.791471,34.583368],[117.801942,34.518798],[117.684298,34.547392],[117.659044,34.501044],[117.609769,34.490686],[117.592523,34.462566],[117.53832,34.467006],[117.465023,34.484767],[117.402813,34.550843],[117.402813,34.569571],[117.370785,34.584846],[117.325205,34.573021],[117.325205,34.573021],[117.32151,34.566614],[117.32151,34.566614],[117.311654,34.561686],[117.311654,34.561686]]]]}},{"type":"Feature","properties":{"adcode":330000,"name":"浙江省","center":[120.153576,30.287459],"centroid":[120.109913,29.181466],"childrenNum":11,"level":"province","parent":{"adcode":100000},"subFeatureIndex":10,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[118.433896,28.288335],[118.444367,28.253548],[118.490562,28.238259],[118.493026,28.262509],[118.588497,28.282538],[118.595272,28.258292],[118.651322,28.277267],[118.674728,28.27147],[118.699366,28.309939],[118.719692,28.312047],[118.756032,28.252493],[118.802228,28.240368],[118.804075,28.207675],[118.771431,28.188687],[118.805923,28.154923],[118.802228,28.117453],[118.767735,28.10584],[118.719076,28.063601],[118.733858,28.027684],[118.730163,27.970615],[118.753568,27.947885],[118.818242,27.916689],[118.829329,27.847921],[118.873677,27.733563],[118.879836,27.667859],[118.913713,27.619616],[118.909401,27.568168],[118.869365,27.540047],[118.907553,27.460952],[118.955597,27.4498],[118.986393,27.47582],[118.983314,27.498649],[119.020886,27.498118],[119.03998,27.478475],[119.092335,27.466262],[119.129907,27.475289],[119.121284,27.438115],[119.14777,27.424836],[119.224146,27.416868],[119.26911,27.42218],[119.285124,27.457766],[119.334399,27.480067],[119.360269,27.524657],[119.416935,27.539517],[119.438493,27.508734],[119.466826,27.526249],[119.501935,27.610601],[119.501319,27.649837],[119.541971,27.666799],[119.606028,27.674749],[119.644217,27.663619],[119.626354,27.620676],[119.630666,27.582491],[119.675014,27.574534],[119.659615,27.540578],[119.690412,27.537394],[119.70889,27.514042],[119.703347,27.446613],[119.685485,27.438646],[119.711354,27.403054],[119.750774,27.373829],[119.739687,27.362668],[119.782187,27.330241],[119.768636,27.307909],[119.843165,27.300464],[119.938636,27.329709],[119.960194,27.365857],[120.008237,27.375423],[120.026099,27.344063],[120.052584,27.338747],[120.096316,27.390302],[120.136968,27.402523],[120.134504,27.420055],[120.221352,27.420055],[120.26262,27.432804],[120.273091,27.38924],[120.340844,27.399867],[120.343924,27.363199],[120.430155,27.258976],[120.401822,27.250996],[120.404286,27.204166],[120.461568,27.142407],[120.492365,27.136016],[120.545952,27.156785],[120.574901,27.234501],[120.554575,27.25206],[120.580444,27.321203],[120.665444,27.357884],[120.673451,27.420055],[120.703016,27.478475],[120.637111,27.561271],[120.634647,27.577186],[120.685154,27.622797],[120.709176,27.682699],[120.771386,27.734623],[120.777545,27.774873],[120.809574,27.775402],[120.840371,27.758986],[120.910588,27.864852],[120.942001,27.896592],[120.97403,27.887071],[121.027616,27.832574],[121.070116,27.834162],[121.107688,27.81352],[121.152036,27.815638],[121.134174,27.787051],[121.13479,27.787051],[121.149572,27.801345],[121.149572,27.801875],[121.153268,27.809815],[121.152652,27.810344],[121.192072,27.822518],[121.193304,27.872259],[121.162507,27.879136],[121.162507,27.90717],[121.099681,27.895005],[121.05595,27.900294],[120.991892,27.95],[121.015298,27.981714],[121.059029,28.096338],[121.108304,28.139092],[121.121239,28.12537],[121.140949,28.031382],[121.176058,28.022401],[121.261057,28.034551],[121.299862,28.067297],[121.328195,28.134343],[121.373774,28.133287],[121.402107,28.197127],[121.45631,28.250385],[121.488955,28.301509],[121.538846,28.299401],[121.571491,28.279376],[121.580114,28.240368],[121.627541,28.251966],[121.669425,28.33312],[121.660186,28.355768],[121.634317,28.347868],[121.658954,28.392628],[121.692831,28.407368],[121.671273,28.472621],[121.646019,28.511544],[121.634317,28.562542],[121.596128,28.575156],[121.557324,28.645033],[121.540694,28.655537],[121.646019,28.682842],[121.689135,28.719062],[121.704534,28.804577],[121.687287,28.863294],[121.774751,28.863818],[121.772287,28.898404],[121.743338,28.954451],[121.711309,28.985865],[121.712541,29.028783],[121.658954,29.058606],[121.660186,29.118226],[121.616454,29.143318],[121.608447,29.168927],[121.715621,29.125022],[121.750113,29.136523],[121.767975,29.166837],[121.780294,29.10986],[121.811091,29.10986],[121.85975,29.086328],[121.884388,29.105677],[121.966308,29.052852],[121.970004,29.092604],[121.988482,29.110906],[121.986634,29.154817],[121.948446,29.193485],[121.971851,29.193485],[121.966924,29.249894],[122.002032,29.260336],[122.000185,29.278608],[121.94475,29.28435],[121.958301,29.334448],[121.936127,29.348012],[121.937975,29.384],[121.975547,29.411113],[121.993409,29.45229],[121.973083,29.477821],[121.968772,29.515846],[121.995257,29.545007],[122.000185,29.582486],[121.966308,29.636078],[121.909641,29.650122],[121.872685,29.632437],[121.833265,29.653242],[121.937359,29.748373],[122.003264,29.762401],[122.043916,29.822647],[122.10243,29.859504],[122.143082,29.877668],[122.140003,29.901535],[122.00696,29.891678],[122.00388,29.92021],[121.971235,29.955476],[121.919497,29.920729],[121.835113,29.958068],[121.78399,29.99332],[121.721164,29.992802],[121.699606,30.007832],[121.652795,30.071037],[121.635548,30.070002],[121.561636,30.184395],[121.497578,30.258861],[121.395332,30.338435],[121.371926,30.37097],[121.328195,30.397299],[121.225333,30.404526],[121.183449,30.434458],[121.092906,30.515952],[121.058413,30.563888],[121.148956,30.599953],[121.188992,30.632916],[121.239499,30.648878],[121.274608,30.677191],[121.272144,30.723504],[121.232108,30.755909],[121.21671,30.785734],[121.174826,30.771851],[121.123087,30.77905],[121.13787,30.826342],[121.097833,30.857171],[121.060261,30.845354],[121.038087,30.814007],[120.991892,30.837133],[121.020225,30.872069],[120.993124,30.889532],[121.000515,30.938309],[120.989428,31.01425],[120.949392,31.030148],[120.940153,31.010146],[120.901349,31.017327],[120.865624,30.989627],[120.820661,31.006556],[120.770154,30.996809],[120.746132,30.962432],[120.698089,30.970643],[120.684538,30.955247],[120.709176,30.933176],[120.713487,30.88491],[120.68269,30.882342],[120.654973,30.846896],[120.589684,30.854089],[120.563814,30.835592],[120.504684,30.757967],[120.489285,30.763624],[120.460336,30.839702],[120.441858,30.860768],[120.435083,30.920855],[120.42338,30.902884],[120.35809,30.886964],[120.371025,30.948575],[120.316206,30.933689],[120.223816,30.926502],[120.149903,30.937283],[120.111099,30.955761],[120.052584,31.00553],[120.001461,31.027071],[119.988527,31.059375],[119.946027,31.106016],[119.921389,31.170045],[119.878274,31.160828],[119.827151,31.174142],[119.809904,31.148536],[119.779723,31.17875],[119.715666,31.169533],[119.705811,31.152634],[119.678093,31.167997],[119.623891,31.130096],[119.649144,31.104991],[119.629434,31.085517],[119.633746,31.019379],[119.580159,30.967051],[119.582007,30.932149],[119.563529,30.919315],[119.557369,30.874124],[119.575847,30.829939],[119.55429,30.825828],[119.527188,30.77905],[119.479761,30.772365],[119.482841,30.704467],[119.444652,30.650422],[119.408312,30.645274],[119.39045,30.685941],[119.343022,30.664322],[119.323312,30.630341],[119.238929,30.609225],[119.265414,30.574709],[119.237081,30.546881],[119.272189,30.510281],[119.326392,30.532964],[119.336247,30.508734],[119.335015,30.448389],[119.36766,30.38491],[119.402768,30.374584],[119.349182,30.349281],[119.326392,30.372002],[119.277117,30.341018],[119.246936,30.341018],[119.236465,30.297106],[119.201356,30.290905],[119.126828,30.304856],[119.091719,30.323972],[119.06277,30.304856],[118.988857,30.332237],[118.954365,30.360126],[118.880452,30.31519],[118.877988,30.282637],[118.905089,30.216464],[118.929727,30.2025],[118.852735,30.166805],[118.852119,30.149729],[118.895234,30.148694],[118.873677,30.11505],[118.878604,30.064822],[118.902626,30.029078],[118.894619,29.937845],[118.838568,29.934733],[118.841032,29.891159],[118.740634,29.814859],[118.744945,29.73902],[118.700598,29.706277],[118.647011,29.64336],[118.61991,29.654282],[118.573714,29.638159],[118.532446,29.588731],[118.500417,29.57572],[118.496106,29.519492],[118.381541,29.504909],[118.347664,29.474174],[118.329802,29.495012],[118.306396,29.479384],[118.316252,29.422581],[118.248498,29.431443],[118.193064,29.395472],[118.205382,29.343839],[118.166578,29.314099],[118.178281,29.297921],[118.138861,29.283828],[118.077883,29.290614],[118.073571,29.216993],[118.042159,29.210202],[118.027992,29.167882],[118.045238,29.149068],[118.037847,29.102017],[118.076035,29.074822],[118.066796,29.053898],[118.097593,28.998952],[118.115455,29.009944],[118.115455,29.009944],[118.133933,28.983771],[118.165346,28.986912],[118.227556,28.942406],[118.195527,28.904167],[118.270056,28.918836],[118.300237,28.826075],[118.364295,28.813491],[118.403099,28.702791],[118.428352,28.681267],[118.428352,28.617193],[118.428352,28.617193],[118.412338,28.55676],[118.4302,28.515225],[118.414802,28.497344],[118.474548,28.478934],[118.456686,28.424738],[118.432048,28.402104],[118.455454,28.384204],[118.480091,28.327325],[118.433896,28.288335]]],[[[122.163408,29.988137],[122.239785,29.962735],[122.279205,29.937326],[122.322321,29.940438],[122.341415,29.976733],[122.343879,30.020269],[122.310002,30.039958],[122.290908,30.074663],[122.301379,30.086574],[122.293988,30.100554],[122.152938,30.113497],[122.095655,30.158008],[122.048844,30.147141],[121.955221,30.183878],[121.934895,30.161631],[121.983554,30.100554],[121.989714,30.077252],[121.978011,30.059125],[122.027902,29.991247],[122.106742,30.005759],[122.118445,29.986582],[122.163408,29.988137]]],[[[122.213915,30.186464],[122.178807,30.199396],[122.152938,30.19112],[122.143698,30.163183],[122.168336,30.138343],[122.213915,30.186464]]],[[[122.229314,29.711995],[122.210836,29.700559],[122.269966,29.685482],[122.231162,29.710435],[122.229314,29.711995]]],[[[122.427646,30.738422],[122.427031,30.697777],[122.532972,30.696748],[122.528045,30.725047],[122.475074,30.714243],[122.445509,30.745109],[122.427646,30.738422]]],[[[122.162793,30.329654],[122.058083,30.291938],[122.154169,30.244903],[122.231778,30.234562],[122.247176,30.30124],[122.228082,30.329654],[122.191126,30.329654],[122.176343,30.351863],[122.162793,30.329654]]],[[[122.317393,30.249556],[122.277973,30.242835],[122.358661,30.236113],[122.365437,30.255242],[122.417175,30.238699],[122.40732,30.272817],[122.333408,30.272817],[122.317393,30.249556]]],[[[122.026054,29.178333],[122.013119,29.151681],[122.056851,29.158476],[122.075945,29.176243],[122.036525,29.20759],[122.026054,29.178333]]],[[[122.372212,29.893234],[122.386379,29.834069],[122.415944,29.828877],[122.401777,29.869884],[122.433806,29.883376],[122.43319,29.919173],[122.411632,29.951846],[122.398081,29.9394],[122.351886,29.959105],[122.330944,29.937845],[122.338951,29.911911],[122.353734,29.89946],[122.362973,29.894272],[122.372212,29.893234]]],[[[122.43011,30.408655],[122.432574,30.445294],[122.37406,30.461802],[122.277973,30.471603],[122.281669,30.418461],[122.318625,30.407106],[122.352502,30.422074],[122.43011,30.408655]]],[[[121.837577,28.770484],[121.86283,28.782024],[121.861598,28.814016],[121.837577,28.770484]]],[[[122.265038,29.84549],[122.221307,29.832512],[122.248408,29.804473],[122.310002,29.766557],[122.325401,29.781621],[122.299531,29.819532],[122.319241,29.829397],[122.265038,29.84549]]],[[[121.790765,29.082144],[121.832649,29.050236],[121.84312,29.082144],[121.82033,29.099402],[121.790765,29.082144]]],[[[121.201311,27.623328],[121.197616,27.618025],[121.198848,27.616964],[121.203775,27.625979],[121.201311,27.623328]]],[[[121.943518,30.776993],[121.968156,30.688514],[121.997105,30.658659],[122.087032,30.602014],[122.133227,30.595317],[122.075329,30.647848],[122.011271,30.66947],[121.992793,30.695204],[121.987866,30.753338],[121.970004,30.789333],[121.943518,30.776993]]],[[[121.889315,28.471569],[121.918881,28.497344],[121.881924,28.502603],[121.889315,28.471569]]],[[[122.182503,29.650642],[122.211452,29.692241],[122.200365,29.712515],[122.146778,29.749412],[122.13138,29.788893],[122.083952,29.78318],[122.047612,29.719791],[122.074097,29.701599],[122.095655,29.716673],[122.138155,29.662083],[122.182503,29.650642]]],[[[122.461523,29.944068],[122.459675,29.944586],[122.460291,29.947179],[122.451668,29.943031],[122.451052,29.940956],[122.450436,29.940956],[122.449204,29.9394],[122.4529,29.936807],[122.452284,29.935252],[122.45598,29.926435],[122.457827,29.927472],[122.462755,29.927991],[122.467067,29.928509],[122.459059,29.938882],[122.461523,29.944068]]],[[[122.570544,30.644244],[122.559457,30.679764],[122.546523,30.651967],[122.570544,30.644244]]],[[[121.869605,28.423685],[121.910873,28.44],[121.889931,28.45105],[121.869605,28.423685]]],[[[122.065474,30.179739],[122.055619,30.200431],[122.017431,30.186464],[122.025438,30.161631],[122.065474,30.179739]]],[[[122.391306,29.970512],[122.411632,30.025969],[122.378371,30.023896],[122.3679,29.980361],[122.391306,29.970512]]],[[[121.850511,29.977251],[121.874533,29.964809],[121.933047,29.994875],[121.924424,30.052391],[121.88562,30.094859],[121.848663,30.101072],[121.84004,30.047211],[121.844968,29.982953],[121.850511,29.977251]]],[[[121.066421,27.478475],[121.066421,27.461483],[121.107073,27.443958],[121.067036,27.478475],[121.066421,27.478475]]],[[[121.952141,29.187738],[121.979243,29.160043],[121.976779,29.191918],[121.952141,29.187738]]],[[[122.038373,29.759284],[122.011271,29.746294],[122.02975,29.716673],[122.038373,29.759284]]],[[[121.940438,30.114533],[121.910257,30.089163],[121.945982,30.064304],[121.962612,30.106249],[121.940438,30.114533]]],[[[121.957685,30.287804],[122.0008,30.308473],[121.989098,30.339985],[121.94167,30.33327],[121.921344,30.30744],[121.957685,30.287804]]],[[[122.192974,29.965327],[122.163408,29.988137],[122.152322,29.97103],[122.154169,29.97103],[122.155401,29.970512],[122.18435,29.955476],[122.192974,29.965327]]],[[[122.287828,29.723949],[122.301379,29.748373],[122.258263,29.753569],[122.241633,29.784738],[122.2133,29.771752],[122.251488,29.731225],[122.287828,29.723949]]],[[[121.134174,27.787051],[121.134174,27.785992],[121.13479,27.787051],[121.134174,27.787051]]],[[[122.760254,30.141966],[122.784275,30.130062],[122.781196,30.13265],[122.778116,30.13679],[122.770725,30.138861],[122.763333,30.141966],[122.762101,30.142484],[122.760254,30.141966]]],[[[122.264423,30.269716],[122.253952,30.237147],[122.315545,30.250073],[122.300147,30.271266],[122.264423,30.269716]]],[[[122.282901,29.860542],[122.30877,29.849642],[122.343263,29.860542],[122.343263,29.882857],[122.301379,29.883895],[122.282901,29.860542]]],[[[122.781196,30.694175],[122.799674,30.716301],[122.778732,30.729677],[122.757174,30.713728],[122.781196,30.694175]]],[[[121.098449,27.937311],[121.152652,27.961629],[121.120623,27.986471],[121.0695,27.984357],[121.038087,27.948942],[121.098449,27.937311]]],[[[121.185913,27.963215],[121.237652,27.988056],[121.197616,28.000739],[121.17113,27.978543],[121.185913,27.963215]]],[[[122.454132,29.956513],[122.447972,29.955994],[122.445509,29.952365],[122.446741,29.951327],[122.447972,29.947698],[122.459059,29.950809],[122.458443,29.951846],[122.455364,29.955994],[122.454132,29.956513]]],[[[122.836014,30.698806],[122.831087,30.728648],[122.807681,30.714243],[122.836014,30.698806]]],[[[122.200365,29.969475],[122.233626,29.946661],[122.273662,29.93214],[122.239785,29.960142],[122.200365,29.969475]]],[[[122.029134,29.954957],[122.043916,29.930584],[122.058699,29.955994],[122.029134,29.954957]]],[[[121.044247,27.979072],[121.089826,27.998625],[121.073812,28.007608],[121.044247,27.979072]]],[[[122.471378,29.927472],[122.470762,29.925916],[122.473226,29.925397],[122.47261,29.927472],[122.471378,29.927472]]],[[[122.152322,29.97103],[122.155401,29.970512],[122.154169,29.97103],[122.152322,29.97103]]]]}},{"type":"Feature","properties":{"adcode":340000,"name":"安徽省","center":[117.283042,31.86119],"centroid":[117.226884,31.849254],"childrenNum":16,"level":"province","parent":{"adcode":100000},"subFeatureIndex":11,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[116.599629,34.014324],[116.641512,33.978103],[116.64336,33.896675],[116.631042,33.887733],[116.566984,33.9081],[116.558361,33.881274],[116.486296,33.869846],[116.437637,33.846489],[116.437021,33.801246],[116.408071,33.805721],[116.393905,33.782843],[116.316912,33.771402],[116.263326,33.730101],[116.230065,33.735078],[116.155536,33.709693],[116.132747,33.751501],[116.100102,33.782843],[116.074232,33.781351],[116.055754,33.804727],[116.05945,33.860902],[115.982457,33.917039],[116.00032,33.965199],[115.95782,34.007875],[115.904233,34.009859],[115.876516,34.028708],[115.877132,34.002913],[115.85003,34.004898],[115.846335,34.028708],[115.809378,34.062428],[115.768726,34.061932],[115.736082,34.076805],[115.705901,34.059949],[115.658473,34.061437],[115.642459,34.03218],[115.60735,34.030196],[115.579017,33.974133],[115.577785,33.950307],[115.547604,33.874815],[115.631988,33.869846],[115.614126,33.775879],[115.576553,33.787817],[115.563003,33.772895],[115.601807,33.718653],[115.601191,33.658898],[115.639995,33.585143],[115.564851,33.576169],[115.511264,33.55323],[115.463837,33.567193],[115.422569,33.557219],[115.394851,33.506335],[115.366518,33.5233],[115.345576,33.502842],[115.345576,33.449928],[115.324634,33.457418],[115.315395,33.431451],[115.328946,33.403477],[115.313547,33.376994],[115.341881,33.370997],[115.365286,33.336005],[115.361591,33.298497],[115.335105,33.297997],[115.340033,33.260973],[115.300613,33.204407],[115.303692,33.149809],[115.289526,33.131769],[115.245178,33.135778],[115.194671,33.120743],[115.168186,33.088658],[115.041302,33.086653],[114.990795,33.102195],[114.966158,33.147304],[114.932897,33.153817],[114.902716,33.129764],[114.897172,33.086653],[114.913187,33.083143],[114.925506,33.016928],[114.891629,33.020441],[114.883006,32.990328],[114.916266,32.971251],[114.943368,32.935094],[115.009273,32.940117],[115.035143,32.932582],[115.029599,32.906962],[115.139237,32.897917],[115.155867,32.864747],[115.197135,32.856201],[115.189744,32.812452],[115.211301,32.785791],[115.189744,32.770695],[115.179273,32.726402],[115.182968,32.666973],[115.20083,32.591876],[115.24333,32.593388],[115.267352,32.578261],[115.30554,32.583303],[115.304924,32.553042],[115.411482,32.575235],[115.409018,32.549007],[115.497713,32.492489],[115.5088,32.468761],[115.510648,32.468761],[115.510648,32.468256],[115.510648,32.467751],[115.509416,32.466741],[115.522967,32.441997],[115.57101,32.419266],[115.604271,32.425833],[115.626445,32.40512],[115.657857,32.428864],[115.667712,32.409667],[115.704669,32.495013],[115.742241,32.476335],[115.771806,32.505108],[115.789052,32.468761],[115.861117,32.537403],[115.891298,32.576243],[115.910393,32.567165],[115.8759,32.542448],[115.845719,32.501575],[115.883291,32.487946],[115.865429,32.458662],[115.899306,32.390971],[115.912856,32.227596],[115.941805,32.166318],[115.922095,32.049725],[115.928871,32.003046],[115.909161,31.94314],[115.920248,31.920285],[115.894994,31.8649],[115.893762,31.832365],[115.914704,31.814567],[115.886371,31.776418],[115.851878,31.786593],[115.808147,31.770313],[115.808147,31.770313],[115.767495,31.78761],[115.731154,31.76726],[115.676336,31.778453],[115.553764,31.69549],[115.534054,31.698545],[115.495249,31.673083],[115.476771,31.643028],[115.485394,31.608885],[115.439815,31.588496],[115.415793,31.525771],[115.371446,31.495668],[115.389924,31.450241],[115.373909,31.405813],[115.393004,31.389977],[115.372062,31.349098],[115.40717,31.337854],[115.443511,31.344498],[115.473076,31.265242],[115.507568,31.267799],[115.539597,31.231985],[115.540213,31.194621],[115.585793,31.143926],[115.603655,31.17363],[115.655394,31.211002],[115.700973,31.201276],[115.778582,31.112164],[115.797676,31.128047],[115.837712,31.127022],[115.867277,31.147512],[115.887603,31.10909],[115.939958,31.071678],[115.938726,31.04707],[116.006479,31.034764],[116.015102,31.011685],[116.058834,31.012711],[116.071769,30.956787],[116.03974,30.957813],[115.976298,30.931636],[115.932566,30.889532],[115.865429,30.864364],[115.848799,30.828397],[115.863581,30.815549],[115.851262,30.756938],[115.782893,30.751795],[115.762567,30.685426],[115.81369,30.637035],[115.819234,30.597893],[115.848799,30.602014],[115.876516,30.582438],[115.887603,30.542758],[115.910393,30.519046],[115.894994,30.452517],[115.921479,30.416397],[115.885139,30.379747],[115.91532,30.337919],[115.903001,30.31364],[115.985537,30.290905],[115.997856,30.252657],[116.065609,30.204569],[116.055754,30.180774],[116.088399,30.110391],[116.078544,30.062233],[116.091479,30.036331],[116.073616,29.969993],[116.128435,29.897904],[116.13521,29.819532],[116.172783,29.828358],[116.227601,29.816936],[116.250391,29.785777],[116.280572,29.788893],[116.342782,29.835626],[116.467818,29.896347],[116.525716,29.897385],[116.552201,29.909836],[116.585462,30.045657],[116.620571,30.073109],[116.666766,30.076734],[116.720353,30.053945],[116.747454,30.057053],[116.783794,30.030632],[116.802889,29.99643],[116.830606,30.004723],[116.83307,29.95755],[116.868794,29.980361],[116.900207,29.949253],[116.882961,29.893753],[116.780715,29.792529],[116.762237,29.802396],[116.673541,29.709916],[116.698795,29.707836],[116.70557,29.69692],[116.706802,29.6964],[116.704954,29.688602],[116.680317,29.681323],[116.651983,29.637118],[116.716657,29.590813],[116.721585,29.564789],[116.760389,29.599139],[116.780715,29.569994],[116.849084,29.57624],[116.873722,29.609546],[116.939627,29.648561],[116.974736,29.657403],[116.996294,29.683403],[117.041873,29.680803],[117.112706,29.711995],[117.108395,29.75201],[117.136728,29.775388],[117.123177,29.798761],[117.073286,29.831992],[117.127489,29.86158],[117.129952,29.89946],[117.171836,29.920729],[117.2168,29.926953],[117.246365,29.915023],[117.261763,29.880781],[117.25314,29.834588],[117.29256,29.822647],[117.338756,29.848085],[117.359082,29.812782],[117.382487,29.840818],[117.415132,29.85068],[117.408973,29.802396],[117.455168,29.749412],[117.453936,29.688082],[117.490277,29.660003],[117.530313,29.654282],[117.523538,29.630356],[117.543248,29.588731],[117.608537,29.591333],[117.647957,29.614749],[117.678754,29.595496],[117.690457,29.555939],[117.729877,29.550213],[117.795167,29.570515],[117.872775,29.54761],[117.933753,29.549172],[118.00397,29.578322],[118.042774,29.566351],[118.050782,29.542924],[118.095129,29.534072],[118.143788,29.489803],[118.127774,29.47209],[118.136397,29.418932],[118.193064,29.395472],[118.248498,29.431443],[118.316252,29.422581],[118.306396,29.479384],[118.329802,29.495012],[118.347664,29.474174],[118.381541,29.504909],[118.496106,29.519492],[118.500417,29.57572],[118.532446,29.588731],[118.573714,29.638159],[118.61991,29.654282],[118.647011,29.64336],[118.700598,29.706277],[118.744945,29.73902],[118.740634,29.814859],[118.841032,29.891159],[118.838568,29.934733],[118.894619,29.937845],[118.902626,30.029078],[118.878604,30.064822],[118.873677,30.11505],[118.895234,30.148694],[118.852119,30.149729],[118.852735,30.166805],[118.929727,30.2025],[118.905089,30.216464],[118.877988,30.282637],[118.880452,30.31519],[118.954365,30.360126],[118.988857,30.332237],[119.06277,30.304856],[119.091719,30.323972],[119.126828,30.304856],[119.201356,30.290905],[119.236465,30.297106],[119.246936,30.341018],[119.277117,30.341018],[119.326392,30.372002],[119.349182,30.349281],[119.402768,30.374584],[119.36766,30.38491],[119.335015,30.448389],[119.336247,30.508734],[119.326392,30.532964],[119.272189,30.510281],[119.237081,30.546881],[119.265414,30.574709],[119.238929,30.609225],[119.323312,30.630341],[119.343022,30.664322],[119.39045,30.685941],[119.408312,30.645274],[119.444652,30.650422],[119.482841,30.704467],[119.479761,30.772365],[119.527188,30.77905],[119.55429,30.825828],[119.575847,30.829939],[119.557369,30.874124],[119.563529,30.919315],[119.582007,30.932149],[119.580159,30.967051],[119.633746,31.019379],[119.629434,31.085517],[119.649144,31.104991],[119.623891,31.130096],[119.599869,31.10909],[119.532732,31.159291],[119.461283,31.156219],[119.439109,31.177214],[119.391682,31.174142],[119.360269,31.213049],[119.374435,31.258591],[119.350414,31.301043],[119.338095,31.259103],[119.294363,31.263195],[119.266646,31.250405],[119.198277,31.270357],[119.197661,31.295418],[119.158241,31.294907],[119.107118,31.250917],[119.10527,31.235055],[119.014727,31.241707],[118.984546,31.237102],[118.870597,31.242219],[118.794836,31.229426],[118.756648,31.279564],[118.726467,31.282121],[118.720924,31.322518],[118.745561,31.372606],[118.767735,31.363919],[118.824401,31.375672],[118.852119,31.393553],[118.883532,31.500261],[118.857046,31.506384],[118.865669,31.519139],[118.885995,31.519139],[118.881684,31.564023],[118.858894,31.623665],[118.802844,31.619078],[118.773894,31.682759],[118.748025,31.675629],[118.736322,31.633347],[118.643315,31.649651],[118.643315,31.671555],[118.697518,31.709747],[118.653786,31.73011],[118.641467,31.75861],[118.571866,31.746397],[118.5577,31.73011],[118.521975,31.743343],[118.533678,31.76726],[118.481939,31.778453],[118.504729,31.841516],[118.466541,31.857784],[118.472084,31.879639],[118.363679,31.930443],[118.389548,31.985281],[118.394476,32.076098],[118.433896,32.086746],[118.501033,32.121726],[118.49549,32.165304],[118.510888,32.194176],[118.643931,32.209875],[118.674728,32.250375],[118.657482,32.30148],[118.703061,32.328792],[118.685199,32.403604],[118.691359,32.472295],[118.628533,32.467751],[118.592192,32.481383],[118.608823,32.536899],[118.564475,32.562122],[118.568787,32.585825],[118.59712,32.600951],[118.632844,32.578261],[118.658714,32.594397],[118.688895,32.588346],[118.719076,32.614059],[118.719076,32.614059],[118.73509,32.58885],[118.757264,32.603976],[118.784981,32.582295],[118.820706,32.60448],[118.84288,32.56767],[118.908169,32.59238],[118.890923,32.553042],[118.92172,32.557078],[118.922336,32.557078],[118.92172,32.557078],[118.922336,32.557078],[118.975923,32.505108],[119.041212,32.515201],[119.084944,32.452602],[119.142226,32.499556],[119.168096,32.536394],[119.152697,32.557582],[119.22045,32.576748],[119.230921,32.607001],[119.208748,32.641276],[119.211827,32.708275],[119.184726,32.825529],[119.113277,32.823014],[119.054763,32.8748],[119.020886,32.955685],[118.993169,32.958196],[118.934039,32.93861],[118.892771,32.941121],[118.89585,32.957694],[118.89585,32.957694],[118.849039,32.956689],[118.846575,32.922034],[118.821322,32.920527],[118.810235,32.853687],[118.743097,32.853184],[118.743097,32.853184],[118.73817,32.772708],[118.756648,32.737477],[118.707373,32.72036],[118.642699,32.744525],[118.572482,32.719856],[118.560163,32.729926],[118.483787,32.721367],[118.450526,32.743518],[118.411106,32.715828],[118.375382,32.718849],[118.363063,32.770695],[118.334114,32.761637],[118.300237,32.783275],[118.301469,32.846145],[118.250346,32.848157],[118.2331,32.914498],[118.252194,32.936601],[118.291614,32.946143],[118.303933,32.96874],[118.26944,32.969242],[118.244803,32.998359],[118.243571,33.027967],[118.219549,33.114227],[118.217085,33.191888],[118.178281,33.217926],[118.149332,33.169348],[118.038463,33.134776],[118.037231,33.152314],[117.988572,33.180869],[117.977485,33.226437],[117.942376,33.224936],[117.939297,33.262475],[117.974405,33.279487],[117.992883,33.333005],[118.029224,33.374995],[118.016905,33.402978],[118.027376,33.455421],[118.050782,33.491863],[118.107448,33.475391],[118.117919,33.594615],[118.112376,33.617045],[118.16781,33.663381],[118.161035,33.735576],[118.117919,33.766427],[118.065564,33.76593],[118.019985,33.738562],[117.972557,33.74951],[117.901724,33.720146],[117.843826,33.736074],[117.791471,33.733585],[117.750203,33.710688],[117.72495,33.74951],[117.739732,33.758467],[117.759442,33.874318],[117.753899,33.891211],[117.715095,33.879287],[117.672595,33.934916],[117.671363,33.992494],[117.629479,34.028708],[117.612849,34.000433],[117.569117,33.985051],[117.543248,34.038627],[117.514914,34.060941],[117.435458,34.028212],[117.404045,34.03218],[117.357234,34.088205],[117.311654,34.067882],[117.277162,34.078787],[117.257452,34.065899],[117.192162,34.068873],[117.130568,34.101586],[117.123793,34.128342],[117.046801,34.151622],[117.025243,34.167469],[117.051112,34.221425],[116.969192,34.283753],[116.983359,34.348011],[116.960569,34.363821],[116.969192,34.389012],[116.909446,34.408271],[116.828142,34.389012],[116.782563,34.429993],[116.773939,34.453683],[116.722816,34.472434],[116.662454,34.472927],[116.592237,34.493646],[116.594085,34.511894],[116.490607,34.573513],[116.477057,34.614896],[116.432709,34.630163],[116.430245,34.650843],[116.374195,34.640011],[116.334159,34.620806],[116.32492,34.601104],[116.286116,34.608986],[116.247927,34.551829],[116.196804,34.575977],[116.191261,34.535561],[116.204196,34.508442],[116.178326,34.496112],[116.162312,34.459605],[116.178942,34.430487],[116.215898,34.403333],[116.213435,34.382098],[116.255934,34.376665],[116.301514,34.342082],[116.357564,34.319843],[116.372347,34.26595],[116.409303,34.273863],[116.409303,34.273863],[116.456731,34.268917],[116.516477,34.296114],[116.562056,34.285731],[116.582382,34.266444],[116.545426,34.241711],[116.542962,34.203608],[116.565752,34.16945],[116.536187,34.151127],[116.52818,34.122892],[116.576223,34.068873],[116.576223,34.068873],[116.599629,34.014324],[116.599629,34.014324]]],[[[118.865669,31.519139],[118.857046,31.506384],[118.883532,31.500261],[118.885995,31.519139],[118.865669,31.519139]]],[[[116.698795,29.707836],[116.673541,29.709916],[116.653831,29.694841],[116.680317,29.681323],[116.704954,29.688602],[116.706802,29.6964],[116.70557,29.69692],[116.698795,29.707836]]],[[[115.5088,32.468761],[115.509416,32.466741],[115.510648,32.467751],[115.510648,32.468256],[115.510648,32.468761],[115.5088,32.468761]]]]}},{"type":"Feature","properties":{"adcode":350000,"name":"福建省","center":[119.306239,26.075302],"centroid":[118.006468,26.069925],"childrenNum":9,"level":"province","parent":{"adcode":100000},"subFeatureIndex":12,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[119.004872,24.970009],[118.989473,24.973807],[119.023966,25.04377],[119.016575,25.058409],[118.974691,25.024792],[118.945126,25.028588],[118.892155,25.092558],[118.974691,25.115319],[118.951901,25.15162],[118.985162,25.168954],[118.985162,25.19495],[118.942046,25.211195],[118.940198,25.21715],[118.943278,25.221482],[118.903242,25.239347],[118.900162,25.242595],[118.919256,25.248008],[118.91556,25.256668],[118.918024,25.25721],[118.956212,25.272905],[118.996864,25.266411],[118.975307,25.237723],[118.990089,25.20199],[119.055379,25.219316],[119.074473,25.211195],[119.054147,25.168412],[119.032589,25.17437],[119.028893,25.139702],[119.06585,25.102855],[119.075705,25.099604],[119.134219,25.106107],[119.107118,25.075214],[119.119436,25.012861],[119.146538,25.056782],[119.165632,25.145661],[119.137299,25.15487],[119.108349,25.193867],[119.131755,25.223106],[119.190269,25.175995],[119.231537,25.188993],[119.26911,25.159746],[119.314689,25.190076],[119.294979,25.237182],[119.331935,25.230685],[119.380595,25.250173],[119.333167,25.287516],[119.299291,25.328634],[119.247552,25.333502],[119.240776,25.316733],[119.218603,25.368115],[119.14469,25.388121],[119.151465,25.426503],[119.191501,25.424341],[119.232153,25.442176],[119.219834,25.468654],[119.256175,25.488643],[119.275269,25.476758],[119.26295,25.428124],[119.288204,25.410827],[119.353493,25.411908],[119.343638,25.472436],[119.359037,25.521592],[119.400921,25.493505],[119.45266,25.493505],[119.438493,25.412449],[119.463131,25.448661],[119.491464,25.443257],[119.48592,25.418935],[119.507478,25.396231],[119.486536,25.369737],[119.548746,25.365952],[119.578927,25.400556],[119.555521,25.429205],[119.577695,25.445959],[119.59063,25.398394],[119.582623,25.374063],[119.597405,25.334584],[119.649144,25.342697],[119.665159,25.3719],[119.656535,25.396772],[119.670086,25.435691],[119.622659,25.434069],[119.675014,25.468113],[119.682405,25.445959],[119.688564,25.441095],[119.773564,25.395691],[119.764325,25.433529],[119.804977,25.457847],[119.866571,25.455145],[119.864107,25.469734],[119.862875,25.474597],[119.811136,25.507009],[119.81668,25.532393],[119.861027,25.531313],[119.883817,25.546432],[119.831462,25.579905],[119.843165,25.597717],[119.790194,25.614447],[119.785883,25.66786],[119.700267,25.616606],[119.683637,25.592859],[119.716898,25.551292],[119.715666,25.51187],[119.680557,25.497827],[119.675014,25.475137],[119.634362,25.475137],[119.611572,25.519972],[119.616499,25.556691],[119.586934,25.59232],[119.534579,25.585303],[119.541355,25.6247],[119.478529,25.631715],[119.472986,25.662466],[119.543819,25.684581],[119.602949,25.68512],[119.602949,25.714779],[119.626354,25.723406],[119.628202,25.87212],[119.638057,25.889888],[119.69534,25.904424],[119.723673,26.011503],[119.700267,26.032477],[119.668854,26.026024],[119.654688,26.090002],[119.618963,26.11956],[119.604181,26.168985],[119.664543,26.202282],[119.676246,26.262943],[119.7711,26.285481],[119.802513,26.268846],[119.806825,26.307479],[119.845013,26.323036],[119.862875,26.307479],[119.904143,26.308552],[119.95465,26.352534],[119.946027,26.374519],[119.893672,26.355752],[119.835774,26.434019],[119.83639,26.454381],[119.788346,26.583435],[119.740303,26.610727],[119.670086,26.618218],[119.605412,26.595744],[119.577695,26.622498],[119.619579,26.649246],[119.637441,26.703256],[119.664543,26.726243],[119.711354,26.686681],[119.833926,26.690959],[119.864107,26.671174],[119.873962,26.642827],[119.908455,26.661547],[119.899216,26.693098],[119.938636,26.747088],[119.942947,26.784492],[120.052584,26.786629],[120.061824,26.768997],[119.99407,26.720363],[119.969433,26.686681],[119.972512,26.654594],[119.949107,26.624638],[119.901679,26.624638],[119.851788,26.595209],[119.828383,26.524013],[119.867187,26.509019],[119.947875,26.56042],[119.93802,26.576478],[119.967585,26.597885],[120.007621,26.595744],[120.063671,26.627848],[120.093852,26.613938],[120.1382,26.638012],[120.110483,26.692563],[120.162222,26.717691],[120.151135,26.750829],[120.106787,26.752966],[120.136352,26.797847],[120.103707,26.794642],[120.102476,26.82669],[120.073526,26.823485],[120.054432,26.863533],[120.117874,26.882751],[120.126497,26.920644],[120.130193,26.917976],[120.1807,26.920644],[120.233055,26.907837],[120.25954,26.982526],[120.279866,26.987326],[120.275554,27.027315],[120.29588,27.035845],[120.282946,27.089671],[120.391967,27.081146],[120.403054,27.10086],[120.461568,27.142407],[120.404286,27.204166],[120.401822,27.250996],[120.430155,27.258976],[120.343924,27.363199],[120.340844,27.399867],[120.273091,27.38924],[120.26262,27.432804],[120.221352,27.420055],[120.134504,27.420055],[120.136968,27.402523],[120.096316,27.390302],[120.052584,27.338747],[120.026099,27.344063],[120.008237,27.375423],[119.960194,27.365857],[119.938636,27.329709],[119.843165,27.300464],[119.768636,27.307909],[119.782187,27.330241],[119.739687,27.362668],[119.750774,27.373829],[119.711354,27.403054],[119.685485,27.438646],[119.703347,27.446613],[119.70889,27.514042],[119.690412,27.537394],[119.659615,27.540578],[119.675014,27.574534],[119.630666,27.582491],[119.626354,27.620676],[119.644217,27.663619],[119.606028,27.674749],[119.541971,27.666799],[119.501319,27.649837],[119.501935,27.610601],[119.466826,27.526249],[119.438493,27.508734],[119.416935,27.539517],[119.360269,27.524657],[119.334399,27.480067],[119.285124,27.457766],[119.26911,27.42218],[119.224146,27.416868],[119.14777,27.424836],[119.121284,27.438115],[119.129907,27.475289],[119.092335,27.466262],[119.03998,27.478475],[119.020886,27.498118],[118.983314,27.498649],[118.986393,27.47582],[118.955597,27.4498],[118.907553,27.460952],[118.869365,27.540047],[118.909401,27.568168],[118.913713,27.619616],[118.879836,27.667859],[118.873677,27.733563],[118.829329,27.847921],[118.818242,27.916689],[118.753568,27.947885],[118.730163,27.970615],[118.733858,28.027684],[118.719076,28.063601],[118.767735,28.10584],[118.802228,28.117453],[118.805923,28.154923],[118.771431,28.188687],[118.804075,28.207675],[118.802228,28.240368],[118.756032,28.252493],[118.719692,28.312047],[118.699366,28.309939],[118.674728,28.27147],[118.651322,28.277267],[118.595272,28.258292],[118.588497,28.282538],[118.493026,28.262509],[118.490562,28.238259],[118.444367,28.253548],[118.433896,28.288335],[118.424041,28.291497],[118.314404,28.221913],[118.339041,28.193962],[118.375382,28.186577],[118.361215,28.155978],[118.356288,28.091586],[118.242339,28.075746],[118.199839,28.049869],[118.153644,28.062016],[118.120999,28.041946],[118.129006,28.017118],[118.094513,28.003909],[118.096977,27.970615],[117.999043,27.991227],[117.965166,27.962687],[117.942992,27.974315],[117.910963,27.949471],[117.856145,27.94577],[117.78716,27.896063],[117.788392,27.855858],[117.740348,27.800286],[117.704624,27.834162],[117.68245,27.823577],[117.649805,27.851625],[117.609769,27.863265],[117.556182,27.966387],[117.52169,27.982243],[117.477958,27.930966],[117.453936,27.939955],[117.407741,27.893948],[117.366473,27.88231],[117.341836,27.855858],[117.334444,27.8876],[117.280242,27.871201],[117.276546,27.847921],[117.303031,27.833103],[117.296256,27.764282],[117.245133,27.71926],[117.205097,27.714492],[117.204481,27.683759],[117.174916,27.677399],[117.114554,27.692238],[117.096076,27.667329],[117.11209,27.645596],[117.094228,27.627569],[117.065279,27.665739],[117.040641,27.669979],[117.003685,27.625449],[117.024627,27.592569],[117.01662,27.563393],[117.054808,27.5427],[117.076982,27.566046],[117.103467,27.533149],[117.110242,27.458828],[117.133032,27.42218],[117.107163,27.393491],[117.104699,27.330773],[117.140423,27.322798],[117.136728,27.303123],[117.171836,27.29036],[117.149662,27.241419],[117.044953,27.146667],[117.05296,27.100327],[116.967344,27.061962],[116.936547,27.019319],[116.910062,27.034779],[116.851548,27.009188],[116.817671,27.018252],[116.679085,26.978259],[116.632889,26.933984],[116.602092,26.888623],[116.548506,26.84004],[116.543578,26.803723],[116.557745,26.773806],[116.515245,26.720898],[116.520172,26.684543],[116.566368,26.650315],[116.553433,26.575942],[116.539267,26.559349],[116.597165,26.512768],[116.610716,26.476882],[116.638433,26.477418],[116.608252,26.429732],[116.601476,26.372911],[116.553433,26.365404],[116.553433,26.400253],[116.519557,26.410437],[116.499846,26.361651],[116.459194,26.345026],[116.437021,26.308016],[116.412999,26.297822],[116.385282,26.238253],[116.400064,26.202819],[116.392057,26.171133],[116.435789,26.159854],[116.476441,26.172745],[116.489375,26.113649],[116.384666,26.030864],[116.360028,25.991601],[116.369883,25.963088],[116.326152,25.956631],[116.303362,25.924341],[116.258398,25.902809],[116.225138,25.908731],[116.17771,25.894195],[116.132131,25.860273],[116.131515,25.824185],[116.18079,25.778926],[116.129667,25.758985],[116.106877,25.701299],[116.067457,25.703995],[116.068689,25.646282],[116.041588,25.62416],[116.063145,25.56317],[116.040356,25.548052],[116.03666,25.514571],[116.005247,25.490264],[116.023109,25.435691],[115.992928,25.374063],[116.008327,25.319437],[115.987385,25.290221],[115.949813,25.292386],[115.930719,25.236099],[115.855574,25.20957],[115.860501,25.165704],[115.888219,25.128866],[115.880212,25.092016],[115.908545,25.084428],[115.928255,25.050276],[115.873436,25.019911],[115.925175,24.960786],[115.870356,24.959701],[115.89253,24.936911],[115.907929,24.923343],[115.985537,24.899461],[116.015102,24.905975],[116.068073,24.850053],[116.153073,24.846795],[116.191877,24.877203],[116.221442,24.829959],[116.251007,24.82507],[116.244232,24.793563],[116.297202,24.801712],[116.345862,24.828872],[116.363724,24.87123],[116.395137,24.877746],[116.417927,24.840821],[116.381586,24.82507],[116.375427,24.803885],[116.419158,24.767482],[116.416079,24.744113],[116.44626,24.714216],[116.485064,24.720196],[116.517709,24.652225],[116.506622,24.621218],[116.530027,24.604895],[116.570679,24.621762],[116.600861,24.654401],[116.623034,24.64189],[116.667382,24.658752],[116.777635,24.679418],[116.815207,24.654944],[116.761005,24.583128],[116.759157,24.545572],[116.796729,24.502014],[116.83307,24.496568],[116.860787,24.460075],[116.839229,24.442097],[116.903903,24.369614],[116.895895,24.350533],[116.919301,24.321087],[116.914374,24.287817],[116.938395,24.28127],[116.933468,24.220157],[116.956257,24.216883],[116.998757,24.179217],[116.9347,24.126794],[116.930388,24.064514],[116.953178,24.008218],[116.981511,23.999471],[116.976583,23.931659],[116.955642,23.922359],[116.981511,23.855602],[117.012308,23.855054],[117.019083,23.801952],[117.048032,23.758687],[117.055424,23.694038],[117.123793,23.647448],[117.147199,23.654027],[117.192778,23.629356],[117.192778,23.5619],[117.291328,23.571225],[117.302415,23.550379],[117.387415,23.555317],[117.463791,23.584937],[117.454552,23.628259],[117.493357,23.642514],[117.501364,23.70445],[117.54448,23.715956],[117.601762,23.70171],[117.660276,23.789357],[117.651653,23.815093],[117.671979,23.878041],[117.691073,23.888985],[117.762522,23.886796],[117.792703,23.906494],[117.807486,23.947521],[117.864768,24.004938],[117.910347,24.012045],[117.927594,24.039922],[117.936217,24.100029],[118.000275,24.152462],[118.019369,24.197232],[118.074803,24.225615],[118.115455,24.229435],[118.158571,24.269814],[118.112376,24.357075],[118.081579,24.35653],[118.088354,24.408858],[118.048934,24.418122],[118.084042,24.528695],[118.121615,24.570067],[118.150564,24.583673],[118.169042,24.559725],[118.242955,24.51236],[118.375382,24.536317],[118.363679,24.567889],[118.444367,24.614689],[118.512736,24.60816],[118.557084,24.572788],[118.558316,24.51236],[118.614366,24.521617],[118.680272,24.58204],[118.687047,24.63373],[118.661178,24.622306],[118.652554,24.653857],[118.670417,24.679962],[118.703677,24.665278],[118.778822,24.743569],[118.786213,24.77672],[118.650707,24.808774],[118.647627,24.843536],[118.702445,24.865258],[118.69875,24.848967],[118.748641,24.84245],[118.807771,24.870687],[118.834256,24.854397],[118.864437,24.887518],[118.933423,24.870687],[118.988857,24.878831],[118.987009,24.898375],[118.932807,24.906518],[118.91864,24.932569],[118.945741,24.954275],[119.014111,24.941252],[119.032589,24.961328],[119.032589,24.961871],[119.007335,24.963499],[119.004872,24.970009]]],[[[118.412338,24.514538],[118.374766,24.458986],[118.318715,24.486765],[118.298389,24.477506],[118.31194,24.424661],[118.282375,24.413218],[118.329802,24.382152],[118.353208,24.415398],[118.405563,24.427931],[118.457918,24.412128],[118.477012,24.437738],[118.451758,24.506915],[118.412338,24.514538]]],[[[119.471138,25.197116],[119.507478,25.183036],[119.52534,25.157579],[119.549362,25.161912],[119.566608,25.210112],[119.540739,25.20199],[119.501319,25.21715],[119.473601,25.259916],[119.44342,25.238806],[119.444036,25.20199],[119.471138,25.197116]]],[[[119.580159,25.627398],[119.611572,25.669479],[119.580775,25.650059],[119.580159,25.627398]]],[[[119.976824,26.191005],[120.016244,26.217316],[119.998998,26.235569],[119.970665,26.217852],[119.976824,26.191005]]],[[[118.230636,24.401228],[118.273752,24.441007],[118.233716,24.445911],[118.230636,24.401228]]],[[[119.906607,26.68989],[119.926933,26.664756],[119.950954,26.692563],[119.906607,26.68989]]],[[[118.204151,24.504737],[118.191832,24.536861],[118.14502,24.560814],[118.093281,24.540672],[118.068644,24.463344],[118.084042,24.435559],[118.143173,24.420847],[118.19368,24.463344],[118.204151,24.504737]]],[[[119.929397,26.134067],[119.960194,26.146961],[119.919542,26.172208],[119.929397,26.134067]]],[[[119.642985,26.129231],[119.665159,26.155556],[119.62697,26.173282],[119.606028,26.15287],[119.642985,26.129231]]],[[[120.034106,26.488667],[120.066751,26.498308],[120.071679,26.521336],[120.035954,26.515981],[120.034106,26.488667]]],[[[119.662079,25.646822],[119.673782,25.632794],[119.718745,25.634952],[119.716898,25.664624],[119.662079,25.646822]]],[[[119.760629,26.613402],[119.776644,26.600025],[119.818527,26.616613],[119.796354,26.630523],[119.760629,26.613402]]],[[[120.135736,26.550784],[120.167149,26.571661],[120.153598,26.604841],[120.117874,26.568984],[120.135736,26.550784]]],[[[120.360554,26.916909],[120.394431,26.933984],[120.363018,26.967592],[120.327909,26.963858],[120.319286,26.944654],[120.360554,26.916909]]],[[[120.150519,26.798916],[120.140048,26.795176],[120.163454,26.798381],[120.161606,26.803189],[120.150519,26.798916]]],[[[119.668238,26.628383],[119.720593,26.635873],[119.758781,26.659408],[119.748926,26.681334],[119.712586,26.6685],[119.673782,26.680799],[119.651608,26.657269],[119.668238,26.628383]]]]}},{"type":"Feature","properties":{"adcode":360000,"name":"江西省","center":[115.892151,28.676493],"centroid":[115.732975,27.636112],"childrenNum":11,"level":"province","parent":{"adcode":100000},"subFeatureIndex":13,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[118.193064,29.395472],[118.136397,29.418932],[118.127774,29.47209],[118.143788,29.489803],[118.095129,29.534072],[118.050782,29.542924],[118.042774,29.566351],[118.00397,29.578322],[117.933753,29.549172],[117.872775,29.54761],[117.795167,29.570515],[117.729877,29.550213],[117.690457,29.555939],[117.678754,29.595496],[117.647957,29.614749],[117.608537,29.591333],[117.543248,29.588731],[117.523538,29.630356],[117.530313,29.654282],[117.490277,29.660003],[117.453936,29.688082],[117.455168,29.749412],[117.408973,29.802396],[117.415132,29.85068],[117.382487,29.840818],[117.359082,29.812782],[117.338756,29.848085],[117.29256,29.822647],[117.25314,29.834588],[117.261763,29.880781],[117.246365,29.915023],[117.2168,29.926953],[117.171836,29.920729],[117.129952,29.89946],[117.127489,29.86158],[117.073286,29.831992],[117.123177,29.798761],[117.136728,29.775388],[117.108395,29.75201],[117.112706,29.711995],[117.041873,29.680803],[116.996294,29.683403],[116.974736,29.657403],[116.939627,29.648561],[116.873722,29.609546],[116.849084,29.57624],[116.780715,29.569994],[116.760389,29.599139],[116.721585,29.564789],[116.716657,29.590813],[116.651983,29.637118],[116.680317,29.681323],[116.653831,29.694841],[116.673541,29.709916],[116.762237,29.802396],[116.780715,29.792529],[116.882961,29.893753],[116.900207,29.949253],[116.868794,29.980361],[116.83307,29.95755],[116.830606,30.004723],[116.802889,29.99643],[116.783794,30.030632],[116.747454,30.057053],[116.720353,30.053945],[116.666766,30.076734],[116.620571,30.073109],[116.585462,30.045657],[116.552201,29.909836],[116.525716,29.897385],[116.467818,29.896347],[116.342782,29.835626],[116.280572,29.788893],[116.250391,29.785777],[116.227601,29.816936],[116.172783,29.828358],[116.13521,29.819532],[116.087167,29.795125],[116.049595,29.761881],[115.965827,29.724469],[115.909777,29.723949],[115.837096,29.748373],[115.762567,29.793048],[115.706517,29.837703],[115.667712,29.850161],[115.611662,29.841337],[115.51188,29.840299],[115.479235,29.811224],[115.470612,29.739539],[115.412714,29.688602],[115.355431,29.649602],[115.304924,29.637118],[115.28583,29.618391],[115.250722,29.660003],[115.176809,29.654803],[115.113367,29.684963],[115.117679,29.655843],[115.143548,29.645961],[115.120142,29.597578],[115.157099,29.584568],[115.154019,29.510117],[115.086266,29.525741],[115.087498,29.560104],[115.033295,29.546568],[115.00065,29.572076],[114.947679,29.542924],[114.966773,29.522096],[114.940288,29.493971],[114.900868,29.505951],[114.860216,29.476258],[114.888549,29.436134],[114.918114,29.454374],[114.90518,29.473132],[114.935977,29.486678],[114.947063,29.465317],[114.931049,29.422581],[114.895325,29.397557],[114.866375,29.404335],[114.812173,29.383478],[114.784455,29.386086],[114.759818,29.363139],[114.740724,29.386607],[114.67297,29.395993],[114.621847,29.379828],[114.589819,29.352707],[114.519602,29.325578],[114.466015,29.324013],[114.440145,29.341752],[114.376088,29.322969],[114.341595,29.327665],[114.307102,29.365225],[114.259059,29.343839],[114.252284,29.23475],[114.169748,29.216993],[114.063191,29.204978],[114.034857,29.152204],[113.98743,29.126068],[113.952321,29.092604],[113.94185,29.047097],[113.961561,28.999476],[113.955401,28.978536],[113.973879,28.937692],[114.008988,28.955498],[114.005292,28.917788],[114.028082,28.891069],[114.060111,28.902596],[114.056415,28.872204],[114.076741,28.834464],[114.124784,28.843376],[114.153734,28.829221],[114.137719,28.779926],[114.157429,28.761566],[114.122321,28.623497],[114.132176,28.607211],[114.08598,28.558337],[114.138335,28.533629],[114.15435,28.507337],[114.218407,28.48472],[114.217175,28.466308],[114.172212,28.432632],[114.214712,28.403157],[114.252284,28.395787],[114.2529,28.319423],[114.198081,28.29097],[114.182067,28.249858],[114.143879,28.246694],[114.109386,28.205038],[114.107538,28.182885],[114.068734,28.171806],[114.012068,28.174972],[113.992357,28.161255],[114.025002,28.080499],[114.047176,28.057263],[114.025618,28.031382],[113.970184,28.041418],[113.966488,28.017646],[113.936307,28.018703],[113.914133,27.991227],[113.864242,28.004966],[113.845148,27.971672],[113.822974,27.982243],[113.752141,27.93361],[113.72812,27.874904],[113.756453,27.860091],[113.763228,27.799228],[113.69917,27.740979],[113.696707,27.71979],[113.652359,27.663619],[113.607395,27.625449],[113.608627,27.585143],[113.579062,27.545354],[113.583374,27.524657],[113.627105,27.49971],[113.591381,27.467855],[113.59754,27.428554],[113.632033,27.40518],[113.605548,27.38924],[113.616635,27.345658],[113.657902,27.347253],[113.699786,27.331836],[113.72812,27.350442],[113.872865,27.384988],[113.872865,27.346721],[113.854387,27.30525],[113.872865,27.289828],[113.846996,27.222262],[113.779242,27.137081],[113.771851,27.096598],[113.803264,27.099261],[113.824206,27.036378],[113.86301,27.018252],[113.892575,26.964925],[113.927068,26.948922],[113.890112,26.895562],[113.877177,26.859262],[113.835909,26.806394],[113.853771,26.769532],[113.860546,26.664221],[113.912901,26.613938],[113.996669,26.615543],[114.019459,26.587182],[114.10877,26.56952],[114.07243,26.480096],[114.110002,26.482775],[114.090292,26.455988],[114.085364,26.406149],[114.062575,26.406149],[114.030546,26.376664],[114.047792,26.337518],[114.021307,26.288701],[114.029314,26.266163],[113.978807,26.237716],[113.972647,26.20604],[113.949242,26.192616],[113.962792,26.150722],[114.013299,26.184023],[114.088444,26.168448],[114.102611,26.187783],[114.181451,26.214631],[114.216559,26.203355],[114.237501,26.152333],[114.188842,26.121172],[114.10569,26.097526],[114.121089,26.085702],[114.087828,26.06635],[114.044096,26.076564],[114.008372,26.015806],[114.028082,25.98138],[114.028082,25.893119],[113.971416,25.836036],[113.961561,25.77731],[113.920293,25.741197],[113.913517,25.701299],[113.957249,25.611749],[113.983118,25.599336],[113.986198,25.529153],[113.962792,25.528072],[113.94493,25.441635],[114.003444,25.442716],[113.983118,25.415152],[114.050256,25.36433],[114.029314,25.328093],[114.017611,25.273987],[114.039785,25.250714],[114.055799,25.277775],[114.083517,25.275611],[114.115545,25.302125],[114.190074,25.316733],[114.204857,25.29942],[114.260291,25.291845],[114.2954,25.299961],[114.31511,25.33837],[114.382863,25.317274],[114.43029,25.343779],[114.438914,25.376226],[114.477718,25.37136],[114.541159,25.416773],[114.599674,25.385959],[114.63663,25.324306],[114.714238,25.315651],[114.743188,25.274528],[114.73518,25.225813],[114.693912,25.213902],[114.685905,25.173287],[114.73518,25.155954],[114.735796,25.121822],[114.664963,25.10123],[114.640326,25.074129],[114.604601,25.083886],[114.561485,25.077382],[114.532536,25.022623],[114.506051,24.999844],[114.45616,24.99659],[114.454928,24.977062],[114.395798,24.951019],[114.403189,24.877746],[114.378551,24.861457],[114.342211,24.807145],[114.336052,24.749004],[114.281849,24.724001],[114.27261,24.700624],[114.169132,24.689749],[114.19069,24.656576],[114.258443,24.641346],[114.289856,24.619042],[114.300943,24.578775],[114.363769,24.582584],[114.391486,24.563535],[114.403189,24.497657],[114.429058,24.48622],[114.534384,24.559181],[114.589819,24.537406],[114.627391,24.576598],[114.664963,24.583673],[114.704999,24.525973],[114.73826,24.565168],[114.729637,24.608704],[114.781376,24.613057],[114.827571,24.588026],[114.846665,24.602719],[114.868839,24.562446],[114.893477,24.582584],[114.909491,24.661471],[114.940288,24.650049],[115.00373,24.679418],[115.024672,24.669085],[115.057317,24.703343],[115.083802,24.699537],[115.104744,24.667997],[115.1842,24.711498],[115.258729,24.728894],[115.269816,24.749548],[115.306772,24.758787],[115.358511,24.735416],[115.372678,24.774546],[115.412714,24.79302],[115.476771,24.762591],[115.522967,24.702799],[115.555611,24.683768],[115.569778,24.622306],[115.605503,24.62557],[115.671408,24.604895],[115.68927,24.545027],[115.752712,24.546116],[115.785357,24.567345],[115.843871,24.562446],[115.840791,24.584217],[115.797676,24.628834],[115.780429,24.663103],[115.801371,24.705517],[115.769342,24.708236],[115.756408,24.749004],[115.776734,24.774546],[115.764415,24.791933],[115.790284,24.856027],[115.807531,24.862543],[115.824161,24.909232],[115.863581,24.891318],[115.861733,24.863629],[115.907313,24.879917],[115.885139,24.898918],[115.89253,24.936911],[115.870356,24.959701],[115.925175,24.960786],[115.873436,25.019911],[115.928255,25.050276],[115.908545,25.084428],[115.880212,25.092016],[115.888219,25.128866],[115.860501,25.165704],[115.855574,25.20957],[115.930719,25.236099],[115.949813,25.292386],[115.987385,25.290221],[116.008327,25.319437],[115.992928,25.374063],[116.023109,25.435691],[116.005247,25.490264],[116.03666,25.514571],[116.040356,25.548052],[116.063145,25.56317],[116.041588,25.62416],[116.068689,25.646282],[116.067457,25.703995],[116.106877,25.701299],[116.129667,25.758985],[116.18079,25.778926],[116.131515,25.824185],[116.132131,25.860273],[116.17771,25.894195],[116.225138,25.908731],[116.258398,25.902809],[116.303362,25.924341],[116.326152,25.956631],[116.369883,25.963088],[116.360028,25.991601],[116.384666,26.030864],[116.489375,26.113649],[116.476441,26.172745],[116.435789,26.159854],[116.392057,26.171133],[116.400064,26.202819],[116.385282,26.238253],[116.412999,26.297822],[116.437021,26.308016],[116.459194,26.345026],[116.499846,26.361651],[116.519557,26.410437],[116.553433,26.400253],[116.553433,26.365404],[116.601476,26.372911],[116.608252,26.429732],[116.638433,26.477418],[116.610716,26.476882],[116.597165,26.512768],[116.539267,26.559349],[116.553433,26.575942],[116.566368,26.650315],[116.520172,26.684543],[116.515245,26.720898],[116.557745,26.773806],[116.543578,26.803723],[116.548506,26.84004],[116.602092,26.888623],[116.632889,26.933984],[116.679085,26.978259],[116.817671,27.018252],[116.851548,27.009188],[116.910062,27.034779],[116.936547,27.019319],[116.967344,27.061962],[117.05296,27.100327],[117.044953,27.146667],[117.149662,27.241419],[117.171836,27.29036],[117.136728,27.303123],[117.140423,27.322798],[117.104699,27.330773],[117.107163,27.393491],[117.133032,27.42218],[117.110242,27.458828],[117.103467,27.533149],[117.076982,27.566046],[117.054808,27.5427],[117.01662,27.563393],[117.024627,27.592569],[117.003685,27.625449],[117.040641,27.669979],[117.065279,27.665739],[117.094228,27.627569],[117.11209,27.645596],[117.096076,27.667329],[117.114554,27.692238],[117.174916,27.677399],[117.204481,27.683759],[117.205097,27.714492],[117.245133,27.71926],[117.296256,27.764282],[117.303031,27.833103],[117.276546,27.847921],[117.280242,27.871201],[117.334444,27.8876],[117.341836,27.855858],[117.366473,27.88231],[117.407741,27.893948],[117.453936,27.939955],[117.477958,27.930966],[117.52169,27.982243],[117.556182,27.966387],[117.609769,27.863265],[117.649805,27.851625],[117.68245,27.823577],[117.704624,27.834162],[117.740348,27.800286],[117.788392,27.855858],[117.78716,27.896063],[117.856145,27.94577],[117.910963,27.949471],[117.942992,27.974315],[117.965166,27.962687],[117.999043,27.991227],[118.096977,27.970615],[118.094513,28.003909],[118.129006,28.017118],[118.120999,28.041946],[118.153644,28.062016],[118.199839,28.049869],[118.242339,28.075746],[118.356288,28.091586],[118.361215,28.155978],[118.375382,28.186577],[118.339041,28.193962],[118.314404,28.221913],[118.424041,28.291497],[118.433896,28.288335],[118.480091,28.327325],[118.455454,28.384204],[118.432048,28.402104],[118.456686,28.424738],[118.474548,28.478934],[118.414802,28.497344],[118.4302,28.515225],[118.412338,28.55676],[118.428352,28.617193],[118.428352,28.617193],[118.428352,28.681267],[118.403099,28.702791],[118.364295,28.813491],[118.300237,28.826075],[118.270056,28.918836],[118.195527,28.904167],[118.227556,28.942406],[118.165346,28.986912],[118.133933,28.983771],[118.115455,29.009944],[118.115455,29.009944],[118.097593,28.998952],[118.066796,29.053898],[118.076035,29.074822],[118.037847,29.102017],[118.045238,29.149068],[118.027992,29.167882],[118.042159,29.210202],[118.073571,29.216993],[118.077883,29.290614],[118.138861,29.283828],[118.178281,29.297921],[118.166578,29.314099],[118.205382,29.343839],[118.193064,29.395472]]]]}},{"type":"Feature","properties":{"adcode":370000,"name":"山东省","center":[117.000923,36.675807],"centroid":[118.187759,36.376092],"childrenNum":16,"level":"province","parent":{"adcode":100000},"subFeatureIndex":14,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[116.374195,34.640011],[116.392057,34.710391],[116.363724,34.715311],[116.369267,34.749247],[116.403144,34.756131],[116.408071,34.850972],[116.445028,34.895652],[116.557745,34.908905],[116.613795,34.922645],[116.622418,34.939818],[116.677853,34.939327],[116.781331,34.916757],[116.789338,34.975133],[116.815823,34.965324],[116.821983,34.929515],[116.858323,34.928533],[116.922381,34.894671],[116.929156,34.843114],[116.966113,34.844588],[116.979047,34.815113],[116.95133,34.81069],[116.969192,34.771864],[117.022163,34.759081],[117.070206,34.713835],[117.061583,34.675947],[117.073286,34.639026],[117.104083,34.648874],[117.15151,34.559222],[117.139191,34.526687],[117.166293,34.434435],[117.248213,34.451216],[117.252524,34.48674],[117.27285,34.499565],[117.267923,34.532603],[117.303647,34.542463],[117.27285,34.556757],[117.311654,34.561686],[117.311654,34.561686],[117.32151,34.566614],[117.32151,34.566614],[117.325205,34.573021],[117.325205,34.573021],[117.370785,34.584846],[117.402813,34.569571],[117.402813,34.550843],[117.465023,34.484767],[117.53832,34.467006],[117.592523,34.462566],[117.609769,34.490686],[117.659044,34.501044],[117.684298,34.547392],[117.801942,34.518798],[117.791471,34.583368],[117.793935,34.651827],[117.902956,34.644443],[117.909732,34.670533],[117.951615,34.678408],[118.053861,34.650843],[118.084042,34.655766],[118.114839,34.614404],[118.079115,34.569571],[118.185056,34.543942],[118.16473,34.50499],[118.132702,34.483287],[118.177665,34.45319],[118.179513,34.379628],[118.217701,34.379134],[118.220165,34.405802],[118.277447,34.404814],[118.290382,34.424563],[118.379693,34.415183],[118.404947,34.427525],[118.416034,34.473914],[118.439439,34.507949],[118.424657,34.595193],[118.439439,34.626223],[118.473932,34.623269],[118.460997,34.656258],[118.545997,34.705964],[118.601431,34.714327],[118.607591,34.694155],[118.664257,34.693663],[118.690127,34.678408],[118.739402,34.693663],[118.783749,34.723181],[118.764039,34.740396],[118.719076,34.745313],[118.739402,34.792508],[118.772047,34.794474],[118.80038,34.843114],[118.805307,34.87307],[118.860742,34.944233],[118.86259,35.025626],[118.928495,35.051106],[118.942662,35.040817],[119.027045,35.055516],[119.114509,35.055026],[119.137915,35.096167],[119.217371,35.106939],[119.250016,35.124562],[119.286972,35.115261],[119.306066,35.076578],[119.354109,35.080007],[119.373819,35.078538],[119.428022,35.121136],[119.397841,35.137777],[119.411392,35.231689],[119.450812,35.285443],[119.493312,35.318655],[119.538275,35.296678],[119.543819,35.347949],[119.590014,35.37284],[119.579543,35.406504],[119.618963,35.459655],[119.663311,35.562931],[119.662079,35.589215],[119.718129,35.615492],[119.75139,35.617924],[119.772332,35.578995],[119.780339,35.584835],[119.792658,35.615492],[119.824071,35.646136],[119.83023,35.620357],[119.868419,35.60868],[119.925085,35.637382],[119.91215,35.660725],[119.950339,35.729741],[119.920157,35.739943],[119.926317,35.759856],[119.958346,35.760342],[120.01378,35.714193],[120.049505,35.786562],[120.032258,35.812288],[120.064287,35.873414],[120.112331,35.885052],[120.125265,35.906868],[120.152983,35.907353],[120.207801,35.947575],[120.169613,35.888446],[120.202258,35.89184],[120.209033,35.917531],[120.265699,35.966468],[120.30512,35.971796],[120.316206,36.002304],[120.289721,36.017311],[120.285409,36.01247],[120.249069,35.992136],[120.257076,36.025055],[120.198562,35.995525],[120.234902,36.030863],[120.239214,36.062316],[120.181316,36.066669],[120.152367,36.095206],[120.116642,36.102943],[120.108635,36.127599],[120.142512,36.143549],[120.140664,36.173507],[120.181316,36.203936],[120.22012,36.209248],[120.224432,36.19138],[120.260772,36.198624],[120.263236,36.182202],[120.310047,36.185101],[120.297112,36.225664],[120.319902,36.232423],[120.362402,36.196209],[120.35809,36.174956],[120.286025,36.047317],[120.337764,36.055058],[120.429539,36.056994],[120.468959,36.087952],[120.546568,36.091821],[120.546568,36.107778],[120.593995,36.100525],[120.615553,36.120348],[120.64327,36.114547],[120.672835,36.130016],[120.712255,36.126632],[120.696857,36.15563],[120.696857,36.203936],[120.680843,36.238698],[120.686386,36.279234],[120.657437,36.276339],[120.66298,36.331803],[120.744284,36.327946],[120.694393,36.390118],[120.759683,36.46283],[120.828668,36.46668],[120.837291,36.459942],[120.858849,36.424797],[120.848994,36.403124],[120.871784,36.36699],[120.911204,36.412276],[120.917979,36.417573],[120.90874,36.450315],[120.938305,36.447908],[120.965407,36.466199],[120.95432,36.507578],[120.983269,36.546051],[120.962327,36.562877],[120.909972,36.568645],[120.884718,36.601323],[120.847146,36.618617],[120.882255,36.627262],[120.926602,36.611892],[120.955551,36.575855],[121.028848,36.572971],[121.078123,36.607568],[121.161275,36.651273],[121.251818,36.671436],[121.29863,36.702151],[121.31218,36.702151],[121.35776,36.713186],[121.400876,36.701191],[121.3941,36.738129],[121.454462,36.752515],[121.496962,36.795179],[121.506817,36.803805],[121.565331,36.830635],[121.548701,36.807638],[121.485259,36.786073],[121.532071,36.73621],[121.575186,36.740047],[121.556092,36.764502],[121.651563,36.723739],[121.631853,36.80093],[121.6762,36.819137],[121.726092,36.826323],[121.762432,36.84644],[121.767975,36.874691],[121.927504,36.932597],[121.965076,36.938337],[122.008808,36.96225],[122.042684,36.871819],[122.051923,36.904846],[122.093191,36.913938],[122.115981,36.94025],[122.124604,36.944077],[122.141235,36.938337],[122.119677,36.891924],[122.175727,36.894317],[122.188662,36.866073],[122.174495,36.842609],[122.220691,36.848835],[122.275509,36.83734],[122.280437,36.835904],[122.344495,36.828239],[122.378371,36.844525],[122.383915,36.865595],[122.415944,36.85937],[122.454748,36.879],[122.452284,36.88618],[122.434422,36.914416],[122.483081,36.913938],[122.48924,36.886659],[122.532356,36.901496],[122.55761,36.968467],[122.544675,37.004797],[122.583479,37.037289],[122.575472,37.054485],[122.494168,37.033945],[122.467067,37.037289],[122.478769,37.058784],[122.484313,37.128956],[122.533588,37.153286],[122.581015,37.147562],[122.573624,37.176178],[122.624131,37.190959],[122.592718,37.261485],[122.567465,37.25958],[122.573624,37.296247],[122.611196,37.339558],[122.607501,37.364296],[122.650616,37.388551],[122.6925,37.373809],[122.714058,37.392355],[122.701739,37.418501],[122.67587,37.413273],[122.641377,37.428482],[122.553914,37.407093],[122.4954,37.413748],[122.487393,37.43466],[122.41656,37.414699],[122.337103,37.414223],[122.281053,37.430858],[122.287212,37.445114],[122.25272,37.467917],[122.194205,37.456041],[122.166488,37.438937],[122.131996,37.49926],[122.163408,37.519199],[122.150474,37.557163],[122.08888,37.554316],[122.075329,37.540556],[122.017431,37.531065],[121.997721,37.494512],[121.923808,37.473142],[121.772903,37.466492],[121.66573,37.473617],[121.635548,37.494037],[121.575802,37.460317],[121.571491,37.441313],[121.477252,37.475992],[121.460006,37.522522],[121.400876,37.557638],[121.395948,37.589891],[121.435368,37.592737],[121.391021,37.625449],[121.349137,37.635403],[121.358376,37.597479],[121.304789,37.582778],[121.217326,37.582778],[121.17421,37.597479],[121.148956,37.626397],[121.161891,37.646302],[121.142797,37.661464],[121.160043,37.698882],[121.136022,37.723501],[121.037471,37.718767],[120.994356,37.759468],[120.943233,37.785486],[120.940769,37.819533],[120.874863,37.833241],[120.845298,37.826623],[120.839139,37.82426],[120.733197,37.833714],[120.656821,37.793054],[120.634031,37.796364],[120.590915,37.7642],[120.517619,37.750005],[120.454793,37.757576],[120.367945,37.697935],[120.227511,37.693673],[120.22012,37.671886],[120.269395,37.658622],[120.272475,37.636824],[120.215192,37.621183],[120.208417,37.588469],[120.246605,37.556689],[120.222584,37.532963],[120.144359,37.481691],[120.086461,37.465067],[120.064903,37.448915],[120.010085,37.442263],[119.949723,37.419927],[119.926933,37.386649],[119.843781,37.376662],[119.837006,37.346695],[119.883201,37.311004],[119.89244,37.263866],[119.865339,37.233854],[119.83023,37.225754],[119.808057,37.196203],[119.740303,37.133727],[119.687332,37.143746],[119.678709,37.158056],[119.576463,37.127524],[119.489616,37.134681],[119.428022,37.125616],[119.361501,37.125616],[119.327624,37.115595],[119.301138,37.139452],[119.298675,37.197156],[119.2069,37.223371],[119.190885,37.25958],[119.204436,37.280058],[119.136683,37.230995],[119.12806,37.254816],[119.091103,37.257674],[119.084328,37.239572],[119.054147,37.254816],[119.03998,37.30434],[119.001176,37.31862],[118.942662,37.497361],[118.939582,37.527268],[118.988857,37.620709],[119.023966,37.642037],[119.153313,37.655305],[119.236465,37.651988],[119.262334,37.660517],[119.280197,37.692726],[119.309146,37.805349],[119.291899,37.869627],[119.24016,37.878131],[119.212443,37.838913],[119.16132,37.81906],[119.12806,37.847892],[119.110813,37.921577],[119.001792,37.99613],[118.974075,38.094162],[118.908169,38.139362],[118.811467,38.157717],[118.703677,38.151129],[118.626069,38.138421],[118.607591,38.129006],[118.597736,38.079088],[118.552156,38.05553],[118.534294,38.063541],[118.517048,38.088509],[118.504729,38.11394],[118.44991,38.124299],[118.431432,38.106406],[118.404331,38.121003],[118.331034,38.12524],[118.217085,38.146893],[118.177665,38.186417],[118.112376,38.210403],[118.045238,38.214165],[118.018753,38.202409],[117.896797,38.279495],[117.895565,38.301572],[117.848754,38.255062],[117.808718,38.22827],[117.789007,38.180772],[117.766834,38.158658],[117.771145,38.134655],[117.746508,38.12524],[117.704624,38.076262],[117.586979,38.071551],[117.557414,38.046105],[117.557414,38.046105],[117.524154,37.989527],[117.513067,37.94329],[117.481038,37.914967],[117.438538,37.854035],[117.400966,37.844584],[117.320278,37.861596],[117.271618,37.839858],[117.185387,37.849783],[117.150278,37.839385],[117.074518,37.848837],[117.027091,37.832296],[116.919301,37.846002],[116.837997,37.835132],[116.804736,37.848837],[116.753613,37.793054],[116.753613,37.77035],[116.724664,37.744327],[116.679085,37.728708],[116.66307,37.686096],[116.604556,37.624975],[116.575607,37.610754],[116.4826,37.521573],[116.448108,37.503059],[116.433941,37.473142],[116.38097,37.522522],[116.379738,37.522047],[116.38097,37.522522],[116.379738,37.522047],[116.36742,37.566177],[116.336007,37.581355],[116.295355,37.554316],[116.278724,37.524895],[116.290427,37.484065],[116.27626,37.466967],[116.240536,37.489764],[116.240536,37.489764],[116.224522,37.479791],[116.243,37.447965],[116.226369,37.428007],[116.2855,37.404241],[116.236224,37.361442],[116.193109,37.365723],[116.169087,37.384271],[116.106261,37.368577],[116.085935,37.373809],[116.024341,37.360015],[115.975682,37.337179],[115.969523,37.239572],[115.909777,37.20669],[115.91224,37.177132],[115.879596,37.150901],[115.888219,37.112254],[115.85619,37.060694],[115.776734,36.992848],[115.79706,36.968945],[115.75764,36.902453],[115.71206,36.883308],[115.683727,36.808117],[115.524815,36.763543],[115.479851,36.760187],[115.451518,36.702151],[115.420105,36.686795],[115.365902,36.621979],[115.355431,36.627262],[115.33141,36.550378],[115.272895,36.497476],[115.291374,36.460423],[115.317243,36.454166],[115.297533,36.413239],[115.340033,36.398307],[115.368982,36.342409],[115.366518,36.30914],[115.423185,36.32216],[115.417025,36.292742],[115.462605,36.276339],[115.466916,36.258969],[115.466916,36.258969],[115.474923,36.248352],[115.483547,36.148865],[115.484163,36.125666],[115.449054,36.047317],[115.447822,36.01247],[115.362822,35.971796],[115.353583,35.938854],[115.364054,35.894264],[115.335105,35.796756],[115.363438,35.779765],[115.407786,35.80889],[115.460141,35.867594],[115.487858,35.880688],[115.495249,35.896203],[115.505104,35.899112],[115.513112,35.890385],[115.583945,35.921893],[115.648618,35.922863],[115.699125,35.966468],[115.774886,35.974702],[115.779813,35.993588],[115.817386,36.012954],[115.859886,36.003756],[115.89869,36.026507],[115.989849,36.045381],[116.057602,36.104877],[116.099486,36.112129],[116.063145,36.028927],[116.048979,35.970343],[115.984921,35.974218],[115.911624,35.960171],[115.907929,35.92674],[115.873436,35.918985],[115.882675,35.879718],[115.859886,35.857894],[115.81677,35.844312],[115.773654,35.854014],[115.73485,35.833154],[115.696046,35.788989],[115.693582,35.754028],[115.622749,35.739457],[115.52851,35.733628],[115.48601,35.710306],[115.383148,35.568772],[115.34496,35.55368],[115.356047,35.490359],[115.307388,35.480126],[115.237171,35.423087],[115.172497,35.426501],[115.126302,35.41821],[115.117679,35.400163],[115.091809,35.416259],[115.073947,35.374304],[115.04315,35.376744],[114.957534,35.261014],[114.929201,35.244886],[114.932281,35.198441],[114.861448,35.182301],[114.841738,35.15099],[114.883006,35.098615],[114.835578,35.076578],[114.818948,35.051596],[114.852209,35.041797],[114.824492,35.012393],[114.880542,35.00357],[114.923658,34.968757],[114.950759,34.989843],[115.008041,34.988372],[115.028983,34.9717],[115.075179,35.000628],[115.12815,35.00455],[115.157099,34.957968],[115.219309,34.96042],[115.205142,34.914303],[115.251953,34.906451],[115.239019,34.87798],[115.256265,34.845079],[115.317243,34.859321],[115.42688,34.805285],[115.449054,34.74433],[115.433655,34.725149],[115.461373,34.637057],[115.515575,34.582383],[115.553148,34.568586],[115.622749,34.574499],[115.685575,34.556265],[115.697278,34.594207],[115.787821,34.580905],[115.827241,34.558236],[115.838328,34.5676],[115.984305,34.589281],[115.991081,34.615389],[116.037276,34.593222],[116.101334,34.60603],[116.134594,34.559715],[116.156768,34.5538],[116.196804,34.575977],[116.247927,34.551829],[116.286116,34.608986],[116.32492,34.601104],[116.334159,34.620806],[116.374195,34.640011]]],[[[120.729502,37.947065],[120.721495,37.917328],[120.76461,37.895134],[120.76461,37.923937],[120.729502,37.947065]]],[[[120.692545,37.983867],[120.732581,37.961694],[120.724574,37.987641],[120.692545,37.983867]]],[[[120.990044,36.413239],[120.978341,36.428649],[120.950624,36.414684],[120.990044,36.413239]]],[[[120.750444,38.150188],[120.7874,38.158658],[120.742436,38.199116],[120.750444,38.150188]]],[[[120.918595,38.345236],[120.914899,38.373393],[120.895189,38.36307],[120.918595,38.345236]]],[[[120.159142,35.765198],[120.169613,35.740428],[120.193019,35.756942],[120.172077,35.785591],[120.159142,35.765198]]],[[[120.62664,37.94565],[120.631567,37.981037],[120.602002,37.978678],[120.62664,37.94565]]],[[[120.802183,38.284193],[120.848378,38.305799],[120.816349,38.318008],[120.802183,38.284193]]],[[[121.489571,37.577086],[121.489571,37.577561],[121.489571,37.578509],[121.488955,37.578035],[121.489571,37.577086]]],[[[121.485875,37.578509],[121.487723,37.578035],[121.487723,37.578509],[121.485875,37.578509]]],[[[121.487723,37.578509],[121.487723,37.577561],[121.488955,37.578035],[121.488955,37.578509],[121.488339,37.578509],[121.487723,37.578509]]],[[[115.495249,35.896203],[115.487858,35.880688],[115.513112,35.890385],[115.505104,35.899112],[115.495249,35.896203]]]]}},{"type":"Feature","properties":{"adcode":410000,"name":"河南省","center":[113.665412,34.757975],"centroid":[113.619717,33.902648],"childrenNum":18,"level":"province","parent":{"adcode":100000},"subFeatureIndex":15,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[112.716747,32.357612],[112.735841,32.356095],[112.776493,32.358623],[112.860877,32.396024],[112.888594,32.37682],[112.912,32.390971],[112.992072,32.378336],[113.000695,32.41674],[113.025949,32.425328],[113.078919,32.394508],[113.107869,32.398551],[113.118956,32.375809],[113.155912,32.380863],[113.158992,32.410677],[113.211962,32.431895],[113.2366,32.407141],[113.333918,32.336377],[113.317904,32.327275],[113.353628,32.294904],[113.376418,32.298445],[113.428773,32.270618],[113.511925,32.316654],[113.624642,32.36115],[113.650511,32.412698],[113.700402,32.420782],[113.735511,32.410677],[113.76754,32.370249],[113.753989,32.328286],[113.768772,32.30148],[113.768156,32.284279],[113.758301,32.27669],[113.749061,32.272642],[113.73859,32.255942],[113.752757,32.215951],[113.782322,32.184553],[113.750293,32.11615],[113.722576,32.12426],[113.728735,32.083197],[113.791561,32.036028],[113.757685,31.98985],[113.817431,31.964467],[113.805728,31.929428],[113.832213,31.918761],[113.830981,31.87913],[113.854387,31.843042],[113.893807,31.847109],[113.914749,31.877098],[113.957865,31.852701],[113.952321,31.793714],[113.988662,31.749959],[114.017611,31.770822],[114.086596,31.782014],[114.121705,31.809482],[114.134024,31.843042],[114.191922,31.852192],[114.235654,31.833382],[114.292936,31.752503],[114.350218,31.755557],[114.403189,31.746906],[114.443841,31.728074],[114.530688,31.742834],[114.549783,31.766751],[114.586123,31.762172],[114.57134,31.660858],[114.547935,31.623665],[114.560869,31.560963],[114.572572,31.553824],[114.61692,31.585437],[114.641558,31.582378],[114.696376,31.525771],[114.778912,31.520669],[114.789383,31.480358],[114.830035,31.45892],[114.870071,31.479337],[114.884238,31.469129],[114.962462,31.494648],[114.995107,31.471171],[115.022824,31.527811],[115.096121,31.508425],[115.114599,31.530362],[115.106592,31.567592],[115.12507,31.599201],[115.16449,31.604808],[115.212533,31.555354],[115.235939,31.555354],[115.218077,31.515057],[115.211301,31.442072],[115.252569,31.421646],[115.250722,31.392021],[115.301229,31.383846],[115.338801,31.40428],[115.373909,31.405813],[115.389924,31.450241],[115.371446,31.495668],[115.415793,31.525771],[115.439815,31.588496],[115.485394,31.608885],[115.476771,31.643028],[115.495249,31.673083],[115.534054,31.698545],[115.553764,31.69549],[115.676336,31.778453],[115.731154,31.76726],[115.767495,31.78761],[115.808147,31.770313],[115.808147,31.770313],[115.851878,31.786593],[115.886371,31.776418],[115.914704,31.814567],[115.893762,31.832365],[115.894994,31.8649],[115.920248,31.920285],[115.909161,31.94314],[115.928871,32.003046],[115.922095,32.049725],[115.941805,32.166318],[115.912856,32.227596],[115.899306,32.390971],[115.865429,32.458662],[115.883291,32.487946],[115.845719,32.501575],[115.8759,32.542448],[115.910393,32.567165],[115.891298,32.576243],[115.861117,32.537403],[115.789052,32.468761],[115.771806,32.505108],[115.742241,32.476335],[115.704669,32.495013],[115.667712,32.409667],[115.657857,32.428864],[115.626445,32.40512],[115.604271,32.425833],[115.57101,32.419266],[115.522967,32.441997],[115.509416,32.466741],[115.5088,32.468761],[115.497713,32.492489],[115.409018,32.549007],[115.411482,32.575235],[115.304924,32.553042],[115.30554,32.583303],[115.267352,32.578261],[115.24333,32.593388],[115.20083,32.591876],[115.182968,32.666973],[115.179273,32.726402],[115.189744,32.770695],[115.211301,32.785791],[115.189744,32.812452],[115.197135,32.856201],[115.155867,32.864747],[115.139237,32.897917],[115.029599,32.906962],[115.035143,32.932582],[115.009273,32.940117],[114.943368,32.935094],[114.916266,32.971251],[114.883006,32.990328],[114.891629,33.020441],[114.925506,33.016928],[114.913187,33.083143],[114.897172,33.086653],[114.902716,33.129764],[114.932897,33.153817],[114.966158,33.147304],[114.990795,33.102195],[115.041302,33.086653],[115.168186,33.088658],[115.194671,33.120743],[115.245178,33.135778],[115.289526,33.131769],[115.303692,33.149809],[115.300613,33.204407],[115.340033,33.260973],[115.335105,33.297997],[115.361591,33.298497],[115.365286,33.336005],[115.341881,33.370997],[115.313547,33.376994],[115.328946,33.403477],[115.315395,33.431451],[115.324634,33.457418],[115.345576,33.449928],[115.345576,33.502842],[115.366518,33.5233],[115.394851,33.506335],[115.422569,33.557219],[115.463837,33.567193],[115.511264,33.55323],[115.564851,33.576169],[115.639995,33.585143],[115.601191,33.658898],[115.601807,33.718653],[115.563003,33.772895],[115.576553,33.787817],[115.614126,33.775879],[115.631988,33.869846],[115.547604,33.874815],[115.577785,33.950307],[115.579017,33.974133],[115.60735,34.030196],[115.642459,34.03218],[115.658473,34.061437],[115.705901,34.059949],[115.736082,34.076805],[115.768726,34.061932],[115.809378,34.062428],[115.846335,34.028708],[115.85003,34.004898],[115.877132,34.002913],[115.876516,34.028708],[115.904233,34.009859],[115.95782,34.007875],[116.00032,33.965199],[115.982457,33.917039],[116.05945,33.860902],[116.055754,33.804727],[116.074232,33.781351],[116.100102,33.782843],[116.132747,33.751501],[116.155536,33.709693],[116.230065,33.735078],[116.263326,33.730101],[116.316912,33.771402],[116.393905,33.782843],[116.408071,33.805721],[116.437021,33.801246],[116.437637,33.846489],[116.486296,33.869846],[116.558361,33.881274],[116.566984,33.9081],[116.631042,33.887733],[116.64336,33.896675],[116.641512,33.978103],[116.599629,34.014324],[116.599629,34.014324],[116.576223,34.068873],[116.576223,34.068873],[116.52818,34.122892],[116.536187,34.151127],[116.565752,34.16945],[116.542962,34.203608],[116.545426,34.241711],[116.582382,34.266444],[116.562056,34.285731],[116.516477,34.296114],[116.456731,34.268917],[116.409303,34.273863],[116.409303,34.273863],[116.372347,34.26595],[116.357564,34.319843],[116.301514,34.342082],[116.255934,34.376665],[116.213435,34.382098],[116.215898,34.403333],[116.178942,34.430487],[116.162312,34.459605],[116.178326,34.496112],[116.204196,34.508442],[116.191261,34.535561],[116.196804,34.575977],[116.156768,34.5538],[116.134594,34.559715],[116.101334,34.60603],[116.037276,34.593222],[115.991081,34.615389],[115.984305,34.589281],[115.838328,34.5676],[115.827241,34.558236],[115.787821,34.580905],[115.697278,34.594207],[115.685575,34.556265],[115.622749,34.574499],[115.553148,34.568586],[115.515575,34.582383],[115.461373,34.637057],[115.433655,34.725149],[115.449054,34.74433],[115.42688,34.805285],[115.317243,34.859321],[115.256265,34.845079],[115.239019,34.87798],[115.251953,34.906451],[115.205142,34.914303],[115.219309,34.96042],[115.157099,34.957968],[115.12815,35.00455],[115.075179,35.000628],[115.028983,34.9717],[115.008041,34.988372],[114.950759,34.989843],[114.923658,34.968757],[114.880542,35.00357],[114.824492,35.012393],[114.852209,35.041797],[114.818948,35.051596],[114.835578,35.076578],[114.883006,35.098615],[114.841738,35.15099],[114.861448,35.182301],[114.932281,35.198441],[114.929201,35.244886],[114.957534,35.261014],[115.04315,35.376744],[115.073947,35.374304],[115.091809,35.416259],[115.117679,35.400163],[115.126302,35.41821],[115.172497,35.426501],[115.237171,35.423087],[115.307388,35.480126],[115.356047,35.490359],[115.34496,35.55368],[115.383148,35.568772],[115.48601,35.710306],[115.52851,35.733628],[115.622749,35.739457],[115.693582,35.754028],[115.696046,35.788989],[115.73485,35.833154],[115.773654,35.854014],[115.81677,35.844312],[115.859886,35.857894],[115.882675,35.879718],[115.873436,35.918985],[115.907929,35.92674],[115.911624,35.960171],[115.984921,35.974218],[116.048979,35.970343],[116.063145,36.028927],[116.099486,36.112129],[116.057602,36.104877],[115.989849,36.045381],[115.89869,36.026507],[115.859886,36.003756],[115.817386,36.012954],[115.779813,35.993588],[115.774886,35.974702],[115.699125,35.966468],[115.648618,35.922863],[115.583945,35.921893],[115.513112,35.890385],[115.487858,35.880688],[115.460141,35.867594],[115.407786,35.80889],[115.363438,35.779765],[115.335105,35.796756],[115.364054,35.894264],[115.353583,35.938854],[115.362822,35.971796],[115.447822,36.01247],[115.449054,36.047317],[115.484163,36.125666],[115.483547,36.148865],[115.465068,36.170125],[115.450902,36.152248],[115.376989,36.128083],[115.365902,36.099074],[115.312931,36.088436],[115.30246,36.127599],[115.279055,36.13775],[115.242098,36.19138],[115.202678,36.208765],[115.202678,36.208765],[115.202678,36.209248],[115.202678,36.209248],[115.201446,36.210214],[115.201446,36.210214],[115.1842,36.193312],[115.12507,36.209731],[115.104744,36.172058],[115.06286,36.178338],[115.048693,36.161912],[115.04623,36.112613],[114.998186,36.069572],[114.914419,36.052155],[114.926737,36.089403],[114.912571,36.140649],[114.858368,36.144516],[114.857752,36.127599],[114.771521,36.124699],[114.734564,36.15563],[114.720398,36.140166],[114.640326,36.137266],[114.588587,36.118414],[114.586739,36.141133],[114.533152,36.171575],[114.480181,36.177855],[114.466015,36.197658],[114.417356,36.205868],[114.408117,36.224699],[114.356378,36.230492],[114.345291,36.255591],[114.299095,36.245938],[114.257827,36.263794],[114.241197,36.251247],[114.2104,36.272962],[114.203009,36.245456],[114.170364,36.245938],[114.170364,36.245938],[114.175907,36.264759],[114.129096,36.280199],[114.080437,36.269585],[114.04348,36.303353],[114.056415,36.329392],[114.002828,36.334214],[113.981887,36.31782],[113.962792,36.353977],[113.911054,36.314927],[113.882104,36.353977],[113.84946,36.347711],[113.856851,36.329392],[113.813119,36.332285],[113.755221,36.366026],[113.731199,36.363135],[113.736127,36.324571],[113.712105,36.303353],[113.716417,36.262347],[113.681924,36.216491],[113.697939,36.181719],[113.651127,36.174473],[113.705946,36.148865],[113.712721,36.129533],[113.655439,36.125182],[113.671453,36.115514],[113.68562,36.056026],[113.660366,36.034735],[113.694859,36.026991],[113.678844,35.985841],[113.648663,35.994073],[113.654207,35.931586],[113.637576,35.870019],[113.660982,35.837035],[113.582758,35.818111],[113.604932,35.797727],[113.587685,35.736542],[113.592613,35.691838],[113.622794,35.674825],[113.625258,35.632518],[113.578446,35.633491],[113.547649,35.656835],[113.55812,35.621816],[113.513773,35.57364],[113.49899,35.532254],[113.439244,35.507412],[113.391817,35.506925],[113.348085,35.468429],[113.31236,35.481101],[113.304353,35.426989],[113.243375,35.449418],[113.189789,35.44893],[113.185477,35.409431],[113.165151,35.412845],[113.149137,35.350878],[113.126347,35.332327],[113.067217,35.353806],[112.996384,35.362104],[112.985913,35.33965],[112.992072,35.29619],[112.936022,35.284466],[112.934174,35.262968],[112.884283,35.243909],[112.822073,35.258082],[112.772798,35.207732],[112.720443,35.206265],[112.628052,35.263457],[112.637291,35.225822],[112.513487,35.218489],[112.390915,35.239021],[112.36751,35.219956],[112.288053,35.219956],[112.304684,35.251728],[112.242474,35.234622],[112.21722,35.253195],[112.13838,35.271275],[112.058924,35.280069],[112.078634,35.219467],[112.03983,35.194039],[112.066315,35.153437],[112.05646,35.098615],[112.062004,35.056005],[112.039214,35.045717],[112.018888,35.068742],[111.97762,35.067272],[111.933272,35.083435],[111.810084,35.062374],[111.807005,35.032977],[111.740483,35.00455],[111.664107,34.984449],[111.681969,34.9511],[111.646861,34.938836],[111.617911,34.894671],[111.592042,34.881416],[111.570484,34.843114],[111.543999,34.853428],[111.502731,34.829851],[111.439289,34.838202],[111.389398,34.815113],[111.345666,34.831816],[111.29208,34.806759],[111.255123,34.819535],[111.232949,34.789559],[111.148566,34.807742],[111.118385,34.756623],[111.035233,34.740887],[110.976103,34.706456],[110.920052,34.730068],[110.903422,34.669056],[110.883712,34.64395],[110.824582,34.615881],[110.791937,34.649858],[110.749437,34.65232],[110.710017,34.605045],[110.610851,34.607508],[110.533242,34.583368],[110.488279,34.610956],[110.424837,34.588295],[110.379257,34.600612],[110.366939,34.566614],[110.404511,34.557743],[110.372482,34.544435],[110.360779,34.516825],[110.403279,34.433448],[110.403279,34.433448],[110.473496,34.393457],[110.503677,34.33714],[110.451938,34.292653],[110.428533,34.288203],[110.43962,34.243196],[110.507989,34.217466],[110.55172,34.213012],[110.55788,34.193214],[110.621938,34.177372],[110.642264,34.161032],[110.61393,34.113478],[110.591757,34.101586],[110.587445,34.023252],[110.620706,34.035652],[110.671213,33.966192],[110.665669,33.937895],[110.627481,33.925482],[110.628713,33.910086],[110.587445,33.887733],[110.612083,33.852453],[110.66259,33.85295],[110.712481,33.833564],[110.74143,33.798759],[110.782082,33.796272],[110.81719,33.751003],[110.831973,33.713675],[110.823966,33.685793],[110.878784,33.634486],[110.966864,33.609071],[111.00382,33.578662],[111.002588,33.535772],[111.02661,33.478386],[111.02661,33.467903],[110.996429,33.435946],[111.025994,33.375495],[111.025994,33.330504],[110.984726,33.255469],[111.046936,33.202905],[111.045704,33.169849],[111.08882,33.181871],[111.12824,33.15532],[111.146102,33.12375],[111.179363,33.115229],[111.192913,33.071609],[111.152877,33.039507],[111.221862,33.042517],[111.258819,33.006389],[111.273601,32.971753],[111.242804,32.930573],[111.255123,32.883846],[111.276065,32.903445],[111.293311,32.859217],[111.380159,32.829049],[111.41342,32.757108],[111.475629,32.760127],[111.458383,32.726402],[111.513202,32.674026],[111.530448,32.628172],[111.577875,32.593388],[111.640701,32.634724],[111.646245,32.605993],[111.713382,32.606497],[111.808853,32.536899],[111.858128,32.528826],[111.890157,32.503089],[111.948671,32.51722],[111.975772,32.471791],[112.014576,32.450077],[112.063851,32.474315],[112.081098,32.425833],[112.155626,32.377326],[112.150083,32.411688],[112.172873,32.385412],[112.206133,32.392992],[112.328089,32.321712],[112.360118,32.3657],[112.390915,32.37126],[112.448814,32.34295],[112.477147,32.380863],[112.530733,32.37682],[112.545516,32.404109],[112.589248,32.381369],[112.612037,32.386928],[112.645298,32.368227],[112.716747,32.357612]]],[[[113.768156,32.284279],[113.768772,32.30148],[113.749061,32.272642],[113.758301,32.27669],[113.768156,32.284279]]]]}},{"type":"Feature","properties":{"adcode":420000,"name":"湖北省","center":[114.298572,30.584355],"centroid":[112.271301,30.987527],"childrenNum":17,"level":"province","parent":{"adcode":100000},"subFeatureIndex":16,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[111.045704,33.169849],[111.034001,33.177864],[111.035849,33.187881],[111.046936,33.202905],[110.984726,33.255469],[110.960704,33.253967],[110.9219,33.203907],[110.865234,33.213921],[110.828893,33.201403],[110.824582,33.158327],[110.753133,33.15031],[110.702626,33.097182],[110.650887,33.157324],[110.623785,33.143796],[110.59422,33.168346],[110.57759,33.250464],[110.54125,33.255469],[110.471032,33.171352],[110.398352,33.176862],[110.398352,33.176862],[110.372482,33.186379],[110.33799,33.160331],[110.285635,33.171352],[110.218497,33.163336],[110.164911,33.209415],[110.031252,33.191888],[109.999223,33.212419],[109.973353,33.203907],[109.916687,33.229942],[109.852013,33.247961],[109.813209,33.236449],[109.732521,33.231443],[109.693101,33.254468],[109.649985,33.251465],[109.619804,33.275484],[109.60687,33.235949],[109.514479,33.237951],[109.498464,33.207412],[109.438718,33.152314],[109.468283,33.140288],[109.522486,33.138785],[109.576073,33.110216],[109.688174,33.116733],[109.704188,33.101694],[109.794731,33.067095],[109.785492,32.987316],[109.76455,32.909474],[109.789804,32.882339],[109.847702,32.893395],[109.856941,32.910479],[109.907448,32.903947],[109.927158,32.887364],[109.988752,32.886359],[110.051578,32.851676],[110.105164,32.832569],[110.142121,32.802895],[110.127338,32.77774],[110.159367,32.767173],[110.156903,32.683093],[110.206179,32.633212],[110.153824,32.593388],[110.124259,32.616579],[110.090382,32.617083],[110.084223,32.580782],[110.017701,32.546989],[109.97089,32.577756],[109.910528,32.592884],[109.816905,32.577252],[109.746072,32.594901],[109.726978,32.608513],[109.631507,32.599943],[109.619804,32.56767],[109.637051,32.540935],[109.575457,32.506622],[109.526797,32.43341],[109.529877,32.405625],[109.502776,32.38895],[109.513247,32.342444],[109.495385,32.300468],[109.528645,32.270112],[109.550203,32.225065],[109.592703,32.219495],[109.604406,32.199241],[109.58716,32.161251],[109.621652,32.106519],[109.590855,32.047696],[109.590855,32.012688],[109.631507,31.962436],[109.62042,31.928412],[109.584696,31.900472],[109.60379,31.885737],[109.633971,31.824738],[109.633971,31.804396],[109.592087,31.789136],[109.585928,31.726546],[109.622268,31.711783],[109.683246,31.719929],[109.731289,31.700582],[109.737449,31.628761],[109.76455,31.602769],[109.745456,31.598182],[109.727594,31.548214],[109.837847,31.555354],[109.894513,31.519139],[109.969658,31.508935],[109.94502,31.47066],[109.98752,31.474744],[110.036795,31.436966],[110.054042,31.410921],[110.118715,31.409899],[110.161831,31.314338],[110.155671,31.279564],[110.180309,31.179774],[110.200019,31.158779],[110.180309,31.121899],[110.147048,31.116776],[110.119947,31.088592],[110.120563,31.0322],[110.140273,31.030661],[110.140889,30.987062],[110.172918,30.978853],[110.153824,30.953708],[110.151976,30.911613],[110.082375,30.799614],[110.048498,30.800642],[110.019549,30.829425],[110.008462,30.883369],[109.943788,30.878746],[109.894513,30.899803],[109.828608,30.864364],[109.780564,30.848437],[109.701724,30.783677],[109.656761,30.760538],[109.661072,30.738936],[109.625348,30.702923],[109.590855,30.69366],[109.574225,30.646818],[109.543428,30.63961],[109.535421,30.664837],[109.435638,30.595832],[109.418392,30.559766],[109.35495,30.487076],[109.337088,30.521623],[109.36111,30.551004],[109.314298,30.599953],[109.299516,30.630341],[109.245313,30.580892],[109.191726,30.545851],[109.191726,30.545851],[109.143683,30.521108],[109.103647,30.565949],[109.09256,30.578831],[109.106111,30.61077],[109.111654,30.646303],[109.071002,30.640125],[109.042669,30.655571],[109.006329,30.626736],[108.971836,30.627766],[108.893612,30.565434],[108.838793,30.503062],[108.808612,30.491202],[108.789518,30.513374],[108.743939,30.494812],[108.698975,30.54482],[108.688504,30.58759],[108.642925,30.578831],[108.6497,30.53915],[108.56778,30.468508],[108.556077,30.487592],[108.512961,30.501515],[108.472925,30.487076],[108.42673,30.492233],[108.411331,30.438586],[108.430425,30.416397],[108.402092,30.376649],[108.431041,30.354446],[108.460606,30.35961],[108.501258,30.314673],[108.524048,30.309506],[108.54499,30.269716],[108.581947,30.255759],[108.551766,30.1637],[108.56778,30.157491],[108.546222,30.104178],[108.513577,30.057571],[108.532055,30.051873],[108.536367,29.983472],[108.517889,29.9394],[108.516041,29.885451],[108.467998,29.864175],[108.433505,29.880262],[108.371295,29.841337],[108.424266,29.815897],[108.422418,29.772791],[108.442744,29.778505],[108.437201,29.741098],[108.460606,29.741098],[108.504338,29.707836],[108.504954,29.728626],[108.548686,29.749412],[108.52528,29.770713],[108.556077,29.818493],[108.601041,29.863656],[108.658939,29.854833],[108.680497,29.800319],[108.676801,29.749412],[108.690968,29.689642],[108.752562,29.649082],[108.786438,29.691721],[108.797525,29.660003],[108.781511,29.635558],[108.844337,29.658443],[108.888068,29.628795],[108.870206,29.596537],[108.901003,29.604863],[108.913322,29.574679],[108.878213,29.539279],[108.888684,29.502305],[108.866511,29.470527],[108.884373,29.440824],[108.927488,29.435612],[108.934264,29.399643],[108.919481,29.3261],[108.983539,29.332883],[108.999553,29.36366],[109.034662,29.360531],[109.060531,29.403292],[109.11227,29.361053],[109.106727,29.288526],[109.141835,29.270256],[109.110422,29.21647],[109.139372,29.168927],[109.162777,29.180946],[109.215748,29.145409],[109.232378,29.119271],[109.274262,29.121885],[109.261328,29.161089],[109.275494,29.202366],[109.257632,29.222738],[109.312451,29.25146],[109.352487,29.284872],[109.343863,29.369398],[109.391291,29.372005],[109.368501,29.413719],[109.418392,29.453332],[109.415928,29.497617],[109.436254,29.488761],[109.433791,29.530948],[109.458428,29.513242],[109.467051,29.560104],[109.488609,29.553336],[109.516326,29.626194],[109.558826,29.606944],[109.578536,29.629836],[109.651833,29.625674],[109.664768,29.599659],[109.717739,29.615269],[109.701108,29.636078],[109.714659,29.673524],[109.760238,29.689122],[109.755311,29.733304],[109.779333,29.757725],[109.869876,29.774869],[109.908064,29.763959],[109.941325,29.774349],[110.02386,29.769674],[110.113788,29.789932],[110.160599,29.753569],[110.219729,29.746814],[110.289946,29.6964],[110.302265,29.661563],[110.339221,29.668324],[110.372482,29.633477],[110.447011,29.664684],[110.467337,29.713034],[110.507373,29.692241],[110.562807,29.712515],[110.642879,29.775907],[110.60038,29.839779],[110.549873,29.848085],[110.538786,29.895828],[110.49875,29.91243],[110.517228,29.961179],[110.557264,29.988137],[110.491358,30.019751],[110.497518,30.055499],[110.531394,30.061197],[110.600996,30.054463],[110.650887,30.07777],[110.712481,30.033223],[110.756212,30.054463],[110.746973,30.112979],[110.851067,30.126439],[110.924364,30.111426],[110.929907,30.063268],[111.031537,30.048765],[111.242188,30.040476],[111.266826,30.01146],[111.3315,29.970512],[111.342587,29.944586],[111.382623,29.95029],[111.394325,29.912948],[111.436825,29.930065],[111.475629,29.918654],[111.527368,29.925916],[111.553854,29.894272],[111.669034,29.888565],[111.669034,29.888565],[111.705375,29.890121],[111.723853,29.909317],[111.723853,29.909317],[111.75773,29.92021],[111.8107,29.901017],[111.861207,29.856909],[111.899396,29.855871],[111.899396,29.855871],[111.925881,29.836665],[111.965917,29.832512],[111.95483,29.796683],[112.008417,29.778505],[112.07617,29.743696],[112.065699,29.681323],[112.089721,29.685482],[112.111279,29.659483],[112.178416,29.656883],[112.202438,29.633997],[112.244322,29.659483],[112.233851,29.61631],[112.303452,29.585609],[112.281278,29.536676],[112.291133,29.517409],[112.333017,29.545007],[112.368741,29.541362],[112.424792,29.598619],[112.439574,29.633997],[112.499321,29.629316],[112.54182,29.60122],[112.572001,29.624113],[112.640371,29.607985],[112.650842,29.592374],[112.693957,29.601741],[112.714283,29.648561],[112.733378,29.645441],[112.788812,29.681323],[112.79374,29.735902],[112.861493,29.78318],[112.894138,29.783699],[112.902145,29.79149],[112.929246,29.77383],[112.923703,29.766557],[112.926782,29.692241],[112.944645,29.682883],[112.974826,29.732784],[113.025949,29.772791],[113.005007,29.693801],[112.915696,29.620992],[112.912,29.606944],[112.950188,29.473132],[113.034572,29.523658],[113.057362,29.522616],[113.078304,29.438218],[113.099861,29.459585],[113.145441,29.449163],[113.181781,29.485636],[113.222433,29.543965],[113.277252,29.594976],[113.37765,29.703158],[113.571671,29.849123],[113.575367,29.809147],[113.550729,29.768115],[113.558736,29.727067],[113.540258,29.699519],[113.547033,29.675603],[113.606164,29.666764],[113.663446,29.684443],[113.680692,29.64336],[113.704098,29.634518],[113.73859,29.579363],[113.710257,29.555419],[113.630801,29.523137],[113.677613,29.513763],[113.755221,29.446557],[113.731199,29.393907],[113.674533,29.388172],[113.660982,29.333405],[113.632033,29.316186],[113.609859,29.25146],[113.651743,29.225872],[113.693011,29.226394],[113.691779,29.19662],[113.66283,29.16945],[113.690547,29.114566],[113.696091,29.077437],[113.722576,29.104631],[113.749677,29.060699],[113.775547,29.095219],[113.816199,29.105154],[113.852539,29.058606],[113.882104,29.065407],[113.876561,29.038202],[113.898119,29.029307],[113.94185,29.047097],[113.952321,29.092604],[113.98743,29.126068],[114.034857,29.152204],[114.063191,29.204978],[114.169748,29.216993],[114.252284,29.23475],[114.259059,29.343839],[114.307102,29.365225],[114.341595,29.327665],[114.376088,29.322969],[114.440145,29.341752],[114.466015,29.324013],[114.519602,29.325578],[114.589819,29.352707],[114.621847,29.379828],[114.67297,29.395993],[114.740724,29.386607],[114.759818,29.363139],[114.784455,29.386086],[114.812173,29.383478],[114.866375,29.404335],[114.895325,29.397557],[114.931049,29.422581],[114.947063,29.465317],[114.935977,29.486678],[114.90518,29.473132],[114.918114,29.454374],[114.888549,29.436134],[114.860216,29.476258],[114.900868,29.505951],[114.940288,29.493971],[114.966773,29.522096],[114.947679,29.542924],[115.00065,29.572076],[115.033295,29.546568],[115.087498,29.560104],[115.086266,29.525741],[115.154019,29.510117],[115.157099,29.584568],[115.120142,29.597578],[115.143548,29.645961],[115.117679,29.655843],[115.113367,29.684963],[115.176809,29.654803],[115.250722,29.660003],[115.28583,29.618391],[115.304924,29.637118],[115.355431,29.649602],[115.412714,29.688602],[115.470612,29.739539],[115.479235,29.811224],[115.51188,29.840299],[115.611662,29.841337],[115.667712,29.850161],[115.706517,29.837703],[115.762567,29.793048],[115.837096,29.748373],[115.909777,29.723949],[115.965827,29.724469],[116.049595,29.761881],[116.087167,29.795125],[116.13521,29.819532],[116.128435,29.897904],[116.073616,29.969993],[116.091479,30.036331],[116.078544,30.062233],[116.088399,30.110391],[116.055754,30.180774],[116.065609,30.204569],[115.997856,30.252657],[115.985537,30.290905],[115.903001,30.31364],[115.91532,30.337919],[115.885139,30.379747],[115.921479,30.416397],[115.894994,30.452517],[115.910393,30.519046],[115.887603,30.542758],[115.876516,30.582438],[115.848799,30.602014],[115.819234,30.597893],[115.81369,30.637035],[115.762567,30.685426],[115.782893,30.751795],[115.851262,30.756938],[115.863581,30.815549],[115.848799,30.828397],[115.865429,30.864364],[115.932566,30.889532],[115.976298,30.931636],[116.03974,30.957813],[116.071769,30.956787],[116.058834,31.012711],[116.015102,31.011685],[116.006479,31.034764],[115.938726,31.04707],[115.939958,31.071678],[115.887603,31.10909],[115.867277,31.147512],[115.837712,31.127022],[115.797676,31.128047],[115.778582,31.112164],[115.700973,31.201276],[115.655394,31.211002],[115.603655,31.17363],[115.585793,31.143926],[115.540213,31.194621],[115.539597,31.231985],[115.507568,31.267799],[115.473076,31.265242],[115.443511,31.344498],[115.40717,31.337854],[115.372062,31.349098],[115.393004,31.389977],[115.373909,31.405813],[115.338801,31.40428],[115.301229,31.383846],[115.250722,31.392021],[115.252569,31.421646],[115.211301,31.442072],[115.218077,31.515057],[115.235939,31.555354],[115.212533,31.555354],[115.16449,31.604808],[115.12507,31.599201],[115.106592,31.567592],[115.114599,31.530362],[115.096121,31.508425],[115.022824,31.527811],[114.995107,31.471171],[114.962462,31.494648],[114.884238,31.469129],[114.870071,31.479337],[114.830035,31.45892],[114.789383,31.480358],[114.778912,31.520669],[114.696376,31.525771],[114.641558,31.582378],[114.61692,31.585437],[114.572572,31.553824],[114.560869,31.560963],[114.547935,31.623665],[114.57134,31.660858],[114.586123,31.762172],[114.549783,31.766751],[114.530688,31.742834],[114.443841,31.728074],[114.403189,31.746906],[114.350218,31.755557],[114.292936,31.752503],[114.235654,31.833382],[114.191922,31.852192],[114.134024,31.843042],[114.121705,31.809482],[114.086596,31.782014],[114.017611,31.770822],[113.988662,31.749959],[113.952321,31.793714],[113.957865,31.852701],[113.914749,31.877098],[113.893807,31.847109],[113.854387,31.843042],[113.830981,31.87913],[113.832213,31.918761],[113.805728,31.929428],[113.817431,31.964467],[113.757685,31.98985],[113.791561,32.036028],[113.728735,32.083197],[113.722576,32.12426],[113.750293,32.11615],[113.782322,32.184553],[113.752757,32.215951],[113.73859,32.255942],[113.749061,32.272642],[113.768772,32.30148],[113.753989,32.328286],[113.76754,32.370249],[113.735511,32.410677],[113.700402,32.420782],[113.650511,32.412698],[113.624642,32.36115],[113.511925,32.316654],[113.428773,32.270618],[113.376418,32.298445],[113.353628,32.294904],[113.317904,32.327275],[113.333918,32.336377],[113.2366,32.407141],[113.211962,32.431895],[113.158992,32.410677],[113.155912,32.380863],[113.118956,32.375809],[113.107869,32.398551],[113.078919,32.394508],[113.025949,32.425328],[113.000695,32.41674],[112.992072,32.378336],[112.912,32.390971],[112.888594,32.37682],[112.860877,32.396024],[112.776493,32.358623],[112.735841,32.356095],[112.733993,32.356601],[112.724138,32.358623],[112.716747,32.357612],[112.645298,32.368227],[112.612037,32.386928],[112.589248,32.381369],[112.545516,32.404109],[112.530733,32.37682],[112.477147,32.380863],[112.448814,32.34295],[112.390915,32.37126],[112.360118,32.3657],[112.328089,32.321712],[112.206133,32.392992],[112.172873,32.385412],[112.150083,32.411688],[112.155626,32.377326],[112.081098,32.425833],[112.063851,32.474315],[112.014576,32.450077],[111.975772,32.471791],[111.948671,32.51722],[111.890157,32.503089],[111.858128,32.528826],[111.808853,32.536899],[111.713382,32.606497],[111.646245,32.605993],[111.640701,32.634724],[111.577875,32.593388],[111.530448,32.628172],[111.513202,32.674026],[111.458383,32.726402],[111.475629,32.760127],[111.41342,32.757108],[111.380159,32.829049],[111.293311,32.859217],[111.276065,32.903445],[111.255123,32.883846],[111.242804,32.930573],[111.273601,32.971753],[111.258819,33.006389],[111.221862,33.042517],[111.152877,33.039507],[111.192913,33.071609],[111.179363,33.115229],[111.146102,33.12375],[111.12824,33.15532],[111.08882,33.181871],[111.045704,33.169849]]],[[[109.106111,30.570587],[109.101183,30.579346],[109.09872,30.579346],[109.106111,30.570587]]],[[[111.046936,33.202905],[111.035849,33.187881],[111.034001,33.177864],[111.045704,33.169849],[111.046936,33.202905]]],[[[112.716747,32.357612],[112.735841,32.356095],[112.733993,32.356601],[112.724138,32.358623],[112.716747,32.357612]]],[[[112.902145,29.79149],[112.894138,29.783699],[112.923703,29.766557],[112.929246,29.77383],[112.902145,29.79149]]]]}},{"type":"Feature","properties":{"adcode":430000,"name":"湖南省","center":[112.982279,28.19409],"centroid":[111.711649,27.629216],"childrenNum":14,"level":"province","parent":{"adcode":100000},"subFeatureIndex":17,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[112.024431,24.740308],[112.03367,24.771286],[112.124214,24.841364],[112.149467,24.837019],[112.167329,24.859828],[112.175337,24.927685],[112.119902,24.963499],[112.12175,24.989538],[112.155626,25.026419],[112.151931,25.055698],[112.177184,25.106649],[112.187039,25.182494],[112.246785,25.185202],[112.256025,25.159204],[112.302836,25.157037],[112.315771,25.175453],[112.365046,25.191701],[112.414937,25.14241],[112.44327,25.185744],[112.458053,25.152162],[112.562762,25.124531],[112.628052,25.140785],[112.660081,25.132658],[112.712436,25.083344],[112.714899,25.025876],[112.742001,24.99876],[112.743233,24.959701],[112.778341,24.947764],[112.780805,24.896747],[112.873812,24.896747],[112.904609,24.921715],[112.941565,24.915745],[112.994536,24.927142],[113.009934,24.977604],[112.979137,25.03401],[113.004391,25.089306],[112.96805,25.141869],[112.97421,25.168412],[113.034572,25.198199],[112.992688,25.247467],[112.958195,25.254503],[112.897833,25.238264],[112.867036,25.249632],[112.854718,25.337829],[112.891058,25.339993],[112.924319,25.296714],[112.93479,25.325929],[112.969898,25.350269],[113.013014,25.352432],[113.078304,25.382174],[113.096782,25.412449],[113.131274,25.414611],[113.11834,25.445418],[113.176854,25.471355],[113.226129,25.50971],[113.248919,25.514031],[113.311129,25.490264],[113.314208,25.442716],[113.341926,25.448661],[113.373338,25.402719],[113.407215,25.401637],[113.449715,25.359463],[113.479896,25.375145],[113.535946,25.368656],[113.579062,25.34432],[113.584606,25.306453],[113.611707,25.327552],[113.680076,25.334584],[113.686852,25.351891],[113.753373,25.362707],[113.76446,25.333502],[113.814967,25.328634],[113.839605,25.363248],[113.877177,25.380552],[113.887032,25.436772],[113.94493,25.441635],[113.962792,25.528072],[113.986198,25.529153],[113.983118,25.599336],[113.957249,25.611749],[113.913517,25.701299],[113.920293,25.741197],[113.961561,25.77731],[113.971416,25.836036],[114.028082,25.893119],[114.028082,25.98138],[114.008372,26.015806],[114.044096,26.076564],[114.087828,26.06635],[114.121089,26.085702],[114.10569,26.097526],[114.188842,26.121172],[114.237501,26.152333],[114.216559,26.203355],[114.181451,26.214631],[114.102611,26.187783],[114.088444,26.168448],[114.013299,26.184023],[113.962792,26.150722],[113.949242,26.192616],[113.972647,26.20604],[113.978807,26.237716],[114.029314,26.266163],[114.021307,26.288701],[114.047792,26.337518],[114.030546,26.376664],[114.062575,26.406149],[114.085364,26.406149],[114.090292,26.455988],[114.110002,26.482775],[114.07243,26.480096],[114.10877,26.56952],[114.019459,26.587182],[113.996669,26.615543],[113.912901,26.613938],[113.860546,26.664221],[113.853771,26.769532],[113.835909,26.806394],[113.877177,26.859262],[113.890112,26.895562],[113.927068,26.948922],[113.892575,26.964925],[113.86301,27.018252],[113.824206,27.036378],[113.803264,27.099261],[113.771851,27.096598],[113.779242,27.137081],[113.846996,27.222262],[113.872865,27.289828],[113.854387,27.30525],[113.872865,27.346721],[113.872865,27.384988],[113.72812,27.350442],[113.699786,27.331836],[113.657902,27.347253],[113.616635,27.345658],[113.605548,27.38924],[113.632033,27.40518],[113.59754,27.428554],[113.591381,27.467855],[113.627105,27.49971],[113.583374,27.524657],[113.579062,27.545354],[113.608627,27.585143],[113.607395,27.625449],[113.652359,27.663619],[113.696707,27.71979],[113.69917,27.740979],[113.763228,27.799228],[113.756453,27.860091],[113.72812,27.874904],[113.752141,27.93361],[113.822974,27.982243],[113.845148,27.971672],[113.864242,28.004966],[113.914133,27.991227],[113.936307,28.018703],[113.966488,28.017646],[113.970184,28.041418],[114.025618,28.031382],[114.047176,28.057263],[114.025002,28.080499],[113.992357,28.161255],[114.012068,28.174972],[114.068734,28.171806],[114.107538,28.182885],[114.109386,28.205038],[114.143879,28.246694],[114.182067,28.249858],[114.198081,28.29097],[114.2529,28.319423],[114.252284,28.395787],[114.214712,28.403157],[114.172212,28.432632],[114.217175,28.466308],[114.218407,28.48472],[114.15435,28.507337],[114.138335,28.533629],[114.08598,28.558337],[114.132176,28.607211],[114.122321,28.623497],[114.157429,28.761566],[114.137719,28.779926],[114.153734,28.829221],[114.124784,28.843376],[114.076741,28.834464],[114.056415,28.872204],[114.060111,28.902596],[114.028082,28.891069],[114.005292,28.917788],[114.008988,28.955498],[113.973879,28.937692],[113.955401,28.978536],[113.961561,28.999476],[113.94185,29.047097],[113.898119,29.029307],[113.876561,29.038202],[113.882104,29.065407],[113.852539,29.058606],[113.816199,29.105154],[113.775547,29.095219],[113.749677,29.060699],[113.722576,29.104631],[113.696091,29.077437],[113.690547,29.114566],[113.66283,29.16945],[113.691779,29.19662],[113.693011,29.226394],[113.651743,29.225872],[113.609859,29.25146],[113.632033,29.316186],[113.660982,29.333405],[113.674533,29.388172],[113.731199,29.393907],[113.755221,29.446557],[113.677613,29.513763],[113.630801,29.523137],[113.710257,29.555419],[113.73859,29.579363],[113.704098,29.634518],[113.680692,29.64336],[113.663446,29.684443],[113.606164,29.666764],[113.547033,29.675603],[113.540258,29.699519],[113.558736,29.727067],[113.550729,29.768115],[113.575367,29.809147],[113.571671,29.849123],[113.37765,29.703158],[113.277252,29.594976],[113.222433,29.543965],[113.181781,29.485636],[113.145441,29.449163],[113.099861,29.459585],[113.078304,29.438218],[113.057362,29.522616],[113.034572,29.523658],[112.950188,29.473132],[112.912,29.606944],[112.915696,29.620992],[113.005007,29.693801],[113.025949,29.772791],[112.974826,29.732784],[112.944645,29.682883],[112.926782,29.692241],[112.923703,29.766557],[112.894138,29.783699],[112.861493,29.78318],[112.79374,29.735902],[112.788812,29.681323],[112.733378,29.645441],[112.714283,29.648561],[112.693957,29.601741],[112.650842,29.592374],[112.640371,29.607985],[112.572001,29.624113],[112.54182,29.60122],[112.499321,29.629316],[112.439574,29.633997],[112.424792,29.598619],[112.368741,29.541362],[112.333017,29.545007],[112.291133,29.517409],[112.281278,29.536676],[112.303452,29.585609],[112.233851,29.61631],[112.244322,29.659483],[112.202438,29.633997],[112.178416,29.656883],[112.111279,29.659483],[112.089721,29.685482],[112.065699,29.681323],[112.07617,29.743696],[112.008417,29.778505],[111.95483,29.796683],[111.965917,29.832512],[111.925881,29.836665],[111.899396,29.855871],[111.899396,29.855871],[111.861207,29.856909],[111.8107,29.901017],[111.75773,29.92021],[111.723853,29.909317],[111.723853,29.909317],[111.705375,29.890121],[111.669034,29.888565],[111.669034,29.888565],[111.553854,29.894272],[111.527368,29.925916],[111.475629,29.918654],[111.436825,29.930065],[111.394325,29.912948],[111.382623,29.95029],[111.342587,29.944586],[111.3315,29.970512],[111.266826,30.01146],[111.242188,30.040476],[111.031537,30.048765],[110.929907,30.063268],[110.924364,30.111426],[110.851067,30.126439],[110.746973,30.112979],[110.756212,30.054463],[110.712481,30.033223],[110.650887,30.07777],[110.600996,30.054463],[110.531394,30.061197],[110.497518,30.055499],[110.491358,30.019751],[110.557264,29.988137],[110.517228,29.961179],[110.49875,29.91243],[110.538786,29.895828],[110.549873,29.848085],[110.60038,29.839779],[110.642879,29.775907],[110.562807,29.712515],[110.507373,29.692241],[110.467337,29.713034],[110.447011,29.664684],[110.372482,29.633477],[110.339221,29.668324],[110.302265,29.661563],[110.289946,29.6964],[110.219729,29.746814],[110.160599,29.753569],[110.113788,29.789932],[110.02386,29.769674],[109.941325,29.774349],[109.908064,29.763959],[109.869876,29.774869],[109.779333,29.757725],[109.755311,29.733304],[109.760238,29.689122],[109.714659,29.673524],[109.701108,29.636078],[109.717739,29.615269],[109.664768,29.599659],[109.651833,29.625674],[109.578536,29.629836],[109.558826,29.606944],[109.516326,29.626194],[109.488609,29.553336],[109.467051,29.560104],[109.458428,29.513242],[109.433791,29.530948],[109.436254,29.488761],[109.415928,29.497617],[109.418392,29.453332],[109.368501,29.413719],[109.391291,29.372005],[109.343863,29.369398],[109.352487,29.284872],[109.312451,29.25146],[109.257632,29.222738],[109.275494,29.202366],[109.261328,29.161089],[109.274262,29.121885],[109.232378,29.119271],[109.240386,29.086328],[109.312451,29.066453],[109.319842,29.042388],[109.294588,29.015177],[109.292741,28.987436],[109.261328,28.952356],[109.235458,28.882161],[109.246545,28.80143],[109.241002,28.776779],[109.2989,28.7474],[109.294588,28.722211],[109.252704,28.691767],[109.271183,28.671816],[109.192958,28.636104],[109.201581,28.597753],[109.235458,28.61982],[109.252089,28.606685],[109.306907,28.62087],[109.319842,28.579886],[109.273646,28.53836],[109.274262,28.494714],[109.260712,28.46473],[109.264407,28.392628],[109.289045,28.373673],[109.268719,28.33786],[109.275494,28.313101],[109.317994,28.277795],[109.33524,28.293605],[109.388211,28.268307],[109.367885,28.254602],[109.340168,28.19027],[109.33832,28.141731],[109.314298,28.103729],[109.298284,28.036136],[109.335856,28.063073],[109.378972,28.034551],[109.362342,28.007608],[109.319842,27.988585],[109.30198,27.956343],[109.32169,27.868027],[109.346943,27.838396],[109.332777,27.782815],[109.37774,27.736741],[109.366653,27.721909],[109.414081,27.725087],[109.470747,27.680049],[109.45658,27.673689],[109.470131,27.62863],[109.451037,27.586204],[109.461508,27.567637],[109.404841,27.55066],[109.303211,27.47582],[109.300132,27.423774],[109.245313,27.41793],[109.202197,27.450331],[109.167089,27.41793],[109.141835,27.448207],[109.142451,27.418461],[109.103647,27.336621],[109.044517,27.331304],[109.053756,27.293551],[108.983539,27.26802],[108.963213,27.235565],[108.907778,27.204699],[108.926873,27.160512],[108.878829,27.106187],[108.79075,27.084343],[108.877597,27.01612],[108.942887,27.017186],[108.942887,27.017186],[108.940423,27.044907],[109.007561,27.08008],[109.032814,27.104056],[109.128901,27.122701],[109.101183,27.06889],[109.165857,27.066758],[109.21698,27.114711],[109.239154,27.14933],[109.264407,27.131755],[109.33524,27.139212],[109.358646,27.153058],[109.415312,27.154123],[109.441182,27.117907],[109.472595,27.134951],[109.454733,27.069423],[109.486761,27.053968],[109.497848,27.079548],[109.520022,27.058764],[109.555131,26.946788],[109.436254,26.892359],[109.452885,26.861932],[109.486761,26.895562],[109.509551,26.877947],[109.513247,26.84004],[109.497232,26.815474],[109.522486,26.749226],[109.528645,26.743881],[109.554515,26.73533],[109.597015,26.756173],[109.568065,26.726243],[109.528645,26.743881],[109.52187,26.749226],[109.486761,26.759913],[109.447957,26.759913],[109.407305,26.719829],[109.35495,26.693098],[109.283501,26.698445],[109.306291,26.661012],[109.334008,26.646036],[109.35495,26.658873],[109.390675,26.598955],[109.407305,26.533116],[109.381436,26.518659],[109.385747,26.493487],[109.362342,26.472061],[109.38082,26.454381],[109.319842,26.418477],[109.29582,26.350389],[109.271183,26.327863],[109.285965,26.295676],[109.325385,26.29031],[109.351255,26.264016],[109.369733,26.277432],[109.442414,26.289774],[109.467051,26.313917],[109.439334,26.238789],[109.47629,26.148035],[109.513863,26.128157],[109.502776,26.096451],[109.449805,26.101826],[109.452885,26.055598],[109.48245,26.029788],[109.513247,25.998056],[109.560058,26.021184],[109.588391,26.019571],[109.635203,26.047533],[109.649369,26.016882],[109.730057,25.989988],[109.710963,25.954478],[109.693717,25.959321],[109.67955,25.921649],[109.685094,25.880197],[109.768246,25.890427],[109.779333,25.866196],[109.811361,25.877504],[109.826144,25.911422],[109.806434,25.973848],[109.782412,25.996981],[109.814441,26.041081],[109.864332,26.027637],[109.898825,26.095377],[109.904368,26.135679],[109.970274,26.195301],[110.03002,26.166299],[110.099005,26.168985],[110.100853,26.132455],[110.065128,26.050221],[110.100853,26.020108],[110.168606,26.028713],[110.181541,26.060437],[110.24991,26.010965],[110.257301,25.961473],[110.325671,25.975462],[110.373098,26.088927],[110.437772,26.153945],[110.477808,26.179727],[110.495054,26.166299],[110.546793,26.233421],[110.552952,26.283335],[110.584365,26.296749],[110.612083,26.333764],[110.643495,26.308552],[110.673676,26.317135],[110.721104,26.294066],[110.742046,26.313917],[110.73527,26.270993],[110.759292,26.248451],[110.836284,26.255966],[110.939762,26.286554],[110.926212,26.320354],[110.944074,26.326791],[110.94469,26.373447],[110.974255,26.385778],[111.008747,26.35897],[111.008132,26.336982],[111.090667,26.308016],[111.208928,26.30426],[111.204616,26.276359],[111.228022,26.261333],[111.277913,26.272066],[111.293311,26.222148],[111.271754,26.217316],[111.274833,26.183486],[111.258203,26.151796],[111.26621,26.095914],[111.244652,26.078177],[111.267442,26.058824],[111.235413,26.048071],[111.189834,25.953402],[111.230486,25.916267],[111.251428,25.864581],[111.29208,25.854349],[111.297007,25.874274],[111.346282,25.906577],[111.376463,25.906039],[111.383239,25.881812],[111.460231,25.885042],[111.4861,25.859196],[111.43313,25.84627],[111.442369,25.77192],[111.399869,25.744431],[111.30871,25.720171],[111.309942,25.645203],[111.343202,25.602574],[111.324724,25.564249],[111.32842,25.521592],[111.279145,25.42326],[111.210776,25.363248],[111.184906,25.367034],[111.138711,25.303748],[111.103602,25.285351],[111.112841,25.21715],[110.998892,25.161371],[110.98411,25.101772],[110.951465,25.04377],[110.968711,24.975434],[111.009363,24.921172],[111.100522,24.945593],[111.101754,25.035095],[111.139943,25.042144],[111.200921,25.074672],[111.221862,25.106649],[111.274833,25.151078],[111.321645,25.105023],[111.36784,25.108817],[111.375231,25.128324],[111.435593,25.093642],[111.416499,25.047566],[111.467622,25.02208],[111.460231,24.992793],[111.43313,24.979774],[111.434977,24.951562],[111.470086,24.92877],[111.447296,24.892947],[111.449144,24.857113],[111.479325,24.797366],[111.461463,24.728894],[111.431282,24.687574],[111.451608,24.665822],[111.499035,24.667997],[111.526752,24.637538],[111.570484,24.64461],[111.588962,24.690837],[111.641933,24.684856],[111.637621,24.715303],[111.666571,24.760961],[111.708455,24.788673],[111.783599,24.785957],[111.814396,24.770199],[111.868599,24.771829],[111.875374,24.756613],[111.929577,24.75607],[111.951135,24.769655],[112.024431,24.740308]]],[[[109.528645,26.743881],[109.522486,26.749226],[109.52187,26.749226],[109.528645,26.743881]]]]}},{"type":"Feature","properties":{"adcode":440000,"name":"广东省","center":[113.280637,23.125178],"centroid":[113.429919,23.334643],"childrenNum":21,"level":"province","parent":{"adcode":100000},"subFeatureIndex":18,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[113.558736,22.212244],[113.594461,22.228864],[113.595693,22.304186],[113.617866,22.315259],[113.604932,22.339617],[113.627721,22.349027],[113.669605,22.416539],[113.66591,22.438667],[113.624642,22.443092],[113.608627,22.408793],[113.573519,22.41156],[113.631417,22.475723],[113.668373,22.4807],[113.691779,22.514981],[113.740438,22.534329],[113.717033,22.645391],[113.678228,22.726007],[113.733663,22.736494],[113.758301,22.683496],[113.765692,22.665825],[113.803264,22.593463],[113.856851,22.539857],[113.869786,22.459685],[113.893807,22.442539],[113.952937,22.486783],[113.954785,22.491206],[113.976343,22.510558],[114.031778,22.503923],[114.082285,22.512216],[114.095219,22.534329],[114.156813,22.543726],[114.166052,22.559201],[114.222719,22.553122],[114.232574,22.539857],[114.294784,22.563623],[114.321885,22.587385],[114.381631,22.60175],[114.427211,22.589042],[114.472174,22.522168],[114.476486,22.459132],[114.506667,22.438667],[114.549167,22.465769],[114.611377,22.481806],[114.628623,22.513875],[114.614456,22.545384],[114.568261,22.560859],[114.559022,22.583517],[114.603369,22.638763],[114.579964,22.661407],[114.51529,22.655332],[114.567029,22.685705],[114.591666,22.690122],[114.601521,22.730975],[114.689601,22.7674],[114.709927,22.787817],[114.749963,22.764089],[114.73518,22.724351],[114.728405,22.651466],[114.743803,22.632687],[114.746267,22.581859],[114.866375,22.591805],[114.88547,22.538751],[114.922426,22.549253],[114.927969,22.621639],[114.945216,22.645391],[115.039454,22.713862],[115.02344,22.726007],[115.053621,22.747533],[115.076411,22.788368],[115.154635,22.80161],[115.190975,22.77347],[115.190359,22.818711],[115.236555,22.82533],[115.230396,22.776781],[115.319091,22.783402],[115.338185,22.776781],[115.349272,22.712206],[115.381301,22.684048],[115.430576,22.684048],[115.471844,22.697852],[115.575322,22.650914],[115.565467,22.684048],[115.609198,22.753052],[115.541445,22.755259],[115.570394,22.786713],[115.583945,22.82864],[115.654162,22.865591],[115.696046,22.84298],[115.760103,22.834707],[115.788437,22.809885],[115.796444,22.739254],[115.829089,22.734838],[115.883291,22.78561],[115.931334,22.802713],[115.965211,22.800506],[115.99724,22.826985],[116.05637,22.844635],[116.104413,22.816505],[116.14137,22.835259],[116.239304,22.921275],[116.259014,22.932298],[116.302746,22.951588],[116.382818,22.91907],[116.449955,22.936707],[116.50539,22.930645],[116.544194,22.996769],[116.576839,23.014397],[116.557129,23.056253],[116.566368,23.088738],[116.550969,23.109656],[116.566368,23.134424],[116.665534,23.158086],[116.701259,23.198248],[116.74499,23.215299],[116.806584,23.200998],[116.821367,23.240597],[116.798577,23.244996],[116.782563,23.313714],[116.871874,23.4159],[116.871258,23.416449],[116.874338,23.447199],[116.874953,23.447748],[116.895895,23.476295],[116.888504,23.501543],[116.92854,23.530079],[116.963649,23.507031],[117.01046,23.502641],[117.044953,23.539955],[117.085605,23.536663],[117.192778,23.5619],[117.192778,23.629356],[117.147199,23.654027],[117.123793,23.647448],[117.055424,23.694038],[117.048032,23.758687],[117.019083,23.801952],[117.012308,23.855054],[116.981511,23.855602],[116.955642,23.922359],[116.976583,23.931659],[116.981511,23.999471],[116.953178,24.008218],[116.930388,24.064514],[116.9347,24.126794],[116.998757,24.179217],[116.956257,24.216883],[116.933468,24.220157],[116.938395,24.28127],[116.914374,24.287817],[116.919301,24.321087],[116.895895,24.350533],[116.903903,24.369614],[116.839229,24.442097],[116.860787,24.460075],[116.83307,24.496568],[116.796729,24.502014],[116.759157,24.545572],[116.761005,24.583128],[116.815207,24.654944],[116.777635,24.679418],[116.667382,24.658752],[116.623034,24.64189],[116.600861,24.654401],[116.570679,24.621762],[116.530027,24.604895],[116.506622,24.621218],[116.517709,24.652225],[116.485064,24.720196],[116.44626,24.714216],[116.416079,24.744113],[116.419158,24.767482],[116.375427,24.803885],[116.381586,24.82507],[116.417927,24.840821],[116.395137,24.877746],[116.363724,24.87123],[116.345862,24.828872],[116.297202,24.801712],[116.244232,24.793563],[116.251007,24.82507],[116.221442,24.829959],[116.191877,24.877203],[116.153073,24.846795],[116.068073,24.850053],[116.015102,24.905975],[115.985537,24.899461],[115.907929,24.923343],[115.89253,24.936911],[115.885139,24.898918],[115.907313,24.879917],[115.861733,24.863629],[115.863581,24.891318],[115.824161,24.909232],[115.807531,24.862543],[115.790284,24.856027],[115.764415,24.791933],[115.776734,24.774546],[115.756408,24.749004],[115.769342,24.708236],[115.801371,24.705517],[115.780429,24.663103],[115.797676,24.628834],[115.840791,24.584217],[115.843871,24.562446],[115.785357,24.567345],[115.752712,24.546116],[115.68927,24.545027],[115.671408,24.604895],[115.605503,24.62557],[115.569778,24.622306],[115.555611,24.683768],[115.522967,24.702799],[115.476771,24.762591],[115.412714,24.79302],[115.372678,24.774546],[115.358511,24.735416],[115.306772,24.758787],[115.269816,24.749548],[115.258729,24.728894],[115.1842,24.711498],[115.104744,24.667997],[115.083802,24.699537],[115.057317,24.703343],[115.024672,24.669085],[115.00373,24.679418],[114.940288,24.650049],[114.909491,24.661471],[114.893477,24.582584],[114.868839,24.562446],[114.846665,24.602719],[114.827571,24.588026],[114.781376,24.613057],[114.729637,24.608704],[114.73826,24.565168],[114.704999,24.525973],[114.664963,24.583673],[114.627391,24.576598],[114.589819,24.537406],[114.534384,24.559181],[114.429058,24.48622],[114.403189,24.497657],[114.391486,24.563535],[114.363769,24.582584],[114.300943,24.578775],[114.289856,24.619042],[114.258443,24.641346],[114.19069,24.656576],[114.169132,24.689749],[114.27261,24.700624],[114.281849,24.724001],[114.336052,24.749004],[114.342211,24.807145],[114.378551,24.861457],[114.403189,24.877746],[114.395798,24.951019],[114.454928,24.977062],[114.45616,24.99659],[114.506051,24.999844],[114.532536,25.022623],[114.561485,25.077382],[114.604601,25.083886],[114.640326,25.074129],[114.664963,25.10123],[114.735796,25.121822],[114.73518,25.155954],[114.685905,25.173287],[114.693912,25.213902],[114.73518,25.225813],[114.743188,25.274528],[114.714238,25.315651],[114.63663,25.324306],[114.599674,25.385959],[114.541159,25.416773],[114.477718,25.37136],[114.438914,25.376226],[114.43029,25.343779],[114.382863,25.317274],[114.31511,25.33837],[114.2954,25.299961],[114.260291,25.291845],[114.204857,25.29942],[114.190074,25.316733],[114.115545,25.302125],[114.083517,25.275611],[114.055799,25.277775],[114.039785,25.250714],[114.017611,25.273987],[114.029314,25.328093],[114.050256,25.36433],[113.983118,25.415152],[114.003444,25.442716],[113.94493,25.441635],[113.887032,25.436772],[113.877177,25.380552],[113.839605,25.363248],[113.814967,25.328634],[113.76446,25.333502],[113.753373,25.362707],[113.686852,25.351891],[113.680076,25.334584],[113.611707,25.327552],[113.584606,25.306453],[113.579062,25.34432],[113.535946,25.368656],[113.479896,25.375145],[113.449715,25.359463],[113.407215,25.401637],[113.373338,25.402719],[113.341926,25.448661],[113.314208,25.442716],[113.311129,25.490264],[113.248919,25.514031],[113.226129,25.50971],[113.176854,25.471355],[113.11834,25.445418],[113.131274,25.414611],[113.096782,25.412449],[113.078304,25.382174],[113.013014,25.352432],[112.969898,25.350269],[112.93479,25.325929],[112.924319,25.296714],[112.891058,25.339993],[112.854718,25.337829],[112.867036,25.249632],[112.897833,25.238264],[112.958195,25.254503],[112.992688,25.247467],[113.034572,25.198199],[112.97421,25.168412],[112.96805,25.141869],[113.004391,25.089306],[112.979137,25.03401],[113.009934,24.977604],[112.994536,24.927142],[112.941565,24.915745],[112.904609,24.921715],[112.873812,24.896747],[112.780805,24.896747],[112.778341,24.947764],[112.743233,24.959701],[112.742001,24.99876],[112.714899,25.025876],[112.712436,25.083344],[112.660081,25.132658],[112.628052,25.140785],[112.562762,25.124531],[112.458053,25.152162],[112.44327,25.185744],[112.414937,25.14241],[112.365046,25.191701],[112.315771,25.175453],[112.302836,25.157037],[112.256025,25.159204],[112.246785,25.185202],[112.187039,25.182494],[112.177184,25.106649],[112.151931,25.055698],[112.155626,25.026419],[112.12175,24.989538],[112.119902,24.963499],[112.175337,24.927685],[112.167329,24.859828],[112.149467,24.837019],[112.124214,24.841364],[112.03367,24.771286],[112.024431,24.740308],[111.961606,24.721283],[111.939432,24.686487],[111.953598,24.64733],[111.927729,24.629378],[111.936968,24.595645],[111.972077,24.578775],[112.007185,24.534684],[112.009649,24.503103],[111.985011,24.467701],[112.025047,24.438828],[112.057692,24.387057],[112.05954,24.339628],[112.026279,24.294908],[111.990555,24.279634],[111.986243,24.25672],[111.958526,24.263813],[111.912946,24.221795],[111.877222,24.227252],[111.871062,24.176487],[111.886461,24.163929],[111.878454,24.109862],[111.92157,24.012045],[111.940664,23.987989],[111.911714,23.943693],[111.854432,23.947521],[111.845809,23.904305],[111.812548,23.887343],[111.824867,23.832612],[111.8107,23.80688],[111.722621,23.823305],[111.683201,23.822758],[111.683201,23.822758],[111.654868,23.833159],[111.627766,23.78881],[111.621607,23.725819],[111.666571,23.718696],[111.614832,23.65896],[111.615448,23.639225],[111.555702,23.64087],[111.487332,23.626615],[111.479941,23.532822],[111.428818,23.466414],[111.399869,23.469159],[111.383239,23.399423],[111.389398,23.375804],[111.363528,23.340641],[111.376463,23.30437],[111.353058,23.284582],[111.36476,23.240047],[111.388782,23.210349],[111.38447,23.16744],[111.365992,23.14488],[111.377695,23.082132],[111.402333,23.066165],[111.43313,23.073322],[111.433746,23.036428],[111.389398,23.005583],[111.403565,22.99126],[111.362913,22.967568],[111.374615,22.938361],[111.358601,22.889301],[111.218167,22.748085],[111.185522,22.735942],[111.118385,22.744773],[111.058023,22.729871],[111.089435,22.695643],[111.055559,22.648705],[110.997045,22.631582],[110.958856,22.636553],[110.950233,22.61059],[110.896031,22.613352],[110.897878,22.591805],[110.812263,22.576333],[110.778386,22.585174],[110.749437,22.556991],[110.762988,22.518298],[110.740198,22.498947],[110.74143,22.464109],[110.688459,22.477935],[110.712481,22.440879],[110.711249,22.369506],[110.74143,22.361757],[110.749437,22.329653],[110.787009,22.28259],[110.759292,22.274837],[110.725415,22.29588],[110.687843,22.249914],[110.646575,22.220554],[110.678604,22.172901],[110.629329,22.149068],[110.598532,22.162924],[110.602843,22.18343],[110.55788,22.196175],[110.505525,22.14297],[110.456866,22.189526],[110.414366,22.208365],[110.378026,22.164587],[110.34846,22.195621],[110.326287,22.152393],[110.364475,22.125785],[110.35154,22.097508],[110.359547,22.015973],[110.352772,21.97602],[110.374946,21.967695],[110.374946,21.967695],[110.378642,21.939942],[110.378642,21.939942],[110.391576,21.89386],[110.337374,21.887751],[110.290562,21.917736],[110.283787,21.892194],[110.224041,21.882198],[110.224041,21.882198],[110.212338,21.886085],[110.212338,21.886085],[110.196323,21.899968],[110.12857,21.902744],[110.101469,21.86998],[110.050962,21.857205],[109.999839,21.881643],[109.94502,21.84443],[109.940093,21.769419],[109.916071,21.668787],[109.888354,21.652101],[109.888354,21.652101],[109.839695,21.636525],[109.786108,21.637638],[109.778101,21.670455],[109.742992,21.616497],[109.754695,21.556396],[109.788572,21.490702],[109.785492,21.45673],[109.819369,21.445033],[109.894513,21.442248],[109.904368,21.429992],[109.868644,21.365913],[109.770709,21.359783],[109.757775,21.346963],[109.763934,21.226514],[109.674623,21.136671],[109.674007,21.067997],[109.655529,20.929435],[109.664768,20.862343],[109.711579,20.774519],[109.730057,20.719673],[109.74484,20.621124],[109.793499,20.615522],[109.813825,20.574627],[109.811977,20.541566],[109.839695,20.489439],[109.888354,20.475423],[109.895745,20.42776],[109.864948,20.40196],[109.861252,20.376717],[109.916071,20.316677],[109.909296,20.236961],[109.929006,20.211691],[109.993679,20.254368],[110.082375,20.258859],[110.118099,20.219553],[110.168606,20.219553],[110.220345,20.25156],[110.296722,20.249314],[110.349076,20.258859],[110.384185,20.293103],[110.425453,20.291419],[110.452554,20.311064],[110.491358,20.373912],[110.54125,20.42047],[110.550489,20.47262],[110.499982,20.572386],[110.487047,20.640167],[110.466105,20.680485],[110.411286,20.670966],[110.392192,20.682724],[110.407591,20.731987],[110.393424,20.816479],[110.350924,20.84165],[110.327519,20.847802],[110.269004,20.839972],[110.209874,20.860106],[110.184005,20.891979],[110.180925,20.98197],[110.204947,21.003202],[110.208642,21.050684],[110.241903,21.016051],[110.24991,21.045098],[110.296722,21.093684],[110.39096,21.124949],[110.422373,21.190807],[110.451322,21.186343],[110.501213,21.217588],[110.534474,21.204198],[110.626249,21.215915],[110.65951,21.239902],[110.713097,21.3124],[110.768531,21.364799],[110.796248,21.37483],[110.888639,21.367585],[110.929291,21.375945],[111.034617,21.438906],[111.103602,21.455616],[111.171355,21.458401],[111.28284,21.485691],[111.276065,21.443362],[111.250196,21.45116],[111.257587,21.41495],[111.28592,21.41885],[111.353058,21.464528],[111.382623,21.495714],[111.444217,21.514088],[111.494724,21.501282],[111.521825,21.517429],[111.560629,21.50518],[111.609904,21.530234],[111.650556,21.512418],[111.677658,21.529677],[111.693672,21.590345],[111.736788,21.609821],[111.794686,21.61149],[111.832258,21.578659],[111.810084,21.555283],[111.887693,21.578659],[111.941896,21.607039],[111.972692,21.603144],[112.026895,21.633744],[111.997946,21.657107],[111.954214,21.667674],[111.956062,21.710494],[112.036134,21.761637],[112.136532,21.793871],[112.192583,21.789425],[112.196894,21.736624],[112.236315,21.727173],[112.238778,21.702153],[112.353343,21.707157],[112.415553,21.734956],[112.427256,21.789981],[112.445734,21.803317],[112.497473,21.785535],[112.535661,21.753856],[112.647146,21.758302],[112.68595,21.810541],[112.792508,21.921067],[112.841167,21.920512],[112.893522,21.84443],[112.929862,21.838875],[112.989608,21.869424],[113.047507,21.956595],[113.053666,22.012089],[113.032108,22.04593],[113.045659,22.088636],[113.086927,22.12634],[113.091854,22.065344],[113.142977,22.012089],[113.1516,21.979905],[113.235368,21.887751],[113.266781,21.871646],[113.319752,21.909407],[113.330223,21.96159],[113.442324,22.009315],[113.45957,22.043711],[113.527939,22.073663],[113.567359,22.075327],[113.554425,22.107489],[113.554425,22.142416],[113.534715,22.174009],[113.53841,22.209473],[113.558736,22.212244]]],[[[117.024627,23.437865],[116.982743,23.460924],[116.944555,23.440061],[116.951946,23.419744],[117.027091,23.41535],[117.050496,23.400522],[117.081909,23.409309],[117.124409,23.389537],[117.142887,23.400522],[117.142887,23.459826],[117.129336,23.483431],[117.093612,23.459277],[117.058503,23.47355],[117.029554,23.443356],[117.024627,23.437865]]],[[[112.853486,21.740515],[112.876275,21.772753],[112.840551,21.776644],[112.782653,21.739959],[112.724138,21.719945],[112.70566,21.679354],[112.734609,21.666562],[112.780189,21.671568],[112.730914,21.613715],[112.775261,21.564189],[112.817145,21.590345],[112.798667,21.610933],[112.821457,21.655994],[112.804826,21.686583],[112.83316,21.736624],[112.853486,21.740515]]],[[[112.530733,21.583667],[112.563378,21.591458],[112.571385,21.619835],[112.621277,21.606482],[112.665624,21.642644],[112.639139,21.67268],[112.66624,21.683803],[112.663776,21.714386],[112.592327,21.693256],[112.560299,21.666562],[112.57077,21.645982],[112.535045,21.628737],[112.530733,21.583667]]],[[[114.231342,22.016528],[114.311414,22.041493],[114.302791,22.050368],[114.239965,22.03539],[114.231342,22.016528]]],[[[110.43346,21.171276],[110.489511,21.138904],[110.508605,21.140579],[110.544945,21.083633],[110.582517,21.094801],[110.632409,21.210893],[110.589293,21.194713],[110.525235,21.190249],[110.499366,21.213125],[110.445163,21.184669],[110.431612,21.180763],[110.43346,21.171276]]],[[[112.435263,21.663781],[112.456205,21.648763],[112.458669,21.68992],[112.435263,21.663781]]],[[[110.517844,21.079166],[110.459946,21.062971],[110.398352,21.096476],[110.352772,21.079724],[110.305961,21.0881],[110.27578,21.033369],[110.211106,20.986999],[110.201251,20.938378],[110.309656,20.963529],[110.347845,20.984763],[110.407591,20.990351],[110.47288,20.983087],[110.511684,20.916578],[110.535706,20.922727],[110.539402,20.987557],[110.560344,21.061295],[110.517844,21.079166]]],[[[113.765076,21.962145],[113.774315,21.998218],[113.74167,21.991559],[113.765076,21.962145]]],[[[113.723192,21.922177],[113.742902,21.950489],[113.71888,21.951599],[113.723192,21.922177]]],[[[113.142977,21.831653],[113.162071,21.853873],[113.203955,21.861093],[113.167615,21.876644],[113.136818,21.868869],[113.142977,21.831653]]],[[[113.819894,22.396068],[113.813735,22.419858],[113.786634,22.413773],[113.819894,22.396068]]],[[[114.190074,21.986564],[114.229494,21.995443],[114.180835,22.00987],[114.190074,21.986564]]],[[[114.153734,21.97491],[114.171596,22.000437],[114.124169,21.985455],[114.153734,21.97491]]],[[[116.769628,20.771721],[116.761005,20.750456],[116.87249,20.738143],[116.889736,20.683284],[116.849084,20.628405],[116.749302,20.600958],[116.796113,20.582471],[116.862635,20.588633],[116.905135,20.619443],[116.934084,20.676565],[116.925461,20.726949],[116.88604,20.775638],[116.820135,20.780674],[116.769628,20.771721]]],[[[113.025333,21.847762],[113.045659,21.882753],[113.007471,21.869424],[113.025333,21.847762]]],[[[110.405127,20.678245],[110.437772,20.677685],[110.414366,20.710157],[110.405127,20.678245]]],[[[110.644727,20.935584],[110.584365,20.948998],[110.548641,20.908752],[110.562807,20.861224],[110.611467,20.860106],[110.646575,20.917137],[110.644727,20.935584]]],[[[110.556648,20.32734],[110.593604,20.360447],[110.586213,20.381205],[110.556648,20.32734]]],[[[115.943037,21.097592],[115.953508,21.064088],[115.989233,21.035603],[116.040356,21.02052],[116.067457,21.04063],[116.044051,21.110434],[116.024341,21.12439],[115.965211,21.123832],[115.943037,21.097592]]],[[[115.926407,20.981411],[115.939342,20.945644],[115.970139,20.919373],[115.999088,20.922727],[116.000936,20.948439],[115.954124,20.99985],[115.926407,20.981411]]],[[[115.834632,22.722695],[115.834632,22.722143],[115.835248,22.722695],[115.834632,22.722695]]],[[[115.834632,22.723247],[115.834632,22.722695],[115.835248,22.722695],[115.834632,22.723247]]]]}},{"type":"Feature","properties":{"adcode":450000,"name":"广西壮族自治区","center":[108.320004,22.82402],"centroid":[108.7944,23.833381],"childrenNum":14,"level":"province","parent":{"adcode":100000},"subFeatureIndex":19,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[109.48245,26.029788],[109.473211,26.006663],[109.408537,25.967392],[109.435022,25.93349],[109.396834,25.900117],[109.359262,25.836036],[109.339552,25.83442],[109.327849,25.76168],[109.340168,25.731493],[109.296436,25.71424],[109.207125,25.740119],[109.206509,25.788087],[109.147995,25.741736],[109.13198,25.762758],[109.143683,25.795092],[109.095024,25.80533],[109.077778,25.776771],[109.048213,25.790781],[108.989698,25.778926],[108.999553,25.765453],[108.963829,25.732572],[108.940423,25.740119],[108.896076,25.71424],[108.900387,25.682423],[108.953974,25.686738],[108.953974,25.686738],[109.007561,25.734728],[109.043285,25.738502],[109.07901,25.72071],[109.075314,25.693749],[109.030966,25.629556],[109.051908,25.566949],[109.088249,25.550752],[109.024807,25.51241],[108.949046,25.557231],[108.8893,25.543193],[108.890532,25.556151],[108.826474,25.550212],[108.814772,25.526992],[108.781511,25.554531],[108.799989,25.576666],[108.783975,25.628477],[108.724844,25.634952],[108.68912,25.623081],[108.68604,25.587462],[108.660787,25.584763],[108.658323,25.550212],[108.68912,25.533473],[108.634917,25.520512],[108.6072,25.491885],[108.600425,25.432448],[108.62999,25.335666],[108.625062,25.308076],[108.589338,25.335125],[108.585642,25.365952],[108.471693,25.458928],[108.418723,25.443257],[108.400244,25.491344],[108.359592,25.513491],[108.348506,25.536173],[108.308469,25.525912],[108.280752,25.48],[108.241332,25.46217],[108.251803,25.430286],[108.192673,25.458928],[108.162492,25.444878],[108.193289,25.405421],[108.142782,25.390825],[108.152021,25.324306],[108.143398,25.269658],[108.115065,25.210112],[108.080572,25.193867],[108.001732,25.196574],[107.928435,25.155954],[107.872384,25.141327],[107.839124,25.115861],[107.762747,25.125073],[107.789233,25.15487],[107.760283,25.188451],[107.762131,25.229061],[107.741805,25.24043],[107.700537,25.194408],[107.696226,25.219858],[107.661733,25.258833],[107.659885,25.316192],[107.632168,25.310241],[107.599523,25.250714],[107.576734,25.256668],[107.512676,25.209029],[107.472024,25.213902],[107.489886,25.276693],[107.481263,25.299961],[107.432604,25.289139],[107.409198,25.347024],[107.420901,25.392987],[107.375937,25.411908],[107.358691,25.393528],[107.318039,25.401637],[107.308184,25.432988],[107.336517,25.461089],[107.263836,25.543193],[107.232423,25.556691],[107.228728,25.604733],[107.205322,25.607971],[107.185612,25.578825],[107.064272,25.559391],[107.066736,25.50917],[107.015613,25.495666],[106.996519,25.442716],[106.963874,25.437852],[106.987896,25.358922],[107.012533,25.352973],[107.013765,25.275611],[106.975577,25.232851],[106.933077,25.250714],[106.904128,25.231768],[106.888113,25.181953],[106.853005,25.186827],[106.787715,25.17112],[106.764926,25.183036],[106.732281,25.162454],[106.691013,25.179245],[106.644817,25.164621],[106.63989,25.132658],[106.590615,25.08768],[106.551195,25.082802],[106.519782,25.054072],[106.450181,25.033468],[106.442173,25.019369],[106.332536,24.988454],[106.304819,24.973807],[106.253696,24.971094],[106.215508,24.981944],[106.191486,24.95319],[106.145291,24.954275],[106.197645,24.885889],[106.206269,24.851139],[106.173008,24.760417],[106.150218,24.762591],[106.113878,24.714216],[106.047356,24.684312],[106.024566,24.633186],[105.961741,24.677786],[105.942031,24.725088],[105.863806,24.729437],[105.827466,24.702799],[105.767104,24.719109],[105.70551,24.768569],[105.617431,24.78161],[105.607576,24.803885],[105.573083,24.797366],[105.497322,24.809318],[105.493011,24.833217],[105.457286,24.87123],[105.428337,24.930941],[105.365511,24.943423],[105.334099,24.9266],[105.267577,24.929313],[105.251563,24.967296],[105.212758,24.995505],[105.178266,24.985199],[105.157324,24.958616],[105.131454,24.959701],[105.09573,24.92877],[105.096346,24.928228],[105.082179,24.915745],[105.077868,24.918459],[105.039064,24.872859],[105.026745,24.815836],[105.03352,24.787586],[104.899245,24.752809],[104.865985,24.730524],[104.841963,24.676155],[104.771746,24.659839],[104.729246,24.617953],[104.703377,24.645698],[104.628848,24.660927],[104.595587,24.709323],[104.529682,24.731611],[104.489646,24.653313],[104.520443,24.535228],[104.550008,24.518894],[104.575877,24.424661],[104.616529,24.421937],[104.63008,24.397958],[104.610986,24.377246],[104.641783,24.367979],[104.70892,24.321087],[104.721239,24.340173],[104.703377,24.419757],[104.715695,24.441552],[104.74834,24.435559],[104.765587,24.45953],[104.784681,24.443732],[104.83642,24.446456],[104.914028,24.426296],[104.930042,24.411038],[104.979933,24.412673],[105.042759,24.442097],[105.106817,24.414853],[105.111744,24.37234],[105.138846,24.376701],[105.188121,24.347261],[105.196744,24.326541],[105.164715,24.288362],[105.215222,24.214699],[105.24294,24.208695],[105.229389,24.165567],[105.182577,24.167205],[105.20044,24.105491],[105.260186,24.061236],[105.292831,24.074896],[105.273121,24.092927],[105.320548,24.116416],[105.334099,24.094566],[105.395692,24.065607],[105.406163,24.043748],[105.493011,24.016965],[105.533663,24.130071],[105.594641,24.137718],[105.628518,24.126794],[105.649459,24.032816],[105.704278,24.0667],[105.739387,24.059596],[105.765256,24.073804],[105.802212,24.051945],[105.796669,24.023524],[105.841633,24.03063],[105.859495,24.056864],[105.89214,24.040468],[105.908154,24.069432],[105.901995,24.099482],[105.919241,24.122425],[105.963589,24.110954],[105.998081,24.120786],[106.011632,24.099482],[106.04982,24.089649],[106.053516,24.051399],[106.096631,24.018058],[106.091088,23.998924],[106.128044,23.956819],[106.157609,23.891174],[106.192718,23.879135],[106.173008,23.861622],[106.192102,23.824947],[106.136667,23.795381],[106.157609,23.724175],[106.149602,23.665538],[106.120653,23.605229],[106.141595,23.569579],[106.08616,23.524043],[106.071994,23.495506],[106.039965,23.484529],[105.999929,23.447748],[105.986378,23.489469],[105.935871,23.508678],[105.913081,23.499348],[105.89214,23.52514],[105.852103,23.526786],[105.815763,23.507031],[105.805908,23.467512],[105.758481,23.459826],[105.699966,23.40162],[105.637757,23.404366],[105.694423,23.363168],[105.699966,23.327453],[105.649459,23.346136],[105.593409,23.312614],[105.560148,23.257093],[105.526272,23.234548],[105.542902,23.184495],[105.558916,23.177893],[105.574931,23.066165],[105.625438,23.064513],[105.648844,23.078828],[105.724604,23.06231],[105.74185,23.030921],[105.780039,23.022659],[105.805908,22.994565],[105.839169,22.987403],[105.879205,22.916865],[105.893987,22.936707],[105.959277,22.948832],[105.994385,22.93781],[106.019639,22.990709],[106.08616,22.996218],[106.106486,22.980792],[106.153914,22.988505],[106.206885,22.978588],[106.270326,22.907494],[106.258007,22.889852],[106.286957,22.867245],[106.366413,22.857871],[106.37134,22.878273],[106.41384,22.877171],[106.504383,22.91025],[106.525941,22.946628],[106.562282,22.923479],[106.606013,22.925684],[106.631267,22.88103],[106.657136,22.863385],[106.674998,22.891506],[106.716882,22.881582],[106.709491,22.866142],[106.774781,22.812643],[106.776012,22.813746],[106.778476,22.814298],[106.779092,22.813746],[106.779708,22.813195],[106.78094,22.813195],[106.784636,22.812643],[106.796338,22.812091],[106.801882,22.815401],[106.804346,22.816505],[106.808657,22.817608],[106.813585,22.817608],[106.838838,22.803265],[106.820976,22.768504],[106.768621,22.739254],[106.780324,22.708894],[106.756302,22.68957],[106.711955,22.575228],[106.650361,22.575228],[106.61402,22.602303],[106.585071,22.517192],[106.588151,22.472958],[106.560434,22.455813],[106.588767,22.374486],[106.562897,22.345706],[106.663296,22.33076],[106.670071,22.283144],[106.688549,22.260438],[106.7021,22.207257],[106.673151,22.182322],[106.706411,22.160707],[106.691629,22.13521],[106.71565,22.089745],[106.706411,22.021521],[106.683006,21.999882],[106.698404,21.959925],[106.73844,22.008205],[106.790179,22.004876],[106.802498,21.98157],[106.859164,21.986009],[106.926302,21.967695],[106.935541,21.933836],[106.974345,21.923288],[106.999598,21.947714],[107.05996,21.914959],[107.058729,21.887196],[107.018693,21.859427],[107.018077,21.81943],[107.093837,21.803317],[107.148656,21.758858],[107.194851,21.736624],[107.199163,21.718833],[107.242279,21.703265],[107.271844,21.727173],[107.310648,21.733844],[107.356843,21.667674],[107.363619,21.602031],[107.388256,21.594241],[107.431372,21.642088],[107.477567,21.659888],[107.500973,21.613715],[107.486806,21.59591],[107.547168,21.58645],[107.584741,21.614828],[107.603219,21.597579],[107.712856,21.616497],[107.807711,21.655438],[107.837892,21.640419],[107.863761,21.650988],[107.892095,21.622617],[107.893942,21.596466],[107.929051,21.585893],[107.958,21.534131],[108.034376,21.545821],[108.108289,21.508521],[108.193905,21.519656],[108.156332,21.55083],[108.205608,21.597579],[108.241332,21.599805],[108.249955,21.561406],[108.210535,21.505737],[108.230245,21.491259],[108.330027,21.540254],[108.397781,21.533017],[108.492635,21.554727],[108.591802,21.677129],[108.626294,21.67991],[108.658939,21.643757],[108.678033,21.659331],[108.735931,21.628181],[108.734084,21.626512],[108.745786,21.602587],[108.801837,21.626512],[108.83325,21.610933],[108.881293,21.627068],[108.937959,21.589789],[109.093792,21.579215],[109.09872,21.571424],[109.110422,21.568085],[109.138756,21.567528],[109.142451,21.511861],[109.074698,21.489589],[109.039589,21.457844],[109.046365,21.424421],[109.095024,21.419407],[109.138756,21.388762],[109.186183,21.390991],[109.245929,21.425536],[109.41716,21.438906],[109.484914,21.453388],[109.529877,21.437234],[109.540964,21.466199],[109.576689,21.493487],[109.604406,21.523553],[109.612413,21.556953],[109.654913,21.493487],[109.704188,21.462857],[109.785492,21.45673],[109.788572,21.490702],[109.754695,21.556396],[109.742992,21.616497],[109.778101,21.670455],[109.786108,21.637638],[109.839695,21.636525],[109.888354,21.652101],[109.888354,21.652101],[109.916071,21.668787],[109.940093,21.769419],[109.94502,21.84443],[109.999839,21.881643],[110.050962,21.857205],[110.101469,21.86998],[110.12857,21.902744],[110.196323,21.899968],[110.212338,21.886085],[110.212338,21.886085],[110.224041,21.882198],[110.224041,21.882198],[110.283787,21.892194],[110.290562,21.917736],[110.337374,21.887751],[110.391576,21.89386],[110.378642,21.939942],[110.378642,21.939942],[110.374946,21.967695],[110.374946,21.967695],[110.352772,21.97602],[110.359547,22.015973],[110.35154,22.097508],[110.364475,22.125785],[110.326287,22.152393],[110.34846,22.195621],[110.378026,22.164587],[110.414366,22.208365],[110.456866,22.189526],[110.505525,22.14297],[110.55788,22.196175],[110.602843,22.18343],[110.598532,22.162924],[110.629329,22.149068],[110.678604,22.172901],[110.646575,22.220554],[110.687843,22.249914],[110.725415,22.29588],[110.759292,22.274837],[110.787009,22.28259],[110.749437,22.329653],[110.74143,22.361757],[110.711249,22.369506],[110.712481,22.440879],[110.688459,22.477935],[110.74143,22.464109],[110.740198,22.498947],[110.762988,22.518298],[110.749437,22.556991],[110.778386,22.585174],[110.812263,22.576333],[110.897878,22.591805],[110.896031,22.613352],[110.950233,22.61059],[110.958856,22.636553],[110.997045,22.631582],[111.055559,22.648705],[111.089435,22.695643],[111.058023,22.729871],[111.118385,22.744773],[111.185522,22.735942],[111.218167,22.748085],[111.358601,22.889301],[111.374615,22.938361],[111.362913,22.967568],[111.403565,22.99126],[111.389398,23.005583],[111.433746,23.036428],[111.43313,23.073322],[111.402333,23.066165],[111.377695,23.082132],[111.365992,23.14488],[111.38447,23.16744],[111.388782,23.210349],[111.36476,23.240047],[111.353058,23.284582],[111.376463,23.30437],[111.363528,23.340641],[111.389398,23.375804],[111.383239,23.399423],[111.399869,23.469159],[111.428818,23.466414],[111.479941,23.532822],[111.487332,23.626615],[111.555702,23.64087],[111.615448,23.639225],[111.614832,23.65896],[111.666571,23.718696],[111.621607,23.725819],[111.627766,23.78881],[111.654868,23.833159],[111.683201,23.822758],[111.683201,23.822758],[111.722621,23.823305],[111.8107,23.80688],[111.824867,23.832612],[111.812548,23.887343],[111.845809,23.904305],[111.854432,23.947521],[111.911714,23.943693],[111.940664,23.987989],[111.92157,24.012045],[111.878454,24.109862],[111.886461,24.163929],[111.871062,24.176487],[111.877222,24.227252],[111.912946,24.221795],[111.958526,24.263813],[111.986243,24.25672],[111.990555,24.279634],[112.026279,24.294908],[112.05954,24.339628],[112.057692,24.387057],[112.025047,24.438828],[111.985011,24.467701],[112.009649,24.503103],[112.007185,24.534684],[111.972077,24.578775],[111.936968,24.595645],[111.927729,24.629378],[111.953598,24.64733],[111.939432,24.686487],[111.961606,24.721283],[112.024431,24.740308],[111.951135,24.769655],[111.929577,24.75607],[111.875374,24.756613],[111.868599,24.771829],[111.814396,24.770199],[111.783599,24.785957],[111.708455,24.788673],[111.666571,24.760961],[111.637621,24.715303],[111.641933,24.684856],[111.588962,24.690837],[111.570484,24.64461],[111.526752,24.637538],[111.499035,24.667997],[111.451608,24.665822],[111.431282,24.687574],[111.461463,24.728894],[111.479325,24.797366],[111.449144,24.857113],[111.447296,24.892947],[111.470086,24.92877],[111.434977,24.951562],[111.43313,24.979774],[111.460231,24.992793],[111.467622,25.02208],[111.416499,25.047566],[111.435593,25.093642],[111.375231,25.128324],[111.36784,25.108817],[111.321645,25.105023],[111.274833,25.151078],[111.221862,25.106649],[111.200921,25.074672],[111.139943,25.042144],[111.101754,25.035095],[111.100522,24.945593],[111.009363,24.921172],[110.968711,24.975434],[110.951465,25.04377],[110.98411,25.101772],[110.998892,25.161371],[111.112841,25.21715],[111.103602,25.285351],[111.138711,25.303748],[111.184906,25.367034],[111.210776,25.363248],[111.279145,25.42326],[111.32842,25.521592],[111.324724,25.564249],[111.343202,25.602574],[111.309942,25.645203],[111.30871,25.720171],[111.399869,25.744431],[111.442369,25.77192],[111.43313,25.84627],[111.4861,25.859196],[111.460231,25.885042],[111.383239,25.881812],[111.376463,25.906039],[111.346282,25.906577],[111.297007,25.874274],[111.29208,25.854349],[111.251428,25.864581],[111.230486,25.916267],[111.189834,25.953402],[111.235413,26.048071],[111.267442,26.058824],[111.244652,26.078177],[111.26621,26.095914],[111.258203,26.151796],[111.274833,26.183486],[111.271754,26.217316],[111.293311,26.222148],[111.277913,26.272066],[111.228022,26.261333],[111.204616,26.276359],[111.208928,26.30426],[111.090667,26.308016],[111.008132,26.336982],[111.008747,26.35897],[110.974255,26.385778],[110.94469,26.373447],[110.944074,26.326791],[110.926212,26.320354],[110.939762,26.286554],[110.836284,26.255966],[110.759292,26.248451],[110.73527,26.270993],[110.742046,26.313917],[110.721104,26.294066],[110.673676,26.317135],[110.643495,26.308552],[110.612083,26.333764],[110.584365,26.296749],[110.552952,26.283335],[110.546793,26.233421],[110.495054,26.166299],[110.477808,26.179727],[110.437772,26.153945],[110.373098,26.088927],[110.325671,25.975462],[110.257301,25.961473],[110.24991,26.010965],[110.181541,26.060437],[110.168606,26.028713],[110.100853,26.020108],[110.065128,26.050221],[110.100853,26.132455],[110.099005,26.168985],[110.03002,26.166299],[109.970274,26.195301],[109.904368,26.135679],[109.898825,26.095377],[109.864332,26.027637],[109.814441,26.041081],[109.782412,25.996981],[109.806434,25.973848],[109.826144,25.911422],[109.811361,25.877504],[109.779333,25.866196],[109.768246,25.890427],[109.685094,25.880197],[109.67955,25.921649],[109.693717,25.959321],[109.710963,25.954478],[109.730057,25.989988],[109.649369,26.016882],[109.635203,26.047533],[109.588391,26.019571],[109.560058,26.021184],[109.513247,25.998056],[109.48245,26.029788]]],[[[105.096346,24.928228],[105.09573,24.92877],[105.077868,24.918459],[105.082179,24.915745],[105.096346,24.928228]]],[[[109.088249,21.014934],[109.11227,21.02499],[109.117814,21.017727],[109.144299,21.041189],[109.138756,21.067439],[109.09256,21.057386],[109.088865,21.031134],[109.088249,21.014934]]]]}},{"type":"Feature","properties":{"adcode":460000,"name":"海南省","center":[110.33119,20.031971],"centroid":[109.754859,19.189767],"childrenNum":19,"level":"province","parent":{"adcode":100000},"subFeatureIndex":20,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[110.106396,20.026812],[110.042339,19.991384],[109.997375,19.980136],[109.965346,19.993634],[109.898825,19.994196],[109.855093,19.984073],[109.814441,19.993072],[109.76147,19.981261],[109.712195,20.017253],[109.657993,20.01163],[109.585312,19.98801],[109.526797,19.943573],[109.498464,19.873236],[109.411001,19.895184],[109.349407,19.898561],[109.300748,19.917693],[109.25948,19.898561],[109.255784,19.867045],[109.231147,19.863105],[109.159082,19.79048],[109.169553,19.736411],[109.147379,19.704863],[109.093792,19.68965],[109.048829,19.619764],[108.993394,19.587065],[108.92872,19.524468],[108.855424,19.469182],[108.806148,19.450561],[108.765496,19.400894],[108.694047,19.387346],[108.644772,19.349518],[108.609048,19.276661],[108.591186,19.141592],[108.598577,19.055633],[108.630606,19.003017],[108.637997,18.924346],[108.595497,18.872256],[108.593033,18.809386],[108.65278,18.740258],[108.663866,18.67337],[108.641077,18.565614],[108.644772,18.486738],[108.68912,18.447571],[108.776583,18.441894],[108.881293,18.416344],[108.905315,18.389087],[108.944735,18.314107],[109.006329,18.323198],[109.108575,18.323766],[109.138756,18.268081],[109.17448,18.260125],[109.287813,18.264671],[109.355566,18.215221],[109.441182,18.199303],[109.467051,18.173718],[109.527413,18.169169],[109.584696,18.143579],[109.661688,18.175424],[109.726362,18.177698],[109.749767,18.193618],[109.785492,18.339672],[109.919767,18.375457],[110.022629,18.360121],[110.070672,18.376025],[110.090382,18.399309],[110.116867,18.506602],[110.214186,18.578662],[110.246215,18.609859],[110.329366,18.642185],[110.367555,18.631977],[110.499366,18.651824],[110.499366,18.751592],[110.578206,18.784458],[110.590525,18.838841],[110.585597,18.88075],[110.619474,19.152334],[110.676756,19.286264],[110.706321,19.320153],[110.729727,19.378878],[110.787009,19.399765],[110.844292,19.449996],[110.888023,19.518827],[110.920668,19.552668],[111.008747,19.60398],[111.061718,19.612436],[111.071573,19.628784],[111.043856,19.763448],[111.013675,19.850159],[110.966248,20.018377],[110.940994,20.028499],[110.871393,20.01163],[110.808567,20.035808],[110.778386,20.068415],[110.744509,20.074036],[110.717408,20.148778],[110.687843,20.163947],[110.655814,20.134169],[110.562191,20.110006],[110.526467,20.07516],[110.495054,20.077408],[110.387265,20.113378],[110.318279,20.108882],[110.28933,20.056047],[110.243135,20.077408],[110.144585,20.074598],[110.106396,20.026812]]],[[[112.208597,3.876129],[112.241858,3.845677],[112.280046,3.86777],[112.260336,3.917925],[112.219068,3.908969],[112.208597,3.876129]]],[[[113.266165,8.125929],[113.311129,8.177469],[113.343157,8.193463],[113.288955,8.119412],[113.349933,8.172137],[113.386273,8.238479],[113.386273,8.289412],[113.354244,8.304217],[113.353628,8.237887],[113.293882,8.176284],[113.266165,8.125929]]],[[[111.99733,3.848065],[112.015192,3.823583],[112.064467,3.830152],[112.073707,3.865979],[112.03367,3.892251],[111.99733,3.848065]]],[[[111.463311,17.077491],[111.536607,17.104949],[111.4861,17.058039],[111.559397,17.087788],[111.542151,17.11982],[111.452224,17.092936],[111.463311,17.077491]]],[[[117.708319,15.182712],[117.712631,15.118592],[117.726798,15.105303],[117.827812,15.111659],[117.72495,15.131302],[117.720638,15.195418],[117.74466,15.217941],[117.784696,15.16885],[117.838899,15.15903],[117.782848,15.187333],[117.748355,15.230068],[117.715095,15.222561],[117.708319,15.182712]]],[[[112.241858,3.942404],[112.292365,3.946583],[112.288053,3.97345],[112.254177,3.97942],[112.241858,3.942404]]],[[[111.734324,16.19732],[111.779903,16.19732],[111.81686,16.224329],[111.813164,16.261676],[111.782367,16.273741],[111.716462,16.249036],[111.789758,16.250186],[111.790374,16.220307],[111.734324,16.19732]]],[[[111.649324,16.255931],[111.577875,16.208239],[111.56802,16.162834],[111.611136,16.156511],[111.690592,16.211112],[111.606825,16.177779],[111.598817,16.198469],[111.681353,16.262251],[111.649324,16.255931]]],[[[113.896887,7.607204],[113.919677,7.566865],[113.98743,7.536014],[114.058879,7.537794],[114.157429,7.561525],[114.289856,7.617288],[114.368696,7.638642],[114.407501,7.683126],[114.419819,7.765557],[114.464167,7.814771],[114.540543,7.862201],[114.555326,7.891249],[114.540543,7.945783],[114.511594,7.966527],[114.47279,7.968898],[114.414892,7.952895],[114.268298,7.870501],[114.211632,7.786904],[114.095219,7.721082],[114.029314,7.670078],[113.921524,7.639235],[113.896887,7.607204]]],[[[113.976959,8.872888],[114.013299,8.836817],[114.035473,8.783591],[114.060111,8.816119],[114.041017,8.843913],[113.989894,8.878801],[113.976959,8.872888]]],[[[113.956017,8.840365],[113.975111,8.793054],[114.012068,8.798376],[113.977575,8.841548],[113.956017,8.840365]]],[[[111.97454,16.323715],[112.002258,16.306484],[112.07617,16.323715],[112.074938,16.349558],[112.047221,16.360469],[112.002874,16.350707],[111.97454,16.323715]]],[[[111.739251,16.452898],[111.766969,16.470116],[111.786679,16.520039],[111.759577,16.545857],[111.765737,16.495366],[111.739251,16.452898]]],[[[112.216604,8.866383],[112.206133,8.88767],[112.180264,8.862244],[112.216604,8.866383]]],[[[113.792177,7.373422],[113.828518,7.362145],[113.829134,7.383511],[113.792177,7.373422]]],[[[114.194386,8.764664],[114.201161,8.727991],[114.248588,8.724442],[114.222103,8.784773],[114.194386,8.764664]]],[[[112.232619,16.996239],[112.207981,16.987081],[112.222764,16.960751],[112.292981,16.96762],[112.266496,16.993949],[112.232619,16.996239]]],[[[114.689601,10.345648],[114.702536,10.312677],[114.725941,10.319154],[114.747499,10.37214],[114.717318,10.380381],[114.689601,10.345648]]],[[[115.837712,9.709775],[115.861117,9.694438],[115.867277,9.650191],[115.901153,9.67084],[115.925791,9.781734],[115.901153,9.795888],[115.870972,9.778785],[115.837712,9.709775]]],[[[114.617536,9.965688],[114.642173,9.917351],[114.672355,9.927963],[114.685905,9.979245],[114.617536,9.965688]]],[[[113.769387,7.636862],[113.773699,7.601865],[113.814967,7.603051],[113.831597,7.644573],[113.769387,7.636862]]],[[[109.463972,7.344339],[109.463972,7.315254],[109.513247,7.320002],[109.571761,7.373422],[109.654297,7.479648],[109.709115,7.511095],[109.791651,7.524742],[109.938861,7.504569],[109.948716,7.522962],[109.904984,7.55144],[109.816289,7.572797],[109.72205,7.575763],[109.653065,7.559745],[109.536037,7.448792],[109.463972,7.344339]]],[[[116.273181,8.879392],[116.294123,8.858105],[116.332311,8.901269],[116.305826,8.917233],[116.273181,8.879392]]],[[[112.476531,16.001247],[112.570154,16.011027],[112.612037,16.039212],[112.588016,16.070844],[112.462364,16.043813],[112.448814,16.005274],[112.476531,16.001247]]],[[[112.537509,8.846278],[112.57077,8.815527],[112.639755,8.818484],[112.598487,8.859288],[112.537509,8.846278]]],[[[114.469095,10.836261],[114.475254,10.814512],[114.513442,10.848605],[114.565181,10.836261],[114.593514,10.856245],[114.587355,10.909138],[114.55471,10.900911],[114.469095,10.836261]]],[[[112.409393,16.294996],[112.383524,16.265698],[112.411241,16.2634],[112.475915,16.288677],[112.531349,16.285805],[112.536893,16.312228],[112.509176,16.317397],[112.409393,16.294996]]],[[[116.48876,10.395686],[116.461658,10.34918],[116.467202,10.309144],[116.511549,10.297957],[116.566368,10.304434],[116.644592,10.335051],[116.637817,10.365076],[116.514629,10.34918],[116.542346,10.41982],[116.526332,10.426883],[116.48876,10.395686]]],[[[112.349031,16.912088],[112.360734,16.925257],[112.334249,16.962469],[112.30222,16.963041],[112.349031,16.912088]]],[[[111.500267,16.45175],[111.49534,16.4374],[111.545847,16.43453],[111.538455,16.461507],[111.500267,16.45175]]],[[[115.500177,9.897897],[115.54822,9.869007],[115.585177,9.896128],[115.581481,9.917351],[115.518039,9.933857],[115.500177,9.897897]]],[[[114.669891,8.210048],[114.691449,8.18517],[114.74134,8.189316],[114.726557,8.21064],[114.669891,8.210048]]],[[[114.507899,8.120004],[114.530073,8.103415],[114.595978,8.120596],[114.624311,8.149626],[114.595978,8.15792],[114.507899,8.120004]]],[[[115.16757,8.386523],[115.18112,8.345668],[115.235939,8.321982],[115.285214,8.314876],[115.315395,8.356326],[115.299381,8.370537],[115.202678,8.395403],[115.16757,8.386523]]],[[[113.895039,8.00505],[113.904894,7.963564],[113.9708,7.944597],[113.969568,7.974825],[113.940003,8.018088],[113.895039,8.00505]]],[[[115.436119,9.393447],[115.450286,9.345028],[115.469996,9.3592],[115.456445,9.417064],[115.436119,9.393447]]],[[[116.457347,9.174326],[116.477057,9.137103],[116.500462,9.164282],[116.457347,9.174326]]],[[[113.638192,8.976942],[113.654823,8.962163],[113.730583,9.004133],[113.719496,9.020092],[113.644968,8.989355],[113.638192,8.976942]]],[[[114.696992,11.004322],[114.710543,11.001972],[114.793079,11.07657],[114.799854,11.10476],[114.766593,11.110045],[114.710543,11.039567],[114.696992,11.004322]]],[[[114.62,11.432264],[114.652644,11.436957],[114.661884,11.522584],[114.621232,11.518479],[114.62,11.432264]]],[[[114.910723,10.863298],[114.931049,10.841551],[114.959998,10.902087],[114.934129,10.902674],[114.910723,10.863298]]],[[[111.572948,16.470116],[111.578491,16.447158],[111.614216,16.44027],[111.592658,16.490775],[111.572948,16.470116]]],[[[113.939387,8.875253],[113.912285,8.888853],[113.893807,8.862836],[113.916597,8.837999],[113.939387,8.875253]]],[[[109.936397,7.848566],[109.936397,7.823665],[109.988136,7.8124],[110.050346,7.846194],[110.082991,7.896584],[110.078063,7.949339],[110.0331,7.944597],[109.953027,7.888878],[109.936397,7.848566]]],[[[116.727128,11.501473],[116.765316,11.430504],[116.772092,11.445755],[116.738215,11.514961],[116.727128,11.501473]]],[[[111.690592,16.587731],[111.724469,16.560198],[111.717078,16.59404],[111.690592,16.587731]]],[[[112.507328,16.466098],[112.586784,16.525777],[112.575081,16.537251],[112.499321,16.493645],[112.507328,16.466098]]],[[[111.761425,16.061642],[111.791606,16.028859],[111.828563,16.049565],[111.829795,16.070844],[111.761425,16.061642]]],[[[113.845764,10.018733],[113.865474,10.00341],[113.872249,10.123029],[113.856851,10.12185],[113.845764,10.018733]]],[[[114.791847,8.160882],[114.777064,8.114079],[114.812173,8.110524],[114.818332,8.141332],[114.791847,8.160882]]],[[[116.557129,9.745167],[116.566368,9.718623],[116.593469,9.723932],[116.557129,9.745167]]],[[[115.28275,10.191951],[115.288294,10.172513],[115.333257,10.200198],[115.28891,10.211388],[115.28275,10.191951]]],[[[116.832454,10.476908],[116.855243,10.468669],[116.868794,10.495739],[116.832454,10.476908]]],[[[114.703151,16.170307],[114.816484,16.198469],[114.802934,16.215135],[114.704383,16.199044],[114.703151,16.170307]]],[[[115.97753,9.321997],[115.926407,9.311366],[115.943037,9.269433],[115.976298,9.268252],[115.999088,9.293649],[115.97753,9.321997]]],[[[113.660366,9.231039],[113.676997,9.202683],[113.697323,9.225722],[113.660366,9.231039]]],[[[114.665579,7.590001],[114.671739,7.563898],[114.72163,7.59178],[114.703767,7.614915],[114.665579,7.590001]]],[[[114.493116,10.717504],[114.513442,10.722208],[114.562717,10.778064],[114.539312,10.793349],[114.493116,10.717504]]],[[[117.770529,10.773361],[117.798862,10.753371],[117.835819,10.803931],[117.831507,10.838612],[117.801942,10.839788],[117.775457,10.809222],[117.770529,10.773361]]],[[[114.242429,10.242014],[114.263371,10.239658],[114.326197,10.284414],[114.312646,10.300901],[114.265219,10.275581],[114.242429,10.242014]]],[[[114.688985,11.469217],[114.722246,11.429331],[114.737644,11.463938],[114.720398,11.49209],[114.688985,11.469217]]],[[[116.638433,10.503977],[116.653215,10.491031],[116.70865,10.492797],[116.699411,10.517511],[116.638433,10.503977]]],[[[110.459946,8.116449],[110.471032,8.072012],[110.554184,8.093935],[110.599764,8.156735],[110.568351,8.17273],[110.461793,8.128298],[110.459946,8.116449]]],[[[111.463311,8.52504],[111.497187,8.523857],[111.509506,8.550489],[111.463311,8.52504]]],[[[115.258113,8.509652],[115.271048,8.477098],[115.296301,8.510836],[115.258113,8.509652]]],[[[113.221817,8.073789],[113.235984,8.068456],[113.283411,8.111117],[113.269861,8.120004],[113.221817,8.073789]]],[[[114.074893,10.929118],[114.064422,10.904437],[114.110002,10.918541],[114.096451,10.947921],[114.074893,10.929118]]],[[[117.258068,10.320331],[117.299336,10.313855],[117.299952,10.343293],[117.274698,10.358011],[117.258068,10.320331]]],[[[114.212864,16.040937],[114.31203,16.034611],[114.306487,16.057616],[114.268914,16.059342],[114.212864,16.040937]]],[[[110.609003,8.010976],[110.642879,7.989049],[110.641648,8.031125],[110.622553,8.041199],[110.609003,8.010976]]],[[[115.509416,8.490712],[115.521735,8.460523],[115.55438,8.461115],[115.569162,8.49012],[115.558691,8.523265],[115.514344,8.519122],[115.509416,8.490712]]],[[[111.539071,7.54432],[111.542767,7.524742],[111.583419,7.543134],[111.612368,7.592374],[111.566788,7.606017],[111.539071,7.54432]]],[[[111.657947,8.672974],[111.665955,8.622683],[111.717694,8.6499],[111.697368,8.67889],[111.657947,8.672974]]],[[[110.460561,7.799948],[110.487663,7.783346],[110.511684,7.805878],[110.485199,7.827815],[110.460561,7.799948]]],[[[112.345952,8.926101],[112.392763,8.919598],[112.384756,8.946793],[112.345952,8.926101]]],[[[116.469665,9.810041],[116.47952,9.785272],[116.50847,9.79117],[116.490607,9.821246],[116.469665,9.810041]]],[[[111.925265,8.070827],[111.949287,8.05068],[111.994866,8.047125],[112.018888,8.065494],[112.013344,8.093342],[111.95483,8.106377],[111.925265,8.070827]]],[[[114.457392,15.599305],[114.466631,15.576823],[114.491884,15.59354],[114.457392,15.599305]]],[[[114.985252,11.078332],[115.013585,11.063062],[115.021592,11.085967],[114.985252,11.078332]]],[[[114.10569,16.004124],[114.110618,15.978235],[114.132176,16.007575],[114.10569,16.004124]]],[[[116.045283,10.095338],[116.067457,10.065876],[116.09579,10.09357],[116.070537,10.12892],[116.045283,10.095338]]],[[[117.266691,10.69163],[117.348611,10.672811],[117.404661,10.671047],[117.418212,10.702803],[117.369553,10.7422],[117.293176,10.735144],[117.266691,10.69163]]],[[[114.854057,7.244611],[114.819564,7.192957],[114.869455,7.198895],[114.854057,7.244611]]],[[[112.823305,8.910729],[112.859645,8.889444],[112.873196,8.908364],[112.823305,8.910729]]],[[[111.670266,7.651098],[111.707223,7.648725],[111.749722,7.703884],[111.726317,7.729977],[111.691208,7.711593],[111.670266,7.651098]]],[[[112.207981,8.835634],[112.235699,8.827355],[112.241242,8.852783],[112.207981,8.835634]]],[[[112.527654,5.79444],[112.531965,5.766455],[112.562762,5.75931],[112.562146,5.820637],[112.527654,5.79444]]],[[[114.599058,8.846278],[114.645869,8.844504],[114.68221,8.881166],[114.665579,8.900087],[114.61692,8.881166],[114.599058,8.846278]]],[[[114.868223,7.983715],[114.907643,7.951117],[114.914419,8.00742],[114.883006,8.011569],[114.868223,7.983715]]],[[[112.945261,8.410204],[112.985297,8.429149],[112.949572,8.432701],[112.945261,8.410204]]],[[[113.600004,6.961929],[113.580294,6.920344],[113.62341,6.942325],[113.600004,6.961929]]],[[[116.695099,16.345538],[116.708034,16.299591],[116.738831,16.303612],[116.747454,16.360469],[116.717889,16.373676],[116.695099,16.345538]]],[[[117.347995,10.090624],[117.354154,10.06293],[117.385567,10.063519],[117.373864,10.106532],[117.347995,10.090624]]],[[[112.993304,19.472003],[113.038883,19.480466],[113.048123,19.506417],[113.029028,19.52898],[112.993304,19.52616],[112.980369,19.496263],[112.993304,19.472003]]],[[[114.448153,16.034035],[114.485109,16.034611],[114.521449,16.056466],[114.465399,16.067393],[114.448153,16.034035]]],[[[113.832213,19.158552],[113.874097,19.151203],[113.914749,19.172119],[113.920293,19.223551],[113.875945,19.237113],[113.80696,19.222986],[113.799568,19.19925],[113.832213,19.158552]]],[[[112.650842,5.106941],[112.655769,5.055676],[112.682871,5.048522],[112.719211,5.075944],[112.678559,5.121247],[112.650842,5.106941]]],[[[111.638853,7.907254],[111.665339,7.887099],[111.712766,7.887099],[111.713382,7.927408],[111.651788,7.932743],[111.638853,7.907254]]],[[[112.244322,8.874662],[112.281278,8.855148],[112.288669,8.885896],[112.244322,8.874662]]],[[[112.89229,7.844416],[112.929862,7.827815],[112.93171,7.867537],[112.89229,7.844416]]],[[[112.583088,5.56159],[112.606494,5.51751],[112.614501,5.465683],[112.642834,5.489512],[112.616349,5.568737],[112.583088,5.56159]]],[[[112.523342,5.656289],[112.5449,5.616386],[112.565842,5.63068],[112.56153,5.677133],[112.528886,5.687257],[112.523342,5.656289]]],[[[115.361591,13.948985],[115.397315,13.92517],[115.438583,13.943757],[115.423185,13.977443],[115.377605,13.968732],[115.361591,13.948985]]],[[[113.596924,10.240836],[113.617866,10.22199],[113.638192,10.243192],[113.596924,10.240836]]],[[[113.860546,15.477068],[113.893807,15.463802],[113.890112,15.490909],[113.860546,15.477068]]],[[[112.907072,4.993079],[112.943413,4.991887],[112.952652,5.047926],[112.910768,5.038388],[112.907072,4.993079]]],[[[112.557219,5.109326],[112.568922,5.071771],[112.610806,5.091443],[112.601567,5.120055],[112.557219,5.109326]]],[[[112.350263,5.621747],[112.385988,5.615791],[112.385372,5.643187],[112.350263,5.621747]]],[[[112.226459,16.759147],[112.254177,16.751698],[112.262184,16.778057],[112.211061,16.795819],[112.226459,16.759147]]],[[[112.233851,15.69612],[112.25972,15.734718],[112.240626,15.741055],[112.20367,15.71398],[112.233851,15.69612]]],[[[112.612037,5.367973],[112.640371,5.347715],[112.685334,5.371548],[112.690878,5.406702],[112.62374,5.401935],[112.612037,5.367973]]],[[[112.472219,5.73966],[112.496857,5.736683],[112.498089,5.775387],[112.472219,5.73966]]],[[[113.217506,6.306249],[113.230441,6.285429],[113.243991,6.325878],[113.217506,6.306249]]],[[[116.152457,9.579384],[116.189413,9.565221],[116.187565,9.595317],[116.152457,9.579384]]],[[[114.948911,7.508722],[114.960614,7.484988],[115.012353,7.484988],[115.013585,7.525928],[114.948911,7.508722]]],[[[111.553854,7.807656],[111.585267,7.771487],[111.619759,7.840265],[111.603745,7.861608],[111.553854,7.807656]]],[[[113.938771,15.8355],[113.973263,15.805558],[113.9708,15.83953],[113.938771,15.8355]]],[[[114.926122,16.036911],[114.895325,16.036336],[114.910723,16.001823],[114.926122,16.036911]]],[[[116.749302,9.056736],[116.699411,9.049053],[116.70865,9.024229],[116.740679,9.028367],[116.749302,9.056736]]],[[[112.64653,16.385733],[112.681639,16.400661],[112.660081,16.426494],[112.64653,16.385733]]],[[[111.203384,19.92557],[111.203384,19.925007],[111.204,19.92557],[111.204,19.926132],[111.203384,19.92557]]],[[[115.758256,10.461018],[115.776118,10.434534],[115.801987,10.463372],[115.758256,10.461018]]],[[[117.21372,10.735144],[117.187235,10.741612],[117.206945,10.707507],[117.21372,10.735144]]],[[[112.671784,16.331755],[112.701349,16.331755],[112.677943,16.35932],[112.671784,16.331755]]],[[[115.782277,10.541046],[115.795212,10.499858],[115.805067,10.524571],[115.782277,10.541046]]],[[[112.512255,9.544566],[112.50856,9.525679],[112.568922,9.516826],[112.567074,9.554008],[112.512255,9.544566]]],[[[114.610145,15.649447],[114.581195,15.625242],[114.610761,15.615444],[114.610145,15.649447]]],[[[117.299336,11.077745],[117.264227,11.063062],[117.284553,11.02547],[117.304263,11.027232],[117.299336,11.077745]]],[[[117.691073,11.048965],[117.653501,11.046029],[117.655965,11.024882],[117.690457,11.016658],[117.691073,11.048965]]],[[[114.166668,9.38459],[114.175291,9.342075],[114.195617,9.350933],[114.194386,9.391676],[114.166668,9.38459]]],[[[114.714854,9.736909],[114.693296,9.741038],[114.680978,9.707416],[114.704999,9.700337],[114.714854,9.736909]]],[[[112.554139,5.97839],[112.553523,5.942676],[112.575697,5.971247],[112.554139,5.97839]]]]}},{"type":"Feature","properties":{"adcode":500000,"name":"重庆市","center":[106.504962,29.533155],"centroid":[107.8839,30.067297],"childrenNum":38,"level":"province","parent":{"adcode":100000},"subFeatureIndex":21,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[106.37442,28.525742],[106.403369,28.569901],[106.477282,28.530474],[106.504999,28.544669],[106.466811,28.586193],[106.49268,28.591448],[106.502535,28.661313],[106.528405,28.677591],[106.492064,28.742153],[106.461883,28.761041],[106.45326,28.817162],[106.474202,28.832891],[106.561666,28.756319],[106.56105,28.719062],[106.587535,28.691767],[106.6171,28.691242],[106.617716,28.66709],[106.651593,28.649235],[106.618332,28.645033],[106.63681,28.622972],[106.606629,28.593024],[106.615252,28.549401],[106.567825,28.523638],[106.564745,28.485247],[106.632499,28.503655],[106.697788,28.47683],[106.708259,28.450524],[106.747063,28.467361],[106.726121,28.51838],[106.73844,28.554657],[106.77786,28.563068],[106.756918,28.607211],[106.784636,28.626649],[106.807425,28.589346],[106.830831,28.623497],[106.866556,28.624548],[106.889345,28.695966],[106.86594,28.690192],[106.824056,28.756319],[106.845614,28.780975],[106.872099,28.777304],[106.923222,28.809821],[106.951555,28.766812],[106.988512,28.776254],[106.983584,28.851239],[107.019308,28.861722],[107.016229,28.882685],[107.14188,28.887925],[107.206554,28.868535],[107.194851,28.838134],[107.227496,28.836037],[107.210866,28.817686],[107.219489,28.772582],[107.24659,28.76209],[107.261373,28.792514],[107.327894,28.810869],[107.339597,28.845997],[107.383945,28.848618],[107.41351,28.911502],[107.441227,28.943977],[107.412894,28.960211],[107.396879,28.993718],[107.364235,29.00942],[107.395647,29.041341],[107.369778,29.091558],[107.412278,29.094696],[107.427676,29.128682],[107.408582,29.138091],[107.401807,29.184603],[107.441227,29.203934],[107.486806,29.174153],[107.570574,29.218037],[107.589052,29.150113],[107.605683,29.164747],[107.659885,29.162656],[107.700537,29.141228],[107.749197,29.199754],[107.810791,29.139137],[107.784921,29.048143],[107.823725,29.034016],[107.810175,28.984295],[107.867457,28.960211],[107.882855,29.00628],[107.908725,29.007327],[107.925971,29.032446],[108.026369,29.039772],[108.070717,29.086328],[108.150173,29.053375],[108.193289,29.072207],[108.256115,29.040295],[108.277673,29.091558],[108.306622,29.079006],[108.297999,29.045527],[108.319556,28.961258],[108.345426,28.943453],[108.357745,28.893165],[108.346658,28.859625],[108.352817,28.815589],[108.386078,28.803003],[108.385462,28.772058],[108.347274,28.736381],[108.332491,28.679166],[108.439049,28.634003],[108.501258,28.626649],[108.50249,28.63768],[108.575787,28.659738],[108.636149,28.621396],[108.604736,28.590922],[108.610896,28.539412],[108.573939,28.531],[108.586874,28.463678],[108.609664,28.43579],[108.609048,28.407368],[108.576403,28.38631],[108.580099,28.343128],[108.611512,28.324691],[108.667562,28.334173],[108.656475,28.359981],[108.697127,28.401051],[108.688504,28.422106],[108.640461,28.456838],[108.657091,28.47683],[108.700207,28.48209],[108.709446,28.501026],[108.746402,28.45105],[108.780279,28.42579],[108.759953,28.389995],[108.783359,28.380518],[108.761801,28.304143],[108.726692,28.282011],[108.738395,28.228241],[108.772888,28.212949],[108.821547,28.245113],[108.855424,28.199764],[108.89546,28.219804],[108.923793,28.217167],[108.929952,28.19027],[109.005713,28.162837],[109.026655,28.220331],[109.086401,28.184467],[109.101799,28.202401],[109.081473,28.247749],[109.117198,28.277795],[109.152306,28.349975],[109.153538,28.417369],[109.191726,28.471043],[109.23361,28.474726],[109.274262,28.494714],[109.273646,28.53836],[109.319842,28.579886],[109.306907,28.62087],[109.252089,28.606685],[109.235458,28.61982],[109.201581,28.597753],[109.192958,28.636104],[109.271183,28.671816],[109.252704,28.691767],[109.294588,28.722211],[109.2989,28.7474],[109.241002,28.776779],[109.246545,28.80143],[109.235458,28.882161],[109.261328,28.952356],[109.292741,28.987436],[109.294588,29.015177],[109.319842,29.042388],[109.312451,29.066453],[109.240386,29.086328],[109.232378,29.119271],[109.215748,29.145409],[109.162777,29.180946],[109.139372,29.168927],[109.110422,29.21647],[109.141835,29.270256],[109.106727,29.288526],[109.11227,29.361053],[109.060531,29.403292],[109.034662,29.360531],[108.999553,29.36366],[108.983539,29.332883],[108.919481,29.3261],[108.934264,29.399643],[108.927488,29.435612],[108.884373,29.440824],[108.866511,29.470527],[108.888684,29.502305],[108.878213,29.539279],[108.913322,29.574679],[108.901003,29.604863],[108.870206,29.596537],[108.888068,29.628795],[108.844337,29.658443],[108.781511,29.635558],[108.797525,29.660003],[108.786438,29.691721],[108.752562,29.649082],[108.690968,29.689642],[108.676801,29.749412],[108.680497,29.800319],[108.658939,29.854833],[108.601041,29.863656],[108.556077,29.818493],[108.52528,29.770713],[108.548686,29.749412],[108.504954,29.728626],[108.504338,29.707836],[108.460606,29.741098],[108.437201,29.741098],[108.442744,29.778505],[108.422418,29.772791],[108.424266,29.815897],[108.371295,29.841337],[108.433505,29.880262],[108.467998,29.864175],[108.516041,29.885451],[108.517889,29.9394],[108.536367,29.983472],[108.532055,30.051873],[108.513577,30.057571],[108.546222,30.104178],[108.56778,30.157491],[108.551766,30.1637],[108.581947,30.255759],[108.54499,30.269716],[108.524048,30.309506],[108.501258,30.314673],[108.460606,30.35961],[108.431041,30.354446],[108.402092,30.376649],[108.430425,30.416397],[108.411331,30.438586],[108.42673,30.492233],[108.472925,30.487076],[108.512961,30.501515],[108.556077,30.487592],[108.56778,30.468508],[108.6497,30.53915],[108.642925,30.578831],[108.688504,30.58759],[108.698975,30.54482],[108.743939,30.494812],[108.789518,30.513374],[108.808612,30.491202],[108.838793,30.503062],[108.893612,30.565434],[108.971836,30.627766],[109.006329,30.626736],[109.042669,30.655571],[109.071002,30.640125],[109.111654,30.646303],[109.106111,30.61077],[109.105495,30.585529],[109.102415,30.580377],[109.101183,30.579346],[109.106111,30.570587],[109.103647,30.565949],[109.143683,30.521108],[109.191726,30.545851],[109.191726,30.545851],[109.245313,30.580892],[109.299516,30.630341],[109.314298,30.599953],[109.36111,30.551004],[109.337088,30.521623],[109.35495,30.487076],[109.418392,30.559766],[109.435638,30.595832],[109.535421,30.664837],[109.543428,30.63961],[109.574225,30.646818],[109.590855,30.69366],[109.625348,30.702923],[109.661072,30.738936],[109.656761,30.760538],[109.701724,30.783677],[109.780564,30.848437],[109.828608,30.864364],[109.894513,30.899803],[109.943788,30.878746],[110.008462,30.883369],[110.019549,30.829425],[110.048498,30.800642],[110.082375,30.799614],[110.151976,30.911613],[110.153824,30.953708],[110.172918,30.978853],[110.140889,30.987062],[110.140273,31.030661],[110.120563,31.0322],[110.119947,31.088592],[110.147048,31.116776],[110.180309,31.121899],[110.200019,31.158779],[110.180309,31.179774],[110.155671,31.279564],[110.161831,31.314338],[110.118715,31.409899],[110.054042,31.410921],[110.036795,31.436966],[109.98752,31.474744],[109.94502,31.47066],[109.969658,31.508935],[109.894513,31.519139],[109.837847,31.555354],[109.727594,31.548214],[109.745456,31.598182],[109.76455,31.602769],[109.737449,31.628761],[109.731289,31.700582],[109.683246,31.719929],[109.622268,31.711783],[109.585928,31.726546],[109.549587,31.73011],[109.502776,31.716365],[109.446109,31.722983],[109.381436,31.705165],[109.281654,31.716874],[109.282885,31.743343],[109.253936,31.759628],[109.279806,31.776418],[109.27611,31.79931],[109.195422,31.817618],[109.191111,31.85575],[109.123357,31.892851],[109.085785,31.929428],[108.986619,31.980205],[108.902235,31.984774],[108.837561,32.039072],[108.78767,32.04871],[108.75133,32.076098],[108.734084,32.106519],[108.676801,32.10297],[108.585026,32.17189],[108.543758,32.177969],[108.509882,32.201266],[108.480317,32.182527],[108.399013,32.194176],[108.370063,32.172397],[108.379918,32.154158],[108.379918,32.154158],[108.379303,32.153652],[108.379303,32.153652],[108.399628,32.147065],[108.452599,32.090296],[108.42981,32.061391],[108.372527,32.077112],[108.344194,32.067477],[108.362056,32.035521],[108.329411,32.020299],[108.370063,31.988835],[108.351585,31.971575],[108.307238,31.997463],[108.259194,31.967006],[108.343578,31.860834],[108.386078,31.854226],[108.391005,31.829822],[108.429194,31.809482],[108.455063,31.814059],[108.462454,31.780488],[108.535135,31.757592],[108.50557,31.734182],[108.514809,31.693963],[108.546838,31.665442],[108.519121,31.665952],[108.468614,31.636404],[108.442744,31.633856],[108.390389,31.591555],[108.386078,31.544134],[108.339266,31.539033],[108.344194,31.512506],[108.254883,31.49873],[108.233941,31.506894],[108.191441,31.492096],[108.193289,31.467598],[108.224086,31.464024],[108.216079,31.41041],[108.153869,31.371073],[108.185898,31.336831],[108.095354,31.268311],[108.038688,31.252964],[108.031297,31.217144],[108.07626,31.231985],[108.089811,31.204859],[108.025753,31.116263],[108.009123,31.109602],[108.026985,31.061938],[108.060246,31.052197],[108.00358,31.025533],[107.983254,30.983983],[107.942602,30.989114],[107.948145,30.918802],[107.994956,30.908533],[107.956152,30.882855],[107.851443,30.792931],[107.788001,30.81966],[107.763979,30.817091],[107.760899,30.862823],[107.739957,30.884396],[107.693146,30.875665],[107.645103,30.821202],[107.57735,30.847924],[107.515756,30.854603],[107.483111,30.838675],[107.498509,30.809381],[107.454162,30.771851],[107.454162,30.771851],[107.424597,30.74048],[107.458473,30.704981],[107.477567,30.664837],[107.516987,30.644759],[107.485575,30.598408],[107.427676,30.547397],[107.443075,30.53348],[107.408582,30.521623],[107.368546,30.468508],[107.338981,30.386459],[107.288474,30.337402],[107.257677,30.267131],[107.221337,30.213878],[107.103076,30.090198],[107.080286,30.094341],[107.084598,30.063786],[107.058113,30.043066],[107.055649,30.040476],[107.054417,30.040994],[107.053801,30.043584],[107.02054,30.036849],[106.981736,30.08502],[106.976193,30.083467],[106.94478,30.037367],[106.913367,30.025451],[106.862244,30.033223],[106.83699,30.049801],[106.825904,30.03115],[106.825904,30.03115],[106.785252,30.01716],[106.732281,30.027005],[106.724274,30.058607],[106.699636,30.074145],[106.700252,30.111944],[106.672535,30.122297],[106.677462,30.156974],[106.631883,30.186464],[106.611557,30.235596],[106.612173,30.235596],[106.611557,30.235596],[106.612173,30.235596],[106.612173,30.235596],[106.612789,30.235596],[106.612789,30.235596],[106.642354,30.246454],[106.611557,30.292455],[106.560434,30.31519],[106.545035,30.296589],[106.49884,30.295556],[106.43971,30.308473],[106.428623,30.254725],[106.401521,30.242318],[106.349167,30.24542],[106.334384,30.225772],[106.306667,30.238182],[106.296196,30.205603],[106.264167,30.20974],[106.260471,30.19681],[106.232754,30.185947],[106.180399,30.233011],[106.168696,30.303823],[106.132356,30.323972],[106.132972,30.30279],[106.07261,30.333786],[106.031958,30.373551],[105.943263,30.372002],[105.900763,30.405042],[105.84656,30.410203],[105.825618,30.436006],[105.792357,30.427234],[105.760329,30.384393],[105.754785,30.342567],[105.714749,30.322939],[105.720292,30.252657],[105.720292,30.252657],[105.670401,30.254208],[105.624822,30.275918],[105.619894,30.234045],[105.662394,30.210258],[105.642684,30.186464],[105.56138,30.183878],[105.550909,30.179222],[105.536127,30.152834],[105.596489,30.159043],[105.574315,30.130579],[105.580474,30.129544],[105.582938,30.127474],[105.582938,30.12385],[105.642068,30.101072],[105.638988,30.076216],[105.676561,30.06793],[105.687032,30.038922],[105.719677,30.042548],[105.753553,30.018196],[105.723372,29.975177],[105.730763,29.95755],[105.70243,29.924879],[105.717213,29.893753],[105.738771,29.891159],[105.707974,29.840818],[105.610655,29.837184],[105.582938,29.819013],[105.574931,29.744216],[105.529351,29.707836],[105.481924,29.718232],[105.476996,29.674564],[105.419714,29.688082],[105.38091,29.628275],[105.347649,29.621512],[105.332867,29.592374],[105.296526,29.571035],[105.305149,29.53199],[105.337794,29.459064],[105.334099,29.441345],[105.387069,29.455416],[105.387069,29.455416],[105.399388,29.43874],[105.372903,29.421018],[105.426489,29.419454],[105.441888,29.400686],[105.418482,29.352185],[105.42033,29.31149],[105.465294,29.322969],[105.459134,29.288526],[105.513337,29.283306],[105.521344,29.264513],[105.557684,29.278608],[105.631597,29.280174],[105.647612,29.253027],[105.695039,29.287482],[105.712285,29.219082],[105.703662,29.176766],[105.728916,29.134432],[105.752321,29.129727],[105.728916,29.1062],[105.757865,29.069068],[105.74185,29.039249],[105.766488,29.013607],[105.762176,28.9911],[105.801596,28.958116],[105.797285,28.936121],[105.830546,28.944501],[105.852719,28.927217],[105.910002,28.920407],[105.969132,28.965971],[106.001161,28.973824],[106.040581,28.955498],[106.049204,28.906263],[106.070762,28.919884],[106.101559,28.898928],[106.14837,28.901548],[106.173008,28.920407],[106.206885,28.904691],[106.264783,28.845997],[106.245689,28.817686],[106.267863,28.779402],[106.274022,28.739004],[106.305435,28.704365],[106.304203,28.64976],[106.346703,28.583565],[106.33192,28.55308],[106.37442,28.525742]]],[[[109.105495,30.585529],[109.106111,30.61077],[109.09256,30.578831],[109.09872,30.579346],[109.101183,30.579346],[109.102415,30.580377],[109.105495,30.585529]]],[[[105.582938,30.12385],[105.582938,30.127474],[105.580474,30.129544],[105.574315,30.130579],[105.582938,30.12385]]],[[[109.09872,30.579346],[109.09256,30.578831],[109.103647,30.565949],[109.106111,30.570587],[109.09872,30.579346]]],[[[107.058113,30.043066],[107.053801,30.043584],[107.054417,30.040994],[107.055649,30.040476],[107.058113,30.043066]]]]}},{"type":"Feature","properties":{"adcode":510000,"name":"四川省","center":[104.065735,30.659462],"centroid":[102.693453,30.674545],"childrenNum":21,"level":"province","parent":{"adcode":100000},"subFeatureIndex":22,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[101.167885,27.198311],[101.170349,27.175421],[101.145095,27.103523],[101.157414,27.094999],[101.136472,27.023584],[101.228863,26.981992],[101.227015,26.959057],[101.264587,26.955323],[101.267667,26.903034],[101.311399,26.903034],[101.365602,26.883819],[101.399478,26.841642],[101.358826,26.771669],[101.387159,26.753501],[101.389623,26.723036],[101.435819,26.740675],[101.458608,26.731054],[101.445674,26.77434],[101.466,26.786629],[101.513427,26.768463],[101.453065,26.692563],[101.481398,26.673313],[101.461072,26.640687],[101.461688,26.606447],[101.402558,26.604841],[101.395783,26.591998],[101.422884,26.53151],[101.458608,26.49563],[101.506652,26.499915],[101.530057,26.467239],[101.565782,26.454381],[101.637847,26.388995],[101.635383,26.357361],[101.660636,26.346635],[101.64031,26.318745],[101.597195,26.303187],[101.586108,26.279579],[101.630455,26.224832],[101.690202,26.241473],[101.737013,26.219463],[101.773353,26.168448],[101.807846,26.156093],[101.796759,26.114723],[101.839875,26.082477],[101.835563,26.04592],[101.857737,26.049146],[101.899621,26.099139],[101.929186,26.105588],[101.954439,26.084627],[102.020961,26.096451],[102.080091,26.065275],[102.107808,26.068501],[102.152156,26.10935],[102.174946,26.146961],[102.242699,26.190468],[102.245163,26.212483],[102.349257,26.244694],[102.392372,26.296749],[102.440416,26.300505],[102.542046,26.338591],[102.570995,26.362723],[102.629509,26.336982],[102.638748,26.307479],[102.60056,26.250598],[102.659074,26.221611],[102.709581,26.210336],[102.739762,26.268846],[102.785342,26.298895],[102.833385,26.306406],[102.878964,26.364332],[102.893131,26.338591],[102.975667,26.340736],[102.998457,26.371839],[102.988602,26.413117],[102.989833,26.482775],[103.030485,26.485989],[103.052659,26.514374],[103.052659,26.555602],[103.035413,26.556673],[103.026174,26.664221],[103.005232,26.679195],[103.008312,26.710741],[102.983674,26.76686],[102.991681,26.775409],[102.966428,26.837904],[102.949181,26.843244],[102.896211,26.91264],[102.894979,27.001724],[102.870957,27.026782],[102.913457,27.133886],[102.904218,27.227584],[102.883276,27.258444],[102.883892,27.299401],[102.899906,27.317481],[102.941174,27.405711],[102.989833,27.367983],[103.055739,27.40943],[103.080992,27.396679],[103.141355,27.420586],[103.144434,27.450331],[103.19063,27.523596],[103.232514,27.56976],[103.2861,27.561802],[103.29226,27.632872],[103.349542,27.678459],[103.369868,27.708664],[103.393274,27.709194],[103.461027,27.779638],[103.487512,27.794992],[103.509686,27.843687],[103.502295,27.910343],[103.55465,27.978543],[103.515846,27.965329],[103.486281,28.033495],[103.459179,28.021345],[103.430846,28.044587],[103.470266,28.122204],[103.533092,28.168641],[103.573128,28.230877],[103.643961,28.260401],[103.692004,28.232459],[103.701859,28.198709],[103.740048,28.23615],[103.770845,28.233514],[103.828743,28.285173],[103.877402,28.316262],[103.85338,28.356822],[103.860156,28.383677],[103.828743,28.44],[103.829975,28.459995],[103.781931,28.525216],[103.802873,28.563068],[103.838598,28.587244],[103.833054,28.605109],[103.850917,28.66709],[103.887873,28.61982],[103.910047,28.631377],[103.953779,28.600906],[104.05972,28.6277],[104.09606,28.603533],[104.117618,28.634003],[104.170589,28.642932],[104.230951,28.635579],[104.252509,28.660788],[104.277147,28.631902],[104.314719,28.615617],[104.372617,28.649235],[104.425588,28.626649],[104.417581,28.598279],[104.375697,28.5946],[104.355987,28.555183],[104.323342,28.540989],[104.260516,28.536257],[104.267908,28.499448],[104.254357,28.403683],[104.282074,28.343128],[104.314103,28.306778],[104.343052,28.334173],[104.384936,28.329959],[104.392943,28.291497],[104.420045,28.269889],[104.44961,28.269889],[104.462544,28.241422],[104.442834,28.211366],[104.402182,28.202928],[104.406494,28.173389],[104.444682,28.16231],[104.448994,28.113758],[104.40095,28.091586],[104.373233,28.051454],[104.304248,28.050926],[104.30856,28.036136],[104.362762,28.012891],[104.40095,27.952114],[104.44961,27.927794],[104.508124,27.878078],[104.52537,27.889187],[104.573413,27.840512],[104.607906,27.857974],[104.63316,27.850567],[104.676275,27.880723],[104.743413,27.901881],[104.761891,27.884426],[104.796999,27.901352],[104.842579,27.900294],[104.888158,27.914574],[104.918339,27.938897],[104.903557,27.962158],[104.975006,28.020816],[104.980549,28.063073],[105.002107,28.064129],[105.061853,28.096866],[105.119752,28.07205],[105.168411,28.071522],[105.186889,28.054623],[105.167795,28.021345],[105.186273,27.995454],[105.218302,27.990698],[105.247867,28.009193],[105.270657,27.99704],[105.284823,27.935725],[105.233084,27.895534],[105.25957,27.827811],[105.313157,27.810874],[105.273736,27.794992],[105.293447,27.770637],[105.290367,27.712373],[105.308229,27.704955],[105.353809,27.748924],[105.44004,27.775402],[105.508409,27.769048],[105.560148,27.71979],[105.605112,27.715552],[105.62359,27.666269],[105.664242,27.683759],[105.720292,27.683759],[105.722756,27.706015],[105.76772,27.7182],[105.848408,27.707074],[105.868118,27.732504],[105.922937,27.746805],[105.92848,27.729855],[105.985146,27.749983],[106.023335,27.746805],[106.063987,27.776991],[106.120653,27.779638],[106.193334,27.75422],[106.242609,27.767459],[106.306667,27.808756],[106.337464,27.859033],[106.325145,27.898708],[106.304819,27.899237],[106.307899,27.936782],[106.328225,27.952643],[106.286341,28.007079],[106.246305,28.011835],[106.266631,28.066769],[106.206885,28.134343],[106.145291,28.162837],[106.093552,28.162837],[105.975907,28.107952],[105.943878,28.143314],[105.895219,28.119565],[105.860727,28.159672],[105.889676,28.237732],[105.848408,28.255656],[105.824386,28.306251],[105.78743,28.335753],[105.76464,28.308359],[105.76464,28.308359],[105.737539,28.30309],[105.730147,28.271997],[105.68888,28.284119],[105.639604,28.324164],[105.655003,28.362615],[105.643916,28.431053],[105.612503,28.438947],[105.62359,28.517854],[105.68272,28.534154],[105.693191,28.58882],[105.712901,28.586718],[105.74493,28.616668],[105.757249,28.590397],[105.78435,28.610889],[105.808372,28.599855],[105.884748,28.595126],[105.889676,28.670765],[105.937719,28.686517],[105.966668,28.761041],[106.001161,28.743727],[106.030726,28.694917],[106.085544,28.681792],[106.103407,28.636104],[106.14837,28.642932],[106.17116,28.629275],[106.184711,28.58882],[106.254928,28.539412],[106.2925,28.537309],[106.304819,28.505233],[106.349167,28.473674],[106.379348,28.479986],[106.37442,28.525742],[106.33192,28.55308],[106.346703,28.583565],[106.304203,28.64976],[106.305435,28.704365],[106.274022,28.739004],[106.267863,28.779402],[106.245689,28.817686],[106.264783,28.845997],[106.206885,28.904691],[106.173008,28.920407],[106.14837,28.901548],[106.101559,28.898928],[106.070762,28.919884],[106.049204,28.906263],[106.040581,28.955498],[106.001161,28.973824],[105.969132,28.965971],[105.910002,28.920407],[105.852719,28.927217],[105.830546,28.944501],[105.797285,28.936121],[105.801596,28.958116],[105.762176,28.9911],[105.766488,29.013607],[105.74185,29.039249],[105.757865,29.069068],[105.728916,29.1062],[105.752321,29.129727],[105.728916,29.134432],[105.703662,29.176766],[105.712285,29.219082],[105.695039,29.287482],[105.647612,29.253027],[105.631597,29.280174],[105.557684,29.278608],[105.521344,29.264513],[105.513337,29.283306],[105.459134,29.288526],[105.465294,29.322969],[105.42033,29.31149],[105.418482,29.352185],[105.441888,29.400686],[105.426489,29.419454],[105.372903,29.421018],[105.399388,29.43874],[105.387069,29.455416],[105.387069,29.455416],[105.334099,29.441345],[105.337794,29.459064],[105.305149,29.53199],[105.296526,29.571035],[105.332867,29.592374],[105.347649,29.621512],[105.38091,29.628275],[105.419714,29.688082],[105.476996,29.674564],[105.481924,29.718232],[105.529351,29.707836],[105.574931,29.744216],[105.582938,29.819013],[105.610655,29.837184],[105.707974,29.840818],[105.738771,29.891159],[105.717213,29.893753],[105.70243,29.924879],[105.730763,29.95755],[105.723372,29.975177],[105.753553,30.018196],[105.719677,30.042548],[105.687032,30.038922],[105.676561,30.06793],[105.638988,30.076216],[105.642068,30.101072],[105.582938,30.12385],[105.574315,30.130579],[105.596489,30.159043],[105.536127,30.152834],[105.550909,30.179222],[105.556453,30.187499],[105.558916,30.18543],[105.56138,30.183878],[105.642684,30.186464],[105.662394,30.210258],[105.619894,30.234045],[105.624822,30.275918],[105.670401,30.254208],[105.720292,30.252657],[105.720292,30.252657],[105.714749,30.322939],[105.754785,30.342567],[105.760329,30.384393],[105.792357,30.427234],[105.825618,30.436006],[105.84656,30.410203],[105.900763,30.405042],[105.943263,30.372002],[106.031958,30.373551],[106.07261,30.333786],[106.132972,30.30279],[106.132356,30.323972],[106.168696,30.303823],[106.180399,30.233011],[106.232754,30.185947],[106.260471,30.19681],[106.260471,30.204051],[106.260471,30.207672],[106.264167,30.20974],[106.296196,30.205603],[106.306667,30.238182],[106.334384,30.225772],[106.349167,30.24542],[106.401521,30.242318],[106.428623,30.254725],[106.43971,30.308473],[106.49884,30.295556],[106.545035,30.296589],[106.560434,30.31519],[106.611557,30.292455],[106.642354,30.246454],[106.612789,30.235596],[106.612789,30.235596],[106.612173,30.235596],[106.612173,30.235596],[106.611557,30.235596],[106.612173,30.235596],[106.611557,30.235596],[106.631883,30.186464],[106.677462,30.156974],[106.672535,30.122297],[106.700252,30.111944],[106.699636,30.074145],[106.724274,30.058607],[106.732281,30.027005],[106.785252,30.01716],[106.825904,30.03115],[106.825904,30.03115],[106.83699,30.049801],[106.862244,30.033223],[106.913367,30.025451],[106.94478,30.037367],[106.976193,30.083467],[106.975577,30.088127],[106.976809,30.088127],[106.977425,30.087609],[106.978656,30.087609],[106.979888,30.088127],[106.980504,30.087609],[106.981736,30.08502],[107.02054,30.036849],[107.053801,30.043584],[107.058113,30.043066],[107.084598,30.063786],[107.080286,30.094341],[107.103076,30.090198],[107.221337,30.213878],[107.257677,30.267131],[107.288474,30.337402],[107.338981,30.386459],[107.368546,30.468508],[107.408582,30.521623],[107.443075,30.53348],[107.427676,30.547397],[107.485575,30.598408],[107.516987,30.644759],[107.477567,30.664837],[107.458473,30.704981],[107.424597,30.74048],[107.454162,30.771851],[107.454162,30.771851],[107.498509,30.809381],[107.483111,30.838675],[107.515756,30.854603],[107.57735,30.847924],[107.645103,30.821202],[107.693146,30.875665],[107.739957,30.884396],[107.760899,30.862823],[107.763979,30.817091],[107.788001,30.81966],[107.851443,30.792931],[107.956152,30.882855],[107.994956,30.908533],[107.948145,30.918802],[107.942602,30.989114],[107.983254,30.983983],[108.00358,31.025533],[108.060246,31.052197],[108.026985,31.061938],[108.009123,31.109602],[108.025753,31.116263],[108.089811,31.204859],[108.07626,31.231985],[108.031297,31.217144],[108.038688,31.252964],[108.095354,31.268311],[108.185898,31.336831],[108.153869,31.371073],[108.216079,31.41041],[108.224086,31.464024],[108.193289,31.467598],[108.191441,31.492096],[108.233941,31.506894],[108.254883,31.49873],[108.344194,31.512506],[108.339266,31.539033],[108.386078,31.544134],[108.390389,31.591555],[108.442744,31.633856],[108.468614,31.636404],[108.519121,31.665952],[108.546838,31.665442],[108.514809,31.693963],[108.50557,31.734182],[108.535135,31.757592],[108.462454,31.780488],[108.455063,31.814059],[108.429194,31.809482],[108.391005,31.829822],[108.386078,31.854226],[108.343578,31.860834],[108.259194,31.967006],[108.307238,31.997463],[108.351585,31.971575],[108.370063,31.988835],[108.329411,32.020299],[108.362056,32.035521],[108.344194,32.067477],[108.372527,32.077112],[108.42981,32.061391],[108.452599,32.090296],[108.399628,32.147065],[108.379303,32.153652],[108.379303,32.153652],[108.379918,32.154158],[108.379918,32.154158],[108.370063,32.172397],[108.399013,32.194176],[108.480317,32.182527],[108.509882,32.201266],[108.507418,32.245819],[108.469846,32.270618],[108.414411,32.252399],[108.389773,32.263533],[108.310933,32.232152],[108.240716,32.274666],[108.179738,32.221521],[108.156948,32.239239],[108.143398,32.219495],[108.086731,32.233165],[108.018362,32.2119],[108.024521,32.177462],[107.979558,32.146051],[107.924739,32.197215],[107.890247,32.214432],[107.864377,32.201266],[107.812022,32.247844],[107.753508,32.338399],[107.707929,32.331826],[107.680827,32.397035],[107.648183,32.413709],[107.598291,32.411688],[107.527458,32.38238],[107.489886,32.425328],[107.456625,32.41775],[107.460937,32.453612],[107.438763,32.465732],[107.436299,32.529835],[107.382097,32.54043],[107.356843,32.506622],[107.313727,32.489965],[107.287858,32.457147],[107.263836,32.403099],[107.212097,32.428864],[107.189924,32.468256],[107.127098,32.482393],[107.080286,32.542448],[107.108004,32.600951],[107.098765,32.649338],[107.05996,32.686115],[107.066736,32.708779],[107.012533,32.721367],[106.912751,32.704247],[106.903512,32.721367],[106.854853,32.724388],[106.82344,32.705254],[106.793259,32.712807],[106.783404,32.735967],[106.733513,32.739491],[106.670071,32.694678],[106.626955,32.682086],[106.585687,32.68813],[106.517934,32.668485],[106.498224,32.649338],[106.451412,32.65992],[106.421231,32.616579],[106.389203,32.62666],[106.347935,32.671003],[106.301123,32.680071],[106.267863,32.673522],[106.254928,32.693671],[106.17424,32.6977],[106.120037,32.719856],[106.071378,32.758114],[106.07261,32.76365],[106.093552,32.82402],[106.071378,32.828546],[106.044277,32.864747],[106.011632,32.829552],[105.969132,32.849162],[105.93156,32.826032],[105.893371,32.838603],[105.849024,32.817985],[105.825002,32.824523],[105.822538,32.770192],[105.779423,32.750061],[105.768952,32.767676],[105.719061,32.759624],[105.677793,32.726402],[105.596489,32.69921],[105.585402,32.728919],[105.563844,32.724891],[105.555221,32.794343],[105.534279,32.790822],[105.524424,32.847654],[105.495475,32.873292],[105.49917,32.911986],[105.467757,32.930071],[105.414171,32.922034],[105.408011,32.885857],[105.38091,32.876307],[105.396308,32.85067],[105.396308,32.85067],[105.427721,32.784281],[105.454207,32.767173],[105.448663,32.732946],[105.368591,32.712807],[105.347033,32.68259],[105.297758,32.656897],[105.263265,32.652362],[105.219534,32.666469],[105.215222,32.63674],[105.185041,32.617587],[105.111128,32.593893],[105.0791,32.637244],[105.026745,32.650346],[104.925115,32.607505],[104.881999,32.600951],[104.845659,32.653873],[104.820405,32.662943],[104.795768,32.643292],[104.739717,32.635228],[104.696601,32.673522],[104.643015,32.661935],[104.592508,32.695685],[104.582653,32.722374],[104.526602,32.728416],[104.51182,32.753585],[104.458849,32.748551],[104.363994,32.822511],[104.294393,32.835586],[104.277147,32.90244],[104.288234,32.942628],[104.345516,32.940117],[104.378161,32.953174],[104.383704,32.994343],[104.426204,33.010906],[104.391711,33.035493],[104.337509,33.038002],[104.378161,33.109214],[104.351059,33.158828],[104.32827,33.223934],[104.323958,33.26898],[104.303632,33.304499],[104.333813,33.315502],[104.386168,33.298497],[104.420045,33.327004],[104.373849,33.345004],[104.292545,33.336505],[104.272219,33.391486],[104.22048,33.404477],[104.213089,33.446932],[104.180444,33.472895],[104.155191,33.542755],[104.176749,33.5996],[104.103452,33.663381],[104.046169,33.686291],[103.980264,33.670852],[103.861388,33.682307],[103.778236,33.658898],[103.690772,33.69376],[103.667983,33.685793],[103.645809,33.708697],[103.593454,33.716164],[103.563889,33.699735],[103.552186,33.671351],[103.520157,33.678323],[103.545411,33.719649],[103.518309,33.807213],[103.464723,33.80224],[103.434542,33.752993],[103.35447,33.743539],[103.278709,33.774387],[103.284868,33.80224],[103.24976,33.814175],[103.228202,33.79478],[103.165376,33.805721],[103.153673,33.819147],[103.181391,33.900649],[103.16476,33.929454],[103.1315,33.931937],[103.120413,33.953286],[103.157369,33.998944],[103.147514,34.036644],[103.119797,34.03466],[103.129652,34.065899],[103.178927,34.079779],[103.121644,34.112487],[103.124108,34.162022],[103.100087,34.181828],[103.052043,34.195194],[103.005848,34.184798],[102.973203,34.205588],[102.977515,34.252595],[102.949181,34.292159],[102.911609,34.312923],[102.85987,34.301058],[102.856791,34.270895],[102.798276,34.272874],[102.779798,34.236764],[102.728675,34.235774],[102.694799,34.198659],[102.664002,34.192719],[102.651067,34.165983],[102.598712,34.14766],[102.655994,34.113478],[102.649219,34.080275],[102.615958,34.099604],[102.511865,34.086222],[102.471213,34.072839],[102.437336,34.087214],[102.406539,34.033172],[102.392372,33.971651],[102.345561,33.969666],[102.315996,33.993983],[102.287047,33.977607],[102.248858,33.98654],[102.226069,33.963214],[102.16817,33.983066],[102.136142,33.965199],[102.25317,33.861399],[102.261177,33.821136],[102.243315,33.786823],[102.296286,33.783838],[102.324619,33.754486],[102.284583,33.719151],[102.342481,33.725622],[102.31538,33.665374],[102.346793,33.605582],[102.440416,33.574673],[102.477988,33.543254],[102.446575,33.53228],[102.461358,33.501345],[102.462589,33.449429],[102.447807,33.454922],[102.392988,33.404477],[102.368967,33.41247],[102.310452,33.397982],[102.296286,33.413969],[102.258098,33.409472],[102.218062,33.349503],[102.192192,33.337005],[102.217446,33.247961],[102.200815,33.223434],[102.160163,33.242956],[102.144765,33.273983],[102.117047,33.288492],[102.08933,33.227439],[102.08933,33.204908],[102.054838,33.189884],[101.99386,33.1999],[101.935345,33.186879],[101.921795,33.153817],[101.887302,33.135778],[101.865744,33.103198],[101.825708,33.119239],[101.841723,33.184876],[101.83002,33.213921],[101.770274,33.248962],[101.769658,33.26898],[101.877447,33.314502],[101.887302,33.383991],[101.915635,33.425957],[101.946432,33.442937],[101.906396,33.48188],[101.907012,33.539264],[101.884222,33.578163],[101.844186,33.602591],[101.831252,33.554726],[101.783208,33.556721],[101.769042,33.538765],[101.777665,33.533776],[101.769042,33.45592],[101.695745,33.433948],[101.663716,33.383991],[101.64955,33.323004],[101.677883,33.297497],[101.735781,33.279987],[101.709912,33.21292],[101.653861,33.162835],[101.661252,33.135778],[101.633535,33.101193],[101.557775,33.167344],[101.515275,33.192889],[101.487557,33.226938],[101.403174,33.225436],[101.386543,33.207412],[101.393935,33.157826],[101.381616,33.153316],[101.297232,33.262475],[101.217776,33.256469],[101.182668,33.26948],[101.156798,33.236449],[101.124769,33.221431],[101.11553,33.194893],[101.169733,33.10019],[101.143863,33.086151],[101.146327,33.056563],[101.184515,33.041514],[101.171581,33.009902],[101.183899,32.984304],[101.129081,32.989324],[101.134624,32.95217],[101.124153,32.909976],[101.178356,32.892892],[101.223935,32.855698],[101.237486,32.825026],[101.22332,32.725898],[101.157414,32.661431],[101.124769,32.658408],[101.077342,32.68259],[101.030531,32.660424],[100.99727,32.627668],[100.956618,32.621116],[100.93198,32.600447],[100.887633,32.632708],[100.834046,32.648835],[100.77122,32.643795],[100.690532,32.678056],[100.71209,32.645307],[100.710242,32.610026],[100.673286,32.628172],[100.661583,32.616075],[100.657887,32.546484],[100.645568,32.526303],[100.603069,32.553547],[100.54517,32.569687],[100.516837,32.632204],[100.470026,32.694678],[100.450932,32.694678],[100.420135,32.73194],[100.378251,32.698707],[100.399193,32.756101],[100.339447,32.719353],[100.258759,32.742511],[100.231041,32.696189],[100.229809,32.650346],[100.208252,32.606497],[100.189773,32.630692],[100.109701,32.640268],[100.088143,32.668988],[100.139266,32.724388],[100.117093,32.802392],[100.123252,32.837095],[100.064738,32.895907],[100.029629,32.895907],[100.038252,32.929066],[99.956332,32.948152],[99.947709,32.986814],[99.877492,33.045527],[99.877492,32.993339],[99.851007,32.941623],[99.805427,32.940619],[99.788181,32.956689],[99.764159,32.924545],[99.791877,32.883344],[99.766623,32.826032],[99.760464,32.769689],[99.717964,32.732443],[99.700718,32.76667],[99.646515,32.774721],[99.640355,32.790822],[99.589233,32.789312],[99.558436,32.839106],[99.45311,32.862233],[99.376118,32.899927],[99.353944,32.885354],[99.268944,32.878318],[99.24677,32.924043],[99.235067,32.982296],[99.214741,32.991332],[99.196263,33.035493],[99.124814,33.046028],[99.090322,33.079131],[99.024416,33.094675],[99.014561,33.081137],[98.971445,33.098185],[98.967134,33.115229],[98.92217,33.118738],[98.858728,33.150811],[98.804526,33.219428],[98.802062,33.270481],[98.759562,33.276985],[98.779888,33.370497],[98.736157,33.406975],[98.742316,33.477887],[98.725686,33.503341],[98.678258,33.522801],[98.648077,33.548741],[98.652389,33.595114],[98.622824,33.610067],[98.61728,33.637476],[98.6567,33.64744],[98.610505,33.682805],[98.582788,33.731595],[98.539672,33.746525],[98.51873,33.77389],[98.494092,33.768915],[98.492861,33.796272],[98.463295,33.848477],[98.434962,33.843009],[98.407245,33.867362],[98.425723,33.913066],[98.415252,33.956761],[98.440506,33.981577],[98.428187,34.029204],[98.396774,34.053008],[98.399854,34.085231],[98.344419,34.094648],[98.258188,34.083249],[98.206449,34.08424],[98.158405,34.107037],[98.098043,34.122892],[98.028442,34.122892],[97.95453,34.190739],[97.898479,34.209548],[97.8104,34.207568],[97.796849,34.199154],[97.796849,34.199154],[97.789458,34.182818],[97.789458,34.182818],[97.766668,34.158555],[97.665654,34.126855],[97.70261,34.036644],[97.652719,33.998448],[97.660111,33.956264],[97.629314,33.919523],[97.601596,33.929951],[97.52214,33.903133],[97.503662,33.912073],[97.460546,33.887236],[97.395257,33.889224],[97.398336,33.848477],[97.371851,33.842015],[97.373083,33.817655],[97.406344,33.795278],[97.422974,33.754984],[97.418046,33.728608],[97.435293,33.682307],[97.415583,33.605582],[97.450075,33.582152],[97.523372,33.577166],[97.511669,33.520805],[97.552321,33.465906],[97.625618,33.461412],[97.674893,33.432949],[97.754349,33.409972],[97.676125,33.341004],[97.622538,33.337005],[97.607756,33.263976],[97.548626,33.203907],[97.487648,33.168346],[97.498119,33.137783],[97.487032,33.107209],[97.517213,33.097683],[97.542466,33.035995],[97.499966,33.011408],[97.523988,32.988822],[97.438372,32.976271],[97.375547,32.956689],[97.347829,32.895907],[97.376163,32.886359],[97.392793,32.828546],[97.386018,32.77925],[97.429133,32.714318],[97.42359,32.70475],[97.48272,32.654377],[97.535075,32.638252],[97.543698,32.62162],[97.607756,32.614059],[97.616995,32.586329],[97.700763,32.53488],[97.730944,32.527312],[97.795617,32.521257],[97.80732,32.50006],[97.863986,32.499051],[97.880001,32.486431],[97.940363,32.482393],[98.079565,32.415224],[98.107283,32.391476],[98.125145,32.401077],[98.218768,32.342444],[98.208913,32.318171],[98.23047,32.262521],[98.218768,32.234683],[98.260035,32.208862],[98.303151,32.121726],[98.357354,32.087253],[98.404781,32.045159],[98.402933,32.026896],[98.434962,32.007613],[98.432498,31.922825],[98.399238,31.895899],[98.426339,31.856767],[98.414636,31.832365],[98.461448,31.800327],[98.508875,31.751995],[98.516882,31.717383],[98.545831,31.717383],[98.553839,31.660349],[98.619128,31.591555],[98.651157,31.57881],[98.696736,31.538523],[98.714599,31.508935],[98.844562,31.429817],[98.84333,31.416028],[98.887062,31.37465],[98.810685,31.306668],[98.805758,31.279052],[98.773113,31.249382],[98.691809,31.333253],[98.643766,31.338876],[98.616048,31.3036],[98.60373,31.257568],[98.62344,31.221238],[98.602498,31.192062],[98.675179,31.15417],[98.710287,31.1178],[98.712135,31.082954],[98.736772,31.049121],[98.774961,31.031174],[98.806374,30.995783],[98.797135,30.948575],[98.774345,30.908019],[98.797135,30.87926],[98.850105,30.849465],[98.904924,30.782649],[98.957895,30.765166],[98.963438,30.728134],[98.907388,30.698292],[98.92217,30.609225],[98.939417,30.598923],[98.926482,30.569556],[98.932025,30.521623],[98.965286,30.449937],[98.967134,30.33482],[98.986844,30.280569],[98.970829,30.260928],[98.993003,30.215429],[98.9813,30.182843],[98.989308,30.151799],[99.044742,30.079842],[99.036735,30.053945],[99.055213,29.958587],[99.068148,29.931621],[99.0238,29.846009],[99.018873,29.792009],[98.992387,29.677163],[99.014561,29.607464],[99.052133,29.563748],[99.044742,29.520013],[99.066916,29.421018],[99.058909,29.417368],[99.075539,29.316186],[99.114343,29.243628],[99.113727,29.221171],[99.105104,29.162656],[99.118039,29.100971],[99.113727,29.07273],[99.132206,28.94869],[99.123582,28.890021],[99.103872,28.841803],[99.114343,28.765763],[99.134053,28.734806],[99.126662,28.698066],[99.147604,28.640831],[99.183944,28.58882],[99.170394,28.566221],[99.191952,28.494714],[99.187024,28.44],[99.16485,28.425264],[99.200575,28.365774],[99.229524,28.350502],[99.237531,28.317842],[99.28927,28.286227],[99.306516,28.227714],[99.374886,28.18183],[99.412458,28.295186],[99.392748,28.318369],[99.437095,28.398419],[99.404451,28.44421],[99.426625,28.454207],[99.396444,28.491032],[99.403219,28.546246],[99.463581,28.549401],[99.466045,28.579886],[99.504233,28.619294],[99.540573,28.623497],[99.53195,28.677591],[99.553508,28.710664],[99.614486,28.740054],[99.609559,28.784122],[99.625573,28.81454],[99.676696,28.810345],[99.717964,28.846521],[99.722275,28.757369],[99.755536,28.701216],[99.79434,28.699116],[99.834992,28.660788],[99.834376,28.628225],[99.873181,28.631902],[99.875644,28.611939],[99.91876,28.599329],[99.985281,28.529422],[99.990209,28.47683],[100.073977,28.426317],[100.057346,28.368934],[100.136803,28.349975],[100.176223,28.325218],[100.147274,28.288862],[100.188541,28.252493],[100.153433,28.208202],[100.102926,28.201873],[100.091223,28.181302],[100.062274,28.193962],[100.033325,28.184467],[100.021006,28.147008],[100.05673,28.097922],[100.088759,28.029269],[100.120788,28.018703],[100.196549,27.936254],[100.170063,27.907699],[100.210715,27.87702],[100.30865,27.861149],[100.30865,27.830457],[100.28586,27.80611],[100.304954,27.788639],[100.311729,27.724028],[100.327744,27.72032],[100.350534,27.755809],[100.412127,27.816167],[100.442924,27.86644],[100.504518,27.852154],[100.511294,27.827811],[100.54517,27.809286],[100.609228,27.859033],[100.634482,27.915631],[100.681293,27.923035],[100.719481,27.858503],[100.707162,27.800816],[100.757053,27.770107],[100.775532,27.743098],[100.782307,27.691708],[100.848212,27.672099],[100.827886,27.615904],[100.854988,27.623858],[100.91227,27.521473],[100.901183,27.453517],[100.936908,27.469448],[100.95169,27.426961],[101.021907,27.332899],[101.026219,27.270679],[101.042233,27.22173],[101.071798,27.194585],[101.119226,27.208957],[101.167885,27.198311],[101.167885,27.198311]]],[[[106.264167,30.20974],[106.260471,30.207672],[106.260471,30.204051],[106.260471,30.19681],[106.264167,30.20974]]],[[[106.976809,30.088127],[106.975577,30.088127],[106.976193,30.083467],[106.981736,30.08502],[106.980504,30.087609],[106.979888,30.088127],[106.978656,30.087609],[106.977425,30.087609],[106.976809,30.088127]]],[[[105.558916,30.18543],[105.556453,30.187499],[105.550909,30.179222],[105.56138,30.183878],[105.558916,30.18543]]]]}},{"type":"Feature","properties":{"adcode":520000,"name":"贵州省","center":[106.713478,26.578343],"centroid":[106.880455,26.826368],"childrenNum":9,"level":"province","parent":{"adcode":100000},"subFeatureIndex":23,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[109.274262,28.494714],[109.23361,28.474726],[109.191726,28.471043],[109.153538,28.417369],[109.152306,28.349975],[109.117198,28.277795],[109.081473,28.247749],[109.101799,28.202401],[109.086401,28.184467],[109.026655,28.220331],[109.005713,28.162837],[108.929952,28.19027],[108.923793,28.217167],[108.89546,28.219804],[108.855424,28.199764],[108.821547,28.245113],[108.772888,28.212949],[108.738395,28.228241],[108.726692,28.282011],[108.761801,28.304143],[108.783359,28.380518],[108.759953,28.389995],[108.780279,28.42579],[108.746402,28.45105],[108.709446,28.501026],[108.700207,28.48209],[108.657091,28.47683],[108.640461,28.456838],[108.688504,28.422106],[108.697127,28.401051],[108.656475,28.359981],[108.667562,28.334173],[108.611512,28.324691],[108.580099,28.343128],[108.576403,28.38631],[108.609048,28.407368],[108.609664,28.43579],[108.586874,28.463678],[108.573939,28.531],[108.610896,28.539412],[108.604736,28.590922],[108.636149,28.621396],[108.575787,28.659738],[108.50249,28.63768],[108.501258,28.626649],[108.439049,28.634003],[108.332491,28.679166],[108.347274,28.736381],[108.385462,28.772058],[108.386078,28.803003],[108.352817,28.815589],[108.346658,28.859625],[108.357745,28.893165],[108.345426,28.943453],[108.319556,28.961258],[108.297999,29.045527],[108.306622,29.079006],[108.277673,29.091558],[108.256115,29.040295],[108.193289,29.072207],[108.150173,29.053375],[108.070717,29.086328],[108.026369,29.039772],[107.925971,29.032446],[107.908725,29.007327],[107.882855,29.00628],[107.867457,28.960211],[107.810175,28.984295],[107.823725,29.034016],[107.784921,29.048143],[107.810791,29.139137],[107.749197,29.199754],[107.700537,29.141228],[107.659885,29.162656],[107.605683,29.164747],[107.589052,29.150113],[107.570574,29.218037],[107.486806,29.174153],[107.441227,29.203934],[107.401807,29.184603],[107.408582,29.138091],[107.427676,29.128682],[107.412278,29.094696],[107.369778,29.091558],[107.395647,29.041341],[107.364235,29.00942],[107.396879,28.993718],[107.412894,28.960211],[107.441227,28.943977],[107.41351,28.911502],[107.383945,28.848618],[107.339597,28.845997],[107.327894,28.810869],[107.261373,28.792514],[107.24659,28.76209],[107.219489,28.772582],[107.210866,28.817686],[107.227496,28.836037],[107.194851,28.838134],[107.206554,28.868535],[107.14188,28.887925],[107.016229,28.882685],[107.019308,28.861722],[106.983584,28.851239],[106.988512,28.776254],[106.951555,28.766812],[106.923222,28.809821],[106.872099,28.777304],[106.845614,28.780975],[106.824056,28.756319],[106.86594,28.690192],[106.889345,28.695966],[106.866556,28.624548],[106.830831,28.623497],[106.807425,28.589346],[106.784636,28.626649],[106.756918,28.607211],[106.77786,28.563068],[106.73844,28.554657],[106.726121,28.51838],[106.747063,28.467361],[106.708259,28.450524],[106.697788,28.47683],[106.632499,28.503655],[106.564745,28.485247],[106.567825,28.523638],[106.615252,28.549401],[106.606629,28.593024],[106.63681,28.622972],[106.618332,28.645033],[106.651593,28.649235],[106.617716,28.66709],[106.6171,28.691242],[106.587535,28.691767],[106.56105,28.719062],[106.561666,28.756319],[106.474202,28.832891],[106.45326,28.817162],[106.461883,28.761041],[106.492064,28.742153],[106.528405,28.677591],[106.502535,28.661313],[106.49268,28.591448],[106.466811,28.586193],[106.504999,28.544669],[106.477282,28.530474],[106.403369,28.569901],[106.37442,28.525742],[106.379348,28.479986],[106.349167,28.473674],[106.304819,28.505233],[106.2925,28.537309],[106.254928,28.539412],[106.184711,28.58882],[106.17116,28.629275],[106.14837,28.642932],[106.103407,28.636104],[106.085544,28.681792],[106.030726,28.694917],[106.001161,28.743727],[105.966668,28.761041],[105.937719,28.686517],[105.889676,28.670765],[105.884748,28.595126],[105.808372,28.599855],[105.78435,28.610889],[105.757249,28.590397],[105.74493,28.616668],[105.712901,28.586718],[105.693191,28.58882],[105.68272,28.534154],[105.62359,28.517854],[105.612503,28.438947],[105.643916,28.431053],[105.655003,28.362615],[105.639604,28.324164],[105.68888,28.284119],[105.730147,28.271997],[105.737539,28.30309],[105.76464,28.308359],[105.76464,28.308359],[105.78743,28.335753],[105.824386,28.306251],[105.848408,28.255656],[105.889676,28.237732],[105.860727,28.159672],[105.895219,28.119565],[105.943878,28.143314],[105.975907,28.107952],[106.093552,28.162837],[106.145291,28.162837],[106.206885,28.134343],[106.266631,28.066769],[106.246305,28.011835],[106.286341,28.007079],[106.328225,27.952643],[106.307899,27.936782],[106.304819,27.899237],[106.325145,27.898708],[106.337464,27.859033],[106.306667,27.808756],[106.242609,27.767459],[106.193334,27.75422],[106.120653,27.779638],[106.063987,27.776991],[106.023335,27.746805],[105.985146,27.749983],[105.92848,27.729855],[105.922937,27.746805],[105.868118,27.732504],[105.848408,27.707074],[105.76772,27.7182],[105.722756,27.706015],[105.720292,27.683759],[105.664242,27.683759],[105.62359,27.666269],[105.605112,27.715552],[105.560148,27.71979],[105.508409,27.769048],[105.44004,27.775402],[105.353809,27.748924],[105.308229,27.704955],[105.29591,27.631811],[105.304533,27.611661],[105.25649,27.582491],[105.232469,27.546945],[105.260186,27.514573],[105.234316,27.489093],[105.233084,27.436522],[105.182577,27.367451],[105.184425,27.392959],[105.120984,27.418461],[105.068013,27.418461],[105.01073,27.379143],[104.913412,27.327051],[104.871528,27.290891],[104.851818,27.299401],[104.856746,27.332368],[104.824717,27.3531],[104.77113,27.317481],[104.7545,27.345658],[104.611602,27.306846],[104.570334,27.331836],[104.539537,27.327583],[104.497037,27.414743],[104.467472,27.414211],[104.363378,27.467855],[104.30856,27.407305],[104.295625,27.37436],[104.247582,27.336621],[104.248813,27.291955],[104.210625,27.297273],[104.173053,27.263232],[104.113923,27.338216],[104.084358,27.330773],[104.01722,27.383926],[104.015372,27.429086],[103.956242,27.425367],[103.932221,27.443958],[103.905119,27.38552],[103.903271,27.347785],[103.874322,27.331304],[103.865699,27.28185],[103.80041,27.26536],[103.801641,27.250464],[103.748671,27.210021],[103.696316,27.126429],[103.63349,27.12057],[103.620555,27.096598],[103.652584,27.092868],[103.659975,27.065692],[103.614396,27.079548],[103.601461,27.061962],[103.623635,27.035312],[103.623019,27.007056],[103.675374,27.051836],[103.704939,27.049171],[103.73204,27.018785],[103.753598,26.963858],[103.775156,26.951056],[103.763453,26.905702],[103.779468,26.87421],[103.722185,26.851253],[103.705555,26.794642],[103.725265,26.742812],[103.773308,26.716621],[103.759142,26.689355],[103.748671,26.623568],[103.763453,26.585041],[103.815808,26.55239],[103.819504,26.529903],[103.865699,26.512232],[103.953163,26.521336],[104.008597,26.511697],[104.067727,26.51491],[104.068343,26.573266],[104.121314,26.638012],[104.160734,26.646571],[104.222328,26.620358],[104.268524,26.617683],[104.274683,26.633733],[104.313487,26.612867],[104.353523,26.620893],[104.398487,26.686147],[104.424356,26.709137],[104.468088,26.644431],[104.459465,26.602701],[104.488414,26.579689],[104.556783,26.590393],[104.579573,26.568449],[104.57095,26.524549],[104.598667,26.520801],[104.638703,26.477954],[104.631928,26.451702],[104.665804,26.434019],[104.664572,26.397572],[104.684283,26.3772],[104.659645,26.335373],[104.592508,26.317672],[104.542616,26.253282],[104.548776,26.226979],[104.518595,26.165762],[104.52845,26.114186],[104.499501,26.070651],[104.460081,26.085702],[104.470552,26.009352],[104.438523,25.92757],[104.414501,25.909807],[104.441602,25.868889],[104.42374,25.841961],[104.397871,25.76168],[104.370769,25.730415],[104.328886,25.760602],[104.310407,25.647901],[104.332581,25.598796],[104.389248,25.595558],[104.428668,25.576126],[104.436059,25.520512],[104.418813,25.499447],[104.434827,25.472436],[104.44961,25.495126],[104.483486,25.494585],[104.524138,25.526992],[104.556783,25.524832],[104.543232,25.400556],[104.566638,25.402719],[104.615913,25.364871],[104.646094,25.356759],[104.639935,25.295632],[104.689826,25.296173],[104.736021,25.268034],[104.816094,25.262622],[104.826565,25.235558],[104.806854,25.224189],[104.822869,25.170037],[104.801927,25.163537],[104.753884,25.214443],[104.724319,25.195491],[104.732326,25.167871],[104.695369,25.122364],[104.685514,25.078466],[104.619609,25.060577],[104.684898,25.054072],[104.713232,24.996048],[104.663957,24.964584],[104.635623,24.903803],[104.586964,24.872859],[104.539537,24.813663],[104.542616,24.75607],[104.529682,24.731611],[104.595587,24.709323],[104.628848,24.660927],[104.703377,24.645698],[104.729246,24.617953],[104.771746,24.659839],[104.841963,24.676155],[104.865985,24.730524],[104.899245,24.752809],[105.03352,24.787586],[105.026745,24.815836],[105.039064,24.872859],[105.077868,24.918459],[105.09573,24.92877],[105.131454,24.959701],[105.157324,24.958616],[105.178266,24.985199],[105.212758,24.995505],[105.251563,24.967296],[105.267577,24.929313],[105.334099,24.9266],[105.365511,24.943423],[105.428337,24.930941],[105.457286,24.87123],[105.493011,24.833217],[105.497322,24.809318],[105.573083,24.797366],[105.607576,24.803885],[105.617431,24.78161],[105.70551,24.768569],[105.767104,24.719109],[105.827466,24.702799],[105.863806,24.729437],[105.942031,24.725088],[105.961741,24.677786],[106.024566,24.633186],[106.047356,24.684312],[106.113878,24.714216],[106.150218,24.762591],[106.173008,24.760417],[106.206269,24.851139],[106.197645,24.885889],[106.145291,24.954275],[106.191486,24.95319],[106.215508,24.981944],[106.253696,24.971094],[106.304819,24.973807],[106.332536,24.988454],[106.442173,25.019369],[106.450181,25.033468],[106.519782,25.054072],[106.551195,25.082802],[106.590615,25.08768],[106.63989,25.132658],[106.644817,25.164621],[106.691013,25.179245],[106.732281,25.162454],[106.764926,25.183036],[106.787715,25.17112],[106.853005,25.186827],[106.888113,25.181953],[106.904128,25.231768],[106.933077,25.250714],[106.975577,25.232851],[107.013765,25.275611],[107.012533,25.352973],[106.987896,25.358922],[106.963874,25.437852],[106.996519,25.442716],[107.015613,25.495666],[107.066736,25.50917],[107.064272,25.559391],[107.185612,25.578825],[107.205322,25.607971],[107.228728,25.604733],[107.232423,25.556691],[107.263836,25.543193],[107.336517,25.461089],[107.308184,25.432988],[107.318039,25.401637],[107.358691,25.393528],[107.375937,25.411908],[107.420901,25.392987],[107.409198,25.347024],[107.432604,25.289139],[107.481263,25.299961],[107.489886,25.276693],[107.472024,25.213902],[107.512676,25.209029],[107.576734,25.256668],[107.599523,25.250714],[107.632168,25.310241],[107.659885,25.316192],[107.661733,25.258833],[107.696226,25.219858],[107.700537,25.194408],[107.741805,25.24043],[107.762131,25.229061],[107.760283,25.188451],[107.789233,25.15487],[107.762747,25.125073],[107.839124,25.115861],[107.872384,25.141327],[107.928435,25.155954],[108.001732,25.196574],[108.080572,25.193867],[108.115065,25.210112],[108.143398,25.269658],[108.152021,25.324306],[108.142782,25.390825],[108.193289,25.405421],[108.162492,25.444878],[108.192673,25.458928],[108.251803,25.430286],[108.241332,25.46217],[108.280752,25.48],[108.308469,25.525912],[108.348506,25.536173],[108.359592,25.513491],[108.400244,25.491344],[108.418723,25.443257],[108.471693,25.458928],[108.585642,25.365952],[108.589338,25.335125],[108.625062,25.308076],[108.62999,25.335666],[108.600425,25.432448],[108.6072,25.491885],[108.634917,25.520512],[108.68912,25.533473],[108.658323,25.550212],[108.660787,25.584763],[108.68604,25.587462],[108.68912,25.623081],[108.724844,25.634952],[108.783975,25.628477],[108.799989,25.576666],[108.781511,25.554531],[108.814772,25.526992],[108.826474,25.550212],[108.890532,25.556151],[108.8893,25.543193],[108.949046,25.557231],[109.024807,25.51241],[109.088249,25.550752],[109.051908,25.566949],[109.030966,25.629556],[109.075314,25.693749],[109.07901,25.72071],[109.043285,25.738502],[109.007561,25.734728],[108.953974,25.686738],[108.953974,25.686738],[108.900387,25.682423],[108.896076,25.71424],[108.940423,25.740119],[108.963829,25.732572],[108.999553,25.765453],[108.989698,25.778926],[109.048213,25.790781],[109.077778,25.776771],[109.095024,25.80533],[109.143683,25.795092],[109.13198,25.762758],[109.147995,25.741736],[109.206509,25.788087],[109.207125,25.740119],[109.296436,25.71424],[109.340168,25.731493],[109.327849,25.76168],[109.339552,25.83442],[109.359262,25.836036],[109.396834,25.900117],[109.435022,25.93349],[109.408537,25.967392],[109.473211,26.006663],[109.48245,26.029788],[109.452885,26.055598],[109.449805,26.101826],[109.502776,26.096451],[109.513863,26.128157],[109.47629,26.148035],[109.439334,26.238789],[109.467051,26.313917],[109.442414,26.289774],[109.369733,26.277432],[109.351255,26.264016],[109.325385,26.29031],[109.285965,26.295676],[109.271183,26.327863],[109.29582,26.350389],[109.319842,26.418477],[109.38082,26.454381],[109.362342,26.472061],[109.385747,26.493487],[109.381436,26.518659],[109.407305,26.533116],[109.390675,26.598955],[109.35495,26.658873],[109.334008,26.646036],[109.306291,26.661012],[109.283501,26.698445],[109.35495,26.693098],[109.407305,26.719829],[109.447957,26.759913],[109.486761,26.759913],[109.47629,26.829894],[109.467051,26.83203],[109.452885,26.861932],[109.436254,26.892359],[109.555131,26.946788],[109.520022,27.058764],[109.497848,27.079548],[109.486761,27.053968],[109.454733,27.069423],[109.472595,27.134951],[109.441182,27.117907],[109.415312,27.154123],[109.358646,27.153058],[109.33524,27.139212],[109.264407,27.131755],[109.239154,27.14933],[109.21698,27.114711],[109.165857,27.066758],[109.101183,27.06889],[109.128901,27.122701],[109.032814,27.104056],[109.007561,27.08008],[108.940423,27.044907],[108.942887,27.017186],[108.942887,27.017186],[108.877597,27.01612],[108.79075,27.084343],[108.878829,27.106187],[108.926873,27.160512],[108.907778,27.204699],[108.963213,27.235565],[108.983539,27.26802],[109.053756,27.293551],[109.044517,27.331304],[109.103647,27.336621],[109.142451,27.418461],[109.141835,27.448207],[109.167089,27.41793],[109.202197,27.450331],[109.245313,27.41793],[109.300132,27.423774],[109.303211,27.47582],[109.404841,27.55066],[109.461508,27.567637],[109.451037,27.586204],[109.470131,27.62863],[109.45658,27.673689],[109.470747,27.680049],[109.414081,27.725087],[109.366653,27.721909],[109.37774,27.736741],[109.332777,27.782815],[109.346943,27.838396],[109.32169,27.868027],[109.30198,27.956343],[109.319842,27.988585],[109.362342,28.007608],[109.378972,28.034551],[109.335856,28.063073],[109.298284,28.036136],[109.314298,28.103729],[109.33832,28.141731],[109.340168,28.19027],[109.367885,28.254602],[109.388211,28.268307],[109.33524,28.293605],[109.317994,28.277795],[109.275494,28.313101],[109.268719,28.33786],[109.289045,28.373673],[109.264407,28.392628],[109.260712,28.46473],[109.274262,28.494714]]],[[[109.47629,26.829894],[109.486761,26.759913],[109.52187,26.749226],[109.522486,26.749226],[109.497232,26.815474],[109.513247,26.84004],[109.509551,26.877947],[109.486761,26.895562],[109.452885,26.861932],[109.467051,26.83203],[109.47629,26.829894]]],[[[109.528645,26.743881],[109.568065,26.726243],[109.597015,26.756173],[109.554515,26.73533],[109.528645,26.743881]]]]}},{"type":"Feature","properties":{"adcode":530000,"name":"云南省","center":[102.712251,25.040609],"centroid":[101.485106,25.008643],"childrenNum":16,"level":"province","parent":{"adcode":100000},"subFeatureIndex":24,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[105.308229,27.704955],[105.290367,27.712373],[105.293447,27.770637],[105.273736,27.794992],[105.313157,27.810874],[105.25957,27.827811],[105.233084,27.895534],[105.284823,27.935725],[105.270657,27.99704],[105.247867,28.009193],[105.218302,27.990698],[105.186273,27.995454],[105.167795,28.021345],[105.186889,28.054623],[105.168411,28.071522],[105.119752,28.07205],[105.061853,28.096866],[105.002107,28.064129],[104.980549,28.063073],[104.975006,28.020816],[104.903557,27.962158],[104.918339,27.938897],[104.888158,27.914574],[104.842579,27.900294],[104.796999,27.901352],[104.761891,27.884426],[104.743413,27.901881],[104.676275,27.880723],[104.63316,27.850567],[104.607906,27.857974],[104.573413,27.840512],[104.52537,27.889187],[104.508124,27.878078],[104.44961,27.927794],[104.40095,27.952114],[104.362762,28.012891],[104.30856,28.036136],[104.304248,28.050926],[104.373233,28.051454],[104.40095,28.091586],[104.448994,28.113758],[104.444682,28.16231],[104.406494,28.173389],[104.402182,28.202928],[104.442834,28.211366],[104.462544,28.241422],[104.44961,28.269889],[104.420045,28.269889],[104.392943,28.291497],[104.384936,28.329959],[104.343052,28.334173],[104.314103,28.306778],[104.282074,28.343128],[104.254357,28.403683],[104.267908,28.499448],[104.260516,28.536257],[104.323342,28.540989],[104.355987,28.555183],[104.375697,28.5946],[104.417581,28.598279],[104.425588,28.626649],[104.372617,28.649235],[104.314719,28.615617],[104.277147,28.631902],[104.252509,28.660788],[104.230951,28.635579],[104.170589,28.642932],[104.117618,28.634003],[104.09606,28.603533],[104.05972,28.6277],[103.953779,28.600906],[103.910047,28.631377],[103.887873,28.61982],[103.850917,28.66709],[103.833054,28.605109],[103.838598,28.587244],[103.802873,28.563068],[103.781931,28.525216],[103.829975,28.459995],[103.828743,28.44],[103.860156,28.383677],[103.85338,28.356822],[103.877402,28.316262],[103.828743,28.285173],[103.770845,28.233514],[103.740048,28.23615],[103.701859,28.198709],[103.692004,28.232459],[103.643961,28.260401],[103.573128,28.230877],[103.533092,28.168641],[103.470266,28.122204],[103.430846,28.044587],[103.459179,28.021345],[103.486281,28.033495],[103.515846,27.965329],[103.55465,27.978543],[103.502295,27.910343],[103.509686,27.843687],[103.487512,27.794992],[103.461027,27.779638],[103.393274,27.709194],[103.369868,27.708664],[103.349542,27.678459],[103.29226,27.632872],[103.2861,27.561802],[103.232514,27.56976],[103.19063,27.523596],[103.144434,27.450331],[103.141355,27.420586],[103.080992,27.396679],[103.055739,27.40943],[102.989833,27.367983],[102.941174,27.405711],[102.899906,27.317481],[102.883892,27.299401],[102.883276,27.258444],[102.904218,27.227584],[102.913457,27.133886],[102.870957,27.026782],[102.894979,27.001724],[102.896211,26.91264],[102.949181,26.843244],[102.966428,26.837904],[102.991681,26.775409],[102.983674,26.76686],[103.008312,26.710741],[103.005232,26.679195],[103.026174,26.664221],[103.035413,26.556673],[103.052659,26.555602],[103.052659,26.514374],[103.030485,26.485989],[102.989833,26.482775],[102.988602,26.413117],[102.998457,26.371839],[102.975667,26.340736],[102.893131,26.338591],[102.878964,26.364332],[102.833385,26.306406],[102.785342,26.298895],[102.739762,26.268846],[102.709581,26.210336],[102.659074,26.221611],[102.60056,26.250598],[102.638748,26.307479],[102.629509,26.336982],[102.570995,26.362723],[102.542046,26.338591],[102.440416,26.300505],[102.392372,26.296749],[102.349257,26.244694],[102.245163,26.212483],[102.242699,26.190468],[102.174946,26.146961],[102.152156,26.10935],[102.107808,26.068501],[102.080091,26.065275],[102.020961,26.096451],[101.954439,26.084627],[101.929186,26.105588],[101.899621,26.099139],[101.857737,26.049146],[101.835563,26.04592],[101.839875,26.082477],[101.796759,26.114723],[101.807846,26.156093],[101.773353,26.168448],[101.737013,26.219463],[101.690202,26.241473],[101.630455,26.224832],[101.586108,26.279579],[101.597195,26.303187],[101.64031,26.318745],[101.660636,26.346635],[101.635383,26.357361],[101.637847,26.388995],[101.565782,26.454381],[101.530057,26.467239],[101.506652,26.499915],[101.458608,26.49563],[101.422884,26.53151],[101.395783,26.591998],[101.402558,26.604841],[101.461688,26.606447],[101.461072,26.640687],[101.481398,26.673313],[101.453065,26.692563],[101.513427,26.768463],[101.466,26.786629],[101.445674,26.77434],[101.458608,26.731054],[101.435819,26.740675],[101.389623,26.723036],[101.387159,26.753501],[101.358826,26.771669],[101.399478,26.841642],[101.365602,26.883819],[101.311399,26.903034],[101.267667,26.903034],[101.264587,26.955323],[101.227015,26.959057],[101.228863,26.981992],[101.136472,27.023584],[101.157414,27.094999],[101.145095,27.103523],[101.170349,27.175421],[101.167885,27.198311],[101.167885,27.198311],[101.119226,27.208957],[101.071798,27.194585],[101.042233,27.22173],[101.026219,27.270679],[101.021907,27.332899],[100.95169,27.426961],[100.936908,27.469448],[100.901183,27.453517],[100.91227,27.521473],[100.854988,27.623858],[100.827886,27.615904],[100.848212,27.672099],[100.782307,27.691708],[100.775532,27.743098],[100.757053,27.770107],[100.707162,27.800816],[100.719481,27.858503],[100.681293,27.923035],[100.634482,27.915631],[100.609228,27.859033],[100.54517,27.809286],[100.511294,27.827811],[100.504518,27.852154],[100.442924,27.86644],[100.412127,27.816167],[100.350534,27.755809],[100.327744,27.72032],[100.311729,27.724028],[100.304954,27.788639],[100.28586,27.80611],[100.30865,27.830457],[100.30865,27.861149],[100.210715,27.87702],[100.170063,27.907699],[100.196549,27.936254],[100.120788,28.018703],[100.088759,28.029269],[100.05673,28.097922],[100.021006,28.147008],[100.033325,28.184467],[100.062274,28.193962],[100.091223,28.181302],[100.102926,28.201873],[100.153433,28.208202],[100.188541,28.252493],[100.147274,28.288862],[100.176223,28.325218],[100.136803,28.349975],[100.057346,28.368934],[100.073977,28.426317],[99.990209,28.47683],[99.985281,28.529422],[99.91876,28.599329],[99.875644,28.611939],[99.873181,28.631902],[99.834376,28.628225],[99.834992,28.660788],[99.79434,28.699116],[99.755536,28.701216],[99.722275,28.757369],[99.717964,28.846521],[99.676696,28.810345],[99.625573,28.81454],[99.609559,28.784122],[99.614486,28.740054],[99.553508,28.710664],[99.53195,28.677591],[99.540573,28.623497],[99.504233,28.619294],[99.466045,28.579886],[99.463581,28.549401],[99.403219,28.546246],[99.396444,28.491032],[99.426625,28.454207],[99.404451,28.44421],[99.437095,28.398419],[99.392748,28.318369],[99.412458,28.295186],[99.374886,28.18183],[99.306516,28.227714],[99.28927,28.286227],[99.237531,28.317842],[99.229524,28.350502],[99.200575,28.365774],[99.16485,28.425264],[99.187024,28.44],[99.191952,28.494714],[99.170394,28.566221],[99.183944,28.58882],[99.147604,28.640831],[99.126662,28.698066],[99.134053,28.734806],[99.114343,28.765763],[99.103872,28.841803],[99.123582,28.890021],[99.132206,28.94869],[99.113727,29.07273],[99.118039,29.100971],[99.105104,29.162656],[99.113727,29.221171],[99.037351,29.20759],[99.024416,29.188783],[98.9813,29.204978],[98.960974,29.165792],[98.967134,29.128159],[98.991771,29.105677],[99.013329,29.036632],[98.925866,28.978536],[98.917859,28.886877],[98.973909,28.864867],[98.972677,28.832367],[98.922786,28.823978],[98.912931,28.800906],[98.852569,28.798283],[98.827932,28.821356],[98.821772,28.920931],[98.786048,28.998952],[98.757714,29.004186],[98.70228,28.9644],[98.655469,28.976966],[98.624056,28.95864],[98.6567,28.910454],[98.643766,28.895261],[98.668403,28.843376],[98.652389,28.817162],[98.683802,28.740054],[98.666555,28.712239],[98.594491,28.667615],[98.637606,28.552029],[98.619128,28.50944],[98.625903,28.489455],[98.673947,28.478934],[98.693041,28.43158],[98.740468,28.348395],[98.746628,28.321003],[98.710287,28.288862],[98.712135,28.229296],[98.649925,28.200291],[98.625903,28.165475],[98.559382,28.182885],[98.494092,28.141203],[98.464527,28.151229],[98.428803,28.104785],[98.389383,28.114814],[98.389999,28.16442],[98.370289,28.18394],[98.37768,28.246167],[98.353042,28.293078],[98.317934,28.324691],[98.301303,28.384204],[98.208913,28.358401],[98.207681,28.330486],[98.231702,28.314681],[98.266811,28.242477],[98.21692,28.212949],[98.169492,28.206093],[98.17442,28.163365],[98.139311,28.142259],[98.160253,28.101089],[98.133152,27.990698],[98.143007,27.948942],[98.187355,27.939426],[98.205217,27.889716],[98.169492,27.851096],[98.215688,27.810874],[98.234166,27.690648],[98.283441,27.654608],[98.310542,27.583552],[98.317318,27.51935],[98.337644,27.508734],[98.388767,27.515104],[98.429419,27.549068],[98.430035,27.653547],[98.444201,27.665209],[98.474998,27.634462],[98.53536,27.620676],[98.554454,27.646126],[98.587099,27.587265],[98.583404,27.571351],[98.650541,27.567637],[98.662244,27.586734],[98.706591,27.553313],[98.685034,27.484315],[98.704744,27.462014],[98.686881,27.425367],[98.702896,27.412618],[98.706591,27.362136],[98.741084,27.330241],[98.734925,27.287168],[98.717062,27.271211],[98.723222,27.221198],[98.696121,27.211086],[98.713983,27.139744],[98.712751,27.075817],[98.765722,27.05077],[98.762642,27.018252],[98.732461,27.002257],[98.757098,26.877947],[98.730613,26.851253],[98.762026,26.798916],[98.746012,26.696841],[98.770033,26.690424],[98.762642,26.660478],[98.781736,26.620893],[98.773113,26.578083],[98.753403,26.559349],[98.757098,26.491881],[98.741084,26.432947],[98.750323,26.424372],[98.733693,26.350926],[98.681338,26.308016],[98.672715,26.239863],[98.713367,26.231274],[98.735541,26.185097],[98.712751,26.156093],[98.720142,26.127082],[98.661012,26.087852],[98.656084,26.139977],[98.632679,26.145887],[98.575396,26.118485],[98.602498,26.054523],[98.614201,25.968468],[98.637606,25.971696],[98.686881,25.925955],[98.705976,25.855426],[98.677642,25.816105],[98.640686,25.798864],[98.553839,25.845731],[98.529201,25.840884],[98.476846,25.77731],[98.461448,25.735267],[98.457752,25.682963],[98.409709,25.664084],[98.402317,25.593939],[98.326557,25.566409],[98.314854,25.543193],[98.247717,25.607971],[98.170724,25.620383],[98.189818,25.569108],[98.163949,25.524292],[98.131304,25.51025],[98.15779,25.457307],[98.137464,25.381633],[98.101123,25.388662],[98.099891,25.354055],[98.06971,25.311864],[98.006884,25.298338],[98.0075,25.279399],[97.940363,25.214985],[97.904023,25.216609],[97.875689,25.25721],[97.839349,25.27074],[97.796233,25.155954],[97.743262,25.078466],[97.719857,25.080634],[97.727864,25.04377],[97.716777,24.978147],[97.729712,24.908689],[97.785762,24.876117],[97.797465,24.845709],[97.765436,24.823984],[97.680437,24.827243],[97.652103,24.790846],[97.569567,24.765852],[97.547394,24.739221],[97.569567,24.708236],[97.570799,24.602719],[97.554785,24.490577],[97.530147,24.443187],[97.588662,24.435559],[97.669966,24.452993],[97.679821,24.401228],[97.716161,24.358711],[97.662574,24.339083],[97.665038,24.296544],[97.721089,24.295999],[97.767284,24.258357],[97.729712,24.227252],[97.72848,24.183585],[97.754349,24.163929],[97.748806,24.160653],[97.743262,24.159561],[97.730944,24.113685],[97.700763,24.093473],[97.697067,24.092927],[97.637321,24.04812],[97.628698,24.004938],[97.572647,23.983068],[97.529531,23.943146],[97.5283,23.926736],[97.618227,23.888438],[97.640401,23.866001],[97.647176,23.840823],[97.684132,23.876946],[97.718009,23.867643],[97.72848,23.895551],[97.763588,23.907041],[97.795617,23.951897],[97.8104,23.943146],[97.863371,23.978693],[97.896015,23.974319],[97.902175,24.014231],[97.984095,24.031177],[97.995182,24.04648],[98.091268,24.085824],[98.096196,24.08637],[98.123297,24.092927],[98.125761,24.092927],[98.132536,24.09238],[98.19721,24.09839],[98.219999,24.113685],[98.343187,24.098936],[98.37768,24.114232],[98.48239,24.122425],[98.487933,24.123517],[98.547063,24.128433],[98.593875,24.08036],[98.646229,24.106038],[98.681954,24.100029],[98.71891,24.127887],[98.818692,24.133348],[98.841482,24.126794],[98.876591,24.15137],[98.895069,24.098936],[98.807606,24.025164],[98.773729,24.022431],[98.727533,23.970491],[98.701048,23.981427],[98.673331,23.960647],[98.701048,23.946427],[98.68565,23.90157],[98.701664,23.834254],[98.669019,23.800857],[98.696121,23.784429],[98.784816,23.781691],[98.824236,23.727462],[98.811917,23.703354],[98.835939,23.683625],[98.847026,23.632097],[98.882134,23.620035],[98.882134,23.595358],[98.844562,23.578904],[98.80391,23.540504],[98.826084,23.470257],[98.874743,23.483431],[98.912315,23.426333],[98.920938,23.360971],[98.872895,23.329651],[98.906772,23.331849],[98.936953,23.309866],[98.928946,23.26589],[98.889525,23.209249],[98.906772,23.185595],[99.002242,23.160287],[99.057677,23.164689],[99.048438,23.11461],[99.106336,23.086536],[99.187024,23.100299],[99.255393,23.077727],[99.281879,23.101399],[99.3484,23.12892],[99.380429,23.099748],[99.440791,23.079379],[99.477747,23.083233],[99.528255,23.065614],[99.517168,23.006685],[99.533798,22.961507],[99.563363,22.925684],[99.531334,22.897019],[99.446951,22.934503],[99.43648,22.913557],[99.462965,22.844635],[99.401371,22.826434],[99.385357,22.761882],[99.326842,22.751396],[99.31514,22.737598],[99.339777,22.708894],[99.385973,22.57136],[99.359487,22.535435],[99.382277,22.493418],[99.297277,22.41156],[99.251698,22.393301],[99.278183,22.34626],[99.233836,22.296434],[99.235683,22.250468],[99.207966,22.232188],[99.175321,22.185647],[99.188256,22.162924],[99.156227,22.159599],[99.219669,22.110816],[99.294814,22.109152],[99.35456,22.095845],[99.400139,22.100281],[99.486987,22.128557],[99.516552,22.099726],[99.562747,22.113034],[99.578762,22.098617],[99.581841,22.103053],[99.648979,22.100835],[99.696406,22.067562],[99.762927,22.068117],[99.870101,22.029288],[99.871333,22.067007],[99.972347,22.053141],[99.965571,22.014309],[100.000064,21.973245],[99.982202,21.919401],[99.960028,21.907186],[99.944014,21.821097],[99.991441,21.703821],[100.049339,21.669899],[100.094303,21.702709],[100.131875,21.699929],[100.169447,21.663225],[100.107853,21.585337],[100.123252,21.565302],[100.131259,21.504066],[100.168831,21.482906],[100.184846,21.516315],[100.206404,21.509634],[100.235353,21.466756],[100.298795,21.477894],[100.349302,21.528564],[100.437381,21.533017],[100.48296,21.458958],[100.526692,21.471211],[100.579047,21.451717],[100.691764,21.510748],[100.730568,21.518542],[100.753358,21.555283],[100.789082,21.570867],[100.804481,21.609821],[100.847597,21.634856],[100.870386,21.67268],[100.896872,21.68269],[100.899335,21.684915],[100.936292,21.694368],[100.937524,21.693812],[101.015132,21.707157],[101.089661,21.773865],[101.123537,21.771642],[101.111835,21.746074],[101.116762,21.691032],[101.153102,21.669343],[101.169117,21.590345],[101.146943,21.560293],[101.209153,21.55751],[101.210385,21.509077],[101.225167,21.499055],[101.193138,21.473996],[101.194986,21.424979],[101.142631,21.409379],[101.183899,21.334699],[101.244877,21.302364],[101.246725,21.275598],[101.222088,21.234324],[101.290457,21.17853],[101.387775,21.225956],[101.439514,21.227072],[101.532521,21.252174],[101.601506,21.233208],[101.588572,21.191365],[101.605818,21.172392],[101.672339,21.194713],[101.703136,21.14616],[101.76473,21.147835],[101.794911,21.208104],[101.834331,21.204756],[101.833715,21.252731],[101.791832,21.285636],[101.745636,21.297345],[101.730238,21.336929],[101.749948,21.409379],[101.741324,21.482906],[101.772737,21.512975],[101.755491,21.538027],[101.754875,21.58478],[101.804766,21.577546],[101.828788,21.617054],[101.807846,21.644313],[101.780129,21.640975],[101.76781,21.716054],[101.747484,21.729953],[101.771506,21.833319],[101.740093,21.845541],[101.735165,21.875534],[101.700057,21.897191],[101.701288,21.938832],[101.666796,21.934391],[101.606434,21.967695],[101.626144,22.005986],[101.573789,22.115251],[101.602738,22.131883],[101.596579,22.161262],[101.547304,22.238282],[101.56455,22.269299],[101.625528,22.28259],[101.671723,22.372826],[101.648318,22.400494],[101.672339,22.47517],[101.715455,22.477935],[101.774585,22.506135],[101.824476,22.45692],[101.823244,22.42705],[101.862665,22.389427],[101.901469,22.384447],[101.907628,22.437007],[101.978461,22.427603],[102.046214,22.458026],[102.131214,22.430922],[102.145381,22.397727],[102.179257,22.430369],[102.270416,22.419858],[102.25625,22.457473],[102.322771,22.554227],[102.356648,22.563623],[102.404691,22.629925],[102.384365,22.679631],[102.43672,22.699508],[102.45951,22.762986],[102.510633,22.774574],[102.551285,22.743669],[102.569763,22.701164],[102.607335,22.730975],[102.657226,22.687913],[102.688639,22.70006],[102.80074,22.620534],[102.82353,22.623296],[102.880196,22.586832],[102.892515,22.533223],[102.930703,22.482359],[102.986754,22.477935],[103.030485,22.441432],[103.081608,22.454154],[103.071753,22.488441],[103.183238,22.558649],[103.161065,22.590147],[103.195557,22.648153],[103.220195,22.643734],[103.283021,22.678526],[103.288564,22.732078],[103.321209,22.777885],[103.323057,22.807678],[103.375411,22.794989],[103.441317,22.753052],[103.436389,22.6973],[103.457947,22.658646],[103.50907,22.601198],[103.529396,22.59291],[103.580519,22.66693],[103.567585,22.701164],[103.642113,22.794989],[103.740048,22.709446],[103.743127,22.697852],[103.766533,22.688465],[103.825047,22.615562],[103.863851,22.584069],[103.875554,22.565833],[103.894032,22.564728],[103.964865,22.502265],[104.009213,22.517745],[104.009213,22.575228],[104.022148,22.593463],[104.04309,22.67687],[104.045553,22.728215],[104.089901,22.768504],[104.117618,22.808781],[104.224176,22.826434],[104.261748,22.841877],[104.274067,22.828088],[104.256821,22.77347],[104.272835,22.73815],[104.323342,22.728767],[104.375697,22.690122],[104.422508,22.734838],[104.498885,22.774574],[104.527834,22.814298],[104.596203,22.846289],[104.674428,22.817056],[104.737869,22.825882],[104.732942,22.852356],[104.760659,22.862282],[104.772362,22.893711],[104.846275,22.926235],[104.860441,22.970874],[104.821021,23.032022],[104.804391,23.110207],[104.874608,23.123417],[104.882615,23.163589],[104.912796,23.175693],[104.949136,23.152033],[104.958991,23.188896],[105.093266,23.260942],[105.122215,23.247745],[105.181962,23.279084],[105.238012,23.26424],[105.260186,23.31811],[105.325475,23.390086],[105.353809,23.362069],[105.372903,23.317561],[105.416018,23.283482],[105.445584,23.292827],[105.50225,23.202648],[105.542902,23.184495],[105.526272,23.234548],[105.560148,23.257093],[105.593409,23.312614],[105.649459,23.346136],[105.699966,23.327453],[105.694423,23.363168],[105.637757,23.404366],[105.699966,23.40162],[105.758481,23.459826],[105.805908,23.467512],[105.815763,23.507031],[105.852103,23.526786],[105.89214,23.52514],[105.913081,23.499348],[105.935871,23.508678],[105.986378,23.489469],[105.999929,23.447748],[106.039965,23.484529],[106.071994,23.495506],[106.08616,23.524043],[106.141595,23.569579],[106.120653,23.605229],[106.149602,23.665538],[106.157609,23.724175],[106.136667,23.795381],[106.192102,23.824947],[106.173008,23.861622],[106.192718,23.879135],[106.157609,23.891174],[106.128044,23.956819],[106.091088,23.998924],[106.096631,24.018058],[106.053516,24.051399],[106.04982,24.089649],[106.011632,24.099482],[105.998081,24.120786],[105.963589,24.110954],[105.919241,24.122425],[105.901995,24.099482],[105.908154,24.069432],[105.89214,24.040468],[105.859495,24.056864],[105.841633,24.03063],[105.796669,24.023524],[105.802212,24.051945],[105.765256,24.073804],[105.739387,24.059596],[105.704278,24.0667],[105.649459,24.032816],[105.628518,24.126794],[105.594641,24.137718],[105.533663,24.130071],[105.493011,24.016965],[105.406163,24.043748],[105.395692,24.065607],[105.334099,24.094566],[105.320548,24.116416],[105.273121,24.092927],[105.292831,24.074896],[105.260186,24.061236],[105.20044,24.105491],[105.182577,24.167205],[105.229389,24.165567],[105.24294,24.208695],[105.215222,24.214699],[105.164715,24.288362],[105.196744,24.326541],[105.188121,24.347261],[105.138846,24.376701],[105.111744,24.37234],[105.106817,24.414853],[105.042759,24.442097],[104.979933,24.412673],[104.930042,24.411038],[104.914028,24.426296],[104.83642,24.446456],[104.784681,24.443732],[104.765587,24.45953],[104.74834,24.435559],[104.715695,24.441552],[104.703377,24.419757],[104.721239,24.340173],[104.70892,24.321087],[104.641783,24.367979],[104.610986,24.377246],[104.63008,24.397958],[104.616529,24.421937],[104.575877,24.424661],[104.550008,24.518894],[104.520443,24.535228],[104.489646,24.653313],[104.529682,24.731611],[104.542616,24.75607],[104.539537,24.813663],[104.586964,24.872859],[104.635623,24.903803],[104.663957,24.964584],[104.713232,24.996048],[104.684898,25.054072],[104.619609,25.060577],[104.685514,25.078466],[104.695369,25.122364],[104.732326,25.167871],[104.724319,25.195491],[104.753884,25.214443],[104.801927,25.163537],[104.822869,25.170037],[104.806854,25.224189],[104.826565,25.235558],[104.816094,25.262622],[104.736021,25.268034],[104.689826,25.296173],[104.639935,25.295632],[104.646094,25.356759],[104.615913,25.364871],[104.566638,25.402719],[104.543232,25.400556],[104.556783,25.524832],[104.524138,25.526992],[104.483486,25.494585],[104.44961,25.495126],[104.434827,25.472436],[104.418813,25.499447],[104.436059,25.520512],[104.428668,25.576126],[104.389248,25.595558],[104.332581,25.598796],[104.310407,25.647901],[104.328886,25.760602],[104.370769,25.730415],[104.397871,25.76168],[104.42374,25.841961],[104.441602,25.868889],[104.414501,25.909807],[104.438523,25.92757],[104.470552,26.009352],[104.460081,26.085702],[104.499501,26.070651],[104.52845,26.114186],[104.518595,26.165762],[104.548776,26.226979],[104.542616,26.253282],[104.592508,26.317672],[104.659645,26.335373],[104.684283,26.3772],[104.664572,26.397572],[104.665804,26.434019],[104.631928,26.451702],[104.638703,26.477954],[104.598667,26.520801],[104.57095,26.524549],[104.579573,26.568449],[104.556783,26.590393],[104.488414,26.579689],[104.459465,26.602701],[104.468088,26.644431],[104.424356,26.709137],[104.398487,26.686147],[104.353523,26.620893],[104.313487,26.612867],[104.274683,26.633733],[104.268524,26.617683],[104.222328,26.620358],[104.160734,26.646571],[104.121314,26.638012],[104.068343,26.573266],[104.067727,26.51491],[104.008597,26.511697],[103.953163,26.521336],[103.865699,26.512232],[103.819504,26.529903],[103.815808,26.55239],[103.763453,26.585041],[103.748671,26.623568],[103.759142,26.689355],[103.773308,26.716621],[103.725265,26.742812],[103.705555,26.794642],[103.722185,26.851253],[103.779468,26.87421],[103.763453,26.905702],[103.775156,26.951056],[103.753598,26.963858],[103.73204,27.018785],[103.704939,27.049171],[103.675374,27.051836],[103.623019,27.007056],[103.623635,27.035312],[103.601461,27.061962],[103.614396,27.079548],[103.659975,27.065692],[103.652584,27.092868],[103.620555,27.096598],[103.63349,27.12057],[103.696316,27.126429],[103.748671,27.210021],[103.801641,27.250464],[103.80041,27.26536],[103.865699,27.28185],[103.874322,27.331304],[103.903271,27.347785],[103.905119,27.38552],[103.932221,27.443958],[103.956242,27.425367],[104.015372,27.429086],[104.01722,27.383926],[104.084358,27.330773],[104.113923,27.338216],[104.173053,27.263232],[104.210625,27.297273],[104.248813,27.291955],[104.247582,27.336621],[104.295625,27.37436],[104.30856,27.407305],[104.363378,27.467855],[104.467472,27.414211],[104.497037,27.414743],[104.539537,27.327583],[104.570334,27.331836],[104.611602,27.306846],[104.7545,27.345658],[104.77113,27.317481],[104.824717,27.3531],[104.856746,27.332368],[104.851818,27.299401],[104.871528,27.290891],[104.913412,27.327051],[105.01073,27.379143],[105.068013,27.418461],[105.120984,27.418461],[105.184425,27.392959],[105.182577,27.367451],[105.233084,27.436522],[105.234316,27.489093],[105.260186,27.514573],[105.232469,27.546945],[105.25649,27.582491],[105.304533,27.611661],[105.29591,27.631811],[105.308229,27.704955]]]]}},{"type":"Feature","properties":{"adcode":540000,"name":"西藏自治区","center":[91.132212,29.660361],"centroid":[88.388277,31.56375],"childrenNum":7,"level":"province","parent":{"adcode":100000},"subFeatureIndex":25,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[89.711414,36.093272],[89.614711,36.109712],[89.594385,36.126632],[89.490291,36.151281],[89.375727,36.228078],[89.335075,36.23725],[89.292575,36.231457],[89.232213,36.295636],[89.198952,36.260417],[89.126887,36.254626],[89.10225,36.281164],[89.054822,36.291777],[89.013554,36.315409],[88.964279,36.318785],[88.926091,36.36458],[88.870657,36.348193],[88.838628,36.353496],[88.802903,36.33807],[88.783809,36.291777],[88.766563,36.292259],[88.690186,36.367954],[88.623665,36.389636],[88.618121,36.428168],[88.573158,36.461386],[88.498629,36.446463],[88.470912,36.48208],[88.41055,36.473418],[88.356963,36.477268],[88.366202,36.458016],[88.282434,36.470049],[88.241782,36.468605],[88.222688,36.447426],[88.182652,36.452721],[88.134609,36.427205],[88.092109,36.43539],[88.006494,36.430575],[87.983088,36.437797],[87.95845,36.408423],[87.919646,36.39349],[87.838342,36.383855],[87.826023,36.391563],[87.767509,36.3747],[87.731785,36.384818],[87.6203,36.360243],[87.570409,36.342409],[87.470626,36.354459],[87.460155,36.409868],[87.426895,36.42576],[87.386859,36.412757],[87.363453,36.420463],[87.348055,36.393008],[87.292004,36.358797],[87.193454,36.349158],[87.161425,36.325535],[87.149106,36.297565],[87.08628,36.310587],[87.051788,36.2966],[86.996353,36.308658],[86.943998,36.284058],[86.931064,36.265242],[86.887332,36.262829],[86.86331,36.299977],[86.836209,36.291294],[86.746282,36.291777],[86.69947,36.24449],[86.599072,36.222285],[86.531935,36.227113],[86.515305,36.205385],[86.454943,36.221319],[86.392733,36.206834],[86.35824,36.168676],[86.2794,36.170608],[86.248603,36.141616],[86.187625,36.130983],[86.182081,36.064734],[86.199944,36.047801],[86.173458,36.008113],[86.150668,36.00424],[86.129111,35.941761],[86.093386,35.906868],[86.090306,35.876809],[86.05335,35.842857],[86.035488,35.846738],[85.949256,35.778794],[85.903677,35.78462],[85.835308,35.771996],[85.811286,35.778794],[85.691178,35.751114],[85.65299,35.731199],[85.612953,35.651486],[85.566142,35.6403],[85.518715,35.680658],[85.373969,35.700101],[85.341324,35.753543],[85.271107,35.788989],[85.146071,35.742371],[85.053065,35.752086],[84.99455,35.737028],[84.973608,35.709334],[84.920022,35.696213],[84.798066,35.647595],[84.729081,35.613546],[84.704443,35.616951],[84.628067,35.595055],[84.570168,35.588242],[84.513502,35.564391],[84.448828,35.550272],[84.475929,35.516181],[84.45314,35.473303],[84.424191,35.466479],[84.333032,35.413821],[84.274517,35.404065],[84.200605,35.381135],[84.160569,35.359663],[84.140859,35.379184],[84.095895,35.362592],[84.077417,35.400163],[84.005968,35.422599],[83.906186,35.40309],[83.885244,35.367472],[83.79778,35.354783],[83.785462,35.36308],[83.677672,35.361128],[83.622238,35.335256],[83.599448,35.351366],[83.54155,35.341603],[83.540318,35.364056],[83.502745,35.360639],[83.449159,35.382111],[83.405427,35.380648],[83.333978,35.397236],[83.280391,35.401138],[83.251442,35.417722],[83.178145,35.38943],[83.127022,35.398699],[83.088834,35.425526],[83.067892,35.46258],[82.998907,35.484512],[82.971806,35.548324],[82.981661,35.599922],[82.956407,35.636409],[82.967494,35.667532],[82.894813,35.673852],[82.873871,35.688922],[82.795031,35.688436],[82.780249,35.666073],[82.731589,35.637868],[82.652133,35.67288],[82.628727,35.692324],[82.546192,35.708362],[82.501844,35.701073],[82.468583,35.717595],[82.424852,35.712736],[82.392823,35.656349],[82.336156,35.651486],[82.350323,35.611113],[82.328149,35.559523],[82.2992,35.544916],[82.263475,35.547837],[82.234526,35.520565],[82.189563,35.513258],[82.164925,35.495719],[82.086701,35.467454],[82.071302,35.450393],[82.034346,35.451855],[82.029419,35.426013],[82.05344,35.35039],[82.030034,35.321585],[81.99123,35.30547],[81.955506,35.307423],[81.927789,35.271275],[81.853876,35.25857],[81.804601,35.270786],[81.736847,35.26248],[81.68634,35.235599],[81.513261,35.23511],[81.504638,35.279092],[81.447972,35.318167],[81.441196,35.333303],[81.385762,35.335256],[81.363588,35.354783],[81.314313,35.337209],[81.285364,35.345508],[81.26627,35.322562],[81.219458,35.319144],[81.191741,35.36552],[81.142466,35.365032],[81.103662,35.386015],[81.09935,35.40748],[81.054387,35.402602],[81.031597,35.380648],[81.030981,35.337209],[81.002648,35.334768],[81.026053,35.31133],[80.963844,35.310842],[80.924423,35.330862],[80.894242,35.324027],[80.844351,35.345508],[80.759968,35.334768],[80.689135,35.339162],[80.690982,35.364544],[80.65649,35.393821],[80.599823,35.409431],[80.56841,35.391381],[80.532686,35.404553],[80.514824,35.391869],[80.444607,35.417235],[80.432904,35.449418],[80.375006,35.387966],[80.321419,35.38699],[80.286926,35.35283],[80.267832,35.295701],[80.362687,35.20871],[80.257977,35.203331],[80.223484,35.177409],[80.23026,35.147565],[80.118159,35.066293],[80.078123,35.076578],[80.031311,35.034447],[80.04363,35.022196],[80.02392,34.971209],[80.041782,34.943252],[80.034391,34.902033],[80.003594,34.895162],[79.996819,34.856375],[79.961094,34.862759],[79.926602,34.849499],[79.947544,34.821008],[79.898268,34.732035],[79.906892,34.683821],[79.866856,34.671517],[79.88595,34.642965],[79.84345,34.55725],[79.861312,34.528166],[79.801566,34.478847],[79.735661,34.471447],[79.699936,34.477861],[79.675914,34.451216],[79.58106,34.456151],[79.545335,34.476381],[79.504683,34.45467],[79.435082,34.447761],[79.363017,34.428018],[79.326677,34.44332],[79.274322,34.435916],[79.241677,34.415183],[79.179467,34.422588],[79.161605,34.441345],[79.072294,34.412714],[79.039033,34.421601],[79.0107,34.399877],[79.048888,34.348506],[79.039649,34.33467],[79.019939,34.313417],[78.981751,34.31836],[78.958345,34.230827],[78.941099,34.212022],[78.9257,34.155584],[78.910302,34.143202],[78.878273,34.163012],[78.828998,34.125369],[78.801897,34.137258],[78.737223,34.089692],[78.661462,34.086718],[78.656535,34.030196],[78.736607,33.999937],[78.744614,33.980585],[78.734143,33.918529],[78.762476,33.90959],[78.756317,33.8773],[78.766172,33.823124],[78.758165,33.790802],[78.779723,33.73259],[78.692259,33.676331],[78.684868,33.654415],[78.713201,33.623025],[78.755085,33.623025],[78.74215,33.55323],[78.816679,33.480882],[78.84994,33.419963],[78.896751,33.41247],[78.949722,33.376495],[78.9682,33.334505],[79.022403,33.323504],[79.041497,33.268479],[79.083997,33.245459],[79.072294,33.22844],[79.10925,33.200401],[79.152366,33.184375],[79.162221,33.165841],[79.139431,33.117735],[79.162837,33.01191],[79.204721,32.964724],[79.255844,32.942628],[79.227511,32.89038],[79.237982,32.846145],[79.225047,32.784281],[79.275554,32.778746],[79.301423,32.728919],[79.27309,32.678056],[79.299575,32.637244],[79.308199,32.596918],[79.272474,32.561113],[79.252148,32.516715],[79.190554,32.511669],[79.180083,32.492994],[79.135736,32.472295],[79.124649,32.416235],[79.103091,32.369744],[79.067982,32.380863],[79.005772,32.375304],[78.970664,32.331826],[78.904142,32.374798],[78.87273,32.40512],[78.81052,32.436441],[78.782186,32.480373],[78.760629,32.563635],[78.781571,32.608009],[78.74215,32.654881],[78.741534,32.703743],[78.6861,32.680071],[78.675013,32.658408],[78.628202,32.630188],[78.588782,32.637748],[78.577695,32.615067],[78.518564,32.605993],[78.500086,32.580782],[78.424942,32.565652],[78.395377,32.530339],[78.426174,32.502584],[78.472985,32.435431],[78.458818,32.379853],[78.483456,32.357106],[78.480992,32.329297],[78.508709,32.297939],[78.475449,32.236708],[78.430485,32.212407],[78.429869,32.194683],[78.469905,32.127808],[78.509941,32.147065],[78.527188,32.11463],[78.609107,32.052768],[78.60726,32.023851],[78.705194,31.988835],[78.762476,31.947203],[78.768636,31.92638],[78.739687,31.885228],[78.665158,31.851684],[78.654687,31.819144],[78.706426,31.778453],[78.763092,31.668499],[78.798817,31.675629],[78.806824,31.64099],[78.845628,31.609905],[78.833925,31.584927],[78.779723,31.545154],[78.740303,31.532912],[78.729832,31.478316],[78.755701,31.478316],[78.792041,31.435944],[78.760013,31.392531],[78.755085,31.355742],[78.795121,31.301043],[78.859179,31.289281],[78.865338,31.312804],[78.884432,31.277006],[78.923852,31.246824],[78.930628,31.220726],[78.997765,31.158779],[78.97436,31.115751],[79.010084,31.043994],[79.059359,31.028097],[79.096931,30.992192],[79.181931,31.015788],[79.205953,31.0004],[79.227511,30.949088],[79.33222,30.969103],[79.316206,31.01784],[79.35809,31.031174],[79.404901,31.071678],[79.424611,31.061425],[79.427075,31.018353],[79.505915,31.027584],[79.550879,30.957813],[79.59769,30.925989],[79.660516,30.956787],[79.668523,30.980392],[79.729501,30.941389],[79.75845,30.936769],[79.835443,30.851006],[79.890877,30.855116],[79.913051,30.833022],[79.900732,30.7991],[79.961094,30.771337],[79.955551,30.738422],[79.970333,30.685941],[80.014065,30.661748],[80.04363,30.603559],[80.143412,30.55822],[80.214245,30.586044],[80.261673,30.566465],[80.322035,30.564403],[80.357759,30.520592],[80.43044,30.515952],[80.446454,30.495327],[80.504969,30.483466],[80.549316,30.448905],[80.585041,30.463866],[80.633084,30.458707],[80.692214,30.416913],[80.719316,30.414848],[80.81725,30.321389],[80.910873,30.30279],[80.933662,30.266614],[80.996488,30.267648],[81.034677,30.246971],[81.038372,30.205086],[81.082104,30.151281],[81.085799,30.100554],[81.110437,30.085538],[81.09627,30.052909],[81.131995,30.016124],[81.225618,30.005759],[81.256415,30.011978],[81.247792,30.032705],[81.2829,30.061197],[81.293371,30.094859],[81.269349,30.153351],[81.335871,30.149729],[81.393769,30.199396],[81.397465,30.240767],[81.419023,30.270232],[81.406088,30.291938],[81.427646,30.305373],[81.399929,30.319323],[81.406088,30.369421],[81.432573,30.379231],[81.406704,30.40401],[81.418407,30.420525],[81.454131,30.412268],[81.494783,30.381296],[81.555761,30.369421],[81.566232,30.428782],[81.613044,30.412784],[81.63029,30.446842],[81.723913,30.407623],[81.759021,30.385426],[81.872354,30.373035],[81.939491,30.344633],[81.954274,30.355995],[81.99123,30.322939],[82.022027,30.339468],[82.060215,30.332237],[82.104563,30.346182],[82.132896,30.30434],[82.11873,30.279019],[82.114418,30.226806],[82.142135,30.200948],[82.188947,30.18543],[82.207425,30.143519],[82.183403,30.12178],[82.17786,30.06793],[82.246845,30.071555],[82.311519,30.035813],[82.333693,30.045138],[82.368185,30.014051],[82.412533,30.011978],[82.431011,29.989692],[82.474743,29.973622],[82.498148,29.947698],[82.560974,29.955476],[82.609017,29.886489],[82.64351,29.868846],[82.6238,29.834588],[82.703872,29.847566],[82.737749,29.80655],[82.691553,29.766037],[82.757459,29.761881],[82.774089,29.726548],[82.816589,29.717192],[82.830756,29.687562],[82.885574,29.689122],[82.9484,29.704718],[82.966878,29.658963],[83.011226,29.667804],[83.088834,29.604863],[83.12887,29.623593],[83.159667,29.61735],[83.164595,29.595496],[83.217565,29.60018],[83.266841,29.571035],[83.27608,29.505951],[83.325355,29.502826],[83.383253,29.42206],[83.415898,29.420496],[83.423289,29.361053],[83.450391,29.332883],[83.463941,29.285916],[83.492274,29.280174],[83.548941,29.201322],[83.57789,29.203934],[83.596368,29.174153],[83.656114,29.16736],[83.667201,29.200277],[83.727563,29.244672],[83.800244,29.249372],[83.82057,29.294267],[83.851367,29.294789],[83.911729,29.323491],[83.949301,29.312533],[83.986874,29.325057],[84.002272,29.291658],[84.052163,29.296877],[84.116837,29.286438],[84.130388,29.239972],[84.203068,29.239972],[84.197525,29.210202],[84.17104,29.19453],[84.176583,29.133909],[84.20738,29.118749],[84.192597,29.084236],[84.194445,29.045004],[84.224626,29.049189],[84.248648,29.030353],[84.228322,28.949738],[84.234481,28.889497],[84.268358,28.895261],[84.330568,28.859101],[84.340423,28.866963],[84.408176,28.85386],[84.404481,28.828173],[84.434046,28.823978],[84.445133,28.764189],[84.483321,28.735331],[84.557233,28.74635],[84.620059,28.732182],[84.650856,28.714338],[84.669334,28.680742],[84.699515,28.671816],[84.698284,28.633478],[84.773428,28.610363],[84.857196,28.567798],[84.896616,28.587244],[84.981616,28.586193],[84.995782,28.611414],[85.05676,28.674441],[85.126361,28.676016],[85.155926,28.643983],[85.195963,28.624022],[85.18426,28.587244],[85.189803,28.544669],[85.160238,28.49261],[85.108499,28.461047],[85.129441,28.377885],[85.113427,28.344708],[85.179948,28.324164],[85.209513,28.338914],[85.272339,28.282538],[85.349947,28.298347],[85.379512,28.274105],[85.415853,28.321003],[85.458969,28.332593],[85.520563,28.326798],[85.602483,28.295712],[85.601251,28.254075],[85.650526,28.283592],[85.682555,28.375779],[85.720743,28.372093],[85.753388,28.227714],[85.791576,28.195544],[85.854402,28.172334],[85.871648,28.124843],[85.898749,28.101617],[85.901213,28.053566],[85.980053,27.984357],[85.949256,27.937311],[86.002227,27.90717],[86.053966,27.900823],[86.125415,27.923035],[86.082915,28.018175],[86.086611,28.090002],[86.128495,28.086835],[86.140198,28.114814],[86.19132,28.167058],[86.223965,28.092642],[86.206103,28.084195],[86.231972,27.974315],[86.27324,27.976958],[86.308965,27.950528],[86.393349,27.926736],[86.414906,27.904526],[86.450015,27.908757],[86.475884,27.944713],[86.514689,27.954757],[86.513457,27.996511],[86.537478,28.044587],[86.55842,28.047757],[86.568891,28.103201],[86.60092,28.097922],[86.611391,28.069938],[86.647732,28.06941],[86.662514,28.092114],[86.700086,28.101617],[86.74813,28.089474],[86.768456,28.06941],[86.756753,28.032967],[86.827586,28.012363],[86.864542,28.022401],[86.885484,27.995983],[86.926752,27.985942],[86.935375,27.955286],[87.035157,27.946299],[87.080737,27.910872],[87.118309,27.840512],[87.173744,27.818284],[87.227946,27.812991],[87.249504,27.839454],[87.280917,27.845275],[87.317258,27.826753],[87.364069,27.824106],[87.421967,27.856916],[87.418272,27.825694],[87.45954,27.820931],[87.58088,27.859562],[87.598126,27.814579],[87.670191,27.832045],[87.668343,27.809815],[87.727473,27.802933],[87.77798,27.860091],[87.782292,27.890774],[87.826639,27.927794],[87.930733,27.909285],[87.982472,27.884426],[88.037291,27.901881],[88.090877,27.885484],[88.111819,27.864852],[88.137689,27.878607],[88.120442,27.915103],[88.156783,27.957929],[88.203594,27.943127],[88.242398,27.967444],[88.254101,27.939426],[88.357579,27.986471],[88.401311,27.976958],[88.43334,28.002852],[88.469064,28.009721],[88.498013,28.04089],[88.554064,28.027684],[88.565151,28.083139],[88.620585,28.091586],[88.645223,28.111119],[88.67602,28.068353],[88.764099,28.068353],[88.812142,28.018175],[88.842939,28.006023],[88.846635,27.921448],[88.864497,27.921448],[88.888519,27.846863],[88.863265,27.811932],[88.870657,27.743098],[88.850331,27.710783],[88.852178,27.671039],[88.816454,27.641354],[88.813374,27.606889],[88.770874,27.563924],[88.797976,27.521473],[88.783193,27.467324],[88.809063,27.405711],[88.838012,27.37808],[88.867577,27.3818],[88.901453,27.327583],[88.920548,27.325456],[88.911924,27.272807],[88.942105,27.261636],[88.984605,27.208957],[89.067757,27.240354],[89.077612,27.287168],[89.152757,27.319076],[89.182938,27.373829],[89.132431,27.441302],[89.095474,27.471572],[89.109025,27.537925],[89.163228,27.574534],[89.128735,27.611131],[89.131815,27.633402],[89.184786,27.673689],[89.238988,27.796581],[89.295655,27.84845],[89.375727,27.875962],[89.44348,27.968501],[89.461958,28.03191],[89.511233,28.086307],[89.541414,28.088418],[89.605472,28.161782],[89.720037,28.170224],[89.779167,28.197127],[89.789638,28.240895],[89.869094,28.221386],[89.901739,28.18183],[89.976268,28.189215],[90.017536,28.162837],[90.03355,28.136981],[90.07297,28.155451],[90.103151,28.141731],[90.124709,28.190797],[90.166593,28.187632],[90.189999,28.161782],[90.231882,28.144897],[90.297172,28.153868],[90.367389,28.088946],[90.384019,28.06096],[90.43699,28.063073],[90.47949,28.044587],[90.513983,28.062016],[90.569417,28.044059],[90.591591,28.021345],[90.701844,28.076274],[90.741264,28.053038],[90.802242,28.040362],[90.806554,28.015005],[90.853365,27.969029],[90.896481,27.946299],[90.96177,27.9537],[90.976553,27.935725],[90.96485,27.900294],[91.025828,27.857445],[91.113292,27.846333],[91.155175,27.894476],[91.147784,27.927794],[91.162567,27.968501],[91.216153,27.989113],[91.251878,27.970615],[91.309776,28.057791],[91.464993,28.002852],[91.490246,27.971672],[91.486551,27.937311],[91.552456,27.90717],[91.611586,27.891303],[91.618978,27.856916],[91.561079,27.855329],[91.544449,27.820401],[91.610355,27.819343],[91.642383,27.7664],[91.622673,27.692238],[91.570934,27.650897],[91.562311,27.627569],[91.582637,27.598933],[91.564775,27.58196],[91.585101,27.540578],[91.626985,27.509265],[91.663325,27.507142],[91.71876,27.467324],[91.753868,27.462545],[91.839484,27.489624],[91.946657,27.464138],[92.010715,27.474758],[92.021802,27.444489],[92.064918,27.391365],[92.125896,27.273339],[92.091403,27.264296],[92.071077,27.237694],[92.061222,27.190327],[92.032273,27.167967],[92.02673,27.108318],[92.043976,27.052902],[92.076005,27.041175],[92.124664,26.960124],[92.109265,26.854991],[92.197961,26.86994],[92.28604,26.892359],[92.404916,26.9025],[92.496691,26.921711],[92.549046,26.941453],[92.64698,26.952656],[92.682089,26.947855],[92.802813,26.895028],[92.909371,26.914241],[93.050421,26.883819],[93.111399,26.880082],[93.232739,26.906769],[93.56781,26.938252],[93.625092,26.955323],[93.747048,27.015587],[93.817265,27.025183],[93.841903,27.045973],[93.849294,27.168499],[93.970634,27.30525],[94.056866,27.375423],[94.147409,27.458297],[94.220705,27.536333],[94.277372,27.58143],[94.353132,27.578778],[94.399944,27.589386],[94.443675,27.585143],[94.478168,27.602116],[94.524979,27.596282],[94.660486,27.650367],[94.722696,27.683759],[94.78121,27.699127],[94.836645,27.728796],[94.88592,27.743098],[94.947514,27.792345],[95.015267,27.82887],[95.067006,27.840512],[95.28628,27.939955],[95.32878,28.017646],[95.352802,28.04089],[95.371896,28.110063],[95.39715,28.142259],[95.437802,28.161782],[95.528345,28.182885],[95.674322,28.254075],[95.740228,28.275159],[95.787655,28.270416],[95.832003,28.295186],[95.874502,28.29782],[95.899756,28.278322],[95.907763,28.241422],[95.936096,28.240368],[95.989067,28.198181],[96.074683,28.193434],[96.098088,28.212421],[96.194175,28.212949],[96.275479,28.228241],[96.298269,28.140148],[96.367254,28.118509],[96.398667,28.118509],[96.395587,28.143842],[96.426384,28.161782],[96.46334,28.143314],[96.499681,28.067297],[96.538485,28.075218],[96.623485,28.024514],[96.635188,27.994926],[96.690622,27.948942],[96.711564,27.9574],[96.784245,27.931495],[96.810114,27.890245],[96.849534,27.874375],[96.908049,27.884426],[96.972722,27.861149],[97.008447,27.807698],[97.049099,27.81405],[97.062649,27.742568],[97.097758,27.740979],[97.103301,27.780697],[97.167975,27.811932],[97.253591,27.891832],[97.303482,27.913516],[97.324424,27.880723],[97.386634,27.882839],[97.372467,27.907699],[97.379242,27.970087],[97.413119,28.01342],[97.378626,28.031382],[97.375547,28.062545],[97.320728,28.054095],[97.305945,28.071522],[97.340438,28.104785],[97.326887,28.132759],[97.352757,28.149646],[97.362612,28.199236],[97.349677,28.235623],[97.398336,28.238786],[97.402032,28.279903],[97.422358,28.297293],[97.461162,28.26778],[97.469169,28.30309],[97.518445,28.327852],[97.488879,28.347341],[97.485184,28.38631],[97.499966,28.428948],[97.521524,28.444736],[97.507974,28.46473],[97.521524,28.495766],[97.569567,28.541515],[97.60406,28.515225],[97.634857,28.532051],[97.68598,28.519958],[97.737103,28.465782],[97.738335,28.396313],[97.769748,28.3742],[97.801161,28.326798],[97.842429,28.326798],[97.871378,28.361561],[97.907718,28.363141],[98.020435,28.253548],[98.008116,28.214003],[98.03337,28.187105],[98.056775,28.202401],[98.090036,28.195544],[98.097427,28.166531],[98.139311,28.142259],[98.17442,28.163365],[98.169492,28.206093],[98.21692,28.212949],[98.266811,28.242477],[98.231702,28.314681],[98.207681,28.330486],[98.208913,28.358401],[98.301303,28.384204],[98.317934,28.324691],[98.353042,28.293078],[98.37768,28.246167],[98.370289,28.18394],[98.389999,28.16442],[98.389383,28.114814],[98.428803,28.104785],[98.464527,28.151229],[98.494092,28.141203],[98.559382,28.182885],[98.625903,28.165475],[98.649925,28.200291],[98.712135,28.229296],[98.710287,28.288862],[98.746628,28.321003],[98.740468,28.348395],[98.693041,28.43158],[98.673947,28.478934],[98.625903,28.489455],[98.619128,28.50944],[98.637606,28.552029],[98.594491,28.667615],[98.666555,28.712239],[98.683802,28.740054],[98.652389,28.817162],[98.668403,28.843376],[98.643766,28.895261],[98.6567,28.910454],[98.624056,28.95864],[98.655469,28.976966],[98.70228,28.9644],[98.757714,29.004186],[98.786048,28.998952],[98.821772,28.920931],[98.827932,28.821356],[98.852569,28.798283],[98.912931,28.800906],[98.922786,28.823978],[98.972677,28.832367],[98.973909,28.864867],[98.917859,28.886877],[98.925866,28.978536],[99.013329,29.036632],[98.991771,29.105677],[98.967134,29.128159],[98.960974,29.165792],[98.9813,29.204978],[99.024416,29.188783],[99.037351,29.20759],[99.113727,29.221171],[99.114343,29.243628],[99.075539,29.316186],[99.058909,29.417368],[99.066916,29.421018],[99.044742,29.520013],[99.052133,29.563748],[99.014561,29.607464],[98.992387,29.677163],[99.018873,29.792009],[99.0238,29.846009],[99.068148,29.931621],[99.055213,29.958587],[99.036735,30.053945],[99.044742,30.079842],[98.989308,30.151799],[98.9813,30.182843],[98.993003,30.215429],[98.970829,30.260928],[98.986844,30.280569],[98.967134,30.33482],[98.965286,30.449937],[98.932025,30.521623],[98.926482,30.569556],[98.939417,30.598923],[98.92217,30.609225],[98.907388,30.698292],[98.963438,30.728134],[98.957895,30.765166],[98.904924,30.782649],[98.850105,30.849465],[98.797135,30.87926],[98.774345,30.908019],[98.797135,30.948575],[98.806374,30.995783],[98.774961,31.031174],[98.736772,31.049121],[98.712135,31.082954],[98.710287,31.1178],[98.675179,31.15417],[98.602498,31.192062],[98.62344,31.221238],[98.60373,31.257568],[98.616048,31.3036],[98.643766,31.338876],[98.691809,31.333253],[98.773113,31.249382],[98.805758,31.279052],[98.810685,31.306668],[98.887062,31.37465],[98.84333,31.416028],[98.844562,31.429817],[98.714599,31.508935],[98.696736,31.538523],[98.651157,31.57881],[98.619128,31.591555],[98.553839,31.660349],[98.545831,31.717383],[98.516882,31.717383],[98.508875,31.751995],[98.461448,31.800327],[98.414636,31.832365],[98.426339,31.856767],[98.399238,31.895899],[98.432498,31.922825],[98.434962,32.007613],[98.402933,32.026896],[98.404781,32.045159],[98.357354,32.087253],[98.303151,32.121726],[98.260035,32.208862],[98.218768,32.234683],[98.23047,32.262521],[98.208913,32.318171],[98.218768,32.342444],[98.125145,32.401077],[98.107283,32.391476],[98.079565,32.415224],[97.940363,32.482393],[97.880001,32.486431],[97.863986,32.499051],[97.80732,32.50006],[97.795617,32.521257],[97.730944,32.527312],[97.684132,32.530339],[97.670582,32.51722],[97.540618,32.536899],[97.50243,32.530844],[97.463626,32.55506],[97.448843,32.586833],[97.411887,32.575235],[97.374315,32.546484],[97.3583,32.563635],[97.332431,32.542448],[97.334895,32.514192],[97.388481,32.501575],[97.341054,32.440987],[97.387865,32.427349],[97.424822,32.322723],[97.415583,32.296421],[97.371235,32.273148],[97.32196,32.303503],[97.299786,32.294904],[97.264062,32.182527],[97.271453,32.139971],[97.313953,32.130342],[97.293011,32.096887],[97.308409,32.076605],[97.258518,32.072041],[97.219714,32.109054],[97.201852,32.090296],[97.233881,32.063927],[97.214786,32.042623],[97.188301,32.055304],[97.169823,32.032984],[97.127323,32.044145],[97.028773,32.04871],[97.006599,32.067984],[96.935766,32.048203],[96.965947,32.008628],[96.941925,31.986297],[96.894498,32.013703],[96.863085,31.996448],[96.868629,31.964975],[96.824281,32.007613],[96.722651,32.013195],[96.742977,32.001016],[96.753448,31.944156],[96.776238,31.935015],[96.81073,31.894375],[96.794716,31.869474],[96.760223,31.860325],[96.765767,31.819144],[96.799027,31.792188],[96.840295,31.720438],[96.790404,31.698545],[96.778701,31.675629],[96.722651,31.686833],[96.691854,31.722474],[96.661057,31.705674],[96.615477,31.737236],[96.56805,31.711783],[96.519391,31.74945],[96.468884,31.769804],[96.435623,31.796258],[96.407906,31.845583],[96.389428,31.919777],[96.288414,31.919777],[96.253305,31.929936],[96.220044,31.905553],[96.188632,31.904028],[96.214501,31.876589],[96.202798,31.841008],[96.183088,31.835924],[96.178161,31.775401],[96.231131,31.749959],[96.222508,31.733164],[96.252073,31.697527],[96.245298,31.657802],[96.221892,31.647613],[96.207726,31.598691],[96.156603,31.602769],[96.148595,31.686324],[96.135661,31.70211],[96.064828,31.720438],[95.989067,31.78761],[95.983524,31.816601],[95.89914,31.81711],[95.846169,31.736218],[95.853561,31.714329],[95.823995,31.68225],[95.779648,31.748941],[95.634286,31.782523],[95.580083,31.76726],[95.546823,31.73978],[95.511714,31.750468],[95.480301,31.795749],[95.456896,31.801853],[95.406389,31.896915],[95.408852,31.918761],[95.3682,31.92892],[95.360809,31.95939],[95.395918,32.001523],[95.454432,32.007613],[95.421171,32.033999],[95.454432,32.061898],[95.440265,32.157705],[95.406389,32.182021],[95.367584,32.178982],[95.366968,32.151118],[95.31523,32.148585],[95.270266,32.194683],[95.270266,32.194683],[95.239469,32.287315],[95.241317,32.3207],[95.214216,32.321712],[95.20744,32.297433],[95.10581,32.258979],[95.079325,32.279726],[95.096571,32.322217],[95.193274,32.332331],[95.261643,32.348006],[95.228382,32.363678],[95.218527,32.397035],[95.153853,32.386423],[95.081789,32.384907],[95.075013,32.376315],[95.075013,32.376315],[95.057151,32.395014],[94.988166,32.422802],[94.944434,32.404109],[94.912405,32.41573],[94.889616,32.472295],[94.852043,32.463712],[94.80708,32.486431],[94.78737,32.522266],[94.762116,32.526303],[94.737479,32.587338],[94.638312,32.645307],[94.614291,32.673522],[94.591501,32.640772],[94.522516,32.595909],[94.459074,32.599439],[94.463386,32.572209],[94.435052,32.562626],[94.395016,32.594397],[94.371611,32.524789],[94.350053,32.533871],[94.294002,32.519743],[94.292154,32.502584],[94.250886,32.51722],[94.196684,32.51621],[94.176974,32.454117],[94.137554,32.433915],[94.091974,32.463207],[94.049474,32.469771],[94.03038,32.448057],[93.978641,32.459672],[93.960163,32.484917],[93.90904,32.463207],[93.861613,32.466237],[93.851142,32.50965],[93.820345,32.549511],[93.75136,32.56313],[93.721795,32.578261],[93.651577,32.571705],[93.618933,32.522771],[93.516687,32.47583],[93.501904,32.503593],[93.476651,32.504603],[93.4631,32.556069],[93.411977,32.558086],[93.385492,32.525294],[93.33868,32.5712],[93.308499,32.580278],[93.300492,32.619604],[93.260456,32.62666],[93.239514,32.662439],[93.210565,32.655385],[93.176688,32.6705],[93.159442,32.644803],[93.087993,32.63674],[93.069515,32.626156],[93.023935,32.703239],[93.019624,32.737477],[93.00053,32.741001],[92.964189,32.714821],[92.933392,32.719353],[92.866871,32.698203],[92.822523,32.729926],[92.789262,32.719856],[92.756618,32.743014],[92.686401,32.76516],[92.667922,32.73194],[92.634662,32.720863],[92.574916,32.741001],[92.56814,32.73194],[92.484372,32.745028],[92.459119,32.76365],[92.411076,32.748048],[92.355641,32.764657],[92.343938,32.738484],[92.310062,32.751571],[92.255243,32.720863],[92.198577,32.754591],[92.211511,32.788306],[92.193649,32.801889],[92.227526,32.821003],[92.205352,32.866255],[92.145606,32.885857],[92.101874,32.860222],[92.038432,32.860725],[92.018722,32.829552],[91.955897,32.8205],[91.896766,32.907967],[91.857962,32.90244],[91.839484,32.948152],[91.799448,32.942126],[91.752637,32.969242],[91.685499,32.989324],[91.664557,33.012913],[91.583253,33.0375],[91.55492,33.060074],[91.535826,33.10019],[91.49579,33.109214],[91.436044,33.066092],[91.370138,33.100691],[91.311624,33.108211],[91.261733,33.141291],[91.226624,33.141792],[91.18782,33.106206],[91.161335,33.108712],[91.147784,33.07211],[91.072024,33.113224],[91.037531,33.098686],[91.001807,33.11573],[90.927894,33.120241],[90.902024,33.083143],[90.88293,33.120241],[90.803474,33.114227],[90.740032,33.142293],[90.704308,33.135778],[90.627315,33.180368],[90.562642,33.229441],[90.490577,33.264977],[90.405577,33.260473],[90.363077,33.279487],[90.332896,33.310501],[90.246665,33.423959],[90.22018,33.437943],[90.107463,33.460913],[90.088984,33.478885],[90.083441,33.525295],[90.01076,33.553728],[89.984275,33.612061],[90.008296,33.687785],[89.981195,33.70322],[89.983659,33.725622],[89.907282,33.741051],[89.902355,33.758467],[89.942391,33.801246],[89.899891,33.80771],[89.837065,33.868853],[89.795181,33.865374],[89.73174,33.921509],[89.718805,33.946832],[89.688008,33.959739],[89.684928,33.990013],[89.635037,34.049537],[89.656595,34.057966],[89.655979,34.097126],[89.71203,34.131809],[89.756993,34.124874],[89.760073,34.152613],[89.789638,34.150632],[89.816739,34.16945],[89.838297,34.263477],[89.825362,34.293642],[89.86663,34.324785],[89.858623,34.359375],[89.820435,34.369255],[89.799493,34.39642],[89.819819,34.420614],[89.823515,34.455657],[89.814891,34.548871],[89.777935,34.574499],[89.798877,34.628686],[89.74837,34.641981],[89.72558,34.660689],[89.732356,34.732035],[89.799493,34.743838],[89.825978,34.796931],[89.867862,34.81069],[89.838913,34.865705],[89.814891,34.86816],[89.821051,34.902033],[89.78779,34.921664],[89.747138,34.903506],[89.707102,34.919701],[89.670146,34.887798],[89.578987,34.895162],[89.560509,34.938836],[89.59069,35.057965],[89.593153,35.104491],[89.579603,35.118688],[89.519241,35.133862],[89.46935,35.214577],[89.450255,35.223867],[89.48598,35.256616],[89.531559,35.276161],[89.494603,35.298632],[89.516161,35.330862],[89.497067,35.361128],[89.58761,35.383575],[89.619639,35.412357],[89.658443,35.425526],[89.685544,35.416259],[89.739131,35.468429],[89.765,35.482563],[89.740979,35.507412],[89.720037,35.501566],[89.699711,35.544916],[89.71203,35.581915],[89.75145,35.580942],[89.765616,35.599922],[89.726196,35.648082],[89.748986,35.66267],[89.747138,35.7516],[89.782863,35.773453],[89.767464,35.799183],[89.801957,35.848193],[89.778551,35.861775],[89.707718,35.849163],[89.654747,35.848193],[89.62395,35.859349],[89.550654,35.856924],[89.554965,35.873414],[89.489676,35.903475],[89.428082,35.917531],[89.434857,35.992136],[89.404676,36.016827],[89.417611,36.044897],[89.474893,36.022151],[89.605472,36.038123],[89.688624,36.091337],[89.711414,36.093272]]]]}},{"type":"Feature","properties":{"adcode":610000,"name":"陕西省","center":[108.948024,34.263161],"centroid":[108.887114,35.263661],"childrenNum":10,"level":"province","parent":{"adcode":100000},"subFeatureIndex":26,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[110.379257,34.600612],[110.29549,34.610956],[110.269004,34.629671],[110.229584,34.692679],[110.243135,34.725641],[110.246831,34.789068],[110.230816,34.880925],[110.262229,34.944233],[110.320743,35.00504],[110.373714,35.134351],[110.364475,35.197952],[110.378642,35.210666],[110.374946,35.251728],[110.45009,35.327933],[110.477808,35.413821],[110.531394,35.511309],[110.567735,35.539559],[110.589293,35.602355],[110.609619,35.632031],[110.57759,35.701559],[110.571431,35.800639],[110.550489,35.838005],[110.549257,35.877778],[110.511684,35.879718],[110.516612,35.918501],[110.502445,35.947575],[110.516612,35.971796],[110.49259,35.994073],[110.491974,36.034735],[110.467953,36.074893],[110.447011,36.164328],[110.45625,36.22663],[110.474112,36.248352],[110.474112,36.306729],[110.459946,36.327946],[110.487047,36.393972],[110.489511,36.430094],[110.47288,36.453203],[110.503677,36.488335],[110.488895,36.556628],[110.496902,36.582102],[110.447627,36.621018],[110.426685,36.657514],[110.394656,36.676716],[110.402663,36.697352],[110.438388,36.685835],[110.447011,36.737649],[110.407591,36.776007],[110.423605,36.818179],[110.406975,36.824886],[110.424221,36.855539],[110.376178,36.882351],[110.408823,36.892403],[110.424221,36.963685],[110.381721,37.002408],[110.382953,37.022001],[110.426685,37.008621],[110.417446,37.027257],[110.460561,37.044932],[110.49567,37.086956],[110.535706,37.115118],[110.53509,37.138021],[110.590525,37.187145],[110.651503,37.256722],[110.661974,37.281963],[110.690307,37.287201],[110.678604,37.317668],[110.695234,37.34955],[110.641648,37.360015],[110.630561,37.372858],[110.644111,37.435135],[110.740198,37.44939],[110.759292,37.474567],[110.770995,37.538184],[110.795017,37.558586],[110.771611,37.594634],[110.763604,37.639668],[110.793169,37.650567],[110.775306,37.680886],[110.706321,37.705511],[110.716792,37.728708],[110.750669,37.736281],[110.735886,37.77035],[110.680452,37.790216],[110.59422,37.922049],[110.522771,37.955088],[110.528315,37.990471],[110.507989,38.013107],[110.501829,38.097929],[110.519692,38.130889],[110.509221,38.192061],[110.528315,38.211814],[110.565887,38.215105],[110.57759,38.297345],[110.601612,38.308147],[110.661358,38.308617],[110.701394,38.353215],[110.746973,38.366355],[110.77777,38.440924],[110.796864,38.453579],[110.840596,38.439986],[110.874473,38.453579],[110.870777,38.510265],[110.907733,38.521035],[110.920052,38.581878],[110.898494,38.587024],[110.880632,38.626776],[110.916357,38.673981],[110.915125,38.704345],[110.965016,38.755699],[111.009363,38.847579],[110.995813,38.868084],[111.016755,38.889981],[111.009979,38.932823],[110.980414,38.970056],[110.998276,38.998433],[111.038313,39.020289],[111.094363,39.030053],[111.138095,39.064447],[111.147334,39.100681],[111.173819,39.135041],[111.163348,39.152678],[111.219399,39.244044],[111.213239,39.257021],[111.247732,39.302419],[111.202152,39.305197],[111.179363,39.326959],[111.186138,39.35149],[111.155341,39.338531],[111.159037,39.362596],[111.125776,39.366297],[111.087588,39.376013],[111.098059,39.401914],[111.064182,39.400989],[111.058639,39.447681],[111.10545,39.472631],[111.10545,39.497573],[111.148566,39.531277],[111.154725,39.569116],[111.136863,39.587106],[111.101138,39.559428],[111.017371,39.552045],[110.958856,39.519275],[110.891103,39.509118],[110.869545,39.494341],[110.782698,39.38804],[110.73835,39.348713],[110.731575,39.30705],[110.702626,39.273701],[110.626249,39.266751],[110.596684,39.282966],[110.566503,39.320014],[110.559728,39.351027],[110.524003,39.382952],[110.482735,39.360745],[110.434692,39.381101],[110.429764,39.341308],[110.385417,39.310291],[110.257917,39.407001],[110.243751,39.423645],[110.152592,39.45415],[110.12549,39.432891],[110.136577,39.39174],[110.161831,39.387115],[110.184005,39.355192],[110.217881,39.281113],[110.109476,39.249606],[110.041107,39.21623],[109.962267,39.212056],[109.90252,39.271848],[109.871723,39.243581],[109.961035,39.191651],[109.893897,39.141075],[109.92223,39.107183],[109.890818,39.103932],[109.851397,39.122971],[109.793499,39.074204],[109.762086,39.057476],[109.72513,39.018429],[109.665384,38.981687],[109.685094,38.968195],[109.672159,38.928167],[109.624116,38.85457],[109.549587,38.805618],[109.511399,38.833595],[109.444262,38.782763],[109.404226,38.720689],[109.338936,38.701542],[109.329081,38.66043],[109.367269,38.627711],[109.331545,38.597783],[109.276726,38.623035],[109.196654,38.552867],[109.175712,38.518694],[109.128901,38.480288],[109.054372,38.433892],[109.051292,38.385122],[109.007561,38.359316],[108.961981,38.26493],[108.976148,38.245192],[108.938575,38.207582],[108.964445,38.154894],[109.069155,38.091336],[109.050676,38.055059],[109.06977,38.023008],[109.037742,38.021593],[109.018648,37.971602],[108.982923,37.964053],[108.9743,37.931962],[108.93488,37.922521],[108.893612,37.978207],[108.883141,38.01405],[108.830786,38.049875],[108.797525,38.04799],[108.82709,37.989056],[108.798141,37.93385],[108.791982,37.872934],[108.799989,37.784068],[108.784591,37.764673],[108.791982,37.700303],[108.777815,37.683728],[108.720533,37.683728],[108.699591,37.669518],[108.628142,37.651988],[108.532671,37.690832],[108.485244,37.678044],[108.422418,37.648672],[108.301078,37.640616],[108.293071,37.656726],[108.24626,37.665728],[108.205608,37.655779],[108.193905,37.638246],[108.134159,37.622131],[108.055318,37.652462],[108.025137,37.649619],[108.012819,37.66857],[108.025753,37.696041],[107.993109,37.735335],[107.982022,37.787378],[107.884703,37.808186],[107.842819,37.828987],[107.732566,37.84931],[107.684523,37.888522],[107.65003,37.86443],[107.659269,37.844112],[107.646335,37.805349],[107.620465,37.776026],[107.599523,37.791162],[107.57119,37.776499],[107.499125,37.765619],[107.484959,37.706458],[107.425828,37.684201],[107.387024,37.691305],[107.389488,37.671413],[107.422133,37.665254],[107.361155,37.613125],[107.311264,37.609806],[107.330358,37.584201],[107.369162,37.58752],[107.345756,37.518725],[107.284162,37.481691],[107.282931,37.437036],[107.257677,37.337179],[107.273075,37.29101],[107.309416,37.239095],[107.270612,37.229089],[107.317423,37.200017],[107.336517,37.165687],[107.334669,37.138975],[107.306952,37.100799],[107.281083,37.127047],[107.268764,37.099367],[107.28601,37.054963],[107.288474,37.008143],[107.288474,37.008143],[107.291554,36.979463],[107.291554,36.979463],[107.310032,36.912502],[107.336517,36.925899],[107.365466,36.905324],[107.478183,36.908196],[107.533618,36.867031],[107.540393,36.828718],[107.5909,36.836382],[107.642023,36.819137],[107.670356,36.83303],[107.722095,36.802367],[107.742421,36.811951],[107.768291,36.792783],[107.866841,36.766899],[107.907493,36.750118],[107.914268,36.720861],[107.940754,36.694953],[107.938906,36.655594],[108.006659,36.683435],[108.02329,36.647912],[108.001732,36.639269],[108.060862,36.592194],[108.079956,36.614294],[108.092891,36.587388],[108.163724,36.563839],[108.1976,36.630144],[108.222854,36.631105],[108.204992,36.606607],[108.204992,36.606607],[108.210535,36.577296],[108.245644,36.571048],[108.262274,36.549417],[108.340498,36.559032],[108.365136,36.519603],[108.391621,36.505654],[108.408252,36.45946],[108.460606,36.422871],[108.495099,36.422389],[108.514809,36.445501],[108.510498,36.47438],[108.562852,36.43876],[108.618903,36.433946],[108.651548,36.384818],[108.641693,36.359279],[108.646004,36.254143],[108.712526,36.138716],[108.682345,36.062316],[108.688504,36.021183],[108.659555,35.990683],[108.652164,35.94806],[108.593649,35.950967],[108.562852,35.921409],[108.518505,35.905414],[108.499411,35.872444],[108.527744,35.82442],[108.533903,35.746257],[108.517889,35.699615],[108.539447,35.605761],[108.618287,35.557088],[108.625678,35.537124],[108.605968,35.503028],[108.631222,35.418698],[108.61028,35.355271],[108.614591,35.328909],[108.583178,35.294724],[108.547454,35.304981],[108.48894,35.275184],[108.36144,35.279581],[108.345426,35.300586],[108.296767,35.267855],[108.239484,35.256127],[108.221622,35.296678],[108.174811,35.304981],[108.094739,35.280069],[108.049159,35.253683],[107.949993,35.245375],[107.960464,35.263457],[107.867457,35.256127],[107.841587,35.276649],[107.745501,35.311819],[107.737494,35.267366],[107.667277,35.257104],[107.652494,35.244886],[107.686371,35.218],[107.715936,35.168114],[107.727639,35.120157],[107.769523,35.064333],[107.769523,35.064333],[107.773218,35.060904],[107.773218,35.060904],[107.814486,35.024646],[107.846515,35.024646],[107.863145,34.999158],[107.842203,34.979056],[107.741805,34.953553],[107.675284,34.9511],[107.638943,34.935402],[107.619849,34.964834],[107.564415,34.968757],[107.523763,34.909886],[107.455394,34.916757],[107.400575,34.932949],[107.369162,34.917738],[107.350068,34.93393],[107.286626,34.931968],[107.252749,34.880925],[107.189308,34.893198],[107.162206,34.944233],[107.119707,34.950119],[107.089526,34.976604],[107.08275,35.024156],[107.012533,35.029547],[106.990975,35.068252],[106.950323,35.066782],[106.901664,35.094698],[106.838222,35.080007],[106.710723,35.100574],[106.706411,35.081966],[106.615252,35.071191],[106.577064,35.089312],[106.541956,35.083925],[106.52163,35.027587],[106.494528,35.006021],[106.494528,35.006021],[106.484673,34.983959],[106.493296,34.941289],[106.527789,34.876507],[106.556122,34.861285],[106.550579,34.82936],[106.575216,34.769897],[106.539492,34.745805],[106.505615,34.746789],[106.487137,34.715311],[106.456956,34.703996],[106.442173,34.675455],[106.471122,34.634102],[106.419384,34.643458],[106.314058,34.578934],[106.341159,34.568093],[106.334384,34.517811],[106.455108,34.531617],[106.514238,34.511894],[106.513622,34.498085],[106.558586,34.48822],[106.610941,34.454177],[106.638042,34.391481],[106.717498,34.369255],[106.691013,34.337635],[106.705179,34.299575],[106.68239,34.256057],[106.652825,34.24369],[106.63373,34.260014],[106.589383,34.253584],[106.577064,34.280786],[106.526557,34.292159],[106.496376,34.238248],[106.5321,34.254079],[106.55797,34.229837],[106.585071,34.149641],[106.560434,34.109514],[106.501919,34.105055],[106.505615,34.056479],[106.471738,34.024244],[106.474202,33.970659],[106.41076,33.909093],[106.428007,33.866368],[106.475434,33.875809],[106.491448,33.834559],[106.461883,33.789807],[106.488369,33.757969],[106.482825,33.707203],[106.534564,33.695254],[106.575832,33.631497],[106.58076,33.576169],[106.540108,33.512822],[106.456956,33.532779],[106.447101,33.613058],[106.384891,33.612061],[106.35163,33.587137],[106.303587,33.604585],[106.237681,33.564201],[106.187174,33.546746],[106.108334,33.569686],[106.117573,33.602591],[106.086776,33.617045],[106.047356,33.610067],[105.971596,33.613058],[105.940183,33.570684],[105.902611,33.556222],[105.871198,33.511325],[105.842248,33.489866],[105.831162,33.451926],[105.837937,33.410971],[105.827466,33.379993],[105.709822,33.382991],[105.755401,33.329004],[105.752937,33.291994],[105.791741,33.278486],[105.799133,33.258471],[105.862574,33.234447],[105.917393,33.237951],[105.965436,33.204407],[105.968516,33.154318],[105.93156,33.178365],[105.897067,33.146803],[105.923552,33.147805],[105.934639,33.112221],[105.914929,33.066092],[105.926632,33.042517],[105.917393,32.993841],[105.861959,32.939112],[105.82685,32.950663],[105.735691,32.905454],[105.656851,32.895405],[105.638373,32.879323],[105.590329,32.87681],[105.565692,32.906962],[105.528119,32.919019],[105.49917,32.911986],[105.495475,32.873292],[105.524424,32.847654],[105.534279,32.790822],[105.555221,32.794343],[105.563844,32.724891],[105.585402,32.728919],[105.596489,32.69921],[105.677793,32.726402],[105.719061,32.759624],[105.768952,32.767676],[105.779423,32.750061],[105.822538,32.770192],[105.825002,32.824523],[105.849024,32.817985],[105.893371,32.838603],[105.93156,32.826032],[105.969132,32.849162],[106.011632,32.829552],[106.044277,32.864747],[106.071378,32.828546],[106.093552,32.82402],[106.07261,32.76365],[106.076921,32.76365],[106.076305,32.759121],[106.071378,32.758114],[106.120037,32.719856],[106.17424,32.6977],[106.254928,32.693671],[106.267863,32.673522],[106.301123,32.680071],[106.347935,32.671003],[106.389203,32.62666],[106.421231,32.616579],[106.451412,32.65992],[106.498224,32.649338],[106.517934,32.668485],[106.585687,32.68813],[106.626955,32.682086],[106.670071,32.694678],[106.733513,32.739491],[106.783404,32.735967],[106.793259,32.712807],[106.82344,32.705254],[106.854853,32.724388],[106.903512,32.721367],[106.912751,32.704247],[107.012533,32.721367],[107.066736,32.708779],[107.05996,32.686115],[107.098765,32.649338],[107.108004,32.600951],[107.080286,32.542448],[107.127098,32.482393],[107.189924,32.468256],[107.212097,32.428864],[107.263836,32.403099],[107.287858,32.457147],[107.313727,32.489965],[107.356843,32.506622],[107.382097,32.54043],[107.436299,32.529835],[107.438763,32.465732],[107.460937,32.453612],[107.456625,32.41775],[107.489886,32.425328],[107.527458,32.38238],[107.598291,32.411688],[107.648183,32.413709],[107.680827,32.397035],[107.707929,32.331826],[107.753508,32.338399],[107.812022,32.247844],[107.864377,32.201266],[107.890247,32.214432],[107.924739,32.197215],[107.979558,32.146051],[108.024521,32.177462],[108.018362,32.2119],[108.086731,32.233165],[108.143398,32.219495],[108.156948,32.239239],[108.179738,32.221521],[108.240716,32.274666],[108.310933,32.232152],[108.389773,32.263533],[108.414411,32.252399],[108.469846,32.270618],[108.507418,32.245819],[108.509882,32.201266],[108.543758,32.177969],[108.585026,32.17189],[108.676801,32.10297],[108.734084,32.106519],[108.75133,32.076098],[108.78767,32.04871],[108.837561,32.039072],[108.902235,31.984774],[108.986619,31.980205],[109.085785,31.929428],[109.123357,31.892851],[109.191111,31.85575],[109.195422,31.817618],[109.27611,31.79931],[109.279806,31.776418],[109.253936,31.759628],[109.282885,31.743343],[109.281654,31.716874],[109.381436,31.705165],[109.446109,31.722983],[109.502776,31.716365],[109.549587,31.73011],[109.585928,31.726546],[109.592087,31.789136],[109.633971,31.804396],[109.633971,31.824738],[109.60379,31.885737],[109.584696,31.900472],[109.62042,31.928412],[109.631507,31.962436],[109.590855,32.012688],[109.590855,32.047696],[109.621652,32.106519],[109.58716,32.161251],[109.604406,32.199241],[109.592703,32.219495],[109.550203,32.225065],[109.528645,32.270112],[109.495385,32.300468],[109.513247,32.342444],[109.502776,32.38895],[109.529877,32.405625],[109.526797,32.43341],[109.575457,32.506622],[109.637051,32.540935],[109.619804,32.56767],[109.631507,32.599943],[109.726978,32.608513],[109.746072,32.594901],[109.816905,32.577252],[109.910528,32.592884],[109.97089,32.577756],[110.017701,32.546989],[110.084223,32.580782],[110.090382,32.617083],[110.124259,32.616579],[110.153824,32.593388],[110.206179,32.633212],[110.156903,32.683093],[110.159367,32.767173],[110.127338,32.77774],[110.142121,32.802895],[110.105164,32.832569],[110.051578,32.851676],[109.988752,32.886359],[109.927158,32.887364],[109.907448,32.903947],[109.856941,32.910479],[109.847702,32.893395],[109.789804,32.882339],[109.76455,32.909474],[109.785492,32.987316],[109.794731,33.067095],[109.704188,33.101694],[109.688174,33.116733],[109.576073,33.110216],[109.522486,33.138785],[109.468283,33.140288],[109.438718,33.152314],[109.498464,33.207412],[109.514479,33.237951],[109.60687,33.235949],[109.619804,33.275484],[109.649985,33.251465],[109.693101,33.254468],[109.732521,33.231443],[109.813209,33.236449],[109.852013,33.247961],[109.916687,33.229942],[109.973353,33.203907],[109.999223,33.212419],[110.031252,33.191888],[110.164911,33.209415],[110.218497,33.163336],[110.285635,33.171352],[110.33799,33.160331],[110.372482,33.186379],[110.398352,33.176862],[110.398352,33.176862],[110.471032,33.171352],[110.54125,33.255469],[110.57759,33.250464],[110.59422,33.168346],[110.623785,33.143796],[110.650887,33.157324],[110.702626,33.097182],[110.753133,33.15031],[110.824582,33.158327],[110.828893,33.201403],[110.865234,33.213921],[110.9219,33.203907],[110.960704,33.253967],[110.984726,33.255469],[111.025994,33.330504],[111.025994,33.375495],[110.996429,33.435946],[111.02661,33.467903],[111.021066,33.471397],[111.021682,33.476389],[111.02661,33.478386],[111.002588,33.535772],[111.00382,33.578662],[110.966864,33.609071],[110.878784,33.634486],[110.823966,33.685793],[110.831973,33.713675],[110.81719,33.751003],[110.782082,33.796272],[110.74143,33.798759],[110.712481,33.833564],[110.66259,33.85295],[110.612083,33.852453],[110.587445,33.887733],[110.628713,33.910086],[110.627481,33.925482],[110.665669,33.937895],[110.671213,33.966192],[110.620706,34.035652],[110.587445,34.023252],[110.591757,34.101586],[110.61393,34.113478],[110.642264,34.161032],[110.621938,34.177372],[110.55788,34.193214],[110.55172,34.213012],[110.507989,34.217466],[110.43962,34.243196],[110.428533,34.288203],[110.451938,34.292653],[110.503677,34.33714],[110.473496,34.393457],[110.403279,34.433448],[110.403279,34.433448],[110.360779,34.516825],[110.372482,34.544435],[110.404511,34.557743],[110.366939,34.566614],[110.379257,34.600612]]],[[[111.02661,33.478386],[111.021682,33.476389],[111.021066,33.471397],[111.02661,33.467903],[111.02661,33.478386]]],[[[106.076921,32.76365],[106.07261,32.76365],[106.071378,32.758114],[106.076305,32.759121],[106.076921,32.76365]]]]}},{"type":"Feature","properties":{"adcode":620000,"name":"甘肃省","center":[103.823557,36.058039],"childrenNum":14,"level":"province","parent":{"adcode":100000},"subFeatureIndex":27,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[106.506231,35.737514],[106.504383,35.736057],[106.498224,35.732656],[106.49268,35.732656],[106.434782,35.688436],[106.460036,35.643705],[106.47913,35.575101],[106.460036,35.578995],[106.440941,35.52641],[106.465579,35.481101],[106.490217,35.480613],[106.483441,35.450393],[106.503767,35.415284],[106.501304,35.364056],[106.472354,35.310842],[106.415688,35.276161],[106.368261,35.273718],[106.363333,35.238532],[106.319601,35.265411],[106.241377,35.358687],[106.237681,35.409431],[106.196414,35.409919],[106.173008,35.437716],[106.129892,35.393333],[106.113262,35.361616],[106.083081,35.421624],[106.073226,35.420649],[106.067682,35.436254],[106.073226,35.447468],[106.071378,35.449418],[106.06953,35.458193],[106.071994,35.463555],[106.054132,35.45478],[106.034422,35.469404],[106.002393,35.438692],[105.894603,35.413821],[105.897683,35.451368],[106.048588,35.488898],[106.047356,35.498155],[106.023335,35.49377],[106.017175,35.519103],[105.900147,35.54735],[105.868734,35.540046],[105.847176,35.490359],[105.816379,35.575101],[105.800365,35.564878],[105.762176,35.602841],[105.759097,35.634464],[105.713517,35.650513],[105.722756,35.673366],[105.690727,35.698643],[105.723988,35.725854],[105.740618,35.698643],[105.759097,35.724883],[105.70243,35.733142],[105.667322,35.749657],[105.595873,35.715651],[105.481924,35.727312],[105.457286,35.771511],[105.432033,35.787533],[105.428953,35.819082],[105.408627,35.822479],[105.38091,35.792873],[105.371055,35.844312],[105.39754,35.857409],[105.350113,35.875839],[105.324859,35.941761],[105.343954,36.033767],[105.406163,36.074409],[105.430801,36.10391],[105.491163,36.101009],[105.515185,36.147415],[105.478844,36.213111],[105.460366,36.223733],[105.45975,36.268137],[105.476381,36.293224],[105.455439,36.321678],[105.425873,36.330357],[105.401236,36.369881],[105.398156,36.430575],[105.363048,36.443093],[105.362432,36.496514],[105.322396,36.535954],[105.281744,36.522489],[105.252179,36.553263],[105.2762,36.563358],[105.261418,36.602764],[105.22015,36.631105],[105.225693,36.664716],[105.201056,36.700711],[105.218302,36.730455],[105.272505,36.739567],[105.275584,36.752515],[105.319932,36.742924],[105.340874,36.764502],[105.334714,36.80093],[105.303302,36.820575],[105.279896,36.86751],[105.244787,36.894796],[105.178882,36.892403],[105.185657,36.942164],[105.165331,36.99476],[105.128991,36.996194],[105.05939,37.022956],[105.03968,37.007187],[105.004571,37.035378],[104.95468,37.040156],[104.954064,37.077407],[104.914644,37.097935],[104.888158,37.15901],[104.864753,37.17284],[104.85613,37.211933],[104.776673,37.246718],[104.717543,37.208597],[104.638087,37.201923],[104.600515,37.242907],[104.624536,37.298627],[104.651022,37.290534],[104.673812,37.317668],[104.713848,37.329566],[104.662109,37.367626],[104.679971,37.408044],[104.521059,37.43466],[104.499501,37.421353],[104.448994,37.42468],[104.437907,37.445589],[104.365226,37.418026],[104.298705,37.414223],[104.287002,37.428007],[104.237727,37.411847],[104.183524,37.406618],[104.089285,37.465067],[103.935916,37.572818],[103.874938,37.604117],[103.841062,37.64725],[103.683381,37.777919],[103.627947,37.797783],[103.40744,37.860651],[103.362477,38.037621],[103.368636,38.08898],[103.53494,38.156776],[103.507838,38.280905],[103.465339,38.353215],[103.416063,38.404821],[103.85954,38.64454],[104.011677,38.85923],[104.044322,38.895105],[104.173053,38.94446],[104.196459,38.9882],[104.190915,39.042139],[104.207546,39.083495],[104.171205,39.160567],[104.047401,39.297788],[104.073271,39.351953],[104.089901,39.419947],[103.955626,39.456923],[103.85338,39.461543],[103.728961,39.430117],[103.595302,39.386652],[103.428998,39.353341],[103.344615,39.331588],[103.259615,39.263971],[103.188166,39.215302],[103.133347,39.192579],[103.007696,39.099753],[102.883892,39.120649],[102.616574,39.171703],[102.579002,39.183301],[102.45335,39.255167],[102.3548,39.231993],[102.276576,39.188868],[102.050526,39.141075],[102.012338,39.127149],[101.902701,39.111827],[101.833715,39.08907],[101.926106,39.000758],[101.955055,38.985874],[102.045599,38.904885],[102.075164,38.891378],[101.941505,38.808883],[101.873751,38.733761],[101.777049,38.66043],[101.672955,38.6908],[101.601506,38.65529],[101.562702,38.713218],[101.412413,38.764099],[101.331109,38.777164],[101.307087,38.80282],[101.34158,38.822406],[101.33542,38.847113],[101.24303,38.860628],[101.237486,38.907214],[101.198682,38.943064],[101.228863,39.020754],[101.117378,38.975174],[100.969553,38.946788],[100.961545,39.005874],[100.901799,39.030053],[100.875314,39.002619],[100.835278,39.025869],[100.829118,39.075133],[100.864227,39.106719],[100.842669,39.199999],[100.842053,39.405614],[100.707778,39.404689],[100.606764,39.387577],[100.498975,39.400527],[100.500823,39.481408],[100.44354,39.485565],[100.326512,39.509118],[100.301258,39.572345],[100.314193,39.606935],[100.250135,39.685274],[100.128179,39.702312],[100.040716,39.757083],[99.958796,39.769504],[99.904593,39.785601],[99.822058,39.860063],[99.672384,39.888079],[99.469124,39.875221],[99.440791,39.885783],[99.459885,39.898181],[99.491298,39.884406],[99.533182,39.891753],[99.714268,39.972061],[99.751225,40.006909],[99.841152,40.013326],[99.927383,40.063727],[99.955716,40.150695],[100.007455,40.20008],[100.169447,40.277743],[100.169447,40.541131],[100.242744,40.618855],[100.237201,40.716905],[100.224882,40.727337],[100.107853,40.875475],[100.057346,40.908049],[99.985897,40.909858],[99.673,40.93292],[99.565827,40.846961],[99.174705,40.858278],[99.172858,40.747289],[99.12543,40.715091],[99.102025,40.676522],[99.041662,40.693767],[98.984996,40.782644],[98.790975,40.705564],[98.80699,40.660181],[98.802678,40.607043],[98.762642,40.639748],[98.72199,40.657911],[98.689345,40.691952],[98.668403,40.773128],[98.569853,40.746836],[98.627751,40.677884],[98.344419,40.568413],[98.333332,40.918903],[98.25018,40.93925],[98.184891,40.988056],[98.142391,41.001607],[97.971776,41.09774],[97.903407,41.168057],[97.629314,41.440498],[97.613915,41.477276],[97.84674,41.656379],[97.653335,41.986856],[97.500582,42.243894],[97.371235,42.457076],[97.172903,42.795257],[96.968411,42.756161],[96.742361,42.75704],[96.386348,42.727592],[96.166458,42.623314],[96.103632,42.604375],[96.072219,42.569566],[96.02356,42.542675],[96.0174,42.482239],[95.978596,42.436762],[96.06606,42.414674],[96.042038,42.352787],[96.040806,42.326688],[96.178161,42.21775],[96.077147,42.149457],[96.13874,42.05399],[96.137509,42.019765],[96.117183,41.985966],[96.054973,41.936124],[95.998306,41.906289],[95.855408,41.849699],[95.801206,41.848361],[95.759322,41.835878],[95.65646,41.826067],[95.57146,41.796181],[95.445193,41.719841],[95.39407,41.693481],[95.335556,41.644305],[95.299831,41.565994],[95.247476,41.61344],[95.194505,41.694821],[95.199433,41.719395],[95.16494,41.735474],[95.135991,41.772976],[95.110738,41.768513],[95.011572,41.726541],[94.969072,41.718948],[94.861898,41.668451],[94.809543,41.619256],[94.750413,41.538227],[94.534219,41.505966],[94.184365,41.268444],[94.01067,41.114875],[93.908424,40.983539],[93.809874,40.879548],[93.820961,40.793519],[93.760599,40.664721],[93.506216,40.648376],[92.928465,40.572504],[92.920458,40.391792],[92.906907,40.310609],[92.796654,40.153897],[92.745531,39.868331],[92.687632,39.657174],[92.639589,39.514196],[92.52564,39.368611],[92.378431,39.258411],[92.339011,39.236628],[92.343938,39.146181],[92.366112,39.096037],[92.366728,39.059335],[92.41046,39.03842],[92.459119,39.042604],[92.459119,39.063982],[92.489916,39.099753],[92.545966,39.111362],[92.659299,39.109969],[92.765857,39.136898],[92.866871,39.138754],[92.889045,39.160103],[92.938936,39.169848],[92.978356,39.143396],[93.043029,39.146645],[93.115094,39.17959],[93.142196,39.160567],[93.131725,39.108112],[93.165601,39.090928],[93.198246,39.045857],[93.179152,38.923977],[93.237666,38.916062],[93.274007,38.896036],[93.453245,38.915596],[93.729186,38.924443],[93.834511,38.867618],[93.884403,38.867618],[93.884403,38.826136],[93.769838,38.821007],[93.756287,38.807484],[93.773533,38.771099],[93.800019,38.750566],[93.885018,38.720689],[93.95154,38.715086],[93.973098,38.724891],[94.281067,38.7599],[94.370379,38.7627],[94.511429,38.445142],[94.527443,38.425922],[94.527443,38.365416],[94.56132,38.351807],[94.582878,38.36917],[94.672805,38.386998],[94.812623,38.385591],[94.861282,38.393565],[94.884072,38.414669],[94.973999,38.430142],[95.045448,38.418889],[95.072549,38.402476],[95.122441,38.417014],[95.140919,38.392158],[95.185266,38.379492],[95.209904,38.327868],[95.229614,38.330685],[95.259179,38.302981],[95.315846,38.318947],[95.408236,38.300163],[95.440881,38.310965],[95.455664,38.291709],[95.487693,38.314721],[95.51849,38.294997],[95.585011,38.343359],[95.608417,38.339134],[95.671858,38.388405],[95.703887,38.400131],[95.723597,38.378554],[95.775952,38.356031],[95.83693,38.344298],[95.852945,38.287481],[95.89606,38.2903],[95.932401,38.259291],[95.93856,38.237202],[96.006929,38.207582],[96.06606,38.173245],[96.109175,38.187358],[96.221892,38.149246],[96.252689,38.167599],[96.264392,38.145952],[96.313051,38.161952],[96.301964,38.183124],[96.335841,38.246132],[96.378341,38.277146],[96.46334,38.277616],[96.665369,38.23015],[96.655514,38.295936],[96.638883,38.307208],[96.626564,38.356031],[96.698013,38.422172],[96.707868,38.459203],[96.6666,38.483567],[96.706637,38.505582],[96.780549,38.504177],[96.800259,38.52759],[96.767614,38.552399],[96.808882,38.582346],[96.7941,38.608072],[96.847071,38.599186],[96.876636,38.580475],[96.961019,38.558015],[97.055874,38.594508],[97.047251,38.653888],[97.057722,38.67258],[97.009063,38.702477],[97.023229,38.755699],[97.00044,38.7613],[96.987505,38.793025],[96.993664,38.834993],[96.983809,38.869016],[96.940693,38.90768],[96.938846,38.95563],[96.965331,39.017034],[96.95794,39.041674],[96.969643,39.097895],[97.012142,39.142004],[96.962251,39.198144],[97.017686,39.208347],[97.060186,39.19768],[97.14149,39.199999],[97.220946,39.193042],[97.315185,39.164744],[97.347213,39.167528],[97.371235,39.140611],[97.401416,39.146645],[97.458698,39.117863],[97.504894,39.076527],[97.58127,39.052364],[97.679205,39.010524],[97.701379,38.963076],[97.828878,38.93003],[97.875689,38.898365],[98.009348,38.85923],[98.029058,38.834061],[98.068478,38.816344],[98.091884,38.786495],[98.167645,38.840121],[98.242173,38.880664],[98.235398,38.918855],[98.276666,38.963541],[98.287753,38.992386],[98.280977,39.027263],[98.316702,39.040744],[98.383839,39.029588],[98.401086,39.001688],[98.432498,38.996107],[98.428187,38.976104],[98.457752,38.952838],[98.526737,38.95563],[98.584635,38.93003],[98.624056,38.959353],[98.612353,38.977035],[98.661628,38.993782],[98.70536,39.043533],[98.730613,39.057011],[98.743548,39.086747],[98.816845,39.085818],[98.818076,39.064911],[98.886446,39.040744],[98.903076,39.012384],[98.951735,38.987735],[99.054597,38.97657],[99.107568,38.951907],[99.071843,38.921184],[99.068764,38.896968],[99.141445,38.852706],[99.222133,38.788827],[99.291118,38.765966],[99.361951,38.718354],[99.375502,38.684727],[99.412458,38.665571],[99.450646,38.60433],[99.501769,38.612281],[99.52887,38.546314],[99.585537,38.498556],[99.63974,38.474666],[99.65945,38.449361],[99.727203,38.415607],[99.758,38.410449],[99.826985,38.370109],[99.960028,38.320825],[100.001912,38.315191],[100.049955,38.283254],[100.071513,38.284663],[100.117093,38.253652],[100.126332,38.231561],[100.182998,38.222158],[100.159592,38.291239],[100.163904,38.328337],[100.136803,38.33444],[100.093071,38.407166],[100.022238,38.432017],[100.001296,38.467169],[100.025933,38.507923],[100.064122,38.518694],[100.086911,38.492936],[100.113397,38.497151],[100.163288,38.461546],[100.24028,38.441861],[100.259374,38.366355],[100.301874,38.388405],[100.331439,38.337257],[100.318505,38.329276],[100.396729,38.293118],[100.424446,38.307208],[100.432453,38.275267],[100.459555,38.2654],[100.474953,38.288891],[100.516837,38.272448],[100.545786,38.247072],[100.595061,38.242372],[100.619083,38.26587],[100.71517,38.253652],[100.752126,38.238612],[100.825423,38.158658],[100.860531,38.148305],[100.913502,38.17889],[100.93814,38.16007],[100.91843,38.129006],[100.922125,38.084741],[100.888864,38.056001],[100.895024,38.013107],[100.91843,37.999432],[100.964009,38.011221],[101.077342,37.941874],[101.103211,37.946593],[101.114298,37.92016],[101.152486,37.891356],[101.159262,37.86821],[101.202994,37.84742],[101.276906,37.83655],[101.362522,37.791162],[101.382848,37.822369],[101.459224,37.86632],[101.551615,37.835604],[101.598427,37.827569],[101.670491,37.754264],[101.659405,37.733441],[101.791832,37.696041],[101.815853,37.654357],[101.854657,37.664781],[101.873135,37.686569],[101.946432,37.728235],[101.998787,37.724921],[102.036359,37.685149],[102.048678,37.651515],[102.035128,37.627819],[102.102265,37.582304],[102.131214,37.54625],[102.103497,37.482641],[102.125055,37.48549],[102.176794,37.458892],[102.19712,37.420403],[102.299981,37.391404],[102.29875,37.370004],[102.368351,37.327662],[102.428097,37.308624],[102.419474,37.294343],[102.45335,37.271487],[102.457662,37.248147],[102.490307,37.223371],[102.533422,37.217176],[102.578386,37.17284],[102.599944,37.174748],[102.642444,37.099845],[102.583314,37.104618],[102.488459,37.078362],[102.506321,37.019134],[102.450271,36.968467],[102.499546,36.954599],[102.526031,36.928291],[102.56114,36.91968],[102.587009,36.869904],[102.639364,36.852666],[102.720052,36.767858],[102.692335,36.775528],[102.639364,36.732853],[102.612879,36.738129],[102.601176,36.710307],[102.630741,36.650793],[102.684328,36.619097],[102.724364,36.613813],[102.714509,36.599401],[102.761936,36.568645],[102.734219,36.562396],[102.753313,36.525855],[102.793349,36.497957],[102.771791,36.47438],[102.829689,36.365544],[102.831537,36.365544],[102.838928,36.345783],[102.836465,36.344819],[102.845704,36.331803],[102.896827,36.331803],[102.922696,36.298047],[103.024942,36.256556],[103.021246,36.232906],[103.066826,36.216974],[103.048964,36.199107],[102.986754,36.193312],[102.965812,36.151765],[102.948566,36.150798],[102.941174,36.104877],[102.882044,36.082632],[102.932551,36.048285],[102.968276,36.044414],[102.951645,36.021667],[102.971971,35.995525],[102.942406,35.92674],[102.954725,35.858864],[102.94487,35.829757],[102.914073,35.845282],[102.81737,35.850133],[102.787189,35.862745],[102.739146,35.821023],[102.715125,35.815685],[102.686175,35.771996],[102.707733,35.70496],[102.744074,35.657807],[102.7644,35.653431],[102.763168,35.612086],[102.808747,35.560496],[102.746537,35.545403],[102.729291,35.523487],[102.782878,35.527871],[102.743458,35.494745],[102.695414,35.528358],[102.570995,35.548324],[102.531575,35.580455],[102.503241,35.585322],[102.49893,35.545403],[102.437952,35.455268],[102.447807,35.437229],[102.408387,35.409431],[102.314764,35.434303],[102.293822,35.424063],[102.287663,35.36552],[102.317844,35.343067],[102.311684,35.31426],[102.280887,35.303028],[102.3123,35.282512],[102.370199,35.263946],[102.365887,35.235599],[102.404075,35.179366],[102.346793,35.164201],[102.310452,35.128967],[102.29567,35.071681],[102.252554,35.048657],[102.218062,35.057475],[102.211286,35.034937],[102.176178,35.032977],[102.157699,35.010923],[102.133678,35.014844],[102.094874,34.986901],[102.048062,34.910868],[102.068388,34.887798],[101.985852,34.90007],[101.916867,34.873561],[101.923027,34.835746],[101.917483,34.705964],[101.919947,34.621791],[101.934729,34.58731],[101.956287,34.582876],[101.97415,34.548871],[102.001867,34.538519],[102.093026,34.536547],[102.139837,34.50351],[102.155852,34.507456],[102.169402,34.457631],[102.205743,34.407777],[102.259329,34.355917],[102.237156,34.34307],[102.237156,34.34307],[102.186649,34.352952],[102.149692,34.271885],[102.067772,34.293642],[102.062229,34.227858],[102.01357,34.218456],[102.030816,34.190739],[102.003099,34.162022],[101.965526,34.167469],[101.955055,34.109514],[101.897773,34.133791],[101.874367,34.130323],[101.851578,34.153108],[101.836795,34.124378],[101.788136,34.131809],[101.764114,34.122892],[101.736397,34.080275],[101.718535,34.083249],[101.703136,34.119424],[101.674187,34.110506],[101.6206,34.178857],[101.53868,34.212022],[101.492485,34.195689],[101.482014,34.218951],[101.417956,34.227858],[101.369913,34.248143],[101.327413,34.24468],[101.325565,34.268423],[101.268899,34.278808],[101.228863,34.298586],[101.235022,34.325279],[101.193754,34.336646],[101.178356,34.320831],[101.098284,34.329233],[101.054552,34.322808],[100.986799,34.374689],[100.951074,34.38358],[100.895024,34.375183],[100.868538,34.332693],[100.821727,34.317371],[100.798321,34.260014],[100.809408,34.247153],[100.764445,34.178857],[100.806329,34.155584],[100.848828,34.089692],[100.870386,34.083744],[100.880857,34.036644],[100.93506,33.990013],[100.927669,33.975126],[100.965857,33.946832],[100.994806,33.891707],[101.023139,33.896178],[101.054552,33.863386],[101.153718,33.8445],[101.153102,33.823124],[101.190675,33.791796],[101.186363,33.741051],[101.162957,33.719649],[101.177124,33.685295],[101.166653,33.659894],[101.217776,33.669856],[101.23687,33.685793],[101.302776,33.657902],[101.385312,33.644949],[101.424732,33.655411],[101.428427,33.680315],[101.501724,33.702723],[101.58426,33.674339],[101.585492,33.645448],[101.616905,33.598603],[101.611977,33.565199],[101.622448,33.502343],[101.718535,33.494857],[101.748716,33.505337],[101.769042,33.538765],[101.783208,33.556721],[101.831252,33.554726],[101.844186,33.602591],[101.884222,33.578163],[101.907012,33.539264],[101.906396,33.48188],[101.946432,33.442937],[101.915635,33.425957],[101.887302,33.383991],[101.877447,33.314502],[101.769658,33.26898],[101.770274,33.248962],[101.83002,33.213921],[101.841723,33.184876],[101.825708,33.119239],[101.865744,33.103198],[101.887302,33.135778],[101.921795,33.153817],[101.935345,33.186879],[101.99386,33.1999],[102.054838,33.189884],[102.08933,33.204908],[102.08933,33.227439],[102.117047,33.288492],[102.144765,33.273983],[102.160163,33.242956],[102.200815,33.223434],[102.217446,33.247961],[102.192192,33.337005],[102.218062,33.349503],[102.258098,33.409472],[102.296286,33.413969],[102.310452,33.397982],[102.368967,33.41247],[102.392988,33.404477],[102.447807,33.454922],[102.462589,33.449429],[102.461358,33.501345],[102.446575,33.53228],[102.477988,33.543254],[102.440416,33.574673],[102.346793,33.605582],[102.31538,33.665374],[102.342481,33.725622],[102.284583,33.719151],[102.324619,33.754486],[102.296286,33.783838],[102.243315,33.786823],[102.261177,33.821136],[102.25317,33.861399],[102.136142,33.965199],[102.16817,33.983066],[102.226069,33.963214],[102.248858,33.98654],[102.287047,33.977607],[102.315996,33.993983],[102.345561,33.969666],[102.392372,33.971651],[102.406539,34.033172],[102.437336,34.087214],[102.471213,34.072839],[102.511865,34.086222],[102.615958,34.099604],[102.649219,34.080275],[102.655994,34.113478],[102.598712,34.14766],[102.651067,34.165983],[102.664002,34.192719],[102.694799,34.198659],[102.728675,34.235774],[102.779798,34.236764],[102.798276,34.272874],[102.856791,34.270895],[102.85987,34.301058],[102.911609,34.312923],[102.949181,34.292159],[102.977515,34.252595],[102.973203,34.205588],[103.005848,34.184798],[103.052043,34.195194],[103.100087,34.181828],[103.124108,34.162022],[103.121644,34.112487],[103.178927,34.079779],[103.129652,34.065899],[103.119797,34.03466],[103.147514,34.036644],[103.157369,33.998944],[103.120413,33.953286],[103.1315,33.931937],[103.16476,33.929454],[103.181391,33.900649],[103.153673,33.819147],[103.165376,33.805721],[103.228202,33.79478],[103.24976,33.814175],[103.284868,33.80224],[103.278709,33.774387],[103.35447,33.743539],[103.434542,33.752993],[103.464723,33.80224],[103.518309,33.807213],[103.545411,33.719649],[103.520157,33.678323],[103.552186,33.671351],[103.563889,33.699735],[103.593454,33.716164],[103.645809,33.708697],[103.667983,33.685793],[103.690772,33.69376],[103.778236,33.658898],[103.861388,33.682307],[103.980264,33.670852],[104.046169,33.686291],[104.103452,33.663381],[104.176749,33.5996],[104.155191,33.542755],[104.180444,33.472895],[104.213089,33.446932],[104.22048,33.404477],[104.272219,33.391486],[104.292545,33.336505],[104.373849,33.345004],[104.420045,33.327004],[104.386168,33.298497],[104.333813,33.315502],[104.303632,33.304499],[104.323958,33.26898],[104.32827,33.223934],[104.351059,33.158828],[104.378161,33.109214],[104.337509,33.038002],[104.391711,33.035493],[104.426204,33.010906],[104.383704,32.994343],[104.378161,32.953174],[104.345516,32.940117],[104.288234,32.942628],[104.277147,32.90244],[104.294393,32.835586],[104.363994,32.822511],[104.458849,32.748551],[104.51182,32.753585],[104.526602,32.728416],[104.582653,32.722374],[104.592508,32.695685],[104.643015,32.661935],[104.696601,32.673522],[104.739717,32.635228],[104.795768,32.643292],[104.820405,32.662943],[104.845659,32.653873],[104.881999,32.600951],[104.925115,32.607505],[105.026745,32.650346],[105.0791,32.637244],[105.111128,32.593893],[105.185041,32.617587],[105.215222,32.63674],[105.219534,32.666469],[105.263265,32.652362],[105.297758,32.656897],[105.347033,32.68259],[105.368591,32.712807],[105.448663,32.732946],[105.454207,32.767173],[105.427721,32.784281],[105.396308,32.85067],[105.396308,32.85067],[105.38091,32.876307],[105.408011,32.885857],[105.414171,32.922034],[105.467757,32.930071],[105.49917,32.911986],[105.528119,32.919019],[105.565692,32.906962],[105.590329,32.87681],[105.638373,32.879323],[105.656851,32.895405],[105.735691,32.905454],[105.82685,32.950663],[105.861959,32.939112],[105.917393,32.993841],[105.926632,33.042517],[105.914929,33.066092],[105.934639,33.112221],[105.923552,33.147805],[105.897067,33.146803],[105.93156,33.178365],[105.968516,33.154318],[105.965436,33.204407],[105.917393,33.237951],[105.862574,33.234447],[105.799133,33.258471],[105.791741,33.278486],[105.752937,33.291994],[105.755401,33.329004],[105.709822,33.382991],[105.827466,33.379993],[105.837937,33.410971],[105.831162,33.451926],[105.842248,33.489866],[105.871198,33.511325],[105.902611,33.556222],[105.940183,33.570684],[105.971596,33.613058],[106.047356,33.610067],[106.086776,33.617045],[106.117573,33.602591],[106.108334,33.569686],[106.187174,33.546746],[106.237681,33.564201],[106.303587,33.604585],[106.35163,33.587137],[106.384891,33.612061],[106.447101,33.613058],[106.456956,33.532779],[106.540108,33.512822],[106.58076,33.576169],[106.575832,33.631497],[106.534564,33.695254],[106.482825,33.707203],[106.488369,33.757969],[106.461883,33.789807],[106.491448,33.834559],[106.475434,33.875809],[106.428007,33.866368],[106.41076,33.909093],[106.474202,33.970659],[106.471738,34.024244],[106.505615,34.056479],[106.501919,34.105055],[106.560434,34.109514],[106.585071,34.149641],[106.55797,34.229837],[106.5321,34.254079],[106.496376,34.238248],[106.526557,34.292159],[106.577064,34.280786],[106.589383,34.253584],[106.63373,34.260014],[106.652825,34.24369],[106.68239,34.256057],[106.705179,34.299575],[106.691013,34.337635],[106.717498,34.369255],[106.638042,34.391481],[106.610941,34.454177],[106.558586,34.48822],[106.513622,34.498085],[106.514238,34.511894],[106.455108,34.531617],[106.334384,34.517811],[106.341159,34.568093],[106.314058,34.578934],[106.419384,34.643458],[106.471122,34.634102],[106.442173,34.675455],[106.456956,34.703996],[106.487137,34.715311],[106.505615,34.746789],[106.539492,34.745805],[106.575216,34.769897],[106.550579,34.82936],[106.556122,34.861285],[106.527789,34.876507],[106.493296,34.941289],[106.484673,34.983959],[106.494528,35.006021],[106.494528,35.006021],[106.52163,35.027587],[106.541956,35.083925],[106.577064,35.089312],[106.615252,35.071191],[106.706411,35.081966],[106.710723,35.100574],[106.838222,35.080007],[106.901664,35.094698],[106.950323,35.066782],[106.990975,35.068252],[107.012533,35.029547],[107.08275,35.024156],[107.089526,34.976604],[107.119707,34.950119],[107.162206,34.944233],[107.189308,34.893198],[107.252749,34.880925],[107.286626,34.931968],[107.350068,34.93393],[107.369162,34.917738],[107.400575,34.932949],[107.455394,34.916757],[107.523763,34.909886],[107.564415,34.968757],[107.619849,34.964834],[107.638943,34.935402],[107.675284,34.9511],[107.741805,34.953553],[107.842203,34.979056],[107.863145,34.999158],[107.846515,35.024646],[107.814486,35.024646],[107.773218,35.060904],[107.773218,35.060904],[107.769523,35.064333],[107.769523,35.064333],[107.727639,35.120157],[107.715936,35.168114],[107.686371,35.218],[107.652494,35.244886],[107.667277,35.257104],[107.737494,35.267366],[107.745501,35.311819],[107.841587,35.276649],[107.867457,35.256127],[107.960464,35.263457],[107.949993,35.245375],[108.049159,35.253683],[108.094739,35.280069],[108.174811,35.304981],[108.221622,35.296678],[108.239484,35.256127],[108.296767,35.267855],[108.345426,35.300586],[108.36144,35.279581],[108.48894,35.275184],[108.547454,35.304981],[108.583178,35.294724],[108.614591,35.328909],[108.61028,35.355271],[108.631222,35.418698],[108.605968,35.503028],[108.625678,35.537124],[108.618287,35.557088],[108.539447,35.605761],[108.517889,35.699615],[108.533903,35.746257],[108.527744,35.82442],[108.499411,35.872444],[108.518505,35.905414],[108.562852,35.921409],[108.593649,35.950967],[108.652164,35.94806],[108.659555,35.990683],[108.688504,36.021183],[108.682345,36.062316],[108.712526,36.138716],[108.646004,36.254143],[108.641693,36.359279],[108.651548,36.384818],[108.618903,36.433946],[108.562852,36.43876],[108.510498,36.47438],[108.514809,36.445501],[108.495099,36.422389],[108.460606,36.422871],[108.408252,36.45946],[108.391621,36.505654],[108.365136,36.519603],[108.340498,36.559032],[108.262274,36.549417],[108.245644,36.571048],[108.210535,36.577296],[108.204992,36.606607],[108.204992,36.606607],[108.222854,36.631105],[108.1976,36.630144],[108.163724,36.563839],[108.092891,36.587388],[108.079956,36.614294],[108.060862,36.592194],[108.001732,36.639269],[108.02329,36.647912],[108.006659,36.683435],[107.938906,36.655594],[107.940754,36.694953],[107.914268,36.720861],[107.907493,36.750118],[107.866841,36.766899],[107.768291,36.792783],[107.742421,36.811951],[107.722095,36.802367],[107.670356,36.83303],[107.642023,36.819137],[107.5909,36.836382],[107.540393,36.828718],[107.533618,36.867031],[107.478183,36.908196],[107.365466,36.905324],[107.336517,36.925899],[107.310032,36.912502],[107.291554,36.979463],[107.291554,36.979463],[107.288474,37.008143],[107.288474,37.008143],[107.28601,37.054963],[107.268764,37.099367],[107.234887,37.096503],[107.181916,37.143269],[107.133873,37.134681],[107.095685,37.115595],[107.030395,37.140883],[107.031011,37.108436],[106.998367,37.106527],[106.905976,37.151378],[106.912135,37.110345],[106.891193,37.098413],[106.818512,37.141838],[106.776012,37.158056],[106.772933,37.120367],[106.750143,37.09889],[106.728585,37.121321],[106.687933,37.12991],[106.673151,37.1113],[106.6171,37.135158],[106.605397,37.127524],[106.645433,37.064992],[106.666991,37.016745],[106.646665,37.000496],[106.64297,36.962729],[106.594926,36.967988],[106.595542,36.94025],[106.540108,36.984244],[106.549347,36.941685],[106.601702,36.918244],[106.609709,36.878521],[106.609709,36.878521],[106.626955,36.892403],[106.637426,36.867031],[106.637426,36.867031],[106.657752,36.820575],[106.627571,36.752995],[106.644817,36.72278],[106.59431,36.750118],[106.514238,36.715584],[106.519782,36.708868],[106.519782,36.708868],[106.530869,36.690154],[106.490833,36.685835],[106.491448,36.628703],[106.444637,36.624861],[106.465579,36.583063],[106.444637,36.557109],[106.397826,36.576816],[106.392282,36.556628],[106.363949,36.577296],[106.37134,36.549417],[106.39721,36.548455],[106.455724,36.496995],[106.494528,36.494589],[106.523477,36.468605],[106.492064,36.422389],[106.510543,36.379037],[106.497608,36.31348],[106.470507,36.306246],[106.504383,36.266207],[106.54134,36.25366],[106.559202,36.292259],[106.647897,36.259451],[106.685469,36.273445],[106.698404,36.244008],[106.735976,36.23725],[106.772933,36.212628],[106.808657,36.21118],[106.833295,36.229044],[106.858548,36.206834],[106.858548,36.206834],[106.873947,36.178338],[106.873947,36.178338],[106.930613,36.138716],[106.925686,36.115997],[106.957715,36.091337],[106.940468,36.064734],[106.928149,36.011502],[106.94786,35.988262],[106.90228,35.943699],[106.93862,35.952905],[106.940468,35.931101],[106.912751,35.93207],[106.849925,35.887476],[106.927534,35.810346],[106.897353,35.759856],[106.868403,35.771996],[106.867171,35.738485],[106.819128,35.7448],[106.806193,35.70982],[106.750759,35.725369],[106.750759,35.689408],[106.674998,35.728284],[106.66268,35.70739],[106.633115,35.714679],[106.620796,35.743829],[106.595542,35.727312],[106.566593,35.738971],[106.506231,35.737514]]],[[[106.047356,35.498155],[106.048588,35.488898],[106.054132,35.45478],[106.071994,35.463555],[106.078769,35.509848],[106.047356,35.498155]]],[[[102.831537,36.365544],[102.829689,36.365544],[102.836465,36.344819],[102.838928,36.345783],[102.831537,36.365544]]],[[[106.073226,35.447468],[106.067682,35.436254],[106.073226,35.420649],[106.083081,35.421624],[106.073226,35.447468]]],[[[106.504383,35.736057],[106.506231,35.737514],[106.49268,35.732656],[106.498224,35.732656],[106.504383,35.736057]]]]}},{"type":"Feature","properties":{"adcode":630000,"name":"青海省","center":[101.778916,36.623178],"centroid":[96.043533,35.726403],"childrenNum":8,"level":"province","parent":{"adcode":100000},"subFeatureIndex":28,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[102.829689,36.365544],[102.771791,36.47438],[102.793349,36.497957],[102.753313,36.525855],[102.734219,36.562396],[102.761936,36.568645],[102.714509,36.599401],[102.724364,36.613813],[102.684328,36.619097],[102.630741,36.650793],[102.601176,36.710307],[102.612879,36.738129],[102.639364,36.732853],[102.692335,36.775528],[102.720052,36.767858],[102.639364,36.852666],[102.587009,36.869904],[102.56114,36.91968],[102.526031,36.928291],[102.499546,36.954599],[102.450271,36.968467],[102.506321,37.019134],[102.488459,37.078362],[102.583314,37.104618],[102.642444,37.099845],[102.599944,37.174748],[102.578386,37.17284],[102.533422,37.217176],[102.490307,37.223371],[102.457662,37.248147],[102.45335,37.271487],[102.419474,37.294343],[102.428097,37.308624],[102.368351,37.327662],[102.29875,37.370004],[102.299981,37.391404],[102.19712,37.420403],[102.176794,37.458892],[102.125055,37.48549],[102.103497,37.482641],[102.131214,37.54625],[102.102265,37.582304],[102.035128,37.627819],[102.048678,37.651515],[102.036359,37.685149],[101.998787,37.724921],[101.946432,37.728235],[101.873135,37.686569],[101.854657,37.664781],[101.815853,37.654357],[101.791832,37.696041],[101.659405,37.733441],[101.670491,37.754264],[101.598427,37.827569],[101.551615,37.835604],[101.459224,37.86632],[101.382848,37.822369],[101.362522,37.791162],[101.276906,37.83655],[101.202994,37.84742],[101.159262,37.86821],[101.152486,37.891356],[101.114298,37.92016],[101.103211,37.946593],[101.077342,37.941874],[100.964009,38.011221],[100.91843,37.999432],[100.895024,38.013107],[100.888864,38.056001],[100.922125,38.084741],[100.91843,38.129006],[100.93814,38.16007],[100.913502,38.17889],[100.860531,38.148305],[100.825423,38.158658],[100.752126,38.238612],[100.71517,38.253652],[100.619083,38.26587],[100.595061,38.242372],[100.545786,38.247072],[100.516837,38.272448],[100.474953,38.288891],[100.459555,38.2654],[100.432453,38.275267],[100.424446,38.307208],[100.396729,38.293118],[100.318505,38.329276],[100.331439,38.337257],[100.301874,38.388405],[100.259374,38.366355],[100.24028,38.441861],[100.163288,38.461546],[100.113397,38.497151],[100.086911,38.492936],[100.064122,38.518694],[100.025933,38.507923],[100.001296,38.467169],[100.022238,38.432017],[100.093071,38.407166],[100.136803,38.33444],[100.163904,38.328337],[100.159592,38.291239],[100.182998,38.222158],[100.126332,38.231561],[100.117093,38.253652],[100.071513,38.284663],[100.049955,38.283254],[100.001912,38.315191],[99.960028,38.320825],[99.826985,38.370109],[99.758,38.410449],[99.727203,38.415607],[99.65945,38.449361],[99.63974,38.474666],[99.585537,38.498556],[99.52887,38.546314],[99.501769,38.612281],[99.450646,38.60433],[99.412458,38.665571],[99.375502,38.684727],[99.361951,38.718354],[99.291118,38.765966],[99.222133,38.788827],[99.141445,38.852706],[99.068764,38.896968],[99.071843,38.921184],[99.107568,38.951907],[99.054597,38.97657],[98.951735,38.987735],[98.903076,39.012384],[98.886446,39.040744],[98.818076,39.064911],[98.816845,39.085818],[98.743548,39.086747],[98.730613,39.057011],[98.70536,39.043533],[98.661628,38.993782],[98.612353,38.977035],[98.624056,38.959353],[98.584635,38.93003],[98.526737,38.95563],[98.457752,38.952838],[98.428187,38.976104],[98.432498,38.996107],[98.401086,39.001688],[98.383839,39.029588],[98.316702,39.040744],[98.280977,39.027263],[98.287753,38.992386],[98.276666,38.963541],[98.235398,38.918855],[98.242173,38.880664],[98.167645,38.840121],[98.091884,38.786495],[98.068478,38.816344],[98.029058,38.834061],[98.009348,38.85923],[97.875689,38.898365],[97.828878,38.93003],[97.701379,38.963076],[97.679205,39.010524],[97.58127,39.052364],[97.504894,39.076527],[97.458698,39.117863],[97.401416,39.146645],[97.371235,39.140611],[97.347213,39.167528],[97.315185,39.164744],[97.220946,39.193042],[97.14149,39.199999],[97.060186,39.19768],[97.017686,39.208347],[96.962251,39.198144],[97.012142,39.142004],[96.969643,39.097895],[96.95794,39.041674],[96.965331,39.017034],[96.938846,38.95563],[96.940693,38.90768],[96.983809,38.869016],[96.993664,38.834993],[96.987505,38.793025],[97.00044,38.7613],[97.023229,38.755699],[97.009063,38.702477],[97.057722,38.67258],[97.047251,38.653888],[97.055874,38.594508],[96.961019,38.558015],[96.876636,38.580475],[96.847071,38.599186],[96.7941,38.608072],[96.808882,38.582346],[96.767614,38.552399],[96.800259,38.52759],[96.780549,38.504177],[96.706637,38.505582],[96.6666,38.483567],[96.707868,38.459203],[96.698013,38.422172],[96.626564,38.356031],[96.638883,38.307208],[96.655514,38.295936],[96.665369,38.23015],[96.46334,38.277616],[96.378341,38.277146],[96.335841,38.246132],[96.301964,38.183124],[96.313051,38.161952],[96.264392,38.145952],[96.252689,38.167599],[96.221892,38.149246],[96.109175,38.187358],[96.06606,38.173245],[96.006929,38.207582],[95.93856,38.237202],[95.932401,38.259291],[95.89606,38.2903],[95.852945,38.287481],[95.83693,38.344298],[95.775952,38.356031],[95.723597,38.378554],[95.703887,38.400131],[95.671858,38.388405],[95.608417,38.339134],[95.585011,38.343359],[95.51849,38.294997],[95.487693,38.314721],[95.455664,38.291709],[95.440881,38.310965],[95.408236,38.300163],[95.315846,38.318947],[95.259179,38.302981],[95.229614,38.330685],[95.209904,38.327868],[95.185266,38.379492],[95.140919,38.392158],[95.122441,38.417014],[95.072549,38.402476],[95.045448,38.418889],[94.973999,38.430142],[94.884072,38.414669],[94.861282,38.393565],[94.812623,38.385591],[94.672805,38.386998],[94.582878,38.36917],[94.56132,38.351807],[94.527443,38.365416],[94.527443,38.425922],[94.511429,38.445142],[94.370379,38.7627],[94.281067,38.7599],[93.973098,38.724891],[93.95154,38.715086],[93.885018,38.720689],[93.800019,38.750566],[93.773533,38.771099],[93.756287,38.807484],[93.769838,38.821007],[93.884403,38.826136],[93.884403,38.867618],[93.834511,38.867618],[93.729186,38.924443],[93.453245,38.915596],[93.274007,38.896036],[93.237666,38.916062],[93.179152,38.923977],[93.198246,39.045857],[93.165601,39.090928],[93.131725,39.108112],[93.142196,39.160567],[93.115094,39.17959],[93.043029,39.146645],[92.978356,39.143396],[92.938936,39.169848],[92.889045,39.160103],[92.866871,39.138754],[92.765857,39.136898],[92.659299,39.109969],[92.545966,39.111362],[92.489916,39.099753],[92.459119,39.063982],[92.459119,39.042604],[92.41046,39.03842],[92.416003,39.010524],[92.380279,38.999828],[92.263866,39.002153],[92.197961,38.983548],[92.173323,38.960749],[92.10865,38.963541],[91.966368,38.930961],[91.880752,38.899297],[91.87952,38.884391],[91.806223,38.872744],[91.694738,38.86622],[91.681188,38.852706],[91.501333,38.815411],[91.446515,38.813546],[91.298689,38.746365],[91.242639,38.752433],[91.188436,38.73096],[90.992567,38.695003],[90.970394,38.697806],[90.899561,38.679588],[90.724634,38.658094],[90.65996,38.674449],[90.619308,38.664636],[90.645794,38.635191],[90.606374,38.610878],[90.608837,38.594508],[90.560794,38.593573],[90.525685,38.561291],[90.463476,38.556611],[90.465323,38.521971],[90.427135,38.493873],[90.353222,38.482162],[90.315034,38.501835],[90.248513,38.491531],[90.130868,38.494341],[90.111774,38.477945],[90.111774,38.418889],[90.129636,38.400131],[90.179528,38.396848],[90.137644,38.340543],[90.280542,38.238142],[90.352607,38.233441],[90.361846,38.300163],[90.401882,38.311434],[90.531229,38.319886],[90.516446,38.207111],[90.519526,37.730601],[90.579272,37.720661],[90.586663,37.703144],[90.643946,37.696988],[90.777605,37.648672],[90.820104,37.613599],[90.854597,37.604117],[90.882314,37.575664],[90.865684,37.53059],[90.911879,37.519674],[90.958075,37.477891],[91.019669,37.493088],[91.073256,37.475992],[91.099741,37.447965],[91.113292,37.387124],[91.136081,37.355734],[91.134849,37.324331],[91.194596,37.273868],[91.1909,37.205737],[91.280211,37.163779],[91.286371,37.105095],[91.303617,37.083136],[91.291298,37.042544],[91.303617,37.012444],[91.216153,37.010054],[91.181045,37.025345],[91.133618,37.007665],[91.126842,36.978507],[91.051698,36.96751],[91.036915,36.929727],[90.983944,36.913459],[90.924198,36.921115],[90.853981,36.915373],[90.758511,36.825844],[90.732025,36.825844],[90.727098,36.755872],[90.754815,36.721341],[90.720938,36.708868],[90.706156,36.658955],[90.730793,36.655594],[90.72217,36.620058],[90.741264,36.585947],[90.810865,36.585466],[90.831191,36.55807],[90.905104,36.560474],[91.011662,36.539801],[91.035683,36.529703],[91.039995,36.474861],[91.028292,36.443093],[91.051698,36.433946],[91.026444,36.323607],[91.07264,36.299012],[91.051698,36.238215],[91.096045,36.219871],[91.09235,36.163844],[91.124994,36.115514],[91.081263,36.088436],[90.979017,36.106811],[90.922966,36.028927],[90.850285,36.016827],[90.815793,36.035703],[90.776373,36.086501],[90.659344,36.13485],[90.613149,36.126632],[90.534925,36.147899],[90.478258,36.13195],[90.424055,36.133883],[90.325505,36.159496],[90.23681,36.160462],[90.198006,36.187516],[90.130252,36.2078],[90.145651,36.239181],[90.058188,36.255591],[90.043405,36.276822],[90.003369,36.278752],[90.028006,36.258486],[90.019999,36.213594],[89.997825,36.168193],[89.944855,36.140649],[89.941159,36.067637],[89.914058,36.079246],[89.819819,36.080697],[89.766848,36.073925],[89.711414,36.093272],[89.688624,36.091337],[89.605472,36.038123],[89.474893,36.022151],[89.417611,36.044897],[89.404676,36.016827],[89.434857,35.992136],[89.428082,35.917531],[89.489676,35.903475],[89.554965,35.873414],[89.550654,35.856924],[89.62395,35.859349],[89.654747,35.848193],[89.707718,35.849163],[89.778551,35.861775],[89.801957,35.848193],[89.767464,35.799183],[89.782863,35.773453],[89.747138,35.7516],[89.748986,35.66267],[89.726196,35.648082],[89.765616,35.599922],[89.75145,35.580942],[89.71203,35.581915],[89.699711,35.544916],[89.720037,35.501566],[89.740979,35.507412],[89.765,35.482563],[89.739131,35.468429],[89.685544,35.416259],[89.658443,35.425526],[89.619639,35.412357],[89.58761,35.383575],[89.497067,35.361128],[89.516161,35.330862],[89.494603,35.298632],[89.531559,35.276161],[89.48598,35.256616],[89.450255,35.223867],[89.46935,35.214577],[89.519241,35.133862],[89.579603,35.118688],[89.593153,35.104491],[89.59069,35.057965],[89.560509,34.938836],[89.578987,34.895162],[89.670146,34.887798],[89.707102,34.919701],[89.747138,34.903506],[89.78779,34.921664],[89.821051,34.902033],[89.814891,34.86816],[89.838913,34.865705],[89.867862,34.81069],[89.825978,34.796931],[89.799493,34.743838],[89.732356,34.732035],[89.72558,34.660689],[89.74837,34.641981],[89.798877,34.628686],[89.777935,34.574499],[89.814891,34.548871],[89.823515,34.455657],[89.819819,34.420614],[89.799493,34.39642],[89.820435,34.369255],[89.858623,34.359375],[89.86663,34.324785],[89.825362,34.293642],[89.838297,34.263477],[89.816739,34.16945],[89.789638,34.150632],[89.760073,34.152613],[89.756993,34.124874],[89.71203,34.131809],[89.655979,34.097126],[89.656595,34.057966],[89.635037,34.049537],[89.684928,33.990013],[89.688008,33.959739],[89.718805,33.946832],[89.73174,33.921509],[89.795181,33.865374],[89.837065,33.868853],[89.899891,33.80771],[89.942391,33.801246],[89.902355,33.758467],[89.907282,33.741051],[89.983659,33.725622],[89.981195,33.70322],[90.008296,33.687785],[89.984275,33.612061],[90.01076,33.553728],[90.083441,33.525295],[90.088984,33.478885],[90.107463,33.460913],[90.22018,33.437943],[90.246665,33.423959],[90.332896,33.310501],[90.363077,33.279487],[90.405577,33.260473],[90.490577,33.264977],[90.562642,33.229441],[90.627315,33.180368],[90.704308,33.135778],[90.740032,33.142293],[90.803474,33.114227],[90.88293,33.120241],[90.902024,33.083143],[90.927894,33.120241],[91.001807,33.11573],[91.037531,33.098686],[91.072024,33.113224],[91.147784,33.07211],[91.161335,33.108712],[91.18782,33.106206],[91.226624,33.141792],[91.261733,33.141291],[91.311624,33.108211],[91.370138,33.100691],[91.436044,33.066092],[91.49579,33.109214],[91.535826,33.10019],[91.55492,33.060074],[91.583253,33.0375],[91.664557,33.012913],[91.685499,32.989324],[91.752637,32.969242],[91.799448,32.942126],[91.839484,32.948152],[91.857962,32.90244],[91.896766,32.907967],[91.955897,32.8205],[92.018722,32.829552],[92.038432,32.860725],[92.101874,32.860222],[92.145606,32.885857],[92.205352,32.866255],[92.227526,32.821003],[92.193649,32.801889],[92.211511,32.788306],[92.198577,32.754591],[92.255243,32.720863],[92.310062,32.751571],[92.343938,32.738484],[92.355641,32.764657],[92.411076,32.748048],[92.459119,32.76365],[92.484372,32.745028],[92.56814,32.73194],[92.574916,32.741001],[92.634662,32.720863],[92.667922,32.73194],[92.686401,32.76516],[92.756618,32.743014],[92.789262,32.719856],[92.822523,32.729926],[92.866871,32.698203],[92.933392,32.719353],[92.964189,32.714821],[93.00053,32.741001],[93.019624,32.737477],[93.023935,32.703239],[93.069515,32.626156],[93.087993,32.63674],[93.159442,32.644803],[93.176688,32.6705],[93.210565,32.655385],[93.239514,32.662439],[93.260456,32.62666],[93.300492,32.619604],[93.308499,32.580278],[93.33868,32.5712],[93.385492,32.525294],[93.411977,32.558086],[93.4631,32.556069],[93.476651,32.504603],[93.501904,32.503593],[93.516687,32.47583],[93.618933,32.522771],[93.651577,32.571705],[93.721795,32.578261],[93.75136,32.56313],[93.820345,32.549511],[93.851142,32.50965],[93.861613,32.466237],[93.90904,32.463207],[93.960163,32.484917],[93.978641,32.459672],[94.03038,32.448057],[94.049474,32.469771],[94.091974,32.463207],[94.137554,32.433915],[94.176974,32.454117],[94.196684,32.51621],[94.250886,32.51722],[94.292154,32.502584],[94.294002,32.519743],[94.350053,32.533871],[94.371611,32.524789],[94.395016,32.594397],[94.435052,32.562626],[94.463386,32.572209],[94.459074,32.599439],[94.522516,32.595909],[94.591501,32.640772],[94.614291,32.673522],[94.638312,32.645307],[94.737479,32.587338],[94.762116,32.526303],[94.78737,32.522266],[94.80708,32.486431],[94.852043,32.463712],[94.889616,32.472295],[94.912405,32.41573],[94.944434,32.404109],[94.988166,32.422802],[95.057151,32.395014],[95.075013,32.376315],[95.075013,32.376315],[95.081789,32.384907],[95.153853,32.386423],[95.218527,32.397035],[95.228382,32.363678],[95.261643,32.348006],[95.193274,32.332331],[95.096571,32.322217],[95.079325,32.279726],[95.10581,32.258979],[95.20744,32.297433],[95.214216,32.321712],[95.241317,32.3207],[95.239469,32.287315],[95.270266,32.194683],[95.270266,32.194683],[95.31523,32.148585],[95.366968,32.151118],[95.367584,32.178982],[95.406389,32.182021],[95.440265,32.157705],[95.454432,32.061898],[95.421171,32.033999],[95.454432,32.007613],[95.395918,32.001523],[95.360809,31.95939],[95.3682,31.92892],[95.408852,31.918761],[95.406389,31.896915],[95.456896,31.801853],[95.480301,31.795749],[95.511714,31.750468],[95.546823,31.73978],[95.580083,31.76726],[95.634286,31.782523],[95.779648,31.748941],[95.823995,31.68225],[95.853561,31.714329],[95.846169,31.736218],[95.89914,31.81711],[95.983524,31.816601],[95.989067,31.78761],[96.064828,31.720438],[96.135661,31.70211],[96.148595,31.686324],[96.156603,31.602769],[96.207726,31.598691],[96.221892,31.647613],[96.245298,31.657802],[96.252073,31.697527],[96.222508,31.733164],[96.231131,31.749959],[96.178161,31.775401],[96.183088,31.835924],[96.202798,31.841008],[96.214501,31.876589],[96.188632,31.904028],[96.220044,31.905553],[96.253305,31.929936],[96.288414,31.919777],[96.389428,31.919777],[96.407906,31.845583],[96.435623,31.796258],[96.468884,31.769804],[96.519391,31.74945],[96.56805,31.711783],[96.615477,31.737236],[96.661057,31.705674],[96.691854,31.722474],[96.722651,31.686833],[96.778701,31.675629],[96.790404,31.698545],[96.840295,31.720438],[96.799027,31.792188],[96.765767,31.819144],[96.760223,31.860325],[96.794716,31.869474],[96.81073,31.894375],[96.776238,31.935015],[96.753448,31.944156],[96.742977,32.001016],[96.722651,32.013195],[96.824281,32.007613],[96.868629,31.964975],[96.863085,31.996448],[96.894498,32.013703],[96.941925,31.986297],[96.965947,32.008628],[96.935766,32.048203],[97.006599,32.067984],[97.028773,32.04871],[97.127323,32.044145],[97.169823,32.032984],[97.188301,32.055304],[97.214786,32.042623],[97.233881,32.063927],[97.201852,32.090296],[97.219714,32.109054],[97.258518,32.072041],[97.308409,32.076605],[97.293011,32.096887],[97.313953,32.130342],[97.271453,32.139971],[97.264062,32.182527],[97.299786,32.294904],[97.32196,32.303503],[97.371235,32.273148],[97.415583,32.296421],[97.424822,32.322723],[97.387865,32.427349],[97.341054,32.440987],[97.388481,32.501575],[97.334895,32.514192],[97.332431,32.542448],[97.3583,32.563635],[97.374315,32.546484],[97.411887,32.575235],[97.448843,32.586833],[97.463626,32.55506],[97.50243,32.530844],[97.540618,32.536899],[97.670582,32.51722],[97.684132,32.530339],[97.730944,32.527312],[97.700763,32.53488],[97.616995,32.586329],[97.607756,32.614059],[97.543698,32.62162],[97.535075,32.638252],[97.48272,32.654377],[97.42359,32.70475],[97.429133,32.714318],[97.386018,32.77925],[97.392793,32.828546],[97.376163,32.886359],[97.347829,32.895907],[97.375547,32.956689],[97.438372,32.976271],[97.523988,32.988822],[97.499966,33.011408],[97.542466,33.035995],[97.517213,33.097683],[97.487032,33.107209],[97.498119,33.137783],[97.487648,33.168346],[97.548626,33.203907],[97.607756,33.263976],[97.622538,33.337005],[97.676125,33.341004],[97.754349,33.409972],[97.674893,33.432949],[97.625618,33.461412],[97.552321,33.465906],[97.511669,33.520805],[97.523372,33.577166],[97.450075,33.582152],[97.415583,33.605582],[97.435293,33.682307],[97.418046,33.728608],[97.422974,33.754984],[97.406344,33.795278],[97.373083,33.817655],[97.371851,33.842015],[97.398336,33.848477],[97.395257,33.889224],[97.460546,33.887236],[97.503662,33.912073],[97.52214,33.903133],[97.601596,33.929951],[97.629314,33.919523],[97.660111,33.956264],[97.652719,33.998448],[97.70261,34.036644],[97.665654,34.126855],[97.766668,34.158555],[97.789458,34.182818],[97.789458,34.182818],[97.796849,34.199154],[97.796849,34.199154],[97.8104,34.207568],[97.898479,34.209548],[97.95453,34.190739],[98.028442,34.122892],[98.098043,34.122892],[98.158405,34.107037],[98.206449,34.08424],[98.258188,34.083249],[98.344419,34.094648],[98.399854,34.085231],[98.396774,34.053008],[98.428187,34.029204],[98.440506,33.981577],[98.415252,33.956761],[98.425723,33.913066],[98.407245,33.867362],[98.434962,33.843009],[98.463295,33.848477],[98.492861,33.796272],[98.494092,33.768915],[98.51873,33.77389],[98.539672,33.746525],[98.582788,33.731595],[98.610505,33.682805],[98.6567,33.64744],[98.61728,33.637476],[98.622824,33.610067],[98.652389,33.595114],[98.648077,33.548741],[98.678258,33.522801],[98.725686,33.503341],[98.742316,33.477887],[98.736157,33.406975],[98.779888,33.370497],[98.759562,33.276985],[98.802062,33.270481],[98.804526,33.219428],[98.858728,33.150811],[98.92217,33.118738],[98.967134,33.115229],[98.971445,33.098185],[99.014561,33.081137],[99.024416,33.094675],[99.090322,33.079131],[99.124814,33.046028],[99.196263,33.035493],[99.214741,32.991332],[99.235067,32.982296],[99.24677,32.924043],[99.268944,32.878318],[99.353944,32.885354],[99.376118,32.899927],[99.45311,32.862233],[99.558436,32.839106],[99.589233,32.789312],[99.640355,32.790822],[99.646515,32.774721],[99.700718,32.76667],[99.717964,32.732443],[99.760464,32.769689],[99.766623,32.826032],[99.791877,32.883344],[99.764159,32.924545],[99.788181,32.956689],[99.805427,32.940619],[99.851007,32.941623],[99.877492,32.993339],[99.877492,33.045527],[99.947709,32.986814],[99.956332,32.948152],[100.038252,32.929066],[100.029629,32.895907],[100.064738,32.895907],[100.123252,32.837095],[100.117093,32.802392],[100.139266,32.724388],[100.088143,32.668988],[100.109701,32.640268],[100.189773,32.630692],[100.208252,32.606497],[100.229809,32.650346],[100.231041,32.696189],[100.258759,32.742511],[100.339447,32.719353],[100.399193,32.756101],[100.378251,32.698707],[100.420135,32.73194],[100.450932,32.694678],[100.470026,32.694678],[100.516837,32.632204],[100.54517,32.569687],[100.603069,32.553547],[100.645568,32.526303],[100.657887,32.546484],[100.661583,32.616075],[100.673286,32.628172],[100.710242,32.610026],[100.71209,32.645307],[100.690532,32.678056],[100.77122,32.643795],[100.834046,32.648835],[100.887633,32.632708],[100.93198,32.600447],[100.956618,32.621116],[100.99727,32.627668],[101.030531,32.660424],[101.077342,32.68259],[101.124769,32.658408],[101.157414,32.661431],[101.22332,32.725898],[101.237486,32.825026],[101.223935,32.855698],[101.178356,32.892892],[101.124153,32.909976],[101.134624,32.95217],[101.129081,32.989324],[101.183899,32.984304],[101.171581,33.009902],[101.184515,33.041514],[101.146327,33.056563],[101.143863,33.086151],[101.169733,33.10019],[101.11553,33.194893],[101.124769,33.221431],[101.156798,33.236449],[101.182668,33.26948],[101.217776,33.256469],[101.297232,33.262475],[101.381616,33.153316],[101.393935,33.157826],[101.386543,33.207412],[101.403174,33.225436],[101.487557,33.226938],[101.515275,33.192889],[101.557775,33.167344],[101.633535,33.101193],[101.661252,33.135778],[101.653861,33.162835],[101.709912,33.21292],[101.735781,33.279987],[101.677883,33.297497],[101.64955,33.323004],[101.663716,33.383991],[101.695745,33.433948],[101.769042,33.45592],[101.777665,33.533776],[101.769042,33.538765],[101.748716,33.505337],[101.718535,33.494857],[101.622448,33.502343],[101.611977,33.565199],[101.616905,33.598603],[101.585492,33.645448],[101.58426,33.674339],[101.501724,33.702723],[101.428427,33.680315],[101.424732,33.655411],[101.385312,33.644949],[101.302776,33.657902],[101.23687,33.685793],[101.217776,33.669856],[101.166653,33.659894],[101.177124,33.685295],[101.162957,33.719649],[101.186363,33.741051],[101.190675,33.791796],[101.153102,33.823124],[101.153718,33.8445],[101.054552,33.863386],[101.023139,33.896178],[100.994806,33.891707],[100.965857,33.946832],[100.927669,33.975126],[100.93506,33.990013],[100.880857,34.036644],[100.870386,34.083744],[100.848828,34.089692],[100.806329,34.155584],[100.764445,34.178857],[100.809408,34.247153],[100.798321,34.260014],[100.821727,34.317371],[100.868538,34.332693],[100.895024,34.375183],[100.951074,34.38358],[100.986799,34.374689],[101.054552,34.322808],[101.098284,34.329233],[101.178356,34.320831],[101.193754,34.336646],[101.235022,34.325279],[101.228863,34.298586],[101.268899,34.278808],[101.325565,34.268423],[101.327413,34.24468],[101.369913,34.248143],[101.417956,34.227858],[101.482014,34.218951],[101.492485,34.195689],[101.53868,34.212022],[101.6206,34.178857],[101.674187,34.110506],[101.703136,34.119424],[101.718535,34.083249],[101.736397,34.080275],[101.764114,34.122892],[101.788136,34.131809],[101.836795,34.124378],[101.851578,34.153108],[101.874367,34.130323],[101.897773,34.133791],[101.955055,34.109514],[101.965526,34.167469],[102.003099,34.162022],[102.030816,34.190739],[102.01357,34.218456],[102.062229,34.227858],[102.067772,34.293642],[102.149692,34.271885],[102.186649,34.352952],[102.237156,34.34307],[102.237156,34.34307],[102.259329,34.355917],[102.205743,34.407777],[102.169402,34.457631],[102.155852,34.507456],[102.139837,34.50351],[102.093026,34.536547],[102.001867,34.538519],[101.97415,34.548871],[101.956287,34.582876],[101.934729,34.58731],[101.919947,34.621791],[101.917483,34.705964],[101.923027,34.835746],[101.916867,34.873561],[101.985852,34.90007],[102.068388,34.887798],[102.048062,34.910868],[102.094874,34.986901],[102.133678,35.014844],[102.157699,35.010923],[102.176178,35.032977],[102.211286,35.034937],[102.218062,35.057475],[102.252554,35.048657],[102.29567,35.071681],[102.310452,35.128967],[102.346793,35.164201],[102.404075,35.179366],[102.365887,35.235599],[102.370199,35.263946],[102.3123,35.282512],[102.280887,35.303028],[102.311684,35.31426],[102.317844,35.343067],[102.287663,35.36552],[102.293822,35.424063],[102.314764,35.434303],[102.408387,35.409431],[102.447807,35.437229],[102.437952,35.455268],[102.49893,35.545403],[102.503241,35.585322],[102.531575,35.580455],[102.570995,35.548324],[102.695414,35.528358],[102.743458,35.494745],[102.782878,35.527871],[102.729291,35.523487],[102.746537,35.545403],[102.808747,35.560496],[102.763168,35.612086],[102.7644,35.653431],[102.744074,35.657807],[102.707733,35.70496],[102.686175,35.771996],[102.715125,35.815685],[102.739146,35.821023],[102.787189,35.862745],[102.81737,35.850133],[102.914073,35.845282],[102.94487,35.829757],[102.954725,35.858864],[102.942406,35.92674],[102.971971,35.995525],[102.951645,36.021667],[102.968276,36.044414],[102.932551,36.048285],[102.882044,36.082632],[102.941174,36.104877],[102.948566,36.150798],[102.965812,36.151765],[102.986754,36.193312],[103.048964,36.199107],[103.066826,36.216974],[103.021246,36.232906],[103.024942,36.256556],[102.922696,36.298047],[102.896827,36.331803],[102.845704,36.331803],[102.836465,36.344819],[102.829689,36.365544]]]]}},{"type":"Feature","properties":{"adcode":640000,"name":"宁夏回族自治区","center":[106.278179,38.46637],"centroid":[106.169866,37.291332],"childrenNum":5,"level":"province","parent":{"adcode":100000},"subFeatureIndex":29,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[107.268764,37.099367],[107.281083,37.127047],[107.306952,37.100799],[107.334669,37.138975],[107.336517,37.165687],[107.317423,37.200017],[107.270612,37.229089],[107.309416,37.239095],[107.273075,37.29101],[107.257677,37.337179],[107.282931,37.437036],[107.284162,37.481691],[107.345756,37.518725],[107.369162,37.58752],[107.330358,37.584201],[107.311264,37.609806],[107.361155,37.613125],[107.422133,37.665254],[107.389488,37.671413],[107.387024,37.691305],[107.425828,37.684201],[107.484959,37.706458],[107.499125,37.765619],[107.57119,37.776499],[107.599523,37.791162],[107.620465,37.776026],[107.646335,37.805349],[107.659269,37.844112],[107.65003,37.86443],[107.560719,37.893717],[107.49235,37.944706],[107.448618,37.933378],[107.411662,37.948009],[107.440611,37.995659],[107.3938,38.014993],[107.33159,38.086625],[107.240431,38.111586],[107.19054,38.153953],[107.138801,38.161011],[107.119091,38.134185],[107.071047,38.138892],[107.051337,38.122886],[107.010069,38.120532],[106.942316,38.132302],[106.858548,38.156306],[106.779092,38.171833],[106.737824,38.197706],[106.654672,38.22921],[106.627571,38.232501],[106.555506,38.263521],[106.482209,38.319417],[106.599854,38.389812],[106.647897,38.470917],[106.66268,38.601524],[106.709491,38.718821],[106.756302,38.748699],[106.837606,38.847579],[106.954019,38.941202],[106.971881,39.026333],[106.96757,39.054688],[106.933693,39.076527],[106.878874,39.091392],[106.859164,39.107648],[106.825288,39.19397],[106.795723,39.214375],[106.790795,39.241263],[106.806193,39.277407],[106.806809,39.318625],[106.781556,39.371849],[106.751375,39.381564],[106.683622,39.357506],[106.643586,39.357969],[106.602318,39.37555],[106.556122,39.322329],[106.525325,39.308439],[106.511774,39.272311],[106.402753,39.291767],[106.280181,39.262118],[106.29558,39.167992],[106.285109,39.146181],[106.251232,39.131327],[106.192718,39.142932],[106.170544,39.163352],[106.145907,39.153142],[106.096631,39.084889],[106.078153,39.026333],[106.087392,39.006339],[106.060907,38.96866],[106.021487,38.953769],[105.97098,38.909077],[105.992538,38.857366],[105.909386,38.791159],[105.908154,38.737496],[105.88598,38.716953],[105.894603,38.696405],[105.852719,38.641735],[105.874277,38.593105],[105.856415,38.569714],[105.863806,38.53508],[105.836705,38.476071],[105.850872,38.443736],[105.827466,38.432486],[105.835473,38.387467],[105.821307,38.366824],[105.86627,38.296406],[105.842248,38.240962],[105.802828,38.220277],[105.775111,38.186887],[105.76772,38.121474],[105.780655,38.084741],[105.840401,38.004147],[105.799749,37.939986],[105.80406,37.862068],[105.760944,37.799674],[105.677177,37.771769],[105.622358,37.777919],[105.616199,37.722555],[105.598952,37.699356],[105.467141,37.695094],[105.4037,37.710246],[105.315004,37.702197],[105.221998,37.677097],[105.187505,37.657674],[105.111128,37.633981],[105.027977,37.580881],[104.866601,37.566651],[104.805007,37.539133],[104.623305,37.522522],[104.433595,37.515402],[104.419429,37.511604],[104.407726,37.464592],[104.322726,37.44844],[104.287002,37.428007],[104.298705,37.414223],[104.365226,37.418026],[104.437907,37.445589],[104.448994,37.42468],[104.499501,37.421353],[104.521059,37.43466],[104.679971,37.408044],[104.662109,37.367626],[104.713848,37.329566],[104.673812,37.317668],[104.651022,37.290534],[104.624536,37.298627],[104.600515,37.242907],[104.638087,37.201923],[104.717543,37.208597],[104.776673,37.246718],[104.85613,37.211933],[104.864753,37.17284],[104.888158,37.15901],[104.914644,37.097935],[104.954064,37.077407],[104.95468,37.040156],[105.004571,37.035378],[105.03968,37.007187],[105.05939,37.022956],[105.128991,36.996194],[105.165331,36.99476],[105.185657,36.942164],[105.178882,36.892403],[105.244787,36.894796],[105.279896,36.86751],[105.303302,36.820575],[105.334714,36.80093],[105.340874,36.764502],[105.319932,36.742924],[105.275584,36.752515],[105.272505,36.739567],[105.218302,36.730455],[105.201056,36.700711],[105.225693,36.664716],[105.22015,36.631105],[105.261418,36.602764],[105.2762,36.563358],[105.252179,36.553263],[105.281744,36.522489],[105.322396,36.535954],[105.362432,36.496514],[105.363048,36.443093],[105.398156,36.430575],[105.401236,36.369881],[105.425873,36.330357],[105.455439,36.321678],[105.476381,36.293224],[105.45975,36.268137],[105.460366,36.223733],[105.478844,36.213111],[105.515185,36.147415],[105.491163,36.101009],[105.430801,36.10391],[105.406163,36.074409],[105.343954,36.033767],[105.324859,35.941761],[105.350113,35.875839],[105.39754,35.857409],[105.371055,35.844312],[105.38091,35.792873],[105.408627,35.822479],[105.428953,35.819082],[105.432033,35.787533],[105.457286,35.771511],[105.481924,35.727312],[105.595873,35.715651],[105.667322,35.749657],[105.70243,35.733142],[105.759097,35.724883],[105.740618,35.698643],[105.723988,35.725854],[105.690727,35.698643],[105.722756,35.673366],[105.713517,35.650513],[105.759097,35.634464],[105.762176,35.602841],[105.800365,35.564878],[105.816379,35.575101],[105.847176,35.490359],[105.868734,35.540046],[105.900147,35.54735],[106.017175,35.519103],[106.023335,35.49377],[106.047356,35.498155],[106.078769,35.509848],[106.071994,35.463555],[106.06953,35.458193],[106.073842,35.45478],[106.073226,35.450393],[106.071378,35.449418],[106.073226,35.447468],[106.083081,35.421624],[106.113262,35.361616],[106.129892,35.393333],[106.173008,35.437716],[106.196414,35.409919],[106.237681,35.409431],[106.241377,35.358687],[106.319601,35.265411],[106.363333,35.238532],[106.368261,35.273718],[106.415688,35.276161],[106.472354,35.310842],[106.501304,35.364056],[106.503767,35.415284],[106.483441,35.450393],[106.490217,35.480613],[106.465579,35.481101],[106.440941,35.52641],[106.460036,35.578995],[106.47913,35.575101],[106.460036,35.643705],[106.434782,35.688436],[106.49268,35.732656],[106.506231,35.737514],[106.566593,35.738971],[106.595542,35.727312],[106.620796,35.743829],[106.633115,35.714679],[106.66268,35.70739],[106.674998,35.728284],[106.750759,35.689408],[106.750759,35.725369],[106.806193,35.70982],[106.819128,35.7448],[106.867171,35.738485],[106.868403,35.771996],[106.897353,35.759856],[106.927534,35.810346],[106.849925,35.887476],[106.912751,35.93207],[106.940468,35.931101],[106.93862,35.952905],[106.90228,35.943699],[106.94786,35.988262],[106.928149,36.011502],[106.940468,36.064734],[106.957715,36.091337],[106.925686,36.115997],[106.930613,36.138716],[106.873947,36.178338],[106.873947,36.178338],[106.858548,36.206834],[106.858548,36.206834],[106.833295,36.229044],[106.808657,36.21118],[106.772933,36.212628],[106.735976,36.23725],[106.698404,36.244008],[106.685469,36.273445],[106.647897,36.259451],[106.559202,36.292259],[106.54134,36.25366],[106.504383,36.266207],[106.470507,36.306246],[106.497608,36.31348],[106.510543,36.379037],[106.492064,36.422389],[106.523477,36.468605],[106.494528,36.494589],[106.455724,36.496995],[106.39721,36.548455],[106.37134,36.549417],[106.363949,36.577296],[106.392282,36.556628],[106.397826,36.576816],[106.444637,36.557109],[106.465579,36.583063],[106.444637,36.624861],[106.491448,36.628703],[106.490833,36.685835],[106.530869,36.690154],[106.519782,36.708868],[106.519782,36.708868],[106.514238,36.715584],[106.59431,36.750118],[106.644817,36.72278],[106.627571,36.752995],[106.657752,36.820575],[106.637426,36.867031],[106.637426,36.867031],[106.626955,36.892403],[106.609709,36.878521],[106.609709,36.878521],[106.601702,36.918244],[106.549347,36.941685],[106.540108,36.984244],[106.595542,36.94025],[106.594926,36.967988],[106.64297,36.962729],[106.646665,37.000496],[106.666991,37.016745],[106.645433,37.064992],[106.605397,37.127524],[106.6171,37.135158],[106.673151,37.1113],[106.687933,37.12991],[106.728585,37.121321],[106.750143,37.09889],[106.772933,37.120367],[106.776012,37.158056],[106.818512,37.141838],[106.891193,37.098413],[106.912135,37.110345],[106.905976,37.151378],[106.998367,37.106527],[107.031011,37.108436],[107.030395,37.140883],[107.095685,37.115595],[107.133873,37.134681],[107.181916,37.143269],[107.234887,37.096503],[107.268764,37.099367]]],[[[106.048588,35.488898],[105.897683,35.451368],[105.894603,35.413821],[106.002393,35.438692],[106.034422,35.469404],[106.054132,35.45478],[106.048588,35.488898]]],[[[106.073842,35.45478],[106.06953,35.458193],[106.071378,35.449418],[106.073226,35.450393],[106.073842,35.45478]]]]}},{"type":"Feature","properties":{"adcode":650000,"name":"新疆维吾尔自治区","center":[87.617733,43.792818],"centroid":[85.294711,41.371801],"childrenNum":24,"level":"province","parent":{"adcode":100000},"subFeatureIndex":30,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[96.386348,42.727592],[96.363558,42.900562],[95.921314,43.229789],[95.880046,43.28035],[95.857872,43.417436],[95.735916,43.597569],[95.705735,43.67077],[95.645373,43.787966],[95.623199,43.855756],[95.527113,44.007466],[95.426099,44.009618],[95.377439,44.025972],[95.326932,44.028554],[95.35157,44.090054],[95.355882,44.166087],[95.376208,44.227444],[95.4107,44.245024],[95.43041,44.281882],[95.41378,44.298589],[95.238853,44.277169],[95.1286,44.269884],[94.998637,44.253169],[94.945666,44.292592],[94.826174,44.320001],[94.768275,44.34055],[94.722696,44.34055],[94.673421,44.397021],[94.606283,44.448311],[94.557008,44.462408],[94.470777,44.509373],[94.390705,44.521749],[94.359292,44.515775],[94.329727,44.582734],[94.279836,44.603617],[94.227481,44.645785],[94.215162,44.667921],[94.152336,44.684944],[94.066105,44.732154],[93.723642,44.865498],[93.716251,44.894334],[93.613389,44.926546],[93.509296,44.968055],[93.434767,44.955351],[93.376869,44.985412],[93.314659,44.995147],[93.314043,44.980333],[93.252449,44.991761],[93.174225,45.015458],[93.100312,45.007419],[93.062124,45.018419],[93.002377,45.009958],[92.932776,45.017573],[92.922921,45.03703],[92.884117,45.046756],[92.847777,45.038721],[92.779407,45.050561],[92.683937,45.02561],[92.547814,45.018419],[92.501003,45.001072],[92.414155,45.018419],[92.348866,45.014188],[92.315605,45.028994],[92.240461,45.015881],[92.100026,45.081417],[92.056911,45.086911],[91.885679,45.078882],[91.803144,45.082685],[91.694738,45.065357],[91.561695,45.075501],[91.500101,45.103809],[91.448978,45.156586],[91.429268,45.156586],[91.37753,45.11099],[91.33503,45.129571],[91.242023,45.13717],[91.230936,45.153632],[91.195827,45.159118],[91.17119,45.199616],[91.129922,45.21606],[91.050466,45.208892],[91.007966,45.218589],[90.96177,45.201303],[90.881698,45.192025],[90.866916,45.209314],[90.897713,45.249776],[90.877387,45.280946],[90.831807,45.300313],[90.804706,45.29484],[90.813329,45.32851],[90.773909,45.405874],[90.772677,45.432338],[90.723402,45.464667],[90.671047,45.487747],[90.676591,45.582488],[90.714779,45.728895],[90.799778,45.834905],[90.890937,45.921566],[91.028292,46.023054],[91.014741,46.06667],[91.021517,46.121038],[90.98456,46.160431],[90.94822,46.219262],[90.955611,46.233752],[90.900177,46.31235],[90.983328,46.374734],[90.996263,46.419309],[91.025828,46.444057],[91.038147,46.500936],[91.060937,46.516999],[91.079415,46.558989],[91.068328,46.579149],[91.017821,46.58244],[91.036299,46.670393],[91.054161,46.717598],[91.019053,46.766402],[90.992567,46.769682],[90.992567,46.790583],[90.942676,46.82581],[90.958075,46.879425],[90.929742,46.893331],[90.92235,46.938707],[90.901408,46.960768],[90.830575,46.995883],[90.767134,46.992617],[90.691989,47.080717],[90.653801,47.111681],[90.579888,47.198364],[90.56141,47.206903],[90.521374,47.2845],[90.488113,47.317374],[90.526301,47.379007],[90.507823,47.400076],[90.468403,47.404937],[90.459164,47.43895],[90.474562,47.462422],[90.468403,47.497611],[90.398186,47.547724],[90.376012,47.603036],[90.346447,47.637324],[90.384635,47.644179],[90.331665,47.681663],[90.216484,47.70543],[90.180144,47.72516],[90.13518,47.723147],[90.07605,47.777469],[90.070506,47.820483],[90.086521,47.86547],[90.066195,47.883534],[90.040941,47.874704],[89.960253,47.885942],[89.957789,47.842982],[89.86971,47.834144],[89.761921,47.835751],[89.735435,47.89758],[89.651052,47.913627],[89.645508,47.947711],[89.595617,47.973359],[89.599313,48.015811],[89.569132,48.037825],[89.498299,48.02822],[89.38127,48.046227],[89.359712,48.026219],[89.308589,48.021816],[89.282104,47.994189],[89.231597,47.98017],[89.156452,47.996992],[89.078228,47.98698],[89.044967,48.009806],[89.027105,48.051028],[88.953808,48.090618],[88.939026,48.115396],[88.824461,48.107005],[88.79736,48.133772],[88.721599,48.160526],[88.700657,48.180881],[88.668628,48.171303],[88.638447,48.183674],[88.601491,48.221567],[88.594716,48.259831],[88.575006,48.277757],[88.605803,48.337863],[88.573774,48.351785],[88.573158,48.369679],[88.535586,48.368884],[88.523267,48.403461],[88.503557,48.412996],[88.462289,48.392335],[88.438267,48.393528],[88.360659,48.433251],[88.363123,48.460641],[88.318159,48.478497],[88.229464,48.498329],[88.196819,48.493967],[88.151855,48.526478],[88.130297,48.521721],[88.10874,48.545895],[88.041602,48.548272],[87.973233,48.575997],[87.96153,48.599353],[88.010805,48.618742],[88.02682,48.65315],[88.089645,48.69504],[88.090877,48.71992],[88.064392,48.712813],[88.029283,48.750313],[87.96153,48.773588],[87.93874,48.757809],[87.872219,48.799612],[87.826639,48.800795],[87.803234,48.824835],[87.829103,48.825623],[87.792147,48.849258],[87.78106,48.872094],[87.742256,48.881146],[87.760118,48.925992],[87.793995,48.927565],[87.814321,48.945256],[87.87653,48.949186],[87.871603,48.963726],[87.911639,48.979833],[87.883922,48.993971],[87.883306,49.023806],[87.835263,49.054406],[87.858052,49.07362],[87.844502,49.090084],[87.867291,49.108892],[87.845733,49.146096],[87.82048,49.148445],[87.821096,49.173883],[87.793379,49.18249],[87.762582,49.172709],[87.700372,49.175839],[87.67635,49.15549],[87.602437,49.152359],[87.563017,49.142572],[87.517438,49.145704],[87.49588,49.132001],[87.511894,49.10184],[87.43675,49.075188],[87.388707,49.097921],[87.304939,49.112418],[87.239033,49.114376],[87.211932,49.140615],[87.112766,49.15549],[87.088128,49.133567],[87.000049,49.142572],[86.953853,49.131218],[86.887948,49.132001],[86.854071,49.109284],[86.84976,49.066563],[86.836209,49.051269],[86.772151,49.02773],[86.732115,48.994757],[86.730267,48.959797],[86.757985,48.894919],[86.782006,48.887049],[86.821426,48.850439],[86.818963,48.831139],[86.770303,48.810255],[86.754289,48.78463],[86.780774,48.731369],[86.771535,48.717156],[86.70255,48.666195],[86.693311,48.64366],[86.640956,48.629027],[86.635413,48.612016],[86.594761,48.576789],[86.579978,48.538763],[86.416138,48.481671],[86.38103,48.49357],[86.305269,48.491984],[86.270161,48.452307],[86.225813,48.432456],[86.053966,48.441192],[85.916612,48.438015],[85.791576,48.418954],[85.758315,48.403064],[85.695489,48.335078],[85.695489,48.302445],[85.678243,48.266205],[85.633895,48.232731],[85.622193,48.202824],[85.587084,48.191654],[85.576613,48.15853],[85.55136,48.127781],[85.551975,48.081423],[85.531649,48.046227],[85.547048,48.008205],[85.617881,47.550552],[85.614801,47.498015],[85.685018,47.428829],[85.701649,47.384275],[85.675779,47.321837],[85.701033,47.28856],[85.682555,47.249982],[85.682555,47.222757],[85.641903,47.18413],[85.582772,47.142626],[85.547048,47.096609],[85.545816,47.057891],[85.441106,47.063191],[85.355491,47.054629],[85.325926,47.044842],[85.276651,47.068898],[85.213825,47.041172],[85.175637,46.997924],[85.102956,46.968936],[85.082014,46.939933],[84.987159,46.918272],[84.979768,46.883106],[84.95513,46.861013],[84.934188,46.863878],[84.867051,46.927673],[84.849189,46.957092],[84.781435,46.979962],[84.748175,47.009759],[84.699515,47.008535],[84.668718,46.995067],[84.563393,46.991801],[84.506726,46.97302],[84.425422,47.008943],[84.37122,46.993434],[84.336727,47.00527],[84.2893,46.994658],[84.195061,47.003638],[84.150098,46.977512],[84.086656,46.965261],[84.038613,46.973428],[84.002888,46.990576],[83.951765,46.98731],[83.932671,46.970161],[83.88586,46.982003],[83.766367,47.026896],[83.69923,47.015472],[83.700462,47.032199],[83.576042,47.059114],[83.566803,47.080717],[83.53847,47.083977],[83.463325,47.132042],[83.418978,47.119012],[83.370318,47.178436],[83.324739,47.167858],[83.306261,47.179656],[83.257602,47.173147],[83.221877,47.186977],[83.207094,47.213814],[83.17445,47.218286],[83.15474,47.236168],[83.108544,47.221944],[83.02724,47.21544],[83.031552,47.168265],[82.993364,47.065229],[82.937929,47.014248],[82.923762,46.932169],[82.876335,46.823762],[82.878183,46.797138],[82.829524,46.772551],[82.788872,46.677784],[82.774089,46.600124],[82.726662,46.494756],[82.609017,46.294985],[82.518474,46.153798],[82.461808,45.97982],[82.401446,45.972333],[82.342932,45.935303],[82.336156,45.882418],[82.349707,45.822811],[82.340468,45.772742],[82.289961,45.71636],[82.288729,45.655321],[82.266555,45.620172],[82.281954,45.53891],[82.448257,45.461309],[82.546808,45.426038],[82.60101,45.346178],[82.58746,45.224069],[82.562822,45.204676],[82.487061,45.181058],[82.344779,45.219011],[82.294272,45.247669],[82.206809,45.236713],[82.109491,45.211422],[82.091012,45.222383],[82.09594,45.249776],[82.052824,45.255674],[81.993078,45.237978],[81.921013,45.233342],[81.879745,45.284314],[81.832318,45.319673],[81.78797,45.3836],[81.677101,45.35459],[81.645072,45.359216],[81.582863,45.336503],[81.575471,45.30789],[81.536667,45.304101],[81.52866,45.285999],[81.462754,45.264099],[81.437501,45.28263],[81.398697,45.275471],[81.382066,45.257781],[81.327864,45.260729],[81.284748,45.23882],[81.236705,45.247248],[81.175111,45.227863],[81.170183,45.211001],[81.111669,45.218168],[81.080872,45.182745],[81.024821,45.162916],[80.966307,45.168402],[80.93551,45.160384],[80.897938,45.127459],[80.862214,45.127037],[80.816634,45.152788],[80.731634,45.156164],[80.686055,45.129148],[80.599207,45.105921],[80.519135,45.108878],[80.493882,45.127037],[80.445839,45.097895],[80.443991,45.077614],[80.404571,45.049293],[80.358375,45.040836],[80.328194,45.070007],[80.291854,45.06578],[80.24381,45.031532],[80.195767,45.030686],[80.144644,45.059017],[80.136021,45.041259],[80.111999,45.052675],[80.060876,45.026033],[80.056565,45.011227],[79.98142,44.964244],[79.951855,44.957892],[79.944464,44.937985],[79.887798,44.90917],[79.969102,44.877797],[79.953703,44.849377],[79.991891,44.830281],[79.999283,44.793768],[80.087978,44.817122],[80.115695,44.815424],[80.169898,44.84471],[80.18776,44.825612],[80.178521,44.796741],[80.200695,44.756808],[80.238883,44.7228],[80.313412,44.704938],[80.400259,44.628751],[80.411962,44.605321],[80.350368,44.484615],[80.383013,44.401297],[80.399027,44.30587],[80.413194,44.264741],[80.400875,44.198704],[80.407034,44.149772],[80.3941,44.127009],[80.449534,44.078017],[80.458773,44.047054],[80.457541,43.981203],[80.485259,43.95579],[80.475404,43.938124],[80.511128,43.906657],[80.522215,43.816473],[80.75504,43.494329],[80.761199,43.446554],[80.746417,43.439167],[80.735946,43.389609],[80.686055,43.333916],[80.69283,43.32042],[80.777214,43.308227],[80.769207,43.265535],[80.788917,43.242433],[80.789533,43.201876],[80.804315,43.178314],[80.79446,43.137277],[80.752576,43.148194],[80.73225,43.131163],[80.706997,43.143828],[80.650946,43.147321],[80.593048,43.133347],[80.556092,43.104515],[80.482795,43.06955],[80.416889,43.05687],[80.378701,43.031502],[80.397795,42.996933],[80.487106,42.948766],[80.5912,42.923354],[80.602903,42.894424],[80.503737,42.882146],[80.450766,42.861971],[80.407034,42.834767],[80.338049,42.831695],[80.280151,42.838278],[80.262289,42.828623],[80.259209,42.790865],[80.225948,42.713083],[80.228412,42.692852],[80.179753,42.670415],[80.163738,42.629919],[80.180985,42.590718],[80.221637,42.533415],[80.265368,42.502097],[80.225948,42.485769],[80.206238,42.431462],[80.239499,42.389927],[80.229028,42.358536],[80.283847,42.320493],[80.272144,42.281984],[80.29247,42.259842],[80.28631,42.233261],[80.233339,42.210215],[80.168666,42.200462],[80.163738,42.152563],[80.139717,42.151232],[80.16805,42.096635],[80.193303,42.081535],[80.14218,42.03488],[80.089826,42.047325],[79.923522,42.042436],[79.852689,42.015319],[79.854537,41.984186],[79.822508,41.963275],[79.776313,41.89248],[79.724574,41.896935],[79.640806,41.884907],[79.616784,41.856385],[79.550879,41.834094],[79.500988,41.835432],[79.457256,41.847915],[79.415372,41.836769],[79.356242,41.795735],[79.326061,41.809565],[79.276786,41.78101],[79.271858,41.767174],[79.21704,41.725648],[79.138199,41.722968],[79.10925,41.697503],[79.043345,41.681414],[79.021787,41.657273],[78.99407,41.664427],[78.957729,41.65146],[78.891824,41.597777],[78.86657,41.593749],[78.825302,41.560173],[78.739071,41.555695],[78.696571,41.54181],[78.707042,41.522098],[78.675629,41.50238],[78.650375,41.467411],[78.580774,41.481759],[78.527188,41.440947],[78.454507,41.412228],[78.391681,41.408189],[78.385522,41.394721],[78.338094,41.397415],[78.324544,41.384395],[78.235232,41.399211],[78.163783,41.383497],[78.149617,41.368228],[78.165015,41.340825],[78.136682,41.279239],[78.129291,41.228398],[78.094798,41.224347],[77.972842,41.173013],[77.905089,41.185174],[77.836104,41.153189],[77.814546,41.13426],[77.807155,41.091876],[77.829328,41.059394],[77.796068,41.049014],[77.780669,41.022832],[77.737553,41.032313],[77.684583,41.00793],[77.654402,41.016059],[77.597119,41.005221],[77.591576,40.992122],[77.540453,41.006575],[77.476395,40.999349],[77.473931,41.022832],[77.415417,41.038633],[77.363062,41.04089],[77.296541,41.004769],[77.236795,41.027798],[77.169041,41.009285],[77.108063,41.038181],[77.091433,41.062553],[77.023064,41.059394],[77.002122,41.073381],[76.940528,41.028701],[76.885709,41.027347],[76.85368,40.97631],[76.817956,40.975406],[76.761905,40.954167],[76.741579,40.912119],[76.731724,40.818887],[76.693536,40.779472],[76.646725,40.759983],[76.646725,40.73686],[76.676906,40.696036],[76.654732,40.652917],[76.657196,40.620218],[76.611,40.601591],[76.601145,40.578868],[76.556798,40.542495],[76.543247,40.513837],[76.539551,40.464226],[76.508754,40.429613],[76.470566,40.422779],[76.442233,40.391336],[76.390494,40.37766],[76.381871,40.39088],[76.333212,40.343459],[76.327668,40.391336],[76.283321,40.415034],[76.279625,40.439179],[76.22419,40.401819],[76.176147,40.381307],[76.144118,40.393615],[76.081293,40.39635],[76.048648,40.388601],[76.048648,40.357141],[76.026474,40.355317],[75.986438,40.381763],[75.932235,40.339353],[75.921764,40.291439],[75.890351,40.30924],[75.84046,40.312434],[75.831221,40.327492],[75.785642,40.301025],[75.739446,40.299199],[75.709265,40.280939],[75.688323,40.343915],[75.669845,40.363982],[75.686475,40.418223],[75.717272,40.443278],[75.733287,40.474242],[75.646439,40.516567],[75.631041,40.548862],[75.627345,40.605226],[75.636584,40.624306],[75.599628,40.659727],[75.550353,40.64883],[75.467817,40.599773],[75.432093,40.563412],[75.355716,40.537947],[75.292274,40.483802],[75.268869,40.483802],[75.242383,40.448743],[75.206659,40.447833],[75.13521,40.463315],[75.102565,40.44009],[75.051442,40.449654],[75.021877,40.466958],[74.995392,40.455119],[74.963363,40.464681],[74.891914,40.507467],[74.844486,40.521117],[74.819233,40.505647],[74.814921,40.461039],[74.795211,40.443278],[74.908544,40.338897],[74.862965,40.32658],[74.824776,40.344371],[74.700357,40.346195],[74.697893,40.310153],[74.673255,40.278656],[74.618437,40.27957],[74.577169,40.260391],[74.534669,40.207851],[74.485394,40.182251],[74.433039,40.13148],[74.356662,40.089371],[74.316626,40.106767],[74.280902,40.09807],[74.26304,40.125074],[74.126301,40.104479],[74.113366,40.086624],[74.023439,40.085251],[74.008041,40.050901],[73.943367,40.016076],[73.980324,40.004617],[73.910722,39.934443],[73.907027,39.873843],[73.845433,39.831115],[73.841737,39.756163],[73.905795,39.741899],[73.924273,39.722108],[73.953838,39.600018],[73.916266,39.586644],[73.914418,39.564041],[73.883621,39.540969],[73.893476,39.528046],[73.868223,39.482794],[73.836194,39.472169],[73.745651,39.462005],[73.6471,39.474479],[73.61076,39.465702],[73.592898,39.412087],[73.502355,39.383877],[73.554094,39.350102],[73.554709,39.295935],[73.542391,39.269531],[73.564564,39.266288],[73.580579,39.237555],[73.623079,39.235237],[73.639709,39.220402],[73.657571,39.166136],[73.688368,39.154999],[73.719781,39.108112],[73.720397,39.071881],[73.743187,39.029588],[73.780143,39.026798],[73.820179,39.041674],[73.839889,39.008199],[73.846665,38.962145],[73.826339,38.916993],[73.767824,38.941202],[73.742571,38.933754],[73.70931,38.893241],[73.699455,38.857832],[73.729636,38.837324],[73.769056,38.775765],[73.757353,38.719755],[73.809092,38.634256],[73.799237,38.610878],[73.852208,38.584217],[73.89902,38.579071],[73.926121,38.536016],[74.011736,38.52478],[74.034526,38.541634],[74.090577,38.542102],[74.068403,38.585621],[74.088113,38.610878],[74.11275,38.611345],[74.147859,38.676785],[74.229779,38.656224],[74.353583,38.655757],[74.421952,38.647812],[74.455829,38.632853],[74.506336,38.637528],[74.546988,38.607604],[74.613509,38.593105],[74.639995,38.599653],[74.717603,38.542102],[74.78474,38.538357],[74.821697,38.491062],[74.862965,38.484035],[74.868508,38.403883],[74.834015,38.361193],[74.789668,38.324581],[74.806914,38.285602],[74.793363,38.271039],[74.816769,38.215576],[74.80445,38.167128],[74.821697,38.10311],[74.879595,38.021122],[74.92579,38.01735],[74.911008,37.966884],[74.919015,37.908357],[74.936877,37.876241],[74.917167,37.845057],[74.989848,37.797783],[75.006478,37.770823],[74.949196,37.725395],[74.923327,37.717347],[74.920863,37.684675],[74.891914,37.668097],[74.940573,37.559061],[75.000935,37.53059],[75.002167,37.511604],[75.035428,37.500685],[75.078543,37.511129],[75.090862,37.486915],[75.129666,37.459367],[75.153072,37.414223],[75.125971,37.388075],[75.140137,37.355258],[75.125971,37.322427],[75.078543,37.318144],[75.018181,37.293867],[74.927022,37.277678],[74.911008,37.233378],[74.816153,37.216699],[74.800139,37.248147],[74.753943,37.281011],[74.727458,37.282916],[74.665864,37.23576],[74.642458,37.261485],[74.598727,37.258151],[74.578401,37.231472],[74.54514,37.2491],[74.511263,37.240048],[74.477387,37.19954],[74.487858,37.161871],[74.465068,37.147085],[74.496481,37.116072],[74.498944,37.072155],[74.530357,37.082182],[74.56793,37.032512],[74.617205,37.043499],[74.632603,37.066425],[74.70898,37.084569],[74.739161,37.028212],[74.792747,37.027257],[74.806914,37.054485],[74.84695,37.056873],[74.84387,37.0134],[74.86974,36.990458],[74.893762,36.939772],[74.938725,36.94312],[74.927638,36.978029],[75.005862,36.99476],[75.032348,37.016745],[75.063145,37.006231],[75.172166,37.013877],[75.16847,36.991892],[75.244847,36.963207],[75.288579,36.974682],[75.345861,36.960816],[75.413614,36.954599],[75.396368,36.904367],[75.430245,36.873255],[75.434556,36.83303],[75.425933,36.778883],[75.458578,36.720861],[75.504773,36.743404],[75.536802,36.729975],[75.537418,36.773131],[75.588541,36.762584],[75.634121,36.771693],[75.724048,36.750597],[75.8072,36.707908],[75.871257,36.666636],[75.947018,36.590752],[75.924228,36.566242],[75.991981,36.505654],[76.035097,36.409386],[75.991365,36.35205],[75.998757,36.312034],[76.055423,36.252695],[76.060967,36.225182],[76.011691,36.229044],[76.016619,36.165294],[75.96796,36.159013],[75.936547,36.13485],[75.949482,36.070056],[75.982742,36.031347],[76.028322,36.016827],[76.044336,36.026991],[76.097307,36.022635],[76.117017,35.975186],[76.16506,35.908807],[76.146582,35.839946],[76.160133,35.82442],[76.221727,35.823449],[76.228502,35.837035],[76.298719,35.841401],[76.365857,35.82442],[76.369552,35.86323],[76.431762,35.851589],[76.471798,35.886021],[76.51553,35.881173],[76.55803,35.923347],[76.59745,35.895718],[76.579587,35.866625],[76.587595,35.840431],[76.566037,35.819082],[76.593754,35.771996],[76.69292,35.747714],[76.769297,35.653917],[76.848753,35.668018],[76.906651,35.615005],[76.967013,35.591649],[76.99781,35.611113],[77.072339,35.591162],[77.093281,35.569746],[77.195527,35.519103],[77.307628,35.540533],[77.331649,35.530793],[77.355055,35.494257],[77.396939,35.467942],[77.451758,35.46063],[77.518895,35.482075],[77.578025,35.47574],[77.590344,35.460143],[77.639619,35.45478],[77.657481,35.477689],[77.690742,35.448443],[77.735706,35.461605],[77.757879,35.497181],[77.797299,35.491334],[77.816394,35.518616],[77.85643,35.487436],[77.870596,35.495232],[77.914944,35.465017],[77.917408,35.490847],[77.951284,35.478664],[78.009799,35.491821],[78.029509,35.469404],[78.048603,35.491334],[78.140378,35.494745],[78.113892,35.466967],[78.107117,35.437229],[78.046755,35.384063],[78.013494,35.366008],[78.020885,35.315237],[78.01719,35.228267],[78.060306,35.180344],[78.062769,35.114772],[78.078784,35.100084],[78.124979,35.108407],[78.150849,35.069721],[78.123131,35.036897],[78.160704,34.990823],[78.201972,34.974642],[78.182262,34.936874],[78.206283,34.891726],[78.237696,34.882398],[78.230921,34.776288],[78.21429,34.760556],[78.213059,34.717771],[78.267261,34.705472],[78.265413,34.651335],[78.280812,34.623269],[78.346101,34.60406],[78.397224,34.605538],[78.427405,34.594207],[78.436029,34.543942],[78.492695,34.578441],[78.542586,34.574499],[78.559832,34.55725],[78.562912,34.51288],[78.58139,34.505483],[78.634977,34.538026],[78.708274,34.522249],[78.715049,34.502031],[78.758781,34.481807],[78.742766,34.45467],[78.809288,34.432955],[78.878273,34.391481],[78.899831,34.354929],[78.958961,34.386049],[78.973128,34.362833],[79.039649,34.33467],[79.048888,34.348506],[79.0107,34.399877],[79.039033,34.421601],[79.072294,34.412714],[79.161605,34.441345],[79.179467,34.422588],[79.241677,34.415183],[79.274322,34.435916],[79.326677,34.44332],[79.363017,34.428018],[79.435082,34.447761],[79.504683,34.45467],[79.545335,34.476381],[79.58106,34.456151],[79.675914,34.451216],[79.699936,34.477861],[79.735661,34.471447],[79.801566,34.478847],[79.861312,34.528166],[79.84345,34.55725],[79.88595,34.642965],[79.866856,34.671517],[79.906892,34.683821],[79.898268,34.732035],[79.947544,34.821008],[79.926602,34.849499],[79.961094,34.862759],[79.996819,34.856375],[80.003594,34.895162],[80.034391,34.902033],[80.041782,34.943252],[80.02392,34.971209],[80.04363,35.022196],[80.031311,35.034447],[80.078123,35.076578],[80.118159,35.066293],[80.23026,35.147565],[80.223484,35.177409],[80.257977,35.203331],[80.362687,35.20871],[80.267832,35.295701],[80.286926,35.35283],[80.321419,35.38699],[80.375006,35.387966],[80.432904,35.449418],[80.444607,35.417235],[80.514824,35.391869],[80.532686,35.404553],[80.56841,35.391381],[80.599823,35.409431],[80.65649,35.393821],[80.690982,35.364544],[80.689135,35.339162],[80.759968,35.334768],[80.844351,35.345508],[80.894242,35.324027],[80.924423,35.330862],[80.963844,35.310842],[81.026053,35.31133],[81.002648,35.334768],[81.030981,35.337209],[81.031597,35.380648],[81.054387,35.402602],[81.09935,35.40748],[81.103662,35.386015],[81.142466,35.365032],[81.191741,35.36552],[81.219458,35.319144],[81.26627,35.322562],[81.285364,35.345508],[81.314313,35.337209],[81.363588,35.354783],[81.385762,35.335256],[81.441196,35.333303],[81.447972,35.318167],[81.504638,35.279092],[81.513261,35.23511],[81.68634,35.235599],[81.736847,35.26248],[81.804601,35.270786],[81.853876,35.25857],[81.927789,35.271275],[81.955506,35.307423],[81.99123,35.30547],[82.030034,35.321585],[82.05344,35.35039],[82.029419,35.426013],[82.034346,35.451855],[82.071302,35.450393],[82.086701,35.467454],[82.164925,35.495719],[82.189563,35.513258],[82.234526,35.520565],[82.263475,35.547837],[82.2992,35.544916],[82.328149,35.559523],[82.350323,35.611113],[82.336156,35.651486],[82.392823,35.656349],[82.424852,35.712736],[82.468583,35.717595],[82.501844,35.701073],[82.546192,35.708362],[82.628727,35.692324],[82.652133,35.67288],[82.731589,35.637868],[82.780249,35.666073],[82.795031,35.688436],[82.873871,35.688922],[82.894813,35.673852],[82.967494,35.667532],[82.956407,35.636409],[82.981661,35.599922],[82.971806,35.548324],[82.998907,35.484512],[83.067892,35.46258],[83.088834,35.425526],[83.127022,35.398699],[83.178145,35.38943],[83.251442,35.417722],[83.280391,35.401138],[83.333978,35.397236],[83.405427,35.380648],[83.449159,35.382111],[83.502745,35.360639],[83.540318,35.364056],[83.54155,35.341603],[83.599448,35.351366],[83.622238,35.335256],[83.677672,35.361128],[83.785462,35.36308],[83.79778,35.354783],[83.885244,35.367472],[83.906186,35.40309],[84.005968,35.422599],[84.077417,35.400163],[84.095895,35.362592],[84.140859,35.379184],[84.160569,35.359663],[84.200605,35.381135],[84.274517,35.404065],[84.333032,35.413821],[84.424191,35.466479],[84.45314,35.473303],[84.475929,35.516181],[84.448828,35.550272],[84.513502,35.564391],[84.570168,35.588242],[84.628067,35.595055],[84.704443,35.616951],[84.729081,35.613546],[84.798066,35.647595],[84.920022,35.696213],[84.973608,35.709334],[84.99455,35.737028],[85.053065,35.752086],[85.146071,35.742371],[85.271107,35.788989],[85.341324,35.753543],[85.373969,35.700101],[85.518715,35.680658],[85.566142,35.6403],[85.612953,35.651486],[85.65299,35.731199],[85.691178,35.751114],[85.811286,35.778794],[85.835308,35.771996],[85.903677,35.78462],[85.949256,35.778794],[86.035488,35.846738],[86.05335,35.842857],[86.090306,35.876809],[86.093386,35.906868],[86.129111,35.941761],[86.150668,36.00424],[86.173458,36.008113],[86.199944,36.047801],[86.182081,36.064734],[86.187625,36.130983],[86.248603,36.141616],[86.2794,36.170608],[86.35824,36.168676],[86.392733,36.206834],[86.454943,36.221319],[86.515305,36.205385],[86.531935,36.227113],[86.599072,36.222285],[86.69947,36.24449],[86.746282,36.291777],[86.836209,36.291294],[86.86331,36.299977],[86.887332,36.262829],[86.931064,36.265242],[86.943998,36.284058],[86.996353,36.308658],[87.051788,36.2966],[87.08628,36.310587],[87.149106,36.297565],[87.161425,36.325535],[87.193454,36.349158],[87.292004,36.358797],[87.348055,36.393008],[87.363453,36.420463],[87.386859,36.412757],[87.426895,36.42576],[87.460155,36.409868],[87.470626,36.354459],[87.570409,36.342409],[87.6203,36.360243],[87.731785,36.384818],[87.767509,36.3747],[87.826023,36.391563],[87.838342,36.383855],[87.919646,36.39349],[87.95845,36.408423],[87.983088,36.437797],[88.006494,36.430575],[88.092109,36.43539],[88.134609,36.427205],[88.182652,36.452721],[88.222688,36.447426],[88.241782,36.468605],[88.282434,36.470049],[88.366202,36.458016],[88.356963,36.477268],[88.41055,36.473418],[88.470912,36.48208],[88.498629,36.446463],[88.573158,36.461386],[88.618121,36.428168],[88.623665,36.389636],[88.690186,36.367954],[88.766563,36.292259],[88.783809,36.291777],[88.802903,36.33807],[88.838628,36.353496],[88.870657,36.348193],[88.926091,36.36458],[88.964279,36.318785],[89.013554,36.315409],[89.054822,36.291777],[89.10225,36.281164],[89.126887,36.254626],[89.198952,36.260417],[89.232213,36.295636],[89.292575,36.231457],[89.335075,36.23725],[89.375727,36.228078],[89.490291,36.151281],[89.594385,36.126632],[89.614711,36.109712],[89.711414,36.093272],[89.766848,36.073925],[89.819819,36.080697],[89.914058,36.079246],[89.941159,36.067637],[89.944855,36.140649],[89.997825,36.168193],[90.019999,36.213594],[90.028006,36.258486],[90.003369,36.278752],[90.043405,36.276822],[90.058188,36.255591],[90.145651,36.239181],[90.130252,36.2078],[90.198006,36.187516],[90.23681,36.160462],[90.325505,36.159496],[90.424055,36.133883],[90.478258,36.13195],[90.534925,36.147899],[90.613149,36.126632],[90.659344,36.13485],[90.776373,36.086501],[90.815793,36.035703],[90.850285,36.016827],[90.922966,36.028927],[90.979017,36.106811],[91.081263,36.088436],[91.124994,36.115514],[91.09235,36.163844],[91.096045,36.219871],[91.051698,36.238215],[91.07264,36.299012],[91.026444,36.323607],[91.051698,36.433946],[91.028292,36.443093],[91.039995,36.474861],[91.035683,36.529703],[91.011662,36.539801],[90.905104,36.560474],[90.831191,36.55807],[90.810865,36.585466],[90.741264,36.585947],[90.72217,36.620058],[90.730793,36.655594],[90.706156,36.658955],[90.720938,36.708868],[90.754815,36.721341],[90.727098,36.755872],[90.732025,36.825844],[90.758511,36.825844],[90.853981,36.915373],[90.924198,36.921115],[90.983944,36.913459],[91.036915,36.929727],[91.051698,36.96751],[91.126842,36.978507],[91.133618,37.007665],[91.181045,37.025345],[91.216153,37.010054],[91.303617,37.012444],[91.291298,37.042544],[91.303617,37.083136],[91.286371,37.105095],[91.280211,37.163779],[91.1909,37.205737],[91.194596,37.273868],[91.134849,37.324331],[91.136081,37.355734],[91.113292,37.387124],[91.099741,37.447965],[91.073256,37.475992],[91.019669,37.493088],[90.958075,37.477891],[90.911879,37.519674],[90.865684,37.53059],[90.882314,37.575664],[90.854597,37.604117],[90.820104,37.613599],[90.777605,37.648672],[90.643946,37.696988],[90.586663,37.703144],[90.579272,37.720661],[90.519526,37.730601],[90.516446,38.207111],[90.531229,38.319886],[90.401882,38.311434],[90.361846,38.300163],[90.352607,38.233441],[90.280542,38.238142],[90.137644,38.340543],[90.179528,38.396848],[90.129636,38.400131],[90.111774,38.418889],[90.111774,38.477945],[90.130868,38.494341],[90.248513,38.491531],[90.315034,38.501835],[90.353222,38.482162],[90.427135,38.493873],[90.465323,38.521971],[90.463476,38.556611],[90.525685,38.561291],[90.560794,38.593573],[90.608837,38.594508],[90.606374,38.610878],[90.645794,38.635191],[90.619308,38.664636],[90.65996,38.674449],[90.724634,38.658094],[90.899561,38.679588],[90.970394,38.697806],[90.992567,38.695003],[91.188436,38.73096],[91.242639,38.752433],[91.298689,38.746365],[91.446515,38.813546],[91.501333,38.815411],[91.681188,38.852706],[91.694738,38.86622],[91.806223,38.872744],[91.87952,38.884391],[91.880752,38.899297],[91.966368,38.930961],[92.10865,38.963541],[92.173323,38.960749],[92.197961,38.983548],[92.263866,39.002153],[92.380279,38.999828],[92.416003,39.010524],[92.41046,39.03842],[92.366728,39.059335],[92.366112,39.096037],[92.343938,39.146181],[92.339011,39.236628],[92.378431,39.258411],[92.52564,39.368611],[92.639589,39.514196],[92.687632,39.657174],[92.745531,39.868331],[92.796654,40.153897],[92.906907,40.310609],[92.920458,40.391792],[92.928465,40.572504],[93.506216,40.648376],[93.760599,40.664721],[93.820961,40.793519],[93.809874,40.879548],[93.908424,40.983539],[94.01067,41.114875],[94.184365,41.268444],[94.534219,41.505966],[94.750413,41.538227],[94.809543,41.619256],[94.861898,41.668451],[94.969072,41.718948],[95.011572,41.726541],[95.110738,41.768513],[95.135991,41.772976],[95.16494,41.735474],[95.199433,41.719395],[95.194505,41.694821],[95.247476,41.61344],[95.299831,41.565994],[95.335556,41.644305],[95.39407,41.693481],[95.445193,41.719841],[95.57146,41.796181],[95.65646,41.826067],[95.759322,41.835878],[95.801206,41.848361],[95.855408,41.849699],[95.998306,41.906289],[96.054973,41.936124],[96.117183,41.985966],[96.137509,42.019765],[96.13874,42.05399],[96.077147,42.149457],[96.178161,42.21775],[96.040806,42.326688],[96.042038,42.352787],[96.06606,42.414674],[95.978596,42.436762],[96.0174,42.482239],[96.02356,42.542675],[96.072219,42.569566],[96.103632,42.604375],[96.166458,42.623314],[96.386348,42.727592]]]]}},{"type":"Feature","properties":{"adcode":710000,"name":"台湾省","center":[121.509062,25.044332],"centroid":[120.971485,23.749452],"childrenNum":0,"level":"province","parent":{"adcode":100000},"subFeatureIndex":31,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[120.443706,22.441432],[120.517619,22.408793],[120.569973,22.361757],[120.640806,22.241605],[120.659285,22.154056],[120.661748,22.067007],[120.651277,22.033171],[120.667908,21.983235],[120.701784,21.927174],[120.743052,21.915515],[120.781857,21.923843],[120.854537,21.883309],[120.873016,21.897191],[120.86624,21.984345],[120.907508,22.033171],[120.912436,22.086418],[120.903197,22.12634],[120.914899,22.302525],[120.981421,22.528248],[121.014682,22.584069],[121.03316,22.650914],[121.078739,22.669691],[121.170514,22.723247],[121.21055,22.770711],[121.237652,22.836362],[121.276456,22.877171],[121.324499,22.945526],[121.35468,23.00999],[121.370695,23.084334],[121.409499,23.1025],[121.430441,23.137175],[121.415042,23.196047],[121.440296,23.271937],[121.479716,23.322507],[121.497578,23.419744],[121.5216,23.483431],[121.522832,23.538858],[121.587505,23.760878],[121.621382,23.920718],[121.65957,24.007125],[121.63986,24.064514],[121.643556,24.097843],[121.678048,24.133895],[121.689135,24.174303],[121.809243,24.339083],[121.82649,24.423572],[121.867758,24.47914],[121.88562,24.529784],[121.892395,24.617953],[121.86283,24.671261],[121.841272,24.734329],[121.844968,24.836476],[121.933047,24.938539],[122.012503,25.001471],[121.98109,25.030757],[121.947214,25.031841],[121.917033,25.138076],[121.841888,25.135367],[121.782142,25.160287],[121.745186,25.161912],[121.707613,25.191701],[121.700222,25.226896],[121.655259,25.242054],[121.62323,25.29455],[121.585041,25.309159],[121.53515,25.307535],[121.444607,25.27074],[121.413194,25.238806],[121.371926,25.159746],[121.319572,25.140785],[121.209318,25.12724],[121.132942,25.078466],[121.102145,25.075214],[121.024537,25.040517],[121.009754,24.993878],[120.961095,24.940167],[120.914899,24.864715],[120.89211,24.767482],[120.82374,24.688118],[120.762147,24.658208],[120.68885,24.600542],[120.642654,24.490033],[120.589068,24.43229],[120.546568,24.370159],[120.520698,24.311816],[120.470807,24.242533],[120.451713,24.182493],[120.391967,24.118055],[120.316206,23.984708],[120.278018,23.92783],[120.245989,23.840276],[120.175156,23.807427],[120.102476,23.701162],[120.095084,23.58768],[120.12157,23.504836],[120.108019,23.341191],[120.081534,23.291728],[120.018708,23.073322],[120.029795,23.048544],[120.133272,23.000625],[120.149287,22.896468],[120.20041,22.721039],[120.274323,22.560307],[120.297112,22.531565],[120.443706,22.441432]]],[[[124.542782,25.903886],[124.584666,25.908731],[124.566804,25.941563],[124.542782,25.903886]]],[[[123.445178,25.726102],[123.469816,25.712623],[123.50862,25.722867],[123.512316,25.755212],[123.479055,25.768687],[123.445794,25.749822],[123.445178,25.726102]]],[[[119.646064,23.550928],[119.691028,23.547087],[119.678093,23.600294],[119.61034,23.604132],[119.601717,23.575613],[119.566608,23.584937],[119.562297,23.530627],[119.578927,23.502641],[119.609108,23.503738],[119.646064,23.550928]]],[[[123.666916,25.914114],[123.706952,25.91519],[123.689706,25.939949],[123.666916,25.914114]]],[[[119.506246,23.625518],[119.506246,23.577259],[119.47237,23.556962],[119.519181,23.559705],[119.52534,23.62497],[119.506246,23.625518]]],[[[119.497623,23.38679],[119.495159,23.349982],[119.516717,23.349982],[119.497623,23.38679]]],[[[119.557369,23.666634],[119.608492,23.620035],[119.615268,23.661153],[119.586318,23.675952],[119.557369,23.666634]]],[[[122.066706,25.6247],[122.087032,25.61067],[122.092575,25.639268],[122.066706,25.6247]]],[[[121.468013,22.67687],[121.474788,22.643734],[121.513592,22.631582],[121.514824,22.676318],[121.468013,22.67687]]],[[[121.510513,22.086972],[121.507433,22.048704],[121.533918,22.022076],[121.594281,21.995443],[121.604752,22.022631],[121.575186,22.037055],[121.575802,22.0842],[121.510513,22.086972]]],[[[122.097503,25.499987],[122.110438,25.465952],[122.122141,25.495666],[122.097503,25.499987]]],[[[119.421247,23.216949],[119.436029,23.186146],[119.453275,23.216399],[119.421247,23.216949]]],[[[120.355011,22.327439],[120.395663,22.342385],[120.383344,22.355669],[120.355011,22.327439]]]]}},{"type":"Feature","properties":{"adcode":810000,"name":"香港特别行政区","center":[114.173355,22.320048],"centroid":[114.134357,22.377366],"childrenNum":18,"level":"province","parent":{"adcode":100000},"subFeatureIndex":32,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[114.031778,22.503923],[114.000981,22.491206],[113.977575,22.45692],[113.918445,22.418199],[113.920293,22.367845],[113.951706,22.355116],[113.956633,22.359543],[113.980039,22.366185],[114.026234,22.34792],[113.955401,22.298649],[113.969568,22.321349],[113.898119,22.308615],[113.889496,22.271514],[113.8433,22.229418],[113.84946,22.191188],[113.899351,22.215568],[113.935691,22.205041],[113.981271,22.229972],[113.996669,22.206149],[114.026234,22.229418],[114.004676,22.239389],[114.02993,22.263207],[114.034857,22.300864],[114.069966,22.326885],[114.121089,22.320795],[114.145726,22.300864],[114.120473,22.272068],[114.164821,22.226648],[114.200545,22.232188],[114.203009,22.206703],[114.265835,22.200608],[114.248588,22.274837],[114.262139,22.294773],[114.284929,22.263761],[114.313262,22.264315],[114.315726,22.299203],[114.315726,22.299756],[114.278153,22.328546],[114.283081,22.386661],[114.322501,22.385554],[114.323117,22.385554],[114.323733,22.385001],[114.323733,22.384447],[114.356994,22.340171],[114.394566,22.361757],[114.385327,22.41156],[114.406269,22.432582],[114.406269,22.433688],[114.376088,22.436454],[114.325581,22.479041],[114.278769,22.435901],[114.220255,22.427603],[114.205473,22.449729],[114.23319,22.466875],[114.2529,22.445304],[114.340979,22.50337],[114.309566,22.497288],[114.28924,22.52272],[114.263987,22.541515],[114.263371,22.541515],[114.260291,22.547595],[114.232574,22.528801],[114.232574,22.539857],[114.222719,22.553122],[114.166052,22.559201],[114.156813,22.543726],[114.095219,22.534329],[114.082285,22.512216],[114.031778,22.503923]]],[[[114.142647,22.213906],[114.123553,22.238836],[114.120473,22.177888],[114.154965,22.177888],[114.166668,22.205041],[114.142647,22.213906]]],[[[114.305871,22.372273],[114.313878,22.340724],[114.332972,22.353455],[114.305255,22.372826],[114.305871,22.372273]]],[[[114.320037,22.381127],[114.323733,22.384447],[114.323733,22.385001],[114.323117,22.385554],[114.322501,22.385554],[114.319421,22.382234],[114.320037,22.38168],[114.320037,22.381127]]],[[[114.305871,22.369506],[114.305871,22.372273],[114.305255,22.372826],[114.305871,22.369506]]],[[[114.315726,22.299203],[114.316958,22.298649],[114.316342,22.30031],[114.315726,22.299756],[114.315726,22.299203]]],[[[114.319421,22.382234],[114.320037,22.381127],[114.320037,22.38168],[114.319421,22.382234]]],[[[114.372392,22.32301],[114.373008,22.323564],[114.372392,22.323564],[114.372392,22.32301]]],[[[114.323733,22.297541],[114.324349,22.297541],[114.323733,22.298095],[114.323733,22.297541]]]]}},{"type":"Feature","properties":{"adcode":820000,"name":"澳门特别行政区","center":[113.54909,22.198951],"centroid":[113.566988,22.159307],"childrenNum":8,"level":"province","parent":{"adcode":100000},"subFeatureIndex":33,"acroutes":[100000]},"geometry":{"type":"MultiPolygon","coordinates":[[[[113.554425,22.107489],[113.6037,22.132438],[113.575983,22.194513],[113.558736,22.212244],[113.53841,22.209473],[113.534715,22.174009],[113.554425,22.142416],[113.554425,22.107489]]],[[[113.586453,22.201162],[113.575983,22.201162],[113.575983,22.194513],[113.586453,22.201162]]]]}},{"type":"Feature","properties":{"name":"","adchar":"JD","adcode":"100000_JD"},"geometry":{"type":"MultiPolygon","coordinates":[[[[122.51865306,23.46078502],[122.79861399,24.57367379],[122.79889322,24.57678999],[122.79819583,24.57983997],[122.79659008,24.58252516],[122.79423315,24.58458272],[122.79135575,24.58581125],[122.78823955,24.58609049],[122.78518957,24.5853931],[122.78250438,24.58378734],[122.78044682,24.58143041],[122.77921829,24.57855302],[122.49925737,23.46566424],[122.49897813,23.46254804],[122.49967552,23.45949807],[122.50128127,23.45681287],[122.5036382,23.45475531],[122.5065156,23.45352678],[122.50963181,23.45324755],[122.51268178,23.45394494],[122.51536697,23.45555069],[122.51742454,23.45790762],[122.51865306,23.46078502]]],[[[121.17202617,20.8054593],[121.90938804,21.68743347],[121.9109946,21.69011818],[121.91169291,21.69316794],[121.91141462,21.69628423],[121.91018696,21.699162],[121.9081301,21.70151955],[121.9054454,21.70312611],[121.90239563,21.70382443],[121.89927934,21.70354613],[121.89640158,21.70231847],[121.89404403,21.70026162],[121.15668216,20.81828744],[121.1550756,20.81560273],[121.15437729,20.81255297],[121.15465558,20.80943668],[121.15588324,20.80655891],[121.1579401,20.80420136],[121.1606248,20.8025948],[121.16367457,20.80189649],[121.16679085,20.80217478],[121.16966862,20.80340244],[121.17202617,20.8054593]]],[[[119.47366172,18.00707291],[120.02569734,19.02403788],[120.02674143,19.02698721],[120.02682302,19.03011484],[120.02593412,19.0331146],[120.02416175,19.03569286],[120.02167941,19.03759723],[120.01873007,19.03864132],[120.01560245,19.03872291],[120.01260269,19.03783401],[120.01002443,19.03606165],[120.00812005,19.0335793],[119.45608443,18.01661433],[119.45504035,18.01366499],[119.45495876,18.01053737],[119.45584765,18.00753761],[119.45762002,18.00495935],[119.46010237,18.00305497],[119.4630517,18.00201089],[119.46617933,18.0019293],[119.46917909,18.0028182],[119.47175735,18.00459056],[119.47366172,18.00707291]]],[[[119.0726757,15.04098494],[119.0726757,16.04388528],[119.07218626,16.04697545],[119.07076587,16.04976313],[119.06855355,16.05197545],[119.06576587,16.05339584],[119.0626757,16.05388528],[119.05958553,16.05339584],[119.05679784,16.05197545],[119.05458553,16.04976313],[119.05316513,16.04697545],[119.0526757,16.04388528],[119.0526757,15.04105889],[119.0521839,15.00781004],[119.05262758,15.00471297],[119.05400659,15.00190458],[119.05618595,14.99965979],[119.05895232,14.99819832],[119.06203491,14.99766324],[119.06513198,14.99810691],[119.06794036,14.99948592],[119.07018516,15.00166528],[119.07164663,15.00443165],[119.07218171,15.00751424],[119.0726746,15.04083704],[119.0726757,15.04098494]]],[[[118.68646749,11.18959191],[118.52518702,10.91547751],[118.52404181,10.91256595],[118.52385237,10.909443],[118.52463726,10.90641436],[118.52631962,10.9037765],[118.5287348,10.90178762],[118.53164636,10.90064241],[118.53476931,10.90045298],[118.53779795,10.90123786],[118.54043581,10.90292022],[118.54242469,10.9053354],[118.70409227,11.18010771],[118.70476212,11.18147468],[118.87431591,11.606662],[118.87459939,11.60747236],[118.98894963,11.98573108],[118.98937534,11.98883067],[118.9888224,11.99191011],[118.98734492,11.99466796],[118.98508753,11.99683427],[118.98227119,11.99819697],[118.9791716,11.99862269],[118.97609216,11.99806975],[118.97333431,11.99659227],[118.97116801,11.99433487],[118.9698053,11.99151854],[118.85557939,11.6136711],[118.68646749,11.18959191]]],[[[115.54466883,7.14672265],[116.2504858,7.979279],[116.25211077,7.98195261],[116.25283001,7.9849975],[116.25257312,7.98811563],[116.25136525,7.99100176],[116.24932463,7.99337338],[116.24665102,7.99499834],[116.24360613,7.99571758],[116.240488,7.99546069],[116.23760187,7.99425282],[116.23523025,7.99221221],[115.52941328,7.15965587],[115.52778832,7.15698226],[115.52706908,7.15393736],[115.52732596,7.15081924],[115.52853383,7.1479331],[115.53057445,7.14556148],[115.53324806,7.14393652],[115.53629295,7.14321728],[115.53941108,7.14347417],[115.54229721,7.14468204],[115.54466883,7.14672265]]],[[[112.30705249,3.53487257],[111.78690114,3.41687263],[111.78399583,3.41571167],[111.78159146,3.41370973],[111.77992341,3.41106279],[111.77915495,3.40802995],[111.77936129,3.40490807],[111.78052226,3.40200275],[111.78252419,3.39959839],[111.78517113,3.39793033],[111.78820398,3.39716187],[111.79132585,3.39736822],[112.31181658,3.51544515],[112.31248917,3.51562254],[112.52147408,3.5785908],[112.52281386,3.57910186],[112.85206367,3.73256867],[112.85465776,3.7343178],[112.85658437,3.73678292],[112.85765492,3.73972276],[112.85776462,3.74284952],[112.85690272,3.74585715],[112.8551536,3.74845124],[112.85268847,3.75037785],[112.84974864,3.7514484],[112.84662187,3.75155809],[112.84361424,3.7506962],[112.51501594,3.59753306],[112.30705249,3.53487257]]],[[[108.26055972,6.08912451],[108.29013305,6.01266273],[108.29170425,6.00995718],[108.29403462,6.00786957],[108.29689603,6.00660426],[108.3000084,6.00628511],[108.30306706,6.00694335],[108.30577262,6.00851455],[108.30786022,6.01084492],[108.30912553,6.01370633],[108.30944469,6.0168187],[108.30878645,6.01987736],[108.279563,6.09543449],[108.25611734,6.22752625],[108.21679964,6.53816468],[108.21876335,6.94964057],[108.24419535,7.07390742],[108.24433543,7.07703297],[108.24350281,7.08004883],[108.24177899,7.0826598],[108.2393327,7.08461028],[108.23640341,7.08570936],[108.23327786,7.08584944],[108.230262,7.08501682],[108.22765103,7.083293],[108.22570055,7.08084671],[108.22460147,7.07791743],[108.19897125,6.95268198],[108.1987683,6.95072469],[108.19679674,6.53760583],[108.19687578,6.53630242],[108.23630689,6.22476797],[108.23638164,6.22427602],[108.26004031,6.09098419],[108.26055972,6.08912451]]],[[[110.12822847,11.36894451],[110.05553696,11.25335394],[110.05430621,11.25047749],[110.05402458,11.2473615],[110.05471962,11.24431099],[110.05632331,11.24162456],[110.05867865,11.23956519],[110.0615551,11.23833444],[110.06467109,11.23805281],[110.0677216,11.23874785],[110.07040803,11.24035153],[110.07246741,11.24270688],[110.14541497,11.35870461],[110.14588682,11.35954163],[110.20700505,11.48128846],[110.20728377,11.48189306],[110.25854422,11.60358735],[110.25901765,11.60499559],[110.30436343,11.7826124],[110.30456934,11.78364161],[110.32822801,11.94571326],[110.32832827,11.94685414],[110.33424294,12.14159753],[110.33424553,12.14210167],[110.33227398,12.24038351],[110.33172267,12.24346324],[110.33024665,12.24622187],[110.3279904,12.24838938],[110.32517479,12.24975358],[110.32207543,12.25018094],[110.3189957,12.24962962],[110.31623706,12.2481536],[110.31406956,12.24589736],[110.31270536,12.24308175],[110.312278,12.23998238],[110.3142445,12.14195265],[110.3083549,11.94803461],[110.28485499,11.78705054],[110.23982347,11.61066468],[110.18898148,11.48996382],[110.12822847,11.36894451]]],[[[109.82951587,15.22896754],[109.84522534,15.15316562],[109.84633168,15.15023907],[109.84828823,15.14779763],[109.85090347,15.14608029],[109.85392139,15.14525516],[109.85704658,15.145403],[109.85997314,15.14650935],[109.86241457,15.1484659],[109.86413191,15.15108113],[109.86495704,15.15409906],[109.8648092,15.15722425],[109.84903675,15.23333003],[109.84889209,15.23393326],[109.78974541,15.45068337],[109.7892391,15.45210582],[109.69066131,15.67432448],[109.6900529,15.67548445],[109.59147511,15.83677407],[109.59116145,15.8372556],[109.53201478,15.92259221],[109.53166592,15.92306523],[109.30888011,16.20725797],[109.30658844,16.20938798],[109.30375073,16.21070558],[109.30064474,16.21108179],[109.29757451,16.21047978],[109.29484059,16.20895848],[109.29271057,16.20666681],[109.29139298,16.2038291],[109.29101677,16.20072311],[109.29161878,16.19765288],[109.29314007,16.19491896],[109.51574449,15.91095759],[109.57455994,15.82609887],[109.67264555,15.66561455],[109.77065019,15.44468789],[109.82951587,15.22896754]]]]}}]} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/logo.png b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1aa85a35b4c90eb03db208e0a2d2075f8b3bbebb GIT binary patch literal 192874 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

    a7jcg=b%( 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%0D#69bxu$&La(Cs<6~rNe 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�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 D-wHny literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/ayu-dark.png b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/ayu-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..e670f2f3ffc776ddf915c4f79fc77035f66010ca GIT binary patch literal 5994 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 literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/default.png b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/default.png new file mode 100644 index 0000000000000000000000000000000000000000..8ad18ece81f4e11fe920fdf24c42a2f9f2ea0172 GIT binary patch literal 6031 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 VK0r@?KU%Q^dfLYKvG<&!{{s(x13~}* literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/eclipse.png b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/eclipse.png new file mode 100644 index 0000000000000000000000000000000000000000..3fd419d09082249ac370d96a88a5340d5f08080c GIT binary patch literal 6375 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 QCwDP;y85}Sb4q9e0GGhb>i_@% literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/solarized light.png b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/assets/theme/solarized light.png new file mode 100644 index 0000000000000000000000000000000000000000..3cd91963802f1d842902f7c0cbece8389a177d6d GIT binary patch literal 6487 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 MCRWBZhWDTR8?9n5PXGV_ literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/CodemirrorEditor/index.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/CodemirrorEditor/index.vue new file mode 100644 index 00000000..dca9783b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/CodemirrorEditor/index.vue @@ -0,0 +1,228 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/Common.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/Common.vue new file mode 100644 index 00000000..d8fbd91c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/Common.vue @@ -0,0 +1,506 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/FunctionPage.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/FunctionPage.vue new file mode 100644 index 00000000..b776142e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/FunctionPage.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/dashboard/LiveChart.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/dashboard/LiveChart.vue new file mode 100644 index 00000000..c08ca878 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/dashboard/LiveChart.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/dashboard/Shortcuts.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/dashboard/Shortcuts.vue new file mode 100644 index 00000000..cf9367dc --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/dashboard/Shortcuts.vue @@ -0,0 +1,437 @@ + + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/NavigateBar.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/NavigateBar.vue new file mode 100644 index 00000000..174b23f8 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/NavigateBar.vue @@ -0,0 +1,19 @@ + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/NavigateMenuBar.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/NavigateMenuBar.vue new file mode 100644 index 00000000..cf4197f6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/NavigateMenuBar.vue @@ -0,0 +1,78 @@ + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/SideBar.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/SideBar.vue new file mode 100644 index 00000000..cf75d770 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/SideBar.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Breadcrumb.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Breadcrumb.vue new file mode 100644 index 00000000..c304bded --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Breadcrumb.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Hamburger.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Hamburger.vue new file mode 100644 index 00000000..f253bce6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Hamburger.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Logo.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Logo.vue new file mode 100644 index 00000000..e1259055 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Logo.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Personal.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Personal.vue new file mode 100644 index 00000000..b55d3098 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Personal.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/SlideMenu.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/SlideMenu.vue new file mode 100644 index 00000000..e6440d67 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/SlideMenu.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Zone.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Zone.vue new file mode 100644 index 00000000..e801e63c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/layout/components/Zone.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/veBaseComponents/CardTable.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/veBaseComponents/CardTable.vue new file mode 100644 index 00000000..0b02ebdb --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/veBaseComponents/CardTable.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/veBaseComponents/VeTable.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/veBaseComponents/VeTable.vue new file mode 100644 index 00000000..da86a80f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/veBaseComponents/VeTable.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/veBaseComponents/index.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/veBaseComponents/index.js new file mode 100644 index 00000000..d4d06cab --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/components/veBaseComponents/index.js @@ -0,0 +1,18 @@ +export default { + install: (app) => { + const files = require.context( + "@/components/veBaseComponents", + false, + /\.vue$/, + ); + files.keys().forEach((key) => { + // 获取组件配置 + const componentConfig = files(key); + // 全局注册组件 + app.component( + componentConfig.default.name, + componentConfig.default, + ); + }); + }, +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/config.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/config.js new file mode 100644 index 00000000..c1ea0812 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/config.js @@ -0,0 +1,5 @@ +module.exports = { + dev_mock: false, //开发环境启用mock true:启用 + pro_mock: false, //生产环境启用mock true:启用 + moduleName: "smart-agent-network-server", +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/directives/index.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/directives/index.js new file mode 100644 index 00000000..9e9e43ed --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/directives/index.js @@ -0,0 +1,12 @@ +export default { + install: (app, { router, store }) => { + const files = require.context("@/directives/modules", false, /\.js$/); + files.keys().forEach((key) => { + let name = key.replace(/(\.\/|\.js)/g, ""); + let method = files(key).default; + app.directive(name, (el, binding) => + method(el, binding, app, router, store), + ); + }); + }, +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/directives/modules/permission.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/directives/modules/permission.js new file mode 100644 index 00000000..62e14b60 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/directives/modules/permission.js @@ -0,0 +1,23 @@ +const permission = (el, binding, app, router, store) => { + const { value } = binding; + function checkArray(permission) { + let path = app.config.globalProperties.$route.name; + + let _permission = permission.map((element) => { + let url = path.replace(/-/g, "/") + "/" + element; + return url; + }); + let arr = store.getters.permissionList; + return _permission.some((key) => arr.includes(key)); + } + + if (value && value.length > 0) { + let hasPermission = checkArray(value); + if (!hasPermission) { + // 没有权限 移除Dom元素 + el.parentNode && el.parentNode.removeChild(el); + } + } +}; + +export default permission; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/directives/modules/resize.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/directives/modules/resize.js new file mode 100644 index 00000000..076149ab --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/directives/modules/resize.js @@ -0,0 +1,14 @@ +import { useElementSize, debouncedWatch } from "@vueuse/core"; +const resize = (el, binding) => { + const { width } = useElementSize(el); + if (width.value === 0) return; + const { value } = binding; + debouncedWatch( + width, + () => { + value && value.resize(); + }, + { debounce: 500 }, + ); +}; +export default resize; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/main.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/main.js new file mode 100644 index 00000000..91db18fe --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/main.js @@ -0,0 +1,27 @@ +import { createApp } from "vue"; +import axios from "@/plugins/axios"; +import App from "@/App.vue"; +import router from "@/router"; +import store from "@/store"; +import installElementPlus from "@/plugins/element"; +import elementIcon from "@/plugins/svgicon"; +import permission from "@/plugins/permission"; +import mock from "@/plugins/mock"; +import directives from "@/directives"; +import veBaseComponents from "@/components/veBaseComponents"; +// import JsonViewer from 'vue-json-viewer'; + +import "normalize.css/normalize.css"; +import "nprogress/nprogress.css"; +import "@/styles/common.scss"; +const app = createApp(App); +app.use(mock) + .use(elementIcon) + .use(veBaseComponents) + .use(store) + .use(router) + .use(installElementPlus) + .use(axios, { router, store, opt: "VE_API" }) + .use(permission, { router, store }) + .use(directives, { router, store }) + .mount("#app"); diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/axios.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/axios.js new file mode 100644 index 00000000..01e41d82 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/axios.js @@ -0,0 +1,237 @@ +/* eslint-disable indent */ +"use strict"; + +import axios from "axios"; +// import Qs from "qs"; +import NProgress from "nprogress"; +import { SET_TOKEN } from "@/store/modules/app/type"; +import { ElMessage } from "element-plus"; + +// Full config: https://github.com/axios/axios#request-config +// axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || ''; +// axios.defaults.headers.common['Authorization'] = AUTH_TOKEN; +// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; +const install = (app, { router, store, opt }) => { + let config = { + Global: true, + // baseURL: process.env.baseURL || process.env.apiUrl || "" + // timeout: 60 * 1000, // Timeout + // withCredentials: true, // Check cross-site Access-Control + // {"userName":"Administrator","pwd":"123456"} + // userName=Administrator&pwd=123456 + }; + // if (VE_ENV.MODE === "production") { + // console.log("VE_ENV.MODE:" + VE_ENV.MODE); + // config.transformRequest = [(data) => Qs.parse(data)]; + // } + + const _axios = axios.create(config); + let ve_loading; + let ve_message = null; + let loadingCount = 0; + // 请求拦截 + _axios.interceptors.request.use( + (config) => { + NProgress.done(); + if (config.Global) { + NProgress.start(); + ve_loading = app.config.globalProperties.$loading({ + lock: true, + text: "Loading", + spinner: "el-icon-loading", + background: "rgba(0,0,0,0.1)", + }); + } + loadingCount++; + //*请求头添加token + const token = store.getters.token; + const access_token = store.getters.access_token; + const refresh_token = store.getters.refresh_token; + const zone_id = store.getters.zone_id; + const user_id = store.getters.user_id; + // debugger; + token && (config.headers.Authorization = token); + + if (access_token) { + config.headers.access_token = access_token; + } + + if (refresh_token) { + config.headers.refresh_token = refresh_token; + } + if (zone_id) { + config.headers.zone_id = zone_id; + } + if (user_id) { + config.headers.user_id = user_id; + } + // Do something before request is sent + return config; + }, + (error) => { + // Do something with request error + return Promise.reject(error); + }, + ); + + // Add a response interceptor + // 响应拦截 + _axios.interceptors.response.use( + (response) => { + // TODO 根据响应头更新token + store.dispatch(`app/${SET_TOKEN}`, new Date().getTime()); + loadingCount--; + if (loadingCount <= 0) { + NProgress.done(); + ve_loading.close(); + } + // eslint-disable-next-line no-unused-vars + let contentType = response.headers["content-type"]; + if ( + "application/octet-stream" === contentType && + response.status === 200 + ) { + return response; + } + let type = "success"; + if (response.status !== 200 && response.data.code !== 0) { + type = "error"; + ElMessage.error("Oops, this is a error message."); + } + if (ve_message) { + ve_message.close(); + ve_message = null; + } + ve_message = app.config.globalProperties.$message({ + type, + message: response.data.message, + }); + // Do something with response data + return response.data; + }, + (error) => { + loadingCount--; + if (loadingCount <= 0) { + NProgress.done(); + ve_loading.close(); + } + if (error && error.response) { + let message = ""; + switch (error.response.status) { + case 400: + message = "请求错误"; + break; + case 401: { + message = "未授权,请登录"; + router.replace({ + name: "Login", + }); + break; + } + case 403: + message = "没有权限,拒绝访问"; + break; + case 404: + message = `请求地址出错`; + break; + case 408: + message = "请求超时"; + break; + case 500: + message = "服务器内部错误"; + break; + case 501: + message = "服务未实现"; + break; + case 502: + message = "网关错误"; + break; + case 503: + message = "服务不可用"; + break; + case 504: + message = "网关超时"; + break; + case 505: + message = "HTTP版本不受支持"; + break; + default: + break; + } + if (ve_message) { + ve_message.close(); + ve_message = null; + } + ve_message = app.config.globalProperties.$message({ + message, + type: "error", + }); + } + // Do something with response error + return Promise.reject(error); + }, + ); + + /** + * 字符串替换 + * + * + * + var data = { + name:"张三", + age:23, + sex:"男" + } + var text = "我叫{{name}},我今年{{age}}岁,我的性别是{{sex}}!".format(data); + console.log(text); + * + * + * + * @returns {String} + */ + String.prototype.format = function () { + if (arguments.length === 0) return this; + var obj = arguments[0]; + var s = this; + for (var key in obj) { + s = s.replace(new RegExp("\\{\\{" + key + "\\}\\}", "g"), obj[key]); + } + return s; + }; + + const method = { + post: (url, p, config) => _axios.post(url, p, config), + put: (url, p, config) => _axios.put(url, p, config), + getUrl: (url, p, config) => + _axios.get(url.format(p), { params: p, data: p }, config), + get: (url, p, config) => + _axios.get(url, Object.assign(config, { params: p })), + delete: (url, p, config) => + _axios.delete(url.format(p), { params: p, data: p }, config), + deleteUrl: (url, p, config) => + _axios.delete(url.format(p), { params: p, data: p }, config), + deleteBody: (url, p, config) => _axios.delete(url, { data: p }, config), + // patch: (url, p, config) => + // _axios.patch(url, Object.assign(config, { params: p })), + patch: (url, p, config) => _axios.patch(url, p, config), + patchUrl: (url, p, config) => + _axios.patch(url.format(p), { params: p, data: p }, config), + }; + + let api = {}; + const files = require.context("@/api/modules", false, /\.js$/); + files.keys().forEach((key) => { + const fileName = key.replace(/(\.\/|\.js)/g, ""); + api[fileName] = {}; + let obj = files(key); + Object.keys(obj).forEach((item) => { + api[fileName][item] = (p, config = {}) => + method[obj[item].type](obj[item].url, p, config); + }); + }); + + window[opt] = api; + app.config.globalProperties[opt] = api; +}; + +export default { install }; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/element.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/element.js new file mode 100644 index 00000000..9fbed2df --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/element.js @@ -0,0 +1,13 @@ +import ElementPlus from "element-plus"; +import "element-plus/dist/index.css"; +// import zhCn from "element-plus/es/locale/lang/zh-cn"; +import zhCn from "element-plus/dist/locale/zh-cn.mjs"; +import "dayjs/locale/zh-cn"; +export default { + install: (app) => { + app.use(ElementPlus, { + locale: zhCn, + size: "default", + }); + }, +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/mock.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/mock.js new file mode 100644 index 00000000..1f97c4e9 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/mock.js @@ -0,0 +1,20 @@ +export default { + install: () => { + const config = require("@/config"); + if (config.pro_mock && VE_ENV.MODE === "production") { + const Mock = require("mockjs"); //引入 + + const files = require.context("@/api/modules", false, /\.js$/); + files.keys().forEach((key) => { + let obj = files(key); + Object.keys(obj).forEach((item) => { + Mock.mock( + obj[item].url, + obj[item].type, + obj[item].response, + ); + }); + }); + } + }, +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/permission.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/permission.js new file mode 100644 index 00000000..65497082 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/permission.js @@ -0,0 +1,446 @@ +import { SET_MENU_LIST, SET_PERMISSION_LIST } from "@/store/modules/app/type"; + +import globalRoutes from "@/router/globalRoutes"; +import mainRoutes from "@/router/mainRoutes"; +import NProgress from "nprogress"; +import { moduleName } from "@/config"; + +/** + * 判断当前路由类型, global: 全局路由, main: 主入口路由 + * @param {*} route 当前路由 + */ +function fnCurrentRouteType(route, globalRoutes = []) { + let temp = []; + for (let i = 0; i < globalRoutes.length; i++) { + if (route.name === globalRoutes[i].name) { + return "global"; + } else if ( + globalRoutes[i].children && + globalRoutes[i].children.length >= 1 + ) { + temp = temp.concat(globalRoutes[i].children); + } + } + return temp.length >= 1 ? fnCurrentRouteType(route, temp) : "main"; +} + +export default { + install: (app, { router, store }) => { + // let router = opt; + router.beforeEach(async (to, from, next) => { + const token = store.getters.token; + if ( + router.options.isAddDynamicMenuRoutes || + fnCurrentRouteType(to, globalRoutes) === "global" + ) { + //* 1. 已经添加 or 全局路由, 直接访问 + if (to.meta.title) { + document.title = to.meta.title; + } + NProgress.start(); + next(); + } else { + // let token = sessionStorage.getItem("token"); + if (!token || !/\S/.test(token)) { + next({ name: "Login" }); + } else { + let data = await VE_API.system.userMenuList({ + module: moduleName, + }); + // 过滤没有的菜单 + // let data = await VE_API.system.menuList(); + if (data && data.code === 0) { + // const uname = store.getters.uname; + // if ("admin" === uname && data.data.length === 0) { + // data.data = data.data.concat(menuList); + // } + if (data.data.length === 0) { + data.data = data.data.concat(menuList); + } + let _list = XE.clone(data.data, true); + + data.data = XE.mapTree( + XE.toArrayTree(_list, { + sortKey: "sort", + key: "code", + parentKey: "parentCode", + }), + (item) => { + if ( + item.children && + item.children.length <= 0 + ) { + delete item.children; + } + return item; + }, + ); + await fnAddDynamicMenuRoutes(data.data); + router.options.isAddDynamicMenuRoutes = true; + await store.dispatch(`app/${SET_MENU_LIST}`, data.data); + await store.dispatch( + `app/${SET_PERMISSION_LIST}`, + data.data, + ); + NProgress.start(); + next({ ...to, replace: true }); + } else { + next({ name: "Login" }); + } + } + } + }); + router.afterEach(() => { + NProgress.done(); + }); + + /** + * 添加动态(菜单)路由 + * @param {*} menuList 菜单列表 + * @param {*} routes 递归创建的动态(菜单)路由 + */ + // eslint-disable-next-line no-unused-vars + const fnAddDynamicMenuRoutes = async (menuList = [], routes = []) => { + let temp = []; + for (let i = 0; i < menuList.length; i++) { + if ( + menuList[i].type === 0 && + menuList[i].children && + menuList[i].children.length >= 1 + ) { + temp = temp.concat(menuList[i].children); + } else if (menuList[i].type === 1) { + // } else if (menuList[i].type==1 && /\S/.test(menuList[i].url)) { + // const url = menuList[i].url.replace(/\//g, "_"); + let route = { + path: + menuList[i].url.replace(/\//g, "-") + + `-${menuList[i].code}`, + component: null, + name: + menuList[i].url.replace(/\//g, "-") + + `-${menuList[i].code}`, + // meta: { + // } + }; + // url以http[s]://开头, 通过iframe展示 + if (menuList[i].iframe === 1) { + route["path"] = `i-${menuList[i].code}`; + route["name"] = `i-${menuList[i].code}`; + route["props"] = { url: menuList[i].url }; + route["component"] = () => import("@/views/IFrame.vue"); + } else { + const l = "views/pages/" + menuList[i].url; + route["component"] = () => import("@/" + l + ".vue"); + } + routes.push(route); + } + } + if (temp.length >= 1) { + fnAddDynamicMenuRoutes(temp, routes); + } else { + mainRoutes.children = mainRoutes.children.concat(routes); + // mainRoutes.children = routes; + console.log( + "控制台打印--> ~ file: permission.js ~ line 127 ~ fnAddDynamicMenuRoutes ~ mainRoutes.children", + mainRoutes.children, + ); + + await router.addRoute(mainRoutes); + await router.addRoute({ + path: "/:w+", + redirect: { name: "404" }, + }); + } + }; + /** + * 默认菜单 + * @type {[{name: string, icon: string, id: number, sort: number, iframe: number, menu: string, type: number, parentCode: number, url: string}, {name: string, icon: string, id: number, sort: number, iframe: number, menu: string, type: number, parentCode: number, url: string}, {name: string, icon: string, id: number, sort: number, iframe: number, menu: string, type: number, parentCode: number, url: string}, {name: string, icon: string, id: number, sort: number, iframe: number, menu: string, type: number, parentCode: number, url: string}, {name: string, icon: string, id: number, sort: number, iframe: number, menu: string, type: number, parentCode: number, url: string}, null, null, null, null, null, null, null, null, null, null, null, null, null]} + */ + const menuList = [ + { + parentCode: -1, + code: 100, + id: 100, + name: "系统设置", //看官网,这个名字是3-5之间的 + url: "", + menu: "", + type: 0, + icon: "Setting", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 100, + code: 1, + id: 1, + name: "用户管理", //看官网,这个名字是3-5之间的 + url: "system/Users", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "", + type: 1, + icon: "UserFilled", + sort: 2, + iframe: 0, + module: moduleName, + }, + { + parentCode: 1, + code: 2, + id: 2, + name: "查询", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "search", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 1, + code: 3, + id: 3, + name: "添加", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "add", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 1, + code: 4, + id: 4, + name: "编辑", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "edit", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 100, + code: 5, + id: 5, + name: "菜单管理", //看官网,这个名字是3-5之间的 + url: "settings/Menus", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "", + type: 1, + icon: "Menu", + sort: 1, + iframe: 0, + module: moduleName, + }, + { + parentCode: 5, + code: "restore", + id: 51, + name: "恢复出厂设置", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "restore", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 5, + code: 6, + id: 6, + name: "查询", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "search", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 5, + code: 7, + id: 7, + name: "添加", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "add", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 5, + code: 8, + id: 8, + name: "编辑", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "edit", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 5, + code: 9, + id: 9, + name: "添加子级", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "addChild", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 5, + code: 10, + id: 10, + name: "添加按钮", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "addBtn", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 100, + code: 11, + id: 11, + name: "角色管理", //看官网,这个名字是3-5之间的 + url: "system/Roles", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "", + type: 1, + icon: "HelpFilled", + sort: 3, + iframe: 0, + module: moduleName, + }, + { + parentCode: 11, + code: 12, + id: 12, + name: "查询", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "search", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 11, + code: 13, + id: 13, + name: "添加", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "add", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 11, + code: 14, + id: 14, + name: "编辑", //看官网,这个名字是3-5之间的 + url: "", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "edit", + type: 2, + icon: "", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: -1, + code: 15, + id: 15, + name: "参考资料", //看官网,这个名字是3-5之间的 + url: "", + menu: "", + type: 0, + icon: "DocumentCopy", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 15, + code: 16, + id: 16, + name: "vue3.0", //看官网,这个名字是3-5之间的 + url: "https://www.vue3js.cn/docs/zh/", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "", + type: 1, + icon: "Promotion", + sort: 1, + iframe: 1, + module: moduleName, + }, + { + parentCode: 15, + code: 17, + id: 17, + name: "element-plus", //看官网,这个名字是3-5之间的 + url: "https://element-plus.org/#/zh-CN", //这个类似上面的id一个,只是初始值是从100开始的 + menu: "", + type: 1, + icon: "ElemeFilled", + sort: 1, + iframe: 1, + module: moduleName, + }, + // { + // parentCode: 15, + // code: 18, + // id: 18, + // name: "wu-vue-framework", //看官网,这个名字是3-5之间的 + // url: "https://gitee.com/wujiawei1207537021/wu-vue-framework/blob/master/README.md", //这个类似上面的id一个,只是初始值是从100开始的 + // menu: "", + // type: 1, + // icon: "ElemeFilled", + // sort: 1, + // iframe: 1, + // }, + // { + // parentCode: 15, + // code: 19, + // id: 19, + // name: "wu-framework-parent", //看官网,这个名字是3-5之间的 + // url: "https://gitee.com/wujiawei1207537021/wu-framework-parent/wikis/pages", //这个类似上面的id一个,只是初始值是从100开始的 + // menu: "", + // type: 1, + // icon: "ElemeFilled", + // sort: 1, + // iframe: 1, + // }, + // { + // parentCode: 15, + // code: 20, + // id: 20, + // name: "lazy-orm", //看官网,这个名字是3-5之间的 + // url: "https://gitee.com/wujiawei1207537021/wu-framework-parent/raw/master/wu-database-parent/README.md", //这个类似上面的id一个,只是初始值是从100开始的 + // menu: "", + // type: 1, + // icon: "ElemeFilled", + // sort: 1, + // iframe: 1, + // }, + ]; + }, +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/svgicon.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/svgicon.js new file mode 100644 index 00000000..8a0c6cec --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/plugins/svgicon.js @@ -0,0 +1,9 @@ +import * as components from "@element-plus/icons-vue"; +export default { + install: (app) => { + for (const key in components) { + const componentConfig = components[key]; + app.component(componentConfig.name, componentConfig); + } + }, +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/router/globalRoutes.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/router/globalRoutes.js new file mode 100644 index 00000000..db6f1dee --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/router/globalRoutes.js @@ -0,0 +1,17 @@ +export default [ + { + path: "/login", + name: "Login", + component: () => import("@/views/Login.vue"), + }, + { + path: "/register", + name: "Register", + component: () => import("@/views/Register.vue"), + }, + { + path: "/404", + name: "404", + component: () => import("@/views/404.vue"), + }, +]; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/router/index.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/router/index.js new file mode 100644 index 00000000..54f8d326 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/router/index.js @@ -0,0 +1,27 @@ +import { createRouter, createWebHashHistory } from "vue-router"; +import globalRoutes from "./globalRoutes"; +import mainRoutes from "./mainRoutes"; + +const router = createRouter({ + history: createWebHashHistory(), + scrollBehavior: () => ({ y: 0 }), + isAddDynamicMenuRoutes: false, // 是否已经添加动态(菜单)路由 + routes: globalRoutes.concat(mainRoutes), +}); +// router.beforeEach((to, from, next) => { +// console.log("from" + from.path + "....to" + to.path); +// +// if ( +// to.matched.length === 0 || +// globalRoutes.findIndex((route) => (route.path = to.path)) === -1 +// ) { +// console.log("404"); +// // 路由不存在 +// next("/404"); // 跳转到404页面 +// } else { +// next(); // 路由存在,正常跳转 +// console.log("normal"); +// } +// }); + +export default router; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/router/mainRoutes.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/router/mainRoutes.js new file mode 100644 index 00000000..d08420f8 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/router/mainRoutes.js @@ -0,0 +1,13 @@ +export default { + path: "/", + name: "AppMain", + component: () => import("@/views/AppMain.vue"), + redirect: { name: "Home" }, + children: [ + { + path: "home", + name: "Home", + component: () => import("@/views/Home.vue"), + }, + ], +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/add.png b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/add.png new file mode 100644 index 0000000000000000000000000000000000000000..35f98a2cdce3586d684d9c30f2ffb6ebb6f24185 GIT binary patch literal 9502 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�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 literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/db_table.png b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/db_table.png new file mode 100644 index 0000000000000000000000000000000000000000..581ed51f8a0bd2899c502ee9d2a8e95db7172cd2 GIT binary patch literal 2403 zcmc(hdpK0z8pqe3p<#rHA<1PFm6A~j`MJzEZsRr>F-hjgk1o0p%B3=x$}KT5GAef} z^213+QSJ?rj7v#!X;Q*;LgUiV**cxydCs5bIe(nzS!;jyUTf{Op6Bzv?|R>OXD1tJ zv@#k1AWgEhbcL0>+9lS&&->J}+ps{vt~M5+?1jn%0FtUCOQKtt_w=oy&_N@Nb%R@q z$5uxUvQ6tQVo>3ZW{>I#`FI+I$hnfcbH`Gy9(S!CICWb%1vO-z9-l!Hwr@a0IRo*s z?Rq)V=$!gcaljA|q7`5f5+IO^a>hAADw>XlWuGk}Fj4TbAhQV23np6k-`WOnx3Fye z9xO=FAL87T7Y7B`Ew1~s5rA2=(IYeu&_i60@*F6DzzcbQ&k0`Ugmz>fLjzm(DX+eG z1mKZ!NqZb2K0*TvxUA(tsmR3k#|FU*g}64fL|JN03H$L-ZLVzBK5|1PR9U~PPTymX zTzeV8$*>I}vGMDaX|G87ik=BSP%fAdm^>a?MUB~q+l69ChgYmjjI=f_JbD~i?$C?H zu-sXNz5*-gpzU)2$tW9TAXxT0_Ye%eXH#^eIpi5BnVM7-vUygi}43hP%N<%0{t^?Zp9R&e7^c8PQRSe5xP3V#Kqv8)T4&0-c*Cv#0 zMqb6f^!A71Tyk$bOhY{C(AiH|C@pZK1P+tMy^xI^M9->P1p7P24+W*nOcTX`g=|iJ z0)o9UbT4Z3ocdhpdU4QfuNBu+hyY`iI$|HJAn?^yaxCyJpmTJjh~X}PQ0o?BXt1Fs1`85n|PTq#`BY*MuPm772RuA8`Y*<*0oEMHMkr12GVzqG=5oOq}4I7E0Rd zu&6o}?s^agz^&#E_%&cy(A2~&HjmP7)>bU0-aH(X5ZYrTgM1C|<0IRs#xS+z@42p} z_|Mgw)YprWV;q-AB_lW^37MGK5!^2H-_;oNIK%G@ijGr-QOg)Mky4s3SqV!B8=%DakGNs z&Z=couL#zQoi)Dy`?o$)LVfYT*+cC%7w?}B8Q?xkU>5{bDVyIILs6d9xy|`nf$qko z^J;`wkSf6`BC(ZsOlRku{VOB^@N+=&#pJ!KbW2~Wt_rXfC2;20hGx8Psr=l(Wi+mG z7DL5H>CW=|!e?4{2nHpCR!16$W7$VwN{v}_3f@4B05{$3^@$eV*mqt5qyOS(sGi;d z{shN;CjP@(h}!%`00N}wxZd!Fzc}EPa36u+J|c;9_I2%U^O~tB6wonf~QZ} zjN#s?@SpWyFWZnl(9R9_3j2@CcS@cRnr|g-(pdX`QXn9ny*hmqjttn<>0tq-)zjFb z^=UOX`GaTR>grVhhK;4JZx8W=J^tBDI%)|&HP&w2w zul{Da0Bvg*+(|w|?!V29EnYCcSs^rW9iv5%=A%o{wr|Y%WY1FuliHUc%+;3Z;ouX( znLe&btdKbbQXVuvXe003Ku@C`F4VcN^VT<$vPiazy}%fOm}v_^n7S=?m-3Yfyo>`V zhgJ>7#~_b!(i)srsO&W!<)yEFRffkFncd_iJUNpc{+gE2S+yEzAyY zCUxG4z;2sVDmJcx_(tUe`xU9Oh9^xG-=Yo zg~Uh^Dbhlfs)VK_G%0D!C9KnG=c|JJt`QMjAVA@AC$O>EUyRh_8f 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 literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/key.png b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/key.png new file mode 100644 index 0000000000000000000000000000000000000000..c0a0b9ae0fc35f62f817b8e56cab4ed3bd7b2b44 GIT binary patch literal 6549 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 literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/music-default-pic.png b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/music-default-pic.png new file mode 100644 index 0000000000000000000000000000000000000000..86e3006ba41dbf2afdd2bee40200fe180959dd22 GIT binary patch literal 1016368 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

    4?z=R~LjO0O( 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%0A-ik(HOK`-bK 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

    rsIp5k{U9w3K`r#K+LSXO|5+ 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 z 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%0D>TJ$>5W%*jPyJ!fYUoVNKZMn){l6dlK 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 literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/redis.png b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/static/redis.png new file mode 100644 index 0000000000000000000000000000000000000000..9cca1e604bebf15e84f5648d6d97f0fe7360d5ce GIT binary patch literal 9004 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�=^&x~2Mi@+ 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 literal 0 HcmV?d00001 diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/getters.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/getters.js new file mode 100644 index 00000000..6e32a6eb --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/getters.js @@ -0,0 +1,15 @@ +export default { + opened: (state) => state.app.slider.opened, + token: (state) => state.app.token, + access_token: (state) => state.app.access_token, + refresh_token: (state) => state.app.refresh_token, + zone_id: (state) => state.app.zone_id, + user_id: (state) => state.app.user_id, + uname: (state) => state.app.uname, + menuList: (state) => state.app.menuList, + permissionList: (state) => state.app.permissionList, + moreMenuList: (state) => state.tabbar.moreMenuList, + barList: (state) => state.tabbar.barList, + currentBar: (state) => state.tabbar.currentBar, + options: (state) => state.settings.options, // 编辑器配置 +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/index.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/index.js new file mode 100644 index 00000000..144142c0 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/index.js @@ -0,0 +1,13 @@ +let modules = {}; +const files = require.context("./modules", true, /index.js$/); +files.keys().forEach((key) => { + const fileName = key.split("/")[1]; + modules[fileName] = files(key).default; +}); + +import { createStore } from "vuex"; +import getters from "./getters"; +export default createStore({ + getters, + modules, +}); diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/app/index.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/app/index.js new file mode 100644 index 00000000..c7f39c09 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/app/index.js @@ -0,0 +1,111 @@ +import { + TOGGLE_SLIDER, + SET_TOKEN, + SET_UNAME, + SET_MENU_LIST, + SET_PERMISSION_LIST, + SET_REFRESH_TOKEN, + SET_ACCESS_TOKEN, + SET_ZONE_ID, + SET_USER_ID, +} from "./type.js"; + +export default { + namespaced: true, + state: { + slider: { + opened: JSON.parse(sessionStorage.getItem("opened")), + }, + token: sessionStorage.getItem("token") || "", + access_token: sessionStorage.getItem("access_token") || "", + refresh_token: sessionStorage.getItem("refresh_token") || "", + zone_id: sessionStorage.getItem("zone_id") || "", + user_id: sessionStorage.getItem("user_id") || "", + menuList: null, + permissionList: [], + uname: sessionStorage.getItem("uname") || "", + }, + mutations: { + [TOGGLE_SLIDER](state) { + state.slider.opened = !state.slider.opened; + sessionStorage.setItem( + "opened", + JSON.stringify(state.slider.opened), + ); + }, + [SET_TOKEN](state, token) { + state.token = token; + sessionStorage.setItem("token", state.token); + }, + [SET_UNAME](state, uname) { + state.uname = uname; + sessionStorage.setItem("uname", state.uname); + }, + [SET_ACCESS_TOKEN](state, access_token) { + state.access_token = access_token; + sessionStorage.setItem("access_token", state.access_token); + }, + [SET_REFRESH_TOKEN](state, refresh_token) { + state.refresh_token = refresh_token; + sessionStorage.setItem("refresh_token", state.refresh_token); + }, + [SET_ZONE_ID](state, zone_id) { + state.zone_id = zone_id; + sessionStorage.setItem("zone_id", state.zone_id); + }, + [SET_USER_ID](state, user_id) { + state.user_id = user_id; + sessionStorage.setItem("user_id", state.user_id); + }, + [SET_MENU_LIST](state, menuList) { + state.menuList = menuList; + }, + [SET_PERMISSION_LIST](state, permissionList) { + state.permissionList = permissionList; + }, + }, + actions: { + [TOGGLE_SLIDER]({ commit }) { + commit(TOGGLE_SLIDER); + }, + [SET_TOKEN]({ commit }, token) { + commit(SET_TOKEN, token); + }, + [SET_ACCESS_TOKEN]({ commit }, access_token) { + commit(SET_ACCESS_TOKEN, access_token); + }, + [SET_REFRESH_TOKEN]({ commit }, refresh_token) { + commit(SET_REFRESH_TOKEN, refresh_token); + }, + [SET_ZONE_ID]({ commit }, zone_id) { + commit(SET_ZONE_ID, zone_id); + }, + [SET_USER_ID]({ commit }, user_id) { + commit(SET_USER_ID, user_id); + }, + [SET_UNAME]({ commit }, uname) { + commit(SET_UNAME, uname); + }, + [SET_MENU_LIST]({ commit }, menuList) { + commit(SET_MENU_LIST, menuList); + }, + [SET_PERMISSION_LIST]({ commit }, menuList) { + let allMenus = XE.filterTree(menuList, (item) => item.type === 1, { + sortKey: "sort", + key: "code", + parentKey: "parentCode", + }); + let permissionList = []; + allMenus.forEach((item) => { + if (item.children && item.children.length > 0) { + item.children.forEach((menu) => { + permissionList.push( + `${item.url}/${item.code}/${menu.menu}`, + ); + }); + } + }); + commit(SET_PERMISSION_LIST, permissionList); + }, + }, +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/app/type.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/app/type.js new file mode 100644 index 00000000..be7158c3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/app/type.js @@ -0,0 +1,9 @@ +export const TOGGLE_SLIDER = "TOGGLE_SLIDER"; +export const SET_TOKEN = "SET_TOKEN"; +export const SET_ACCESS_TOKEN = "access_token"; +export const SET_REFRESH_TOKEN = "refresh_token"; +export const SET_UNAME = "SET_UNAME"; +export const SET_ZONE_ID = "ZONE_ID"; // 空间区域ID +export const SET_USER_ID = "USER_ID"; // 用户ID +export const SET_MENU_LIST = "SET_MENU_LIST"; +export const SET_PERMISSION_LIST = "SET_PERMISSION_LIST"; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/settings/index.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/settings/index.js new file mode 100644 index 00000000..ed9808e5 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/settings/index.js @@ -0,0 +1,32 @@ +/** + * 编辑器配置信息 + */ + +const state = { + options: { + lineNumbers: true, + lineWrapping: true, + styleActiveLine: true, + extraKeys: "Ctrl", + theme: "default", + }, +}; + +const mutations = { + SAVE_OPTIONS(state, params) { + state.options = { ...params }; + }, +}; + +const actions = { + saveOptions({ commit }, params) { + commit("SAVE_OPTIONS", params); + }, +}; + +export default { + namespaced: true, + state, + mutations, + actions, +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/tabbar/index.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/tabbar/index.js new file mode 100644 index 00000000..ed458224 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/tabbar/index.js @@ -0,0 +1,90 @@ +import { + ADD_BAR, + BAR_LIST, + CURRENT_BAR, + DEL_All_BAR, + DEL_BAR, + SET_BAR_LIST, + SET_CURRENT_BAR, +} from "@/store/modules/tabbar/type"; + +const index = { + namespaced: true, + state: { + moreMenuList: [], + barList: JSON.parse(sessionStorage.getItem(BAR_LIST)) || [], + currentBar: JSON.parse(sessionStorage.getItem(CURRENT_BAR)) || {}, + }, + mutations: { + [SET_BAR_LIST](state, data) { + state.barList = data; + }, + [SET_CURRENT_BAR](state, currentBar) { + state.currentBar = currentBar; + sessionStorage.setItem( + CURRENT_BAR, + JSON.stringify(state.currentBar), + ); + }, + [ADD_BAR](state, content) { + // 不允许重复,每个标签只允许存在一个 + // let ind = state.barList.findIndex(el => el.key === content.key) + // if(ind == -1) { + // state.barList.push(content) + // } + // sessionStorage.setItem(BAR_LIST, JSON.stringify(state.barList)); + // 每个标签都可以重复打开多个 + // content.index = state.barList.length; + + if (state.moreMenuList.includes(content.barCode)) { + state.barList.push(content); + } else { + let ind = state.barList.findIndex( + (el) => el.barCode === content.barCode, + ); + if (ind === -1) { + state.barList.push(content); + } else { + console.log("重复:" + content.barName); + } + } + + sessionStorage.setItem(BAR_LIST, JSON.stringify(state.barList)); + + // 防止重复 对象不一致 + + state.currentBar = state.barList.filter( + (item) => item.barCode === content.barCode, + )[0]; + sessionStorage.setItem( + CURRENT_BAR, + JSON.stringify(state.currentBar), + ); + }, + [DEL_BAR](state, barCode) { + console.log("删除之前" + state.barList.length); + state.barList = state.barList.filter( + (item) => item.barCode !== barCode, + ); + console.log("删除之后" + state.barList.length); + sessionStorage.setItem(BAR_LIST, JSON.stringify(state.barList)); + }, + [DEL_All_BAR](state, content) { + state.barList = content || [{ keyPath: "/home", key: "Home" }]; + sessionStorage.setItem(BAR_LIST, JSON.stringify(state.barList)); + }, + }, + actions: { + [ADD_BAR]({ commit }, content) { + commit(ADD_BAR, content); + }, + [DEL_BAR]({ commit }, barCode) { + commit(DEL_BAR, barCode); + }, + [SET_CURRENT_BAR]({ commit }, currentBar) { + commit(SET_CURRENT_BAR, currentBar); + }, + }, +}; + +export default index; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/tabbar/type.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/tabbar/type.js new file mode 100644 index 00000000..a3657604 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/store/modules/tabbar/type.js @@ -0,0 +1,8 @@ +export const BAR_LIST = "barList"; +export const CURRENT_BAR = "CURRENT_BAR"; +export const DEL_All_BAR = "DEL_All_BAR"; +export const DEL_BAR = "DEL_BAR"; +export const ADD_BAR = "ADD_BAR"; +export const SET_BAR_LIST = "SET_BAR_LIST"; +export const SET_CURRENT_BAR = "SET_CURRENT_BAR"; +export const ROUTE_LIST = "routeList"; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/styles/common.scss b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/styles/common.scss new file mode 100644 index 00000000..b330fd70 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/styles/common.scss @@ -0,0 +1,68 @@ +html { + background: #fff; + transition: color 300ms, background-color 300ms; + &.dark { + filter: contrast(100%) invert(100%); + img { + filter: hue-rotate(180deg); + } + } +} +.ve_header_row_class_name, +.el-table__fixed-right-patch { + background: $main-bg-color !important; +} +.ve_header_cell_class_name { + background: $main-bg-color !important; +} +.ve_cell_class_name { + background: $base-color !important; + border-color: $base-color !important; +} +.ve_row_class_name { + background: $base-color !important; +} +.ve_p_10 { + padding: 10px; +} +//滚动条的宽度 +::-webkit-scrollbar { + width: 6px; + height: 6px; +} +//滚动条的滑块 +::-webkit-scrollbar-thumb { + background-color: rgba(144, 147, 153, 0.3); + border-radius: 3px; +} +.ve_select_option_slot { + font-size: 12px; + float: left; + line-height: initial; + padding-bottom: 10px; + opacity: 0.7; +} +.ve_option_box { + width: calc(50% - 132px); +} +.size-watch { + width: 100%; + height: 100%; + // display: none; + position: absolute; + top: 0; + z-index: -1; + visibility: hidden; + margin: 0; + padding: 0; + border: 0; +} + +.ve_flex_col { + display: flex; + flex-direction: column; + height: calc(100vh - #{$nav-height} - 80px); +} +//.el-form-item{ +// width: 10%; +//} \ No newline at end of file diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/styles/variables.scss.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/styles/variables.scss.js new file mode 100644 index 00000000..0eff013c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/styles/variables.scss.js @@ -0,0 +1,12 @@ +const variables = { + main_bg_color: "#f5f5f5", + base_color: "#409EFF", + nav_height: "50px", + nav_menu_height: "50px", + side_close_width: "65px", + side_open_width: "160px", + sideBgColor: "#545c64", + sideTextColor: "#fff", + sideActiveTextColor: "#ffd04b", +}; +module.exports = variables; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/utils/index.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/utils/index.js new file mode 100644 index 00000000..a53bc4bd --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/utils/index.js @@ -0,0 +1,106 @@ +/** + * @description:树形结构转一维数组 + * @param {*} nodes + * @return {*} + */ +export function jsonToArray(nodes) { + let pid = -1; + const toArray = (nodes) => { + let r = []; + if (Array.isArray(nodes)) { + for (let i = 0, l = nodes.length; i < l; i++) { + nodes[i].pid = pid; + r.push(nodes[i]); // 取每项数据放入一个新数组 + if ( + Array.isArray(nodes[i]["children"]) && + nodes[i]["children"].length > 0 + ) { + // 若存在children则递归调用,把数据拼接到新数组中,并且删除该children + pid = nodes[i].id; + r = r.concat(toArray(nodes[i]["children"])); + delete nodes[i]["children"]; + } + } + } + return r; + }; + return toArray(nodes); +} + +/** + * @description:一维数组转树形结构 + * @param {*} treeArray + * @return {*} + */ +export function arrayToJson(treeArray) { + var r = []; + var tmpMap = {}; + for (var i = 0, l = treeArray.length; i < l; i++) { + //* 以每条数据的id作为obj的key值,数据作为value值存入到一个临时对象里面 + tmpMap[treeArray[i]["id"]] = treeArray[i]; + } + for (i = 0, l = treeArray.length; i < l; i++) { + var key = tmpMap[treeArray[i]["pid"]]; + //*循环每一条数据的pid,假如这个临时对象有这个key值,就代表这个key对应的数据有children,需要Push进去 + //*如果这一项数据属于哪个数据的子级 + if (key) { + // *如果这个数据没有children + if (!key["children"]) { + key["children"] = []; + key["children"].push(treeArray[i]); + //* 如果这个数据有children + } else { + key["children"].push(treeArray[i]); + } + } else { + //*如果没有这个Key值,就代表找不到属于哪个数据,那就代表没有父级,直接放在最外层 + r.push(treeArray[i]); + } + } + return r; +} + +/** + * @description 获取节点的所有父节点 + * @param {*} tree + * @param {*} func + * @param {*} path + * @return {*} + */ +export const treeFindPath = (tree, func, name = "id", path = []) => { + if (!tree) return []; + for (const data of tree) { + //* 这里按照你的需求来存放最后返回的内容吧 + path.push(data[name]); + if (func(data)) return path; + if (data.children) { + const findChildren = treeFindPath(data.children, func, name, path); + if (findChildren.length) return findChildren; + } + path.pop(); + } + return []; +}; + +/** + * @description: 拆箱函数,解决tooltip显示问题 + * @param {*} obj + * @return {*} + */ +export const unwarp = (obj) => obj && (obj.__v_raw || obj.valueOf() || obj); + +/** + * @description:获取所有的el-svg-icon组件名 + * @param {*} + * @return {*} + */ +export const icons = () => { + const components = require("@element-plus/icons-vue"); + console.log("🚀 ~ file: index.js ~ line 107 ~ icons ~ e", components); + + const names = []; + for (const key in components) { + names.push(components[key].name); + } + return names; +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/utils/validate.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/utils/validate.js new file mode 100644 index 00000000..96442038 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/utils/validate.js @@ -0,0 +1,57 @@ +/** + * 邮箱 + * @param {* s + */ +export const isEmail = (s) => + /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3){1,2)$/.test(s); + +/** + * 手机号码 + * @param {* s + */ +export const isMobile = (s) => /^1[3-8][0-9]{9$/.test(s); + +/** + * 电话号码 + * @param {* s + */ +export const isPhone = (s) => /^([0-9]{3,4-)?[0-9]{7,8$/.test(s); + +/** + * URL地址 + * @param {* s + */ +export const isURL = (s) => /^http[s]?:\/\/.*/.test(s); + +/** + * ip地址 + * @param {* s + */ +export const isIP = (s) => + /^(25[0-5]|2[0-4]\d|[0-1]\d{2|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2|[1-9]?\d)$/.test( + s, + ); + +/** + * 字符串 + * @param {* s + */ +export const isString = (s) => /^[A-Za-z0-9_\-\u4e00-\u9fa5]+$/.test(s); + +/** + * @description: + * @param {type + * @: exp + * 非负浮点数字 + */ +export const isNumber = (s) => /^\d+(\.\d+)?$/.test(s); + +/** + * @description: + * @param {type + * @: + * 银行卡正则 + */ + +export const isBank = (s) => + /^([1-9]{1)(\d{11|\d{15|\d{16|\d{17|\d{18)$/.test(s); diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/404.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/404.vue new file mode 100644 index 00000000..5d6e669a --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/404.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/AppMain.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/AppMain.vue new file mode 100644 index 00000000..fe548c56 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/AppMain.vue @@ -0,0 +1,56 @@ + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/Home.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/Home.vue new file mode 100644 index 00000000..d8ebed79 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/Home.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/IFrame.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/IFrame.vue new file mode 100644 index 00000000..8dfadfb6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/IFrame.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/Login.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/Login.vue new file mode 100644 index 00000000..6676599b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/Login.vue @@ -0,0 +1,153 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/Register.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/Register.vue new file mode 100644 index 00000000..bf18b333 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/Register.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/ClientFlowManager.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/ClientFlowManager.vue new file mode 100644 index 00000000..f05f58e6 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/ClientFlowManager.vue @@ -0,0 +1,153 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/CloudClient.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/CloudClient.vue new file mode 100644 index 00000000..865d9b5e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/CloudClient.vue @@ -0,0 +1,202 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/CloudClientCluster.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/CloudClientCluster.vue new file mode 100644 index 00000000..41b144af --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/CloudClientCluster.vue @@ -0,0 +1,130 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/NetworkMapping.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/NetworkMapping.vue new file mode 100644 index 00000000..d50f4f0b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/NetworkMapping.vue @@ -0,0 +1,232 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/ServerVisitor.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/ServerVisitor.vue new file mode 100644 index 00000000..173f08e3 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/ServerVisitor.vue @@ -0,0 +1,200 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/CloudNetworkMenu.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/CloudNetworkMenu.js new file mode 100644 index 00000000..c381b2cd --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/CloudNetworkMenu.js @@ -0,0 +1,8 @@ +const cloudNetworkMenu = { + description: "内网穿透管理", + // type 0:目录 1:菜单 2:按钮 + type: "1", + icon: "Tools", + name: "内网穿透管理", +}; +export default cloudNetworkMenu; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/CloudServerSendMessage2Clinet.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/CloudServerSendMessage2Clinet.vue new file mode 100644 index 00000000..8c46c6ee --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/CloudServerSendMessage2Clinet.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/NetWorkMappingEdit.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/NetWorkMappingEdit.vue new file mode 100644 index 00000000..4b129d4c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/NetWorkMappingEdit.vue @@ -0,0 +1,230 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/ServerVisitorEdit.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/ServerVisitorEdit.vue new file mode 100644 index 00000000..d3ba5c6a --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network/components/ServerVisitorEdit.vue @@ -0,0 +1,139 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network_report/ClientPerDayFlow.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network_report/ClientPerDayFlow.vue new file mode 100644 index 00000000..889ac82c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network_report/ClientPerDayFlow.vue @@ -0,0 +1,111 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network_report/ClientPortPerDayFlow.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network_report/ClientPortPerDayFlow.vue new file mode 100644 index 00000000..e563872b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network_report/ClientPortPerDayFlow.vue @@ -0,0 +1,201 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network_report/CloudNetworkReportMenu.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network_report/CloudNetworkReportMenu.js new file mode 100644 index 00000000..edf753c9 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/cloud_network_report/CloudNetworkReportMenu.js @@ -0,0 +1,8 @@ +const cloudNetworkReportMenu = { + description: "流量报表", + // type 0:目录 1:菜单 2:按钮 + type: "1", + icon: "Tickets", + name: "流量报表", +}; +export default cloudNetworkReportMenu; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/common.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/common.js new file mode 100644 index 00000000..4457466c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/common.js @@ -0,0 +1,140 @@ +/** + * @description:提交搜索 + * @param {*} + * @return {*} + */ +export const onSubmit = (params, getDataList) => { + params.size = 10; + params.current = 1; + getDataList(); +}; +/** + * @description:重置 + * @param {*} + * @return {*} + */ +export const resetForm = (queryForm, params, getDataList) => { + queryForm.resetFields(); + onSubmit(params, getDataList); +}; +/** + * @description:每页条数事件 + * @param {*} + * @return {*} + */ +export const handleSizeChange = (val, params, getDataList) => { + params.current = 1; + params.size = val; + getDataList(); +}; +/** + * @description:改变页数事件 + * @param {*} + * @return {*} + */ +export const handleCurrentChange = (val, params, getDataList) => { + params.current = val; + getDataList(); +}; + +/** + * @description: 获取按钮跳转菜单的路径 + * @param {btnName} 跳转按钮的key值 + * @param {toPathUrl} 需要跳转到的菜单的路径 该路径为pages下的文件子路径 + * @param {pathId} 当前页面的路由id + * @param {menuList} 所有注册过的路由列表 + * @param {proxy} vue实例 + * @return {name} 跳转路由的name值 + */ +export const findName = (btnName, toPathUrl, pathId, menuList, proxy) => { + let toId = ""; + let _item = XE.findTree(menuList, (item) => item.id == pathId); + if ( + _item && + _item.item && + _item.item.children && + _item.item.children.length > 0 + ) { + let btn = _item.item.children.find((item) => item.menu == btnName); + + btn && (toId = btn.toPath); + } + if (toId != "") { + let _toItem = XE.findTree(menuList, (item) => item.id == toId); + if (_toItem && _toItem.item) { + if (_toItem.item.iframe == 0) { + if (_toItem.item.url == toPathUrl) { + return `${toPathUrl.replace(/\//g, "-")}-${toId}`; + } + } else { + return `i-${toId}`; + } + } + } + proxy.$message({ + type: "error", + message: "无法跳转,请联系系统管理员!", + }); +}; + +/** + * @description:根据权限动态添加路由 + * @param {title} 标题名称 + * @param {path} 组件路径 pages下的组件路径 + * @param {name} 按钮key值 + * @param {{ router, route }} 路由对象 + * @return {_route.name} 返回注册后的name值 + */ +export const getAsyncRouteName = async ( + title, + path, + name, + { router, route }, +) => { + const FunctionPage = require("@/components/FunctionPage.vue").default; + const AsyncComponent = require("@/views/pages/" + path + ".vue").default; + // const { defineAsyncComponent } = require("vue"); + // const AsyncComponent = defineAsyncComponent(() => + // import("@/views/pages/" + path + ".vue") + // ); + // import { defineAsyncComponent } from "vue"; + // import FunctionPage from "@/components/FunctionPage"; + + const app = { + components: { + FunctionPage, + AsyncComponent, + }, + data: () => ({ + rName: null, + }), + methods: { + reload(e) { + return (e.returnValue = ""); + }, + }, + mounted() { + this.rName = this.$route.name; + window.addEventListener("beforeunload", this.reload); + }, + beforeUnmount() { + window.removeEventListener("beforeunload", this.reload); + this.$router.removeRoute(this.rName); + }, + render() { + return ( + + + + ); + }, + }; + const _route = { + name: route.name + "/" + name, + path: route.name + "/" + name, + + component: app, + }; + await router.addRoute("AppMain", _route); + return _route.name; +}; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/Dictionary.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/Dictionary.vue new file mode 100644 index 00000000..96a4e65c --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/Dictionary.vue @@ -0,0 +1,394 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/DynamicIframe.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/DynamicIframe.vue new file mode 100644 index 00000000..73e22675 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/DynamicIframe.vue @@ -0,0 +1,183 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/Menus.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/Menus.vue new file mode 100644 index 00000000..8268f3b7 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/Menus.vue @@ -0,0 +1,447 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/RequestLog.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/RequestLog.vue new file mode 100644 index 00000000..3a634a67 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/RequestLog.vue @@ -0,0 +1,162 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/Translate.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/Translate.vue new file mode 100644 index 00000000..638ae655 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/Translate.vue @@ -0,0 +1,79 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/DictionaryDataEdit.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/DictionaryDataEdit.vue new file mode 100644 index 00000000..050d619e --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/DictionaryDataEdit.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/DictionaryEdit.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/DictionaryEdit.vue new file mode 100644 index 00000000..355c2b00 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/DictionaryEdit.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/MenuEdit.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/MenuEdit.vue new file mode 100644 index 00000000..10a4972f --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/MenuEdit.vue @@ -0,0 +1,606 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/menu.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/menu.js new file mode 100644 index 00000000..a5212b27 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/settings/components/menu.js @@ -0,0 +1,8 @@ +const menu = { + description: "系统设置", + // type 0:目录 1:菜单 2:按钮 + type: "1", + icon: "Settings", + name: "系统设置", +}; +export default menu; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/Roles.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/Roles.vue new file mode 100644 index 00000000..2d03f16b --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/Roles.vue @@ -0,0 +1,246 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/Users.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/Users.vue new file mode 100644 index 00000000..57316624 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/Users.vue @@ -0,0 +1,346 @@ + + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/RoleEdit.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/RoleEdit.vue new file mode 100644 index 00000000..31eaf29d --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/RoleEdit.vue @@ -0,0 +1,290 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/UsersEdit.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/UsersEdit.vue new file mode 100644 index 00000000..6eba8247 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/UsersEdit.vue @@ -0,0 +1,186 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/UsersEditRoute.vue b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/UsersEditRoute.vue new file mode 100644 index 00000000..f95148cd --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/UsersEditRoute.vue @@ -0,0 +1,189 @@ + + + + + diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/menu.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/menu.js new file mode 100644 index 00000000..86f37e29 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/src/views/pages/system/components/menu.js @@ -0,0 +1,8 @@ +const menu = { + description: "系统管理", + // type 0:目录 1:菜单 2:按钮 + type: "1", + icon: "Tools", + name: "系统管理", +}; +export default menu; diff --git a/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/vue.config.js b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/vue.config.js new file mode 100644 index 00000000..ec21c416 --- /dev/null +++ b/wu-smart-agent-network-heartbeat-ui/wu-smart-agent-network-heartbeat-server-ui/vue.config.js @@ -0,0 +1,138 @@ +const config = require("./src/config"); +const webpack = require("webpack"); +const TerserPlugin = require("terser-webpack-plugin"); +const CompressionWebpackPlugin = require("compression-webpack-plugin"); +let scssVariables = require("./src/styles/variables.scss.js"); + +module.exports = { + publicPath: "", + productionSourceMap: false, + + devServer: { + port: "28080", // 请求地址的端口号,在本项目是8080 + proxy: { + "/wu-smart-agent-network/": { + // 'demo'是请求地址中,以demo开头都适用这个 + // target: "http://47.92.27.215:520/", // 真实的服务器地址 + target: "http://127.0.0.1:6001", // 真实的服务器地址 + changeOrigin: true, // + secure: false, // 默认情况下,不接受运行在 HTTPS 上,且使用了无效证书的后端服务器。如果你想要接受设为false + ws: false, // 是否启用websockets + // 是否重写 + pathRewrite: { + "^/wu-smart-agent-network": "/", + }, + }, + "/": { + // 'demo'是请求地址中,以demo开头都适用这个 + target: "http://127.0.0.1:6001", // 真实的服务器地址 + // target: "http://124.222.48.62:30576", // 真实的服务器地址 + changeOrigin: true, // + secure: false, // 默认情况下,不接受运行在 HTTPS 上,且使用了无效证书的后端服务器。如果你想要接受设为false + ws: false, // 是否启用websockets + // 是否重写 + pathRewrite: { + "^/demo": "/demo", + }, + }, + }, + // setupMiddlewares: (middlewares, devServer) => { + // if (config.dev_mock) { + // const mock_server = require("./src/api/mock-server.js"); + // mock_server(devServer.app); + // } + // return middlewares; + // }, + }, + + chainWebpack: (config) => { + config.plugin("provide").use(webpack.ProvidePlugin, [ + { + XE: "xe-utils", + }, + ]); + config.plugin("define").use(webpack.DefinePlugin, [ + { + VE_ENV: { + MODE: JSON.stringify(process.env.NODE_ENV), + }, + }, + ]); + config.plugins.delete("prefetch"); + // config.plugins.delete("preload"); + // config.optimization.delete("splitChunks"); + }, + + configureWebpack: () => { + let baseConfig = {}; + let envConfig = {}; + if (process.env.NODE_ENV === "production") { + // 为生产环境修改配置... + envConfig = { + optimization: { + splitChunks: { + chunks: "all", + // enforceSizeThreshold: 20000, + cacheGroups: { + echarts: { + name: "chunk-echarts", + priority: 20, + test: /[\\/]node_modules[\\/]_?echarts(.*)/, + }, + elementPlus: { + name: "chunk-elementPlus", + priority: 20, + test: /[\\/]node_modules[\\/]_?element-plus(.*)/, + }, + elementPlusIcon: { + name: "chunk-elementPlusIcon", + priority: 20, + test: /[\\/]node_modules[\\/]_?@element-plus[\\/]icons(.*)/, + }, + mockjs: { + name: "chunk-mockjs", + priority: 20, + test: /[\\/]node_modules[\\/]_?mockjs(.*)/, + }, + }, + }, + }, + externals: { + // lodash: "_" + }, + plugins: [ + new TerserPlugin({ + terserOptions: { + compress: { + drop_console: false, + drop_debugger: true, + }, + }, + }), + new CompressionWebpackPlugin({ + filename: "[path][base].gz", + algorithm: "gzip", + // test: /\.js$|\.html$|\.json$|\.css/, + test: /\.js$|\.json$|\.css/, + threshold: 10240, // 只有大小大于该值的资源会被处理 + minRatio: 0.8, // 只有压缩率小于这个值的资源才会被处理 + // deleteOriginalAssets: true // 删除原文件 + }), + ], + }; + } + return Object.assign(baseConfig, envConfig); + }, + + css: { + loaderOptions: { + scss: { + // 注意:在 sass-loader v8 中,这个选项名是 "prependData" + // additionalData: `@import "~@/styles/imports.scss";` + additionalData: Object.keys(scssVariables) + .map((k) => `$${k.replace("_", "-")}: ${scssVariables[k]};`) + .join("\n"), + }, + }, + }, +};

    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%0AjGASZw{95ykQQ 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Ɨl;GHqM19gmy61mg@O`4>xqVgj{Y6ibw{cOEIA-2;06u){hULI^5n@uA z78dUN_}!)`TdEyO79^Ea*i`CD6xTdh=1NHp>Sg4_96uSWDD$fcbZUS4Gb9sn7TWRkazl<>e^QjWDA|so&JE+|vURNACOj zHVtcqIW5G6Bj_-q?(dhi6t{F?Qq<_F3uV-o;Z%tSWvJ@_ELi%~p9=dLu{4~aG_{X! zX%&zL2o9>K0p$)BlL`&~zU?#s7!ZO3YN7LFZ5(^p_wYCmJt{BJsRb6R<|=NOlOW26 z&a2ZBfbg1@KDcPon~^?0{hw|pVpBu4`D|T|9_{F|Z^T_)m>q(0Zy2Ecd|Quz7*{cF-za%&HIu-X zUYLiOg|}hbiBZ5dvfB-&g=djnI{Y54gv=#Qyk}BWO%j0Cd`6efH}Nt{HaX8R+G}CM z^FuXgNiL}A?siU&<_KMD#290TFu(&AMxGuM;!de8mkXA;fY&u3ui3DE9#KGe=>kAt z^8=ZIH%|c*AQbWDbN1z;XWb7AF}F}}n7%3nF3ge>sld$0g$N|0ZO@#??6CjA-e+&@-21B(DGoi_u_ADv< zds>b0w*pYsh86OU$C|`ERvra1YP9Hgd!5|T@wSR$Cfs?yZ){V>`glp{db4!wJB*`at&HXNqo+(y^rER* z^wdHy-klp6JOr_LB3yl`+80<=YJU1BIJHs7@*`ihLd{HjdYQ(fUPS9S?zTv~Jd zzV<@uZ+n#0sPts@9q&T%h|V<)j~3ipFtxY|8nO81y>N~jQ$Q@>gf9s^@C`T4_gY_~Z)fr7m#nA^CQMvTM4OQywY)SKQhETymr+f#UwoY6?TRm7Q_wD#OGtchgP7zbjH2P)5541;i z@xJ{Ug|;YLU=9}8s4rgdf%K#8`ic(JgikzHn34hkgnhw%^rstW!qMJ87?|ADaV>Sj zu+aTn6Jqc01lWpBkF(9(Fa;caZovHWe3t62K8%%5bJ9caIQB4%i)0(nqYFbAIL1$R ze;Lz}-=lzi+M`z(UE=JfZ}-oN?}W`mPcT{U%!USLi9Yoo7_y}~y`T@cunnoWUqISZ zO_A{H=+Tx2AZN&`siB$|4|vv()YZjtO{<`^ZeCW$y(Q>2=Dv5rf0A->T3-Amj4!x& z?NF+O%R}9XSnVS`V2)7(f(Xqq!F{1m0-ID0*({KH<>7w+S!*}^Y#pbxTn1>>l3;ku z!*$fPnSeH}!f?xnR-W?y1><+11r{{ziS$(A9tx2-NJi{78`4tyg*ox10pV;IdGY1T z_d@T>)2ijA@J|jdep{P->oiCo331)zq=dVx6+f|(pOzDl_}JvElO1O&(?HPZMM(eM zxEEw}ymkN2@O=T`EO;W(r29fb-M>KNR(<0$*QT4gH3-ps(NxxhRPZ3Sg`>9B3>kg9 zaOiV2C&3jwWUz|Iz6$DDiauvOB1HeJ-b(efbh)dbVl*-H5m2zheONKV7S5?@8c z7I5sJBs6PkMDrjUL)(9w$5xlU%(Dfc4kz}-|3zZpl?56O6r=f3=gu_k`NrRQDHlX* zYItd3d40i2jMnlZyy*c9%a4$x<~0SQW+|Ov0h*S}t5m@6tP*mrG4Ud0rK<45ri)Kw zU%Nwi&*A8BbKKY?mHy@rD&5fSwe*1STE|hF8Lyk=P7M|qhQ*v%fWw6SIfaF@1=9J7 zyLZmFCTTd8#kKTlT1_7O@x3XnnnRi@r)|}nnfU1It9e+=hdaE*5@I_cATI4}6o#4k z0`VPG=QWA8cOdFMy!uI(-XgR@t29BA4q*8mg9Gj5I{`3z|59$kplJ)DY_l96QCK8$ z0VZDdw%99oob_cB<3R$N@x_`pia)*q7RfEmhm;$Y#SyS0yXLH$k0rtKUt> zbk?0?$As5Xo#`2cUlqqUUn>l_b0T-A&0pzW@(>s=%Z#r?r$SC%&0KFIWX3jvH{vQj z(UV-9{_yFmi(oU8*x8Pc;{9~qmJMt4KSQDSzD zhCE(|);-j9cKH+YVkuDF*FhE)>|T;J5njmlFb*D73EnVNH{S`qsmTl2o??R@G(%TW z0xhQpg%6Ot3>E{iue}7>2YV~Jv=J8vf9@@NDH-Ys=OjwR2Lp~8ZqtUe@wHjdoBHG`cscW*| z5*zaS?yPjyK~w=u!g+8ddc+Tj(wA~VE*CsE&`@w^FFg_CKT^Ka9oqGRe+BWq2(f&c zsaHw zcOtG=E1}}b(YPwXIO&zJ*{e{tLeVeabQt)AgV%r`@4>mjEB@5(lY|Ywk{JY6rECVc zC#7~Z)>TIAFhUSaE?;svPfV&)iMob5;7h{l^gni-Gx>Km8AwYGm%a|hclN5y zUv%N6Jq_4k&X8s|2pm_u&)IPdB@J?G=gcWjJ`ETIk>`WcQA(}m2 zORK{O63sS0U(XF$LN8w0)Kcd}=Z#Y|K*1+c*EYH?Jq2$bSHHW%Ks;>Z-_dr#JqXu$ zT+gnL!CwP#{}JqDDRKTbv^MAcj~gu#7vhBc9{*QFLnU^sJQN|k#DL{z3n#gm(h*nD z>1(h22W$nw8y0@hcSKS%VT1h7Bp6IKh##h#>>zUD00AJ-6s1d!^W!!NL14SPqdc6} zq>2TgwAh!LWmH0(EgQ4;{bRVw&;xokb3l5?t9^_HJ-Lp&M34oA70|Ra1zd3n7jB<{ zhSg|PaIPfp^Xqtlk(36>k3T4x0$qFe5oxHIn>cLWeYYnCQdy0p@gS#Z)E;NB5fvZO z{9JILG12zBanR4yrO583WuV@}bl%zML@Irm-{doQR?+3ncg;>k*8IGtJAM-Rew^Nb zd39$zob_48gg=D$4XN?7S}R9C7%vFap~c9M+Xd*!+z^BxM!Fgt7M!-{sUFpSlzpf9 zD-1TiDBTTi2jknB@z3{Crakj3)8PjQcQ4@(FwUw-zDBXqI(K-ps& zHn$Co0Bzcnuk=D!7x*tLxRnPnYP#HKfyX5#i=Bxh!^b?Q$dH-x#Aa21q%@gXiq8D8 zQ+#`2q%r|kEi7Nei~YA&(dBE^>7zwGAn#%I${QBRx~w}{C7^tz>cS6d@%x1ga0Z;h zZFRkJ=W(AzpkN-P?=woRhsA78U{Bp?F%?yfzs~lkX=mpk;5$yOmCpU;284Bi6|Fpk zC*{H50HPrTw*|yI#Z>EuseG@pzYUZaKm~2k?vll}%og zUPbY(&)F!@wFq=0{D~`BPE7cJ4 z_HW?8ywyFVieqFSDwal+$ur;6AdqzI#qtZVmzxv@ic)eOnyEWa$G#`##@f+G8v(qe zedFi=RrPpwK~uo-k^5uERyi;D4GzfCf)aapui4(IFqoV#^kDf%Fc>8;{b?|dgE*AA zdZEx)_?LAS1P32IuDcSJ66@ss$bj!r5|(}-ANI`~Qg{bXDW|YHNGqZMF-3T$seG}5 z+8B2Io_}Fl)M6vO`@gsT{r60)75ezYI*V;IX0J5!H7bvK#>h+KQ`MlCxqx7yx-KY! z^;bRU^iD_v4Rz)7-7V8!wV>0XqM_NeZ-N3J09TOBCN_LT&Mgo%ML5Z?#a;M%*nTLU z{Q~fhNnDJ99#fF(;fSy{m zM{=@i;FnE2IZa*U79vKMer>O}PK79h$jSF+A`8J@EqhUvG?C|*3JbpWTRER!boSLr z&X?I)xerXqZVgv*E*TrPeap~supF)Yu*d_!NnqQ=V^hev8%Kb7$dDHM9mA|(KV2VD zOC$EaOtFbw*W+?PDzaU<+{RwbfvPzQzq;s=YZ1Q8stw=Z5H!PC&h7aw z_NRM|-mQlK=lIg~Dw+bsO-wJ3&JWfO&9jC78@_^! zUJ^ws9K z(|;k=tS3}M|~GJN}0)bXz@U)T45wuAM><|{w)Tq@6dmgI?Te^dI+tIc;JZ(A8B@2rTH z;jke&S`xZdO0Rz2>X{VtKN=7rgl}3!(?%U}2~QPt|8lyVY!W4ey(gsj%4tZeCG~N3 zx$-bU2VX}aw7=r)V^SF;L@utuf4c%Bm3{%x;zfEtV@a@opiHX}%2lA)9&wie$gY$f z<^i@CDz#J`|RGsgIL#UuM0s-$!RP#0J_x=j=`T7~PEL_ff*;=g8VjWD_E*q!| zv2gZg+tyhQ6!s@XMC0YCzBE!x?b{7^fGr=%AMgEV_ufgNdeby@?-lUAULQVprp4rf z_NRs0wlLG92~;3`2w3wYD{uE39eoms8i)R6h*w z^-|qx(i<|i2JG|WRN$6cR1z6GrmHELno@Q$0<_Tas`$sr17c__MX zJ<;vByx`k$i(N8!NINae`Q!>}UYt}U(xh?Fp&GUD_yd0?egCcBgl6xTKFXZKp-+6S zW}FOjLnvyf_}}oCYb~=<0@OQG0vuCwPoT7L|$w0rS(QAuQ8C#kLuc9AwetLdD*8nBcW60%<|p6ub*oOJQufoZbxy?huiei9omMuBU%#42Ik?DJ{Ck~7#3y>{4jIzCUR+5H}+dbf_mo1 zr2QWe2=k$y--|i3AKPf^WmB*sR?%Ib+H~~T@dsP0)$;zl<_BQ>QbAa9-08;^=;{UN zo1y;t|G?zU_&tHik!9#Y(dcH7pD=Ovul8qanp0sNR604)jDjb%^QI-9T+(>bd?G<@ ziMW!PF#r7L(Fs+-PdZ^yEkH&$_4m(-+Pm5;F4^u6T~InK&^Nfr?=d_f#K!yNgrz5G zF--~pqgmZYg9A5jZw_=3~b_L*)x?UWyOs-(BS3##olB2-ddG)Z$u6tQZ@rcE*%-pUZM!2N|O8Qh{cj< zE2r=Od)Qp)-~fT-bW9?E4oa~Cg{5?h2NM!}s1I7V1MhI4G(ch6LRiL?+Y67OqR7Hj z{>Kc|H=i5*j@v7MZ1pg=cWl@`AzD{3h57Yl z@ri8*+k&+XLMv_gea9QB^l;4=$J+uDjjQHjgJ@FSW*D{hg3)ntG!cdoRVs@-gggBkvf=oT}DMPn|8# zWF>E_w@V0AX1y!l`LwjWdIpX7aP@z4s(uZL2+dPX6@FX*;-h$;CB+?mg4&Y7&bI|P zZA}(jAH9Jq*3@v%CRJ~5@MNph3>E6M|Bhl_lTw#G- z?~gtnJ@pejJH*%@5q!xbN9B4e`rH1jJ8N+(zef}`>%m52H7EL4fZ?7owN20DqY}EA z5~88i9r2hK4ES8k0ogi0j;s^XQ#JPc<)!;wZSHMJO(l+iHfF>P&?h&PZnquhU0%;O zfN^lGdc7-O=Um^1!nglIEk}=)J+yU##WK{SGqi^A4gdSIE0s_huYmnUm>=nWo1OXp zL`bUVg|Ukq=FS|RqH%IhdZ&qh!kpboGncZ z&2Muy7BJ|A_*xXUK9Z$Ic<%-FIe!;!p5enBJZ=4vqy1$@dPcXr%&BvswEa7PO3E@v zPnB*R(4Gd)%$%Lmwp=EJz26MKgx-D+_&GAR5bt@d&JivEElPkTJ8;)OAOy$yJ~QK- zVj@4g3~W%}ke!sj-wA7nl;<7~d8H1KZG)MX)C{Tr-*Zfm!(!yCQ-yCn&~HH$sh~9m zmQ%ea0$|DHXP?qD%icQi;5Yt46M)-RjAE90jh24njnFKJFTdz_%W?4L+#LO{ zxsxI2>4YKC3@D^4RXxzcvp_%vFgX;1I_7I)02sYwc(Dtk+^d{j70bA>Q&$jGnx3o& zM()f)Z57bztVv_Np5XDekHx$PuV&0*$+53k+dO~uaTFAVyMaqm$%EbhS%Jx^+Q9EA zHem2Vfad=Fe33$eLkywdPqx6r81{v7m+oab4Si{ApX~4HF}mQ1k)glz`McVsY_to3 z%|d{qQRE|F9?aEmha3%Zej6%muDApPMJoM-I2-+PTJIQVBtKwyIHSxi0Q*+ER&O^u z{SBurEexwm$D*R$F0cLN&85447a@&Nr`;te#~22zxm|rrlyEp&OqO}$rvb7%jMrwkBg{-UqAm$ z-lZj1Va9E~|Kp3aWCNy?!R?Tm;B<8ce6%>SFd~^QGHcbV=LM9ANSLz({0S{DwfHjH z>TA$X3&xUL^+TI*&N1QS`W51YD|_5k^iCpR5vhU}Nx&_Gg?8wxy6WQv|3!}An)nM7 z9L0uqZ(e7z0%NV>9=zpS^RNQ1CzHz0hW3Vo-{6~f#M5}N@jd_?M|)cFyaS?XH3GD# zh0R6o{mmh_qdNhma`Jb-foR4rr_%GZr;1j622!6?V;&PnE&2{(-ZWiOq@DSvSEd&& zf_=du6sOA#W4-rS_~xUs?oc-l7i~P9jbZIp#Ovg=DBTEklp$xA1k)#NALc<#wk`sH z4*iIp2{P63^|n%+pJpicClBt10FgIK1#Om!=OVJ`&bbHN9f|0P4aw9mZnU-f$-6K=Sr^*Kc-exoVaPkzI~Ul`axhun#VUeRXIL$oH{s4(!m z*20TQpmZg4EjIP3t5L4vrLfhZoLjNutCxVwew4~%l-B{|J!Xjk)Ab0iC*+zhFJ#1?hLuk{&)Jg656 zM)?d>2svDPqzafEEBLQK_Ox`^AU?TT@mIC26 z{x0~?HHG=199*h%5c3M&z-C$)cUgfSyMXtJMm2X=a|X5Fh`gv^#_o5@NqJQ;)7vIi z;wZho_@bry@C&5TxLF4c%)lBu7n^hj>zNzrnss^bVcDL5M`7dTRXz8&XM_LSythua z6U$x%rk#m@R`awv^6{**a|gF^0xq~ZcP57|=mI+a<%Z=47)Z+kTTd<7DMM;fSGCi( zkq5BPYFxKi15n*h4O;H%`sDqXr-QKrCgm49=m5kfw4(JPk*Id34_90{gsC^j9FKcm zM{7tI6v4^8Lcpy$!V&Jw&;tK;zmy=(voT`u>LgSF>quQV_z*gf`Dc<|x115Z2 zn{pLIL?1a#2WuV94-P2Qr%YW%lb-rS$Z?o2xi|mDmG8QZgGfpXf!D{G+yEo8n-ll$ z2El+-V@Tn+jW~>D-;}5^%I&RuQ>;qx57 z_Dz4}CmZ-&YH0mvf=v9ldV-0*GxAzub~+5463)Gnp%web+JmlT=MnUxbve%SE2Q(u zb)KQ+O6G%ziXReD$JdfjJ5vh)(5TO25M z{-=%f{Mh6fEB~>`p@7d|Ka5&nn zL)Ba&tx32nIMZq#h^iZlo<{wrDxA2!Osa*x+%=o*cUzfpO!-SN_S>(J zx_HEmnstV=eh()ZI%i)VOeSTn|K>*O@!Gy{oW}95FT!^x6$Pv!*OyhOC#PNEjNN{W zJ|~vOr8{>JRypoWWR`9&!sw)Q)3X(+*FFz*Z&&RYlW{u|&nEQ z#XQr|$Qw@pyW&Ac*ZJ!;T*gb;-~wOra+w!$0do9T@3}FK>VK~RQiUr zI^TUk?I7Peg{yw+RA&dU>ML{Xyi6AT?Cv{HT=zuC&FsJ(E7o~qgtqM-xW;RET| z%|NWNEP9?q-_AgL3K%sBc|&WfEZ|GzO~g9v4fW?$2sB;1US7R z&IXN1_=gaYJafL0q8YcK2_UxmnJKVDNnj-rIq@uEw|b76j6$4XuUc_~enoOz4Ceg! z^Vp5Z&?EIRM!1oNT4vO{ir?R4E{y;Dfyf;<=x+>tqot5mSfs6{WN10ckHZr7#>l$8 zp+y!Cg%M~$mBaz0--==e52`C|Th?apTq#&&*CzA%`MIg+CoYq`oZ-8JC6_$#?I!*= zMDKC)@Vu95r+g6pfDTu&euRUNPe{EgNA|9=U{l-bfeDMzw-H})aX@Wd*?E? z@?_5}I1gce_RP5BK?@a8Q*V>yCV;LGr;eST<#P`oFTfW$h=gZtV*=PV<(9?^Ml=zwdoM+4c`|GOeR8f~etS`%rbt3>O`&H*^X;$Su--+}jxVy!C$h+oudIJOnHH z0G&dM)evdQix^_u!HfOwW=1j+%{M5)pB~_y6|6EI8B-0|TL4{%_gkkMMs#7xulzU1 z*wF`@U-D|Is_8J0mIkuUY;h^A&g_K6jX=t^&rJORYG3#$KWrqef=!uPQz*(13K{bA zNSF~#hdn{3*_yE54f#XU5<1cJHgHKXMt(}@Ym84xj1NQTpOfOL(2awBv+jfb6Ck@a zEYzg2XCay7A>)M1lU{$8Eg)%`*#@yU#{_04?z;ZIfIEv3HtkyX5{6H(Mr1JskUWPW zGfFyuc2@SyfK*dnq~7LqjBuVTB#VTGX@tP?kfcz&0W*O$K$ks|yF0HO z?^F^Vi{dEUx+a>jDf5E_=fcB}7^sEZXeMTi23SMo zgR8E7gp%s~N0&f+gclYLaGy0h17+_+)&D+B79Y4rOZubE5YT@Vs!x4^uzFHU;?5@y z>~kL3sc)~2EIn9;`~$U3T(ze?z3k_5r0bPZkSMVizw_BmU4N<4w)&?!;b96kg-3lI zn!;r>?Rl7CzWyV?eBCF=%@U+&rQKeu$jh&j+7-nt z=JjWY=(SHf4hzr-9<9V$9dmQKFmgbI;rTGZm^k!b|Iy8!CdL;VvQ+o82G4JA7ukJ` ztoqrgI4T$LF&Mpy*h}vFZAniqb}k}kfWk}%O`uX4&hG@oU~fcTRTj9AXBD9)S6;zQ zH$udYZy-!XUrTqm2wHIsS}FbFa_$A+VAL#z?u3k2Ze)*(3~W$-ju}PzeRa_D61ygn z|Nh;{IW8KEKab0gbARGGp?l5iT|#5=s6N}F z_cjFZESK!jrES|b|0dg-n@uSiuuI;>-XNINXkgmZEE|z0?+R@pJyVguq>T}d>FQ8SJ2)a!LCEnI_mWbqc7Qxu+t0p;$ zINN+|BHbDbwQZX6?ypz(O$0n6=N`u|@j4NWZk$-bixC-+~ zt3qfSM2~aS^q7FN;XRr2WeH8mx=~6(yw;&)s$iIQYkN;9V|$dmj%s=F%j3HqjF^JG zj2_DJvqec_qN=;=3POy0c6`fnXLvx7+9DkY=Exq3Mx<`4MGl-V+ zQN306&gK;C&(=K*CEAE^+DV5jEUsjt$G6c60+7}3PT=s0L8Y>XeEA^voEK@^`CtEx z3Oi?r3c9s{^)ez@>}IeeBG_E=b@>BGV?Pi5mSAT?_z>i!_5cKTa%I|)$pkZZJ)30H ziMZm+JfJ?4)hLT(GL6u<^@p#zqbGDCY@=oUSw^_O6aTw<&%8}_N}~*7l)QjL!26qn zfxT$(T-@>xhLgW>-Yw@PkVeNR$&MluB9!0p8^*Mlw}G3kx`kLV^=Lt4R&2eb>}(aT zz|nb!9Y6h#w!NYCi`6p(+)Xtai?6ZmC64eCQeQQnwekNwS4HzLuH7AoHq!$l?b17+ zw|4Sj-DpQgl@_N+-~J$UF4+mTxj>8L0&BKR^fNzG`wzxOW=!2b+m}Yu+JB1X-yHB5 z8zIa>yL>E>K9;qMX75pUZwQayC|cUR+l;@?y>u~UVt;o$nBibh*htewr@A#QC8$$r z+#)@=`kpog(Klm06I=b>C%4FR2otv%R+Cz7(0*@RAmH4h=ScJh8@|l6rDFjD&7?~F zFfz5UZrOL_vYz3KkO+AH@ns%8yKlNauvI{Y zq%zI+nX4MRF!3~0i%w@whhIqvTk+<~0r5y0S$MZoTB5_i6 z>0=08=gREocn%dh*b^Kl8n^O%2C9uUlSaBPGXzUfo4)OSP+>WRM?d0Atch1^NA zS-#U(*)Yau4vC)Eb%f}S_j8PLB&WVW{rvB3YFLD`a8hnuoednk@dez_oQ=;;G<}o~ zKC+bn6VmvzFQvV6NXyCQ%1I#q@_Kq{n#8=!VzBP&FrxkSYg&@s6uhp0=nGzxBqr5e zmt%6=xY3;tTUs5LJ*lgEmJ3KMN8A@=nHiEvrA-{2xz;}zc{ex*Z69!qhraB9O5u~q zDkw?yyjspg9eQ$q^U-06Cevxpe0&u3`?a^y$@5u7ef9L^LP>ttJrZd0$D$VMSfz_U z4sy58wsRXJSa{H`mywDcG)&Buo&?+bKaD67kd{kvCn@_gK% zh={>`F|5WR!`&MhM z=(DX#kv6lTE;gsr8dE%KA{zZPkwqSq|e!r!a9XMSH zXp6S_8%et#Q&}u7FW;l<(V#u`_y*GK{rBh}s5n(8p40?|QaJjtIPCX$?FEzJ0rx;c z_J`Cw8HOf1Us@k2+_-mGhf~URNiH>jR!XS(@O{tlN!gfv2Jiaw>r{7wy%IecpEGXn z(|>&T-&_@O(|Ct85i#B!m2}n&6wYeEu@=a3;sg|e{Pg4+>#+UCS;y$tchO7cSKd_C z_3p(QTZ}H5^QFj|0(u?7jo4-n4zmx7+=wjea;&o&5(UZn0d9#Ual@~mH!1yfQjvA_ zmuMr4f?om!L``icv3Hx1A0t3!Hnk2yWL^EW4jsq@@92e}E+yFNjR0+G4A@w2(* zIECNGYtoJfA46JD95b;|-v}%(fos^QdSHpa6(ZW7+bn6ZcO4a3R~{8Ch$DnP33gZn z$V6TYEe<2ZjHeF_)`GsM?>BUpC4BfUDc|~N zbjA+sbVwr46{<%OuV5*PVZJ7P;i~1d~SOs?J@ZeM+_ z#NQfuS(mfiSY@Z!(D*eT=KT_k&z#~6ez|ZK)crxpVuwQ%SGuz!D7U?N|5CUX<1gY) z#2Gc^V(jd6wRi)kx>}>{1Y8JT$&8f!T*XgVCmwt=O4en6K|7Wnf2h}}5ykxY ze2`L6Rj`JZ)o*E?N(gEQYdi*@z@IHoZ|u9%frn1D>ucrUSIA$N6>s0F zL4Oh#QV|i}-#N#T;(w+bnXj$CQ~Yy+gmbiezqZ+yk)QPgSXTuSr*6w*UE-KjdY2F@;ahJWjIpS-fBtU7a<-0l^YQue}!7T;+yI(wX z?HcXUz8K!0{?@h7mZ5W7YiS{aXL3CRMD#84DR_Spex`RZKo(WViti{ij&?#BxFZB) zN*vYRrJL9MCK9O!<2=)qEqUPas$*ctcBfqqJpx9Ln50gitSE}(Q+F^3{xxO&#@iUy zApI6z{IintdB{v!wZ(W9gdz^3Z8vKldvt-oPS>JWk`>$haVK=$Ef!E1#QGSuIBj2D z>iN;bW%nT2xZjHO+ma7ANY`@FPbX`jaeukmYCI5;7mFg8FNOldV#_k(N%kg$w}cA~ z1mXJ3J6-_byG}=4^n7zU7ux-kqnrYq!bE0e!#jlZX1yNxwLeqc!R8{=N5-tImmYn}XMVcx3Q!>Asdoo)-f>*$YG! zUkIfLKqHQ0Xind|R@`k0y&k2S^49rwC$y&LIDSgKaJUMvQH}CZ`lL^L`V}sNlB~M@ z$z7?T6lD+TWI%}2u?sA~{W6?_<(`1e1nC3jZ&UvTEH!`(57$5xuAl_6_{%6U+73kz z+LSxI%hpigL$zPMxqow-a!d08GF!n8(pk5GpgF~~NFgWoVi?If^frvthG)-@0@pSE zb#ajmakX_8S5Eh}xXQo%kR)C~*Q^WuoVFzSHF*lZ)m-O;I4^}U(w>SEBmDDKPNpFE(Q1HuOuD^aN?>&7Y>#-%?-KS5LFG+pLz- z*^5ZKF2fNK-1+Y|mF`1RV#%YNFTfile-#<44`9te6)_eyEEu;(7{77*Xgi)&1Yw>G zm;dN*X~>1beBYCuVLjI^l&cBScjBQsZtJQ^C*I3*85kkC z(_qH#v>0_V`HAe45!Bg=mi4~`4O*S+v1fOg@it?ifLF(XR2{4<6HjKmXNo#C)a!L1 z>RLv}Ni~Stzs-oYdY69(&~QinJ9Gw$>jm^u;2bwvNLxSn3gmoZwX`Ytw9FYP@?93e z`)3FQTM|skYG6TCWZt5y%Xl<=X_A){Mf&Uo3JVhQbr8FL+HrTPLR(i&=Vh%=WekH9 zvL+cUg|y#e2_2hodM&BBo%lM0om^ZbK&O$b%BOCJkno@WBm8L^;Q6}#1Rfen7 zm;O{M2mN5-MEVk}ZDKk;wS%Z0Z1|UOk4qSN? zik4-@tr@fKg$M6^Hn$rOUuO>{uA+3#*b69l*N#%kujpkGC4~d+I@aoD*fu7^T+;yf zf-Rj4P0EsQb=-Bf?L2fsl1iue@IcH6E}QhU&C@o)pAKKavv(g0sbF!*wT0CDje}cu zdOhMT_-M{kno>o;I#%LBW`g=d2g*D=Q1#CR<&;p4(-e6ZieYGNSDQA%F_x&JF%whm zY&jCse7P7Qy{?I7%QpVZ8Zoi`-h(#eG!u6U!UzMnYEuFK+J)T?lW6??Q!$wcd)57% z+&p2Rzmb4-!i3S$hyRurSOcOTQq=Sn=-@2qD$!_YhDyf}T}y6uo_}==QIBi*)Qizx z_=m{h!nq1EFPsmx7TO=I0l~2%69+0S{*qysZJ;0f1H%BhTe&_7VYd2V{GYQ_Ox1z{ zqvjyGX zxe>!AA}^7DKV85dB$_>|RYA*^CtpnlW}Brk)gqOdrisn<`_gzScYf-6MRN*V7QGf! z+jb$EO0U&DgN_gF(hJZ2i z-p`dJ|NaiX@*Wnyg$BW&mxlZ&8(0l5B{A#_c$@pj`$f%ma2VrHocQcw;*^d7yS*g4 zHxqkKWkDB#e{Ervc2dG#ah-~W(8;QDowTNHOoyI4T{z+72E@vAK+9r%rIO4U5xuL{ z)Q+UzbR79PsH)5h}*zLl2>e|LHL_6vD=$+cDGPgEDkxm&>H>WMurt7_3xqlkhB)d4C6 z{snQ4SJ1wp%mi}#aZm5iY^X-7WaJBB6)WnXhWR+{S*B|)`>)P#R-_Rn2Io0x^G2cc zJ%*Kk4)je=L`G`6u$OJ&246OkBP{?gw2j-A0LpC_Lk< z?z`Assy@XqDvBVnW}y1n$vq1yH07&Ky%k6H05q_7bf(^|SRO4RIC0%lIrH{s%Z-HI z!0@8adr7n7%NpF4zj{uc&)JEXe=0#88bSiO93767fyDQDyp zF4U|HCy5GD7nq9mNMuQwzHeTfl(O#emiS-UdmpPz-Pay+F!&eUxA$O4UsBnNH^vK@ ztVXeZn3aA7ZzWyG`RgZ0XG@=D25R#VBRV)tJC&Y#%RYl9Qb6oqYSPCHTB`qIcm5Lu z+}Qimw>Hd$fJMQSSm0KgDc1e)o-D)~5V1Nnpm164Gvg4aJPz}LyW82_Q}-y}E56oV zFpPeujMYV|1|#u%o4J9EmndQRgzu9@=+;RHxbd9%%abLTR;_Bj@iC zRAW>8JK{u#t(PXMb7>+KVlA086`liF+QIno3$K21n|CcOc_g6F6DTeW-x3eK z%VQmS|1#~(xU)wD@;^Z~oC={vDJfUqVhvv>lMhVG8+SqNA#mCYW$cVmM>>`}4)JP^ zGkw1X|=$88*Q(Nm^u%=p1!c@8ba4(dA(mlB=q^oW9p-RJ$noJwEovlnYRR& z{_VYL(^xuPsR3;>Y4dkFn=#{LG*zQk` zc@jISzWlZ%p58)|)&TuK3Rkwt6>vI-8y%yp=RBhgd6o4=r77<}KI!aD^_`LfZkI>z z7XitLg~jNU+XUZAvOheZf4%It2DUBo3ndIk{o7_}=5}-9aW$mcBjYoUg+%qwl-&6i zbW1})MMoMhdFT0zCIyaa2DUK#I8Aiv?&HZX54xG~O7VIm<)cKm{MvBo?F$6eun~!@ zPDg(qHM)i9w8O{00nft+$SkJ7%{!;2q(tBxtV-3nzBFn#QqDmQSF|5G+x6h=I{2%U zw?m&NQlqcO4h^I_e7=OTR<*x8!uX}0^eb|oF32-VZzlQzew{S7h6vEB34Le<3NWP$ zdw;{>o4h}zEQSc2=prSXd*6cXDvd$yF9Nh|BRc6`9u&~y$0x>%V|=`n%jtB^7%~~j zT_Fhpk-0=2X&9}J;$9#dAu7g_0BQ6QcE39g#$O;@z<0|mmJ*ZU?O!t3(VG?zN*~(d z3Iv`jQhtN>Uzis$k3B=qjJ+rNzVtC{=>)gvYD6zc5*wO+_hU8Z4sb=xBS5F1_3Yd7 z!i4~})75HeV-%QR+jT*o11Q3e=BIdh;3-`PNR43++;7W^V>{@#a?YMm90%*$%Y zb8P}(f^<%nU5`G#VSJveoWDD=lT+hDu{KGuN6AqPQ|))w5Lqo3u27S9G4mq1PBoJs zuQ^`+XIxQ2obJ1X@(@j=X%$pXI$H%j^J;jYOi=;t_RSO2Pm$Yk4@1nMf5D%#kCSjY~ilTwe$I6)=MJkDLUlS#r$j;Krk9|vE#1R z4M?Y*^~?Gj&yJa>|0HG?Tv8BmQ9le+Q-X%O(#qkr4Qn@{2zX3P6h)dYf9JR7k$;$Q z#Ek$te4(o`E!^ z0RSzs9qaXP8@bOw#&-6~hgs?7D1v|uOjhwtq;1v{Caid%t`D+AqP@?xMy}+Nmt3JR1)UXMxtL*_t$}{p2xfsj8znjWm{E2%y4ZPS9i4VM`CPcJuFCOZ^$> zcr)sG@G92CC`?ZG+fS^4{Pi?lU89%|)j|Co9xZ_WTdHN-nFSu2{6*=3yJU89HelyT zDfVJSpL=$TFPy~3==zAO&U>k6;=7d=MN_W7Wz7USr=|8tm^TBN2iSYOwniz=_@m6{ z`SCf)0X^ZbDgwgfb?yl9@9?kCX1lU?L7C`uXc#Vb$cIVFN$-ArT{dd<_)!i=vfXc> zB5l}}PzGsesSS*=v+{sgJOChwf&0Y}rjQ;#KmVXl%bN#vu(s_vcMU<>4`QT>gZy-F z6%KlRiqWm9%FP}9uQIp#R)UjWLJF7G{=pEP()*5n1xufv`ks3A7T|ofWdxLNEagEr z`ZsS>u52IbE8lR>$V(?QGX`|r&qE?cwQy_OtjE)8oBN7fAy>Ie?l5wUawT`7+$16Q zkYmgdxrr!do5+2ngUppXVVfg_ksO<3!dw%6pYQKK|7^Cg_xpKXXZ~Wx0mLd6btWN2 zARhEZQ#yyX-g3s4PZLfooF8q5a8aSq(umrtPhWO=H$KkW?aZL;U+o+P6I~wngYApE zP7H2zIWb{eh{-PK2Q%nTG&WbXxGn^1UiYl-!(UZ>!)MBUTN4e91Z51>oUH*;K%oM3j0vt(UT5|6ymQM?bhJjM?UlL>t45P9 zxG6wP=HD`Dyz%^+dppQUWEvDQPD-*2b#Q#nOu* zD$GnR4_1r34#cO2ezFnx^E=#Rhj)lQv_l322nlkLL%PaePWlhmL>Zu!qVe-fNRO2_ zb&v>Su2}-lHwMg+FvVX;L44>)>tbJI{6d1RtKY$OXvXU$Iw^J1-$BgKLCicec!j02m1RE$_0$(@4(NfVgUf{Pzj~FEZQo<$8HIX6NAj!O zf}DNj5)iy$4>YYS^Y{AugxuZsJdNg^9GrW^h4=QfS#f&(2KW3~HR@^)RiacW^P7-hCQ7FJe3Ej@vwWHr&WyDAFXp-|i zl`RGp2Tw`bPXhAm;jxY&nDgYd)@EwcySK8bPD!?<3}92R;@XqppzAR#X*~t9Xya?* z2>wGFSVV~Wy)j$`&57b8^x1RE0+hb~ACo7RuTpfz)@N4l@KU1q0mHsX_n zqbD(|4-q&e$mv^Hjiu|4Yd>TJ*G;;7BoK3hY}mk=K`#11lWBx!@VF-J-~&G%=sD7$ zPH#}R+AVl&zYcFm!o4tcvU#;+01dW}`m@CiY5f#U$Ed)BW3+!#4X8& zUD_7>)Yow+KGhs)1dq)>J&F8AV38v4GvaaJS#+Ppj|V@WJhVl8sKw3|v5qVLunB&h z8^DMeW!v3>pEk+ghM(pFss)pVY&DKHPJD~jn|JlX=q>0iW_+WO;qq0&BXrktR?nHd zgDgZ(BRq}fqAR_n4$kf=-X0+a8un}gaPwpvq2W0rrZ+DEfmyFpBjFD+&D(^Ze) zO~|J!h~|&5*io8?->WWpO)=kkGz#fyz1s1Jp?nNx6vYU0x+kC`dY|ilGh}7%st1?8 zr!oju{XwN*fYCEmMqv0wOnhgx%O!QS8u&T$^%-p%N9Ke%W}wYWYtV!kI)3!t4{@m@ z6Jr4=j)E*&1c~$E28-%ZNZ>*B2mgTNJl3A=5G0yMi@(_lf*Y$OUc^WG>Skt5%sw95 z%_A*Kk9+bkH}YsPEq|J1{T$}OqYM7XVXPq!*|18#lS2zOM5^v~5?ugCutN=eDxT6JlSwd@T@a z^s2BKP||g*Z~U2fV2%qzZ%pe>$79<*?N$V}x0hHefGzEmwr1Xmi^!Eqd{50;c%4%} zXtFiwv;^D`*28YEi=u&Myj{p^q$)mgFnobGE4V??KM=wDP`|aNQ|3AAete`ewbeE< z!uLQ!Q;`nZwiU3sHq;sxMP`HcIDUfAQrYM!qq=7E^}}<+j%xv%rf?S*JqDma&(B@` zCExFRkIyE*CCu_KO%2xHuOv?W>;4a{5jy~37=iJ8Z|+fk@s?w$KLb=SNAL2tvt@{e z=RBb3Yqf~dG&zVBUQ{@X47;MPh|lyQQ?tnXROay==idu>nGH!`j|-HiUtfrcSCG|^ zvI4Md0XwTZGW80vxd9BVpKi~Rx3tFTJfp?&W#;22Ai~GCHUp|$EP(Uq$ojl9z;J|0 zY=uN9;yVDux)|VtbC4=asqlb-maf6WW~6pOc}@TWQ2g1}nNNtzJ9#sY0P2ED%8TOz zM%kgN*f4b4d>;ME7}k`P*lw|5aN&u)p#1?I%R77#Iilx5>^zezOXz#z`}3~%iP zKMm;%YBzVC2s*x|f27m{RQMrOE-CVW5EB3#Q?VlsD@cZ_85VkxxqN6T6#N~K7Amn* zR?-aK`Tmjmy_6LX*i6h5bXO%`(xLefTafo)SJ2YilNqbTh+unS5*x;|^%+>Gjn-R7 z&g-@dch?@_R*ix`<;>deQ1kb?6H7+!&t|Xf$Y0uL=g93yQznM*6 zm4$G+KEJti1b$qc-8)84NxD{t*7F2u1=5Uw6;G@|uztan!S>9}?a-#;(~QN;+dNfU zZ}oO{l159A*Pk>NCui{U@6{y(5A`MOJhvhXh`G$l zL!Z^3Fs<10FEcqy1P^CSO(ML8fPh=f2JAxd+n4b;PeCG3-=(|!Pa1{_Fsx)54>ZK} zn^SeSbK5qN^5C-`WiuNv%9?R)p1=9Zq00CRfAP-e2sdakhEE@yEu1bi>AmFn*YxnQ z6Q|HKPT{g(abIwnqYn>-$CVAA-OtegX zT=NI&TPe=w$L{{aorhbAtRyi}t@z`vqcR%U&0SGSkqh_^*c;8Sb}ui40jj195Wx8n zX@UQ=(=O^Lf{7yY+2v4u>ke-#hb{gY{zYfd$&6H;|96qL7g`h31TGn8k>G)(PzFi? za3RbVnXpsRp=UM^J@oOLKA%$pC=p7qFSd3FgfvpeU}bpB4~rfUD}% zxVzZx41(z_#rSXfQba329rtK1oNs5V(!N^wt8kl>7y_)^KW!iT5J zF*iYpaXn|?;%ib;IiLRKs=NO6(nVV?hSYcmgz)p#A-;D7ZVhxWI#jyFU&lppf#Txo zD;Pv}Kv8+^)vucC2##=_&g*j=J*)dutVG9k0I{R{RPccC00g_gkpd*Y5pCB!D?i>f ze#kkpIMYDv+eQ5GFP+H6V{)5VP$AsqHpIKU_S{c_ zP5RK-t@eX5+O})aXV&JENA@aNy&*ixcz_F((vhnCubg-x_IB>$s9Ef_6|IJ_;v!F>w z;9rgEUPz6EzUu>9rmYEVu&$j-6StFW$)-R!W9S>UjZzvKIF0Eo{kvFrxaNNa^W!hL<-LjFf%K%u_c@IG0TKG6R8Gg!6 zyNtBwnv{!jfk;se(^YR0+9!3CmiV+fZ)bOqZF3kYw^I}8*9TriFt)|&c`;v=;moV~ zs}gY)Y-*<&$x9I1WQclS^WYm;{u#x0XiEC%p!{g>&N%&`eV|N^3DXA%&qOyxCBXK8)M)0FGAF?JykcR* zJ7U7nI7u`vh8aJxeN|*t8#=)YY@oK3+^i!3!z(e-GV6>Zn->?H8A60NC*jDP#6kn( z2k=gj6K0Zx2hmNo)LQ`b_?3D8K?*ngo8RXt=K9>M*G6Ujs^`#_m)dtFol$RaStf(+ z@1PH#J#vdJxpPett$4Xgk#nfrHQ)mSNoe!P1s!-MgFTod(n0kjDB_?fQ%VROKnG99 zyBI+9dLa=C1J#GCGeYL57HjF#x0}DPM08^&;_{7N)gH?f`7c97yTRHImE%han-zPl z6OPAn3~eqiBV0nOEJQhOjSOCn5M9`N=oUG0%V|iqndSu4ps2S=MjtUhG zH^y~`_Yn8{B4-=|wE}QDJ~Xh%vMUZ#A-;lWSFEn2P|v16Dz(>t+l5=x|>1iIdlQ@o@sMP>1Oxji_YZCoMSSojEp}WxDKKsAHmL{0dy4r)HI@zF1xfG zmHRK&kH(C2tnbJwj)y-|3>dd<2m?U8reu1G5zf?jqkw@*ST1a8Hq-z`S>Ito1ciU` z>5ep8|JcEYJ&&yi6h1%b`NfN5(Y9LnMemGb8l7h~euzZiDU7AjyGO)TPzg?d@pljl z-ZJ9~8)Y*ogpqoT6>w_)4p=4`D2uCWM>Ho%G8c@?#I623|C0Oee6^A`{qfCOH~!KX z@5gE&%xs4GCjZXFld=#^4c=4dda>vaLtB;YTv{b^G(e{1}CGcW~yT6<} zxHKZjEX=g|at74*sa!&&W0(t-IV$#+OjJ8S!v-Od6VqpFp+kqi^Cl><`w`lQOMyS* zG#A?rXd-SOon$SF$Mxy>`y6*1M|gQC49~5b#zyeI8?K#<`?}I{Cz7+H7jkxCT2Zun zSH5?w(!A;kWV+EDj{etQFgp;Wty#Hsv$24cq*DZF=2`Hc-u^+L5kUb!e6}Sq^s6SL z#^B-9Wvp>v_w2^x;Pwh)qA{Xj8By3AN*xcsKLBK+)#rnCfayM^RnxO2yf7l9q1S1t zJ?)`U>rpdq(y139WI#_Juc|<@Q){k#ZuXcjI=#3-nUB#EH`tT3A`(ZL59~ji10cxf zQGU|Y&`})wZ%SD42VGZ}dpUCX#aw4khv!aoWFQ)s=fy_C5cYX~uXe+R!VraopQDv1 zuC=Iph_h>uxXD)Hy^qC!g9y__!PQ&Nj!qkDG-L+YgQp|H8oB#zch9u(C+3r4EYLCq z6+6WiQh<$Ngob{U)re{W<;yGLT~1(-%>&*xk(1PI$xQjV!licuUn^yC-3r^X2Q5FQ z!<^3GKtKslFI-gc#!@K&sZaQ)qDORCN!AUiL6`xao~4X-WMTa9;l-kK&x{ap3hI37oa{hqJn9)BnaAu-e~Wn3JDEKIyPS~kKp=i*J@wK z+a>LNDs5HKcNIjYn(tlsMt|~enCdlEaAbjBZs&mlNwnU-3INIX_UZ)pJvY}oqU!3{ z9*s&~JdQ&GZG5NDua=+Zi{-S!m(-$G@V!v3{~x~nTnW+cqYPl1ydalK8m89S-C(o@ z2ZvTjld6J<8DTkCs{SibY5&g}jug_Nozo6|mu}TLtZNDH)bLf<#~(y8ErmMvI6X0W zEe%oB`S*!7DsgC)rsEwuo>TWFFlFocp=e;le}ha~M1ImgEfJE6{u%Gw9Ik&USrA;T zy+}i4p#JC(ewlUf=Ye_xM!w|TOZ_jmc@W18m>b1z$V|(1?|;eZa56SWfH=<|@RB1` z72rl~U1usx@4brC7a#(l8TkU8jz?V@{Ph0J<8_Ha0mO6RUkpG#yk+?@xfJXzmN1;< zei6@fMB{86l?psplwnY8&kuVQIGLRIhNPPmqT`AVP0`W$P7jR#)T9Ph()+%XxJl{Y zYQ-oSQa$wwI_@Om(|@}GrUK_4F@Xe69x}W}ius@m-VgISJC3_dlJ2iF$G5-hR;AtX z1fpKVOk-J%ZDTJ(7B|)_%<+nz=DQ8P3FLs3W$R56$`}cR2RQQozkjS*(jC)%YSBuXerAqtR&%HM4rgJIb`wTy$L1~Ai1x5^zP5k&gVf` z2(EHYlburJ`v5D8G9Uc$iB?IboL1z@Ig((zwJ@FY;!p`(cafgbP9K$#(+PiI)MC$t zotC;<9$00sUqLFiNo;zZQvq+V#LJmdk4TRYwd<|T%WaI52m#_`#gq$rV|WfoQ-lzA zacm!1qSQquSV}`##y=F*N&#kLQ)nD5LCi93?&mHKE6KP;VH|!c z!|OjhXl9UC~uA3F&~X?*{20ktlFd7_(_0=UnJ|LuYwN9i%TpuZ#(S0T z51KiMXEc3#b!S{(fFYNGbkFLn&8}ft9^ALtAwT@Hg9o~mMGos2CYU<_Qc_`0f|D21 zWu0&IP#Jgan(Dhh#^}4PuWqS4WeD?oSym)5^TVm(WrOtkLMo{5fgzEt`>W}MsZ6VKhSk3Bjy z&y!ML2oku0fyAzV-V9*x{??;NBvQykqhFw_gFN-SV-mPl1i#Q=`gj8=PArWG$3g6;?`Ur#pLsL;>M(C8 zeqMXSsZW-&zvvQN;YkB}bgA@_(o(XJkpt0)d&;;qgoUJ;5a`kq5Kx!*ll*Jvd$}{b zL7H^p%h@~W@|u-Ii5{*Qavan1rB5FGOK}3hs+`Ry1lI#KD~|o2hcYJrwf1{uuIA)- zYX#bFK4?Ap>g#I(WAijbW_7csiXloUH;ba>^Yz^5EqxQM3pT@k-tJ+WPwH4k2QXic z9JmTf;hnoeAdIelp|Kh2Id@!(H7ildyJkLXV#mbOsZ&tp+H_;oj zEM@HG-Bot~_xP&^aOPBZm;_->^zMG3VKUeuy-Gi!gppfTJ+ftl%!EC+U80&|^dh@T znHCp$W>oMW-Xvdy#7(R7w~2&q2lUtzAO;Y5c=!td4N6caeO7pMhORoO9bLXPMz@wiYliE%pBfWeE zN6}obKO1xy$2DvjbB{|9xvH2+xxDcuZ2>Z9)$wXemfxr`+zQd=qHeZ0!jDj~#TAhr z%NS_9J?WGlD;oIY(fK;>pW%m4gTuQ+tieD420N-s&1Jk4%L4^P%?QL;$aZmQv7&ro z0?Mp|H<@@mWU8gehF#sr6?ZV#4cf}yg+3`EeH{cuR9~QFY;0Tl_8S)st<9%=G9rpg z<;kJsSGCzc+h@KPyUhtb3+Q4Xh{`2EwKfw@%UJ&H}N#i1)p#5;`N@Jl)jMK)g;A`fifi-l9(0% zF=!rMB&8<&2{paq;FJBO#Chu%`PsqWmc1=EHaZ<$(4etp-$~<{;>oo*3CP*w*}HV4 zEzLK<{ajfenk;@ul3O%)f&6!Rl2A`?khro%P;8P*uh|@c7(6u>X0A<+*tpxvK})@` zOa(}7#d^V{gx~S9Ra_?EMp-a%^-riTqnosvgyi`N7NRQ4&-rTxR3|_x6A?yyY8vAo z_WBb;7OMkEoS6r|i+~nqnd$Jo(?;gpadRy(_-<=eSTZkU|8kY=XafY#PV&P1cGGmt z2&3yfdm{Cp9x!-DZ@4{qJJ@U`7^*G@yH{s%EbAM z5Y>_IEA8S%()KED4M7dkfTOuM7)jz#Dfr-s)8t3<%z_u{ofn%3+M54qCW?FS<20vp zvEb}Fo}}kiFS}TxK9*?-bJ?-1+I@4IFN%CXR+MW$DV=vcE%>l;AE&RetetVHE5`Ku z3<%MSuABb`pT{^Yuu*oTS7W2Uew=TMA*6?>rj0&sxM*`!DM8p#KGp3yQv3g~e%4yc zU88c-nF({-96$V@7;z$VqpT1>3NX5c8cT?Yh^T4B-huN(fR^9sKH{Nu&T+Z0rfV`S zy{UAit^|T%pi0bek7|Gc~7$K~aGTEOZ@R66WyJ zWI3KhCstCRkBOK&t(NzIrl%90JRaY09tXJkb8104&OZlv7GLHy|MVIRq9duO$)Gt) z%d)n+_kFxn&{*TS>pqWHu8RRNM8;Z=1cnJ-uiF@*E^EjNkWN-SgVFs47+U6T0O%6?k%*LfX5D$DRhKO2jnW^mkVFPPx(C)8t6_; zGHDT2xe|PKt|qdsZ;jr8+o+VR0b-cZ(uY}z zZJ*7S;1cSkKmLde0fV3t2;__pbkZ_YqD0@1)d$~?rct=nex)QkhK?vcOnY*N7erXd zj@_r43|4!12X;s1=DCr_gUMnf<6lv~a)_G3&*LtnaHIDA<2+xo02_h^9n6`{Kedem zy3h~%ZUF*NLr(SIK<;e0My$(a=L#Y)NL%6}ZLmDM9=cPT3J}FRq~xA*@{G^~pA?S$ z?N+}b17)Te*b(a)NLpA+BlVX8Bqu?1%6A^LE2~)r>U9+THnrw2hT9USm-ee#Ytcdy zG02S9lSI3IXk{Q}>~g;OwH&s0D1I|+Aw(9;PbWIyMSC$tQ2WQk08wm11|QVP0OEQ}$r~{| zzJHOGq@pQp)z`0pzSuxu&y)2wsp>t{NE+?~bg~Lq}Jxc?C7d`^WJD8Y*&I z9U&qFc&wL-3kML8tH%UX7VHihQhVX#;w{R*;P?h_!~L!a0B2Ceo{6B3=~}x)87OgV z#B3^f*sl(JcBY0O76$?tM6wMqjC*Kic@YvtasJyruLOXMTM;Q>+>iOjEKO=$GbxlH+RGd?JLf7T6VcPqWLpo z-APadS!577(j54=`Ob$wS0(dUievI(#y9%CZ>cv~mU=&4(bCs(r?25285Nv>c8;28 z6e?jWRd}{{#-&$R?a1^U+Hk)-=tkea$_mR7f8}LZnz;5H0XnB#trk%;W_a8S=+-6gKE<^k9a3M8ZOUbp@#_Xp|d$0L5~l4;mB8Zj3hbffIhQkcUtJ{G~2-K6{lh(r({NG z;A}-fs@Q>k8)F!(NVmt`K&zivw#y59up&H?_9|U7Z0(ZV^>dMzeH3cdUtM)Mg96Uk$GN^lQJYG=Kw91#uxD&1D469H-|m-ler9&gDq-ETJEt?c-D{k@LjeLy~1!BK#wwr3>TbPjN#z; z^xDh;mBLq@2lPH4#cAOg)-TS6q4hq88sDQ;!nZUdpY>o^NtNr~yR_cLiRoM)SRSl@ z7A~rOGiTqswgjW@o`A(~j+e%kBx!Kjou^(=V6a%!uFXNUqA zm8@tWQ%k>ClX4T*9uFn&&X$!6(T85Sd%5IT_KD=}KfTs>0!300GpOtIGK8B} z+(t^AaW~z_=V@4dRJ9}PnMmc zB(i$$Au(K6Wn?kkq|eS#MfaW5`4K*RZYf-t#IK#MB0KIjNsP-iJ_z3)~bFrZ#O?&f3>?h zr4m^g5oI3m*l#nIQZGV35<{5OK$Ei>g*tCFFbK#OnTuM;w)*q~~4y-alM-D&DT{Zo29IF=yY@#_|+Tq{I-m_rW zC!KuN)jD3&Qg0zcct!@V*TBb;C@t%!K~XU#s=5*FDp6AQUov?d8Awc1ijcK(eaN~i zJxS*`lLrk26ewE>X`rS#CLv zoW12eIE>jAi<}OpJ;=`R4>SD~eQ&{l&zw6g zv^qK|$AOayei+mODfgnF_)||7Ufs-U!|TL zaP%xxyT5xl(8@u{%1ktm#F=TJJQqq?BwVDxmALN}`tO`9Mn9K7NaH6_)v$Xav!lgd zUKf4@1V)OO}tBexP0GatIYqp4@VPC#{#@{Efy7oFH zqWJpqC}cVvnxzJBK>3k@7WCt}AWfsoMWUg%I#Z3#rTiM6i{n8D-jBN=dTeGAe(omh zK;ZhDE+Zb|)9Y_>V*_e}n@$t>AvFRM38&@Ff_H^R#h(_b5@;}&2&Ln>073|T70Mps z$@CFSNzo3=7isK?ROVH?B zE7$M;#tzTR7>)Ggzq|j6OUn_C0feq?ek4IRxLi9vB zGTb_y!hQ7wjb*c4&~FR6H-NkpY=1JN;2|+pPlyL_|Fi$~OxpGQ{ywPu0f@uC(zgbR z7OPShJFdl5dUA+-c-Imx9gdl3lJ#I$z{%e$yx(@SYZq48Aa*+JRhhFXAkGXxEkZYX zyggfB9O2JKt%zvj(SZWeYcF``$Aw!U>h?z%@FV8O^*;f{WID=A^NM^nO7#2I-0)aU z%YGCM=^*Y9Fr?zWXU2V{IiyAnQ)P;2v^a@>e3I&0>E*9V5=g8kubt~}LK;Iz4?dajr0XZ8`(T|Y%74kW;6FCcB&G-wVt}F92-J^>t1tyW5 za1qkn`hLZ%T9bPD`zIWO|5@}IlG5jYJJEzN6YoQdb9Gy^E;nNmj;`I`0i2~YBefzK zly^nYHtqo?o}k_YC4`&aHA$MX&6i4A;^%G45^|RsQb+KRx;xLm?7VWTyJS@_9#n6_ z!du?x3qc2PC!MPXxu7-90f|^E&sv*T2(Ii$^74GxX$^abE5Tq+xS{pILMQx-6J#{7 z297j3kGeT3dEL^l2Cf@l*sL)XWMLwvKj@xB>E=bbE=ZV~;}>tVa~)5uNx=R={vGzB zf*#I!XrpYn8o2{p%ceVTcj%)w%nisn74g8Fh1}hV(B%Z^fL9tRWpj<6>Jzgq{{S~i z`c~(0B^uFvqO(LLpKN()DM$c*Cm`Mr6$&(RGHLtA!NqQO*-wNT=m`8-Jabl%{^$1rvi^1_>Hkx$6i4`2hCAXk6q$$t69Jn8EA7{? zfENE0tIzM|2hl(!p30(&ab_)@SXRJgUk^l^{Ug#wMP@rLot|A>zn9~vYKapo02+Mc zz7B6x(hv}?P(Au}UEKGp$B}X2Xh+4`N5Ii+Y$r7@WycX#a}CmB;H)P`h<3pM!mV?;55^^&TSFgZ3#3eW{@iQjwL+QvZ%DJ74o zXYIC2t^@0_DDPQvZhT1BIUAD$_RIO4YOMS063Bhrm8XcL33OhH~+yOOiSl`1~Mc(f;c@Y<7b+!t!!mG`DVDwGCrvMKtia1E|)+7fKW-NdxN1 z-ZlPk>VhmHKL~c6tjN$1C|Zhm;ME3d(lPO@{enJGU&@1vD)aLLT-n=M!OsSZY~+sF z*PkEU5D~+pHd0D`4y&?$FXN&ARK(4xlHw(|d%cr@$^3cbp>~XDKr${jAjNv=18M)- zxiwWFx7{~Z4tllJ$r5xjjAwZfmexS$tS3Xr*mVpW`1xpa>_yMf++n_3Y{!~X%w12V zhDm|vyA)ji5Y=;?xW#xoy>mcxdP9~~2+o#E#}ZB#Y>Gk~w_gQr%WZD#t^LAv%}V$J z(_oc{P$k^uu|&=s0J7wCRF+q4=+KjxmXXTvPVbp(BqCY}z_UFB{}Y)oQqwTb>}au? zVIDv;coGxpf&~I$?kHn9rNZ*0HVsV))d67cMTQh@UVT{0@fF1S=>^b<_K9%#fO>?S zaGGxbO^J0Z0@6@Pcfu|KP_B{RSShvcLr)d2=f-Be0i303m6(wtnvz)J=L<_J@YBxu z{jc=SOw`wX5AXj1&Dtg zVC$$AnXhHWAC3FUkqR-ZlwrdABD+ZnB1pN*=+cgFji<%A6K+2~rR)G4+vOm8ApWn` zqd<{4>OO>yLh*J4U70M4e`;h3E2p)>$9$pCS+d0aN+hr+oh<~V&hHFTswSrR0gPv1}^MlNY zu(KtFxOrH9!70rT(CKm9*Sn|Geh&HR-%h954;edCzEKN_N(4%i8vI!Y z!GV92<^89F$PBG&Z1_)7n}80`Wjvr9&eS`Sn5iFAv8z+v3sb@`W9fL5JN^r&+UWhWR z(2(KL>vBhUL*NAAhJ?`Xgx<0(i{*?IY;cgK@{@TV$89-8YgDqQ@}{ zUM`Ay{E!i&R~Nk%9ZxRiC%xoJE(AsGm5*K31D|QaMPDdQRnCgqIUs(!gIj1%+^t$V zjc|~t5eGA0;JaPo32Ze15m7j`I01Z#0s|%a9Mf|8T-?hzqAK1~{P-ddWk5kqKXB=l zEDyz^p&D?GE})`D*A1zcD*1uYFD$><6Ua5t?Lj7wZ3}in&KBQ83Vp!(v#*dhM6&>8 z1(Q(?w2Cve$iQ`(7o?>aCgxcj&yuUEEES?&kuo}PHaHLaVi;V1wrmfffB0kIeVc;$ zt@HGL+-glyMQ=v{KD zmbJvf3YF|%5%Z*C+D$Zm>tA{A=i`@(_A-5fJUtNyx zJmCRRo?Y=&YMcTKBR+QU;suxIM2C#s38^!7apKK->O+Q2mKYY!2*o!qdGUsKc> zKlA?2Ktf;6ZM4O_^ zhcKC$y)V^Y8{QjF>*(9-V z%4_EnZ@*kT#EKdJ)!DQQzGm?_tKJ9a=^r9@t^WJPv#VO0w)$s}o9L-ilzTI|G3B|7)ap(#&iBR z(sWL^g@Mk14zCV}IJT)bdwDHwrDXpiPcMGmDx9kcyjuUgI5Z}bDxl8sJDp{y z>D2|l?iUYbE)3d#sU1p!281?RbIAGK1{j~|$(R0QVdV=zO_yHz#3p+rqtBHP*O`7EP*fWo z?v4l&dVV^wb;&!<_tQ|?q-Ym^F;%=0&Kj&dOLL@z+AwH|IqnSOehw`)oE@uD0vFk{ zD~ta+B?euuBvS5(XqrWvMK$2YT4S5_shK+1*wb3LF{ai^3azWJc^d0&8PXk(-wRt9DzC(`!Q6Ju5hufl~ z2-rJZfrd&BY;i(i8A@jo5DoF;7Mha5ijA_(v&1WE74zpMzGhxIx09B%0+*=P02y2-4R^R-0|x$ogF-O^1w`i6WJ+9>xJh1<0U7CsO+j>@u;eUP;Xg2${qHKufaeLp;Jc03O7C! zC_TQ8#>xB*c03*~hyf1C<|_^_wfXytI|oz48E8p{Sw|1jqwhnAHBt8=(^pAiAQ>wE zW5^=k{+lnYqNFyt(H`XA*KeW};&thsl}^y(*?KEH{0@1agqU}m6>xzywsYt)kAu5v zKYa%31((<<<^?RYBuD?{VS4JPAA?PoBCosDXkK8FzVQ6Veg{Nx2Sm+E3AM&w;xuF4 zmHEIHeBA2@#E5Y^>GL0pohQ|9WExvP5zR8hU4ohqungZqs9W~k4;6J$V3S`B{E+FC4*P7lWoEkmk``3T*nZ{;-KRZU0M111`aN1$U zrf8II_F03IBD_;tf#WzObDtr~h_QP%!IpfLmZZ&CA_x4Vb&W=i0Vcr1?mmI|PzgNS zA3g@WhC^fmSP>r?sW!GCDk?kh!ZI_*e=}nzrspXCc1XJ>?x*gHfGz#UTkB08u&KxY z{&uUOSENf3x_={>Uup#4ae0m*?~Pc`LRw)P-k@-olw-2SS>nym-P~g<@rrvbp24Fg z?Jsy`ABEY+V?D=U4+t!T_CG}#P7=<}GR{5D$=SOJKDW|38>}Z|g6vA-vjQ4>}rbldV5fGv>ENw;g6R-io^BnWvt)?HVQ;LR}?No+OP15 z$4u?J^#G*Gmy#Y6PI0u^yN$u}(Bb1UwTBxwD%~+JX89iSBJ>cV87bpHz6)R2_gz*G zQ#EDJwt)FodW;73Ubwv17blTuGAED@-!OR80gT4MUHo{#pHxzCfN&yNF=PAd*EC&a z4}$AI(ERhziZ68!^XX&wt#%xavy|bG*NFe3%R;|1_Py>bu>FeRX2a zBKJK6>$uQ3@bow^jWraOKS#-~)#*$Nx%u)m?i^`gIdfabrMV?tn;GwK$MrCie_LGV zhaSF!6@Siz*c^^x#V|sRB8zA+{OjDmqsr6OBaB)dyEXk+4=GG^nCCBw|kg#pI_~48W?_@v!4hBg-LvQDNsu0@#J&1*VLfZ8Q1Bl>~KCur}IrM z|Ge(4z9nIWTnkzIc(M(g9BhWJtW?2wjlo5QesBySPv7)+R2VmZ)&s8cpMt=NsIhB; z))U-hqlAw|k_6=A7rt+nj1s{25d!HAKxchSPwOq<+eXLyua}wRFHgtLM^U3Co$!RL zH-$12U(=F0=6~oaZIOj##?1@K?XD3*gXxr}q?2HhnL99@tb(Bd!6-CHM=yl?k%Ji> z?EVTAMEPz?PubJ^xx(h8k25UwRM^+#|9PpbI9_3P<{X6BL{#SfJ1am*>W_^FT%`^@ zV*v00T=d~7T~#3GF9^7cfQmT{%yH)76R5?2({50ELB#opu1U~IG$WPePWtaeJLHom z@3IFO%{ZFJcNaW{jN;|8;mFMINFYK|kMA}bXL<2i;keO~+k(0n8YPJi{S-6Tdn8+< z!(|v2YGtLzpFT10^VU>2E!F?YWTt*sC~*OD(B1k!j?O!t>i>`8_TGEX?6@I&-DE{b zvNuVx-D_Q$$;e7F;^G>ia8cPa>y~j{WMq%H*G?|#TEEZt_jq{phyS{D->-Gf^ZZe% zfh{@_HXe}@GQt|$LzQVff`i^JN1|%8sViBjtAQ$J0*A0`xe#5FtX-PYkY36TF949f zvOxCBPf;w$2g{9{DV;vwMftGIy%J2t603Jd!skEU8n0Lwnh51vRvCHj$}Jk`Ut194 z%lp!NuiR5)a}GkkowZD(o>YT9WCHB#bS!oIotvHP@S*L98J=DlZ$ zV@md=x3;-S{${hRElxVWsM$6*Mo1`g{(SeBEL4j9xGMp#mGH-@F}+cyvJp(+2-}zh zhs_8BKBb~2Px7S#k=W?`ThR%w(Tn2!U>(mKu+9j$3XXlZSpG05Bl@r;P~0O^jDnn* zflYONJJP5>ZU8pNTcnHaq{-;m2wKh-dg6+OKMZ zuTxNnsej+URg9OJ5;+y!ILJr6RFXHlIMJtu7T@rHx3o?Ud+X?&-amcpM;33I>ni`^ z{F$@!n4<+Lfy9zrUTyI<1o6~kT;eq(oTc?1^X6;Qa|2t_iS$+Nnla12dpK=fwWt7{ zYoVe0d8^9NlK=GSQnyapP5iH=Kei8sJ+?ZV*>_*;y8LXL$~(BS_AUMcSN2Ztm)nXQ zvkd(*-&t@nlU4{BzXLKTI0o_}IMqt5wxwz#*WLP=A+VE*QD9Pk}c6AYLHFvs`ny=ZOM?^R{p{2sz z0nWeB8~Em`^AL_Rnau8x7m~#8PEhCQy0EDEabd*SQ~AB zjTG`1wSRLj>`*$qP49nv35?Vz3iucBwyfz=yi3l}^Lmqzm;XkdEo9^FL|F#C`7Hfi zT3EE~?(mM9%|wK*Dlt?SQe)3fhB=u&=GczoK{xHF-mxdrG9~FMtuCXKS^&>e3=hNT zmnG^Ue_@wAaSGm_+>s@XPId6e8myyQJ;DlY1((o=oOJpkBn-pF!rsC*JCiivuCK)FPi`x||hOtbw7;kOu5|8}S? z22t}tuinc$_Pp{zeny+e`w5i%{Zh4CW=C0RyE6f{Q|1>nU+NUfs&p|OUP{8|Xm_!3@?e2Qf8Zaf&K@%g|&42k3p0y9O zU8x7OkvrE^bZio~mzDn}F%6r1YTK3ZHahbGABi}vcV^iZ$mUDDoigNqfdo6Pb_TP8 zFjCJtI`jxr)l6q;R4wh4fEMb`k)Ph9YRbW|xAM&$0Cp53#mneyi)qa=jM zLX=8VNS|uh>Vci|jMGjB+}_`9wPr0=eb_OIW2jef)YEU}i5gs_3RdFKRmQehk4|$f zEb%9}vM)&wN7SkXILRxZpANOESQM|lXW14I@0*60y-k(byi11W-e%b()ptZ+kzgAS zuJHZc8qX?E22p}nHW$ndp_}&x^q4W_ln8ZU?HmD_B`wEC6Wq8=mf-;|e7>(HbCD@n zFte&0@|*8YR}%@;P9J-MsVbFm>oCOA=@S0?!3T|lU1sUYLV*Zitkn zwDbiiHkzZttw5d$#Nqtm`E6o+gqzx2zJlQ3ZuHlep^=U1&qZj8APx0@NcJE-33ug> z^%+ody;-d<6QJ?1n||e-OgE^vCKQsk|9q9EZIpddnLh{!*|DsvKYB?z-A4u(l6<{Z zINxMmmRdGygmc72HN%@!T#m~Dj|q2D+j;726(ep&KHy2!ez0swTR)Yllvyd}xdKiv>Pry&P14LJu&$_g46uHF4N!xq?QcUM{~hhon0`5Gm$1ri^zUQl)@HQu{y?25|ZH{O=?8Rm}E?$~6@xt+R7de9P9PNCsA zX0aO0M=n36Pu_)C319s8)?u-ycb-9%3OCju)g(4!6UmdBUHk@ojSA^(i_*DsW%9iB zsUnAjPKGHNe*Zf@JVo|KUrkGI@gub@cs*nqUfNy$OwmGWgD|GGS+7I!$Ao9JTA@s4?frrC{9@9$`gSMDzu`31P<^8Lh>Op<_xJ>9Pjx$kzO6vi&qo0lfFRqx)=mnE(MC(+mzqB6T2#VYT z{Mk*cnC(nudK~lD`5QsBqow)m%z7o4H14^fi4kV{&MTcH!Q0WIMLC!e?nHXK^50Xa z!z{9ZNv{j93*+D2Ay|%RVT9uN;PZ`&?+X`dTWZ2T#t;4GgWq@MKe!$VA+#Oa+~i-T z_n7j_&*IRnSNp2|p3hmV0%Xo8USad-NeClH-9Z{q$^5!{)n90G@$Opv=wlrYvYu@V zBabpOwYyVtZ?h zarr3a*pLmb^5ElE=Vr=^swOqx_>Y4wK7$3OBd(L}MuB@rW^^`%4K9|Wi*hnJp2-LW z)jptTYTIUJd7!6h)HfW(A63+TU&Ch)d;p&%1%uEsuk`G=w?8QXd^`XJgUdJ(S)vWx z_xWe%ZhG@`rFMp3!mhA?+EME#cfB5(7=SID3bXNkeJ-MvmT{C=zY77m8mh*d2rq`i zkCbE9P!=*+=^1h~`48^T(PjN@X`F)w6)Q5HYwc{Kf;T7{Qmerr(Q6;DO+VNs3u!fS z!rK3?$oR(SAvyk4*3rE6>LL-eB=<}q)|qGP*#SK?BYLzwT0t!ZpY-^E7@7i|Kb%0t z=xcpj(j(Gp_ynv+E)#-a6_5oDQ7xeZaxt384fW(|kICs*?Jb`UQUQ6>eNc~4z3uxF z4g=VrG^xHW^)?(x9;1W`*2<`=3{i!Mj;d{`ra&@iAp3-X4{vwBnt^9Uooe#)hy#^8 zmnzp6&4|L78o05aUdaU=gwitsp4@wgjy+FOEwy=CygJgNYz#mmSmB=lYkt@<7d76? z;|6A0x}7V@40phz#lGZz19S2pSYD}1XMfimbqjND$%T92-c@(-+(B?$j}EEK?&oVv zerfV^z5D6tvrh2%d-G{WXy%B4iaAG|CaV^Fd8h3ag#A~MWB2wRpKO^(SBGU~Qsiyn zC_2LAW*k&U3-h_|CkZaQj+G4K#kvUS!j(8ZFx=Y~mW}HE9Nq8!3TLRy$J)I3Z1Jl& zz3OxOSX?wWu5Vhl4Eol>8lo!R{N8M%hHS1u8NCp9j>0! zp_Dv(xMKWsW%osRFp(P|=B}gmI-Ss$A-y@uboiD=6>lNoIvKNt$WkPx6z{3d_?x8oAYBI;ZKUMdhh={ zfRQY?7jERV4$UpA7?KipPWu~gbxSE%YQCUPF$eHr4s{6NA|?5OTe%VzC&yH*Cut6R zx&ILkK04~hu;^2pHi{xs$Y69fXuy_V8F5Ki$$3(G1238-x^gztegxM&0Yfp8}tb~AUt@E zEVg{Y+UqqTulTgk{JWT*mxTgVjmNX$p9^hWMM2s^b$r0;jkWb5DJK2a&!!CSv9ghk z{TI7IFcb~j%@SFmi`}t+2FMbLW)_zoxQc0OVfwA#fhG_yT{KnHopgXd>6qFS&}8Ux zBL`>{>NE7ckfs+CE&CpS*XwO?nwM#XI=?}k4rO=at~X+Sw+3y98~d-Yt8z{U>;5a! z8189c*^9aOW4X74S5Q|rzbk7_RD1*8;{TMB{b&pC7+x95j(z^_Y&T90Ih(7>xxa6J zvX~0IfIdTN{f_DO!kntW-Q=a(ih1vH^6_KOnbQjJkNY%Wo+15416F@61lvOkY~fr8msP?o(o6h#HT{ z^fMV++?BwYGgxK46RNAvwXx$#t0kDx>PXQUL)&|J!UYU*j{O%c#7>#ejc5;i{%OlN zsD0#Bj|Xu3>A8i8%2PPsZxh6vutPkI*Wl&EOGF|2yB~z|Eb5a~S@hB#sE{miZc9bW z;8=Fw$01)jEaxn8n!Vy+-WSNI)tUfWWU%+4jQy9*aYA!hpZxLNy~ucAK5r3MAT zm;~m6|EMmY<^FkMx+w0z!uW0T3DUwtUtK?)c^mh3`xlRF8A(?S4@xrY0BwO|R-%b2 zGw>i<3aE~{X)uqk%fF&evY;nMD4RKVR676oCnr*QkMHMfntMd#+%cJJkT>(Pop zF;?e?V4FE{E*#xS)7$Un*3c}9turQj}i(66^O>MYUYg^si|*=}G>P_x;oF zJ71{O%rb$Nq|!lQT`QIQRuG2eav&QbLX%jHGH*L7Xgb#vffm>F+8~7}FROU1Mon=& zXS;K&YIaBTeN$0m^z^`AfjCC0Wx)=G-*;}rEomk&Y3JWEJKtXHHY{nAK{L1VDe)Zw zX&(PhOaCUwY^Onyh^cNFXvxSHakxwwNX`KNl^i12>A#&+suDk;GyT&HIH3mfW^NWAVCd9NS%Otyl}0Wo5^AW!S4e zHMfj)=BJcR!#z`7GcMcB*>(&M9Lh>i%q4?2if_2;DftRl)FUUj4o9Qjxn6}S{4ia- zJPcXvioSdQ3zdM(XkdE~f6o=(h2Y5Sz7oOva(~{{Cx?tLwI+V5u~C(O|LcS#C4d-$boTnr8}mQJ#v4jP#fLv!zFiWk-3q%k(EFtz7) zg3G9l8JlVASZ9F&^ldU-is2MGFf^JZi3!id$9&I5?ehFc7j}YW8sGK}-T`EE>v7 z+ST9h7Ots8_d;C>g|ac5QoATN<7uh6*2ThwoPpPzl(Ie(JyLb#BRpSnaFGDIx*}fI z>|pGV)JcL-Cu~1bERL3Z73*YC8@YU=k*`?fwT@Le{M(c_oG2cKi2XMOMV5#pr+VNt ztM~UaS(|xhSHG`ZkU9bGfbR-)p&7Ocrfqv2=F9bL=&ZQm0J(xfNz) zpp8ZAm;M)Nm=-fYp~i{=2__<1b4x_*&nGbwB)9_us$gYiBW&^!&REQe5o!h=wdBDJ z&f({HDD0!PPgh=9fCLRAZ;h2V@v=rCAq^tAZ8or8H= zl(0F;r8;rcUhtRDGjRma)&$>gt1dRwR>f#A_o+F(tp*=*C;@kW6{iF9)0=m(i4b-GXIMMTIQ zo)W`k8X*LCdj=_Sk#~Ut{KS{BPv{5AgMS3#RZ_X_AKwHkVHWq zB@z+V6S9EhDl?sr#Fs>*PAaJ#0yuqd)&?0_N)3VUQ^c3bGpv~FXnpeb$@UMVK-R!I zpa!g&RCw@f_${~!`}|E7lIZgOdq*14C>m$llC)XVZ0hZZR@Z`L6{&!C!Q>c_0TY_N zqGxOxGDX(u!((nV&SBK!{=Lr=7V!J@l^Uy!h{A6@{yIH%!#7dVzPsfGm&%-y7veZW~cs29w*Viz>3kJK?sV$0fEA%`=VL^ zJ$S|BmKTB+xS@@aK@>~p?lV=%igtbblR!n<_3etR3slmpY^dm)9zg;^DFcdy;pV&Y zI+gM>5?U!I3A>TRQBi*sC7Ia&NIcHzv{&5wD2IakfU9l+OXW7$LDuwfU$tSw$cbdL zq0#`1&?On$eXVr!gH&Aii@`8$qEQJiyM4<(rgurOr)+$t z<*&`!lUkGegTm%4W@;Nj%F>C;+48Eo=ho_rlFMK8fdG$P>$RM3#HVbCxERaW ztIM#zCb?wlnLaw$RnHlbpx3e8nnUU4Pk=IpO7e0|Q6hb z=Vqzx2U3ErC3)xLH;S#Pc8gJV36;s|VrWo6sW`=-U&JLjqX&4P z$yjGd2lJs8`ZmmF;lHXM%zBBrg?kqLA;Hy4gJar|d@r<1kmIGJW#?uRx6I#rNLY$v zPVV>Zs18@(R*USQ!AHN<{!Zp&Jo^j4t*|6yDD`80STY3gKSlt5Js3izh9z0qn;p|k zL0W`yQtYL~bqQwe@6+LtU+QU{o*=?La>km`ORv2&6q%^DzcqjR!>e=edWBnYY zEtVYv`nc1x+$lG7v_e>uxxfa@1|E$P*G5K&Q$YRW+K<@D(Y)eTdgX6#Y3A~!JxN%V zn7T{e>rlbczO5Dn;C8C3j1iFHvcrG(;#EnzUM9o&%vK$_Jvw(G}8v|2H0WC;4**2m4MM zwC6#Xjyu(1cHM70O+n3<|h3I{soY?Yj5G)-V;Ulyd{S=6(FtAYM~UZ zETW?$2JIkBITg-qoG1=T0o$y;0$AQ}RJAZ#S$>DKP9vC>fQX zPka?^!-At7lI=f6J8OgUSO+}`_vuhzU=}37l|K&#A;QAae#B}IC>sz(-CWZd$xY#N zU=W`-wgI$&AnKBYX(Xq`>jt74>ge76eACu{Fum@DA6;b08em?CVxTitXLj=M%T7ssJ@*x*DbY#3H{5 z?((xpFx{nmNlHlWk*ya`5YfDkJqR4dINuWOe6@C=cc=b43Wqfcqy4FfEvl zEtA}Rx-{8lzI{dWY*^p}GeMk>ZFL={&oQlw|-Qq~A{S=bZR5b^nkC z!8v(0Vp7X5_DB(9p6F#Uv>U4pJa3wQC*YoHAz=TNb%4sjk2tC^j(=5x)%r01Bs=mY zK5hXNE^>AXfpN_N7One55^3kLHQUS{l8#am6%K|eN7%#3$luR?1&ZAb8dOj2HgIul zq_05jq}Jp{htH~W9nMkxu}FZP8Fd=gf47}G%2F0+Pa7cQkIl(5jY?zP5bkLBL#xKO7_w_)zg&yv~Y1FRR0SC^;9^} znQg+c0&~%t2-#Oyd)~1h!*kaYN9h-S%{M%svGNHrM}Vs5ZPP4P z41lGiehwUiwt^xnAtvX@RtY^C51vxV_AEFX`cm?}aI=O$pBcf)X7y=oNCsi5Ke!4`r6iY`eyrwK>bozV>@3k6b4~AGte&3U*fcN~Qha#{ zY9@<^S@D^Cd}$TR`AWst;QKqvzwTqwH$4!MREMM}BgFML@HL27i`Pd4$e}68fMUj3 zDXpmxBQ%7GwT%W_BCU*AfqUaG-9NkLjnxttp-L1nHW@R`#O%OBZ1$V}L#zC&c*yzxnAF(=MRQ2655{#Vm*`I4yHQ!5!V zbC$=vVifB~k605!{4?%}c6jWxcIRhnkW8T%S*|59b({T93!dEVY6agmqSKw?aeE5q ziTC1t#F5>nWX7ONi$t(u3acK0r=D#d={+QRuj#}n^qP`7pSH8g27G)QSpdj8J>1hF zp1GmqIO&FIn!lHEa+y|^CEeqO52Yug;yq6sNn!dwYKK(MoUCP2j>aS<5`wr^2q~*S z!ewx7!J}=0h`g7_pJI`TaR*%&J*3c$ea}I`ffM;1-TCjc@#U=X91l8gWd=O{41VLh$UG>Z%DCDAR9XMCNJic~`1BL+&Gv0uM zo2YXw>Awt4gNWwI{*gfwQ+m*GiUWQNK=`AZ6#2^%1M?a)De`1T6*$dI&_FI z(*VkFe)K@Sf;UbsD>?u{IS_jD<#8lnzG%j3#rfAFcuSo*fb|}T77MF5{uNl6?pZ-3w!X-TgH`Za90+1raDd*09cN|}qo;QMJ!Ksp#q7CVMqG6L#QyVo0fq6ZzASK-nJB>4E^trHLuo$!{rJZh3YY>i&hj&p<245~_!0VaJow z9S*bL9QAGDq6ZXhgq8sI%a3m{u87oUYNbF<8Y9j@+O%B)0~*!(MT(y$8w~-ZT$T5I z8(1*>8-QwP(rdlzyWwr%tx>1@{D#8g@bAeo4I!oryz)?jlUyp{_{)*x^QRimyVs}+V%Id?E<(g&sK*BjzZ^akLzDHvUM8#jcP`|Hb1F|-d2X@lJ5S;Fxidb05Dlu_ zc>p)z%Q&X)4;)>lOxiwC-N0qi9tgKS7Ssa^O1fS}zwZuT`QbvMRn|g8h#<%1+4m%` zZ))D-b5dy$MTAL{180nk|30uXm_HH0j2$bU60Ec^HulT2FCwmqyBR?JoHuiG*!U;= zb$yPCy?TSSAjXGKj~!CuLx8=%k7k?>QtG`tO%0&(N4L3mE9N2u?zZUbywZh@7Li?x z5H3;s`{bvvIp%2~K?Ljb2yv+KBF{%NQR$$a?5tqU+g!A>ay?e;9w{N3gmA}PI@I1> zU;nbTgWN*J{LFYsK@|HZH%+uX* zo%JM9RD+y2e`LSM??hQ{PQPjW^NWdu0$aBrMEH`yTex-#$c7ao%WTWbn7oiu%Tn09r=07ore$;m}e#38KxgY*s`fI`J5WwXJiSqsVuVJsM zy?@LI4dT6HJ4!Szd+^rttr*#{e#qOM2va+)5@2|!z)yk&bH!05v~WnI25}ef*JjHm zqAwDQ&2^=ugwxHrPf(5_`aQkzZHGO_4kptL>D8A%UP0k{ut=By|FfgH<3FFCA=7lc z;9*G7|D-}lM2i?g$9()KqA#dWz4WP_X#Q_LX~dOeoYI&zgObRI=ooWsQW+`G$?I!o z@fc8x`;Hj@vkd7wdMW}+wYDI-42u7!7;^t>U*|E|?gPtc`cgeLz zcQ~k(I`p3BI(?3i_#o4CQBeBEAAZ}cuA)ZXjHk-LFVZFs>1vleSE!BbGchM3t>(P@d>&mbj6c*$k4W|VKGIn$3`ne5B@#?+FPNA&qAfcEMBEeq z4zQ>^8u&P1);lYqfaW#SBwdVL;!ylD$|a0+UsR>&x>=o<_|J8YYD0OJDCk{~e=47` z&TUGeVc8%7?rEDx6H69Rw-GfXwRKKr;Fcz4uz4_}{wtqqBA8#Fo|7&tNB=@#I-TF#1I^?xtAhv#Esj^nhu^=HhX<=z?JH65$veeUs&^tE{Gi% ztinR+@*3$`x1R{c39wPXbj~H|KBW%@p4+B1rr)hpBHi$_`_|+sx{~{XdxkpSC)=b> zw(%aK{>JP2pwWR(uQh#B3SQ`&{6l&U zjP$q~sv;k1oDX%`Zk-(oP6qc}7IF4lgO$-6TvBq2O_7Dt-3G0`c)4yvkCTuHKy~um zZT#RY*Ie(7|G%pA31#x-edYDIrP`E?5} z0xn78PP0@(tvQZ-XjOlvbcM|k{reFo(mfwVy)ton9dCkvL$Buu80MIQm)X(|FASD1<8;o%#m)M5ZHENN#&y4OSUi{cPl}bz{Jbqn z3ITK;!SSlVT?UK|kGmoxE@BdxxUZ+L7CMMWY4QK4(;Jja$(sk5|9TWY;3-8Ii~5?s-rsYS z_kwf6csvR_h?}Q84umQ=4W>~HUQxaPNp;2wap;9OR7=mRQDFnG>=+ql0o1pqcCz-D zsQ-F!VK0&l8?zxd1K1;JYyANazZX@%NB+^0j9m2pIaqRV-}+NXHc=S%O5f_A^0hft z(Q?10W}&`u{^q^qXw49sR9ujG)$IW_0`HpcV+Xf(t2Pby!3&OpnHQm_zkIWUVL)!v{!xI!~V555ZC*IdAN({w7caB zjo$zZrsyj`#yMz~O0A!3EZJb+@J?WX3O~5!j4+pgn=^WcvA{}in7VeJm0D&41 zkcEyKrS#QEh1MF?3Vp=YS5PpaU;MX9h?rC*5w)2j?_+;mV{vx0KSI4cLbX``fP;0C zbLQu{9H3(M=tgwz5InYOJ8pPsWy-eJ4mStX?fMlP?gv0F3 zOfSokjkeorL5_+fVKws{n(uhxIlL40-!jFkxM|3;jsKv@-rttGLl$75vD8w`PQN}< zE+5r1UQvi?H6|)xjxJjGxjtw?63? zl{?Sc44jU!<;p;W`S4EhHV<+vDsOmq4zbSI+-TWqczySwiu-$1M{dw zX#A=Oe8z<%$m6bpfCWEA$SWGWvGC?FSvySxJwCeO@|;C_opH&aLWk;?N!*n-`0P&m z3UEBw_H1d@p~9pK0TLewkdr05-$RZY@|;QYz@$Iz1~puk5}eOZTDSwwTE>$hcdu+> z(MOcfIOyHf$m%g!7K5|31U*&#N0=m*UbVF22Lh4)MD1a|?Jd)n&S31xq-QISzpqc8 ze1?S$==#5%{*@4*8tRI7uoHBm#0zD%08^h9=C~FNi^WFJ1G_HVX8D3Q_$;L=JDCPg zl$rJl+VsX*xV?&Vn`Gxx8Pa;%3K5y5J)lA}V3oF8pEO8++GX~E4O@6lT;x%C`3#Sn z+337k;ZT;8Oy$e_dmp5n*dljjfgC4l6N5wcGOhw!Z=mG& zCD^6Mt6?)LQQjicavS3<7y!6b(FyqCVm`d-XuslCG1rN%oWG0*2AdvbMbzb> zOVJ+w)^nqjl-IxH8PtXT7D`CrW__^`yz-#=H1efy|8h1 zCY{k+Hi6L?C5K+XQ`AOQ^!%oIkx1N?eBhUrCjeZ-4?C<`A0YrZyH8&!HfZS~BLVtR zgVY?40(W7bxO=uYi#5QU$SEf(x)p`Z>)^p0-&|@`ea4mRVCeQT<+a(IqaTlnk)TAJ z83t~CI93xu85C7WMlhkid#h`QXb(er=|hdrdzkbT464qG^E>%Oj>%NO=-eD?my!{~ z#M~vnECyfS0S5jP`8k8bl>Qk%YyFi1!zGW_vJ%XZ*?CvfolpDyNJ(Pmpv2nZj5fug?a-2r`GsgbQwzftdziNL%$C*au~=@$Ik)>e)o2FIM3-MHy>+A|>!0O$ z8zm|Q&8D!0GTWMW`1&u#l8Z%1aJkNSLd%c?Xw=~7V@m_b&M)YU}#@YhRsv;A?A=%g>%quJdBGD@C%s+@CHwqg`FM&cZpr9+JJNznU7QED)=+9wQ2Wuu9(umGaG(lsDLFJ zyyA6l1~3g8*tVc1W?qnrOE6##ca$2N8fs8r82y##$Fc4LQv@RAidR@5Uf_v%#j4mf6TZD>r^ff`r8mYU^25?wv)8vRrxpjsEP4UYeP}e;A^&|p~n;0nMAFW zBm70(9JBWjL!TOHRE-izVeOi&NsKD;6WKWc=wZq;KM%KSLVitHbY2QN>v2h?QNMn( zy4f|L;L7 zES2~mQ*c`*Cjpt7iLb_zV9lETW;eKE_gi(4#;Mye1uV1`*mtHcQJfFjlcJEYfLJ?4+j(G#e}-p zqr||4#McW*gNVjO9&;{$CsZi2Lx=Z2nI4W%`y%`{top7{RsBLn^ZqVHIeSqOighF< zHw+1DxzEUI#Q8xuZtT3xuP86fCyP(00d0hx2}PF&5kD>9N~oF|O$dhZ5w0T6!yoD! zlixPoA}jRMM3D@BH)21pS&bmvgOBC ztJ(ydef>vDw4{0uE`Zx9z$$bb%_3@n;Y_yXdYss4$!oFReUS?4cTGy?yZ*(pGk}RY!VxY2v8>8=VfT9{ zL3Z5G0-!}|j2C!z`t9ld0n5&N`-8f)u)~TV&#?n!C3K`CEb;7I7A5|1ThjtACya(N zi~dM=#Xj9XBvc1xJ`-AJ+~Jvwial_+$0$-kIrv2v>?wAD_0+7>AD;3wi|vqg3Xovo zS}F#-81IP8DNCf=sWu$z${i#cWHJh*oUN->_ zMcV-?sFL)zlLuI?IR6AyR5CQ9XQ!2Ui-T|%F6xRr2>Z?vs)dn76Wg~A7M;E0zY7SP zLcLtLNnjO4uLY)gXOhjTo$EBTFIIijD2iea6m-mcE(oO`A-CR?Q;3Q^qnhOFSNd;H zW6}590~z$x*!uuIU^(&g=_WUz<%v)}Yo4IP1J~frMfXrYs0J^{01wXbPK@_xu;xB41$nfA zk+PR7oSBxVaN6qzcny7O`}_+0Wr-uIiKSgp)xB*z6fn*OS7_Bp*Ixfb=7GvL?KiR7 zG@`N|@-ylTc3X76@)hO37o=}*@r^2*_iCC5a5#v&eGn@FYw*iR`Sew}llrw7jNbUx zi6d_}p(b^DG(o*F0SQWuML)oPR40up@nJY+#;CMax<;e}CdHUk8bVfgAsMDEBsxr0 zOYUo-<)a|+X7Um1)A(1}7Di9=J~v}MEOC#0sXY-`H;-^R>z|)*$+#1lna+vD0ek9y z&DEMN`H@6zTXNxQPj2K+9J_c6+#UByt47pU?!!pxiD08bor*_9$bd_(ykkZ;vqhm_ zsIxn6XnPB_>yyZ2>oX75=48(qYiq$&*$;I1o4&}L6g4u`i+8+1*o_5S4bPY3T+qY} znt(XSB^Mxoeg%2o<+QiK;o+330oW~@Eau#~-&0g3nEE+15h4->Yi5iWG&Lk?Sxopw^Jd8R*EaBCaC@4OHC``XJ7YYf9Z zkasxW#M}wb)Ryt8C8aj*3hX}CeBQWo+rQ^LT~&qTm(G#^YV;r-d~sfez=)URLdUL-I0CnaCG;y0|ZB{qM4L828 zg~#7MmD+&I?5szP@GoD$mLB?Y_%*64&`@eksBRpsc8aoKMT%58vJ=Fz zvi^E507le^=S|NWx&Y zP1>g#g$hj%BksSV>Lnx5Z)x~5ms@!6uqR-EB{0qFtq%;QpcqUP(HYE$nC@>(e$WP>p-sUqZ*EGY zWk1M^P_i-@{9BXwZ36&Iyg{zQ|2%9b!52^E&&MfY0A8T>GWWK?01>9c~J^ z^Qz{JeKg*)3U`tEElgo#Gv}tc$1)*52M?7J#5{)#nI_4i%$pZXlAFFft+^f~$KYl*003 zBS?hJ2N=;KuU;Li#urdPVRRv55K;6rN7#xy*14jF9op38G*CI(;D0Rl+4_s0tgdu; z9J*y;>?+Q`Gx|DV@<>=j8hxp+HS{FA(Vlx-VMlxAt$z}rym675{kRDQun?Xe`c8aa zL@+z~`19zAmd+6}nXK6{DDr@lwJ1z!Ex|V9`|uh4bZ`&H*~1)2)U?B$FGt$Z9-Sq` z+e4_EA%cXT(e)QPr0uVuQJahTE2PlF#zql9t=nC8z=>l3?p&#i^IbVmt3@)!)x{Fn(){I}!`S7hNFc3g z@&p*8isF!lFgqcY%A1J7vP1r;6Zi(>8h~L5m?B+D4i?3vM*wm#@}icskHz&?)3c^T-7xxEY91KhlK7I#5*_gP%C3zT&dgLF>m?CqRW;Qt{ zQbWS+!37;O{ToN#`Jen_+xW;uHt1)sa+^m26a(LL|H>WsLd#Jx3UC=5tHqy}waRGj zru(EYL*R7{9Z^1$%kualzv)TbrPc5FRjulUX9GtZ^cV~+AJOvb$IL48k@|_=`k~Gu zO7+oW)FUcZds;f~ilx*qD?-Fs-n@_I_)&Z<8G-QId(OQ;IM(@b6my3tmI{6t@+Xwx zly!hH97r89jS26mw!*ZvqgxKs-<10Ikff7h>gg-I_EeFWi6%QGY9)1MK24-23tO1R&bl z)8su9ax88YT=739Cmh@>48)eS4DJs6)yZvQhJ2*&E%T(Is z&rl`_p!;lS%~wy~*WVbWUT+Cl=Gf(4S#RuYIY9gxlC?{(So|B8XZr9rdKxe2sqX|I zzg}d=;y({2HN-_f5eUQgiD88-^n30PYZ2G#H0mlJ=he{5C_a%m8VqWl|gcWW>W(@LzQ`!Ur64ZPGapLvX$5j(=Te zjk)gLZzUq|E}Q~7=_ia@#Wkf*-9SQ!fXuAAJx5s(bl7g58|y%|wZH~Hg#PGP_A&Ks znqh8m@is%P4HX6YV7Y5EqPTqazPq=5(e+^oo$#bkZ)r=l4s&2RU0Bx(H^uukvyG-3 z4{qw$1fF#W_L`)o1kKV}z7H$(x&@M3oBhM#zq}Rl^`D?4?(%v+6L0T?s-krn+8NlH zV`ojZY?N2sZC-1Vq(!Tj1>SD{NCZ2wCLw${2A~(+$w*LLLF_&$#m0fowOHK6fjL_3vv`xV26BiAMq(qr^CSDWb?H_e;-K!dgwh*zvsZgEGsPW<-YX=nm0E zEV>c$trOQ(?#|Rs^OsMkGw$ z{N5@97hArGdFPH!Ms&o5+D50CpTp#FjPyGPF6!GtOR0eLcvmdx)nAe# zH>CBr4B-)4DZl23^yt$c1lVR_;WGWs8DLMVI6k2yYHy6ca@Zj6N@!um5iUdHD+|v1 z9mzYdbHhAdcGgO_3+!s2H@zKdVqWS|xr)6)7}=Dsciu$QNRj(^r1i@ATnBu+_D1}V zr0b5R`v3o2OL(Bl;w&N!)A98Pe-d+TG76uJzZZS`*CYQ|SN zX#S!&<%tD9FL$n>6M1mCyrEW1OTf|bd-bud9aE>s)>#^9kxUlH@(Nx2@0puevV5Nu zBL6*=IDi?y{6OAv#>wR2$G*KI{=@d+LsHumkgu_hFwmD^3ef2iV~x$Q;HXc}i^ zO%wc!yDgsvM<@Gm1Oqk<6++1c#Z2p?MP`@V8|Q`w)gn>VpSip}MB)#!(1YQ=i1%PAVQ45Gtw}*ZiKfw z6BkwPrlIl;tnu0wk>Zr0YZG=Xgr4V2l3+mpx9N3TDQ&>#-l_P6WhE6~O#KmXydS8N z>658tdF8ZU3%I1%x5E8Bw?O1Qil&&1b-FL<;XT^jkYVtuT=|;(J1RmhIWg^FP4IZd z$<`k-WUcS3Mp#cSw$I<&|_y6-nXq_Hcryo;$5;3Pk+ z&7ecj4!x7yVMVV#^io90O;P`07YBUbkLA4j5wC}$4=MzN_TVqLrO1!bW}6%~U#|&3 zj&(FMJDMP&!Vm4vYy|TvmXscP9XzOgl_s*~tuLby_wF5Y#{6xOwruQ~_2ufocG6XM zN{{{tdR*vaGqL1kdGD-PXnBX-cW!dm3w3yhyVkE?*qX1+eIvDTq}@xZE#1|7k@t@( zX&7bVbRazZ#}8g~uiYLkk!;F^nxJ|#9}yD5)c7^;M#6QiJJ){>ij}>RRTC)&g~{74 zxO&9<9mO&eaOf9M`=fIbQh>3oPH>O?Yxe#nD-c*?dY5o-FHgzz%C zHVUldWKG394Ugy_St)QxC|mb5d+>)72PiZO=O1H%xlfcyJZb7GXzACD@^GY-x& zLpp+n71A0-N>>Nm?}??=U0#ZYcAk-BiB1og2i!L5>%;z)0%A}cA@`NFbv3TD#|bNf zPD?=u{sQgNr0Rdie1b1ghoDG#`c_x;2)l~% z4GsnRIiHV50(pOQ#Cu5;dBe{^EqY`s(zPOyM!7m-h0nx+2!^)zLqei*R5)rv%wr#d zOHZTIFeFX7)2ydZU#!>Y#Qv>E(s{6j5e+(hZNKxAH(=|&+E1w1RQ0&XE_~Eeb*j|S zix)j|^xY18YD(Sx<8yZoukAJ1XT}fdPuW;x%#g4w>JK3j>qAtdR$BcwJ?EJ>erso8 zFSQkJV(p8EKep-S>YbHN_*=D97U0JYxo4ka_e;ct{u^|3{S5LQTd=bu3&!7+#ugfz z!#epkBTn!xv> z-mBhg-+i_q_idbJ?ZuJa_58AH0K=|LIQ#wWqT3Z=X`&}g>TBfOQmrdjg7CH@O`)1Z z=w#kOqSxX-2PxQlxuv%X2RoAksL)ZO6~}LJtebF5(erx7s`~u7Sp|edU4tm(b(j~B zT!o4|0Y10IU2V4!SG@mJIS~N*bOb|vJxk(U0)$Xherhu*{Mlln2yxklPB)V!_sTcf zQB8%bp+|0SqM>Nwd~_Fl z0Dj?p)egf?6r|BQ(Y8eGsmrH1q0ZexXXvPm;few}3h99o*m7Qze^EjNEE_XnH`&+gKly55z z=U?$7k`dH-9E8ce3&TH;+Va2JJqtfMS3kz^jQkQARvLw21U?*C60;giHIQ!Jm>192 zSF_hLvdDd?i3_g!*<@x|GSaZNAdXVz9~^{(>S|*x{*X0Ho2r)&g{edvJFDMvp zM|vtIjm@3|I~IQj`vNZRIUhAB-vj(WXaEhH^?xtLd{tZhxu-VNF3r+9h$)w%86)va%mIoUJpZZEHOm#VDRbWoDEACZs}ZC?YurXSUj z*{6{^JR!U!>sH7l=TJU+EW3r_{eoLS4p((JlDwrX3PlNIm^256zfUcs;?$k%hH$AE zkX$%@dt~z=jDp}I2`JDOi`w*MI?MIDTi0$Q6v~#Wa!4VFoW!WUofEGf$_%?T;bwx{ zX*+r6Rk&Hhl^n+N`YL7G&vt(v;m&jToa!fz_O*AN;VEerTiyHN2Q~QI+gp{Bv=qcv z?`Nj^mF3f1eA2kM@lN&Q=k2di{VkssM;D`dX{D+$NN2rBWhRNsUp=1k`Bt z@{0S>UIS|&f=7F@) ztU-7W$WGr4r~yI0G*}n3hA8~j z`Pd=s0&m!#Y|f>uHMlqXS!zL7Qy(2R$+3^(7_?3A< z(CLfw8bL7aE5+e7A7_^VlHf)4-pO=P6Q7Oi9XIaY_(@J6lVv8HZ7l=qqmZgIRsp)W z)Zi>c8rJ@kUnJfcS^bg0l@5@xVxab}R6VNqwf~uQWwHvK4Kje?+m*<88hk=tdT=;E zKgRQDF$(@P^Ssy@NM?|$OD$N*FDVgJKHY;bb_V_1P-zST&s za$lVhs|@IB6_(rjdoxv`)zKp42h(nGNXKo5wjTL9d8}I1_IwslD0!)iSIq~AjCAq9 zNISiiHaaXlIgBzm#}bxb!f#7Y6s0}~;mKhG%{K^epzv+H9%}Ih=N= zM^zP6ND$zAJX9<2)LYOiPamakZkpj`^Ynxbv8vs0sKxS3>*Wa#i7n;Kac)R!Cno!f z7I`)hpH0yMglixxJj<4BMy>BPD=wG^F#KRex)tr@t=rQ2javE|-?N>(b1TW$k9^#0 zY{iDlb0`E-VpngF$3}RDM3LZF*ri8BtZ_lNgISdT-|o<}=^KG>?Y{S)Nhbxuch(e- zr_~@9{S$xeDA#w)1s_t_!ka4#hAx(7j>M5L*7o%3$$T%~8*?}=1#G6P><&9a7g^DH z1cfimbXQKdlM7qVVWC6s>v=~P_{VTlwoEQe(h}b*sGOx}GEn*IB<6^rY>+w(f5?LC zEbqZyu~{*;S)=J6ob@de9{G_AgymTBwOfzK5+1ozsZ8=FQXXMkIVM=i7IPBy+OwU8 zdU_#mLT;2bUb3PU?fPOVz%ueeTvdfzDZC@6-@kt)9IOnJCXHbysoh!R#^&=Avv%%$ zO&MmC+}uXI0O70DR)_1&VA2@(cCGi;Kz4>Y@^~NAE=t;7Z3t2u%8G#ldHD@+j%QrS z`%^&eLs5?2qe5ri7>czq%Tmzk%ZtEYH$>y9aU2AMd$c#kKej1^&0o75j)^RM04>}A z6F=4iqV|YuTbpks;2wq1lChs=xK(ag_cS@Fb82_9ghI=)y1tGyMBI@%Z7nlzOAJ@c3?o=RM9GeALe`Wy_YpzNA9_CyAN$nm$+OF5O%c_5o z_oo}WznxcK1j|66JR!}8A@;%qedE~)qQHt2RVQ$N&!6z9?S6bG6r$n65!(nL z%y&3;IVe}i?EXtx$dfO6ob}5{vSvD>nC)B5li#^bue-$kIWwE@Fp9tU#nPta%{|i@BJazmODYO zhu4+@Q9I`~`@D-fk5i{NA4IT`?aZ=|e77pPSFNzAHFWl_+;vNDNNXKkxO`IXeKKAA z@nm|B$yW-z42`A*Q}2Uc@gj8wmj3`kGqq3R$W|M2-&R2Qo!1=f@uBdAS{BD^YCKbB0#)fgyJc2TDN=z)_`r>7%ynoFbl%<5;`lwN z<<&MSV_`8GHuPB!u}DooKqp~9z2*`ED&mv9@%I7%3SS}JB&KI+LV}>j_i(paJZP9q z78jncpl>Guk0h&a1Oq)mnZDcPFst%xrKz^I)mgEoDc)(jh-1Rw62iIo*oa2~Lk6-< zm}H?C+}KoY>QHjXE(~eCx{8bBrCOhz!%1MnoX5$?+Rq=hXkhD|$Lm=Sq3$~yu9_$S zk2#zno{_c$To5Cn5#y~QEjI{q(hC~cN!?=-9Qd%|tNUsS$WH@VA-+!MtMNhS___(% zMXD}C0d0Ly_@l!($ro1~77*)GlN zLhw1;whjTl@F$;;5nBvI@)q}~5)0_Ra7*LQR`aY#C1&@X*I0yS3Y;(zX!r==8^R(L|?d_5~YPUZTocHUS zB%pjRc%r>YBRhUT>`3zG=Ii`c&m%Ez*`9ue=q#^hR$crPT(65mnX^?h^w=CoIt^*X zV__d@k)Co!!iY2`M^3(8c?Ug=*0-Qeuq(_ln~28%;r-*KtdM-yBSo zHCRfO$=I;oKrvt^ZtM-|c1vU{{nJYpk{@+w^2v3-A8@bFOxKo$i&_*8xWh7evYN z#_RIS6YMNY;rJ+@bdmq;PZn#zyUUi@Kb!t`Gek!Or>UQ?&e`!jq;fZOE!jlmdw-i} z)7j3iv74T;*0ca*IzK=p0gTQ6V23BsYi-xaZele~jYz^iugc0&hCTZwpTm3j!G-SB7?R&aje#*NYwIS3y&N`5P48+) zR|c3u$T8ZYE6F3;(14{6xC9}L*j9=$8|y(uOpKUv5NL6&vLBR0Dp5>OAa11P?S{v{ z4*OEGIw=C#2Zh;lKiCRj#8A)E5qY8yew$FAgvM%MlU8iRd}1cfevt*Ev_WApdTGyy z%Rp=+ls&pR+J}O$N{we3$&|?%x3j0V7D;8=>{#p&s8~5i3mbj1Ty2YPurWJ6@BS_y z7iCFyal>Lbq6~I*!{g#YVk=*f^I}!-?E~PWYfj&H~< z)(L(EcT(SWK$G=FlS7IrTU2b6@xvvN^;HQV7p^-E#Am4&+TeZtJ zvi8&?VoM+0PV|Bj^HaaJj*p;)*|$l(Twk=4Ld=crz!&VVEENFgAthZHyI8KxQ7!p) z0Z~xc>x|*t;qK@#8F}b5-~7rwTfbC67j^p&sQcva&C$R=(GLTqOm>Ej{I0wv5hWxS z>mS4gf!Vgirh5KC3XFmfP>Ea=!m=VH9CIX?>Kf!R&cB243ksvS`B_xo^a_giH7Yic z9~lC~)*-XwV6n|#%%H$zE%DbAZfCc{O0dcSCT%Tx-)&1G6v}XCsI{U0LW80O8cbr~ z_BO06Bc|c%qJH|tV>`DqpbbJTsWo6lNdY?vIVQPSfZK-e#D)gt(-3Za*sMCeQp47h zOy9E&X>aUTBf*eq;*N8UX?*P~LL881_b)uCpGAWsgMgFAbi94i_mpuZd#~k^`jKX~ zB47% z<5;`)4-SjePidRf-{DSszdWGRD>g~KzrXMe;@aC}wTRbcLy9|6OVkFkQ&7BuHj<4h zu5P=eJOUXdjrxd9>NW0?dihsJ7?~T^w8)5)x7GbPpjDnC_+2~u=edwYQo@tKf`$&7 zQz$91bVt*bQ-QpyB(^v+B%UJ<^T;z360QF0>GEW`2gkIZ?1I`!X7n)Mpe5$N44cl_ z6|RV-jmbrmd)fNcfHkI3cqS-nb5qIW&k+4EZx7V-b=KPpLeRLDRm`z4qAYM)!6FjX zbxv>1XB?bxr=EEI#q*t8kqhIuOGw&<+5>Dy!p3ljsD(Atv9$t^p*|8fwpdGW21Uy= za?-GyS-EJZ81LKW8)%12k2^(ys$tLqL9dRnjfxNQ+o>n4q0^JT+ol^2XveFD)H*Q%CC2Me&%|lD@px zZ!&acobb-b^XrhPh4jgVdUr?Aokq|SBUtTviu+7K&f@-gu{6kChM^ufmX7-aw_rRU z6KAq>_v@S3*L7a8K8mjxHABTPgxIAK8QwH?)31&4*io+7rKnT~-gk*fEvAV2rz^U? zB8l%F?~NorZaUnZ6Z_k&g{Za>?)1;hE^J9zthQy3Y`y@u@9cUk4;&qPec2Cu)!5j7 z%R;)1XN=u*A}A;!++QR4VfUFYssmv1p8P!4@x8AZDr$4XLad{~S|gh|uzD$Ukoi@r zYm#%;QQ*W6Ui?VDSC0rh9QE`1_3Gs(^Unadir5>gBpt+OkHBN_^Pe)Y$K}E~}||2L7e6n;amAUKv`R*z>q5 zf-F>$DXKmywDY7>gxEl|y3`$0y7C$<+w{5?D<%?#(6^T%9%%wKI?FO)&u3UIcxWq^ z#W471Q>n}NNw=CGPoe%=caD5_Q}XcA%k2WIwb&baOQ~JF**st#bMA&*@Aw)ZH<_6= z&bVy!=5T~ar20hZF(|AZ7b}=fteGt35R0UX5I1L8T=pwp-Ml?7??l#XxI$g6tA z9Ven|n=Xbtn=bBZp1s#PP1)=xw&vdJL?r1~1DaPSlP7qMd;8IGjoxHRNfAYhKP~pZ zci?j7YXpL^2Oq}{3@bQeG^6JdqW5Y65D4aG*7H@Y=T1==({h-HllHLQyGQKutrn}^ z>lqtzv~GjtjvdHSX_%WXf)@F>^sxw#c;UB7{cBYf!e=+3q{-db2zXhZ1t~mH%Z7TI zW%3(BJu~>N=lSFOq?RPWJ86N_+XL)pE>rSw66)OtQHp!UgIt>*g4!V zqatMP(+FJr-q3V~j^ZK<@(%7558Ffb3nYIx-yAjAzP@n0f~dJLb$a$z^j(vgt&=tV zu4u)+x})k?c3HZqjPbi;R!A8-G#RyeQeOqrzl*Cj0`VO8&26CIt#V8@`5zuJQQ#Mz zO;QoQ%VxIAutU_?=IW$P!KlAK`jBz3g|0Jf_k}rBycyO z_$37@VK&jTz^&OudMH{j-2%!V0Q6@EkeM3RWwi`N$SLOu(V1I6fw&df+I>B4&YpiU z+^lGYtnfymklD0EAFoT7Uv`na&wqWKzeEE!prf`n*CG_GZ-I&6C}P2hSY*J~ZJ)i<9KPb^U7t{+RZi*t$1aM@&lH)^NHr;2oktmz8n7{2HTg?`>H7g_+ z^(41sTPBAsPU||-O;d^=)siaBg}}8hCpH(T|JbA|RDm&&`cmLkdYTu;N!dcc9LbVz zY^w6fgKv>t@B=+spkND9qLwir**O(rVg^KbQd9TKE;<>fxEROn6FA~yzlKRVkt}%8 ziy#lky?e)c)N;DiNerDQ#_rt8RL>xGAF+!5@_EruPH(rHD_SGfVZ^tG8jowOXbMW| znUEXR`Km8SI135nO(k`_IwEd z2~*l%vLRI|i>WOm33lrVwocN(0;^?~)dWdcWsr=B^$#dtitvL1vD7!HRmQ}_)xP9S zE}n^+?jCDSAf7*Gh#AOb?D(`7qYW?A8170`>vA zfq~Dj-#(Tc0u$3bohJ7_Hice34wA~47Y}&XbeGijg*P4sltizPQwGzJhRKksB}En# zfr7KZ>%hA)3;54<8F&Z`zBmUHO&0_p+{F{T7x3aL?Mk90VE)l5PJ6>SQ4#Ofuo!eN zS^u;L4Px<^`H{7%R=s5#YTOvL^xFIHj9t6v5$D{>yE*BEj<`d_GwN+EKVyNnx9c+c?S>9)P+$KQ7B zrg(S!G`(IO2DYy7>wRu5&n?r~CD8L%;Gep_a9v?bk$E^pnijEpr~P)8+1$(E?~m0y zm!2Hhq^e~@BCL?Ai|0*XeA>jBwY~X>8WWljOnFLo&}%uNPWG`dNF>2+hG&9$`sdha zA|L>Nc^2~ODIX)!9L#>mGZV6OD6j`SK12NYmq7xni0Zm2?T(Mvmd_mr zUuWEW1+XmBlOLw_#2VF-4}Deb`E)cQ^fErrJQaw~bE?JZE-MCDD~zpR=JHYRXI_eS z#ZC9c&cw+Ie-^(qY2s~+xTLl)LUcu;3wu=`-<-Nz;T%_@LUZpP^`R7ZvTmPA04P<5 zsY}wlO*>NkzS!Dl<=*q_MdwtSd9ZJ631q1dYG2;h1=(ruO2~<36}5vaeJ|Nb+ufw+ zL(js_6~Z82c&KLzO=&~6*toAX(jxi3>LaBS6MN7TE=y}6h4He4y7l{(CY3BP|I|J3 zpV9XiuyuwHG?1gh$k8dVV{B0rJ3)vr^C+95>fY;`u#KB4E>~TmE~BeG%R*w8J9kgp zMME zC#b3Rz98E{J$nfVnO785p@K2r#A>&;LR+MP3BFgRPPvq!iBr;i7gzlM3wP%K`5&L-Mk+{tfu;(CBPQs zh6@een0O3{RTqjmN_iDnQm2WSGnuTmUBktCqf*({XqGac{kV>lAI^;bzU)-NuiTQz zKwujD<@F41N4d!RA=_H5(-_%G(L%PWI&br{Za25RT@~5*LL6@Qgfw_YO|q^O;y zYS`gZpTXqajlg}3e6#%UHp8jT(m7LY74u~|Nz3r+g3OdeYXRG*U!mrv6BiN$=_t`8 z7Vmb!lFFnV(qL^1q2}H2*I3*SF4DvJ=U<|v#;qPC0WC@7WkON7{HMiDQBpwaUWoNV zNedGyBr74+C5VAh$k8^Tz@a(?wC}^x-L+%u(dOJ+a$fNZF1|+h%8qR$o3}>GH`Cj% z%xkXYm95g_rjNGsarR)%_bj}^yXceW$b;2b%a-w=dHU{Bqp#aHJ=kAu@xS5y?5PcG z7faaK@(TxW==uJ!Skb6eMb;DZPTwi%m|g|ExJJ?0-L-avc(}r>4AfL|L7n-|TH| zy4%0?;CEL@G4~Ut*SrK==XPz+S9v^l=yzC`SOPEVoId-ESn`mwv24 zY%CS%eVYKkMj6Z&n@8!8{DM&=H#W${2S|2G5&n?Y`yVb4PMkcg1x;{mrPnSzEMJ=< z?&-}K{4^q26fQsrh zm2f)1CdV8)3iVmxm5B)DqSZHCiZn5fy^qTI9zyvN{A|?9D#sYmFAuzK*D^3eHU3o! zY)kH=-;GNsY3cO-!#yeX?}jit8tzr*I6b8ArgM#fDp=c3)Er*yXVPq}@%P ziP=5S=()>svAvd_V-Kht8yuU9n z?9QDotLaCCYVD2$Ia`FfZl*D8h3zW}TvWC)Ttgpq%@PzL@`79+?d@40(tnQvGA<9; z)Oqc-yxif=Z*gA#EmD>xZ+p#*lg6}6d#$J360-}ZoJ((YARC=Af-ZW7-X8}1dh9NI89YAyMuPOhlXOkJVcqeLwL|5lyBm$jt;Lo#+sGG86P^QdPowcv1PEuGq&3PWg z@zeIpqtm|u#rNcZOcLk$xN*K_Z6S;Xm|vynl{mvaVsLegHBXHN(up5`^8hxTFiPLy8(3*eTr`dqZk=E{KOn zrpVQx{lL*XgQajdM{1yA_aPq?s^lE@>N+V-dpA90fs5+`<>iq7J+c0|1Sw9pv(Puk z*sH*KiE~~eK>=IFA?^fn46792coH3-)y-NH)B`9w7VA8C-rwwZv=maYcy7>}yTuyl zc@P}hB2r#fIF5B?q<~Hm|lioc`y6c%428S6x1EN3h32V=%m!^Ue4n7qe z9qs$h)hehBRgC#t(o+*}KNR0SE;~B}0v)A9;`Bf3LV$%!PsW4SI43n7=n5dXG*tH% z8UD0v^pYD7`C4pm(^(`F!pkd)?0k3CRcr8G^raUJWC#k776USuOxW;WMr<+IoyH^OlG&~M zElu>KBOF%LJXT7*r{@Y(*94KR$zF4G9iJO$FdG{UQG{0Qxdv2f!xvNv+uAX+tQ{^L zAlYes+%sr`gT_GC`9Ri7=$mYY1E{V`PM+a2iS@xlmEbGDxo^)Rt7k)!u}D2N=(jLO z=zU5E_^LE0+uo-nsx^8nnY0f@U;dCKSVe;q?K9`ed@0tCX^C?3t&0={W_$;YN=aLy zq|t{jO&zzf7murKkV*4oSTX_IW<#oF1PdeK^U0eX246dNU|N8E1=y}|!w2wYW+jW! z$z~-W$J{LvbuZWf86Zsyt0lMo36MO7oNwHUDVmu-CWco74uPeYz(Ti;LJ2Yx)IU^6 ztZjT&wnv-6@-xvn0qhWl(y;KY5dwsQ^8zU-7q*LYpF!KtW1`Z0#%$X613HGV5Iw` zEc2$`>%EuvjC}(Y={@=WLZJxjn?VE4c20@Ya5gFY_n3zs??#^_s_O3w)&Sw;~^309ae0F~OktfKAKqa~6y z7)WDv@`4lrelj=fEzvRH<{H;PAiN{ltH7N@LdN#jBeF0WMW(^V=CZ`BBljcf89kZB z0hz`Lzvv(o$}>JE+HYsf(iC5uEPa;uu}^5$K`)yDZtJ zgy(n=-Prr?gF$8T2-I=h>(>JpCtE>ydjt6?X4nh_Q1Friiwhk#rBSF6AT5#aFFQ3M z%)~*L6}rgvKxX8t*tVgSp-&T}(%2#a1>Wa$eN?_kPABUmYAdGhk7KxK7ylw`v- z@EvBc4v+eyYEgntj!t8$| zy=KV9+JL)pm?O!MI?Yipo-~H|#4$Zx>aG(xwv4Hxb6J+Kcons1TyWp0y^Ol^?To(e zqD%UWy20LaBws07!zl?ULghyD00^BC{{=bxG^aN~$QJ=0ncT~#_Rev;mJZbjX4a^b z>T{~&st{zZEpw3uoeJ9!dhZ+Dp1}i&XZXDXYGiA^<;pd5*+khX04f17mXO}Jo(Di` z{#zG->Bey+|BM~X(bFw_zDHtf!6bC=HQ_jqciWG(Cj1BE>624dQ6+aRp}1=!)C(z8 z+*N*=V{mnY#(MIS%uh5QnXO{Xps*GxoE_(_QyPw6R6XT0jLG~p*Zj;GS23J~l3UI% zB0$fWpFPZoA|~cAS&uOgHq4J>qWw~D5Uf5(Knt~VpV)%J63g1dxCKH@4LMPOrUE>T zC25aE@Eg$+6$=1Ph$u4Y7pO%+R3ImsvSK&2&3cA_7Q|{1iypV{nH1Q(sSIFKOB>P6 z25wXAkm`QOF}TG*7=GYF2y;Ygu3K(bGZnUxo2{2%s#I>&QB~OJ=JBtzIEL zRbjwNu0Zge6sI^D6h*6|Rj8XYoBa1hE-b6>KahlX&H5i+huBg3mDx2=$8hI?zIEypSyRnHUZ0f>+kXocmL9H+os zSkJ#!gW@wNf|gw2JKCqV|2X^&wv#{boy9*=@Ev=-X^^epMbO(;5RRqOJisqQ4{$~v z|GEZcFx8gkBRm8FusP%O1NO;R{cAS>; zYh>aS!!i_OsggA1SI~`nx^2|SA0i|oWoSB^Lhe@LG7jlTX{yd#XvH2meNxD;Rk%PZ z#Yt7xx_V#zO1B64ShfdOYho0%l1u7HTK?0V2DKM}*B|~#RmHIrbbg4c4igEQ@QuV?EZ*S^E&#Z3>K0znS41CW+Sx|xJwGgqEOnt4qyB1>! zuY7Zn2jH|$inZsJeQqd!*K91GyI@e&L5HBz?dG~_`$HRekTZ;dY2Yu{b3V+Xj4#Uz zBi)ypXlvQ=6xD0Cpmr{SMEF8l`HMkwDaOrO^QG`aTLz)jHZ9a>UAw;ao4>BMNt4!(`QJ}rs>*AP~iS)>a=VyJIamV^^Y>LE#(=QQ`Q!gI&`AVGo9VpnGXS=%Ar1Nwy^wY zK5S=yKCT?#-6wT!vzI{L(n=d^ZRMbErRWhJO1nF%mO8eRYH1}&D-9$?3k@8XL$Kdvhx^Ga>N`;m$H8f3@NrY=Jqb$dm^ED#$l97-Ce z_svJE7ujIkc9I?NyiPlImK#~)qtobgMTf`R>NBrAQeZ?_@YooG%X-J|?0S!Aaezmwq1uhZMN1K5aYt5zL+SDH1V-W7$)_1ZMA12NA zZ#FD{$%&v4Rd=CvAG)x1y_t>ANgu};mIJE|LR-C*uhp-|*ApYoO83Y?!K#T)ZjLPy z7zV;7ZwL*=GSdtT6Q1Jq?Vj!vO;IH5?377;t!A~nH#wc0n64~)#uSlN}f<4A)qB1 zTvBbF)*;0b{L_!1&DRuiw-*~HlesZ2kdHEMBzLT-NF)i4tp!msKW9Z6^GBv7P|*=z z)N1A!ogi3^yVm^1Se|8=2MBNY2S^X6KU)(H$$C}dEbn?ZrAsYAu0XD#rSI>z8_f9o z6=#tJ_s%Xp|0T0529i% z83=4zorK_XXD=L4S}&fsBx@LDXR0z)vwULb+ejckb*6qeNT%Xx<~&>vG5#}ppPUG+ zO*Fd|Z+F1HQO!{>yED~WDwZS{9+NO>z|2ATEpTCE=DS_F{StXr|JAJ~JODYg@fR0~ zqBzVi?*Cgz0dO6YP{992ML2%v;|MS!DpsM3#sHK?Gd?M%WPPy@JaH^UC&l;o2@h~p zv*IxbxTOBkRdpnltNRigC^rfl{d&l~b(r zTRW=BfKoo)C&JUYDpA>{@>X}p!?^(4N=aGRK+r22Q4abP6NzRr^}mEfS0($#KX-^` zcG}l*qO-HC`%@m_&}#j_a$}k5-50Qk_YOs-SbJ}mAT+XbV_1u}C+Ia{A#fabqxE2c z8PXYKXq3}G#F9Dx=eC*e9GS19Pi&S;4}>>-ShrJ~qlm20^Wck`((jqM!pIo1y8SQh z!dCr9nsH5ZwOPt(%AOCJ904UWMkXSk1j7W81_NSWm9qR=B^4H6)=*0c+odMdQTNjN z2~p!qC@?{Er&e|w$&pfC9+_|DTSobjqur@{%H%}AyY^(pF;^V42=4(ctpIYfj1h}Y{QU#q3zDL!@n1)Z@FSu~{07)Tva!A*vZF_p zPT%IWtkoh#oX#s|`6wXmvoSlO10_U%KI12s>(>;Ij$Z~}R__LaN(d|PJ@$~<|- zyA#B{fqWMw{w`r#1|;L_gGwPxb>wM4ZqKQf=WL`ZvsVqkZJ+2m^%4Z}GJNc8ZOa%wtC&6;3 z(IPdA=X(}y8iDj-)mBT9b+l6bWvlLhR}OE`JqPgm_=jlaVCm5ttxLuAY2SjZjS(s9 z#yOs^-Ho3Y{aO-@?zLV?6LV6KFdhnB|7~Aehra`yNLxFxtEK)xBkWE0;~Vc+UGFKi zot^8xs&9kmuPJ$T4R00#^j$U6I9IUseCCn=vwKa3&p9awZ3Dnp^kY@N^{lcRUD|)V zOv|5@U3lyjr}|$GmE=6FOvucC+&}YY+&H{%g)(1u@`N#qsSQ8JTLMECke^y;eA8Q@ zB1GhO(6LZY4GNIw&&dIpdPA?^2Q$;7#=zM*_c2T3 zLRLj9mcD53pIPrM{}6|O_B!Uq%Zn<@joWj!ta2wV-vK9_OdpYV$@MN-K~sh^nK)O8jJUuVRG;cGZdCqO6swsS!%EST)#R z?4^{|gq!(UBH>{NiK`2HTr;@Sb$N1=+yBprA3zs=*!60uMHF1gkzTBU3!UsYNQPzC zO|Gx9K}YMK^vxXD)X`U@JRl|hexSz2bzgSzQ9mv56FE^&MfqQT3sQ=T=bpF&I(nI$ zC;@q!{dx-Xhl~@NB>IXs~)&{@HfE^zNJ|iU>z$k#!H55Nx zT6w%9?}xM_k}$#UQ06qvX_Bz#HWb4|{(O1SqTA!zpZ~g`%2qI&pJ)+}OPOOu&9fnV zw*QNi<;352jbL<_cRL}o&F!{L)u@h~O7MBtw6>qQ7u?1`C~L^32p-$`8#v5k%0~D; z_|!`s*(v2^2lo)Np5p{&@w=pe;Td}IDSA*a`H$$z=fGY_glb13P-+Uv)nFma?yp@! z86?>WfLp*;*&@(^(4n_ z^>xb(gM}eS0Jz)@zH>kLXTmB7mCZ}CK?7u2oN40b)-K=02hg=_DlkzHGUw@h7{;5o zag$miQU5js)RbVR;B5R!WH>N-IRsb$k5MlNEZwyGP!quT2MXdKeJ|w2yUZs!4%i}i z#Q+1UHlS3_-0hHS3s+vACv54i^EXh&y|Q4a_hpi=mmlu+&37zgI2@C`<>c=lU}`~b zRP}!caJIZ%EpU4)h})6r19U*Bs$L-s3J%|I(B&woy?wpJ>-Tkh2aXg*l)W#FyqmiNpHc2;jApD zD;tw;#fQgJ?#%{iHpY#nHXYiP&BB+stf9)W&E?s6;^YTz>1gs!f8vSm;yj8^pVGZjIK}Lryv4pHT)Iir5W>sEovjHK| zr?;oPhwd(`S`=zS`NRhbU`_pD%`e2*?gmA*@TJwM@_w=V+ce(>N8aeJvBm5gHR(aHr>sgEvGKe9{Z2Cvu#&~&4?e1Oc~itilr zkdxdkFGiR*@MM$O*C(cfK9UQ2hQ<75@b4?=kv5TK1o`Bal0Gm6dHyOvZJ>0f zG=%4Fav}uOh>}i9tHj0A_jIS*I>9g0b{z@(@)D&DYAUu-MI|4%9 zo4fXjPiB)C_y+z9h$=^VmR|2yi~Pg{wC)0f?#}8c;9;p9(bd>W?$*3Z`d+=4+ea(@ z=M=+FpswnPFNolD4k67G4V0iIvVaJ*gwv02O=hN(tmmbd?pU3Fx}tEd}AbLEQE0R zDdFU$#Td&7s8rPF%}9j=pZ;5?(KO4_dNq&WNE}0{4Oovh)3I_@x{!b^5MFmg#{J2)+FKhp98BuxPr=5uw3k z|D6HPop2y-2Z(MnrU7#Oq85^?Lp{PR{UiNeo5`xpT~6*a1$?>0F9dj1cwE`1uwvuO zOAK(FeN(nWpkq%yzH{r%}N7m>UqxR(HbC&Ayzg4reabw319l<}1v?UoS|XUm$L zo2h7IoasAfY-aA{5Lqyi?da@#`+_}y;9s&sEgJg)8%+w^uj9Nf$Un4&6A{9QF|in# zL{qe|BHaFur1K1C`+eIuF{Adb-J+;nwO3H1RYkQ%ZK|}k#NMO!tSU8Al-AbTdxoMB z)ZRi9n=;7cj{;bM9i2-4*|ShPBX5Q#O=W2 z3)jL6BGp7AkK2#8Q}!SDs(hJD`oj2!dgs@6yvK5x{mG7Fz;(3k@qTw?csNA}PWIbe@y3GQq2sJ9xv?WEn-SK4d&i?fQ&1JvI4ngjA%jao^S zt|xjH2|zGBumI25L&tj^HIoL@A%U7SJj4p|tsn|g<&&=_?x`3c7kG#;wLrTZ)mS6M z^Y=rj7F~ltX>%D&>P&~tk(U_XRrdZKgpCEZXary@nPRi)QD#P_jPK0e(heyt3u__+ zB5@}l5*)bN?%8uSw|V-}&;4WqV>0XK?>$UbxAo*riyD4t&aKFi`Dd{ zglPm}UAOCfXfo3cA-0B)ReBW$AWNH8|TR*UOyJNxXL~ z2fts^yqf-$CVjhx|IW6O-Pg`;m)Dq)zfWa|mr-mun$Ei6xf?jj51D=KlyF;-bLPY3 zl?0Kd)ExE|2E}S;_~tK`5Vi_fP5*{VaE=B55L@uGV@D;4Ul}71 zaNr)*MP@^;O@M<105!>+@|V&MoT8qAf|UH;p0MeeAwKEDo!0~O?mQu98UXL)%WHk} zN)$>gSu7|!I~MCKaz6Q};K&uxUv_`54nNpL;5YKw<8Ap_$#A3)W<#4ER~R080~5Dp zS6#`SI@bndBh->c`dU$`Ks-!4JWeR8WPdRRhx>34FuFvho4;Hy{Z*OPui))F`R)&{ zUvX&bPQfsp)*u_gkil^$!C_rOOj>?mBBxM6OF`XnCnA$zs^H}EP|x$N7UH*pi^s#) zsao$z2(xvDXLo76PL_@;h?LC6x8`tWbw4JFcEQ+xK<&U^^j%<`Rartt;Be$t8sFht zd`giC{^_b*HW8=~xjtV7YRymR?7mhP5-Byegl9DC5?#R#?hxbkr#?7rjN4@|=_WJNom0vm6!&Zt*UFHSm6@~EgONasv#je>`XHOOo z*cDG-hWusFIK|#8u7+*!?_Oq*(z4D{YQ)bvz|EYNR93WQ$Be-Vcncl(SNP@__SoEH zNk}nRh5SfhI+t>#H&y1E+wz;jS=6P~Nkn);;~#E(0Dk$R5y&;Q@`bZ~?2q_97cicy z^5cr~_x#>vc==%xk3P*Uhp3i$!lRYb(}$!$vRdr}k=mpYL$p{HO0EGUmpsA;4^NYy z#guRpSH!7OE@S0Fx7Dt|8=>Ic&~2Z)`*cSFQ;eHrN^zCg=)P_55`oD<1(-peGLW#9 zoy_v{C);`h#|ikn$R9r<3VkEnn!k810LB}?XP9>S1sR9Chd;7yv-VV4k)4r zWbi0G2YyfizFZv|R5_usMV-+&;osp62ByKz{0Dl5RK-$b(WrQyJYY}L0BQr*co zObDKxecc>cGkA6_3D~QmYo3jgXyi-Au@{65`MxTb|MZGN^-gnZB@_Ej*M~EOXZ3&f z4(`3FqIePeGYQHvc~!BW`X)?-Zs)APOOP)9JpJDnd0?C{jgk8;RA5xK<+ zbO`<_CJUTDy7zjy({bc#DEEvn|17c>;rOE+5Co=iayIZd>|zg#c2BckAA0ATCDw;{!Nirvm0>~jZZ-S;@(m*Nw5$1JDMWcd(`&^v0 zJYn*94PF!8QVWxe*FOQZ{|&NFZx@o>Ov|8OZGb*OooLndNO2|6@Yg+4*EF3v;Rmy# z(>;qIdVB$vLU7@H2X0*mZ(4OKm=te3_v)sW5l52yE6q0V+j2^G_$5QcOxt4ZHU98j zcHs0Ul)~!JF9;C@v0R+0g&7_t*{%g_u?7&2VbZD_ClmyZWqM;pTkTr+&-Rob^2i-E z0$6pnl{ZjzG^BJE$4)Q90@p~W)3zhFf7h5l{*uqOz;eU4vp!~J@h_q)NB59od`)fW zZe&>4oE$N}S$7|P7IA>ti!!d~KK>hJa_+UEK}{2?^$e9gq4*uRG2N7$O&L(xW`;uw zgn#>bmcXdsFsEXrcKx^LUQ)aHtCZ`xbblVGV=&VS!5&y=Wydc26A>oXs6j#GD;vH* zim@Dw5yBFf+Nd9K5UXktT~#?rt;>@wR)yC8Jzj4KTo;no3f?|!9t;lH)%7@BeakYz z?JXcpgBk1ejzm`8KomMu{Z&+w9A6AVhXxrUZz`>en>gpE>?DyK91QDYBbc;4l;C;g zH_tXJE-zTF?JLgHIE&jiPbELM{GIizYuf}7`S5v6b5J3sw>9U|pj2Z0 zoFPLt88-3;%^%a#R@@nyRWE1yk+<(Ynq+u4J$2F$jO7hY`b(q4Na_myFVQ230qS9Y z6BC?Q*EW6$g0T8r_yE?hOA4|{GnrHH@7;j`k4Ei5t6l)mpjajli3fp#Zdpr6d26fE z2C~Y#_k$aM-~%SiIczwgJ1S|mNSmI0^_t0Gf;6kzU&aq}j)M=psqsu93%AtNZs{zr|2eylBMP-tAudp>S``+1@MD7MTw0kT z=_fg};2nF`TNi`{t`Idlsc%044TuEkwO79|aOJ;{Kev|Jr|D0smMh2onKvww`)jn+ zvI~TmSbf}MipV-H3$Nh`Zf*vS0|lVO5l}2N#hl_(GpxbYF72?d<}zsT0!CsPD<&5^IPGoS^_F zwH+8Q${#RQp+i2h9#)oC4t=f^%0Q2mj>-h;e|&N=^;-Guy~uRc*n7FBx=&+;MyYS5 z(-n_e#B4sJLk1hSO@(E@VZ^#`d%qZjZc-l@Q1;i}o6J1<;(7{z7^6h=wpSRJ?wZ!U zk=SVqpuy1_YXc+34-aEx5t3@MSav=q**sya63M>^+E-eL! zR)7AK6aD8x`cKoM!P9@YH2rx<1d~M^Qo=H|9xNTGMcA-zIEn7w=EyOV7Fq&`AOoga zIybxox2$XjjkQYe?L#j`x7C21@Dd=PuS+I8qYT$Z{A~;Gydc~H z>_x#D2Rne-pJtN8VTnn-%9W32q#Df(%sgamK`DQFj@PZK{E_If&h1-5flL{Yv*+Wg zEHF)a{$;n%qpU&KQH7dT4mZXMn^{(`_=Y@WkhRtr!9pz1Fu)mub1ioGxyUJB`-2t7 zn6PTuoJbZs`|2=Ca8HqtRv`=2a{nV^vEBo!9b@)wLj{u~u}`~_2h{hy zoYn-*IBXL1v~GarOKzp4t2?)o>WHNAW1Pxsies|%+XMAQa!m#x&_GV|8Sw;}u+XJb zFS@OVFe${4T4J`9;Fz<`kPjYe4~OSp2}?XXxmf)eU@XtiNsvT>8HqT z>2Wh^@SvC7Ktbi6kBmpCr6zCRmVmeIUND{3lDo7_2d9095G%HQih|H(?)I?P&DxN# z(B>$?UF39_2wo>0wYLQ1DK?!)@bOfv4sXXIx||j0y|qE{*n&ZO=_oZ?gbD-?cQY?2Icfb;3Wt zzSm}n`PBu;@uc5sEq43jUSWt|2}a9I7%XPDI)<59@rC`A%=Wq3buyRdleFiTqclsm zGi@(QNCjtGnhU)CxqfATceH)EKWyld#_ti;+Dg({)1=_M6Co3W&x~b_Ih|2>^M1FG zSGu{!n4s$2bEI_2X~Qs$TaL}H)4#sml;k_k8Gq_m1NXeIE;OqmuO=Q*^K3kD`@U1M zqS-LOI^|-QJ3AMsG+< zxL$o!g{b>IB?`51q4!g_qR6CqZq)IHCX7Q}yUMmpbtzI+F05#VTx}h%9+MkfN$u6NSBPd zjtL1ytFT&sErnKIDA=$SG%@k3WWi`qt?!WQ-rGC%+g!2j@3y&Ekbwm!$L}W+{x>x8 z)f7(EKVB$9HPPMb68db(NYZ&*3DpIHtunf5km5&d;6+PKv=lS7h@HQg6Wx}g^|V3% zMifCy#X*EQXxb2va?{3K88CeC&XVZ((MK5doKWAqK{y*x3MD7qn;(KP|IpD9}NS; z3L60-hZR`dLK|2-#rsC1TM4I;UNsL=pyH@Tz)8Aj@caSLA`NO&6QJC;lNq})9%m_a6~*ktSU3r)4(w^x{SfK97{O)T@D;tav{wnQti-;kqHueA)?=;wybwnJcP3Hw<7Mb-bV2kw`xX;mX>tkUKjP5*bHzkp>x^LmNVE9uNnm z0q6(#L1pR1i>2wWn{NEY+({C42ZMn^F)hkT0p3rHYBzTFs)4XRc_1VvxMKTu%#oC{ zzj`u|oK!1A_|Lxy{BPeq4Ut!B3wq^@p$akska)-y+E>983^ziL?*8hp zq>=IZ{ZsNmV@D1ucz?lNTC}~{C^R!8%w$cwFV;z{7QJZQ?q`sEX449*b@5J!+UuXO62^IOaB3BwOWc9X!HSUV8~Sa49Je9hEu_ua~b$}*20^oQArVjbT5 zse7r2CLWiAJ<(UM*fIx1b_=F<-8E-rn_#;9-@{LqDDY2Q+_1@aa=(aTLD+`a;!hY%j5c$VLw3z4kX=7yi7j2)Gf@@d zi;BsJcrs_JD=aCMtXcDiLBqiz_3Sv>$%)z z`o%2?gSoi+whuX5JBbq?n$F+Mh+Ky5h$MqOQk}fF&7WYX)3h*BsBBZiUKeLqx83d- zJ8zm%@}CkUu)jkkJ%G--9NbyXk7gwSeyAHOh>jLDbA}lb%jA!9+VecQQ3dv)WT-$@ z7&0vCyfb#ytk`1V!mg*C( z|1Ny*lOO>j%QIWc~Va*xZ3fn&WAzf|FbHcf@JH=p=yc`{|u* z2L!d!KIWpO%#buG;4KwtF5=}e^n@yUTtqpUrUSBS7iQXH1-b$Qp2(zOsvzqGXi3$3 zefTVkBT}(r90KTNjMj`-D!&H)uqiXDt@i))zm6oU^+PCt2*pQ0*IgO|l4sEQZ@V#J zI!&R~gXEDqz>YwJ7m})c>n5#q*YdxQ7->P42l&UWnK*A(B>vd^<5)3D z1xNzd$7aMZfF=x$b_z)8`-{fOzWXNmk&o$o~;d>&PwnNf%hm)!dU6!pz+c(O&N)f)fLPVzqPeKLg3@yu-&36|A%ew z+$_G;^Bjhr8cWeVc42cJGkNLpHQmL%I}ytnbXj>U2oa!cliO@q zHe$D5DqEUN`#F*%L#j60jddE=27V>YEWtH=b?c?z&@<9j&A^t5R)%fDs7^jkS{0cB zF>~KTJZkF>LdMVD#qPgQO*U{feKH%r$=5Y313ZhVhT2 zd^I|5$^q>TrL6rUk$&PS?_iyFY&7(5oTO88>r#@m4bn!8zKdWz@8Q6&HTm-oYiZxM zj%o*?B(p~%Br32S(+j+0L74z>zPUxe)QknIQ+g5U0RgIKx%iP+dh*Xk`n8Fz)9^+R zv!P^2x5_V3iZ(@^8X4z&OO=j)9h_Fj_!A4I9-Z@qq(fR>!_Kr0Zf@nY{^nKNKEMkX z{`*pUeJP1ee^ANBrvE3ybM5*SOCDj#ZsBy~u7za2B$GL2<*ZR#XziYAA}N9ETa*n0 zAWGLn)Vx?aOc@^{0hGC*k`|Twwepl^y0U|9e+|L$IP@)t8*tlAIX@3ujA7*sNo}_9 z$M7V~C~`yd?@fTcw3q$bb)2p$oVIyLPPb$L>5^TT^r1`5g=LnFoAD1RYO!tmTT-)e zrqnFj>XQ{OKtOBzPytf4C24!(Z3b`(xz;HNAsCmwYB#8)Pjdf@s8bHigDL@tr;j0n z$+A4+G2&G=Yn#XSP|(|Sk0JptB&L~AW~W7XHrDy-ewQ+y_kAd6Z>KR)%}mWSNC4G5 z$J0-aqx^67ue}Yg1&YTbNh^r)h>#rfV5D9)gg1uFn*@xt)&zwHJaX>Sm#;^L)HJfa zg6>%aOul;q83%qa|IFRP^ZUa_PYtGF(UK z00+KNB)U#Tj$)L_r>?<6f(O?ybP$$gL^x0syQ##)+j-e*3&QKOZ4+!I*1tDOI%;%= znWKmM{WMP{Zmj1={Di36jj&vN5{2{Lqvk(L!abfBE82f&@d07NLuYaSQhv(Q_3-%LNu4@FixAX;KNfyB6I(u(G~+dv4p)?> zh;wXr_+G+tx-`LSE2;cQPmGnDdXR0z>qD5|IBWKZy2k|Fz@WptMqjP*_U`J2*G0ly z#vFJ&2#i5W1guQ62)T2Uju^HmZG0&aPgPo6&*_vc6om6O$+7?mv3-hyj_W|jNZi$_ z4$#uo$CBrwEL^=DVpaR}4D_L9nR#U{2Z0^}lC~t9Arf--F z5AE(R0xI%>(jzNZ98jK}*y9;Oj$yawZ~Doh!Bu){JY5$p3EmZZk;8Y8{v1jMdkdv? zEU3hYQf`VCe2VN!ML*K{)U0-=b!R;#P}KO}vZ3(Bk;&fZ@F15yhury&V^S>u!zXMK zfZnDX@asEwvHpMo0wV)Kt5Gf-_-wf@wYBBb-$`0wzXa&-=dvd zaL90@z4&>KuFHyz&`q2pm$1!u9$VU*8spxir-(s@F;xY~p&@Mmz*v?S6iB2Zv`>Mt zhhfR8S8-JES|NC?4+S8fnL#kb-q3BDi^su4*i6b@Ch%{^F=~7+`{p-z^jD51X;dID zUOW$#xMJn+_WQAJU5=fCu$&)$_MMR8bxzy^;7wKV8*p4t3!Vt6m@;(}D@%$zELmia{O7MJue&;l z1kn2GL{IwvR{xOI0$DdU#E}F!>B)nvpHFI`FaH3|;GB^)6~C#Esa%o10PaB^zDViI zztF#|#*7jLp8knIyPby$V%n!B_iS`0R#jQ9*Xlcmm@xzB;NQ+)TOyd_))M8h*K=Rs zWHr{4H$|O516mnQM9LgHwbR_Uq|&tN#hTh$>YhkmJ@tC)GZBpsd_~ z+Bf)JSVC1_N90a2lLvS`dn9mINUiop=ai(Rx}+5{Kw@2W2J0x6(@t@G@PPvWBI655 z@irQ+D9^GfWi-^=P*d&TcxyeZFNjH#K+?t4(D91C=DYmh3`<;ZQCW^Ug+$`@c-H8n zHWzEjEp>sT9)-fSu!nA)el;;Qk^nhFk~QlJY9(75=kIga?d7>o>*8xon><sQeXj zUy!KL01Na5|8-bwXgY91cwD?aJr5s34h17t zrgGnk=@#+9>HO(>*w6Tq({3jIkO1RvHZkP9=1C;8s%}a_+`|bo>!kE3?UDkK@m@L1 z{k@~Hp3@wm`Y9Psj5nS^D%^WjnZLn9ihqJXZnuB(_=5|y$gyPZyL5D6=EqZ;oQG>K;c4ZEqh^SM z!L;4gK29b&yTlTi!qUUMuMbtpQ0fICTvJ@jb@4_v?3vM7gXW+dKK!Q@Lr`CD5a9u2RJEoR%D$Xw1GRW1ap3-;09h zLq_i>xpgz4$NAZwvlO0fKF1vBrA0Q~ZRc=DEAknu)f=^`*3pw@-HdhF`Wg|dNEYiSajz+7O=;i2^Rhiu8;AHv5^SEA}k@n{R!U8zx^MtMYUF|82~bJtg9GrYL+uJ!0J@1ZJ^TUh6h*xW^4Ah;c>vk)Y%pdT64>$o> zQn!PcTI4lqEW<~(fJ>3}O#B#ZPLJuon4-iUhD2TcUE1K`!6t#xICt4?j0J5xx)DH;Zn_3|p9fT>XMWFtJ{-ju zD6Lj!ce4_eL!~36iWKN}qLY3$F&%{W=9m<^!!&6U&7Y1upLss@{1ReFx0dgD@xYx1 z`@Wv^aN>Q2uOKpRdb$Dw{DnS0$+uh@JW;fC+EJmH4e|9;VS(9|CQ+K$f$;touccU6|0Pb5AQl!;IDfqhQOY2I>e! z5GKYAX#i6lqJ*_}sW6Xe>GoPZA4vft0;I-jAO7A=0UD7iS}XEr4euxE@ID|lxj7uGa+UsD=_*%?_UM|$#uKGT=A zWI+9`oEVacD5&(p6liTJ1z4(roloIIYMQS(ZvTA1j%D0-rv~1Wn8en;z?fz&GWcx# zt^eM5>jq(q((y{aS(wX|trq>HVR2wJAzA`g7;^MdE+C2l3(HI39jOUplvX#O}|8GL>?s zkc0jLshHuq$br_;d?cOGKbpFdv%8PI$s)Sum0l2qR=Yr*^V0?&(O@g9$YO9BAj~Kw zM&FI3Zdkg94&PtW48L5ogVX6d!u@;Qf|fB0TQ6WMOn@xZ+8HXRT5C9Yh6r$uWv4yE z#Wo)kVy-|~DE5LNZK)ihhzkr++Ezf!x`~qyh?iVQHlFqb1$CPK^{KmE&5LMXcnwic zd)x24(HR~ltR(u68Py7n`7aY}>wYfuy9|GOZOblCkT)2-5G)Sp5NaSSMG1}sBG0x) zxqd0U)e^|}gc3fw?j?j(`xaH0WJXDl)Hxf}uOTK~TA2%a9)8(|69>Jj&xyT09dWJ~ zzD1(ksp_R7NGB8;>NPjPLXlrU*;-w9f=~+xLovSRx`zC--!vnai!t9}0Swxwr!|5kqWiCI6GjZicx1YVY{j zJQ-BrRcoVQDm}L7lN9pIWwAm8e%Q2}#(mmtvbpKUL)-l0H7P+H1lYf2<>oyk(j{iz z+6ozU<)=bhg1Y7=iA3{f9RS?b@AldubIf#r_vP*PUBK#GZGj}sV#l6`7)TLN0+7(p z#MlMQH|rFZrXYN4P4T!$afRaEy}-NPyqXE@ukAH@uUEFvtO?+TW0WhN1e zXbl0O<61s1i+hLt+G3tQi7q4!x|)2DMDPnXPzm+b8Y`AR!kE@-{>X4X#_dewp{6v! zwXP9wV>UNFj~)+3d=kFREDAp?PaEWQ<_%RNCun+#sf9QwJz6EO8#18EcO#I-3YZg2 z5+#NjKkwJtnVY}DBXX+73)o29-vON}&HK#OG|GrnK&uIxV&z7ar2jl7QGMFbt`9fM zehxfLd4T0%-??28P^o6>PX?2|FCj=z-q!W*z&5)EUIWb3Z=p8fYF$mFO6U+$C-XKr zt{M*_>=pKYWh!aV9qU=3weG8jZ}>@v!5e`Wr4QCJ-gCI*kD+GnVuR(^P)*N?;n{_~ zh`xCcmW~m1SgQrW{Brn(yLxjTxuRFCiWvzMw~z${mMmgxK5GgX0}0BLC3^iXU@}!< zMg^v{CRTj85Z!8fMh2)E6zln-81Nm21gK);GUc&R7S4zT=GbSi@(d42^Pj;BF{A$e zqWt6KZNZdl>$VhraiMc1GdN1q06Z0*M%$mO=1&|Id zA4Txo)k%(fvq8q);s_pypA>5P1dy5(ODSkFWuE=gGDD>dX;vxE3Q?mTM(s)pjp{414VkX(Lr~%r{0R2*9D2dTECO z5j-)lNB5iCWso9eEl1K9_e8m55XJ2@MYFcQu@oI|A4!dnNX_c5=kw3xR?-i1147OK z3^h~e&oWd}#Z6zd#BKZmaU^iRx88(z_~duYT+(Mj;dM2y!gmtSM1_hghv)Y@zBE4W z>3qMUcjSIkbLr_Q%Q=*^;ZyX7+e+UULi`9;sZaDi$zL~GFM}Xwuhw-yLqEOmQDOZD zx7O4&b3g?C?NBfOr@HrF&ym&gWV(-H#;uvNf*dGAU)2;B3C6J8$jQ#iDlW~58?t7m zdtTM4N_Y9s=_YHcW%S~*!31Ha%cW3HU7k|HQD8Vr!4pf%wvy`4aRBL;6u(CW2_L%&Jg{{XiZslN zw99XB@z>3%al9qPPN#Z11Svba_C0e;E=uC8BI zyCo6j?xw~n#Ip9om4IH<;$?a@T30^wCtN*;9 zu5-|Pn72BVhd!I)yzB9s># zJZ*HQq5KgI{4SmaT^x?i*;A&O}R=L0Hcw~k%wa8Q;xlg-QS+_hPw zDrH-pbcsz|s_XVe6>aF@Y`>M67Io4iguWwNG5%!y=w;>;cGu776;3kLkN`bO9x$*1 zZ|DjVYn{H1cs`^t1lT!z#hZh-X%T=S933LtsczRHS+*K3v%8XT=+ARI;5x$p?4YmZ z#Yw$_GaN&(_Q zz#5>kq}GHsWtWqGwiFZ8`c8s>Vabt153t*`B&x+msHJ+TseMc@yj`N(7NJy7^p17- z8K_}|sgWcw|48kl9ne%Xv-0Gog%A<`maib{#?COYHx;&XM-NUhQ=}V18iZbWMU2Os zx#LMxYjxX!qr9mD%8ogkz}UfeHEN3O4k(oDvr8Z~jQ7tCfM({X176bd-b=#E%v;3y zmG)jVnNBqit3-+=l6I+Cd>lVp-LmerN`uNWBh3}F>(47U|DF8)RJ^W4uhTkTvQU1k& zAKkjMq`MB3^W6U;kXwt z?rX1*1{D~VY@@x;J9uYqt%);PS=R=1lC}*lYQ>0d`Y2e@O-y>E>J74WdGqfey30B z3lFWVk1vt`ONITBD)D6to7h&v69!+U&j!pcnev>?7ccWJ3Y6f`q>Ik_k1dk*$_MfL z5w!kW==~|%Vel`NqeQ;2`b{q4J&=S=N4$fLyd)uTYnA>{m^e#y-}qrD(|j835O>XQ zmk*E5@1Pn5zfipo#!XBXh(56l^cjdbeYLc3fMlKa(P^c!HI>5Lzm+2j7tI%iUx;r1 zmT+-8xD&B5@h(9k2LD*!6W?@pN)j5u&!$xnV}&6~_N7JyXcAs3cPsM53XMfe4XHBX zteJPE#OhP{T#|dK&RnYEx!*c?;CAt$$DG8=(ma(VLk^uO5rDyIniN=JWRT;t zVveZ*5&a@kZE{kC9qUYqjk`|yByuxnZ$~UbEiUrOcrTZw`~ z|Glo{L@eYUhI!?;EVisE$Nn(+V_{){8dTh7%qmW(+8Vq2Q_u~cvAajj6V!MKKrhZKlyWl zhX(7=wu*-C244pM3398NB2xx0*OqRrZRH#UAZLgr6_n6{K`9TWmnK++R13WOCb`Pp zsxLhYh|&OIDpwkwt`4QP{xy-}VPgq2bg;q=wO$*x8&>j^ zdu$e*Z;EPpZhcovblZL*FqZ9_p=YR-5uF(|4J(Z7n#p+lu!nD6#DVk^O`?O^PMiU-)+hV#IwPQMh# zC$ARPgYKDb1=FVrk&!RdH z);rQyLL>x)#{dzla(jPiL2YG(WaGB_3Ljgu!_hn*co_sM`XDhOf z!J(1$%qEosg!!1dQ~XoavOln?Bv;`%Wc-X2Xs`!5D`XqmT=mS1Fn<22-R}w+<9T+d zeL~NhGO;ifC$U?hFn2J1-B$ofF`J=qXgCDj_MtT!-)>SBQQa}ECBo0VX2jA7%|c29 z9*Kj#YMTO`rJ-B-U$L`|Dft^+Zmcy>T+?gTB{St0x2=g(N9bT4ftcZ)K!JmayT7S^ zS3LDdX864xaS#{iV{nrOD=+XP21M{ph{W1^khbYj=I?5R`4%VhY!&+y3OiQiQ&gZ| zMdGRW$^{gCrPq{h#U8s)3VP*LtSzzgqn;{198Lj~ z;f;*w{FlR7u>UmNubJSS@B>d@d7|YXX_EI*DbHb{g3FZ9X^<^3R(iYFSZda~h65#= za{(1+1~_PtZq+*SMu`Ia+>bAx&FsE*q?z6h6r@j6hSXh!XjZNx|%_;yjXX!Wipg9 z)6;g#U@G`oV~y1O)M*11 zzY@$pNaY$8rriYp&7m(!S+;n44nw;NhwhtAG$AkAv#+1tAs!m1(5Stn&|C<1K3+MP zt(Wq=qo#12+Ol6b#sb2s+yo8-q#U`cn3V>vU|Dl5^8`sK(WlpN7f)L^$sUkyBso5n z6#w%%sEwUfw;WduTlqzUvsRVZn*HRrl+kK?(`0+lcUBP&*X2-eKmW3Nt0yE73?_F0*+OWua3)O2N+P2A!nQ` z%hw>Aye8foPrs3(nit#ZA8k$eQ#k|rlBS4ql#uB8z2x>iC4MqpQn*jR8G1}06SZ% zU=D;UFhg$DUc!umlX@yQz*%UC<(;ke~ z`^mtIDtl3pCOV>P;8D7tjlnAPqz>gPj(G5S1CP2X9C{%-79dRGNO}0ZQ{FE2>=hVK zb3p>RUb}G#1rQ9))4;TGq5-je0%X@}`ObGEZCq*vHz?Xvv!0k>eTCqQV9cpNq9I@C zXPJ*YmP)L5tm0lbdiEPC7k)atK0LaTp^(0=*sbr&j7h0aAjJ!~rAQN9T@(SV`cKbfFIuw0C zND0e?!I~ z89>W%&Im{yIX(yomPG&qtySOo0SDT2OK{N)8H9YT?mX65#ObR%kNOGV%3bvE98;Gha~ z4W6S45{7e1a4xPypXzrr!rMJGOLtkLTC0lVKy6&iWdXo z8`JVltcR`8gWLmcoo4Uz6Rz6r*q&AwCN@DA@XzH zK*tJlI)A)J(34F?4Xu%@j>ILj3vdJTlUUtWj?_zk(v)#EK5 z?=;izA7G=qhZ+a8L{yLTp0d6u-Gp1e32*S)f`?iWFSHR#Qe@1C3hGxTm)XQs^4;#I z{k#)@Hj^$9S(9Ev0ff+1zYJOfrKi|b7muAiiXaMT8Xx?uo+3hRE<-5tfC~cQ1;Ph| za_m!M(co<@skqrs?K&tGFQm~)%+y>bNp;-p4-a`lzXf079k_styb@ntuCvoRK_Lv33_!!fk%Hojx* z8?5&kXakj-wqaf*dv3SEV60JOFn*#!u=(hoIej{aCme;cZ|ge}CSQAsJsf7O2K3kE z`6NmY=lU;e4@1uTY>DuUZ3nZA9j!RU4mBrU)+DMR+r2tAyEs9*cJN{cU7L%yJO&I@ z6Slkgk25{TmwW)xV1c7v1q{=tePVI3-cT@Gf?2DR z#9eEfXQNnaS6lV(QRBZ~#?f17vl*F*8lJPOUOOFz#TEH?#h9p;JBGfXaPx0Q{Aegt z(7vWUmTEDh+@i*X&$X{PS(4j$!3L5JY831}qtQSffqTl>ts0@At~tK{&=MN7^zG+W z`pGR~ylUzlheMzlIDZZ4iaG?7x20Gv3ZiD`Jj#}YBR!nNn8w7DHwnTGU+EFzG<7lG zlE;|}ooD0wZ|l1Ub#gkm!Nfbpv^G|*sHQj?hg_7@hJwY3uVRT%>K8T?__w6^7deM- zgioJh#s^6@K8V1XRs<)(SknY3F|4g4cX7%6>w5uWUo~sTY>WN)p}WNR7v>p0H||Ux zj!Me!J^1Ud4&U6$uJ1B75i35sv5RJ`pU&2V7&1eEs@#6et{fvOoMEwwWqFJRR!gKr z7vvbP&N5_Vct_>p0ZYO90Y%%Q4sed1C77O()F>EhV|@4WrgrQiCBdF4>~R}TmDpAR zcsT+Md7&hSTiN#$Iu$CnPs{6h;;C@fn!kbb@E@{skD`NyP~$~}gLkd>M!6%t$}!C# zgx)~>3Eo}r`z%}Df(QyqNC+BcJNA5f7M95CM8{ zAyR(TFV%ofPv*rxz=Gfu7#7a4rNt&65TQuK4>Wd>jxaqsVlP^>+7bs|lq{$!Q**lddVmN!w%|*d`r(SZuf{{eL7~cRW@9|G%z1uaT_m8J~rEKoCu6d1YDi!5kt`TKils&TxT^AXdA@1dxxpw%S&-eFu+<&k8xb8Wx^L{<& zIgkZ=q?GnLM4XUr8KRtF0CMd72~6wv*RcZkgyfCmolWH@m(F!*PgZbMx4SBoY-@I$ z0PVbN&#`TV-l5djM!sKKudb;fL&>7Pi&oDXZ}OT)w|!9&omrZ|;w%`7Pm5YGUz)UW z;2-0{?6MJp=f%mS$%;h#QXJht!Zh-3{u9U0^_Ht8LXm&z#HfmG(RAC1%~_m9RE|KP zh#E1;bjw~+JLS-DQm;+6a%)^G-7t1$j@oY00$x>p8TePW2aCOEXA?uB$quvBio@*5 z2TvVp5moCyf!yj{Kw~kr^s)`M&Bj< z`WN0HPz=b_P|tdAce9YOzx80&)UKhwR)3#g)qNvgzeypGaj_LWiE)OS{`5oKE|Y7y z)%arNDeeP&96h+4hM501ovK@rIP>RH2pzlgMc3Nliwz*T>^&_fiG29r`mfKNKQ>$G z+FI=5@X!va5*}X>7bU!3^0zL*Je|g|Eb+jQJ8WCK6t1V2vNIEx>9J2oMPd&?H_T+A z%CQIC$v9e#vfu>SYmmw;W`gWTUHg6>YZ9QUm2qs#|YB{Q_{C5&jy{EcR=cP2slsU+Vg z+;f6Hcjssbns1eRH4yWjl~qMmpc8Bkj3reR%Qf9+2UnU`0cBz0l#)Sz8_PkTxt_V@ zc_=J2s67pgxW2|~Y<#1)s|VIBpXIV3$V`eFB&j=W3`y})di1?4{t4Lc3_OX-S;Y4| z3D?|MYvX;t{l@JW`}2s@d)WJL(kQ1>ROdoRC&>2JWE>1T+YwK_biShN)MIjbjylZK z60u)P^?p0`SQZon|mt#!T((IjMPAl|c3tf``jflbQ7Jg=S z3JmTw16t*epPJC$)3a4yd!kT(pKEMp^Ly{~UeW#JJ?aT5w+lE94a8BJ`*k?q@#ld8 z*5K%FsZ+tJ50$#a$YDNGd1Y%QzikcU;7!KWM-xcV&p+-%%ov7K|9P6@cU$72bHa-f z`%quX6)K8!Zf(Dv{=WB#;Egf3wsF5xBE%^56r$FOP#Mtq3pw9Cf`Q#RFZVd5N*lP z%nrV+ZAZKfm;nUIJzF%)2NI1tX>uHiYs<>*ke;st%?wpmJb+HCm<&>7thW~?_)OpyZE1K&^!$___z?ax- z3RwZ{&s~AjJf89VWhzIFIn>FNz)pT~ zzcjMs`!N}XX#YYs6zDoF3223!_^H(eDZc|+STZtz{C-v{inlL(k~0l4cO!(ABf?F<^xBO<}CDTAVIVubFxj?_UX)-_Ro04;-RP&p<5(X#EjbbvI6n{Z}B zDWd|urW|#1$M~G(y{ge_HCB?|4DP8HA)OllVeWR7gPVod3R8qW#HRAb_@;q1`jhqs zsoG>MC*y!+Wn77_`NV)qc=>D?GoP^|iGc1WGqzHJ`%;*^oxDvacs2Mpc}dM!rlF15FX z(k?Snk0?b-TwhP;T(b?zIX#a(R&Yncy!lR>hOTNL^dqR(X= z@|yIAW(Hq#FT3qN=sKoFQp03-91on7bmmW_*jT31dLeiFD#A@%*b02~Cafcn8``ln zhAWPsxjDgvT>}Q`xawyy?b90fSrV7`iLDEO2C?Zi3ePo54Rv-?V21+Rhr0|m8gZn; za{DO{4MqL&&sClASyrpHKZpUAljagGUg@0aU!jv?5jVCNq#Rm)nVtx}eUv?ZkU*Ke zR(HTjz0FHX_5Mjix$;lint>W1OX?YGDz^+=^1Aaxn?1k%B;a)n?m2KR3|)S-qf3SDAxNz(-ZuqOANm$)9t_Um&o7wR!cVodwLFdNXJq4T-u6~ zgosQ)&^C`+>6QAyIwHLfgc-ee4qzG(x9s}1cU@tRpth%Z%;=d=5g6dsvmXu09*c|7 zQCO8_Q7v6;Qc{*A2sCudSaCj9A5|I*r|#qIk|cEWuhlu+JNRiE>Jcm|rS9ea>{@!e z-@4mdgQW;1y$D9V2tK_Cb-f5$Js2QX!QiV3hg)7`RDCXS)G=h@qx6xOcunY@`ehhqgT7lH&NvBQ4=#^{;IG==PG$d~*)kl6jlE@_qh@ z+uz^~Bk&0zITD8Rw3+-|sdG2cmvH_0kxHAJK1|?-I6>t<_wkr{cH{Zg=8Fuq3YrH{8tDVN#7PQw^b%OnHSy$UTq7LG}f4b^!}N1DqnX9?8nzW6m>@`|al&hM`Z!03M_#l5dzT{RArf=tVeInQ$6@ z<;mTg1-0P#S$g1dy+nfm#8R$U4~{#0q&COvi!t&C29t|0o6*F6t{*^5S-%85a3SI7 zn}ybp=)KLO19ufb%!{6x0md{`=lS)RmlogdveF@KH8#;gdeBU$0~jf%;d4(;eF{A9tALP&@k}wPD`?%1v1<4Cy!78S~h7J^d5b*l9(5I3B>+SNSPLK1S#o zU7ylGQz5>ztPVr}C3)iDhB^(Nfl_8OM6J{XtF4ocr#qnW-s#3tWI=8E`!Iu(i*TUn`a*5`W55%1R1!vL12xD`IP;nqe@D3#-J=8s z%DWlR0PNKM60bC`LttBgrqWSzydJ?O2cKA8EJI5}%jghJnLx~x%}9Fp63b~JnXWfk zR--^mO)&1c5DnbGliz-7pOGF>cYhWTMJdJpk0v?#RDlh7-#=nh+pw2Mx@=3|(-#7* zTUT}4h=1*pg;ozSZ8ZFA;&EGk!1E{p4%73<%Pwe)FDC~+f$jEwjz3mjddJKYDyoK& zqcvvD&0HVH>6cXrqG@h=SSN~LOVyf>QFv|yU2_@s;+iqwxd8ltC)B`GhJ~{FE$%PW z&pgzJLl^3TcGp@M;JG!}7z^0ds2%U)0o}0A8NiXBy5dlO^|FSjM+A37BHPlhvQSKl zri=J6ejIar*X}x!SUpv1l?Q`JEEFLci@e|S{i6cM!E{LHH2+n0!l`S8GS4zP3{0|` zJ5!pN5a`bOR2@mMe-&Z(kL)r}%HR&US6R*KL{lF2SMWV?ICc4vGkCiyf-l#8sCOg& zJZIRe=bE~m@vy+QiPLk!Ws?$LE;735Q@duky3{E7-X+~Mm+P10HpCh3iUW?D>Mo^s zczSBgWWK`cKC%8hkhS?5?JGPJ2i-2 zt`c*^JH1=mu}U17ONdOBqxEDfUWd=DB{ShkZKGiyX2p>6mq#Ljd;zGl_b^~H3yWw| zNX--1U#-4&gq$Ih;PCK>i;2l42=9sws5yy_0{txv9q4FDy3pE}ntxZzT)xgp0K`K- z-w4uBBGV956c`xktR*;SOHYYXGj7n-BdYfg0bv7WDF9>#0nXu(WQVEedFiEDp8{^w ztFmcmByW!A1wL}=C>KBI1$-VFE>)%C!FCQV(ncE|TbuF+H$2ihIL8dcV9XX?9y#SZ zK6&D3I9SckM9ojm9~XmnC|4rn*XXQQ~hMTJq5;Qg>J~~njetO08p4-o1c2y zt^>!FI4fxe65Nqh78F^lPWu_NuhboR%{Uy_M?brC{!KMBtlRum`>uQj8}g1dz;J3Y zwiCj*FBAIho|t|FA@G6aX`q&8aNJ7;@fbL5WD^JpmUIHo857qKxR#r%a{;=yot7Ul z>K1N{Dby4OdECiN7R~8*%`LrrAL-=|7Cp&g1wMx>N^@5%#kbjk1wCVML=4_@3>dkj zS)fTpzXlg{!M5CpZ&7E{;&v}`w=ZwWvY4CN-gUM02G>iC>))&35oYBzgevrWB6(7F z(NhNf!F&B7n!Q)4G148|OQCKI+d|$ul5S3JS~_8FvQbX3q^rTwOpd-a7U3_(^e==A ziwLgoiPr#CabBg=**_*61g|3$er%=*aOw*C;y7q1teLd3r0-gQlD>7^J_HEG6aRt` zMZ=q$fMQA@dl``dMzTp}zO>+Dw{iqwlm*dsq zQ%+(W=`ZLum1O2awwv0q=dHY3 zYvdzn)tYw_Kb|blj8OVM*IOFRMJDuCt7T3H-la#RwD)RLtV7hlV^H!hgy=}~!PoOZ zqv{3!DLAPCR=IAXRTc`N-?y9;$XqM>?-9uaH1g1IZ~MNl8XvukYm~1JObzex;ni^a z2tq2^@(=PxetL~T0eKeL>}##OS8SzZHy&lD7&X>@wbTvS(js}HkJJ5i5Tb=*esOa@ z3|SIC8`kM<7V8wYVX~fViamGgADIJ)_kfPh5oT4cq;3C4%z)j18$c7aWN=EIe+!Pz zL)8kPptc8`o#>spq5e&BoZ+Rfv;%8_GqnYU?{NLVRBlN7&RB*v%PF^}0Vca#aUy`~ zQz3q?&i@4dG@NL<#e#53%rjGy^FQcx(Gc{ME}l7YtG!0QJbRo207|=C-f3yu36-?v z_YQ;~jITsiMqky5+sl?uVm!zWm6>|*tAAP8HGKPh&XwG2F74Cm{6I1hqbY*lY|5NJ zW=(Zvd7<1QRWI;SJ~;eS%1-<>E;;RP%ZEbo+!KrOSud7qzuwf}2x%X>&XDki3JgS{ z8>Io{VYtxcDPR;sR2!HXDX4EgjHFGY*XYT2!`FA;?STl#M_H6erQCLp{>dk(Qiq{_ zfn!Z2++&B6#z@ll4)h5ydT$+KOoj`<8j#dwrW151GGoYRXNiP4dbnvunycoH3coOE z(mA~jC0^)LwV{dsJb_*yw!K2b|M>o6ww`Q5f%(*M5*X(+i%wlbZfqyySzRS$a;^eG zm!u$)26h{Mzy>*fv#jnkWCPzJXO8?e1NZH$KtrN#^HgEEU{_LfmZ%%2w zvru}G_N}Kw<^mDiFNa7gUn$+d(BS#jV5ZT@TisCI&992T0DZKN97x+zJKDNC%$*A1 z6paI#BQF3Ijg9uCUzOC%j2{zS^K0pP`sE15B0v&W1m`8ezjLE>D(^X@)%d4|N8W+M z(qG_Cj-GH)ofTC9UE#ZPi(GcoAGn2-PZjgGT6*T85v|AfzS%t~mnVpARpM z@)6}KugXYZc{IX2H5;1xnXy%f9(UF@RXbvF=JLnH(`6}8L_suDjZQDGt+C3$q z-%-V_FV&gkA{pJ11gYBye4rD3hgYDJJK!S(_;{IS zC;3(X4Rj`U&tT|<40bR~NWlJG*(oY2ko-mj2>NyeYja`*Kc&oPl{RTUEN_W+LE}>L zOo+??nGI+jYgt>$Z)ROp;| zz4ziyc7uX*%$e7lCI0ZB*oK~C$M}chgl*Fd3AD+;L@==KTTORcH{2Zd)uxrkOv;k^qZta4YSk_I*r8fsIhQ?eVt`@%OK z`Kytp`L^Xg41zF_jnTSO#)Rl=O8HPMfWn6t_79)}UTitgjK;-mwVSM3{O1z}ND?uj zzAzC$$ivH?E$SWrmqeetU9L(EEm?k1Cmb?gbJM?iHi+Tp z`FAricG#KFt86s;^+_rrm&gRJe>m6b7$5Fm(f)gF>s$r6r{&NKJlWFrv%qbs?NKa; zZIFlukWFVLqQ6nw16VYNj_?QUA<*Sgl%Q%M^`WxOf*l{W*<>Gm{=AJ|D3Fe>dkuvT zBm8jsjUolpQ2zgQ5E>77ouGb?*2N|Z9GW=@E7(S-2`7?)<#5nL*BB_!rabdmY5H~C zF2zn-Vnu9Wg5PM4Q6m2<%FiQ8;c?NJS2rBYklpb*^{nzjGMsra16{_{(CK`uR~ zHC?LDIN&*|#Gu* zqMSq~|EcQGKW=bd{t^>$=aXhNZem|1&7!}t(JrDXA?AGS@M!ZrPcjip z4YfR+s+k;&n+Z*60XJt`%Fm3dw+5pN@cs*CelJ6X;W+Hx{ioqCy<7$7o+bABn3{D1 zJJ?mJ>gI%Dndq3EQHUuPP8Ue)=oQ3cc{so#3E1qO+aT~?CEhC8Q?6~7mHAe@1Ez+W zuzo2u->Usd=`Ac#!W8Q<;)5)VK}9a?TJ#Kt2Ukaq=T%=jWyq+RNr zqhR8+O4;JuO1bLjy}%9FXI|5h@oHor*OZM~ew429Ql9<&lw@`xN&BC@_LS+7LQhdet^(mxl*05vBh60_8 zju6L}Ga+n@AQeWcUtkrc7i1Jpmc(s87X;W`QS$b4+MH`q*zm5}ro^WKfK9g2=t3L{ z$@>K`pejI|iP#*&UI!Xt*79dNH5tAEh~@BCN-vH}1O5 zz$|L>Yj(tlEm;|)JvT4N%FsSJtsJ1Omm^1N0Lbv|KvQ6rD&ql(bA$b|)*XWHJ4NV! znqj`hg6Y}u6-%h!);HF!FsqYRCK40z`r9XWu)f||4rR$t6te;RH%#-z=^A-O3+h^| zTA(EOV6BSq)TS@NWpR zrjcB*amZOS@pq{s>PyB(Z_b-3`czn0e1fZ;mtb-ozQ20lW(M>Iu@jG|3-r zpLg@mE2lzPPw*Qyp=hCgS)yV^ve4}u{)GLTU=3<#gX8NnAS%kE`#y8(ixCCac=jrr zay*7R|3OwP#^mMC^1CxcT6sI}NN7hZhc3Wbf!T^ayqRzApMN(d-(cr=aLC9XUvh@J z(gVH!+~LO*z(g}{Pid;ZGnDbICy8`fP2Gk1{PO|#?}Z;6y6wBKue?0;K%F}>o_{_J ziqJWIP*DjOnkZAM4xg$A`>ba7s^!Wc2b=?kb_@WptOt$m;{-L^he!PoLq)~9;Gw#% zub~U%uRYDpKaYHeb7fA^PLn^M{71TQbv4R8z%xdS3xga^9R7hCw>jL0dGJRAqGG5(T0wa@amYKK;$Ge{fnbNd1dTF z3KV-hvRxqUXq$TZ(4sN+d{;Hpea0!G?Lu*N?q~cj-b`8?UEpTZ{ny0IZx7rmjYO)9 z78b68SIxYyn=um6kAj=?sN|)ZxCnv)mms}YKjGI5UPxZ{LI>4Mg>&~EuP=^$*9=(O z;Oin)$(;4e<%ARGa_$JbyH=7F`*<=lCvk<_NXXR9+W-r74gy?^!Sl6OivclSbLWu#`? z$PzhZ#0S_bc^c|8YX$}4Dq;6ZmvfgQa*X`CIxsg`b%)ym%twQZ& z@uawZg`Nl2V(}mtd=mN@J+Jd`ZG(x6B4)Uhe9A${<f>B{63lDd16%#$7+uI-IU*J-ONz)pLNMo-NNQTu&5v&uo7|}?Fh}=g9;OLPz zF$YrUkkUOC3jX8xi0DvsFNVH%&UEL#2p|=%08UOXfJ@Ec-|tM&4t2f0q@4jyHefme zAuyHzWU#Uyaqm37xuOFDAhmOVn7Z6&jFQ7PGrjeyKaHX4A7ga+{uW>&&7|mpDVAzg zvV`9hgL3H4xT_>jPZ@ZA9?eENU)zf2CLFsb=r!Mo)%7H+)|}0NB@ruloZQJaYyWIWLA=A5V3NS7cgNs6^vt^3z^=^q>y6d0oC=SNu0)ZBK}s$ zprIn(ruEv|s{ovZBEc*4y5Zkj9hTDc8!R9y|i^Q*tIIcyMJPByXjg=$0y=-A4O|rM*>K-o{ckNt@ zH#9!MWVjRqwSp#DiirdQCngqo!nDu_^n#yf;%Ol@)Xxy;Lxz3E@LuY_<;RCX-7GN&llbEA&>=0% zET|}2vB#j0n{=b@yh{UJ41PDCaee(WCs^b2ups7060Dv%ORO8|?Qpu(uQR)^Q8K4- zDGT;9$AlN=E-YDZI^&j~R9C`b=LDCzS*nvvyLFG3dydt_*gHFGfsfD;5X3t*TFS7z z(N_IKITm|^B>{I&2Eo?PbSi>$$2*jnVii8q#mKvuPoYh2<(onC`DSRvAP~snF5VIG}GF3@rrffe9Vzn z+VqI_tcdlLhTyzVE8x7Xnby>x(lzy@0i>~ADsR8~z0Pn@tD#BZlZ0!H3ZvOS_TG$Q zY4CvgyxXRQ{btYxPW)yk)Y+(`dvYq$Zo4e*^?bR~$VT_O`Z*GDL*P~Ph059NdCH-x zPu~$GSFvbOkoWC<9=~f2DSz^#zF72Ux_)zv?q52(;eDX;g)OA)i3;%zP}~5d#S$3T zsQ_bL;7=UBVX;2MsRh4yHYEAQaq7x4hrx1iqkB(ea1#*GGPQ*mBmaIrHoK;gw*`1; z9ep7;31_RLxubq1cY24%h;Hvb(%tVnp&7DO!?;0b#c?btH zAcQH*K9m9SU5Q7F=*Frse z!8dBH`xjnH;4h3DR%YNWz$xC-he+<3hO+{cHysdf(x=#EAZR6`THh#;*!7V&z$t%c z=p&C8Q*N^p*ZS#@UO(?IWEzl=2uN^F7X6H|n$$;Z+{;16@dEDNPa&@dsT@VMkL--l zdJIQRIHdFZOOVWVl!CPRh>E;B3UtCCRmvHO1@ClmX`zcyI%VTEw2~(gTVF4Jv6nB?k&)olcjJ=JmN8&jMdE*SF{m#kA5{!)~S0 zAmdBlz8R!;+)5V$wB!^}kFsGG7)VPI{82?i>RUEW5>OJlF6xix1)K_HO^L!>kfb6j zTWLE-$6pk}BNMOU@q&KOCZ3TuGb5Ve*E58|xfUXwWo6eTXcQrLV_GrAOZCQkbhgR_U=gf58J#qt%v3vg| zd3|WEfs}8{7Y_2O)q8=;7MUDDPu7JLwRkp%oCTvSX}-lSa--qg0Sxe zl+6Mlz9FrnAq0q26IN^h%ESJ1?edb)Cah3D55Rml|2nTU?-CUdmt?OSmo=Xa zw&5{>-vRa1`woysmF6Ke#$RXhrwKjfZUJh`H}NVPU6}Np(yDwEzI&0EqzpLS1oMs5 z^6w_)n-A}@n0YAuO;;M8R3;dCwY)vNw=G-JsZdM~8&sL+!2mYPADsQn6HBReRU+HX z!AHm6{eJHS*92m1H6$|f{PKdMUAi>xn347KtK>vWRByghuEF@XiOV{GA{*2N05L)u zrS#6H6d;04xOnEuCyHb-@z(=ELZ;oPfHdFmSoiOJ93GcZ9rP0u-$rAcGExC?GX#lT z3=0vy(y%AAGPhIcaDOCoMuWXobFsE1mzODIV8m1eGc(P%s_;{JC-!bG0pPp+ygabV z1Dln!qc;10KNP(eCYs2UA)_p*=I~rgxeVy-iJ11esH$ghMnug4?3b3}m5czVp2f={ zOxq#&aLi!k4}I!L9ZbF#Bi#vs^czSu6Sp4rSN+13f#fys$kv&^1-;myZ*33YX`ec~ zarvU{s*rM+(!zsG5hs%hUFXMD()O!F2f)WB7Kt}JnN0?-r!uTuq1`v)ju8Sx8Mj+7 z?NXXI8^=hmCf|<{cW(9=I!CsC4wI9|9J6Le9W!P}opYDw!Q%h+loJ%*U)EV@<63c! zOkh@Mk9ki+kz}l^(OLBLKKRjhv&sU5nS8s=vlEKuXsG8v57{71#Oyi=UGwnEjtx8%q zBfkXSbBDPTt+VB(uLdxxc?u#3AP*+BZmq;q^gk*r(LNLklQ_%0oX{?>{O%nXs$1{F zEOhX0WI_maJ(Vsm|u@5qZFRbm8#t&NSTSTGef{mJcrzlfHyT zfJloa4Z!H@Y7!!)?OM8G$uDsBKle8`P89L#p4Y=|0Hh%A)L}jdIOs*bhq=x&gzBi= z9|YD}|LlHQV~F4U1)9qPlA*DcNw;^wO-R3`sz1xyq77IcL30e=^JFdSANzfE#FJCH zD$^=00Q5BZk8}csz3*PM?y76Nc*`p)B;R}r1CG%jE-ZkEleAU;d)$bG4H2}aJQwRa z_qM|>{KM5h1?NdFhT)CDp=SiOx1g#0CshmwJN}T^=71KJ$k|D;>2AdiCBiBI7|834 zv!=oquKgPq032fBgQsm#So+ahW?WPhPn?P2!~IsiGI(x_Jcm-{qcmS*A@1TG`|AjrE&-KiKsd1zC7!TdvtQ-L9X#c9@c`xz%}ItRoGqEt<rE`KjIBUt5AtobI{?cZ<(=_QzIe3+86RCVfYq{83j zZuouMznNCH47`;h+MhXc?!z08SI;eBTFi88_H@*A@(Jg0mkqj0x3183cSp*hwI&cuyI^Yj?V4|8Py4;bmj#uXoS5RY2#KkasWkVM%)5kx!`Edq#o0S6Kx5A^(uWGwEflzxTF0=`gsJue!I z@*_}&w@0?3tvCvh^?GR5$uki&#fE@as@fslw1I)^jSS^98M8 z;9>)~K;4+UZ;g}bOm`2ux&a3)mLv|iYwNAKy0=8|(iFJQ%g zZscA3VX-9$=l@G(#Ze{zKly^Qu%Ag+e#{u{jV?e(6S`e1jE zx*UsAW#k@Md6ZMN6ZNJvz}Hbd*-SF7r! zgA&DSXlA)W+oj3IG>2(hTCcsmdmm!u%Sp0?$#=A9n}epibd@H+bWArsI?iNh2zFK-e zxFsbcTXL!?Fr#7Nwn+c1_473lrm))~lR8LR)Pgb)RyGlAq1kd@J)5`VN;DDqW1z|D zs;!=UQA0hMy^8I(#;<+PP@9ne9N00Tae5SIViG0`MAUMVJojhyn%DXuzc?2^Vx7j_ z5!L1Fs^3|p5stlK|GL@qLuRAYdE(1Iu9NRE5T(vo*e2>W$2W4`2sU@Tl!z%0P{bwp zeJDED&HKangOA z9q+}4NZ$K#D+FcEq2|{MB^HC5v&@CCW;vQR6rdJLn{y$Gh-f4$P6puI^YhB3prwoc zKjzIR!~D_73vgbA+)#CEmYPt7r2btGegBg8i{!TxG?{mmSQiUx>HP1V%suDuj^F-X z@3Khdxv8no?&`_w$WFp2#_!=>XlU`@0n>J7f@YKgwDbeiHnD51atpaX8@Fe7;fXR= z^GmDZUPJ@bcaNf4m%34}`ihPK>Bp)(YMu@?FaL^#qI2|@hEnk0tg#pKLP!p!6n5rn zU7`Aqk1Bn8q{T<{1=lZI0cRJqMgOGFqeV44PQFAt49$$&XLfyMB`a6k&9~Kx|FS8Q z*-#!HS}d>qY^TQ`_8bFp(+!V>9e&EiY$&*7W&fGcZfCW;p3RFq&1bvauD_#b zxLK0~L=Ut*KBRW~TdR9u9jHU|{}?r$0p^mer4;20VJd6A=#xnn%Bj1cOK|+en-Ev* zaDP4~MhB8fvr`sh9z#sg0OZ468*89Q$#%at$^VFd^6U(&Pf=Hvm| z9>$ed#M%#Phtx<;ypjgK&1*PUL(R6F7{51%)^y>q@C7cD%}tng1FC(bm2JTcOyVTU z5^NJ_@REe=1o_8z#-fNt%6k|U63~U%8IdE<0)8xwdp2@kyN2#8J>*wNc*d90%qxl9 z4L4n}3JthlC^#p{`b8=6VayDGCyMvkzLh6PPN=>+PNHc275HX?C3f93)OZx4eX_wT`M{ zu#G18GAte15sQkFnSpvI{!;q;B~;=~Z{^ynZU6;9@z@~DZ`M_}kVk0=tO6@FvZ!{| z%ZZUmduM^w=TT&KO*pF~d1X==R=BuK$ z7%IDXI_p0!YeBc!%U{z_@VhJ!!qY-cDvaz}`>o-Rv<7gAAulDo$tn{z^V)}AfaEB( zG;#!E6s&9+bGtglXFG@v<^J><7FaFq zoKxqs)Ro3iMQQ4X9{(7ztof@K8Zk-N*moz6P4x`aJd2Q=eUtSKl+8YgGAD+9ZvrE@ z*EGIb^*VZ(%h)bM5M5z+Q8w)4pR`dJUph3{HEs z^?4qcG`!7xmTT6333EBSH&_iZd?N>)^mf17a zlDJRH)Ikt}(ZiOOREp*favaL@RD#pbt@JJCO=vr}kb~FLLDOf=x`Z>!tq}8Ht+Lo` zWa08GWKE;B+@R$I{bOLuZ8jCrbf`|H?ZT}*N_`}%%Oz?ERjuG;;0KfS;$NbUTq`^d zdoI2PCk#O~TVX6Oo_H|uF$5TfNyTPyLZ6JBQ6t{Ukr;woF+f1E`L!)h((xirg|0aT z;Ta%ZJSZ9<3%Ipyif!+4?t7aeoPe>cl3+rAv5dv1Qpb7^+*mwZlKhcG)q4_|3S5* z@AcUnv>v>~g{a8ecYa^cp-vW6{ZHzKT@3cVDGDyOw!2*N#v7r@v~;5Ay9^?#+;Zz|T}i#0TF`vq;*Xo!F88YihWf;* zfX#V#zu*>jux|Z^p|4WA9|Ng;=iF?!k!5&90|7p{9syD4>Y(-vC}ld))Qn~{s3Ozk zx1QkDsT_U$LSoD_FMhFH$^9f)VnwTcZveXBK}ksLivNQGlNPV5#Y1)Vp%5!>Oh%j< z4W)D!9p5BO$WLe80b}fEA?-|>9Hh+0htIN-ueVw#(1a+2GA;w!-+T{pS^SeAw&Q?p$aj>=_}L%V;Eljg#a(LNN8{Yk zi?NxVnYqNpHgSvV1mL~k$jSi53Wm$q30LLPr-O6Db%ge^V&q?@vJXE3pu>+T?cawM zy)zzmPxSOwt2^=3_pW!ElR1TW8)zzpN9nclT&nAvz;k z-1!S}xDA}^`xGR=u^0Xa_w4LJc3|phw>rbd2K$vRNIuPm!H<{bY8LGCpR>fO&3PLR zRT|1kg)imH*BE`nba{spBWqysO*|yTjCt$AzjA`}`N{%152`O+$d9>D>s-*aF4+HN zH&OGz3f$;)1Vzfb!9dy|hzP@$No!_z+Cy|{w@WJ~X8yV%H2*6!`tgF$6MhJkgGx|z ze!Os>__i<>4;}W8na|?v`1-N%(3GKgaGw;n$v$fHA#=c_Se#(Olai+AZ6)zTuzC{r zTI}F#bNyK6JrZ{xPcPc~5jhVLFDGhydWaCl3YeYbak-sPzX#9h?(UwlkIjr>si-hz z%Sqog$^8EAuDo;zUnYx<`6QQq@(Y$mzJe%|b_dChHj(a+B?}J}ddT1X$_)$_t7|@i=PW=wu@@Sx&qp_zU^u^oI6FeH|6deOo0Z&_fZ&9Mqgjv4#>| z1Bi?iN=5KD=%oFu6_xfQ$uq5(JXxDgScgTKXERN627;Shdw}+r&rA#ALJ4ltO4{HS*LN`*L_g8tm`J)u`b%_c2+~283Dee*#rNZ($ zfh>x{r5!vgFOn3(F1YPKDqi5*zds^L$OSSFGj0uD5m-Z5i@BOVeXGrDzr1XNHp7;y z`T0VgWs&h$rLdDm+zTmc0-wn|tjC_TKmeDp{e#NhWg~>4jaXU`aFfzhh{Z7N;^1YS^im z^FR$Go5ItbsL&>UAWrll_Yyi3I*x8vl%Laok^2nktTj}skd;aNp0K=YpysBf^^E?z zO%9iX>UR5<+;C=)^E1MOaxkj}@(v+vW#l;&^R7lo(7vNu+{n6df z{3HfI&BwPIuek>Ws;q{fN?N?@Y;XfdSDnYA?IxGw*Xn%>%Y>wWh?W>&=*t<*v6JRP z+cYW-fZgDhpEEZ4?+l#&gs=537yx?5mM@|%XP8ejS+UX}TWNxqx08YK^fvC-JujK% zzphMogH=zv-Ca?L>A+1HF?7uNt7q_m&n%R4f3UED7f_cx6HO3CojZJpNS(l5yg^0r zUPM_u%x1zaFRYv0Xq#IXwakbvN<*-*Mv{kSaNh_)WpBzALnhEO(8FKoGUCXD|7_o} zk^m_)_Zns**gjkyIGMru*-X?HmOGnT4q$AFTxvW(*%xe3%~_y*;DHxzDI)Ac-mS(w zW{STf&B==5%_4TEcN^eHL&Z##j$9OXnjv;ihtv)&B~~S}R}n#xeBx~c<7UvwZGkm& z+PSZ&AO^(1$t|6V&w;L15|99=FVND00D&FlFVAG^8lBU0;i4NUPGE;mkI!$7ym-K5jVCfyk7U9-hSZ~f4;auQ@Y(c)db zIW+rLwoECNpWD~mR_}l(GdECy9Q>dVMWNMioAEo;M_M$9F7-zcVR6{Kh2#c>UdYk* z@LOhK1qrOjmu8yt*&3NDP3K1q4PytMtrzNGAbgcSDyek+m}clnYkIw{Kx~616fzNr zigM{-McBjT{qfL#NSENItOgaPv_+f{-XkCDq{OoZBrM&sJv1)ed517={!pChR$S_e zXC-k`(%>yfJlD+Yfn%T+y3XBF4)p02=ob;{_;uZ_?gb$aQIua zb}yEI&7-xA-}UgmCv2``O{Gdq#70H&@=qkI0pGS1cpr`#_)@OGph;uW$PG&9!YVMy<3P$eHhFee<92jeRZT8VragR{kZy|adf zV7JCbw~R$FE?duJ*R1btrt$CUZX*zFaf`ih5h5~nU9Qw(;X+` zcQMH;57bKw{L?vN)7f9pAW(Zae6Z*2G?3=zSp;&7_n*H(;20CKkJp3>M6gba8#0o5 zJB0`{bjS`%Vcw+v#hNI^p$%q(^!fke=(^*f{{J|4_8!UJm5^E1S!ZhwhZN3qPADmqxbG$Hwk@c!lZ5?a~gi3$m9v2SeI z?T>Ht**djnI7KqLHEFN1Xoq9duNjxfq>yAD<+>nFA7wR<6>7y4cZ^stmIDNU?wU zG4jAXe6J2nAX^4m{3Mj1?dYa<=P2q0E>*E>^7TTPhtf>Y$3Y{jp)$uxnkXmcs<3uL z0j_v>Auz`;Ukjc`pHR1a{0{8Yp5CGZ9jU0HJvU&4pQ&QOI4)CVU8v(Gr15i+Mt-Nh zfA3pBhYD{N?HqrGK53P#0CK}4%^!ZQ(pt}_+o=z>svYiP(KEu1IB`F^n{HAsla6S% z5}zu;S_c$S;TG-t$OON{*nQ;3&seuSuMN*?KQw|9?lXTU4BW^3#A}}QRXYs=fRyge zXMej5dv~(qVC%n;=ORPslY@E$ZG_E{f99JnOmWw7lfeHM-K1re@a>E^uA-$>*&_*WY|JJB!9#Ct5=fq}oE&83ANt>9Y7nCR1JsHB?n>ao~f^M;+Q3khL zO*0gBy9P%u4hF}-dN4o6cm52^(==FooNswPtC%F|@7ek-9D`!qR;p>_w=I0_qXoy8 z039t`|LR29+Rg;h!>91K26f~0tQ(|+uE6~ooY%Y&A^PqV^Yrn6pk#xf_}6v)*cof7 zce~ZzMFUA5J z{mTs+i@QU#X+8=FFMp6BhEgU2GJAfRT*iJ24AQMG;Tx|w^`WjyMJBoizd+Tqcb{fq z%A^J$tf zwsMA3xxGwWj=<#MI=7m@Fkq-|q0DicpV}j!FfmkWOD zi6@uZFTxpZK^Mar++KEKo@y={SJ9q{#VE2k<@k-iYJVqn`c-aGK|V}Kbok7}6KC~H z4gOj;7+b+$) zhp9VuzPjdrJ3~7Wf75P&d%~ox^V`Kv9bq-`{@PGP4A=oLF>H%75jcs}>>;Hr%k%5V zd-;;s;5jO62>V7%tTD@a+vg$w6=x@M0P-A{p1)-rbEB%hLfxiFE+V+K^h?dn}xZh>be z3pGZOyeqm!4X1|GbuG2Jg!BE1OA4GLmUNJjKuY zmAaEa!w*`JnRur5OlQH8COl`f8p^`X+tT~PRdJf`AZJG#fNUJlh<&+~2u#x%>T+mS zF2rHZo(jCP0MNQxxV`+Y5Aq|?2`QOf7(lYRS8faelz2Dtj6EQ>ksEqkq8ivBSvzvOHs7^PiHUV#spd_( zJ*+jQ!vr;BjfXkH0t_acia}MH0xn?Ml)a~P8_f~rHe`4aAw zDmqddEpImk!aAr9)U|Gfg@t5JOwtk#=jmr2;Ntm6S(^q8H%yq=6R*3067)z=H4!8l zgkFsW}iTl4nx zAu_RrFonEa`!2jl^Pv?j%1@sE$LLZxrhM_Jp31?dPdHPOL!&$5q>$R-RN#cej3+AL zFpHa$1AtlHa5G0_WWV{ic(#l*8o^-p1Sz@GOihX;4p5Umr8s^b$`Kr)B}B*)xyV=j zEXY}V<)a z9v8pwdlz12h()hiK~cJ;CDzDh2JG%H5}cQT*N^_|cNC|3*ErfY+kMWH^HQ56rZIE8 zz)cK&k$Tt>pDIdmU#C>}erDJXOrS_G%q>Q{Fgdc-bW{h*klx>bgaWyv5~NY^!Ti$W zSRU4=lDKgrlmo&VRmBTEHpvuB<^p%&U;s`nfe9Q8>3`sr4%{bQ<)s1K2Lry~c!i{^ zYXp>rhBPP=tSL>|fk`kYz#DAYEc zb@U0?^zfAqh_JuAbR+nTgvS-P`wz~=M99%9RET2_!L(9?e;2_|O4?L;cYg=%w|AF= zVAi~O{^<9LQ`;MM*?D%8C`aH^t3(iG348$19%(BJVsWT>b@M=8tN%Pg8iVlK*xK~5 zh8+87Mo~kfMyPc{x4kxz;~XUE_^*voVA`94SSF7llIm$-)&zDLc%e}1R$AO6XQ8#E z8PRM8cJyLgJ>9W%(+%mE7sk4D2b-ooG(KiO{I;p~4(FXT;T2!1rG%aa#Jt!G$T7e* zqu-Z}I9At5bSKU4Gf>-?DrHROYv@&4KG3X>1?RrA_Lg=KW+qw^gJ_?>Xd;o4wGCt| z5%08X9q11ZHqz8{LnHs29Pu2a^wG?whi>sk$G$q-yp9|D?~J z^?aKt1ERfdI7<|+Lh-MmigvQ1Yo?SIJj1SXP-o?xM1Zs8Owfy~S6jvsGRcTnB(IN( zj}!STYbrS|&<)T3$mjQ6UKee9GoaJa+@nBZ=g~P@k*z%Hw{vlIgarO_N`2PEx9QLV zoiF+?i>~gwOl=IRt=95WXp0XCH61zex^;9Go%u6Gf()F2}LANm5UH`SHSi1a|2| zWUUXX0G2&5u+OvS*x%)8Kn z97tC$@)K@)JPh6}hzSpKM2}}{P8NMvAqIk?vm6JJOK|Vrrd3H21zk+ZWbul+twp4J zZwi~A3a?~v79k*qq;AIQ2g||2K8h78%4!5~L@58Y*GpC;8#n4Y*p|#4O!zm;><4|{ zWks3U)yIMrV9(y%Q5%(ZGJ{&Uzc+k5$H`3jn~{VPf7oI5xrD-N%DoX7c^9(%=`N(s zQF~YHI7$v!i>xY|(V|X5i8PdO4$J9PiSFONsM1xq)XS2q<@sSBMG_p-1xU##1;XV; zN1WR^Z?k{?6x(n!vnw@z*#acq4kIl%5w$>qo23N;rPbwrOR&p?*vFd7`-)UP=XA6_ zLIbotA8*QvmY3YvsXvgZw9=d%J`XT z;6?6>z9$?i$O3v@oFKIE+z9spO{f@HqXna=SQvNXIMa3d9Z9Zxns$Umy`rO4cki30 zdv2$(FG_NvoxG#?bwZc4i^8`AXH--4PY)MXE9OR|X-MM5Zy?f#dntWP>uSjPCZ-h7Zwe7NFuvBDv zRB^#|9QOhv3FSz8!1Z;Xt4cOW<$UOdcfs+os+h)eZC=+?6@4ts|af)X!x4T^T3#3Zai3xJVk(*1n)O8U-M ztx63D)52>o>SOhpcr-#Br|Vt|gl-I=4!&Zccx{KO!*##Em^e?EZtQhu5Sl-tS#uFV zZe2OSul;;PF9IoqIxI|4*NwjQBRfRRK(Z^}iW7{&4kaIQtLyurXTH&eLIp|NFLrdy zI`;!q`=h?8JMq*({1BTEAX|V$_=$<8J2Ei$g(|}2s13mf^4amgU!!QUJ+@z_K7c?u6Dgp|L zs4{xBrT>F35l$O<;m19JN;!|#enX*FPw@9Ic3C;}RpqseI>9?3>W8Bl2^6yppRN0Q z8*aKrxLLZAzkgk9Bem6^S--L~c__`n4Vr^u^^+rpu+CcPxOO?EM{xTV>Vsb2Iw<91 z93KZr_lkv!qVd}u>~&YpmEU869GCda{fwaJC#`YL#`+hAdPB2Pr%O?qFv7HI5c|-F zKJ6}VWY>L-1+2chsH50|9?W5f<@r|IRI7%LH=jrkbBFU6z04DuEqzS}3YXSSZwc-6 zMo1#_Wy5VDi)mHeEWB;r@qqhr$o=A6NpI{@%N_;P9-{JO2u>Nh2+T?}`HZaJ* z2m!Gr9A*KI^ar&C#n(cLN6wJ^7VDwfsgJgxbq&*B!*k%a7TMn{41Ak?;e{miLa(tV zCtOc)Efb|OY0Gz`e*Wl?F0}9N6m8QsiG#h9p~M^YtS~MlTg^ZCoeixSsn}aCUv%6QA*Gf_~5)N+8UT5L7v~=iALugd|b_F z{f-0G8r5NhZ51MQ8-98jyj3boFF9B-?dDIgT#Ao$Q8&IYn^+BL-h=tl^ec%^>^3CW z0sr$Wwc2O?w5Y3HHp+b?%)dM}lUmf>)w3U5i}*%+z+-I2N{X02OEbHc@LIDs(zkF_ z^tTBuLGS@9rMm9WddRgWED75h9I1E(5OsdQyRMjQSibEz)VHMZk$8DA%$i%<^de9eo{K_C{F4lm>yPF21O* zQIOKQNR`LSqH-NX9_IfP?7Yo@D$eKKdD0Y+IQNFfq+`dm+FGD&{p1X1hyVb2hc}iA zos^ZEjT0hI_A`7Bwk+@2sW$j52^P+smWMLh%&O9gFa*ZDs+HuQ8>vIA_KefS%`XjB zvMpNmtf>$Mljkc%TAKvgO--;B%Jg&e6y<)V`y7x$-CpL5mOqaeS$ZC`NEMQwbnAxG zDF_9h?LS&%Ia+!;s~?i9l5Emo*46xR#h56<7E3jK3$f@{Q;;SXZt z1i2aU<=n+*P2X@oOiha9lf{-fi@5v7eD94s+(ULGF;G+)D9uj;Pkk7dV!h{zy#Clr zlP^e|X#3ZlB4q5tF#q<-_bj$WyWceWxtnSzP9q9rep zJ~RFyTeN+gbTtM&V>UNsSY%Sv=OEF@uEir8)BbU$a;-aZ<3zF<(~Tea`|L|%PiSkp zp%T`V679zEd%(Cuhd3}laHMs@s_Pc8fUVxTR0t*Jb5n0}+t_KAX$%NY&RJk64NU=fr7)l2G!M*oe-?%C3fYn5LeFzN+1Q)t;HVeY_-F zSvWpjKE9oHwe3?&N3OpJ$V8xJ4l$pCY;p0u;>TnZ_Q!XRpE6w*!0X}M+LIq?XYzmO zImDg%omvzf^&D=jPSejfnq;H@Q=5fa8l1iK=}!RQQ@QT(b^rBci)8mE9r(vA*bGYh zN7Oxvz}ro)5gzRJRnx;*pSC}4k1G6-2o@`oO7$DipT@E4$-(kkIwz6pTf6KV5!*^9 z5s^$eM}Kvlm&$_L-~NGBO4X~zU}b*ABMnEf=6&k6W0@ruyGn&UsHo!S%*mEDLIWLZ zKj5=ZoD9yLd=`W3vs&5JbJiz?AVSG-5N&Z*G^#Z zr-7CmZ2z^=u&hPt2#M>SxqR_Co$Et^mtUa-iD1shSz2+J$TqrA&xW##TxhnyiFXh% z5kr-3`h#wnN7Iuqymn5q@e;-t0ZvgSJK&}87POi-+>joSDjoN)B*UjWzdVj9{B~#_ zw-9kLhS}(mM_82BPKiSjSe6Y7w$4BYxC!+V-I^|me}~=+i%g!$PudAQnn?LOeRj7V z2{9LKx18c^*X_)4H@7ed4m?#A;R>>IWFWU}sqrRwjXXFv;sDCgW&Y)ttNxegLL21u zA|uL^{>r$N-}D4rvkSIx`*Mwp)&77?r&rv+?9(}FwR)2LglCjTYsyy3)((!J%P!CS zlB|Aki@LrbJ+wQhQqeBjrt8nCPSG{7(0 zyllp#k<5%5=J4|^&($)px0Up%N-vKe6d99UQ!VHDI;`}7uxraYu{~LRF2*62?(3+p zsl9T43G|@Wx?h0<^tRmn13aXeUw&T_$uUT&i4&3s#3IzIL2O+14~)EYJjGOBlz&LA z{c;JSeK}Ch1fu=y%bORW^(v)mCc9X7u&IZwvvh%6xW)=Wk z`{{Xk)_BR%s1bcw01u@Yld9w%9rh9G&j>!|JVFSwmHG@ZisS)f2_q_2W*$41Wfusl zwAfiOT+o7IztR(GYD(y*=v1nvZVos=cW5Z@lMm039xtzp~ig;O(lsisG; zB>5x5u?fs54CR()Bj-w^It{9JU4u1V5^G6*h{MO%pTW)Y0JGZlTWHW6HOfgg`aLuW zGoz#u*wV5#YDfZqAlfk<=Ft@*y!Ug&RV0|=*g4?rtg#(q@XQQ5I!Q?1+}9C@ zjs24K_7`^STN7)#+J8OyvZv3I)2id8ZA>z`yxE7_jgl!VOau+pe#X_8A$v`4xqr8K zZKCWGh-Vj9@f@@7tSp?8*GD@zi$CKrw6zY-Ryc92P$R!i@SZJU{rBsQ0oz#`b=s+$ zVi?3;rz~GkW9?ldx1wR+FP00z%XvQU|E5&TeSPq;Zz8UNi^eVJ$J6zn)9K1|u=~@O zT=Ok=B)^EZX~k9Sb6aVfyc9LSULN8kniIz0NuJ@)g&5psRzi%@AO&@cq;pjYxXcV^{9g8dZhoV?Y^((#FY**xmnGNp*Vc zgt{NG_ve*U%g?mU^}Q;y`MjKCA)6V0h0+vp!sg}gCww=-!}C@5u#>XlZVJHl^xP|} zWuSKW{ISHe@K5R!XR|A9YkxHF`~A>sJ$&3X87Ma79;Tvy_}Ngkx05}Eh7xt@F5P7) zf5H~cB6chrxg^91u!^&DuI1U1{e|?ye56G$9D5!k89V^=ZpZy~Lpo?ITeiV_5=Z3;uv9P(u zyTNVt4wix+>Y@n)*8z6BYm{lZ-C+A3m~CaRTV=8dhofg$Dz4*ZV~FeBNWVxy$EMCw zT5Z8;76sv-th)VdEnZJt%JXLvcANQgV$2aH#7|W_Q?v)H8vJYo;e1(jurR%zzpCC$ zfZL|uoXq_&_%TA~>J!r2PIl7E;_TgUbT-QtGc!u}aUsk}m|&f6`veKAfMosE`e%TPZ>z|AZ)%y>Z4Jk)%du-(01i~sBtjN|S--&vC6 zv~8af3pT$feRZR*T4vN8>+!p@S>LYJGo!rUjHAh=Mz$a&_#a^<>nd5KC`XF0X1k;l(IJJGWW@2+6lcO|9*b0wA$Zc)hoTXF|JWQeYK){HqeB3yG@i{uBhta|xQAm1 z@TGuD9Yp{F;({5P6&NXTt=_pc+KeQ~92ZHZpO#?6KmuM$>Q&m1MpNogDSA?)K?gx$ z3QBj2N7yN8K4JUgUg(YLZfE5-FPl~|zO>oNZ-2;@xg9L(SBfE#HOuFYLUyBCbkj~a zo5Gjn_PWx?=XM1h<1z|FG4Y`laijPf=qFF0E~yqwJzK_Y6BFFd4yqDU7m4m`S7^L1 zLx9x+%er6Fgun_UYx1YjcDUS36px7Q+xFnKS~kl0c}ykMKwoM`+Xmb+*l#&feS4zI z*MFQ_>jybSvNz@aA}OHafR^}@%Y`NGY5{NEIRvU6A#IkPIGu8;XxBW_g_8= zE0k=tU#849qw#5{Y^f>s^p+nwz>+Y1Ci(C2-budAu6A&ULR0_Y#_@G9e3w!kKlRn6 zgUxF(k}kA1s%i0ebbSqN9h2=2$DFX7+_a@fS!gKu`?p=SYbftb+A1u4z0*VlSYWTm zGUz*N1jPHL$tT2kj%D^YS2`NS|8(UsQG}P}cE&u$C2cAy&XRfzGLjyx4*YwhO=6iz zikD(*LH_7#4kT=ykNd{daO05^e=5?3pE31uPzLnZBe)PXphLnBLsJ6X{3I~kvf%!b!NJx)Qqo9rJXq>~-aKkG#x%6M; z9LQ#f$sFPQz@YQ&=lwNMlP7%ELrbsSN7~9`%~REhbMZ(|6nRIz`wpF-843TZ5Uy+tBBadO!zRW&C_|@zfbMJmaHj?yZ)>MzAMqlg!{*Ri~0K& zlI5?5DYqF(Db??fk|KQ2FORV|^Iw`u+QzL&I5@m;^N+4j3yPd7)C*`C)Yzu+Q$ z6dj`?&B)X-QIh|Jc~XG}Cuu?Mh27Mqf%Fp~@u>@&m@c7$89^M{rZAfGTJ>%C26$0UN#NtYwf??Z8j6Q7(BdoOF$zPTJ8WgsLeEbzv(H0oEjg{ zh(XMZy1c%k&sks{1X7AF@sj%P9b?Z1wbefI3;L&~uptP>YJw-Q+H)RkJNnmIsuw_G zh7vd<1$2m0=Lwt2)Qx;O^)fiK1j>`|>B_;1%6!YjwAiZ;o%oXQDexa={n9ZjwXT&L zfBkPqOsn4x?C=d%tQWn}Ma&eI>0lp%a(C+f~^stBE2q;aWQGK;Dk&h})}lIFlq1Jo`h$+I1uwT&lJt+gwk zzaYcv=}-#&6DJ+cg^{oO$1t;Pe*OMSbwh*}nSAyBZf3 z$We_$n%`oy-sT?rfRO$7JNhyW*!=Ww~oy+`Qkz1F&N$Nh(W+3)Md0 zmaQvwn&nOLM`db$1grtlCt$TE`&5PBR`g1xJB6s zkw)v>f`&f53TKCJp{EzhsTz6O>gDFOz*_0Hd$tVB=th9q;_)Ek%6TQ%NfqO|M?r-$ zFmVU^y4x9K$h5)|ErethVe2=;UU9g1BvId}-RJGomBX9|X=Jn>P#T$uWRHG}MnLDh z5f54-GCJnzJB`dIj@W`9uAlAHupad3&lsMV2G%hD7Et|Q>j)d!-d-N1cBsIv{u@#} zIzYh~P=kHjCI#DY-W;SZH;KZE2$Mpsj}KdF6H&rM@Nd)D$jB5nq%hb`bFJ|HBk*@+ zGlM=RY`~V4GV)P&xj%B*nkq{^%r~0_^~U^Si^bqcGlUe{b4W{Dm-<%*O>UX=b{W^p zJ`?6_&!Bt8Jo=&kgP!`?I?8W!`D{UjHdsX5jR$>0p^Kl8D6YhG9FzT2y^u6KwG>GT zJwNSp8+*AgYxtJozZdmGDEaC1?{aEw?TJ@;P=`*9bt(s|p@7)&bFfZV%I`YBQlk|6 z0yJEJ$;4tj2Ykx66J*2q+AOg$P5k8K(g9L3Pxv-}HQlrqQVRSmDV!zGapE)hfyxdb zqJs+Vqqe5!$AG#P@NYP~=R4)>?Y;|zNezm=?L7RsI&htHsZj$)kY-Ks_I3L5qbysJ zi;=hu^~wUy0?z8a!tcj?!zy1vDfLRb%0ouy8=CAhd{H zFZTxHcBgN6zyFay%yW!4%UAZ_$IcHMXqt%t#Og-G4j1~~qhITYJUbKdH-JyT^E*7} zL3Ip$n-`Eop%Hwx7&2V@N4Dg99cBw%!3u?zLxr~9u3e&59`_|>BU+$FQmE%nX1fyY zX7U(>ryoJO<$ah$PY!&v&Xw0O)m`qGj)OsuuQ=*HF^$}{3|`%|otGNkl_;NRD>%|& zp=4pm$w&c?ATcWlefxhK949ku0w_aVyb18eM zb!sz{da+{8rM+1Z#x3sZ8sX(TC6Y5Xv2)%7Au>Z}hu>~p$(<6kP|45`abK?fd>yCD zxeYmHxCi*HmL)w^ob7nXug5Ms}Jt6J6Nf8eWA3&@Assp`PeF z2_6DmCh#22Z)hGH;8Al$C>3vG@N(E!{caROJ%_V9R{A~57u`RQMj>5aHdR_e*!@s| zR=vdN%ut6e26Nnf3n8uDxK?0#4)ip#aJPID_W=qpmnQ?}IU*oqbuh$NsHUFClz*rP z!rZw#x4dLneN6={oGy=Zog z2Tlwh06N9LR%PT_9ulHHlogQhwQad^hh1KNx_B#kl;Gi2MO{%`{Y6{)?+y$&`aW~6 zZUuEh0M-(f8MO|AHQ!v%m%`X59SN|FM9BP(^c-@9*mz*UN|DNzzAa?4+=`GVK?Ls4 z=j2rg)9z#)c-o>;q-dc{>Bp>sz_(!-Z}z7zcqsWcK|Mxw2~?qV=asxG^uQoiu7|gq zdFA3888d(JAV9Zhb#)-1p&o?O?Nd*GczyX>Qb(YBzs7{lO{(e3=MW#VZJANUSkHe1 zqh3m&2#)w5kV4g14i*D&;AeQMeraOLN9A$;q%}&I#JXe{BuM%+>OdR1xJQMM!KtOb z6#E+Hhr(UQT83$|#@)xp8*Vo=r68H~>}>!@qa5z22S_=V;SEfb^49)QNW}9&(F=5k zt;g>%imZA%eL@g+<8Bv>3dH7Xr-U<|WM!9_2*=p`AXcUG_HDNt=+QTlE=I;0k(DBB zTQSg0)5-jlU!aNFU*1#y*fe!UUFw%*O~ilJY_fgtE18n<=za%}>zkWRp2KWcI2^`Od_NQ;S&D8z@DZ4|0GCmwPyO z7*|YEmLHn*w*sBb_%XQX78podNLc%AnuD$T_%^4{jSR;X9<)x)C+|TLD-b$1Y9y2m zBWxEwJ|E8k!X6qJd)ngfT4su_7R6FsDN^!*i_82qIK&&R#mSO=d zW**z7-t|Y(n^#@!&&paX^2Ls}tzV?vBKDI6CFUGZQWRdw|GxHKKm7D;ix$m6>9_Od zB8v0-?hKUi6S^va&oO#$`~W|P&~+zZj=lPyGIAcz16VWksbawMYs3Q$i2b9~S+|4< z__^kv5@#LNoDI&U*mVUNGP@WYDQCV$@;8L-F<_4=q8kG_+U!X_&8)8q)_gES?`%8m|k$5&mL^x;{gLsJ4x9hiGQxX8cA4HdcG z2_}n(#@csiDOm65;qto`owRYTEt7zodAgtLNNG1|y^kAaBRpOrX<+Z~Hp@$nzdFns z9sp?z7j@K(fag~P#KGj?2@T8vVH|92fk8YfU}|u9g6Bl+UjGNP99M$DW8vtKsxCQo ziy4B_{;MjyOk_m~|GK(~@E)hmmWg}AF(_K%)lnd!U0a;JhCq(%`xb6Eu2=}qdp{rW zWZ9#K#eMkSqzZ!rO5d>2XKm z)AY1^0Df{Bh=-6T@YQBG|(g zEp8X1nE3}`_4ZNa2w%XN)d;qepDCoO;H3lXs1J#eA?9Mo@jyNNubaw3lf|ZGVh(Ho zpGo_55^DV}%0e!K2MN1|+tSdl&ARYW`O)K7`jWIHD{yDFPFZT0U}vAq;+ZL`Oa!k4 zOS`a2jkc+q$7qJ>LcNEwU)a}Y`9vpQ%8)Vx6Z%v4-f|Ga7RJSK8H4A7!dV}^tC?q^ zDD(M<^(wLRL7k0rg&uasw^=o4@ltE6Y0=CppRqAEmON`Lq1eqi!hrH*DNRkh#Q174 z{x@f(e2~^cn0hJvktJ;eYjgz9%;(n=lbbN>UR$w#Mp94Ndp3eCpTWjv%;v?3#Sb1$ zXQJq@Zw9r&*|%ei7$~%R^>1E`)5kqf^+%s9kljLx4(3R{mP9Y5wDXi^%V4Ryc%$)gga={9M9@_jZHR1@u@S}f{pwqpO2*!f4vRd z7)xpfbSydkfKE$oFN*4E>T!rg8 zzXZ&cIYryS!?wI&t;BUVeT^q*#CXn?>+{ktQXA)Pv%D8wW3wy27=S+6HfWA3%Lu%W z(-mGVplYmwB4M{W?Awm`3RSdR7_q~HtYxw$2__9)U6NNA`ezV*cYMU>b{e#UYMwnXAdS6BJE!nL?y?= zyBRGUw4}@Ho;~oKC#U4ztk2*J)V_o#r1<%q} z0o~Qc6BngR-XUn6?DVDt902N!789@4IOx`!zh-+Fhaa!@9A zKP00~P!JEudo!4{>?pd|vw^agjKXanEVVdZFO|xG7e;h{xP>SqNAe(xQ+qf%w+SI_ zAx2k{#nk>VfT0m@$TCxrl}?5Nzb-)PrDr5nH@+>+rXLDE-rrEH!56l}!;VADZm7lD z-G2*`zj-H1fyL&V8XS*~**jCJ7f){w%zcxA{Rg!kc4tfdF~$_cTr!}#U0&U zZ9yno*&mr+>G9=6`y9aq`;7JFgXqc^o|~{GSi>cQ@$=o5i}oeh$-!OC@yVY7kLve! zZ2HgpZ*RfoN^bsfdRL4tZ#&R@kIi)kV(G%RFR^u^003G^$Cs@31>_$ZiE`Om;#LP; zP9mrss`0>mwK(^4bCT(^Nrs?ufHu~aPbDFRNxy4lfCTbzmY?+73)b7ri`!b81s3&^ z#plWAI8sA>MHKG|nK3sgEB05ZW}&^g#v0+{dG{O|WWS8pLM8i&1?f==s&j;VaW zc-szHQfH-uKZLQGoTgwd0o1;(yEfO$a|=8EoCB;5Xx8(Gfq%suXzL2!MpFAmdT-L# zB_i)A?NUwW9}m1r3}Hnh6f=Nwgh&OF5WDuu^a?o$()+=7H_?&TZ-f8$4{j>Ux3o&` zxuSpN)*dX^K82=^c`G~NFPR0&AK+Q@09SAAZvn=HtQG)mTZ6@k!HxTd?pwX8gbR6c zD0o6(=Xf57&!V)A=P5LuJ>Cr9OWqKSGZnp0dE%Eqc{<;uD5uOJ0;lT#MAx$L$3;O^e^m8`U#_%9^0 za|3MjI@qr<;1mpSmfPWsjs+h3_rhkkjP{P@*me!h?Z$+pHz_s;M)3(e>b0CQYu=H@ zPDKjI%)*#^>iS|a?+e%nQt@}&t-^&xO?{qmuk?2>(XwlX`a$X zMf}p8d&0=0*#3xC@Kad(h4A&E*B&$!=$_+$XM+Zp9oyu{K&WtrO%MVUCp1WaWKtG6 zL5SzQMp}Y`0w!p4)w(I*EvD%|M?g=OgdR&Dt+R_C|IB2j6iOH|^-fBBnbd%1glG+M z0duCAo+CfOmERUOJU}X3qK4E&vR~v6k6#_N0Tp)ICOBYb`cSF{Z$d_UrQ11|0K5=y zBZ*6@A&$3sfW|qr=~6K5CDxHeQ>?#R)KH8LyG+#S1t{=t zr>q!z@x>LLKx+Wx6;vqVru;O`1s;y|h+Z+jtNP$YR2dziWG!-Trp3FE) zl`N?SLCDIdPfbF43K+6psHxTPhiJr|v{O|})lAN>p(EZ%yfgDc5Od_CnbcEb+pnvw ziBs3-E3VtLz1f|4VyU1_FX&UtYSZb@(fxBO4zW>i?O^7%ykmdBGxCSbLaGDAQHvpf zOvVBQASQ5NvH>g;UNqz7P@2@*>3wqKsCUgAGj?CjoZ1XK^GBL}YRvj<`z}VTu!dN* zp zy$(2hTNfd{m?SgA2%a4TWY5od)Fq+rX3TVn2uT&MxD#~eB^<0q8^N=vjn$Zrzx%7l zpOXlJxvVq_&6lvgjyE=~259^3h~`7@&x6xwhGs8zYuVzOEM&$E55$yA}QW81VMewaSSqRS;6 zn#-7gKJr)-sy!-z;#vAsTnce0UqnQQ@W9nJSIuu(6Sf10zg-LOm3LGvz2#yI{COfj zUbN~tIvN-hkbph7oHR1OhnZ&ohaWyeWOx-#mXSf!nlZ&Am5tK-0|e$BJ=F4%bijm) zMM?o`0^@HhBfKowQ(QT6UO6|`OARygPqVDAk47chCuJ9pPSb^g{2*RUe?e70md>@O zD>m%u>%yxLk_QljlCqg#ZCb;mUqbE-SSYGCMIh_Ne0PXlI*0J2Sa&1iPbE%^vu)bT z`3#>p4!-kHK!~0^u&ubOZHtL?vWY_El~N1wkaGP~iMfGx^$yw@@StK+;CTlzhnAxm zU$@R$midNA^SPt`8+YAip0~gHYkvKU93j~y(ymBjO5hPw&|E-WnO^02qE3U){n$|M z8_4kR)nprjPNNE{`%<(w20^$?=zxOq1N3XrI*jQ$tgSjdBv$0+U;P))v>0B$jj1iZ zc?YrDzHeG2&-=;;nE>?$^9GV;F>7Mf^$`cQG`j@ube6yEJyEP^c>K0L_vGg8$8Ucm z?*V5;5u${Rn}mJOrd!m*A%yyIlr9esr8zsg=D#gm6pquU%2dz1rvvQSXA=ze%*W_8NT>z_&pjvZd`20sTLMFfTyQ+s85VUJo37CxIN zX)c8Fo**8{9YlWJk315#ShA0MhKN}Z5zl|;%GNz9RE3FT$ytA@eouEySk+-{lKQ}w zK8n^(ewB{>Cp_x;@?Jc8eh!P=m^y-s z^fLZh43iKoF#6qsL(>l2%wm2O6`X|8x$+ED7RzLaW7^4KR$AK|yl!0H?m%>8@T_#Y zeWup~ByEI?SgT@&coBCm<4V$Ila)hZ_rH79hM*A_l&k5QBK_&?sa!#6lA&`Wk88dU zoT{Rgy=V3Qg~x3@R<4CzT7$sBNXJXHLF>`Q(r#(AoW_$%ZB5a@uiTZI+0esJe_hP9 zL<7aAc7vbK9e1x>R2ZJ{ZMr%z>~b+WOtC<>twCX4C?{=4#fRey z!{?jtdcgsq)Jsr5iu>mM#N^ubSl<75?ls6onyqaL)ii)APuI0_8;JaP>l5V-Ox=nk zzg_28eA&cskJIAndd_vuz1QYJ=Gjsb-eyQ&M~}jwCI;()dbjat`ON-I#NLlwdteRM z4n+50c4YzJJ~vq$E1A81?wOR~_R;bmD*UHaaja!z?+qxwJ5x?}D#w2qe@ZKCy1KSxZPa#K z_tYV;y&lZ2<9W8-+oZXIUlJ@?-wv&y{!UmyV8%2F8}oz&8LPW+osLPP?&M~r?Fq^B z2UJQ?Pd7FH-;2Uf;vC$27V&{`#C7UyfHv2hcY|UEXtWILVgeW+)BpZ-&oM?_o!7G` zAQteeq?vlR&&@kjpP@L3A zscT8~__gWD1#+h->CH#cy?+OX5lC3HtLWgwB0!oU5@3{dIut%sUOp+Y&QTAaN8Jd^ zmujys(9p&8a1h*cwqC-6?oN8)ByRx<*iXzl8_<;`)31R2#CQ%cLa-S)4E0MD#}?9s zaze5`->SlZbB{1ox9*naBH`)YwaO(}>BF*`nf)Tw^p732R9QkXGpYtujk2tX%&52_ zXC(^r4qC4j;76iQb(>3Zy6B3&8@(~Ww!uSIDqq1k!O}25&_ejE+{zh81rh#pm0q_F z4@@oeq_DEX6Dt=nO%iv>dUb{;w`gDy+WPzYUu(HjwzD5nQK6}>8tPdci4YgpJp-$g zF*+_B6lXMAS9nt-iDC9jE$*GxqGZINQ427*(x@y zjqNB)C}Ah2k*R<8=lh=O(FvDicpV+83eQTJ+4wTpP8a%-nSyVAq97`P<85yZHc?MK zjnFWLcby`%Q{YlXKWl;*_6_rJS&y^KjOx_4nAvq0#BFAuCe`c>^HMq_(_?udj20tuBY~+dWh+FLz__f8 zYPDeo9pIH6-k zl8QZN;8E5|O~a;aBx%?tZ)F5&vQ$pa<@NWdH-RI2+uj{*jjY zHy)2;$TWW8O>kb*-OqTixlfuIB0HW1CT(@1{Y#WU{eLJ|%9m2qYNfToE0oH?nza#q zz)kbA+2&$W+Gt*keHs&rz4!Dcx?Ex!{}znK^z%Ee%}4dr+O_^C3Xr;RY*w-FNd+Bj z=`;jT0xDFElO-|bxzocJ)~k#iq8+j**(?Dy#fWLzP^0OY=stRq{E*UXc&J#?jy@Qr zc8td{A_>zH(V`T{$4R3Fe4%$h20V?k-wP*eYKBMQda!~7#>G#-XvyACkk6KuP!b)g z+~E240d7^jf{Ann5?UbsoQ8ttqw9JFd^P~6);9I+rMgeaT!Zif3)-w_**{a$V*TjbGrOwn-oD^WG;v7VB4sZ3fvW*$JMkw0;%rK+_iD6cQ zMu&&WFD`tlw?>wCPFf@RVZ^U=FbvjNN7M z&KEK(|FQLpw$B#Q9DFnd5nPKOZ_yoeUJp|u3^X9Sp%kgAx|YR3wvBTqLBBuTma2a{ zlkF!z@q@NowB{n@7i6Ah{UO8pa{s=`hR~COPnM4ktK0cHYgs7<*E}^_kI-E7r1S#@ z%0c$;TAG7`Z#OFk8#pm1_vsD<1W6^)x)iDiKLTxC(d)^J1K)y_d8zy1?8}mE3RfWq zEfks?HS$mBC2CxX(pgX4y4ub6@lh?C->Y0+8Wow$#dGa7By9CwjGmqA#VY}4Ckco0 zo8Zp%B6F>HoR3g(JZqZfKla9ttu;*heHO@AI69TwsU z$V}YDCETqs-1}KB1G`ZC+m4@Z{|7$1U*Q{nA@lE*uJL`l0zL23j_|PeZ@#P9-!%UG ztn_ABG7Pur@ct{mHucuR+Ho1i-KAr9B5xcOYmL)#IU(P%2%^VT5JqT!eo7hNyvz&w zg|0u_cX6nbEgQXQ%5$ZQS>B=aU}k~AjN{cGhkJ`3oj>;MLQ3N9-edJ@v{tO7 zYf5)Fl;qZ@3$)vJP5b_-)!fUFTWlPgtM&9Lqz(t!qUn`%kQk|!uR7%4jbPFP;u?lD z(w{DRNiq)sgbclRdXVb+lri7c-wqrGuRLAC-?>t4-8VAg=2h4CffZ|~g91WpCSBlm zQyZg)?Q9+BDi!i5fYM{a5|bN8eQVe?6?rPF=GU23E)-X3=Oowe1>;;x8Xlu%=~5RX zJ>8f`L-S4nqZtY2jxs5HvGhy*5scM6jx?Oc$J{xI8MGf&=ciVJEqnQgsg`#?IzRFU z@ke}4hZk?DJje1<7#_1GY4-yCkjI;FaZGoGZ-r?oOPcDsgC`l74Gxf$+Un#T&s&5N zvSG|(QnvDU4KNC-)j7kR5{X+XF#(QecbA0z$*ICG)xmKxbR8&4ZpKZVQGs}w3POf0 z;SIy_7oW-h;NMCe(@;xgm6&r&v+Dp=rv#M?i1Mq+gKAloy3cT;>`3_SwIqrc2!Cq3oJS<_DY1Bq%QqivTC%k41>&oy>= z){F}}(0S^3-xx!?^k9~L+AIFqSMT`WpU-$!%AS+P>E<2+@S$?;;o-sH{I?jTRdp?d z);Ib=WxDNQN%AOPnuEZ{+(;LEi2BjC!RhA@3??|yQ3!P(<6Tdq4SC;&cb)s#lS7T(J_CSb@1JLytC$Wjn4QEh*fk8dsXEjJn zPT834N||T?+DDsK>rdW!Ix!{M@CMkpu0c_Y+`&eflyGZOW`#OAV^)ozcFHVTXz4zf z&;0TG7QDd#9vNMs;$2??1`s8LIOX#DG2=+=eI=l)z8`#dil5_}cF5N&TDD2a_Lu~y zhLs3n6sgIpK|FUZE5#qG$kERo_5NyK(1Qzsp=NetZ9|h6Ck*lGzfDQ(vw-dN)Ahq< zT&@S>lUP!@HKFm)O*k5N`1r0};G{7HpybunrK1)1-Jx>W^%p=c!-baYhwjG+Tz4*JkQ?&ZoC z7n4?<9wJi*T&gDN4@y`4m?sUdN>;cVQZ&Z1zY!Ngcq2WIw} z5bkt@mEr!Wc3Q~`-<0Fc3T{`5MV5aZ{5N2=Y?gq;+4S&6i8PAbDq{OvI zUtlG1icaInd`vZ9EPj}3U1ISr{ZPHd;VIRGB zaR_|>l1EnFC*K_Re{d!EUYz%2}6}vb;Z3Zu-f!6P>^2SBHP_Fsy$8$VQt2?yB6( zPNXeSHIhaJEAgiF|04PmTq2M>Y?W7=Wxj{czBRicRFQldYgWV+xqTqPGq;Fp!k;83 z!&R&jYdfEnp@{fhlfD`>`p)vA!T4GZH#>ZMW6YrLJrYPCb%Jv`3V&94Pe z!pHCj(9pS-2T^aJj&JAGsB%S0kS)*m@?BRRe|=NCWf<{9g}SEi(HHQcJYCrr@ zs6dhAH8YAJA3&o&n3Hmzn~F#N#{(Q9!Zmo(&bI3G=E=|ZN&$_`=`<0NV6Ti?`q6e_ zs(PsaXG};j-{$(>wzBLL0YY*l<$YV2E)r}g9vJ0AVbt^h4T*ZgfZ(GMsNqp4F8o5) z`M{pF2B|FAR<+fRprslvw@X4j2__diB)V=L#EWuo zvlZvKfDM#e8%?>9y1s>N2=!U6w=CTI5c>0{C_RIF*HM?1nc)I`49#sWzPC;fv)&gW zr8ge`Cvs(J5HeeoJ>{7y&%6HksW~o(7uZH@2oJ9{o5MI(71;+cSR+TNdC^!41o`SW zamEHA@Bu6Wg0|7xc<$O!5$SfNbB~u@owNSnoW4t$Ui632qy0g}SsRZ>-m@IyzSv^; zD0^h+q0^M4E8V&t#$PoMlyM|{J?_VYBg`r-MG=g%9qOUGn=~V_!%qjp*0-}8g>qV6 zUzUvbVcOSmp9`$V^y5_X!rc~6Z$DprOJ@c`a1}Lzy_)^#dB29%)$_3RDp)cGf6ZL9 z+UYIT(WtlbQDfeZ1O0(QNh6NReUZ<_I?3#+h5Uz`+f_cd_+mFqeq)`!KJyeG9{D8c zM^p0*7Ysy%q=Kka<>#D+Cq>AsAEn{G)P>1G;xJGIu{4JgGR#|yqj^R1z;)gFi7 z(=Wy0H!$e}DC2Z!MD%H5nJT+?g=N#bV9s_osCuG!7d1R)ns4Rhdgv+c>_>zd*8N0A z9zsJROMAL-NmCLLntRI&3*jtAY+OTZNj7#DRc-%RsVcyWWT{X$G(U$g`7}t5qV*&y zzrR?f`)J6jeXW5xrX~l|Kj{ZvIw;9;r#qb0nuKk+Uge=#Q=Noo`w3$|eyrrT*ZRKQ z54O{3{VqLxEhOlKr_u0#n?0?(_{!^kFT~bDHD1^eo%nlYsp3D?S|3ls(3jBMQyDg< z&yS-NnX#I$cRl1iIbqfV`!97G#i!qIx{=^~(kqw&^ea)lTu z+Nkf2(QVSaj}8E4nb%vgG@W=E3AnF5p`tfREr3Nrh+vI|s8SPlumDh{P7G_J+GASx zlVHXR7c`1MNxL4PMlDr@)5`M=Fn-o7310lr@5F6i2--VL_vy;H9z_JlJykwFwA37d z-!$HL%{mClU>;JYAJHV)hrg@?htZJ)rwia(^e^QszGVpEuJkyPyb|jKImv6D;$XNU zAxP0P2yB7vtqy#C+N8|%mk>og_zhjcUN7hL!)@}?*|RRLzWL*0zAO4RBteS4V`P%d z6B$zI?h+Xi{0{^#8mB@S%gnmij+|MoLJsX<+-VyUu_VJiyRr|gW$e8m- zC#_O;0*4gCdd_$e(y-%h6e?2{>grwQ;q800izIAB9SqZ!VrZWtStM?-nH_aaN5yfx z>o?*Q2XfRqMfQ-?%|#zH11E<|!i)??83sFm7h37%hpu;gWGxcM?hzX^M0QG0)QdWN zR8cvjeOJJhxE7ntWcx*O(@*T=O?ig79rbY~jk7ItX`3JKu7p73u)OPHV<&czs2Qr(m%uik8+7h=vN;JtswuqwV^OZ)DUs+W=$Eg1uFG_EZsEw*9(Z_~wSY+Sw zu^}~GklqVj-_8{c6r8=Diy1WW7YJ&pHL3kRRg|3`ej4z&l=mx!o<8bX>KDNi|A-U^ zhMc;3(b4%0=ufr0oTtxMV4SzT;&6`N&JR9(xZNex%l&s2n77%d@iUqwCOhH{_5Kfk zKW}XR!n2Bq1qVVVf~24&NkNM6fxAE_Nd%7QVOOZTaB=vJrq&$3M+QG&FX%VIH9QqWdN!gEJ^l?J; zzN=!A*PkNnEYEQ5jbgCk-kOly0YN3V!ElN|$!yab?1(~qJ4mQ~xtocgV+;vKm8DP= z;`1>|Wo6_EBrm-vyINBZIXM-9v8UOoF4%N`yo6>CxV)iTLgkdItepQc8b$kKUSW>Xvu=J&%Uy{PBgfZczm=xG%0~9YyYeV2U(!`N9e`Z$FTA9+7WhGFtHe9f@^nc6hB@v@>CRm`6D znBXM6n-8Tl8nxg_Fe-DyNF24t_`&7^?qJ3Id{U}vbRRD5W?a(YzNJI(?XDRTmf_(- zjNvhPNTj5*yz+OqbAKa5j%oc&6BsY=#O8nFFTELO@y43^MTc>jQS$i*Kh-B6DNNmX z0u8Xlb=7{BWwv~pv(5ld?$Gk5s@pM3JR~}z<8FuqLoTpEiXOSTw(?pe0$4sNC?Rlh zv#Xs)KZ>ArFA}0`L$n;9zC1OUn~_Z*=o@#erz4FDrp|FPk0>1Po~Z7}Wlu zyAMjY-Gr_y55LHc02nhF@!{{yo%@3Wa;Nk5o7HzPUr! zE0dOna9+eFC07SxV@+AKD84A+~GVOs@Px*?3q^}a^b@e(OUpivPC&OFVIpr=>7Q5e_} zy>Y>^AUtU5meP*Fs|GnARtWD_z_wIWg1YhZod2wr7WKDn5!9S12xB8MzYY^!d`*tQ z%`rL%GQLUm!`RwRmN zef^4zUFI#UO0QDSUiKB}y2LXdA%c-gfAW3_tGu-_^Am|_+wEg?=AV?EOrwtnq!>Tl zg)xIJE?HI8dAZ5oaG_w)`ML9iMjhwf`7%ZJ^F6$CGZ1D`{s;yea)38ZW9{*4LLgQ(YrGjLiB=5ROhQ3W|Tn)&DYDQC)a*Ypq`Z z*BJ3$l(V>5>8f(?G>QB7JZU@0XJWLB1ZRAzHGc__>!a-fLk2WQV)DY^IdQa)G82Z2 z#Su{}=eTLUBvzr%HOIk`f`EbwD8*{`lS~LB_{1}$*S=_)S!1`qk#R}$M1;mv)PX|d zLiIw4FAYkrvR>VFmF9v}gTL=xO|K5*nUl|kQ^k}Sc8=wK(%_>B;vCb*WT_V7aGZe})e$$c zYSf4UJKT7UeU}}sj|Gxk?JFf)QxvGQkkFK9qj53Ph!1OcQoh6_^tvycb`Ln_V^(XR z4br_^8%)Ep=(IzGFqnAn+Wo$D`=KZ$8`f?( zzTn66l<%1IlU)8@Rg%3KA2sb6oR-3u)kZ8c6D?>67t7?s!+IT4>mGcm=f$McwR^6# zuT>tUUcO_w?XM@4AV|o5w=Jt@JciM|JSs=hex~ly>2TDn>8D?Cj){a0l;bpzs>h4+ zFT=3spFddmuAzHtn(lIgp!QuRAI|Xfte{8ZxKhe?4q zV?$qGsi~gb()iHxsPQ7vsp8GAOV-=~r^d54%Jp?G=%%Lc=l%_jiS{l;kjkgH{^+T| zSP0F*`TJnH?zucKEjUv1wb%vTkU zy35Uk_mIjhWJu++-1Ef7lg5W2>%vTV4s(c0EzjO|4<^m0>P2sbQ72h&v_mWlzE$bm z`$9z9^Hvpdq3B!zU;THEOUT}ZnVjh$*hoPU#i#!9z zeZA6GxQl9hG5b7H-STxh4`YhisC{Gu6CJ<3+BwL}084+JZ;;sKNXrc=y82V$PAEqr z5y2?R5^UXCp83!^YAO>R-MrT478_(PCFzk5pN;CQ)uS#nP(UL>On&8$pgW$*GUyMA z4SL()=)au?p{r4KZ;siBQOnOgg_FwX^dGq|MOyN1J=x7LUVjbQ!k=BajaVmpqkX6X zWYML{A=r-LjO$35`MiOLMZszNK6#&+4v;Dv4r7`!d+PGM)yC=2cJ~EcyY`FdrX1s= zH$<1vo7ee9UZSsEzhI*rb4TdDDX*hO^3^*C)NZx@fZuMcSlP!zyi;fTKKo+%n$e$- zLb2CCks7KI<6ob{j`pZk#6Dg9wce?|c@Wd@a#enNg77TjeU4mVAs2#;Ha? zn}q}ZD+op}%NL3!knaV3a_}E>sk$W7ZHC=PpIUu?Hi)paN7#s>AG@|8)0yqvT^xedd~ali;%+l_xLechpJ~z;AO0_f<6`7Y2iTE9;Mu zRC>kfYy=hj9w_=;qcYX!LX!k0C1!&`5Xtg#NUa-mysIlNLuY-`Loxy)lv;T2=-l`E zd}{#{Y|wn0;Fs0+v;U8o+bFb_ck%XvQc-%1MkwgIe&4^^;q$X?vZ4|DW;Q~<4S6W_ z&!)M_O-q!T{m!dHMekH56Rnl!l7cX_ipmlF%c*J?)T8fedc9#V*FW+y$w+e9nUr%u z>8FYEzI6kAR_f;cl??IdYqD{z-zUI3*)$ov`6TE4!Cw7hg!XYY0{+59-CgnDp3g7t z4;Aw{BU)I$LEw8+X-WIf-x!i@!X9Idl}l5W4KdlrT-iY)Zx{pny`GO=qukLy;`i3w z-xqt`$;JQBnbynCdtM(<*Zz(tMM=Wtduu6zP5Rswz0W;Xgv{AsTRTBUe=^Jj`MVaT5QEN&ax%a#>hA+PcQy z9G1SRF?6=e`?dS0TdW&(v98!XXBk>v{dw+#-yuwq2QEP6pi!; ztO%YTM4XFs^NfAs#~UWgvS~iUn_EAs{|4W*XpT_zFSic4`8a-yqW+5w&-&N)Rcldn zr`6pLSk2J2o(^Q`J$7FTUt%6k=^^@UJ==Dtci{f?S2LTBc`^Tz0UyP$IK1KfdWFoaUbb8_-YEvZjJYouh8vpetEf$8GkelyL zc{iW(Ctd!|vQ5SMrc_1T!3d=t)@Yltg6QAwcGJzJ_1#S@>?$2st$R=2wZ_=#&zHeH zSNeM9wuM|bYxnvaS^tgL^Ze8X*opciAnV+Q%4Nobbxqt3pHi=t^C}-|^J6u$E7G}e z!$|L$ym7#B^ti?|wsu@Lz3H<0vv}>fctHv`oUrDCSaZRb>0LNv9oTeZ``mjZnz`)m z$$edza3t_$Y=@P0=bqZG@(lQlw03EOXr8Q|=*PlQhLtb7efRHE1{RJn!E{umqieZw z6WT+Wagb_!y1KxMtHOxtWk2>dd+ANc_Qk%{_VGMZg;rI`Q3K!zcQEP*2AjBXC~o6W ziIoQ_I*7aEo~eUauatswgoQZE5w;(XOquhrY|n-0rkS&4z1ylDutV)pY|&Kh3*&Li zjHu7gLJ2@9EY2*uVICM-JeE?NJKkZ2NYF$_dPtd0wR0c}G8ZJg2Qybz;^(?nJnp-U zHVM;TpJL?>ijwG_`=T@E zKi4#c&Ya2(9V1zxD>Glc$jjaYV>vf`3u?Gi^9_wJnV){&=3CJ5y|}ci>dK+PL$Y|OT(I8oZg$+Z=Q|aW=4D&qCT$8 zS-&1~d|Y$&{Jg(?B~sE2{9^=AO~}2a`3AcnKX$}M{2xhT!rw{C1Qem8=~AZ z|7_|nG)#mvq|{Ly#Ga3`rbZF#e3DkklDil9+O5v?k6P8dwyUV5IVC37Xp~h!?1Ubu-heRAc_X%y!A|S*M3gFCTr!AZ74`Wh3)!zgA@XE{p8q}&{|B@#{>H&m?MG@4V;vN)(9;CZJ z`mWd^;82QGr3&`~)mhj(q#*NA0Z~5x9#~k=aQ%@vgzf2YCw_H6ApDM#@+@Tw7XzF< zVmam)N%mgdACrV*mu_Q_1Bz5MLL#sPGpNI$YxxRM3#CaL#R51avrT{_zlom0=z?02 z2msaHEjL#)4S$E0^)EdSTssMQ2^AofyCtcqSd!if znlh#Y<#jZ2KE8}vu4VU*S)A-~3#RchmOjMZg6?D;Z->kv=mH!F-H0mAykyBGmW`B^ zc1q{-VY)@dNzR$9^XgrViBZd+RZhea8`t(iwo-(AN>p_*5(MOlizMXaj@fq#+jl^UVKz8{;?!e%u;gv+tl_8PN5_NgL3gD7`5Du zHs)$mxldcQKPl~^B3G%3h;08uOmsF8;J^iXgr@Z3 zX9`xDlpL2k#urau1}Dhj=OOF~!;)-nZo}dHp7=0P{1exyO_Or%scs0ZbfKq2Ues8D^|!{apFULZygGZ@?%D}V(;NRA5KdDW zj8i#ul&U)`4a?`#>#q7mzqTiTUOKoq-`=cToY6b!bOO?d>>GUvnGM-D!>>#~IlNFK z8CtGFS&W=9-n~zlvZrN@CPXukVsQWPO^0_ZS2Q?0EA8_p`5k|KD|WEmIXYWlctm3Q z5|rx4IZoQ>4}wJQ#S+K#(+k2O9C(u}iT#(DJ=4^2E!=l^@@*7htZpAKxfaa>Qosul zQeJ}EQ%>MZ#nWUHegB6?e~ORWSymH`Dt+$MbydV$g?_W21SI6u(>d!Q?1pD=Q%-NRWY?>bQSuG_F?e3^@|{we*pK`M)_O zaBv^jSA0DiX21QsSMk-l=akXa$~HqMOu0B+l^3Xucg1$_k^zPyE-|xX5AIl~<~9($ zNKCVqciv+{FUs#y{$vUKCSNq!V?s?>t@ps>pJY3&MlU5&xGX*ZpfmpR`9?hW3vSf} zHPb0sQr!h`l*}L;@3nL03z#+(E?jlJj+b+>=PFl{nil}-EtV!}(8^nrYFW`j8$aLm zAJ2jsb#W_}?qWAA&T#Jzx{T%nxA@|jauH61i0QA-C%FzGsfq}k@dHeE@++~A?&_R8 zD5$Z)1qpIPq857Q*4{%K)ZvjX?z@G%q)B-#k$aoe zFMo99Wu)I!qKXfF-$NSjY_tC>(Rb?X;*Hi1!no3Wm0q7B1iU z?ZYHP5!`g`q~5U2a~ErBld?Dtvc>8<+vmE_`ez|&X}t%=p<8_6VW>ZeAm!a=38&uH zzmRNbdnrpM)!2!pl6JcWd4?S0IQT+=Q0ra}c&UFO1)D&7-QY-YI{A16AbdwhU-F9C zhG(b19xsRt9hm&J@B?nfs5k_F4u|Q{e`w+5DVS;RwCq zX&J?Ypt=}en;t0cD=(^`Ucp41=KQz}GwyWsbgJ)-Dr-2kGC?GN{i zMTKD!9-e$8uyv8IHSMV$)gWEq$2abL7jlkoUl&0S(hz#=OLVnxyAMD-EiRH26goUZ zt-im&4MlZf*J~2K-)YszoyabEij!S9I;skA;GSOj^6bJ}X7E&bScAH0U8w2RL;XSj z^fhV`(arkCsWy`&=%NUz{C0fDd(SOMz8DNnx zv(4w6Qm z;tY1_S-mM5!BoF0`!Xanpqj-;C`W`i#>-#reoT<}3a}wrbo%Q-XcG>DS%VPH<{t7|sKbhlR9ek3LzrPl3tM_{lwtT`VZIHIc`-vtlCUk#&vE@>(Y zDohHc2tR~wefD-nok+Q`M^EQlu5 zrM)tWPk{guR;_m-B$O9rH&(eI_Y^?JGOODH{w{{Q=-2#`CmJPrs?)}!E2`miel_@S zARKUW6L9=qzSy#s!h?x+8yu%5>W*R4tH}5FKReqeyZyZO9uP55K66~`uIQ%j4}yTQ zpg@Iz>W@4#!1I_!o5Q>?*T*Duz&e;V^xdLnBoTqx$}q=DI7$k zl);n)=vEmQ@Xn1X#BGPLe2ARhxU+1#v%$|ceL#1#Tgt1%9Z267es3{tyJpa0@-z6b z-_%5u8KN8FxR%X}`xie*4l0z#gvJj7)Sk()ebn+5Vxzo<)nKLuF!L7- zJgpPyIQ+Q8Dy$h5?ET%{Zqy=a*}vC-Q1%qyao`)oF-^X>ARL1~5`(jaC!5b{eHDgO zznNZ1tp=?poYq*j@Ebxtm)yo(Ax4Q}SW;QzEhHKxojtwrN*sx48=EaJb5=5)oE?0L znU}=QOOCs5g~>8>mwX`W{Sj;bo#*G&Ln4nyXUNzdJ44*&_|APUe`OF&Vz(fVZv0(B ze1dY$BAIqNHd!`s)Ie?>@Jf}3<6E%g^I_a_FIa{Rb$~S~Yyaj9v20-hK}Rr7QlMZ7 z*C9Q+f`9VY0g?@LU0?ih0U^r$Fc#?}XQ`@(eN$P}=0fQ{yo(|27!IDuW4jR@yMrQP zexaf7N3V>wl^w(ek-KqQuOvU7#Qs9oMPP{;dB{6HRSDvtVH;DCuGsTOO z09SBF7m9|lmGz>_iM|RnqrpR@K`kLQ2pDX01yabEpvo`x`lPmZj=~da6j$y8n4=hw z<7U6H#?eEn`_T~m8cvLtY`T^01JLPmq#Mn=<7jOHPT5~`% zKmGzA^>L~%AxV{TJav9X*-WQ?pUuMf-k?kpk+JD7(01lx4QDiG-6K5Omi)iWE4J^6`uLrzvYUzl`cfJkF(7t&% zh9h<4lYU_joKlGO2bE~qP!D1@ORXr|{vTHlK!SDN?Cdryc_u)z>%8-6^-i)jWZg$X{SnYE z)kmg|8U1;7%flnX^@1#6d%&J;rnxnd_Ju>)<3fXM-52Hz=3<)KU?^p#s8%P^&7b`% z=O7$+^HFiGL_zy7$h_YtZvxg+o|OD%ZCaAb)uM(*_@9CRvxJ@C;qC3TifXwp^{_0_ z!pNEH6)D$6@-4g!rW}ZB2h`V~ow1&Yc*8yK<~8(;V}N4k(^^?zD86D;6$1DX2^j5P z=26{+8PCwfIOm|A4rq0z=?De!V4O2=D`1>w%1x|b>(&t)5$s4PbtjB#gxZ{P#)2LR z1YVEe_KMmOjB~m&e{bx<&rJy9Vt%@!Krrw6!kR2C?JjQnld>6K%vM5(PLYCpYSx2h z1LXzxqD+=;*`S+Gt(dJV%ckA3($H%g4por8nB^5-C(QBLB&r~AQQHC>aiKql*Y>G) zdc-XB`%VW9!Wg`8j>YQciL%JcujepX2BFp%M0)~9b(QZuYv#ZQ!voo}KU9I=M|4mLh__am0UHu$P z&s){pJz)r(&YaO688%vbC+d})+0E&7nxlJ4&};`^;GGS`48GvO0w+Uc?1!z*9>L@5|&sHSP+f7|%EsQuMDYe|I%`70WCP&Ir>xvP$Gx$4b zfu#b1Z|rbOZDgJBAH^ilGb`01Rj3Q#9s+RykR;KnR%Z9|;g`Q^I>EouPCx-`bep8~ z+MP6C5%Moud=WsoycFWx@G5Bn@5?8@Zg=^9iP=3Myx}j?X&aDVK)#^EM2z>_)5QPw z6S7rvl+9tNBV;~Ixl6c?f&1IaP&tO1Pe4i)xmsCR*DPgX6e6cFc$$#CkB^~Qw1G*f zY*cE2k{<|$s;~yJ{=S4{=EBeOmPGj~ke9k$Zx|HRq$I%5$VuR3Xs*iYf^JoK?_)$i z)v*SdO+k&i@PGxS@-jt0;%M`iuc}g^3RCg`oi0ioYi`p=d>O(RH@WynnUpDwkM$Mj za|?V$sC*k3&oDeY@5o9J`?VX8YaQ2N_IF;DTPXbTHh=G>;s`qxb?lRD3LYmw^3 zG_Z<%nB9N}@|vhyPryRlrV!rs&t#~{KIY!04~eI|GOBB^{br)6f$ z1W}BjdNoJEUHO89}57OP~})&-VjGth(?k zgE=J)Oq*akafz?KxZ?5qt)n|->`AVR)pd}nbXWe9$d@4*Q_`Uv`tdB|wrKU;CC1TZ zdc%+g!$&OrNW-n0J2p2k(Q(9W?=63P!HFkLt)c@j!?&2XD34`j=;4uBQ~dYYYAe(9 zuQjv3e|3cT%VS&aK!PZ~<>BvU9mGn|ToiU7J9BQW_WI1|ZJ+Tuc%&F8ruaH_{w27C zpqoB(r{i!kb_?)GDY)E7@fpHcI1a+GPbk#bJt9TgQRG=qfDOEl*9#@e3#C{*S0-Pj z?x8(XO~9!`*7rC1*q?vP&^Ir6L_uESWeV+uII1v#0{kT9uo3v5j}*rRbtNCN8`3^P z(C0J#s7TIx<41^%ha@f+MBX3`O+Cni_eK8I%X0>XdocSf7 zGRPgu>R8oUG3KKx&3-uX%$a+%9Am0-2D+Z?mUz=_w8M)1nj&08lHg%BB!1E#$jcPK zTSXbwh~&c;%r2bab~ZAldDs8ka1>&M#3YbGG>uR^NNHQew1wQhnB{sqJON?-?zP?7 z0Z`vipp?4wDZQrDCPXc1Z<#T6--O4YS76ldAlr3G1w$ZsPY9A>s{QbJH}57fW3I7t zp(TMAS7K`Qd2Pe4V#V-u*rmkqz4<98S+3+1zp3$iVWk*Rk`wP}<;3PSBCD#V4&o=k z_{7Z-1b~Vf#fukjk;*z$U;H&7>I6ppG|5qzp+?!kLTRmGA2EKBj}#$yE@Rq)C1%_9 zFlwBiH^m=8;JStIZv_@_(-lDJZEqfWP`=<6iJn;a--k1A6Ie>lNYDu^r<_TXhd5pq zW}v<|NRjx=ke!mqn{J?M-pxGt!zW9Iv~es+r+5zo`a_kZRDRKl5UPst+fVO;I|j%@ zQI|CIurbhp+JlcG2EK~ri{|bv>>PxXHZGEKzVe?LURr)EwOt958!0_llpDGt1kQp4 zno!&7cgt^jV;ID>X8nO|?K1LgtM)hSW%}=<6#hoTM=1cOAo#waZ^1$R2o37ut!3?n z0HH{*Dqi<2UO}NjH`=G^T(op&O5r~lmY5V%fYYHhbqLc$97i5#uoHJoE4wi0=|)3r zNEfqEV?aXbSXkEK$_q|&Jv3xiO=+9B;uxgV<=y|BXp}`9OCgRq6V$F}ctJuQUhR+7nJb1?JPAnIqVC~c z{}0JfS!>{-db}o|AvE5aJ%wa^S~WraSuugG6Lm#Q&T&k1NfGdBb2CKS-^fpI>(dtE(4~(EP}xR4 z$G1F zlqGD!!%f3*>KEAqa&-UG{_@b)Q1SOoVHu9{RhQ@0yuec~eF3K%G$e1z|^{alzluH+#T2;LKsP#(*rAS2H7`+uD`4m##K}SpdCe)v&JD7L!zQG*GxxX zh?Qz7hVgJcP=v>&@sP@o=S$LqD>O2buXaOmaU0h9SGwmrx9RsvZu!yMWGP4tpN-*m z=C^K-;^&jT1gE{Eye>Hm@)PnZ@$cEj(T_YCbOj6+SBlzurB{k*R>PY~L=6h?N{5uQ>Qq#^1h|os?yM*5ISOFLmH+ zjCzISUDuy+hd4Fs8_d?njDms*cdypoyt>&*km^`8;swGTU+k~d1wdC>lCmnU4Shr|N)h4^f;1;EvJWuUm_EF}7=gjaZ0Egf(eH{O`AY+}t5`bn>6M zW0SRHvvL^jqfx_4MM#)`4nVPnBpSj<@n+@13^Ee0jgiRLbu_Uls#Z?s^a)XEz+I>M z!`KOmJp^EGdCgHkrbxTdbuOU#4gCWjIVH&Nv?WGe<3;K-$QCFD?!&gc1sMqDMUt0z z!+sLirT!|MT$~+`VaLq@wM26m1n1+IQiiS$0J@7bc@b*-(iEKGF1POa;)Rr{wif6_ zZM3L>)#t@DWvj!PMY-K>0HlfGGY4}PHNI3xVYOLAy zPx%&u40^7c3Z#ZB-GPMUg8_c0M)!G_uVm)z#6@j3Mt*AqyaQ8(tsj)r-B?ki_ z>j^=H)P%_cMBx3@E84+>Uc}J~#Lbh!;LsHg*kgQC87zF18Xp+X4w>3Fm z=od{=U|Yokg;A2|uITD)HGl|~Ix5reHEu?(@1lf0-QcGn7oppp#f8(qF6B*Zf`y;; zI*8_4tN?9hwJ0TkCp`^YU*>+mVb?BVa=X5NRFf!f0`NrK3$J$DmImWpr&fTMXn@TY~=MI>^Ouu;6`& zDl<2wcY8OuS2+t3<;@SDu0CbBYgT%+yX=KbR%Y>nsowB#@?7ojP|8uioBnWm$g-iQ zmwH=(uMMRVA60@09VF>mqpSZV*^zk)sDn3hba^?C8}0z9EiP2LHZfSDS2g*btpp<> zP<97+Y%P`+&lmx%;s$BniBXB!Qpc2|*}MR3+ev|v>jvuW_D#PqRFDo(q5s+!szNxa zVb43$Pbk~nEur#AF$2f}_-Y2`L-s9^-ILipyVTQI0XL2+wiS6 zMFEb(Oay`+hM;d=w;CQ*ale)Y#qR^nEBQl?I|0~3RVE}?GP+<5{C77lmW;S?2XpIy zYQU*7rYryo?vZ1WO*2XvB$u(zwO6Qu*Oy1HP*q6^Ypi60P4~n(8>FC zK+X)iojdQI)R?lk5p{OsR_(=u)F3fM4>wEkt<9`Mk#VQFri034SOXvYQXk{q7m!t0 zN&lT8+oRbm%cl-kFhD7XAKbiVg1>-H0Vo`3%fpiX1}&kP4hWGzr?KhJ5qbHhlzg#5 zuQH|OZ_Bx3Yui864G0KLs^<5|EAB@hb_scqQu2=pElUk);&#y!eqU>C(IX!*FoLXG zt{tUbJcA|RZk}1(yX#%!A=pZyf~~^*cgumWpGKV=+FoOBC;g2Q3IvSe zdM@g5i|iFJO5ULzd)NXr-@A*m$|u@vpCZjV5@MNe$P_3QJKbGiU)Zf{Iw?6CKZcJ_ zt`9alLf-k)kEA-YH+bZt#B@nBTN({(vza)?0n@FQa2!LFkNFLm;=ejO80`v;6oPw{ z{Jysh;k$qh+27iiw^?`d4ZTNz{QWduR&~LMn&UQYeEAB=Y9Gni{`v%*QJC@?+4P5t zTcz_cMb#r>S$aN-3%9kCvZtFaTfyjruXAubLE+?sqZr`#7^(o z&V0bbbxo}c;|Fu{!#ZSk?a;>P0RR`swyq7qa6AhO0JNmbXd|_J7HnfVI?pdhf(ozv zT#lmcLC|G2YK_E2iwp};)h(Vfv@HhvUJXX6VVVxnl4qx_gouswupOIp?Hc~MMY>&vz0$ge7xgZ=DukzhsWf8b z?|pUlJfoqyLwdn%P-%>faJNg;0U=dzuaduW!27T zOaAfn%jqolGxWH5&?;7nX)2xYV~;qeMR1k-hszmKTDgGTe)scX-#z0CC-(~jtNp=~ zT7Sc}e&d(ICS;ji-NmBDDUFAt(I_Nex}}Dmh>3WlXNz+R1xdx8%t*TJs`bdEbpG2y zFq8byjvp60ZOIx}pD=`RMo-%{cl+7;3aP3+bkkdYmA;>q zYg*oDX%X*eRnFehLK|#|6qCjsxhQ0QYOK${u{& z(u|-xITvRb3uFX^?6<6xoj5DcAzR4%Cx?Utc5c=2UL>(OpA%}Yb}h8me%|zzpl@zt z{aH5MgC53;dd`_Tpz10=rS%=-{QM-wIpel!->`b=(mCF(%AB4L*$OaHw~93%s?i9B z`^PTx*_VMG(K1Zw3E811xYTTg(ZANnU= zhljrBp8f~kU!u>yEgVLmqR&20x9U@wAKXRt`|l;@?SBxw-3qpv2vR(x;S+`nv=Q3W zo-w2EUsi7ON;hMW?a04zRmXbPlC~CfovpBA5wS*fp%TH9gJT~Z@)HvZZj_00oTAqM zEbv!dhl81$j?>&gSq48LS;#N;rXmCt^DI~qL$=ll9em+hz66;)KQlUZ)v}<<<{iCO zM>09bUcyL8kM23+;O~@^P+27dLMS%PDV%q!d@fI~oR{$e%pTnYrVQrq zJf{h=)c_+Opz$pQz{r!EMMQa%;D-Sh$EIC>88$XO5Dch$X}pWU+p3>?fsbN&UNi>G zW$u^2H2mFTPT>3zEmLoO4J!*NE#O3|voWRVY@C{e=qxxojSgQKcxvO^lOEa6J z&z3f-@(n2!HE>3GgK0@kZ3>rk(kUg^E2K|IAk$$uFA$B7|){=HCF1lYvs{df8_zYJf4{Pu%vJL_5{Brs_kPx$6^d#uj9>SE$2009NIl^%kUhq%a z^C|12R`3U+zK8x7S!l0~2KDgsxEF+|=Mu0ju_c>Dw$;678dUJ(^g@-tde9%@%81{OTbyY+d-+mA>F;9H3oTRSgQhhvm#{ibjSmCSC2&N$`INlQntj zkcYvF%cZ^1S8(*F40Wy|sMX?$74IEh)$$_NN=@Fb{HFa*5t(mR;BETrinM;5byp(Y3UfP)Lo*93u%kay=XW^@TNXbJu z2yUW2$K#)grsgj>uOH$J=>v|R??_$Qr80L-MkHU<^|;rC<*P+rXXMQIS{FIjZUpSJ? z_7-AZhfMGgbS279l1Av;R&aFIPv7Rz){r2KsIOo^_7ybHoMi<;7jlOid=GyxLNn(x zSM6lzpYWHK4W*dhF@pkRVVt7P$&pgt%QWDTJ-T z`+|wpe~@XOETuze0$vOg%69&@*i?MhOc_}UmOuDpDJ1>1143p6;Y<3udg>mCUDUK$ z!uIu6rPS^Bzw`O2U#57g{Xusu45#Xgl(p*FblCE*UfE)-|_pyAC;L$kDbps=ly!Uo-e8#3&xFgMg@$5 z7>CKRClu^M|19W9q5Qtd3{t#}RrDZ$v}ZaMqNp_^Q#W}Ub;e>MCmG7?7XO#)811V)I`Fjt_yh2$7|eIVpdc^g z>uL!01=I>d#;m_)Z>VDr_HY;Xnl_uc{NZ}!-(J4{IZm7_>He(LTsrTr2|M@^5$(@Syp7yx=$KCtHnuY!vh%sh5^v84amW% zJqZ`EfgOMNrp*DubxbF=M!Rs6_T{3sKgKIZGf{OF(f{XN$nz&x`@4kgeh#)bd>l+m z0U4MLUom!;cYlvv{C4){e<#>xYZ9dDYtr4{p9-=&KS*4TNqsQ$t^d+<=PflR@N!Ar zcEAH<2=OG{`sToB*+r|)eC88hGQpro>)*F&?A^S;Q?h4s&l-9@mw54B9Op>z^bCh- zv81kdO0$y}BKWOy2fr>Y@~_fEAly!)thwcUvNa?c)^ZS{D9zpBe=;WA3Hv5LX`C}V zs?7e7_OC>V&%-#KoE(4F8g$ijC@V&4EB{&|3u9OTol^v;{?S3d#e?9q;2%>j{~JI$ zC8ufAJ9ub;sjkq92wib$WhSaM;>+E#(zxN+?+qhv8o)**b7{n|PLqZE0%pwA z&43k$^~MkBkrS|BRx{B1_lP!Ug?`7@@O84>`Y)`l6h;V_K>4a zRY`k>_bcgF4Ht~~U=v=DmV{njDygTOFbdA=Tm;bq_!>om{V_rd%ur@Pei$h3(*x5r zW5L-|)7w@m)jSl~KNoN?wrEJoDTIPZ79M0hSKmXY8ll`jc}dNdH6V~p{ zOxt%x?);IV!5-E%f-lB~zb@=mT`k&%4^SaF6Z}#|*&A=`Wq};8B$?#5lg)=3=e%W* zE?>Wt0dhp)g70ga4nYud6PNM8y>CSDgXN{Af5unpR>`s9s$>6U;!X$~avfGGD&@yHal-8a`nC0YoCW>Q4( z*wC++fcFY~aU;b4x`rGS6LVBMD?9P+MsqSdRIu^3k@Y+6%*9yq#@m;N$kig$EKJ7g zlpKq{o;4;;&03&Pix#ftJe#ys_MG!6`J%WLApSWq^j>oPE7~)sZB7!r_f8qM*h(G* z(d+qMw>NDMl%34+;@>mWp6B&uLU{iwVBG7!(|W%8qJTdXr!(-v)@04KG7R(hIQ=Y(CXGV>A!?<3_Hz3iC-gs@BWk3bHejFZM z4Os`id84C*EPicR^JZ_lKp92S_+v;_x`-DD~p4G|sC}q3K>r-(7414;q*IAh%{Iz%zrI)sWMVVR{?7?%y z-Mbqe&ZbQomDV{3Qdiri?qLzdt2N&R!mZZl5@3rRFMQh<>Al0s>-SBgnUWj1Zhu-T zLd6&JJk2R0e|u<^(r9`1FM0Rgvb&dQo!6xiqKn)A`JA*on1*CO zC{gU+&F)6vwwcub?4GCWKxogv&piE%iXmT3{is0iZfJop1dZngF9LUV-w3t~>41-D zJ}>!Lgj=dau{81Ugi*^?+%>^0yc>#e<>Mbnaqq4t7H=(71-snFN=u5bG>P`gnb7&x zur*>D3H&hDVqmQq5eB5WzxufXCDzYPwItCpW8Ht6_7J>RPh|gRNco%iQ=I!ajeAFH z<|D9TIPx`k6UmLI33@p(+@PFBsPWS2EDg-iK86tS^QSH8A!0YH6q5=<@uZt!Pr$r5 zDoEh}!N=3rvGyB95H_%rh^_ugzy9OdF!lmeYXNF%qdn^$fk2~9H2Sz|fmOoE<)9@Rf9)sZ{i+F zaMLKBwoYCT#km=RAPDpqVyq_-ketp`fi@UUq`6`^|fP6w3bPAu&afpl;bwqXl07eYMNys+u+FSm^Ql z6wkgIl@!xa@r~U4;${iUNslfYLB&WyaqLiMV6ZSbQu@=034Jh{!JcrBsSJ)ueTqK) zdXlyfFeh<;04Y_@>O&ghx{YGj$=yG~;AqD3;Ge-uF4ywNvVghdminTe|TAZl<_w;{`%-pD5{TvhUNGbZH z%s5Vz&{$Q|aJprDa}SkKkEGYHR0?tL#SeZaDZ#_fj;;%`wP3^n8ny{vX%i^Q0weQn zB~BFuCWntzr~ew=6WXb-X@7#DbRbIr-S`tBfDs9Wqs_dOC&r`>Nha+g&~vW`@04dt z=+lak^mQr#-YA$*?Iur}{nP*sw*qD5Hejj^6rHSrxzFT2>Ia5JV3Atge-KKQ=z@cQ zzRd`du1-zVr6zs_g&kjz%DqRZ6iTitlqBCS2%ba%$#$OwiLI-*CS9^myRR^hxR_h} zHC~|#{}AAQ5Or5${cX(Az?hykzJVXgBpxexD@k&wl#=*1Nic*1>l|5Em|9krKvN5C zn+Uno&MVloIReKr)Lvb?~_`1FNl5&zk~MKyj7Tpv!dq4~5MdN;-iTPCm?k?=v6RxxrAM7a z3S*b8d6V9oPqB+}g}uYfxkV?OZ6~?la}}u&vYz@$gg8)D&>mxYF}72m+Or@@Fq?o* zfFRPzoPuj5W|x($(>ToRL(v50{6-HqPDYl!>4k4zjkaL7e%}Y>DSb5pC}{8JG6;45 z>C%t@r;b?-^wYtPhBiIx&+){eK;bxrcYwt}tgX@PVuZ4M{6R~cMc$^g|HyG+uGhrU z;}_x!YOnfsx>>mqZnkiqg~lI@*+^kfdWH)(jA2|gxs$i!The?(4Ysbfjw8_}Wn%X4 zcPbvJJD8F2AAnF1{O-QI>67<0AcB5ZrX(>FeYgE~d;Hd+b8HWF`n6F|>RpZMorJ*e zWpDy~D)(f@fT8?qB!r!tGzMW;-5s=HwyakYVgumr^g>OlS7c2dl(!q(w5{N`hkuEu zx$;2esrC02hKKiF)Hq*uNptdXoAJzn(CgKj;D$5Xp4MaiD8Pkrw8uSWs65+V0GK?i zt8)TwJdz;f_ANiTbi2w1mUiw$f;KTxx635_ic_&TUq6lE~RU5g;G=wx!`9q*NYGURgD~n`^JY zI@r@5aviL(A==Zh<(eB3VHbD5!7zjjX+LW3;JKTZ2u^X}!|oC@QxI;hWR|tHZTd;F zuSc3}-;e>>neZ($od1WgE@XHHey&7)s2u9P?AC5N(dsd=Z7W~p6rlXq2d`}l!BmFK zT!1tF#e0}g9p=vEz`+j=O|sxDgwqWw;}7qOM%3gp6FsJG!pTUTL7i)AOQ42ZTKa6 zuzO7NlMlb-ksppR*k8&6%RHwyz4vCCP#`Cc~Tx5M8v`olLDL;E8sDqI7d z=mJUpxWBo{!3Nw7Cf0c6tLw4jlG13!o#B7Xu&v0#eMqL;*7TJ8Qc)VRZo09K+h>-e z)Rnd~TSe+vbGRtA`(wTJDlee95{Zj#*_am~%>G?wFZEi1BuK6-d)Yv|$X%T4&NmSM z?f&m4E+-^}JlcV@0Nu=W6M}vLM2qvKXr0@8ZUOU#kqoJ5;8#}NgevRRA zsDp%WkcKb_e3*HI$!1(Qheze=3p|~G z|HLtgevFD6fs;}o(e@LnITK%Ensu4l5Myu~@t?Vxo7joXmk zJN(dYn&6~ShC0no&Ha;zz9H~fYqCB@s7g}n{zik${s$Q9%c_5rNr)yh9IoPf^DxCm zr#Ghv^nlj62EI@p3@(Ej<3wD$mRmR2R|`{@mZnzcE9blLhHrrNtSnf!RS`a7HShNs zUw>Vx*7>F^r@=fTAt?9Q;@<(D?vJ&slamFVSJw)_-Bv1iL-!4QbT>FX^^8{@wV{Ax zy5=9Ek~=iOf?+ConBMc};e#a9zlh3#*Aqd8j9Is`+5yAa^BuN}gViWEwK zDT0%$H_&4G2f#=j?6}o+;GeW+0yHDVC%+h;kp}0_`7^|%{?gG;K)Dt8y3No`3E94{ z-X*cM!N`T6`F(nwvI*n%#{|R;lB6D`K!bB+KjtQ}U`&K2}y=2Q4J<9I!(!)(d*azPS`&Po>}y|wk$)SXA0-&exI&hNSKRGTo@b1zIh!H z@x+#ddy;%&KBizq>i5p-hRET4wUEz-Wj1vqMJKyxctFP+|VPX-2#`n8M0%>>XNMl!#C!D z(jiL)FX_l}%g#NgD3_MsG%@~dqAN?~a)>-j6eYkCU>R=@xbb#LAuA3Vj7@3;p)Nw_ z5X;DK6LpDFA!>XcJea&$#vIhF29zeqii(s;0J%IpWM>>F0AFE);c`-jqFg2T3qZqqZedxi6+dh8Wuu<;0Gs{v-ZS5&mz zOkv?Z=NvsK(8{XRZ@Tk!bNVL_JR8BzF^5VrEm+jLa9n%=iKh+aN$?}X6fO2P=re2# zZee;B#ZmhdpS7tA_ho2I8p0-h!aegQH33m(qH|?_&ls;K@2&&Ucp$%^B}#9d|E`M0 z?sBdUm~=B<`M}JLrZP=Gx2tg5=*`w?gAr!Y6QhN@@{}>0w?F`&kTJDQ95O^&4;k82 zMUCZhCz-e;?5d6#A#Rh0a*5c}(sv`U|DqC5ob@O+tisGjQ5A_kIacYz)a$|fsqZAC zWmFV?J1U$_leQKEvGFe4*#dQrSD*mmik!uArf_d*uN6(Ia1($Awy)2`hfDjYT?&!)be(`jePkg z{4r!AT-sQ`{PKFh>?tE$Svx2I7*)TFqWp=<4c9N8JJRu#|E&7(@`Vm7Fx~!_=?>RIwF3@ko}TjmTunkksD8Rt{aXnXki7Tt=ylQez*$M%i`Dsn75{i* z#u(&$^WP=kk6T(|q6TiS{3<*Bn{0!NN^9O1t06d^HB^Y-*vm`mU4{e9ZfR+4xnm%~#&}e=#%h za-Ze?0Ln}@IaL5s7yHnd1_yz|0>tXt;-BNksF6?cm|hQUi~jGougS-DOv2^*?@K0r z(A)|PQ~cuH%Eyc^k)u)?bebj8UR?$uwNw^>gq4OU{fn4s<9~YZ>o1edNsNkbuu5!= zF3El%p12m&^Ets_VHmS3Jf$HzH@Z+Y%BfRsTk!Qtqly~f@!5H|?25iGrAq9T5UMc+ zAvzbdw}Et}$;ItQzwfq$>Enwl0hUcJgKLdxy^rgwoG%7KDn-JFD_H+x0`+Mb_=4jK zWQM%EG4cn>}Nq>y)%#wA2?xPyPb|&LWkGgP#UbezxinU*RK%* z>+8DT& zKl{E4u?4frI%oKIY1T`^0J7cd+25^LrBTN4HbP;3z5*O0oNypW+gkEbrD0uqrEZJ5 z!A}T6S@J)@v(t$lCZ{`v zDbMLk8wf-s196;m*&C3`em6h%yNF;D&p8maf6DFyv@r*BW7=-&J0N+sUvL?ES7nT2 zu6~I@%k>dFYad`&Khu5Clf~!(HL(f&8*?*|A8lTqo~0HvhSRb(d1Bn9D(3DIW$cs) ziT|mrdmYQsk6tU^JmZNS=5QBTrVhd_t9mZM9JhWkZ!-LSHAxgM z34d}|$4$LKFRgR$G#b0 zlq$SRsz#(Da_x;$#!DOsIM13K4`$PY+ng~$@&8<9T~I4iRV=s8hJHZ1Wo1c&=;e7` zq;e}&`4j7ck@Z`~URo7?as2AdfXDxZn1C@Dnjq`@X65jU12(f$@aXd$)n$p&i?;}V zHEszVnbPAzU`Hm~&pw0_x3F$gKf>f$tUi#R>F)Ejh0r-a13(tP=961FYgUa~UQ=%% z=wqPO5J;n6T62l7yYekVW31+L^dOk{3-*YDH~iuj-wU7lqw)>!zqV(>J? z4NfH$$q-IH9w1wQ`v~t89*Y+1M|YANGum9K=j zjv=x;g-gU5WTv=;<3z7 zS004M`5yDW!`SYNYEkt+Nc1dFwEeKkoXi=#N<5f!W%->rcm8;qC;cRra=dOXG-WWM z({ylJv{7R5S~rG#I!2owgCZBjny-rfIcZ=YyT}rgWph@T3*$8PoTt-vlTVe-y#9;+BNDyIY_V_{S4uG!ge9V7aPyU39!wuL&Cg`s@{G_p`QF?PW~8{yWP8t*(X_IcAjl- zvcj5~f%W%8IojeRGW2`Q>_CW&O+a^I4=Shox0v`3G4LnW+TG54hwyz-&c#6nhGz8Y z4{Oq#lGhCfV>v&3s}DrKK20x>&#QZSc>3U?`JNw{E6gU5$oUtD{1;n-@WF5Vvao3OpjZ@u`v(VgtuSI>(R@@d7u+#6l)D4XpQB*6i z696X=^J(v$2*rx!UHkIQwRF9YtGpys={yx+mw)%l$*m}!_3uB&93W;^zBDlp0xmrT z$*rO4waA*2K?OyxqVm4UwO9G>K3FFsP8A-%_`cSyH){v84Br=;;_DTD9k^QKo{S=; zwv5P^`ZAu+d~zH3JAc9jk@YmJStnJSs-xi*+cB-UVjPtEpT%&IuC?ivWHB-y=7lrv7uRq-deuFR-bS2KzxHP!sFe%tJr-; zRbkyv|sTP<(fY;J$}ICJl<6Mgdv2to19GCB6WgMzjN|+bK|xZmjqr4pU?Vx zh}O+-?jEbR5hk-1rmADKZ79z=W}&oIdD{BVVFPiQi`TrWjv0xJm8BZ|s#XNZ}(atos9 z$h8x{W9>BASF;MH&vM?AR@Qw=DipPgSvtRMdc_od*GqEc?%=LvXPmp!j;xs zc$f=mpOpBKkBzX%v;zomR#c0Q*53ss%FDCC&Dk%v5vCx^d>S5{irWAE#6#3ah2Ly% zIBuPomxLBFve@g~e$Q%A0qN=bx=bxfvhB|jSJ}oPawuX4V`K3(lD;Om$`nEit`_d60!_|UU0jTjr(A7T>HKhXV=1bh`XtR zY}xj@(JPd4IASlLeWWCz1&xbj>8(Lwcuqe)ph$WV=4o}NA?9+z=V#T!)n4q{T_qsI zklfEYMJPPzT9NV)px>!-nco_mGwuMFS>q{&kTI=Bl*$0qxm2w_;7-U0co$}V``T`{ z3xdM?3DnH3RHdRC%Mc3uFnPv$Kry0?lhaIe{qUy72we!T*s!FHPG2++1N z5c~4sC1O8NK9Olwu77S;%-P?4DcoTmi%(mUU^g>XXNex-o=&W2vhGccVXhYA2xcc>qEyvO%?gAfnGLw=lpPBhn(~D zENjauyG_1fVcH}r3{K_=?P zD7#7m$@ynp-yakW6}TLFiEg*Z&-;Y|KyMh}g}?wzB&PXz=tT(n_h=Ky?$aZVo4LzV z%l?vpdgl;%4AcS0lz7{%HAw&$07}&bAr+$(hdHPT0>9mRRPjVb@$_Ev5TOZKb(uuo zo{jB^KIM_y%R?Ed?njw<62YmR7mX;TvaEyhhDgIAb#Rj%g^!nWqqkll@(H%?=~ZzHK;o8Te?9ZQvue#YKUjHL0B>)QlRy!9dRkd7IqIz93QntZv)=57yUy~ZC zf9u@Y=-+oM#$hDKj=SZhz-E~KQ0wPi0zjsfvt5k99?7q?!9CgD2O`a{`=MLqHC%I3NBlpfLRUG_2`W zz30Gg>LM|J9G_Z`tP%}eZjvW?J_?s&pHM+S$E^jqcm3k#!Deb0{(Peh1`sBokWeV7 z8(9@$;})`E7P+i=i0;ftQ|=x-rq@_5{ZzBo%ehvqe7Sa#boHktDco1BqS|HA<8CKI zs7^q)Lk0$g{W`c`U?(Pc-?qbMD{A|hvZr>6s3C(E1ZBv}QDhW_M2Q|J|9g`&9mQ#9 zg?i6CQS46s8@-mtI*Dod5#6aG8>Yp0=o-$7P|t4sJqPw+{r|_7#2+@|k=Aa6 zTn&sq^@8md=O66Nuz%U zbn6*f_pOyaY&LogwybCqVE`hTxoyybvyuB@q)%PGao}XTka19RT8s7C%IdpuH&~uE zK!A~6=w^iJlZ!1|4SDQlZ`qnn^TtDW2{L9p8E&(L6qRNl_Z_bduvwgKU`SY;1Hea- zFW_w96@^FGkIIy)(36{TUui=`+aDM26unq&M$b-bar>9C``K2~iftpn?6whuWi=m~ zm^EF5A&86W`7XU@S~h-na(_ESC3r+nT;?rOJYTf%zp;E~E?Z2Tb-+FGSWTMk9nKx^ z#R?t8Z=4S{MqJERvuQ72LwKX{Mi(uGY3YYn6&B=^L$*+DP6Fue$Q54X89hNZWw$p~ z@7K-z80@kHs^~C)gtD5yA`4HY>D!lD|4x=4|Htlk3TA$J|A33wP zb+vhLEZDE{A4=QC0oWOs8C5cb+4nIU(*o>nKC`&ug*J>^)k6OlSBVVN9PuWIdg>tQ zH8a`U0~5YjIx;|?Yw)?yI(+58+kDA0(=f(92I$n-HI#7%6U&hu5&Tf8(9@|;KH*|y zeYWuv@Xclc$eY6)3d%aP!Ya6ttvt>$+>JrMX+CXjm^gW~0r3ZSC_)TWn9s*r@-H-)CM=}})W@bM1Ti$z7pN4Xj7|&8*V+t>k zrP#s8f`*i6qXWmT0nM($|EF7CXHflDbveTp(BKLDaqhwZ=FmPC7NcYr;-FUicqVqR zy8#qV{W$A%=CwIOkee`d_}`$GJeY_br?z3l*zO4hCe&3Qp>{6_X{fsHY|(Vz(5IH; zDqj1-9fi>NaC`k97cPXi89K1+zZ(o@ijoEM2W%Dle+QfoY=t&7Nfewy}ae;2f4O-i}fc1rDM0q%owjs}0^XF2=OI@Qhd! zPzQa{P5~P5=)Lf0q0yWA6-$A|C-@!}NgCkNU1{M|;-{wA+7GDXzot)2*|>_lVeatO zvA(9{6@(+ClYJ9{D6bfH3s^KKUQMv ziU?uNt~!xP*Z=xY6cW85Da1Q_(Oj5}TQ97lCE+%-cpsx3dd#B7b=Vs}{n5*lSImtP zK9jh;n?;^2r@2nz+<~gS_Jt8#3+{K%P1RlOZ*6LK8*i63n6=_&-3eyhvq`UtD9PpQ z*~8Bn>$U27b}L4OzJFM+3(t5H8DEi`J4s7%SrdmS8;A4j!$c8-hUo=wVGI?{NXeY@GYP^Hb!FXV-P!{XeF7KI6+qEH`qcHnOdG z=e~99At`}qRWNqSE4~2|Xbu9&DDn6tJXT#Q&$G>@`J|As(8n*=ZTwv1Sl^V=f(t;_ z*%MA}*>uEc!*~U!oUq!LhNtY*5HK(l$=+Ti&25V+yaaHQJItP_|43W4d~j<0($$gW z9hcE&nX;2atNfz@pU&$X%tZgYP-$cRc={JDj=6g>;0ymqn|#La9d8cnSVTN=6x+>$V^bs9L|1y;%BsECLiKRNp< z3n*h<8qZ!$i=xF7dWVBDV+s-)JRGhSl)M`HXI2T#c_+z8J%#w4sudeqTw8gw^EhMR z!8WuIB~xNdw@LsVey1^o!vPl1cvsc(_cKNHPwOdDL)iTpn03}R^s;FU zgki;7g(+s;%xigouY7esa5<_k`eMThl5z?&870&O>J1-qWm)wVLO@;AQ3Ly+3>#Pq zKoEsaRe$v#7X<~6r(^#)bxuLhU@`;&XRAZVtUPel-X9zyKvtUwTXspG8F7m#=+CJb zmb9JBi|5>ZSr$|9xl|#*F^)! z*=eRWXlw}%`RgO?4lb=}=S`1X-Q5n%NL|z7V}-5}k1UK3yS(W)jJr5|vj1b@ zvp1GfZ^!zh`ju`JMG_xNzJZTBYt7AI7MJitSL*YZ<|sa6g%VFxUKR`>nR4gK6#2`y zx7}Q8Gby}nNIK)q`uD=5?Rs@>z)2O~P!~&8zD9&VaeP z{=tdeOTj(d7(Jw8+qjlh5K*uvO!188J$^A*xf|#4&2$*A?PG)h`tQ3>{=w3Uy0`-m zCAiGw*8pLHU(e?UN-oUM(3o&++8bWY4hn)3PqILGNQ!R&%rs#2A_MOs#lY9MQt zSuD;;lm)aX=Qj;HlDD&^wnx=vjmE3Sh9;~|+%Ple$(ah5X#S|lNzL=hW-4<_*V;^l zSjpT-Eke82Gz^t-)7$`xxoG5_rw6#Sh=$6eU9NK7_mjXb^~>IW8+?6Nq8xj3PUnYy z*j_EEy)Q`7C?P6+g})-g{^r5FH0~$JdmiPF%sQ=WHsK9Nm}9mmM*t#NcdqxBUw7!h zamAI=sqc)>h5!lS4a{gp)<%%kZ5s&q^z@qC-}?>!Flc zK6U!%R$krV@cz<})LV7|fl};wbhvrMHFE@M4?~c*g0aNxWpATNk8h(chMnAFn5D%a z5^l_Vxr_ozyhmh!L!d)nK{2MFfI6f^RjXGrm(K#_c))r7sIlQHvg$u>k_1|&Mmk1* zli#o8sueJRu^utal3z1@MaL;2>y!tSsG9lU`YJyGMrSVR0nC<|&F1}qdk8XP_clN! z#M`1Zf@cUgQo27HT750R0>*Ev@`;D@KU9}R#wTt;5b((@*Ez#KFua_t{cRxW)R2E@ zRo-_SnU{^*!-E0k9qArZAfDQI1_lVmS@p=Qr6pjm)&(ZExXy$cF?3buJzE%e{@{GA z-yU#9wQ1`z%%AlBjC2TbRru22)>kjheR<4%$E0(|%a?#$n(Y0>G6EywcJXkyilI&p zaGf%wpeP|sk19~)@Jbd4(V)~{(x7|CH@NUCvKK@d?vkDeTXg%x0@3%;^PAeXYM@ciEygr^-sHZgd|#myw--Jlq+2A-Uh3zV4%=9* zzEu}uliHw1j4$z9RPH7$oJuv7kw=G zPbOb!f0(o)lBwWT9!UE~aqx1zR&*W^Crv8yWdH4-F)7r`s-nEm$F}sZoPe@^dH6eF zg{HZs7sNIZ&R^#??oH`&7i3x-md_2CYks;={kXMhzpR~nv{i!vFt&y1M-&T8B8jSI zr)YV~9X1Xw3@C@8v~<=0$&|Saegg}>$BeaLzH&?5@u%1IAI*5m*3|1!JtJ06_@Xw+ z1{+UJxpO8Hvzv3}++PV6XpFNMeEl--Z@Z~&3;#>!MgPtIHB&pz-b5-(X-${3;AEyR z&7~O{cRm7lf?W?e!g7DUsXYHJvmR`EU>3PD+v6DjES6igI{O%=sJq!cf^JULB~L*@ zn+GHG5tj^}*?X9DLe`lcI|#}o3=Hur0)`mUEf{LG!3pEZ=W*4?bCkprbo&x?sY1Qa zf(WffpS}q-r5!CwJ64*uQg`$C0U5Ha)0pg zpOa1TvyqO2v`YW!c36qLqGYAFc#GY&)atRS5x3UDn@-Qj0oHvvXU{yo@)dKo(niZe z=FaWAa5gT8EkNRpNclMI+9>!TMy;E}Ai8m9U0>GR1ut$dbOLN3~xDS}?I`&Eao8XOLcHn>I~lt(|@ zpIXrqWM69o|K4`1qQTwBtYdrHu6vJn{W>E7&d%5;xCbVm%*XhIOpEwOk_%HtAFCpC zT80?UE6t>QG`;mk&m^>Eo<}VE*lwGij`=xM@Gru&rm`u-LlWJXk1(<0cTQ&~9H(7q zwYpm})gL6-c&SCj=VpDb>Yezk2me3^DhWV6(S@krQ+bq>8zlgX-&hl^zWL@%?*L=6 z!Pm>+fq6h{)6Uv~B-0rytcU7UL_ji)v_D_oIJaKc=}F^->;c!;zbmGvTTenUwC^5> zKH}6xqi>WGyr`6(%_BkA|Bb9HJ``JBS@hmFAlMk~TJsCi?zQZ8g^MHnO0#&6pZS^) zksKyQ$5caSKAjX}J3~K8Gwa{P4gc!|;jQ=kgH}*eUM78!H`-3x3w4!S1}h~T6kR;> zWZ)_wQGhvshFn^e2zNKxPXGwOm4re)s#ac$93K3vpOZ7HyXNMn>+?#Csp%YHUc+Uo zi4brtrwE|^Bj~Ri@{bS(BCEm$*s+`>0raa9>#ana7*~GX=qPmuMDYS)nbT_nW<2Ec zmpY3zFcpAnE45(f*9dbjXA!@+m_ZnFpfv5Ki%HOso`Rb+c))t)M0Wg3G&PpB9gRKe zg)GduO>u;32x;R_iI0TLlGygf_jo127kppK7xOi zchV~Lb}EGQv(U0}eIjZ=y#H}7(r-PO`>w))syu^B*dyHL6aD-_?e6yZsdI1=q9kx$ z95}X@FaXMOIn?dxa8NAwsCY%NcuUWZ#Y)HjAP_vn_O$t>uatLH0dAro$FaH4f>pDI zDEa{bU6?xSPD=DxTh5wD!f^#L^P9MI>;^-**T8heIft@26t$tK{M@N|-op4-bm}GQ z>^M$yW^{JV!V*w8_|R9Slu~Qy@%`F2X=~@c^29N*fw;%}H!fYWG_b{Qkd5;Sty+G6 zqg*z7X78p9T^H8r1vUih%4f*sa3zPpKw0awpJ~snWyjNw(v%OU7OlbW7T*p^?OPhX zj{B-lbNJ&w>V`7>zQ5THl|7%*uAsSeyGhL^{5iIN)@$drK+ek-`S83#QE4#L6dGqt z+%J*GnbK*{S^sLfo*}dCsNw9Ln86e%(8FeLH3e#hy|6SY#BRQYVy4)KL1{(PPHK2! z;0uJQ#)74zWm;eDRKb)eH*WQmC|j5lqbjzA6*6p7*g-gp4|BAo-@$}UHFh9kY{f%` z-YG&rf5?bJ@by#;z?41{vD579>bs(j9o6qRI*ExZSqAc~gD+$!BEi7q0-~L}bV31~ zi3M2Uncri8eXk?$NZvr)uv@az!xTH9ql-1Y&gVP$e=veP{=v-H>G#=seb> zNNBXtNxb)>BxdFSgXH1oMi|YLxF++x%ISTOc9j`?IPeN#)W@k==QvgRkBlPwzDFI! z>+cN+LTo|?T&!Hr1dB9*J z7l&`zT3n-joA~so2P9|lrj8dSLAHxU?QS;5fCG7tj3`(K@0AdDP;{ThMwp^>s6deN z_vNhr!sqr# zI>F5O?G^JqW1_ypv**OxcEN|=vW#Lo8&~xFq11KXAO9RmPb7~s1F;Va1~v?}7UkHj zHZFzodq<=EvGunUJ?+0Jlb50W*2jKWi%<$@ihP%1vc-iHWe5$4Q^ZL|S_2|E~I z`Z3$8wZDqFG;)3*gPtcVo z6FWhrW&Fe*YH*&t1EvKOxCx*zQ>>d%8RF+l8d@FF*8+_bz zM~L+@Pg#O@w07;woK?J=?#yB`O1J)U$j9&I2`kS}d0M&7?xwlFEELCBHdw;);Nv;> z_9?V~Y%*ynnBlurmaVte93^Lbk8tYGY&^29FB|0&@-lni@Iv^$lIc~UewX@l_>Fms z_KBZ3K30_N6AX}A4|^CF?`hTm<}52|r~mUTt-IU|nzgnc!qdj4Dq3EmM87Ji(s?!<)M-?T2}o$uQhx^Qsgf+o_+Hh4*FUcylsn`u zX9?(r-+Vn0@gSB_@uodJEHrN6XwRI1TV3KuUp3PJZWitephww&BN<5wZ>e z4ifRBZ2dd>T{Qs1*1V&R=6=|jT}v6j*FE>x#`f{8I{pr{AqaBs_)q&15_bxE7=0UX zxN^2>K%=lkft865Xpdi*Qe0m2+RslB;T|cW!_a?kz)4T{gntQBBeb8Vn?<5=pR3LLDu^n=Ukgrvg7Jrobgha=WXcjs=)40lM4i#MT;N@V?#w@1DXimq5YUJqv(s zoPmKZ(X)$g=bP0f&|f3kL4yX&IH+LA#m;pg2DJ+gF6s}tsQ_{ckA{x&mj-VUJHbMe zZGiwUd;Vl|s~(hAcTZ?izb~W9P7ug~N2Zc_m}l&r02vU zpp$I~PJQ>>m8Y_~!eW*%jTf`4>zQ>;nMzk1(>&JZHMy%&n>(T>iVL6P_#*}rxXsqW zp6alp|fyyVBx|ZjScDd<8yV4Q-Uy6XS zgiQ{pN|>1T3CyZtsa*mRDB$;Cblr@A6CN<~guf+bEj&I>+eJvz7&}%z38`~-C;*iS z?NH;_WBNcnXsnpNZRkcD0)t(8?!db(7`fnb!`F&>fbs{EZyPZ3J%A7c!V>UUWl8V) z)37q*^Bq*aD%3fj52vVTKlV(kuR4rn$cf;JVW3A5Y^DjdVjKfwYR##cqNbDa$MAJB zjSpvF2+b2v(iLz^)rq_J;ueA56r;^L29jf2h72(nmuxF4;hUFuOrcU?%$G2Qov{uiCFj?3HaSEU%FDbQqZBqHJ$7Z6An-z6CqypBnMk5FMY&PFk4qHTdxhDH+sIy? zTto2cNA+hS&ic^y6I|)#!{BVS*m#D(&6(vJ}U^aA`hRUoZ-GCkv_h8}S;LoI1ZD~m@YXvnl>%QSrR(No4nQ?zOIuDXS_T*1Zs3vMsHq3%1O z?g?$Hy*}aB4^ID??fyQfj;UO=#b8+()%Cr|{@uwMaARb1A6-1{LuyR(eqEHl ztU6NNEHp&9{vL4u!+W<1sl&1Rke*L;wvj<+pCB8@YZd@F*I-eu`%6OPZ94!MCmB_f zoP>zch{{r7!8k7Av(2&~@MNrK2loGQCp3b_g5m&&h&p=dz&?83j_k-_bpC3vE5xbFY=L247eOlGVHct!2aY{&vuH~!q{h+I7zcNeOE^_VMhS!ChiPyjJ84sgV)ut1#C zWBLY!1R#*YU-EURlvfV}%-3m9gc!>iN%^#@2HA2P83%#Q3{=Ik04f?(EV}>yTS-=q zmRZGcv_Gmv7CHMvcc67uP=NSpP>}cuVVo5YfFqSQbuk42!D)DpydBW!NlPdOlmzYr z&kcZP;x5>MA+F?;0VwsuBe3W0PsU^jjCVY$H|pC9Zdw*2rB;T8ZhF+fZM-aiQU~eE zYkO}jSN8**fer zU?LgT;UympNTUUiOmd;WCN8m7V3)6N*)W%%S~igp$+SD$^t}2N_4HJT#YiY?8tU#c z0#4j&gqwE8_-4e%OW|R?9%F*iDo61{Ez$I+R4lolE{_ZVN#(>y5z1T=u}`4Vbcb$=(S7#=fL zH|5HyF=wlwnOkl+5BtPImnKQl4ttu~_ZxDamtGj3N_X8J%l!v>u9l~wgqAdZYQv>6 zrwmhd6BQ@cW)>%|Sr~KYyK5M)oc2~TC4{~6S2J};9#QGvFWk@Ywd7%W3X^sg-Q5bH z_K5}k;JMrSm&e$C8Eupj8G2jwQHgn5ZF7lf##~q?m%{a+b~b*qr;^<8dN?B0G{UKP z{{ghy=fVS9w|=FH1Sav^ke-$0+N$NI#DMtj|Bd=0SSox2Y&juKgAL~bl0d&EcaxD+ zK4yCpbdI=OOb1-@kPH?m zPM_vs9>XfVIs~}3_~u*t?0byDpR1Je0!sOZ!xu34I(mEC1c=zcJBOJj=YGSjzF=I1 z2wLKxvZ)_#`vl;ukLb_>m6$gvr%KT{(GuJ08^LQQcjZS4n4`vA)gUg2=9@scoz*00 zNsubk=;?dQYJU6lN)R=Rw2-4@J0Gq;2K!0s2TgNk{afqvcD0QNyx1pA{(9HuanLl5 zm3o&K?xcqsp_jc95@3mxpQ#CI#Vq~T^nQ+Q1ZJ&Bn`qa#o#NXC`5%&yYtBYvffO@) z$eb7{)mat?QpS8V#)X&Hcu;BQ;8NJ&pue zweGnuc-9K8bpGnr=e}7p6Z7cVnNHolBiemO1p7QR>J1X3&0M|=XMxyY*RO1wc_X09Tk>{8KYRn;g@znO}EM6K}K%<=27&G#$tu6!K5-Royd zT3$vU(O4MB9eUX2rMn{&&HQH<-f-v?`^_!G($%;wF*0b70T&vtK&#@7YHYMg3f{!v zjh)$>Ks{qVjz6L7&VCIhr~max=$lbFBZ z9CStf8!^ul-df+9H%g6U4=(pn@jLOAoMD^F`S(VwV)IRtdPK|d;j7XXN80`(U+pM* z@q+5?IGsrIs6r({u3(YoBcjaEJz>W(ft|PrIvc~B6vvyzzA!tJvYqtxG^+9Kagwdx ziC(mD9%HO;Pko``g&-CAuiEoR3_FK|OLLav12mrnjJ;~M`O>ND?UBDMa>4Q4ffVdO`uB1J7`Ok^Oz7CNz1aZ(ofE^50 z$IkRqHNdj6{mDD9CK~^l1P>J#1b6M~HEE5h&c*T0%JqV4ye{wCtN_oihkqY0d#q6j z#85N(M__#rq<|&Ing?mnvZ2#r)E&sr&>yhfXnA=2G~o~gHA+w{G$x70hNZ&NvUmVe z1+en7p|s&K5M&Jx=V2Wt1Q_yieDMfp3$0hnVgBW&p%X4gm$m}JY7g!HVa!U*j`ZI4 zPsb!Zm^MrZjl3iago%oPC4b;W zBFc(nz#gB!6{&;CNk4}3yx#41s96SVPBwc$PmSzusNg^-^DH0g0ZdnvBNP}I$D zK6EY;5yFt#O;TPpG#AB5-F+DbD#B?}f^;2%31C;wfeh7C<=8t%CDuZCQ9%?yg;WRc z9vu>bz=ygo%)!0EBu&eusu@>1{on@w0wsa_0h}qQEjEl~cORhM-vEh{7> zxH2#a_@%J4cs?42-Ohy~bA7IH%o2lc`6V>XOJgVzP?loYBP4i>vc|;vHcVv3wZ!v% ze6i34e{ha1fhM;8ksh8<5Ef+NA$)CMcojq{?DY)D;cD6kKJlxvzydljH5d!O^~}nBmt2ESmE5rO_QUuM@u_IjO8%zY<_;Q< zNH?%f3XwoVsr=81>0*Se;5Kh{elIJ>6*$Lwxb63HvWM^OY|iETM-wh#wuvy-&VQU) z`yK4|O26CtDD*_uiM-EJrlFHID0`+i>Ru;>mFQ_^!4z!zz<%|c)lJ6RQc<(Il_inl zRsWo=n6_Vg$uE-h7^1u?qAQ__@Te1~ILZ;!&gXnU zSR7$53$7&f-LGU(Sl8zu+X;jFC*jeQ3cj9O}zX`Ki7n-t~G z)@HzB`d@{VVnGvKYn?ZOI+cg=zutr1-_EX%kb)TY{Zu9Ux*J02PBNWNjmE>$vN-cl zdOn0x<>pK46Af(`l_MrP?l3VlT=x$3=F;zCgyIsR>d^NY6uaq z?f=7O{N#YUBdT}YxyJtd)aV7jiTO#DV+LuWv>RV(EavUm+|)>2ZeQhQf>$Mi_@3b=K`aW;#c#pEPX@ud}s~q z&HX(tzow&2_8USLSN)fFvPua>5r+Mh`_KZ{I>EYAX=M%6!xOCi*f`-wJt>9@v15h< z`L}DI`BuI1t$F2RostvpG2)DH~kQ|A2`!&C7$#H9KPH#9q1Ab!~X>g?Ap=PkNb7xj6G* z+b1-7gx{to_#Qx)8oU{rw(6bR)E2;qq?ND6k>)TEB`&7T%eR3yn-xo~Xr1kst+K+$ ze4DD{AKeJuk3&l@YU=j}HH&6De*!l_CDy!~7@FOmTR_|_PbLwYx7RAC>%~}Iy3IDt zpV_KS&Ho^rQS@?NSkZ|!?0K!I)iWIGGUr&Snhpn1_bBq;2PuGxI4{%c&JcI!xNe6B zJu%PPSbwM$Wy>=U;p@DZdQy7kpvXst*Mq3amdmte+m^ZyIkx#V!M-?i`J}=I89F~z z-w48~(7HU5?oPkCWnEt=;xiuCdvtpndrY`s|E7zvENq-Smx_aQ8LQfTPFqe! zrrtH=__pop~nd|KGGvS3CzWbo`laiFI{3?2ORH?N`>nVA<`j1H_P#&aN0tA z3ZA-rDQ;8FBQXpmjg1Ym2{o$b<)b$+?T-`6^Ruyw+t&wv-lERBwU+0pD{1AGx=Ibd zMC5DK@u?sFkb@w^ZEk6jo=i$0`Q4(HxYX$8xFNfK_Og|yBXMWT;c7`M?c z_FV;j&%DaC=q5d1Ty~`C&gjd#_G70D>)ki>4uOx~b>eGC5aVEw0AY>)m)0oF+`e&_@l#|~-wK(_w190z!$l7_eu5U0S>siQZFvt-p!*;CZ+tNnJR8z9VC?R%5}T=D`$sHm71a z3zgKt!yq$r?f17~mmh(WV}C^RN5VHhKe8&yMO%I0Zb&YEJObu%Z1voarL?Xv0*#x3OxDatORIc@P}ki zaVv!9Lg^MJ@X$3&@Yk-!IEpin&h)v@i<0b1WeRjGendr>LFplSTN<&k*Q5Q_W`wSM z;6a`VQ%iVI`lc}2tc@%C^KFb-ff{K_`%paW`ITE&gh+uuckOP1$OXUyP(pFDN^XP# zEF$4Ybj~#*zqa*@=!pwvDvOIPVY2l1?M?eghekI2H&d@F$&(_hiyoFDvDtUW@*$Ock>~vn&OD-yzhc1_cOGbpfd^Pi=>rm(c z^hF-zHKM(;ol`hB%fhZZ+JBf5*Q-L^6^WN`VWEsKTeAF%i$wr`og|LSebXH4x{;A9 z)^v(hU>o%WztW&on1SE+tDj%7VExTY?(d%$?L`>mzSA=O6B&uvAmJ5*=`-btE^y`znm0P9a>@!%CA?pcI!Zw_W8NnUjNx9$1@Xti1I9&sMy+>wir8vgnF8{CR#4qF-t_3I(`0z$!?2vf^ZZjL#ydqoy1 zL7J|KunvonLQjJND^RSs_Vx{--A#BX)4 z2}xYDai{jTIOl0oeKd^@} z1#wrPk+2JRP~lx1hne{S>MyufCtHr6uHQlFyun?c7$EmslQhFQ!&8s0J85^`B+6|s zm%`EFH^64$oV;QVZ$1szvP4DX7A0;)M7#2{R1PfdArX(v>@62xi&D+M8n^b2n{-|n zVPb{LLh^v{j!jnh8Jxj|<8^Sj?Qy3&HBF&K|F+~o${#U*fMjO`D4Lq2i|4~X8ybCO zKYTWhjka@>KH@zcEIeT-1bVCJsUNw)B|)ErNC=4BuSVNlQP+q|}K(eUcM^8hMbC3CBjymZNvf?<%p(Hx@GJwqwkLoCWvgf{_?GMt>po z%<|~N$7ZA;t)@RM{PfjJFfzfN!EDHVpM1>7Qsdu#FV8^vsy{SfH9E@2VQ{@ZFvtwQ zY?J(vu0NzS?v-W2*J1jTrgZd8^=jw3F7J1xiId$?af<5iqwza_saN1sw8wshGC7OF zIjcQClbNBHKGGrv=8OXHWZS6-&!u}EwO|7rY7@M4c0V8I#v%HPQ}sefg#$Hl2&>^u z#g|QHAEyPn7c;xr|HOWlyJxytHDH3z8U>VrkUfY)N9elo5e&F#hN#4Sw-f@X`%b(W zT9w7%Ki=F2f=QU|We-6AmbSWs)2$CZV_5!5dM;sCRZ9e5ABGOWv_fy>HZgzS0E7j^ z>H#s{dM6{R%SPlm5JI{hToW|bk(_aJk3Dt-P7dBJ>lj(ze9z@WeB`yvOt}%{3o<2w z$kH6!+X-^GBbF0LZLEpB$aqNcbQ?QNPnn(3u^LSv&$o#;N`QrI4P@*f&ProZha`7l zM!s}$HK2ACf)!!LiAOD z?qL@|P;BCbJ9)C}mq6JssC*NkqqeR<6uKgOkG2*8w&Z#iFI`rO{&%K+L4VCamgJJ3 zkxhg@tZMuVHoD;TVxLbw>_c?9>_$(sJZa*w0Xla1AgD$@Q;2aA7XT&d;nqs_fJW|m zH}ju|pmbL$mneUzLjULy<^v4)db_)1m&_V|WT+pi{V2%NFP;N@eES%{y=<(kJz}JU zJ2DsyMS}3w*yYo_O~#-Kplmm66Uy|DSEn1qfevxxZsRC$GrqXH7b`#z{v-A6C_e{# z99IaSYXmS!a5W|0Ai4vVk}Z_tA58XMs+TgxlsT0`=u z0Sb6dXWw_~Sm&Pgkzw8}Eb|%k%l9d6;HI=2IgZuv6&1LW|z%AaF$0J4*FnU6CrO;_;> z>l~vS!wLC^MRB4TlA%!6J=CIG)Ip6U>iVWVV=B2Z>k`q;Hr2$%A}VOsg~giNVr?&m z_UD?i4mx&xqFj+aXJUDc7I#%{sxfgQ;_;5Dp?pGK+vacV^fK${wlhH+oW;6zf!xgS zKvV5hO4W?Zi|xI6@?n`f_>=q2PAp3}4l5ni9*CdiKsQ6_NXpIOAMl+K5OOcyqI+2rS10#w)Y@r9{>iFjZn7Bo zii>BSpg-FuAWP00v`wS5t1rU(gh{>KWnD3K_l`i(RsmJl2vzq*0DzNyJOFQ|ZB1=4 zv=U#)lG&w<$qhp|Z?0s-^RZ0B7P9>@V^0K)l^c7Ae8%s9{OY`VDKtgXr>`{aVpvUp zKjE;UxnyS50w6KJ3IV3?>X7jWTQ5+m>Kt8`vADY0(_-Xl3BoXB@z2{QpBC0=P0t6j zGgj&jSJt>2Vwa+FgjpqwML`yev%*7HVW@$Zgy{|Lho#`HPH@LTXGKT_O-%<|>rCX! zB!R()$c>W0m)6pg_FpGV)z(-M1=2t{t&0&E4f0+`2AKw0q<@}j&-=YJJK3>(03hQz zbyApBmY6x51DetMfQq^vVzJZ#nza^JF=aK`LL>?}WR~1rGRcChk_X^p3;@+1VJz{X zd2r)VrkL)axWTfBC`Ol2Ef-{+7#N|r_O#bQS;w)tTBINQAg0fSk>0mMpR~Cwfd7yo z)egKoR15@2Qx<_VF4o=W4ZrUT_m4&+OTiv3R~kwwv8;(M(^yu3*2~q*n93Y7Fux?z zCnm&@mZou2U@xXd<|OYHKJC1nZFImjhxG<*A5>-p`ws!8nk;=44%n1XX31`Mg5V&0t(Ya>IZcj5ef{2Ten6d=4e^pthJ!E&k}<-Laq_`dG0ONJ%gZDSs{;t zb=%QML3+*2!QjejDA>sZr}6P)n%t;BRbh1zpgmV(%wFsE$oUPu)#ahBY^YvG62BcV z9S%wS+jP?4`j_Kzrr!&D?-OJ@!myjy_TwAX5CnmNyyqOgD84qSTgi?SY%{qgnZOG_ zHcotahgelP?~7F@ecqP0cI$#uue>?yG+)^F<&veBi{UQ(UTY1*d=Vjk_J<5bom-yY z=Eia3Xr$a6-@Mp>3~l~VbY(lVZ-0@yX}!XDqm1R`I@)FS-=!hk&PzH1|A*Ujhh)N7 zSOmS(i)VAq{)%r6b-1(MzN%ogUtNAH+-^}>?0;fWJ+YweK`P@w)Dr)e4h$FgGH(-Y z*qYleunVFWzWM8fXpY=^A8w= z`nouuD`|fFVWcQu%veynsxhY92;_)hd-Ihhm-{2B*9hQ>`3EJ~UE}b(Tbt}V3lNm1 zBJSbJd2-fNS(WR^{Mf*xiNMT1NpFKxC~O+eZ;Q_YB{wxvqSLIIG#TL;;D=pIU|ws- zCd<7m5!Iwkd2Gta<(D(%ruGbN)r*6U>?n6hZBlL`1|QBs)>9Bqqs`1=?zpJCJ9duW zRLA58>~zhEAst5C`FVp1BQ*ybg5I8X8ms8*UIW+9b>2wg`5>OY7fsOsobJ=N<)vP| zht9te8S?;aF~@p_k*`-2ulFss1|I#i(Ix&cHmsn#uCgNUKgG3VC#Hv1{JOF&YZ zIDG~>?2H`=Ed1pD%gNx$w|~MIq-=lHx7en$(PeA>2Ll}7&F={JI=)DBsWet0{yg|~it6g=(Hq3ZKe`{)lgw{E12SWc#d#I>axb0NQRnA@VH z9XYP1veu99c73$@O_HF|vHgj^1ZFHgrrt~fW2U;F?%MWL1Y&BcO7IUX7eR(TZ*Vdq zkAQPhkkJlH8|mUgIoo8+Gd4!XGp+%e=EJOSyvCOmp)Nx?xhA`;8*sRS<1^_N9NWYP zcnrmecYvwOrSvUB%#=#a(t1V|+D)wf18%`9;1234Eje)#yo%IG8&7ONG1l#($~tw@ z5grgi-0JE!>-jC1D5pKU>%zBe);NHryEK;jr>0#yX6?bmews zo(m}Z9GFxxH*m;r30ywQ<{oz~wiOhh54(ri6h>FZ>^T2m=6O3r8hRETKp#~G*vpu| zi6zsupzenJH;lKwOWWr68&)GP%h}C1T8~cMFxui2*fU1l*g~9N6k8G$z+%|*^!@xw zd21!+r<8u7-fVA1i}pEo_*WP_UH$7B^wgY*-fZktPE(3ciTo*dzLQ;H!3)YwGN+za zhn_Jm1H+_#_KxDH6gOi({b1#nV8!WX^|j#3dQqRe%AoWkbDfvx^`;nE#K;`i4G>Xb zOL=ulD0{mpOf`aQl8N1w=Itkq9rRMqw@m$WUMsa|G`wwdcU$#5$Lm06HSHL6M*gZL!$kIETVJjiQr0m)AOLIdqY*c z0x#-JevR%S079$+Ue$ybk*NX!W2CDX&DLRN2L$wsABHEZf$+wqV1q$cueh`RtMX*2 zl5pXvb*wN;)zP9{jGle&jrWIZeDw{kO%e4C!fQOkG8=io?C04N-UHXVR0TFJFd%z{ z!&qN$s!0eF`r+hCe%1%%MZ?50;ZKy|gxZ+Myks>HeJ9?=$zj3o(kS49R644zayXTW~v1$J{p5TdPdSbZdWv>kx ztb{9Dq>pADvP<)sj=05*LyVIfa;PR1?ZcP70b?#>CGeR6RyR#cH19A(NoHIH>Lrsx zSeE$ml3IK{fixH!U8#S!>yfg?KKJLRyNFJ}X}XUL9sILchE^;+ zvM0qKm&1j=jz3+z-mJrvp(~jNB)Fpg##I)7kf&>Hia@uhfCVi$?^WzJxqQyzj-`TA z?P5aTzB4uM{pkL{QO22!N2o~ZdG3EVIu`tu_MS~Q_6{fC4&vvb{d&`rL0|Q?nQu5^ zqc#_|U#pWA6!h&u=_|0i*nM}eqOSE+1pyF$o*~uYTXpdJL^OY!9He`Zi;nbcHm66~XHOSSsEe?jBE z?!Pw^zXE~6A%$mFc6Z3axIR~-Mf~Qg7y8RHtwLtHFI?k8c@#Am8o&*l%G1rqPD64e zu9|9D`-1N7ifI2;z>;uga0;Hsv(ED(*Vv=q)_%Yr7G!oUA>?s2v?Zy&+H02|IQ}jJTKBTgO?R-!I>9Du2qvE^w-wJ7FONqDA)Fz zaN=W>$w-L@R3Q*BR>+$Ar1{RQxiEnY6K>=g_Q0W7nU~VE-Um{24~c)W(TetiKj3EO zl*!03ciP(43e)vk_8RQzg&A@alz4MZ(;PNufyP-)LZpM z1Z&UD`M!t#*BJSFHiyf_kRylMs7+xTq2eh(=`Z;$3i zrb4(`iI4!Z%R_m}frlw=WArwU#q}YqgBAV+mCUsj-i#yTcZ5*LH381gw&enT#K;Av zvCG9=lfQDTpKqY7w|<2TA5W@P@s=x$C6<7lK&H4Y+ciHESqaWoyYT9qF-D|l${661 zh{+O9p|eM1=(VDnK9%n@;k0I@U1)_(VB>W3Enj_7Zg_NcsKPe$)1BG`u>&rS zRI%l=U901KT}imC11`nW8fHV8S--Tcs-KWavj9^-AU{#z;=K73|BcT$=03-``O@$x znR75I3LG;jkmfJQCAe*h;y1W`iu(@Id2B+e$8`?IqCk>hApMCk{>TXY(Ev^u51i6Z z+7EDj@B9o0p(BUjoR-lsV!A~H;QQ365u=O<==eoJaDD?6##4J6fTKOn&_@gNLxe#X!^sw_~w*Pj*X z0JklaC+g#fdP~f@XUiFozvsYo_6vkP-rR?Ge$E3dhV$SEV8;Su>k4=Ck)6e8*Tx0e zQ{A|n=s**}06E$!`|eGwlT4`EtivEvgsbT-6F6Rl?)&B2EAGqSM)8$Z?5ioXB98QK z_33eHFQjFZn1Z~M1t)#qZ%2)D_3ad%@V8L97eY(_4jk(p*lCQkK+*6pR-_KFAL#sa z!5JhSXB=0#AF3n;p&V!m;&oZG&XrwEEQ3x-|86k^*T*LAKBKP18DLNCM#+%!(k2>a z^KS!^eW2#iLp}she!7HC`u1qz9E|zSR9cfeEbvZR;J$Hr?^{LZPXXA1RL7oo@aA{g zFX|_aAI*Rg-`2VVAmO3Ym%6*^$ZFifup8CeJ>3^o2^(P*R|bPCRwHC@$C&gbM~`Wp zfOn1o0pcUAM)IA;kTXs#VXtIqW40C#W~59?M6ODScFZQNYBH8paOag`T=ryk=^xI%whK8i;}wmTSbm+7yKqp9j_=L~+$3zG%G|ZB&8MRkK z@JRq)A4u@XOBduGKpVM7@U}UpxXON$v7Q$M#MVBrG9Ai0XKb$Z<>FAG=zEs}ohugR zI*6=mB)9D)+Ye!!JDj;GrFZ=I{PRtM$o;wUVKHM(_m$8OHz-#u+-CmeQwm=6O-5qe z$}KoIjVBM!lcEEJ)fh3%fS1ntw2pI^_*ym$`HY8(k_#)mZqw#PPuC?QGQ?qh%S@|& z)6F&dO>gnVh2gtkV%<<@X%Qo1tMx@D$al{0ikz3)^_-iS+Du*~i3*71UYw`>#FR53co34TVzg%1w<<8+XXx(Jm`p z=p!h;b*?zfZTwPz^;JTLWUuqx9<<4U%4*>AAMAhL=W(Ji)mF(AiFMstO7`lcAFaeh z<3A3>zKR9t{1@!6{E@)#-)qZQ6Oo@;c5ES)OfB13q~JA*&RaCSwn*Y)40DqHG446( zLxb~QTi{b~k9~zBAcVG;JU97)53pyi5toAZkJk%58y{4MM34UzQ&7t|Bt^sU23>e+ zzSqM|{Hn&Jtmg~lMEGZog=#9&u zfUy?eQY7+Yl6$lV_XG*+?w28@T$J+K5O;yz}FP2 zH2>B4Eug-u{H__Xwk<^C3R7GYCP&9yC7N1xI=FucK5z~tR!NPTPv@3`z-W{I6o4ki zvyvuHg4Eq+1ZF9x{H6tHRBvhgzIV|1KF(A*DU%m;o>t&>ng%AiQxB6j!u!YFZdI4h9i&e4gnH$<3l3XS!OvP^)1Sp zJ+Ed@S{w=i%VEB6|E9<)+Q|VqcVSS|;X9>Jc&IuZ4XjwubCx{7Eo}Cmw3^=%m+|oE z?s#*>W(@>_2NlvmfIdFR8{jA?zpQO7C|POGK!KR-w$X2E8k7B3hd}0B?ESVnaTKQ| zKQ5U<|(uKL1Z40}|}#XTOVQ!bW}gYw1e$o|9&#&ByWJ9 z`!cpH#~xabGvP)JR?&2(eW3O4U2sl7#7j}<{X;ls^OCRL2vOFs2ccC3-3kJ=O#PE( zMpC%73d}BLVNCnVq(Q>HBHcc@4sfh2qI-Gg`({ChOAo2`C^zd;!hkam@ctUcjhqnp z+3(Y*-tHIH`Q|}tkTaQY)fW_fgU96LrvQJ)(SFMbZP=xKAm?rDII0XT&dK|r*|*E= zaBf|V1@+H7ft}73=PWwL7)*z)%P*VSg5PTg0*e-yvo!>-O+S?t$IxT9)LR z2(*bba_E$Cz*za+-I_&dXz*#nZzYzVEtgW%IM&|5_PYYUFG5@yeWGV-o+);A>MNMS zI4(wKjXiZ7$MT+|3h0aH*?~W#fBo39d6}Nmr55%409rUoUoa%~*@tg8*B}72_W|6l z9yo67OFp=CMAd3(dQ?K>c|~S#;xPeEhqYVB0XM?(%=133F15&9GT)Z;!|!k#XB*FH z#O}T_7%FpE+1m~;s*wBW=#o}%Ii9)S_)~x~n%yf(Qr0!-&CV{%yXX?v`}2|uT~yTc zl$+U>ro$tAsbN~kAI~o%O1D!8)MzMd>CtAkp?Ic#=o!#@hugFkcQ#u}7Q^MPDCaYo zT;S=>w$Q)ir|GG|B|E)NB z|Kn@|a{T1}*|3fp&oAAy>2jL8!Tz&GUyK`d%*t-3feG~%8mcyDcNjDZNLh19+Tc-Il7N*LdjR(TL9a8WA8aHOu%2)PD=%LETSg7d*Jk759+6 zs^lR*CBU6JrvR2|wYZ2e!sL|bf*i<`TBnIJajB6-OH;HtD5Afc%S?g*CP^(k^ex&f zuoaDGFN0bgumig*gXg()*PkB_xAIME{#SZihU8x4$wiso#Ee~zBYRyD27O&k z$Hcy99U@UyR}CZqm_VKMgKL?~wCuSP93cf#wJr&shZ9%2;pM!vMX0F_r#c8zlL6e5 zaFbpf1Az2^nsy3ry*HxyqT}er_gU*#Ka_(bAApZc;I_*^Z9?vLq4Vrg z4=QV&!1=`~x&>CNN34|;%FpDACA@RM14CR3fZ_WS6U${7sH{;!a>WaL4Dq0TpI&jJ zfX+|yA6i@q^P)K2XT7RqMXbZ9885LNAj1=910*XcX6_(ZyQ~fLD$v_sHV@3Dr{m7y%FU6ycjX^uaf=cU_#A2 z58cg(>F@Yvz5`$jf61O|Sl6rOQ)X~Y$yoD~#1`T}Ey;7Fv)RwwRD}{ZseIb zv&KQ9%~qjt@9!s#uXqz$`}Pb6_T1zQF^h1`7pUQ@KPs!{1BScch+?_Zr3KrS%5>%5 zlC0y`gQ?>Yj}QSl0>K2qa+4@Lnd#~N<+!%Bn?tQmM_pFcTgV27Ykny8?m=|LA>rVL zbW;a}f7@n|W3+g~AI}86X+E$hyEZ`9?k0E5q%_MNcKiy@ea-9!6us@^9pT^%lVB`~u5y)sDq{mFkQyx0ghs zE249*8-Y)!6qGKZPJ43&@QsQ*C*WD;uc^>r`Yu3dZM&SG=Z2Ph`ID7S5PQO;WW z>gtMQ=x|;*HG5HRr_Vn%eLKafsy~jLtQM%hHG7 zN{-U|py(5wW$&`iajf6WC7*zM7J)B{3E9^nxSXU`_WB+`xRBmcb4*&Xsw(T%YQrYv%h)DCRgh^SGrI?L!_w9S09do& z4Z$ipY_EdlRRFd$c+AH*K4D5tu9kT6H@r7BsfT)@d}}_c+m&wOS%xE;vRu6b-DFu$ zqqm=JiS`P4=DeM$TdK@6G~7=IoALrv8(XP3^i$OfYR|D1_EY^2D88_~_$7lS- z#_?C`xv<}|!TAr*a0d}q-eqfU${4(PEWFPG^~<{WE6Rd%?ukAIpScqb#YL_E350M~ z1N#~J9iO<-l5H#M%~^aLRAi2Dn67Z7E>z(%|1XI-!~c$3Yl8j=@jmv0qXStom3)kQ z6yrN8U!{7+>l&Z^XX+o8{6#A_W1+oQ*BZgR_z6Gi?_rMvF^mcXo1p4wM81s(>C;#+ z^E;M#Bg90`GWEgc!v(YmwtV`SM~l{^+p2ccR>*ej16Lh~D6`_bz)P0Oj!a#bIx7Wu z>s1e2Ad2Nj%l86P*}hCE>FI<2LMLMy^6XMZe0uEknqv>fSOolarHTC1*`rD6_6MWM zPd&|VBj;y23u>HFgAeP{HPjt8vV`z*KR^FRI)8=_74i>MCRj~zZ{NAo1XekG3t$}v zG9r@SD*6-&6cPh|k;e}57AnT*RC5mYHqQ>~erJZWst7i1vOg4P5F z5kvDQ2oJQ~-^c=BoLXC%#%#$@p+DBqI%*kmV`_nRV>(!9br;-#7gcpG?Cs5SE=17( zn|5f*=u67d*T#D|A)q$YyZ}`0V@(>oAd9VO*bIl)Tooc+lmO+hO{=4&xLjqD(7mq> zSwNvopS^KW=9ddD?&?KwU{!G`Y-9r~K{QC`jZwf~y(kD1M24k8F0mTF>4xVVSzLVI zu28zjg`(a%CrjrJhQ-CNngi3G9uy1-*{&7{8zoQ~p97%2b-H_^kz5p5JXon7=VgUS z%Vr?n#lrj!Y!Or?UieP{c*}nZyIkAJh**P5Uyhq6-GEHXJG*8Z&~BhEMucB|%(R1z zPgF|#5T?4>E#joqYy8H19S2ci55#?2pZv16I;^mN%-}Srj-sX}Y5n>SzGF^h3oJT( zO2Tg@iS}9Q>aPS-PG>cU6c}aK_Z5nm0V3xSXwzZo3k{nG`z8S>3%V}~`>nDe+2d*Q ziz){HIx#_&@WS%AGl6UC^w{*FsC#=-L`rgbzALBY9!q$;zc%Xav(=$QT&cZYFEwJ5 z$(ql_{|Bd%JOW^>>{vWE^Il~Q(@vfC^aep8&3YF}bzdoD*CCD=mT-L$GO)ILUvKH+00zt|?{e|Ky5EOr+QgjX4*$X$4 z(aZq3))Ff?HG9oHU!Alz8>AxExAu@NO*7^qxcVqAdzURP;NA3}DL|={ZxIn`-F2~G z5&>OigP`icyz?C1T%|@!;PV=Yk@%M1n~1pA1xSiSVc^nmfBrii{8GO0uKE?8nJyzg z@A9uyc30e?QqP211#5zwadmhDINki6pW2_Z z!Ysv%Tm)CYk4fY=!4Tv3H9nepq<@V2}gEPm4A{o}g=wD`rdHGOZhDNze?L|+5)59r{nAC8uNuEBF4(J&a_q4)0e#K9| z87ALy{T$;euk|@Fha2TxlJA0(>ah6;*;3>CEX3-TVEukMcIm4^fu{fAojrH`wcfZih|3Ez<)p0`AO}>xt3Vyubr{a~2$MGY6%u?5o+D2WkG6pw zG63@+o!uB*U_Zj8;J18yf+Cl~U4MfV^>;G4XfY{~m0oCe!LzWmpkambVTSYhL`L*B z!!o%yHz!OA+9bC)O{{E}JKfOKnvg$HY2bDIZ$}5X(r$os0nO^iKxpR=+gWAuHc{+N8l4R4hN3o$E8ouV9d?|v zZ7>|M>>mb(zVL>TVa@AIY-=4i+GZQI?c31Xhj~GO+xBTB2|tjZLGd6<96AH)2Dkrh z=0F+bl?~y1H)T7Vdm?ZrM}rse%RBa6ldAFOTnf~Zj;ZPI>C-DJ($X3@FM;;hy8@bq zHXgi{NpO~Lu%QhsbOgvDAeWwmjvT%(+(r3oT1el(Dkx~Aoylz zaG*46O?HKene!t5uLJs3S3Hf4UMkZHC1*F(bgmVTP3CYpJGJTt z5S~Rl^U@uF#VeGL6yH9K$%$nN@v?XrVx;rKvyqP$9)Y!tolWxqaGiq-Zz3xw%^r$c zeZ0oxGVav6-5hL6NZJn~r4SH=sv+lQ068Ja8x(8=SkG>Avp#Gx3s=B`xOC~bwx+?G*#L2dP|(!m{rYd`-#2C@q;k!K-h-Qd_?Vnm z0AqQGk)j`@21cMyma_US4!hhUILsQH8D!eUFdGb8>Yjag1)UapWQJ^@cFISyJ~i{y zP}}LQ*QBk_ubZA)hz`U6xzUQZ-o{NvvF7)@Rn`jH+eZxE9GfIaa(hR{uLa-FsZKN7 z_`X5Mzm{8Xx|I+rXBBMhayF`R=Qe7BWx`80Sr7irSWCv3omQ!n%TIn`-4Om%k8$te zXymqT)*+{ggE}PBt2XBMAPSwzn{|puwfo{Ps&JX?Gz@g_JSnZaV~Cz|&%KRnK1bbp zB<0m6q3oqQ)p(ej^9uCvPAw12ev;FuXuvelV~E#sa(`VPG3Q%#FO*H!Fhkkx=+O zC4;M(6(*@qHtsDo=+qGm&{P%uR33JG4@h}lGXkwS-F26|>{IdzT*%o!hJ!^u(!3CE zc3;Q9QyQAK4>v!|^e(t-h~-8*e@5fnH%_$Ieg&YlULHfGYZu^4)z#`Gelk$U4XyN= zfC-@rJY80m6`&Sn)MjzDa`jk#t`MogK=L@(nCm|5k*mW(5^r+`CqY;#sP5X)D#%vE zg-2X*KlOQ{XQ90^<= zd2x3F?B%!24`7fE$&nsu#p@4NUg#v%`j8$GigJMejdkbKTEQoLb3REM9#AGQ$8RG( z7XuQ~U9~o&*~Yr0jp6XZ zBWp*KMY7||I&a!md$wI$ixBs->+~qk`K;KE$W(4MI=zfI-f#S7n#79{r_8a_3?pp< z!FI9aGY4cin6@=IT3g zoOGmraQjgGSe6=N$u>`M?8I3%(#BS}P2MhZ?Jpvgi}pOg#ISr#C;4?(hNr`A+z&jE z@P+3=Ga=$%=kf1WSG78%`mPRxfvEM57u@+Vv$iSQju0?sH+P;Ak3M7|ehjPotH+q- zn!s`$sJNAq^nm_IdfoE*BQMpwfQQ;Q)#!Nz&&|?0V%ww{0t1Uxps_&Sj4(6R*w}Gx zK+Gk#EOl&g&w$KOD963~%hToN%!ByH2Z20g6F`BZk5UmI3>?3lGz**hEapifle7?Ry0(bVTPjg^dX={4Qp&Gq z3Nokm9e(L2^U}991oJI`o9Btg`6n+<@>pX|8dmGdLhc@Hvs5grtcdhktXkugZ&5u} zC4VpA*CyhF31)@&#+?2!{!w=lrnYI#zZ_?C$P z2A`YJFok6;@6B&^QLv;gDX2E0; zjZ1!c@o|sv%mxpuvrD#&7g^D`6&+n0V&E651sxFh_j{$@if7GWzpq-H!g%qXnT!3` zDuzCi zZ;4?;8)k0Zqf$*7TOpOQRGPU{S(0roS%poBZG^J1HpcJW@A0U=YPEBm^M1Wv&)bW= zzERaraIhV>XC1pTJ0aj3Z(CO7AiNFNC^`g_#bEHz{^)zWs+#=JNJZ${ELm~WseJ%X zcwUZ5J;m)FF&4}*#&gAQr{BWc2hVGdNajnnRlRXy_iV)Ld=azJ9P?Y;M_qZ_&}yv2 zVeui!1+z26(p9VqrAJ#P=8fC{!-7LH0Sm~uH6hN{*QAYr64ZRA-u9MspQGzGcR`I zWICpNWbXa64oy22!ZUq281$J`?VIPF4DVdox#3;jN46d@5IQ}wB=W|OYA5By>tahD z1_#cm!ch0U+=3_YrHB@dR#W8dYu^$OuN}zDRQ<8$fmq?FahUaU%0HRYGLHWcbV^g` z=p$$Usrcy#7!ofC{^SPU?F)5iVWC55g z(<&ASRIE86E5Qe1flC!GMCnOv$u53~2sLt7Z^~UNofz~Eq<_^QNf>s>I80*j&f-!6 z9MZH$j@Lm(fKt=LI%}eYvZGrZ0`9|}0AjwrFlLLc#2Pa%zL{!5DTDjSyMJ#SvVq|^ ze|+}HOMa-UQ4#BkVq0Z7yY4WwdR2tSFNzf_#3ud8?XtO(YPHXvWVzMf*$0sa%A5b! z>Yh`QU$$^eUBUz|os<-&&P>4}hPRxVE7oN?-!TvPNu^~*%P=A4B=Ep5^2ZQ=x>^o- zZ}_tW9bTIKlKP>l^TTWgOkQCWzI9nVv)GWX)a98>;uB2w%z;!3Lyfm0 z>Dy~N>VvlUIt^%iQTG#EN^{=5{O};5!Q;@Cu0yIqb2E={_~xJ9c#ViR?Xzc`>5B^f zV)tzD@}Ghad>JF+y8m;7&)VKmdk z#;v`U>G**F=k*b|x^(aDrutS2f;EJ2j&}K|jC(EI(Mb*Dsk~H?$hXI45K9B% z;-DEL2UGu<0kMW>!}UhPvVxlSZ|Q|j>p9hfh!b~Voq5_%+HLr@E3~Ze^~2B-%b}|x zO@R#8xo-GPSbZz5s9@BYR*fswRl;V0A7RbYVW8MEqMC1_w(wNzkB#SVo@zCgkvCv38m!zIa65UD6?@;*( z7p2^@HQPed+ltO-9xCToP_8LIH9tXCJ4P;O3g>OS_@JR_cx>uSlC3L$H-zsKSLFb= z89W-!HYw-ta{-BR4Q|f)g8{~8ujelyJ@Q)u*$7oYUC&%w6)sxdSiPx;+5$XQ*5-=4 zvq?2KEQKxD>5|zb^f6hR^#U$?DI#5JXU~~g#o?Dxy3{0u8k5DCrjn}(0YIdJ?rnjp zxK|hEhn7B-&dxC7wBm@KX^LJ;-#A*(qxZ30ir^ z<#y(>5#ib5Z^UwD7k^>A1=Z}uXj&vTHxs~+mT2Xqh4mIRP7u&mifyD`_G{5=D^+Yj zulX6t+QG7udpRZ|tO~ZiAoPm($%15I1fJXg;TWy@V+elT=4$-pssk5W@WA7ry8(ew zY$=i~j9WlgpKEboJo4O&TrNf|cR6v`D{szphwfN@{c?7n_kpF+mU*tRFjL`y2q`V& ze%~Jd`G3}}W=VoKxYbX^9i@?F2!%)GiW1eNpc43Y=c`Y}3 zs|`cEhE@g<<9(*h7d$^S5Szi)z@GW=k^7I>_(5}loN3Y3#W9j zEOQ$E2r|N+F8wzPK6wmcRzT6B275+P`<6pCsLXFc($S;*BcxZ$Z=u6ELxRMmXqEc! zjcJ#ca*>pV^_n2IRgIG~JS1oePri7lyg)~C$PtD&>fK4T{^+ZOH=T&1jw+6lbz$|} z5_Pkx{f98q`@iT4|95%aOji62Z%vL@@0tk^2B=bhK@I}s%6*COW8a&h4Rytvr|Z)i zROBxL65vYpCDb%(nK7q0dU`#FUEq5i4y}*hWMrGc-27GNRU{!QApeV1eJ=B;oN)2F zrA9Akl&)fcB%uA#_pnL<7c4H^_r8A{XO)G>FN@$Yd{oKoki^%Zch$6#ASr$0`r39} zL40M(YEFnFCv(wm*-lkHha3EmDUWRlSpuu8ZyPbgA7?E|o25oFcVVhv2X=Kp^lak0^J7{Clb_ANUGKWyvy% zNZ8QXHHfL~N|Ou)$}z zc+{|kb!|UTFObXU($7&dGoH4&?GF!TrM*ZWZa3{q(vs*FI>?J)VndcS$Qz$MXYf() z7_0h_*p?b$mw>BZX&l{5d9z=Q;06ny3)oSj3Voe;9l`fc~&8(PfK3^Q>xW$H?NQ7&bzn-m|4s7vli@ zn{eTwtKu9DJIlw{TD|iH6%&u`U8- zA|vUl7O_;5RiVx~)aKS(F=Z(Hy?NT?!6*EPSQ0GPFX|!`?`9`{+?mx~&f(i+iari{`edTh}#$lJ@@xf?1-%3P&Z&iC(WpN%&( zRC15Zum0DeU*iY2PiA^OAJdEOohh=;ZLZRj)OY5M)wrG3mJ}3Fw&=3=3gZ$9@&~g+ z=MFCAL@dw!e<#+(U;0KF(~uWS(nKX^FS}exD|o&{aHibIha{*l^4wAgzMhGeWTy2d zn46qB@n-9~l8yh{m{)I`q1M~O?WkJpO;M5rzc?j!8Ct%z^sC(>*?j&cNW8H2a3=Ik z-c=g?e50v48|UR#05P){bXE0CqWjD*3H(MiFU9HwPN0jz|*(_C4iUe^F;&eDF{ zOOd)P6B>L$gW+2b%=}-y(~tSNe<9z;>Gi&$O!_I^cE;n?;wN2#IUWry!D zqZKHjQW6lypb9@H2SlqYnh0VKQ8ObzA$;QmrVeN~BnPsZ)w+f>M4z{?HUNL3=MAg+ z4Z}*P(I_2Z`XCf!h#GMcDdr)5ErBx&@z-0!5}N59ZvT-Fg;-M~SSmu&3s=q!m}1Y1 zYE`)n(aWfOk|7MUaP>v&7kAM`^C{@b62( zOS3a~mOB{CvBR*Rqofp)QN+>xONtpq+89Ev0+nCTOEVUlZ}vEMc?rC-o7&wJo(Wef zW+-#Yz?G1o^Jws~oQ`j(qg2c&$(@^YC1wF#k15^4#Ae!}E!50!*&7m!T>g^%JmTk8 zM0sZD=jYQ^5=Ns(O!DKduRWu?5|*3|Mm&#oy3!7K+YUb=PM;tQt5Er{kK$-k3(;js zgTxaIn8$aq?fxV4yZ4)p{}#!1$mtF(s&a$+OeZ~R)J;MTJfe)BM^e8^vZk8j)>~x? z1eupefGHHH3+Us4BweFzR(3JFWd)g|E*}sw(lSOi$X}Mt_L>qg@Q5ecK+?m|9BHl3 zCMW7NnvmHR;5;Vixs5DVf#EPRADf!eeDb&zgMENby#{GGSX@xT*O{0Y-Kp>a}28C<4ZDiR#a`)Hr#b~%F?Kl zc?g2;%1L}&dmtqd4Q+a&CG7lR`*+!Imz!|yDEX$C69EPkw5dySF5KK=lhy!qj$)O6 zPXm8gc`&)K`_?db&Ur2|Ppk(iDdV2GoK()#A3v@w9#}2a6fy$3=aSB#kkUd-ocDdW z4VAvzE_!uJf&evC6>d>(7Z}`+jBwB?r)(g*JQJ1Ja*sSSK_BO1g!#GLep=N5!sYzK zn_I!f&x}gsg2`Fb0qW%Rl=W=#*zDOj#`fDsVkTX+u;obpjeQVz7-tnR|9RQMfeF{( z9_g*hM~+@$NpW^+*CR{|Lqomx(kv#CZV`y4Ct31IWh~>0(<;XL>W`vFNDgkcD^!d zHtZPCoh1$&+u4rO#>$N$au0DzFSq5zVox5u%X~RFGi<3Nre#;_(TF9N7CHSxgxhjB zE}FHyIsMCRBSTW=j7R4E#heIvu(5E)$U`IS=y-G4Vs7taS!E|{_K;kbxhKM8Ix{-m zWusX}^4V0!1I(MLNHhQMRS8RSx;lTgbMc^wBo4on_Kr7Og>k+WQ8~j6>2T5e@Opbc zV$I-N5J2kTR6y!uGFwAMNr`zwy6V-X6Cnq}QVaUI(LnFlXq^(CAQ( z=jGW4O;$r&@n%mf1(LP>x}$`x`HQjj;WH=T?{F%=4?H;$gov=sPSO&~?*3@=3dIq1 zVR%!K;>`1@RXiFSY`vFpkd@45kL4GEoX(I_bzW5tDM$EICu@#D>%HOo6|X-HcIyND zBZ5F3jq`=nzhkJ$^_yshtd_S(DTS*CEx8eI`|=dAw0pQ6DrhWR=nvvf1I1bfe5@IN z+53_RcM-c#hu~<8OOnfOHS4~Qm`MjYQ(ZgBcH5p~(o8`nzot+f>1!xJA$?6cHtAw? zCE612xXJx9yFMN0z?ldaCPlIUu$>@;+Ep>&+|S*~zoWsaIbaIfTh3fk?B7V$8s79; z(ceZ$ppn;#TOpj=)O374K9Q#@Gz7vupN5geQ|L^T5*AN>e?Fo9shO+V$DZBtwRU4L zY=>KN7NH94U(6PU=-lQ;oMS9DP!#)Q!OPwJZRQ`39d0JY*(G`< zL(JAO`%Sl~4IorMS~Vkp`mE#RgX%-c0Yfz_;DssVhWzJkroJudJf-Awj5Wt_vQX^*1=#IF!%a9P3?XH z`{YVN{QSeo_-i3^;osw>hMjRQiq^RV+H6H1B)Y}-TwBrEoBV@R8}WdMQGSH^5|)2I zh)E0LWXQcR*9ho{PK0a&3>sC12Y3Pdz=yMCp)?O#2pUY2R6{bSGtj}5gq4!=zyX{U>`G1@e zZ@%9=)^dMv_G9;*!)>M}%^5e}&n6>HJzh?(o-fb%m!XbnzmW}Oo-CST` zd)lbTnzaBmYoJg52ut9R(|7@FwKyFY!1I&$B4r&J&5QCz3e!xvw1^@%v45S`m?>QhH@HXEZ)>g&zh1AQRXOH;7eF}1!VBtSSpNuitf)E3 z2CC`GtYte5Z_20Tly=UsZv=g;b&}zOQWLova*Ocs<{Men9t&vDQ? zZ$OPcmKSZy^u@b5V{fdCYq$xS%1x5vdkkQTPo>1dW z*y7K3!6FLboWxuW`RJu7<$>fC*q`YH$77*{=)SwN==4c8DT1F;lm03)Musj)YgwGQ z95vR&iyiaTn!oL$E^L{V=gfx8^Q`&SuWw5=L@C)zwP)=jlC)iyw+vg+v5On2O(D>x zi9StHQp3x)+Q`%1O_|mgP!QPVWzCh8Q0lFc7b zZU?b@;PSeLq{yM~jZLq-&WopHM;V(Z9p2N8VB&5G)0;F$A*Tj%6ynQbCrM%k1dk}9 zm9uMNlURKi)8aD}^mOHT&4097q||@N=A%)cG;q?L381_Z!XErHOu_GJ&tAo9sjXk? zSZchKeStPbSWbFsL~YQXeXc5*kGrY*Sx@nj_8ZM+W}i;&+p%Ng?8=!B&E}8Yq>Wm_ zo7C__7gO&KWwyi-aX04c)=tKEHt4!`zf3&u3Y=u#fQFU1I>F{m2f%oy49!{s`CVzsse?+I$jmDQ!vgghbl}<1u^CcF$S;OaYDr(Y zDPrUM>QOH2_qkz{s91H!N!;nh;wakfnO?ya49A@PW!Lks2MK%5srExtOo&VC*P9k% zC7qvxR6P=w00QxA`=6}=BZ$#ZVn)ohWXUJ2QN~r&ScoQm;XhxQMh4rv0+jE%%v&Qj z(YY9T7*w2kuuWFBRuKCndMb{rGdr`@6&KPZ`rc7cThyQm$?igf2TCapWI z!qeN*nr)!f)wef1oTAK1jGL1+-XE&KKJess3B~t9n;jVC>A*1v@0mGf@=)Yg!{Y9v z8@ssr0)7_UCAEQyH7AU>52OmU#q8yRqa3ZF0Kwx8|u0OZ&6pKZusQPQ_+Vr`ZzWks15WK!*h< zcxpn2TWNn0gWdJ8A#+;kn}q<8u4b6Kb}`_ItXW>S5VWL`p>@MbUS){fa#g|UteLLu z`0xaH#CO{U2A#E=cHLWDcyz+HYk0G+#Nybjcev^I=Z$6n_ao0Z_G$=`@<&$FDt~^5 zzYj{Zp@vwsCz@pBYm(?Lr2Sg^g8R47^N>uL-~s?7l1ebpdg{=?U)DE>r3Py{b1e9{ zgYB~?$9ER(iA`I5=g}nY$BKlsaNN_iqw6``6M__-uE7J2UTOdgJld;sOKlaauiJ@Z z@ZC@V?O%YHK?MztK-Y+}W1QEi@X!!>Xb2lV6zYTcM6Se`bpU~|6)`4=GRCg@qfj%{ zyQI{K?QOIBUeNcr)sy#y2n8v(z160U_hN5*TmFkyC!MvMYXms_owdRk(d4I~7+PYb zFfE6O4WBO6>NS`M5zmb!;}zQO`Nl%*&mapc&P>QJLgio~dHS=?t(M#05L+Un zk$D(7L4y?{b`!KRN@L?eHSl`~{GHev>j>-9+=SbcD<;ltMeThkiWxkBK7p&C6A9B= z)>ONP^kV_7l!uhzf0`)olpDrP#m1~v&bXZdQR>COa1Xj?;mNVFPR7`rtS|j%N53^T z^E3{Z9oalGHap(9+0&t0 znu$g0Z^uc$HKstk&P!6&$JG7#Jq;Rn%0v7rX`M_`tbh0BA&`-Wja@f9XzFNGtt2g?m;rE*9&D)*8(ENZaP8K|#lo0GH-Dr`n!N2DF#5?sP<0sVs zg&7aP0w+$@1ZvQlitcV8y&Ams&GVyI>(us?@DD-%L)zSm)yrVH#E>u8(~-LHU@TY$ zDzUx3AaC=`^?3M0Re(#5XE?)HQApi8b$ZC--_B9~TUiiiSSgzf+uk z+b#5NIH%!G9pVsm@@;wta^}N`C-X;YYk&GmPMOKucf@crBajSzV1Y-rETiN+792HUT?t0zw z2#fzkSUax}7dWtdN@B@FiCR9U(FBVbX_j)L{As%KTknZw*&Bd1E zn#n5eOHpl66N)fmb=Oz(9_h&XyijE_ALR5)=AZ()hR9HGdDdTJed9jTi;bkNGWJJB;Zd}8ChAgJp2W9M%k^D-$y258hNJ0x zQ?wUl701!dWq5;PN>hOHqc{25`(6bhRPf5~+K=Xf7hxq;;A?XMz_g8X|nBKx<$pUIH3OVEACbg%#(*4kF zja!`^=!IfqPH3NaL;mamP#i{4u2R1kvfxHH|A}Yo!dT+cKS07z+%NzJZBekMePkf z$khGjmRIL33OEj}VN`E#+|4%`y3+?@vlw}Es>2TDY1F~M5oKZJ$uSn+h`JK-;Pr=8NMc(nY-?Y0ehaT+y;ti`un%S^){x!2Dm0#!zxmiZ0P^~$& zwVhV+sM~pX#M7=x6ROKP>AS3EL;pdIKqr>t7t?C6;bx6f8jtZ8`$Pw3NxJ87LZB8w z(XQBPa2$3cjs*4u&k65D#wiUsc^p8L{3FUW^K0>YzeiKzuZ*4gZy#Nffix11qBc;= zx=!8GxfNmYJlx{>89a~ieK7zcNhZUZeB^8EgZI$g@q&_a(aAGY~c=@-upMll5 zuprz4xFV5h>-3AGY9H)Yab!ojh~p2nWH8p~!cR`%?HFNdm+ZmF*w2u08(UgH5Q%Fc zoa{8bMK{_uwt2elRZI_hb?Hp+OsSf(v_aA^?`@WbY$=AX{+^-xi+sr; z_>*xZT}pdg6NHQ@A6*0?>@FIkNOyefQ$|GaXN?iCP$W%~5~ebDZ@WGDVvX~@!^n26~to?kHmD6ZFl3ueDJS;Ax&4qGcmIgJz`a_(ncMdSTD9wFQ#hdb)tGSe2!y&-uuC|KS*zB%yLXo*EV9O7(=`iDFB&`XG+Mc$lqgM3_3u>n}|+Rw|kJ(-V2A zVH`kn=5S$BHO>U+x)Yb&C^_*D1y?b97$v11)I+iAHx$>akzCXe6uZgfUEFvHh_cni zq9$~x;5rVbUJ>hAT)~0?F?l#r$H{*r6$4}w_&iKt7QsO~EB_K0UWmN2n%n?Z7NA^> z%4w_0LrVMya{cVWN2~QGKg1p;)(7<^5@cmK591$n(Nz4Z@Y;pk`3CIIK>T#iTSFdF zNALteetGZ4l5;i9`vTAV%dWbwAL-~Gw(&aVzh-oF%xdD2PR6y%;A?Hm0LWlkUH9g7 z=Fp!=ccQHmk{J!^m-*ZP7sr_Vi}KN~z+Cufjjkax(xvo%pLv z-90u1<3?uQxUm%Z;XauVe7e=ccMBaVs;f<)7bK4|){4ITLJHJd9+~&!lVF1ovG`-c>lNy005j z!IqHKkiMFja^|Ve0pODGCcM|ioGAz0nG=(+dbU#2HOUf^-cXlDM%Yk8Zy{o-jw}xg zAwgD8p)wx|f=&KkZm>atQTt0chJvn#-mrNZg#+r!P*)dYP$5SeO@wUS-V0FoOv=Qv zaDCU1ubR8_6?|c$oM@BbAK-%!7BBz+829!M zOXcyy>D@s8VdHUB$?LUMmlNfy4aZ;+K5h>Lo!L}Yt z;TaB>3C>CbrS@^`H^zegrvGkE!rUWbOJz_)q%ec6yLn$G5;qxdoFk7f)Y(HzB? zDxNsEh=Jj^*HZf*APeFkT&QG(v7V@d#b2k-Zb?msnz^E(UP*VIbjR3L1SFGt5?G&T zMDO28mYkQkDi7kcr7&1m7-i6#g&`O4$T_xx^0e!zDqyo>)c@$(T3CHG`C~)YW|^*L zT{N}t8ARdt*SV&g2=UsyKZbF31yev3EbPmY@#IG$K+lVEqEY3dADJBQ#JTAW{7mt9y|owklUmsOj(n5F)1!Csjgi%nRL4LtcxAG0IlQF zfaKpqk5^24s81v@YHeV1Yej?VqV=3a+jVp0_lq2>^ zZk6qpo311hZUE#+?c*9jZqSv#%1_y)2aLnudTcm$`b7_DV=SZCF8{oMzT__p$rJN$ z@v8D?|Cy;h;)5d!U#gW+&B0kkU-7wE)aPnRQvx}GjXhT$c!5r?BK+2Ka`$pHpmZF7R+pdVaPi(*(0Wf zm<}9z^C+n945_AFYzVnbOJB(=qoNdO4Obznk?4CCi?%w~^NAoWWH%l`rgW9ReCOYv z?XLT)PqOgqpEhH<-1S^3VY%cX-!4Wd9ewwhWGpOtue4ZH4m5KN=ON2ieKV9|{S<7= z?v|YRs7oGZEsno8*d?nCt%8dk@T~vLXiy;SgAS<(-Uod#KbeR0vT^mn@1tvf0163u zBoKRj>8kid3ao;$vXTN=<_3T2AUKRIqcoI2p9rE^&b0xk98y25uLB(yZZ~@=pjdMX zet=$H3!8(b~d`rPO zj3;=n1=Hdq=B%IeoRn4&*gc3OjZKxoP^(rXXe&u@kFywe=ru0;98urF(ajx&k2L2U z!f6S<4d(rse`g^AdVFewS4HM(>H?;lV#P57x@Oi)41{CDLfBE+*h>w}b5GgY!Y}>b z51t8bYarUPZH%o7Fx{n5a4-H)YXb|~M2(nj6YoB!1C;&Fd+CAGfaZ6u++NPos{;>^J!w`f8Mb-tKIJ=$x|%?%`rz ze3fW#Vamo{K*`>Qx0Jqpit} zv_O+P(T0{MF5B)$?AVXk_eiC`W(YM+qlO|g44`JoS!T5le_DlOt|p|vO@5@=^>r*I zP8AfrRK4a@hmRqr{%x)e^C`ONOzP4o?b1jy{q{T}HtBSn#j}l`4+3R)c@8Fnk+Y8B z=o|V0l{-HyshL03+l;k_W`yFdUne}8@C$Z#528m6PF!-o)4Va`>T`YgMTA>(VPbX3 zLn-Dwb;iRt;^mZQhIvBT`DQgiuSKM3aa#$^IoG3b{V{-WQ9hhCffbpvxwn{?o!V^N z@6t9wo^ECT=>2lmpow;SMREuJpkM-AO-bOBMRh$ife0;~}7lD`< z&49km>rgkI36JD1*lyCQ!}Nc-wZFuMN{Q}Uv%}pz@R7H{KNP}}_|Lp+GGL;CpHb>_U&2o*|o5a19qczWO zDGb|=pUC%rV)fCkXKFV-Qy?s8>654l_Tu5zYx2kH=5Yt%54fh~QQe!GVD1^!X(G%p zY8}k2DaEp>8-6Av>*S$2Grit{p>5IZcK;`N?7Q0E)z#HqBPjW5e)O)-IIA>^hT2$7 zas7s{folJ+YBq7))2}bQd{`J?UNjJUXEM1<;SeYKw{NvP{60xT!`ZaY?5k{P7v`CG zeD#^`WR~o>AR~*1@JTqNJqlenll?k_XZ{i$!*6Z_T)F(-%Fj9NlaSMm&%9L6fr_x`ahgER9n-#i{i{?r^3|K(B>$*2RD=i1}MZda3wyVuR(qf`qqjNVl;bMY}xKsVuL{<2|(B>??a`ega zGA~g_l6l592r3bP(uM;3Q*DXa&}o?43n@^2oQBnDA4=j?H0?_WVy|+&(Z0AV-?<;~ zIkf0oO!sMks%=CL!xRVeun>j&aJX8($QbyF*dKp@9h}^}0>>{3v;Bfg_^sT7nZ(W0 zI-;;V@rB%^3~g9%Tz5HY9gVq-gUhMkL8`srn(0U?83Z!;Wgn<(OX1U}EH_g0)SMH` z3~1x8U{8iK3 z%}KU(KrZN>Q0?&|YG1zndgilmOi5yX^iPTJXh!>tSACNnRBmri@A_iHlHC&=CJ8^Q z;4@<|An8Gn{>10LAKMjDVks;l$GA#81u0{_)BghLx_o}aP=y)SMXlGSABrjdKD5D0 z6^n3~fz_i}09vZni@TDT#;eO50%gn`LGmB!;&jmYV0)01h)<5VAXA`tLuWcU8Kz96Qs4H*0iMn zWn5r33Bx}%d`ofW6pQdC-xRaFMVdNA@tnM-lPTem6-5)plyqS zxZ7bW^@X49b-p!w<#)YYAGXuXqg6cDpIChM$8^XiW3`Wme!^NFfA9=ZX$*ZId+sWR z*E1*^Un_c4de7))%dLB*X*yK?zELE)1jEY$X=;16_*%|BEZpt5m(~_UbK89pLCQrX zh?%xX64@i@#@YkChyC5%f>)nlzFv63B*9uE9f#79iNB zh+u9N5W1WJ{jlB1HI0yr7f-V4pM__K=M8_lfs(VjzFSkd9xp?Xf^NZ!GfJ*X5)TQp zFpS=4v<{g52DU{M_J|I$L-ZIo!nDTfbs}%6Of88yi;0&;SAKbfeaRcy!ebEVVbP{wj zj`i|d)1yA&+rJ(^?>0IFRc!gT){0}(>jfwPe2{$XzhrG}0T_e42LvbAEbh@U`8XWJ z{X{y`;Q#COu)oTW^(>c9*QH3Q)n@~t>x`Kn_nezYhE6MkQW|yI1HHl*3Y1nYQ4LI- z)>!9Fh_LcS$V9~y((NFCVU-5ee@(;Wk$`kC5PUr_bi^L9uVv>-kZlK`k||}N70xH9 zq23FU@PQI*togC>1)8mBQ|SnixxUP0IIn*L&(@Em1WKF(sw^jgY7$ z0(u9LaAiro;TQ;9sdiOsZ2+;RlR;DUYsgH%)RA60vP7d$f$z&xml}pmgY4k|#uDO# z>Pyi;(oGJfDvj1G&dvwo&cW*`MFlXd7J$O(KGU%Y`3bh?R*2#*rjA*Rjn}|RFkK)A z4lt=eo`x-XYE2CF@T!PADq zdMKH%9X<}U@jGn@0Q)Ab+=1+w8(yh1|N7R2K;N6s#(KgVqH^(p;M^1ihE4{p z`dHhSn`Fz}o+A49^{0La>I7j$5BI!2z>Y3x^gHjtzs^?TOl?Au8pSwKUdaR6c=b38 z;C}I>25Z)w8@VbRZ4vTR5c_y?t{>eeT|0cAwo|D$&hVGvlzTMY>+L^ge(bUI)J?^G zCqxSm*N#1E9>Cd(s;B0Y&Rk^w74bLJ4tBcP6JT9mqV9GwN~n}=34?pwf5nOQlC>my zq8*RhWi_xodu~2w=IYM=6ZHl96ZbZt+VU}dvPJAWysc;x>V9>h#QLz|cuIY>cDCFG z&#$YlPw^-|`DpZx|CM!_I(0zp{P&?QGH%F5$sYOPF3_Y@Ry!(&dO&diJTaV zU+t0TNKmGH8GKh(OZ-tPo$Us2-lGFNbK&n&1CGJiWl+BKv%~JZ0?W##el%({ydKm5 zc4`&**6cVFfVS9hygtsITk%)j38@DhJg0WJa~$&5Nvq)e0oCU6?8ebhumT-UM;2`K z(viq(d}N(i|B^i1HO$18jJV!=>k7oGBA7()ux7Fr_FubXyCV)9yB>#iX3+136PLwu zS11Zd)_+W%vpjd+{hR6VLz=Hrufa5u!Fz2nbxa9!B}Et8;8xNe#&!xJZv+rBCalZM zzU9sl*I-gDFx$G)NHw7Lp4%5~r{d%XEO>pt3On0p1Il0GV-pCTh56%JYXrX5RA%I~ z$Bq{1{uM&uuJtA#tT@3jdSo@c<6dt2rFwQS7hM#85H5TVQ{?;mu=ZO%<#i@h*OBdX z%9+&Zmxof1^_DuafZHUDD2tQlXwY4f0@_WegWY_rte#n?BD<|qG&+Rohq)^p)TmKL zsV#1%DeBi07MvZ9Grm2qx*YU`<}#L9f|Y%H=ZA3z?t=%pkhz+ z?g$_@+iRtsE-1MG58I<{^*%$scpX=?usE5JX-w^!tWPV=%J=jH&y)ihfd(fQeI<`J zu~0U{M!;2tuh%Gf%|sxmg54K?R%%EHe(1n1iW)Ty9Dpa5%0Z;i`~60LrH_SDu^0&N?d*K%|@ik;hc&lHt%4@o3PhwCNE zm41Iw(%mc3_@?;eJq04n_u1jY9&Y5cX3tADXd01s?+#7#Ae9yn!nNwR;nWm*e7)Bx z69R7eGzd@q|9swswBj!AUk`Utc`9@`xWAxhfs@}i_$A1gYHpcZrl*Ygk@eR;ig-GP zWIVeDP#<9R-aMmj@?K<-1d-za`@HcA_KTf~xlIn82FqizIQs+55m1_-s20 zIwp$^E$w8ihBh7(fj|-gFd8V zlhxN|DX@$bc{{|cHj<|;ng3T|KN@DTMkwo9MI>yW{XdSbJ)Y_R|Jq!0SCPad>E>R^ zZDYEr6n#>u7)hnbb#t5hrSv7F3(CeSQHiBuj8Ty#%tEFxmtmV>v9XNtd-eOP9;F_; zyxz~(d7kGv=V|AufN5IirOQbN`+tGLp~%0!mMzOMcDFSL=5%!rT8-xO6Hn5}pM6fZbD(!h>KDIn>lM*f->R01*cO+#Ww{z=}m(sIu1geVoIGPPWLz^@XdJ3_kkvuY`M>%J_- zp-144xpjEJf7M=n+C&+2QD7Amv4tTgpdCLhVjUHbj!ucw-0sK{8_w?#(7bO-*kB1jKT8jrYLB_9j)&2j110nGzz@XA?$9bi0b|pK7_srw8 zKcQ=A+s|Y9|0FE;gvW1bGe#Obrk^j$#}Hy)4csJOHK*L!ZFkwMvrSEYE=+!2eJG(# zY;oHnWCtf$K$_wm<0jZU#k}*3rQAa$sopcDy~KNM0$R;7&H}mzHF5U+!;svAl9yih z8@E2zGKyWtSyo^p#XL=#+CG}b<=}_AvHjm4ji|)!ys(&XH^g!`i7WW8zzw+H>Vuc_sPv(JUine17vlT zdS7IQFpst-q%fMe6&t>kqUngl_VM`*^-a0B~)H-Z#P~FZ;hF@ zV*_~6ny~+aZ${R{WRH_g=`WVnl$6~_R+7-KZN=`ky*|;~FF9LvqwjL{%GVuYN{T9- zzrHg?^5<}LFm_XKJ?(hYg|wJ=jGXe9e;V6=osBWVKQC_fqM6_J|A^iYp%{Vr@abdW z_p0rvGq3#CHJGI~A+50@}P| z7UvM3r8STmz-*+n3_*wWMX!po;6*cjYM5fzZa=WEJqkkcQNFoy@(mv(i<78uI`55$ zWvBRV6l>+7y# zm4OgxHO!>(ULgeAB%p5|`zeu{PX#KV28921v$wetph)NsKJ_CVLXH{A*8sQfAqf6N zS)OAA0L-GJp#VKb{x5dAJ5Y;TF}N|#f-Wf;WV9~rLUt*z;*%@cPwfetV)|t!0LK&D zvm5J3Fn3+t2b#oqZNk3pQyFtw^!gp_pF$iUpV|GN^>&3M!Ge{`kfLLxieoZd&}Y2_ z8%5?H3KNjdSO=`~R4w8#(FuhN(QmFOL6R(p#ru%{1s)fHM746OXg5$Y3|-GnNZH9X zhL#K%@wIr$iPgHIFg#XAgye#2vHuq!3lC=FnPr#2ZC9|ok@FP)MhOsh@;}&<$;=dN zHoBu~pM5DGm_Wf4Uzm=#oN#-UP=A8N*a3pdNkwknA;R;YaW01Ew40EBj*?3#MYs)g zw;oGON;YWDg`rq8B=voyT#S~yxDSlmYyL|P4g(|@j4es3H0@+nBWK&e(0%?7?7*@E z9DK|Zs2IY4(M&>$_n~RD4B4S?9T^Vu64V5xB^Dv|W!Y6l@&pF)H8aOqd@^}9clDYy z_SXMmP5vEehoarUj5;8lJR1sYFav1<3w`5WnV(|&wb`nD8GriDM2X^fGjFKT#p2aO zMet>Xm`CvCg|`BB=C5!4@8FG(>*z24+Hz5+Lk?sJwtO4yzGYfa2<_PNw#%fUIMhF8 z+?NUbRF2;)oXP9FKz+5c>QbPM+OiG4z0|8H&A`i`J;*PD6KWpD<}w>0Vi-+2o;;MNY+^Y_jrw!&=}D}qbT>nt zmMpBED1B40`TpvqI#cTQp@XR3_*+{EAzN`S%dw}3JGbyu&qLT)AN?22X+fB~IaYeE zb6%-J5Q}c`ufKX82&?s3AT#PlZ&1$fJth zffyE|$bSRp-sDt76}xDEPCzDa=jXacHA*~qmU8NWBC>Yny-MtXLM{4T!YElnTD!3>6k znjzI93yGI$?X!XZYML?K($*O^New@~V{$z!PAj?cB2Idy3fO*@Ut}o7UbM?`-d{ze#ptq! zKq+>7cp?MzT4O7r|3MHTN!fvg1MOwcP_mU#Mfn2)uhPjHxGDxA0tueK1T>)E+4Om7 z{%oj&J0WMUEwM`j#BfL7jna%Qwj`*fE{K<|{E^Yi*&OhTgA{RKFZ-A0_``l6gDyyU zw6?m78=o_CVO6qpU3#o)dim_#SX|cu@C_;orKUf~2z5aA$AAUn&S%>IRvdkN@E{xu z=iebE()^QY*Mc4`!&@bOvUQ1r=JoZ)H2i@dm7dU=`COW zacXQEq^hdRPn}-Z@J1F0J%R~2ajM{l%Q^n!yuc)H14{oVAme77V!`P>Z4_KO_AW+g zL5_rg27UPPv{ywaHzj$Wk1RaC%34UR8-bf#_#V6u%v1osqWf@u+kn<>FtKw0d*}@) z5G-~F$3{L|O<>y2h)gsHnP4SZSh7VC(v8>5VE)D|R5<+vkuhwxIt z?yvL>35HvT4kA8bRo|JjlDr0s%5pRhJ08LSVbk4b-Uhm)xVPjG!G)&tZ_9hQ*iFA* z9_X;NVzk-jv3xp06D05FP2zp%yHkM#&GBkdLeifsRVXW07$Xa4{Lq?LC!{JbzEzVK z%BI;2WIDxiqIS)n&QDr6KD$-2>ZCOVKe96otZ+uJ%lCFKF&sKf3*Hg+>}ipq(&7cw z!$^c9iU(bO{PxDn8~Io3?95Y%XFe*?jfx6-=CtWS;g__FQ0-s+238`zJ9j2F{F1@u&5o0kVC~WR0T z-!mZd-#{?$s@bn1C4RpVaG36I)$E=4P;t%K-%jd9rT}%N%K#gik=?cY|JCgPxo)H| z&~V3d_o~{kmw%n9v^q|_T$xjNTwJaU;>I+Rg6$s$62qm;hOdV=)S=FmF)rk{*H%mj z8|Cft>J6n(`HjXjN!?VHpl>ETvc3e-vh-aFybCqKizB+AWn}mPTmrUnzp=aDX)a=4 zvM~ViEI=-MJ5~ZN>@XQhX$-bAz~#CgJ5Lz60z`>?r`^2^;wdeFG+#&oUHpk1NRPWL z2hg_j!N9lOb|N9%%z~;q&ADX;^p7GWF~8cl}aewLS~A|NtG7*3YekoW^%%-dj{*` z0r4BA2R5Cqq#+rN%1BcC;KF1|sKr{-_C$c(^? z=#YdJuhlkx0TERE5k)EdnY(`BfI*gkOWctJ6w@9qL&*Z!wjwD2&+F5HNN(m4Jkrba zv3&^%yn=ivj)5GuQ0KTjoQTkx!m47kFxV|e#J|00hZyJ|))Oh1tS)D_?NWL(Kp3s2 zc#I+V`6GFcnows-aemKQL(0nOJJ)7ZfFwvXp+Xm_?+sEEBGST3PJ0kuV4u4FaX8jL z>1ln=(W~J*Wa`+nguR>Ivd&{)!cP(HUAjiKb`c>yZ?_B0%D0*`E>MjIKcZy>;>Oha z;u7QjnQl?SX^(>CYcm-D1FfXX=AdPvl*DcNKm-H=*=&@9})HafjMVrCRAH zB{@Oz4>#3GxS7Izj~1`X%zFL4melw`6QK{msw{X#MHf4-1Kt>*Yb$XX3M|xHroT<;KVIrS42Q;St7wKbYqv%p}?T zw++c<&@qI-+Yz={a3!{XdLa6q^pDkoM!dt?_85#>p*#uEXTE$%ZLU%b#W%{MZ1hz* zXig-~LA7X$IpSZ8f+g<7x?3>+%S_xuvt7mZYIlom>1`R6Wk6{#Aks@2%c& z%D_;5C;SH8_-P8W4BVnn74GSmBC%yJnp!71DW$lSM$AJ>{A6WJ_Q+DX%wKKL+lp-Dzd^tauF5vf#7n}8+G#UZ z^nJhTfRMn4GLHWQ+lqJ`P*S${l;|O*sI*LIbFm#ce7^dFNJlz8>al!X7ub!7S?fPE z)L0r*@qBQHg+B=D6xjfV`=1{CNl7}=5nQ&(b!qL{kPk_AcDa=AG2eJreO>CUL2+-t z)I*uBza!SIyj0{wzJW={szjaa)T2${{>pJKq=b~QtJ-2Hn{hW27a!bok`^jXAU|Gz z=3Pt-4pohd1!7hz2qIXH96zOq>D|P+2X_CR>{dGu3YT~tG(?$Gh3?rr1~$wr@RVt$ z-RA2XZN=K0GdgO2<-RN%A&cK6SN@`YvONuAE~0M{eSi-AskdJy%PT42ZT@5Dhi}e? zW&`IW2!~vFAD}2SeKJmrsAT7WaqMJ<;FpZ}J?5=zawDAIy43#UV~JS=>68`+tow`x zbM8z`4iMV|3xquRi1-y)=4{*zy0imi=eFk90`jMsOg$1&q|TqZ2|-1Mfup1aC|0v$ ziF*mg-!wU>W5Az@kKEH_`ls;}xMp<7}vrbixjEAW60z z)!j|s_r-Qhg|%zM%e+31Hbj@ARQJaFKj|9yI+}21dTi9v^ce!#dd*=4gYgA+)^}%9jcyK<6zbB0Q z5&P8pRz+b;P~%J7+oy#g6W$#)-R8m|r%Z*vncaA&Obuz&Q&&;AivrtRdJ0&HUI$*R zal8?;YUf|ZGVYe(5Iex+q<2vs$+$L?g88LhdDEr(Ek3DeLx&(jXvyd^H9C2dsNR^1 zCk*Vy@>Yb3yoN!_1$UrFEc>~Uav}=NXs`VBayIfo<>}#5(ZkJ`^A}6E*u*N&xLKSF zVcZsmwl%~c5KZO-$MjiNWK@^Mu=FE$`*jrt9UhPBKV18no>f%^Z-my34z1lM#1=6da>eO|R8zJR)8+=|9sdl+QntV^;(u_yi%kUbuv zkCN;7z$qzbD{<8>MLj~IXr9iU3*BWWE;=|KDIS2&DoBEzJFkarz`4>TrD0WqZi!qt zYImRM@4_86x5@nVl!VjyTtRlk?SwU-r@J`A=g$|FIhKaTKKtZ1-B8Ie4SCRJ^CxI) zwx8K2lvBbz@6_qu!N`Il`@ve4HSTCx5zs?{ zv4sI5PKR~{tJ8xHN#lVfigFP9?xyYz9vr3LI}Jf(W7g)zkfdEC&9C0_LX?+^@G_RU zKleb7u%Z9VCBlo>dt|X20c5iV(LB}J)y z?yMH)5?dx-f$-vq6pH4|I4%wa>IZ4N_ejV4!PkK^93(~PiY9s20$gXF6K@-z5C63E z4#`#q7FpuXe;KG!2qf0ZlK;jDs}QEb@FK;u_-%$m=@Coyr8m?@yxCC?^NnV}B6uOi z=Fo0>M1XfOx`@kYOlwr@UcF-1mIg00laTlA)N>ROk^`vQ0W9K%_to zgbF8hqh!USirh{a%7}#%DF(L;Z;VG>5Fz;|h|SE$&SE36j{2-mi=PyJRee3q8rf7Z zVG4-E+1$#95l`~0V+wflk+*GG@Q0nFN$5mXaSu>ZbeML7yG?4y%vZGg`xb(WGUiL2 z6h%ROh^Y0}K09aqnmn|@{Glv1dInu@Id}s}V&kPJBQwl6ur1h>;D7xmCg%)KQV(zS z`^CWCqhikx%nJs_pUrHUw7Rhana@y@$7Ig_iCtNdia$NWtxE#wO0fl?yEUa5JqcZI z15}BA@hQS4;hO%!OcJ~Utd+nI_|=orwQuE-SaSfCSg3$SO3Yof9|9H3z%3{Oe}T%K z=t~mbVzz40n**QmcgaIhIVw;rUOs$HF16l~J`l2#ZyiycUqcEr+aN@&A3=@A0n}Zh zL?iuJn>!yNMY#i})#Y%IUn_s=hbOzB@Nb>sr15*odKQ3AY1aTLa)Akx1~YARqAWWs zSl_cDmOwQl0UIg#;$Y>tl{mFdB}_L{kI_b!Cr<)Lb4YWXe!S}qb$XOWLeykXLDbRy zqp=wtMyU~3lN0V1$pf?y(N^zh9e+8^Pahe~58TORmm(SHpS+IwsIBqp^qHl}3^Yis zFk^S}dcDFbk@-YaXg0SFiYPc($gOql7}!FxiY6w9{0Zv0Hj|o1iUn6g)Y+giDu~)} z#{@;0&2&!6f`e|{4Q{y8qQce~f+Kgo#LMAxOhL{Wg-D1U`GNwyt4IGBTWRoo4|;GX zQmit3S{gm{_Y};yW2qass$|~yy#@_XwK1?wq;qmGK!3KA_=KPoB-Q1uCViPp}z1)4WOIryZ{nhP*g%h(NQ>lE*@3|FT zGbu2yAIOUr_eOn=IiEbZExy2L)`q0p{tH3(+aT;;FY-;QbQeC6(u;Yt%#Hb%hq)}E z$xar&>Fc2)JLe-Eoq)}U2-5zVj(aI{zDc8^Fe2bjQ3MLMi2vCGX>AmD?!ROhuGnEa z{pIx-`+VYMP?jtS{1ZMCD`B#rV;TyU6Eh*#B@PHVDL?lktN2Vqh{+|X>|<{I}jXyn_U>_x%X>~v@pR2 z2xDdI%;hllPT*FyoxBA0n>8S0uzD8CQvRdw7qvm!OmxmAAW;P!?TpNjYp*H5#{G9f zGtm2Uvl%M(PHOjys(&C(REYH3UVsQ3@g=q3;jIMcOaitS{ysO}?9N;Q^$rxvY^_Nk zj<0f%qz!^eN10==TA*djt!(ehbp~vbapOWGVmNL)fj!fexRJmXN;b;~<%SLDh=%%X zwSZD2|Dd?*BXYLz6v%>9dl(I*2Ml`XG80-K!LvHRXVb3=lL*8!cN%( zSs>k};#?RZ3KeN;gbVz9jWI7dC;zhVaC~nY5Nz|mH!+)3V7%~1V02FhnmT7>%)@^i zspJkYWgI4FCBt00oQl7fEOE7tlKZNADYC*h`5#bDR`d@;PVEZ6s#eZK$}Y`gtVgxk zPmDngWUUA;AF>I!So1#t(&uSq?j@T|1r3gMn$slvH|bky&Jn-9kBX=KI;I-)it$k3fE+#n z1TeJ6d+vMU4Dpr5V^QnRXma{ZT$7n6yTcsFh)qMlo`MveW~|sw!KNJ?!$e)Nua+@i zm_)&m+G+d`AmElQGUg1QbLAVeHcrLut}gk#(G27Tw1#v(YDl(4CiK31C@}2x#b({1 zrgy)E-~SfFUYPjF$@zj3M%s7V0Q44ej}PVn$`c1N1!6D3RNt7Fbvj6sHkt+5H=a*V zz&M?yq2V;!r=<+j=Uu<#|2@@yr}Yoy@Gqn?6dg@Y!WA$!%Mkbi12X?hZMt2C zFFdlNxnTq6o9-56;f@@EiERJF5nW-w%#h)h1!=M)b4HWWM0TfDLdk`ClwZlzceRbac&%6&sxEu!qijIlG}*8W@X2z~EZ9tTzM^+?raD zoBH~h{P#>$vGc;M@wx03>QAv0;^FJMF`VH&r08*hY%q>0K1+n(3zCuboTzsnHZ?nrpH?noTJcgS9glE>ABSCCTNL=1!K`D zsDv6?NgT#kPDC0RZw4*|uNqu(W7eNc@hJQ-RvI(n^#Rz9fiwDq&CUV;XRvx%+BNHF zN~2g2>aztjv5v<9fFZE}(;7$4P~Xx1OT*_OFYqG2VPYaZnfsYYv<{Y12Uj z^J9gmA%8{TGv7+d+VoIhzAou;X%Nx!N!YHuV;LKBGD~9Acjs>Ne7`+*a5lK>Br#@f z&2cPK<+8LI?ABKGCl}$-E2G|zH*0Kua_(AYgMth+DIxpFm_@wWTL0gZ_s~k*j9J(x zQWA}wZvxlfa0t-%=i^k3WyqL4^v&aa`=erp-IHl}C`R|3|9yb~$~iL_X+oD}KXagO zW_Tj~;{*vj?P3U+RBLd92+mRo;e;()+3K9|85`CL4#}427W2L0BMH`8ndQkvN?_32 zRL@$w0;ROrHAfpC6`fa}e-FRn-5j@AZ0QvkoP(1mxS?wwKUEQmY@uSTf^iLzH_)5) zayndf=xI2K9n}~z6u5zo+WR0OCllEeVt@~29uoIVm^;9n62}tcw3+8;E;h^#>Nu$x zvLPHbe{Nk)84yPA>(*Z`vI)J2h)RmD`gT_2ukS-C1CCvhx5&Qm=k${-LZ)S z)wqKw=ibCfYRE#nZfKSyQlah5^tG54oR8tsk8ph7tazl+e8yjj{4+NFs%c0fXE{c7 z^pWU_xW4&y$!Y($fva{4(Jlvg<*u4*%g;p~iFu9T3Q?!3vX$B;`Xti|aWGP{hHmoL zGj#@yKm?@z-3aQFEwOLaLqz$f7*`M$`>kmaW&J<4N481ZIUJ>z4ZP@#x$0#=lVJb0 ziZXfNpGHacr*E8E@30BStLDIFr7%axT~1zQ^)91K4uos-fOeV@eHfATmgxI4ilX9a z3=11hqu59NXkA^iZ{tKG$+A%pabkUwdRu%aqIU>g9E*=H{0NU9%DL~hH=c5MDG_!x zZ7`_#%dxs0hLaCI!AA#;UQ8-r(AZ@!W><#72+$!>oG;n&NVDwSaThrz*;@OX*O#6 z+@jx@=#<_%kOTMkdJ?Gy{UVy#^B9Us-0^35a^rMD+MvX&V&H9c672;?+!&io8wqy8 z<^1@o6@Vb*7Y9jms{E3&fw6r^?yqffWoFAoBtMG~0!2B~c--DHX~`En$ft3*i7icx$k~dl9}N+Z@$@CMm!;|x>8yt446@1y~Z`ESfg@Zv|9?FP-m*EcihJ9Q?i zq8?qMEjt%2&4FVb6v5i?XCAY0ecQrbAl(c(=(OrXb!O_+%ofWQPdz1!(r9c_LKjhN zrqn(oZMTg==0{6&?%g;UmY_=DEw{11bo(cFwccp`s~u0X@xKdBjA3Yv-GUCr;i%tz zG?%^8(Pbs3bt6;!7Y)%P+LDg8FFnP;TcLIi;B&5uf4$rdzC>pnsnW><=QjW3rq2e> z-H^l4<(PZP^NJkhx#uCj>l{n`Md>%BNGfyJ=gCK;P(&I{+aDuX^^R*ex3s#zu6pnb zg3YvANna;}{j2u~=`-ka=jGDa|JrXCrT|G(yoWb!KuNpW&`y z>>q+_OCvpjw1w44_-(v1jj<#@tdf2}52VH$cW7{;hHRT2Q>*HO3kfTYv5u#T9dYfm zZu)Tv8{?M{*PeM{Clj+b+920?dH9 zr=nYR>Gh0ifzCDweiXRccQgGo1buO%YbeZxfv3uF)@S1kJ2VHh=tgx~ zc(C=C{quLko_gfq311rNqC3GcayYeA!3D-}QGrog1PHbpi&%*VvCaNm?6Q~fk_vgd-6(hlr zr&aN{ltXj=JXa1&vszo(4{v3ygjO7_`_XqL>~8o`J3q-5(LTRW&tv@ChV1hSbKa&U zA=2?D+7>3UownAB=xj?GcUKHALR@QoDfY(!)c+F1oqz1+&K&44%C{}Yv~3ch|qnT}0< z_nR3F4)-@&irh3gC?!s%RkIZZRMjyDX|5LinhXkSHIXYs{419^@lrUJr6LADOLJ## zorP|W1zFZ!Ayi(E5h!tkItY)uq@?W8lrX!W_~c6WA;~fF zp#>OWITw>Ya^C7&owD#W)8F(U^_+!ul9^=qT0I?fnQRQb7vrq)w_5_HmYDO+s2u|`evK{X_8$_ zsph+bje6KD0R_oW|E6rs({5RE+y}tby2&~1uLt~azBIz*47Jr}?M!mzF4EB-A}PE9 zGsB5y*-~-IW_ZsCrDZ7}DwIJ>$S@_L4CO$FCflputfz87PgZz$u3XAadRZ6A4(fAQ z)%7$0CN0B%cXxgOp=pUzMkda~kzfP-3l4-GMBsfR>!0%YxSSy9EFXMu62=gzi`<9p z4W|t)Yn=C#bqJRBOK_vh-)zi%Y3_sUrFe~IoO8#akikT+#6LcarE2~i-kBO|uzfG{ z>2S&Tl3o-Hz{=rg{T+S{N6Cxd;?4V6OZodF5J-3n184aCC3QBo<&rzFp5^FXHzhcR zN__U&KeYw8 z>M47-L(m zVq7<&F>1C;om*!6XwyBN-FK`bG1qEhZ3dvF4v(Ju_<;u04wPp}ZEv z8XxWUc;ZkzSBYG6K1{w>;<9#MLs*bq;9}I#yg%Z$jkiywRKEH|LUrV^N(3K;HZy27 z1xLqyPPJY*#q$abzQHW!*u82sL&z5$E8(<_cjMdD{m9K zK*%lHq~rm&KnAnqz_^RPx!bAJ(SGIzp}lIpDK$D+i8FC_-VQfg zd72uX*rYQNo8%qGlzm_0WQUKJVV6niRSjk4Fc>97-Z~_EV{*FDU{s-Rw%(xr7fPs* z^rdbXX1NORT9@xv>YP9KD^i~#C($OP^L|Lv!(`&k=~gn>N;$Gx64Uc!<+=DQ?8PmU zWS=fSX~~HCp1I!0%5|9Z$>#wlmU-{F=M;0Zfvwv`S;#NlD}zYFdaPd9Dp?AkEh%wx^M%bGHMSr=5lVw=-MjS@@ zt~L$v4{X#*-cZ1+U~Zfs&o_8&DV_~cwOJFyF%l!W%_|jdp$TA-7c-->6nq zd?h?!*RHDE4J7xZE z?B-Nl^J^aN@=8UG!^4!go4ky;NMF9`z4w=0sAX%-cOQ^;TtT_|csDJvbMt z6za--^lGghk`IPl#(81AEACtMoEqghEBl)FU=oiK0`Cc!RdqTO^~sIeT+ye2d;k$z zm(GE`r9&Ax6_=Jl{bkjd(QP62S~cmp;dkm<-9PT@I3)P`GNf*0$IF3|W-?jeQ^KCt zF27u`c~ugS?=&U~GdRJpFBI%y#Z-6)5UMjX;3I#byS5ip>t zVM6Wv2@T5sp>}3cZvX7(#Xp;mi<<$B5i?)|N44h&`lN+J6H^83KR~6g*w4Z*ZQ<0V z&!Q&+00mh;j5i01%z@iA1&Eik1f)i)OSCSM_E@RKlFqkJJ27l~*TDvU(x7`Y$L{?< zI$RO+8j8hDRaO&LS;F3vM}Nppg};sasu3xJ@Oe?`&e9yKi>t783sf_l^vV)w5XyAl zS2)-d_$fwAcR__m;SXpQY^?im*misw*joQGv35A{#A%0i1Z}}#dNZ3GimLT?kU|Wx z;aW$#1PWv*zU;xiZ<{CKDc&cYsb85=QyJm+lFcZ&#GcOk$>=Q{$mG-PSH^=qLH&JO zRr4f&i|;Vf*WD>saMh84gd7?BY!x&z28^aR8uX zx&yBcWa)XnSlN^8J+{&VMO`W2L+n_wC60fDk+?CYG&W_MR|u_VzzFv|=(a_ZA|a$& zmRq5|rYvAODsxuPD`VC^h`%J!O!N0XPw*ymy?=luD*UMkC~*Gd!B+a`)vL4}Mtnsb zrI`}Ch?3sLNAR4{jZv+(P`xb>?Ei!gpiA!R8!o>&8$JV?BuBdj9Xaxt*P%x|PMz9) zGZ5Ic5uZ$BJO{f_z(Y;zQo(rbn%$EWY(SBX_*$3!Zr`_;K4o!h3mOE^VtLtCav5z)@WN2V!^lxsAe|h2 zte+ug6pN7y^@dkA?ihNjGY2bAiTMqC;Q59d^z-f4Q7sYWLJ$N|!K@^maX}{H=NSa5 z2_f;r9qzOtvdIyBfWEIgN1kk^>;XlvR(27(d;{vgz}+IulZ)=dl4<4jO5Md$^d%ik z!^|Z$j&k@+r!LSXbXNrSg#BkLBbFBx#o_CI#)>EwwBb{bF*vponHZ~{mJfPEdg7%^ z@$7QKEYiCdSwH6WAv7Bl*X|fgTcs&@hPPKCEV&ZAy&{i1HKaezkRFi{TQueR*L%i< zVEE0`vbQI`OFp?0EMeHxNSf{1!o|l<=gzKnJ6lY z3y4k;6yX$atHS9T>KgfFFye*X>t7-Qw-+CxmrMKPU?pcu<+l~Ha7e~cWQUah1;Oh1 zI5=qwM}w;z?&{Or&)i_X-da(JwpJGY{cr-A9^`d<)-btJsdYvc!24QWSCOcGk+ zfH?VkZg@*w8aRr9QqlSVitg+7e8GveB2Chf>JTb%_XnT>BmY zRN&}LXwLxfes4fgvYGpUAcAAm7?WJ{@wBImwV47N68vchYFD}(dKCvwf#&3}{&{^U zN(rg9Ywf0DPDF%g*sM{dBJ7CBXd4A0>{GDIDG_zE{s!Jyh`HCp&>;AC$S1A&(cFJc z@Dkq|;K#B>d)OUNPLu##M?&2>O{am%l!dxss#2qo%ht z=5%=HGiz49T6Z-qKQ-jcMFu=ft!=T$&#U&TqsWlo{$5=)boKKm2=0>8Y(j1`N`?_> zH~DrC68L{;9zL0{H%IAu9hy_vA=}~eohfyM23M`LSWV|nUtwHZ=9h^d0_R5g4_hT+ zaS2UR$*DUQzb!<^jIXZWjGel?3sHQ?Trc#chbrG8Mt7NsU?gCQkDs~ge?NVu+cP~8 zE+?XRu8uF?Oqh)2!(1Q}wwpIoe}pBNQBYF}m|+)=LB#O1Uc6>n(_`HeFZK0KSjB+Y zR%ZQL>xFZMQ!=9c=i>5YC&HnT>-5(q)lKJ4@NJ&cdWP4`3|a5~Y}v6@WC)x@YF`3o zT)dTO<_hel^tfU{T$3Pls4h-&eAC?zmv}$W_dc7o9gE&G>*n4aR(!8O-|UQ|tHD=N z$yUb3S+AIcWbEJXNVT4U=3V5(hBWmlZSU0Jua~KqwWcz*@4)a_;M(MBT(98U!n9Zu zvZg<)eadn;^O^Yz_R}jvo4Wqj(hJCg^=w)2`LFtoUlj}2|>r3QPqNDxD>cB>= z)Mln$05IJe-?N8rGTl58zFe(8=;2*QxpjhK_sEcK2OLtOV?KFF0`T$AtQwfCPtW{1 zl7=o&I>wcB*`Kx4%vWZ);Av4S6WEK8jI2&6H_ z@s-VgK5RtlBgu_geSvV}l|-+N|xa zZL9h)9>+@49>+!8`m{0z*uI;&wNqF@HO$g+#|BOk&|pywCuOgzjLffsC+Lh4$1Vks zhDxB73wIRmf6#ax%ylw1a#gPYaBKU3hGYQ8b{2$YIN6Y>1Wd2Y#^)1>Vs*ADq5WIT z20&n3`bUZgpkY)gz1##%q&ZJo@@%=o;IQqfpkXPj68OQ`5;wJzgr3WDKrX7fdF(!fkP}4>7b#QV@=v4{(vQ%?~b@d&wPFPu2Y|IP29ude~X7KNZ^k1Y@xN*Yg)LU3XrC z8<&WYA-hI6YH}tl715iYso9u^CpuiZRtuz12DF&sE{PF`@A9k3UU}`OL9g{srAC9+ zYRsT6y4EzzY^zU(gKnN8cn{Xj9Yb}V$o!3LDpYb4_dDChd^WZbBDA-JS-OeVSuc*h z5?A#MS1`OZ=`jPZk^VNKE79%8Os)roIN=?gb0L^4jYipsJ9W2(Zn7BTR$FOs)j94| z;waB(kz@2dM!jl^K_o$Ug~KL#mn!-cE#jbZIL$6$6MZuvZ!!@tB?X}yYY&R|jF=F2 zhkQknLNf=di4e|uX}vO_+CVrVzQlR!FZE@X0i`O|lngF3hqjrYUWQ1LaWd@%n;Us6 zDI7QNFhsw{>pVrsKTXuaZ!vNEpmx^-aOi+!;?B%H1>J8-4AkzqZlO;)ugg!1Ua=@G z$&wbUIZLDFySRM;zF{_ATW153iavy`hHA8cd(ngtXiD%S4y}c3ce2hY1#+e%;sKz3 zC~Gn7Mf4fcW5ncb6xi-zIkHuX*)Dd5pYlJ+(;Y0s~j?8&I4qgM!BKAFtTHm#$Qj10C|Mkr(n+)%-+p6}bW}dU4&_j7x0t>Y2rQ zlcW#`YCXZ_W_8p-Focn^^LD2pNqee_z%H4vVROI1H`+&h+PO3El-1xyp5H4zSQRQ- zNL{|AlU-u?Tayz_!GiPwExI&tC*#Y02#i>u55J2BNW5Va3rrc=p)z>i;L(+Hw>E+| z2(jBH83g_UfZf6F6nxjrL*5s^d+2g4fQk+2R-fu*!|+TqMxkHR>DVN*IR(3B&v{0k z8kBNpX(?&8sc0QX^FC{?FCig&pn{e2zfpt^>+As3(y&1@2S>V6U`TULsx(}4P~zf$ zVDvOXW`?2Svh4qu(&SQgh6!OGIrdLwf=3oBTNWFbTYG+h`V(j(+dY1rAMv`xvAhbQ zd|B8WfXZh=5B$R(f2XYEzAF(58O5tHSY@KA=#=8ZJXQb?uY7FLg*1<~W;0#iKZuRKr$8$GxbxA5exELb zwCM8xK+%?1aon{5mx%({dC0G?KYeS+Xv3z)Jkd8pAj)4+K*KfJt64K+C;6S!h@K@q)8b9GcdjELBQ7@~MqB1i0%6EY4Qa$AM zzmci`$PUixLn%~3o+3tq0^5Ac!(hpc-Yt&@RS2wuVY1yU3f&njvu%(gH_4&2GU`n< zf>966M&o-ncMpcM62;NW%u7hp`7r9a0a^B${{b?8`4VIZsKV)G9u8kgvf&AWP|)4zAClZjo!<<1P5D@OR2Y(06L#wr}&+Jm7%r}NaJHa2H%!^f~w{|pN2AvLGa~yMK zf=;^52Z>EG$)QV{!i(ng<%_)Z<2{=;X1+eNk4ihxp6ck zv7aboO-xS`t&Lz`7`{1QLLS9~8?%{cltX#1gMO>7|*5E7Enl ziL`+|ol2>e3iQ`O-CrcUT#()DoM|6Eph5NruZ{Jth!VbMvI%P44FIn^mTbglAw%

    W@rN0l0 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%0D{jPw?clJD(Oe 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

    W@rN0l0 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%0D{jPw?clJD(Oe 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