From f642b7c8cd2ad49f3c9fe90ab232c63da7f73e3b Mon Sep 17 00:00:00 2001 From: lxf <2974586501@qq.com> Date: Tue, 29 Apr 2025 22:20:37 +0800 Subject: [PATCH] 1.0 --- .idea/.gitignore | 8 + .idea/Nursing-home-management-system.iml | 9 + .idea/inspectionProfiles/Project_Default.xml | 6 + .idea/misc.xml | 6 + .idea/modules.xml | 8 + .idea/prettier.xml | 6 + .idea/vcs.xml | 6 + client/.browserslistrc | 4 + client/.cz-config.js | 31 + client/.editorconfig | 15 + client/.eslintrc.js | 28 + client/.gitignore | 23 + client/.husky/commit-msg | 4 + client/.husky/pre-commit | 4 + client/.prettierignore | 9 + client/.prettierrc.js | 53 + client/README.md | 29 + client/auto-imports.d.ts | 5 + client/babel.config.js | 3 + client/commitlint.config.js | 26 + client/components.d.ts | 67 + client/env.development | 2 + client/env.production | 2 + client/env.test | 2 + client/package-lock.json | 27941 ++++++++++++++++ client/package.json | 72 + client/postcss.config.js | 7 + client/public/favicon.ico | Bin 0 -> 4286 bytes client/public/index.html | 21 + client/public/logo.ico | Bin 0 -> 267230 bytes client/src/App.vue | 18 + client/src/apis/accident.ts | 80 + client/src/apis/bedPanorama.ts | 30 + client/src/apis/bookManage.ts | 86 + client/src/apis/build.ts | 180 + client/src/apis/cateringSet.ts | 71 + client/src/apis/checkContract.ts | 131 + client/src/apis/consume.ts | 16 + client/src/apis/depositRecharge.ts | 41 + client/src/apis/dishes.ts | 104 + client/src/apis/elderRecord.ts | 78 + client/src/apis/home.ts | 25 + client/src/apis/index.ts | 16 + client/src/apis/nurseGrade.ts | 82 + client/src/apis/nurseReserve.ts | 75 + client/src/apis/order.ts | 85 + client/src/apis/outward.ts | 107 + client/src/apis/retreatApply.ts | 36 + client/src/apis/retreatAudit.ts | 46 + client/src/apis/roomType.ts | 55 + client/src/apis/service.ts | 114 + client/src/apis/soldManage.ts | 233 + client/src/apis/source.ts | 54 + client/src/apis/staff.ts | 69 + client/src/apis/user.ts | 60 + client/src/apis/visit.ts | 94 + client/src/assets/imgs/bg.png | Bin 0 -> 17468 bytes client/src/assets/imgs/computer.svg | 1 + client/src/assets/imgs/img.png | Bin 0 -> 258870 bytes client/src/assets/imgs/img_1.png | Bin 0 -> 135223 bytes client/src/assets/imgs/img_2.png | Bin 0 -> 29433 bytes client/src/assets/imgs/logo.png | Bin 0 -> 228686 bytes client/src/assets/imgs/man.png | Bin 0 -> 66778 bytes client/src/assets/imgs/women.png | Bin 0 -> 54998 bytes .../components/Grid/components/GridItem.vue | 74 + client/src/components/Grid/index.vue | 176 + client/src/components/Grid/interface/index.ts | 6 + client/src/components/IconPark/index.vue | 27 + .../ProTable/components/ColSetting.vue | 60 + .../ProTable/components/Pagination.vue | 29 + .../ProTable/components/TableColumn.vue | 74 + client/src/components/ProTable/index.md | 87 + client/src/components/ProTable/index.vue | 335 + .../components/ProTable/interface/index.ts | 49 + client/src/components/ReImageVerify/index.ts | 6 + .../src/components/ReImageVerify/src/hooks.ts | 85 + .../components/ReImageVerify/src/index.vue | 42 + .../SearchForm/components/SearchFormItem.vue | 107 + client/src/components/SearchForm/index.vue | 109 + client/src/components/SvgIcon/index.vue | 36 + .../src/components/elderListDialog/index.vue | 86 + client/src/components/my-card/my-card.vue | 20 + client/src/components/treeDialog/index.vue | 60 + client/src/components/upload/image/index.vue | 146 + .../wen-test/DynamicAdditionComponent.vue | 38 + client/src/hooks/interface/index.ts | 27 + client/src/hooks/useHandleData.ts | 34 + client/src/hooks/useIcons.ts | 14 + client/src/hooks/useSelection.ts | 36 + client/src/hooks/useTabList.ts | 98 + client/src/hooks/useTable.ts | 174 + client/src/icons/index.ts | 15 + client/src/icons/svg/base.svg | 1 + client/src/icons/svg/charge.svg | 1 + client/src/icons/svg/check.svg | 1 + client/src/icons/svg/diet.svg | 1 + client/src/icons/svg/exit-fullscreen.svg | 1 + client/src/icons/svg/fullscreen.svg | 1 + client/src/icons/svg/guide.svg | 1 + client/src/icons/svg/home.svg | 1 + client/src/icons/svg/lang.svg | 1 + client/src/icons/svg/live.svg | 1 + client/src/icons/svg/lock.svg | 1 + client/src/icons/svg/logout.svg | 1 + client/src/icons/svg/menu-fold.svg | 1 + client/src/icons/svg/password.svg | 1 + client/src/icons/svg/people.svg | 1 + client/src/icons/svg/refreash.svg | 1 + client/src/icons/svg/resource.svg | 7 + client/src/icons/svg/sale.svg | 1 + client/src/icons/svg/search.svg | 1 + client/src/icons/svg/serve.svg | 1 + client/src/icons/svg/setting.svg | 1 + client/src/icons/svg/user.svg | 1 + client/src/icons/svg/verify.svg | 1 + .../components/NavBar/components/Avatar.vue | 206 + .../NavBar/components/Breadcrumb.vue | 44 + client/src/layout/components/NavBar/index.vue | 33 + .../SideBar/components/MenuFold.vue | 41 + .../SideBar/components/MenuItem.vue | 79 + .../src/layout/components/SideBar/index.vue | 90 + client/src/layout/components/Tags/index.vue | 17 + client/src/layout/index.vue | 75 + client/src/main.ts | 24 + client/src/mock/getters.ts | 41 + client/src/mock/index.ts | 5 + client/src/mock/routes.ts | 486 + client/src/mock/users.ts | 17 + client/src/plugins/element-plus/index.ts | 11 + client/src/plugins/index.ts | 3 + client/src/router/index.ts | 62 + client/src/router/types.ts | 14 + client/src/router/utils.ts | 81 + client/src/shims-vue.d.ts | 11 + client/src/store/index.ts | 29 + client/src/store/modules/app/index.ts | 91 + client/src/store/modules/app/types.ts | 11 + client/src/store/modules/soldManage/index.ts | 9 + client/src/store/modules/soldManage/types.ts | 0 client/src/store/types.ts | 5 + client/src/store/utils.ts | 70 + client/src/styles/base.scss | 0 client/src/styles/element.scss | 222 + client/src/styles/element/index.scss | 0 client/src/styles/index.scss | 9 + client/src/styles/login.scss | 73 + client/src/styles/mixin.scss | 28 + client/src/styles/navbar.scss | 19 + client/src/styles/reset.scss | 61 + client/src/styles/sidebar.scss | 298 + client/src/styles/theme.scss | 15 + client/src/styles/transition.scss | 31 + client/src/styles/variables.module.scss | 24 + client/src/styles/variables.module.scss.d.ts | 12 + client/src/types/global.d.ts | 11 + client/src/types/vuex.d.ts | 12 + client/src/utils/commonUtil.ts | 74 + client/src/utils/formRules.ts | 117 + client/src/utils/http/index.ts | 35 + client/src/utils/index.ts | 3 + client/src/utils/is/index.ts | 174 + client/src/utils/types.ts | 0 client/src/utils/util.ts | 37 + client/src/views/base/activity/index.vue | 9 + client/src/views/base/index.vue | 7 + .../src/views/base/live/flat/dialog/bed.vue | 151 + .../src/views/base/live/flat/dialog/build.vue | 161 + .../src/views/base/live/flat/dialog/floor.vue | 167 + .../src/views/base/live/flat/dialog/room.vue | 191 + client/src/views/base/live/flat/index.vue | 363 + client/src/views/base/live/index.vue | 7 + client/src/views/base/live/room/index.vue | 119 + .../views/base/live/room/roomDialog/index.vue | 154 + client/src/views/base/sale/index.vue | 7 + client/src/views/base/sale/origin/index.vue | 118 + .../base/sale/origin/originDialog/index.vue | 139 + client/src/views/base/sale/tag/index.vue | 9 + .../views/charge/audit/auditDialog/index.vue | 222 + client/src/views/charge/audit/index.vue | 90 + client/src/views/charge/index.vue | 7 + client/src/views/charge/prestore/index.vue | 83 + .../charge/prestore/prestoreDialog/index.vue | 134 + client/src/views/charge/record/index.vue | 66 + .../views/diet/dish/dialog/dishesDialog.vue | 182 + .../diet/dish/dialog/dishesTypeDialog.vue | 132 + client/src/views/diet/dish/index.vue | 243 + client/src/views/diet/index.vue | 7 + client/src/views/diet/order/index.vue | 95 + .../views/diet/order/orderDialog/index.vue | 335 + client/src/views/diet/package/index.vue | 119 + .../packageDialog/dishesListDialog.vue | 100 + .../diet/package/packageDialog/index.vue | 251 + client/src/views/error/404.vue | 51 + client/src/views/home/clientSource.vue | 9 + client/src/views/home/index.vue | 26 + client/src/views/home/monthPerformance.vue | 74 + client/src/views/home/soldBed.vue | 46 + client/src/views/home/todayOverview.vue | 57 + client/src/views/home/todaySold.vue | 48 + client/src/views/home/trend.vue | 67 + .../live/accident/accidentDialog/index.vue | 235 + client/src/views/live/accident/index.vue | 120 + client/src/views/live/apply/index.vue | 88 + client/src/views/live/bed/index.vue | 182 + .../views/live/enter/enterDialog/index.vue | 516 + client/src/views/live/enter/index.vue | 124 + client/src/views/live/index.vue | 7 + client/src/views/live/leave/index.vue | 160 + .../views/live/leave/outwardDialog/index.vue | 280 + client/src/views/live/visitor/index.vue | 154 + .../views/live/visitor/visitDialog/index.vue | 241 + .../login/components/ForgetPassModel.vue | 246 + .../src/views/login/components/LoginModel.vue | 191 + client/src/views/login/index.vue | 42 + client/src/views/people/activity/activity.vue | 9 + client/src/views/people/index.vue | 7 + client/src/views/people/old/index.vue | 145 + .../src/views/people/old/oldDialog/index.vue | 398 + client/src/views/people/staff/index.vue | 131 + .../views/people/staff/staffDialog/index.vue | 277 + client/src/views/resource/enter/index.vue | 9 + client/src/views/resource/index.vue | 7 + client/src/views/resource/info/index.vue | 9 + client/src/views/resource/leave/index.vue | 9 + client/src/views/resource/search/index.vue | 9 + client/src/views/resource/storage/index.vue | 9 + .../src/views/sale/book/bookDialog/index.vue | 359 + client/src/views/sale/book/index.vue | 126 + .../sale/counsel/counselDialog/index.vue | 339 + client/src/views/sale/counsel/index.vue | 176 + client/src/views/sale/index.vue | 7 + .../sale/intention/counselDialog/index.vue | 255 + client/src/views/sale/intention/index.vue | 167 + .../src/views/serve/book/bookDialog/index.vue | 262 + client/src/views/serve/book/index.vue | 95 + client/src/views/serve/index.vue | 7 + client/src/views/serve/level/index.vue | 132 + .../views/serve/level/levelDialog/index.vue | 267 + .../level/levelDialog/serviceListDialog.vue | 102 + .../serve/project/dialog/serviceDialog.vue | 215 + .../project/dialog/serviceTypeDialog.vue | 145 + client/src/views/serve/project/index.vue | 251 + client/tailwind.config.js | 27 + client/tsconfig.json | 30 + client/vue.config.js | 102 + client/yarn.lock | 8917 +++++ server/.gitignore | 33 + server/.mvn/wrapper/maven-wrapper.jar | Bin 0 -> 58727 bytes server/.mvn/wrapper/maven-wrapper.properties | 2 + server/hs_err_pid13472.log | 850 + server/hs_err_pid7524.log | 846 + server/mvnw | 316 + server/mvnw.cmd | 188 + server/pom.xml | 171 + .../ew/gerocomium/GerocomiumApplication.java | 15 + .../exception/BusinessRuntimeException.java | 22 + .../BusinessRuntimeExceptionAdvice.java | 80 + .../common/config/file/FileTempPath.java | 157 + .../file/FileUploadConfigPropertity.java | 19 + .../mybatisplus/MetaObjectHandlerImpl.java | 86 + .../common/config/quartz/QuartzConfig.java | 60 + .../common/config/quartz/QuartzJob.java | 37 + .../config/redis/FastJsonRedisSerializer.java | 53 + .../common/config/redis/RedisConfig.java | 30 + .../security/config/SecurityConfig.java | 81 + .../security/entity/LoginUserDetails.java | 62 + .../filter/JwtAuthenticationTokenFilter.java | 91 + .../handler/AccessDeniedHandlerImpl.java | 23 + .../handler/AuthenticationEntryPointImpl.java | 23 + .../security/handler/AuthorityAssert.java | 36 + .../security/handler/PasswordEncoderImpl.java | 21 + .../service/UserDetailsServiceImpl.java | 50 + .../common/config/swagger/SwaggerConfig.java | 40 + .../common/config/web/IgnoreConfig.java | 15 + .../common/config/web/WebMvcConfig.java | 46 + .../gerocomium/common/constant/AuditEnum.java | 16 + .../gerocomium/common/constant/BedEnum.java | 15 + .../common/constant/ChargeEnum.java | 14 + .../gerocomium/common/constant/CheckEnum.java | 18 + .../gerocomium/common/constant/CodeEnum.java | 14 + .../gerocomium/common/constant/Constant.java | 68 + .../common/constant/ConsumeEnum.java | 13 + .../common/constant/ExceptionEnum.java | 129 + .../gerocomium/common/constant/MarkEnum.java | 14 + .../common/constant/RecipientEnum.java | 13 + .../gerocomium/common/constant/VisitEnum.java | 13 + .../gerocomium/common/constant/YesNoEnum.java | 14 + .../ew/gerocomium/common/util/AesUtil.java | 67 + .../ew/gerocomium/common/util/AssertUtil.java | 64 + .../common/util/ClassJavaToTSUtil.java | 63 + .../ew/gerocomium/common/util/CommonUtil.java | 142 + .../gerocomium/common/util/DateUtilWen.java | 256 + .../common/util/EntityCodeGeneratorUtil.java | 95 + .../ew/gerocomium/common/util/ExcelUtil.java | 177 + .../common/util/JavaToTsConverter.java | 66 + .../ew/gerocomium/common/util/JwtUtil.java | 53 + .../ew/gerocomium/common/util/PageUtil.java | 71 + .../ew/gerocomium/common/util/RedisUtil.java | 218 + .../gerocomium/common/util/ResponseUtil.java | 34 + .../gerocomium/common/util/SendEmailUtil.java | 37 + .../controller/AccidentController.java | 83 + .../controller/AccountController.java | 54 + .../controller/ActiveController.java | 70 + .../controller/ActiveTypeController.java | 58 + .../controller/BedPanoramaController.java | 43 + .../controller/BuildController.java | 139 + .../controller/CateringSetController.java | 76 + .../controller/CheckContractController.java | 115 + .../controller/ConsultController.java | 78 + .../controller/ConsumeController.java | 33 + .../controller/DepositRechargeController.java | 46 + .../controller/DishesController.java | 94 + .../controller/ElderRecordController.java | 71 + .../gerocomium/controller/FileController.java | 32 + .../gerocomium/controller/HomeController.java | 57 + .../controller/IntentionController.java | 140 + .../controller/InventoryController.java | 41 + .../controller/LabelController.java | 85 + .../controller/MaterialController.java | 92 + .../controller/NurseGradeController.java | 73 + .../controller/NurseReserveController.java | 75 + .../controller/OrderController.java | 86 + .../controller/OutboundRecordController.java | 99 + .../controller/OutwardController.java | 99 + .../controller/ReserveController.java | 72 + .../controller/RetreatApplyController.java | 45 + .../controller/RetreatAuditController.java | 44 + .../controller/RoomTypeController.java | 58 + .../controller/ServiceProjectController.java | 92 + .../controller/SourceController.java | 58 + .../controller/StaffController.java | 65 + .../controller/VisitController.java | 74 + .../controller/WarehouseController.java | 64 + .../controller/WarehouseRecordController.java | 82 + .../ew/gerocomium/dao/base/BaseEntity.java | 42 + .../ew/gerocomium/dao/base/BuildingVo.java | 63 + .../com/ew/gerocomium/dao/base/DropDown.java | 14 + .../ew/gerocomium/dao/base/PageResult.java | 43 + .../java/com/ew/gerocomium/dao/base/Rank.java | 10 + .../com/ew/gerocomium/dao/base/Result.java | 69 + .../gerocomium/dao/mapper/AccidentMapper.java | 36 + .../gerocomium/dao/mapper/ActiveMapper.java | 32 + .../dao/mapper/ActiveParticipantMapper.java | 26 + .../dao/mapper/ActiveTypeMapper.java | 16 + .../ew/gerocomium/dao/mapper/AuthMapper.java | 25 + .../dao/mapper/BaseAttachmentMapper.java | 16 + .../ew/gerocomium/dao/mapper/BedMapper.java | 24 + .../gerocomium/dao/mapper/BuildingMapper.java | 16 + .../dao/mapper/CateringSetMapper.java | 16 + .../dao/mapper/CommunicationRecordMapper.java | 16 + .../gerocomium/dao/mapper/ConsultMapper.java | 42 + .../gerocomium/dao/mapper/ConsumeMapper.java | 32 + .../gerocomium/dao/mapper/ContractMapper.java | 27 + .../dao/mapper/DepositInfoMapper.java | 16 + .../gerocomium/dao/mapper/DishesMapper.java | 35 + .../dao/mapper/DishesTypeMapper.java | 16 + .../dao/mapper/DrugDepositMapper.java | 16 + .../dao/mapper/ElderLabelMapper.java | 16 + .../ew/gerocomium/dao/mapper/ElderMapper.java | 58 + .../dao/mapper/EmergencyContactMapper.java | 26 + .../dao/mapper/FamilyMemberMapper.java | 16 + .../ew/gerocomium/dao/mapper/FloorMapper.java | 16 + .../dao/mapper/HealthDataMapper.java | 16 + .../dao/mapper/HealthInfoMapper.java | 16 + .../ew/gerocomium/dao/mapper/LabelMapper.java | 26 + .../dao/mapper/LabelTypeMapper.java | 16 + .../gerocomium/dao/mapper/MaterialMapper.java | 27 + .../dao/mapper/MaterialTypeMapper.java | 16 + .../gerocomium/dao/mapper/MedicineMapper.java | 16 + .../dao/mapper/MedicineRecordMapper.java | 16 + .../dao/mapper/MedicineSetMapper.java | 16 + .../dao/mapper/NurseGradeMapper.java | 16 + .../dao/mapper/NurseGroupMapper.java | 16 + .../dao/mapper/NurseGroupMemberMapper.java | 16 + .../dao/mapper/NurseItemMapper.java | 26 + .../ew/gerocomium/dao/mapper/NurseMapper.java | 16 + .../dao/mapper/NurseReserveMapper.java | 27 + .../dao/mapper/OrderDishesMapper.java | 16 + .../ew/gerocomium/dao/mapper/OrderMapper.java | 36 + .../dao/mapper/OutboundMaterialMapper.java | 35 + .../dao/mapper/OutboundRecordMapper.java | 41 + .../gerocomium/dao/mapper/OutwardMapper.java | 41 + .../gerocomium/dao/mapper/ReserveMapper.java | 47 + .../dao/mapper/RetreatApplyMapper.java | 36 + .../gerocomium/dao/mapper/RetreatMapper.java | 16 + .../gerocomium/dao/mapper/RoleAuthMapper.java | 16 + .../ew/gerocomium/dao/mapper/RoleMapper.java | 16 + .../ew/gerocomium/dao/mapper/RoomMapper.java | 16 + .../gerocomium/dao/mapper/RoomTypeMapper.java | 16 + .../dao/mapper/ServiceItemMapper.java | 16 + .../dao/mapper/ServiceTypeMapper.java | 16 + .../dao/mapper/SetDishesMapper.java | 26 + .../gerocomium/dao/mapper/SourceMapper.java | 16 + .../ew/gerocomium/dao/mapper/StaffMapper.java | 27 + .../ew/gerocomium/dao/mapper/VisitMapper.java | 36 + .../dao/mapper/VisitPlanMapper.java | 16 + .../dao/mapper/WarehouseMapper.java | 27 + .../dao/mapper/WarehouseMaterialMapper.java | 63 + .../dao/mapper/WarehouseRecordMapper.java | 41 + .../com/ew/gerocomium/dao/po/Accident.java | 56 + .../java/com/ew/gerocomium/dao/po/Active.java | 76 + .../gerocomium/dao/po/ActiveParticipant.java | 35 + .../com/ew/gerocomium/dao/po/ActiveType.java | 35 + .../java/com/ew/gerocomium/dao/po/Auth.java | 65 + .../ew/gerocomium/dao/po/BaseAttachment.java | 60 + .../java/com/ew/gerocomium/dao/po/Bed.java | 45 + .../com/ew/gerocomium/dao/po/Building.java | 40 + .../com/ew/gerocomium/dao/po/CateringSet.java | 41 + .../dao/po/CommunicationRecord.java | 46 + .../com/ew/gerocomium/dao/po/Consult.java | 66 + .../com/ew/gerocomium/dao/po/Consume.java | 50 + .../com/ew/gerocomium/dao/po/Contract.java | 51 + .../com/ew/gerocomium/dao/po/DepositInfo.java | 50 + .../java/com/ew/gerocomium/dao/po/Dishes.java | 46 + .../com/ew/gerocomium/dao/po/DishesType.java | 35 + .../com/ew/gerocomium/dao/po/DrugDeposit.java | 45 + .../java/com/ew/gerocomium/dao/po/Elder.java | 82 + .../com/ew/gerocomium/dao/po/ElderLabel.java | 35 + .../gerocomium/dao/po/EmergencyContact.java | 55 + .../ew/gerocomium/dao/po/FamilyMember.java | 70 + .../java/com/ew/gerocomium/dao/po/Floor.java | 45 + .../com/ew/gerocomium/dao/po/HealthData.java | 130 + .../com/ew/gerocomium/dao/po/HealthInfo.java | 75 + .../java/com/ew/gerocomium/dao/po/Label.java | 45 + .../com/ew/gerocomium/dao/po/LabelType.java | 35 + .../com/ew/gerocomium/dao/po/Material.java | 46 + .../ew/gerocomium/dao/po/MaterialType.java | 35 + .../com/ew/gerocomium/dao/po/Medicine.java | 55 + .../ew/gerocomium/dao/po/MedicineRecord.java | 46 + .../com/ew/gerocomium/dao/po/MedicineSet.java | 40 + .../java/com/ew/gerocomium/dao/po/Nurse.java | 66 + .../com/ew/gerocomium/dao/po/NurseGrade.java | 46 + .../com/ew/gerocomium/dao/po/NurseGroup.java | 40 + .../gerocomium/dao/po/NurseGroupMember.java | 35 + .../com/ew/gerocomium/dao/po/NurseItem.java | 35 + .../ew/gerocomium/dao/po/NurseReserve.java | 80 + .../java/com/ew/gerocomium/dao/po/Order.java | 66 + .../com/ew/gerocomium/dao/po/OrderDishes.java | 59 + .../gerocomium/dao/po/OutboundMaterial.java | 42 + .../ew/gerocomium/dao/po/OutboundRecord.java | 67 + .../com/ew/gerocomium/dao/po/Outward.java | 63 + .../com/ew/gerocomium/dao/po/Reserve.java | 62 + .../com/ew/gerocomium/dao/po/Retreat.java | 45 + .../ew/gerocomium/dao/po/RetreatApply.java | 35 + .../java/com/ew/gerocomium/dao/po/Role.java | 30 + .../com/ew/gerocomium/dao/po/RoleAuth.java | 35 + .../java/com/ew/gerocomium/dao/po/Room.java | 50 + .../com/ew/gerocomium/dao/po/RoomType.java | 41 + .../com/ew/gerocomium/dao/po/ServiceItem.java | 54 + .../com/ew/gerocomium/dao/po/ServiceType.java | 35 + .../com/ew/gerocomium/dao/po/SetDishes.java | 35 + .../java/com/ew/gerocomium/dao/po/Source.java | 35 + .../java/com/ew/gerocomium/dao/po/Staff.java | 81 + .../java/com/ew/gerocomium/dao/po/Visit.java | 71 + .../com/ew/gerocomium/dao/po/VisitPlan.java | 56 + .../com/ew/gerocomium/dao/po/Warehouse.java | 40 + .../gerocomium/dao/po/WarehouseMaterial.java | 56 + .../ew/gerocomium/dao/po/WarehouseRecord.java | 56 + .../dao/query/AddAccidentQuery.java | 14 + .../query/AddCommunicationRecordQuery.java | 16 + .../dao/query/AddNurseReserveQuery.java | 26 + .../gerocomium/dao/query/AddOrderQuery.java | 29 + .../dao/query/AddOutboundRecordQuery.java | 35 + .../gerocomium/dao/query/AddOutwardQuery.java | 22 + .../gerocomium/dao/query/AddReserveQuery.java | 36 + .../dao/query/AddVisitPlanQuery.java | 16 + .../gerocomium/dao/query/AddVisitQuery.java | 14 + .../dao/query/AddWarehouseRecordQuery.java | 35 + .../dao/query/AuditElderFeeQuery.java | 16 + .../dao/query/AuditOutboundRecordQuery.java | 14 + .../dao/query/AuditWarehouseRecordQuery.java | 14 + .../dao/query/ClientSourceQuery.java | 14 + .../dao/query/CompleteVisitPlanQuery.java | 16 + .../dao/query/DelayReturnQuery.java | 14 + .../gerocomium/dao/query/DeleteNodeQuery.java | 14 + .../dao/query/EditAccidentQuery.java | 20 + .../query/EditCommunicationRecordQuery.java | 16 + .../dao/query/EditElderLabelQuery.java | 16 + .../ew/gerocomium/dao/query/EditQuery.java | 14 + .../gerocomium/dao/query/EditVisitQuery.java | 22 + .../dao/query/ExecuteNurseReserveQuery.java | 18 + .../ew/gerocomium/dao/query/ForgetQuery.java | 16 + .../GetConsultByConsultIdAndElderIdQuery.java | 14 + .../GetReserveByReserveIdAndElderIdQuery.java | 14 + .../dao/query/ListRoomByKeyQuery.java | 16 + .../ew/gerocomium/dao/query/LoginQuery.java | 14 + .../dao/query/OperateActiveQuery.java | 34 + .../dao/query/OperateActiveTypeQuery.java | 14 + .../gerocomium/dao/query/OperateBedQuery.java | 18 + .../dao/query/OperateBuildingQuery.java | 16 + .../dao/query/OperateCateringSetQuery.java | 21 + .../dao/query/OperateCheckContractQuery.java | 57 + .../dao/query/OperateConsultQuery.java | 40 + .../dao/query/OperateDishesQuery.java | 20 + .../dao/query/OperateDishesTypeQuery.java | 14 + .../dao/query/OperateFloorQuery.java | 20 + .../dao/query/OperateIntentionQuery.java | 24 + .../dao/query/OperateLabelQuery.java | 18 + .../dao/query/OperateLabelTypeQuery.java | 14 + .../dao/query/OperateMaterialQuery.java | 20 + .../dao/query/OperateMaterialTypeQuery.java | 14 + .../dao/query/OperateNurseGradeQuery.java | 23 + .../dao/query/OperateRoomQuery.java | 22 + .../dao/query/OperateRoomTypeQuery.java | 18 + .../dao/query/OperateServiceQuery.java | 24 + .../dao/query/OperateServiceTypeQuery.java | 14 + .../dao/query/OperateSourceQuery.java | 14 + .../dao/query/OperateStaffQuery.java | 30 + .../dao/query/OperateWarehouseQuery.java | 16 + .../dao/query/PageAccidentByKeyQuery.java | 18 + .../dao/query/PageActiveByKeyQuery.java | 22 + .../dao/query/PageActiveTypeByKeyQuery.java | 16 + .../dao/query/PageBedByKeyQuery.java | 22 + .../dao/query/PageCateringSetByKeyQuery.java | 16 + .../query/PageCheckContractByKeyQuery.java | 20 + .../query/PageCommunicationRecordQuery.java | 16 + .../dao/query/PageConsultByKeyQuery.java | 30 + .../dao/query/PageConsumeByKeyQuery.java | 20 + .../query/PageDepositRechargeByKeyQuery.java | 20 + .../dao/query/PageDishesByKeyQuery.java | 18 + .../dao/query/PageElderByKeyQuery.java | 20 + .../dao/query/PageIntentionByKeyQuery.java | 20 + .../dao/query/PageInventoryByKeyQuery.java | 18 + .../dao/query/PageMaterialByKeyQuery.java | 18 + .../dao/query/PageNurseGradeByKeyQuery.java | 18 + .../dao/query/PageNurseReserveByKeyQuery.java | 20 + .../dao/query/PageOrderByKeyQuery.java | 18 + .../query/PageOutboundRecordByKeyQuery.java | 24 + .../dao/query/PageOutwardByKeyQuery.java | 22 + .../dao/query/PageReserveByKeyQuery.java | 18 + .../dao/query/PageRetreatApplyQuery.java | 14 + .../dao/query/PageRetreatAuditQuery.java | 20 + .../dao/query/PageRoomTypeByKeyQuery.java | 18 + .../dao/query/PageSearchElderByKeyQuery.java | 18 + .../PageSearchEmergencyContactQuery.java | 16 + .../dao/query/PageSearchStaffByKeyQuery.java | 18 + .../dao/query/PageServiceByKeyQuery.java | 18 + .../dao/query/PageSourceByKeyQuery.java | 16 + .../dao/query/PageStaffByKeyQuery.java | 20 + .../dao/query/PageVisitByKeyQuery.java | 22 + .../dao/query/PageVisitPlanQuery.java | 18 + .../dao/query/PageWarehouseByKeyQuery.java | 16 + .../PageWarehouseMaterialByKeyQuery.java | 18 + .../query/PageWarehouseRecordByKeyQuery.java | 24 + .../gerocomium/dao/query/RechargeQuery.java | 16 + .../dao/query/RecordLeaveQuery.java | 14 + .../dao/query/RecordReturnQuery.java | 14 + .../gerocomium/dao/query/SendCodeQuery.java | 14 + .../gerocomium/dao/query/SendOrderQuery.java | 16 + .../dao/vo/AccompanyingPersonVo.java | 14 + .../ew/gerocomium/dao/vo/AvailableBedVo.java | 16 + .../ew/gerocomium/dao/vo/BusinessTrendVo.java | 16 + .../ew/gerocomium/dao/vo/ClientSourceVo.java | 14 + .../vo/ExpireContractEmergencyContactVo.java | 14 + .../gerocomium/dao/vo/ExpireContractVo.java | 20 + .../ew/gerocomium/dao/vo/ExpireReserveVo.java | 20 + .../com/ew/gerocomium/dao/vo/FileInfoVo.java | 14 + .../gerocomium/dao/vo/GetAccidentByIdVo.java | 24 + .../ew/gerocomium/dao/vo/GetActiveByIdVo.java | 28 + .../ew/gerocomium/dao/vo/GetBedByIdVo.java | 20 + .../dao/vo/GetCateringSetByIdVo.java | 32 + .../dao/vo/GetCheckContractByIdVo.java | 8 + .../vo/GetConsultByConsultIdAndElderIdVo.java | 8 + .../dao/vo/GetEditElderLabelByIdVo.java | 27 + .../gerocomium/dao/vo/GetElderFeeByIdVo.java | 49 + .../dao/vo/GetElderLabelByIdLabelVo.java | 18 + .../dao/vo/GetElderRecordByIdVo.java | 33 + .../dao/vo/GetNurseGradeByIdVo.java | 22 + .../ew/gerocomium/dao/vo/GetOrderByIdVo.java | 47 + .../dao/vo/GetOutboundRecordByIdVo.java | 45 + .../gerocomium/dao/vo/GetOutwardByIdVo.java | 26 + .../vo/GetReserveByReserveIdAndElderIdVo.java | 36 + .../ew/gerocomium/dao/vo/GetVisitByIdVo.java | 26 + .../dao/vo/GetWarehouseRecordByIdVo.java | 39 + .../com/ew/gerocomium/dao/vo/ListLabelVo.java | 31 + .../com/ew/gerocomium/dao/vo/LoginUserVo.java | 32 + .../dao/vo/MonthPerformanceRankVo.java | 39 + .../dao/vo/OperateActiveTypeVo.java | 8 + .../ew/gerocomium/dao/vo/OperateBedVo.java | 8 + .../gerocomium/dao/vo/OperateBuildingVo.java | 8 + .../ew/gerocomium/dao/vo/OperateDishesVo.java | 8 + .../ew/gerocomium/dao/vo/OperateFloorVo.java | 9 + .../gerocomium/dao/vo/OperateIntentionVo.java | 8 + .../gerocomium/dao/vo/OperateLabelTypeVo.java | 10 + .../ew/gerocomium/dao/vo/OperateLabelVo.java | 10 + .../gerocomium/dao/vo/OperateMaterialVo.java | 8 + .../gerocomium/dao/vo/OperateRoomTypeVo.java | 8 + .../ew/gerocomium/dao/vo/OperateRoomVo.java | 8 + .../dao/vo/OperateServiceTypeVo.java | 8 + .../gerocomium/dao/vo/OperateServiceVo.java | 8 + .../ew/gerocomium/dao/vo/OperateSourceVo.java | 8 + .../ew/gerocomium/dao/vo/OperateStaffVo.java | 8 + .../gerocomium/dao/vo/OperateWarehouseVo.java | 8 + .../dao/vo/PageAccidentByKeyVo.java | 25 + .../gerocomium/dao/vo/PageActiveByKeyVo.java | 33 + .../dao/vo/PageActiveTypeByKeyVo.java | 17 + .../ew/gerocomium/dao/vo/PageBedByKeyVo.java | 19 + .../dao/vo/PageCateringSetByKeyVo.java | 21 + .../dao/vo/PageCheckContractByKeyVo.java | 29 + .../dao/vo/PageCommunicationRecordVo.java | 21 + .../gerocomium/dao/vo/PageConsultByKeyVo.java | 40 + .../gerocomium/dao/vo/PageConsumeByKeyVo.java | 26 + .../dao/vo/PageDepositRechargeByKeyVo.java | 27 + .../gerocomium/dao/vo/PageDishesByKeyVo.java | 23 + .../gerocomium/dao/vo/PageElderByKeyVo.java | 31 + .../dao/vo/PageIntentionByKeyVo.java | 40 + .../dao/vo/PageInventoryByKeyVo.java | 33 + .../dao/vo/PageMaterialByKeyVo.java | 21 + .../gerocomium/dao/vo/PageNotVisitPlanVo.java | 21 + .../dao/vo/PageNurseGradeByKeyVo.java | 21 + .../dao/vo/PageNurseReserveByKeyVo.java | 37 + .../gerocomium/dao/vo/PageOrderByKeyVo.java | 36 + .../dao/vo/PageOutboundRecordByKeyVo.java | 38 + .../gerocomium/dao/vo/PageOutwardByKeyVo.java | 35 + .../gerocomium/dao/vo/PageReserveByKeyVo.java | 39 + .../gerocomium/dao/vo/PageRetreatByKeyVo.java | 27 + .../dao/vo/PageRoomTypeByKeyVo.java | 21 + .../dao/vo/PageSearchElderByKeyVo.java | 15 + .../dao/vo/PageSearchEmergencyContactVo.java | 15 + .../dao/vo/PageSearchStaffByKeyVo.java | 21 + .../gerocomium/dao/vo/PageServiceByKeyVo.java | 25 + .../gerocomium/dao/vo/PageSourceByKeyVo.java | 17 + .../gerocomium/dao/vo/PageStaffByKeyVo.java | 29 + .../gerocomium/dao/vo/PageVisitByKeyVo.java | 36 + .../dao/vo/PageWarehouseByKeyVo.java | 19 + .../dao/vo/PageWarehouseMaterialByKeyVo.java | 28 + .../dao/vo/PageWarehouseRecordByKeyVo.java | 29 + .../gerocomium/dao/vo/PageYesVisitPlanVo.java | 21 + .../ew/gerocomium/dao/vo/TodayOverviewVo.java | 18 + .../gerocomium/dao/vo/TodaySaleFollowVo.java | 16 + .../java/com/ew/gerocomium/dao/vo/TreeVo.java | 34 + .../gerocomium/service/AccidentService.java | 48 + .../ew/gerocomium/service/AccountService.java | 47 + .../ew/gerocomium/service/ActiveService.java | 63 + .../gerocomium/service/ActiveTypeService.java | 47 + .../service/BedPanoramaService.java | 29 + .../ew/gerocomium/service/BuildService.java | 139 + .../service/CateringSetService.java | 47 + .../service/CheckContractService.java | 84 + .../ew/gerocomium/service/ConsultService.java | 70 + .../ew/gerocomium/service/ConsumeService.java | 14 + .../gerocomium/service/ContractService.java | 8 + .../service/DepositRechargeService.java | 32 + .../ew/gerocomium/service/DishesService.java | 88 + .../service/ElderRecordService.java | 31 + .../ew/gerocomium/service/FileService.java | 17 + .../ew/gerocomium/service/HomeService.java | 49 + .../gerocomium/service/IntentionService.java | 141 + .../gerocomium/service/InventoryService.java | 14 + .../ew/gerocomium/service/LabelService.java | 78 + .../gerocomium/service/MaterialService.java | 88 + .../gerocomium/service/NurseGradeService.java | 56 + .../service/NurseReserveService.java | 46 + .../ew/gerocomium/service/OrderService.java | 40 + .../service/OutboundRecordService.java | 62 + .../ew/gerocomium/service/OutwardService.java | 91 + .../ew/gerocomium/service/ReserveService.java | 61 + .../service/RetreatApplyService.java | 31 + .../service/RetreatAuditService.java | 29 + .../gerocomium/service/RoomTypeService.java | 47 + .../service/ServiceProjectService.java | 87 + .../ew/gerocomium/service/SourceService.java | 47 + .../ew/gerocomium/service/StaffService.java | 54 + .../ew/gerocomium/service/VisitService.java | 57 + .../service/WarehouseRecordService.java | 55 + .../gerocomium/service/WarehouseService.java | 54 + .../service/common/AccidentFunc.java | 38 + .../gerocomium/service/common/ActiveFunc.java | 30 + .../service/common/ActiveParticipantFunc.java | 50 + .../service/common/ActiveTypeFunc.java | 48 + .../ew/gerocomium/service/common/BedFunc.java | 259 + .../service/common/BuildingFunc.java | 225 + .../service/common/CateringSetFunc.java | 87 + .../gerocomium/service/common/CommonFunc.java | 117 + .../common/CommunicationRecordFunc.java | 30 + .../service/common/ConsultFunc.java | 84 + .../service/common/ConsumeFunc.java | 33 + .../service/common/ContractFunc.java | 93 + .../gerocomium/service/common/DishesFunc.java | 47 + .../service/common/DishesTypeFunc.java | 61 + .../gerocomium/service/common/ElderFunc.java | 336 + .../service/common/ElderLabelFunc.java | 68 + .../service/common/EmergencyContactFunc.java | 58 + .../gerocomium/service/common/FloorFunc.java | 107 + .../gerocomium/service/common/LabelFunc.java | 105 + .../service/common/LabelTypeFunc.java | 65 + .../service/common/MaterialFunc.java | 45 + .../service/common/MaterialTypeFunc.java | 63 + .../service/common/NurseGradeFunc.java | 98 + .../service/common/NurseItemFunc.java | 50 + .../service/common/OrderDishesFunc.java | 30 + .../service/common/OutboundMaterialFunc.java | 54 + .../service/common/OutwardFunc.java | 47 + .../service/common/ReserveFunc.java | 53 + .../service/common/RetreatApplyFunc.java | 30 + .../service/common/RetreatAuditFunc.java | 128 + .../service/common/RoleAuthFunc.java | 13 + .../gerocomium/service/common/RoleFunc.java | 28 + .../gerocomium/service/common/RoomFunc.java | 214 + .../service/common/RoomTypeFunc.java | 48 + .../service/common/ServiceItemFunc.java | 102 + .../service/common/ServiceTypeFunc.java | 62 + .../service/common/SetDishesFunc.java | 50 + .../gerocomium/service/common/SourceFunc.java | 81 + .../gerocomium/service/common/StaffFunc.java | 188 + .../gerocomium/service/common/VisitFunc.java | 43 + .../service/common/VisitPlanFunc.java | 115 + .../service/common/WarehouseFunc.java | 41 + .../service/common/WarehouseMaterialFunc.java | 13 + .../service/impl/AccidentServiceImpl.java | 86 + .../service/impl/AccountServiceImpl.java | 139 + .../service/impl/ActiveServiceImpl.java | 129 + .../service/impl/ActiveTypeServiceImpl.java | 92 + .../service/impl/BedPanoramaServiceImpl.java | 69 + .../service/impl/BuildServiceImpl.java | 274 + .../service/impl/CateringSetServiceImpl.java | 102 + .../impl/CheckContractServiceImpl.java | 242 + .../service/impl/ConsultServiceImpl.java | 139 + .../service/impl/ConsumeServiceImpl.java | 35 + .../service/impl/ContractServiceImpl.java | 77 + .../impl/DepositRechargeServiceImpl.java | 66 + .../service/impl/DishesServiceImpl.java | 151 + .../service/impl/ElderRecordServiceImpl.java | 104 + .../service/impl/FileServiceImpl.java | 53 + .../service/impl/HomeServiceImpl.java | 173 + .../service/impl/IntentionServiceImpl.java | 312 + .../service/impl/InventoryServiceImpl.java | 43 + .../service/impl/LabelServiceImpl.java | 161 + .../service/impl/MaterialServiceImpl.java | 151 + .../service/impl/NurseGradeServiceImpl.java | 121 + .../service/impl/NurseReserveServiceImpl.java | 106 + .../service/impl/OrderServiceImpl.java | 168 + .../impl/OutboundRecordServiceImpl.java | 297 + .../service/impl/OutwardServiceImpl.java | 172 + .../service/impl/ReserveServiceImpl.java | 225 + .../service/impl/RetreatApplyServiceImpl.java | 106 + .../service/impl/RetreatAuditServiceImpl.java | 312 + .../service/impl/RoomTypeServiceImpl.java | 94 + .../impl/ServiceProjectServiceImpl.java | 157 + .../service/impl/SourceServiceImpl.java | 92 + .../service/impl/StaffServiceImpl.java | 112 + .../service/impl/VisitServiceImpl.java | 101 + .../impl/WarehouseRecordServiceImpl.java | 181 + .../service/impl/WarehouseServiceImpl.java | 103 + server/src/main/resources/application-dev.yml | 111 + server/src/main/resources/application.yml | 4 + .../main/resources/mapper/AccidentMapper.xml | 38 + .../main/resources/mapper/ActiveMapper.xml | 36 + .../mapper/ActiveParticipantMapper.xml | 13 + .../resources/mapper/ActiveTypeMapper.xml | 5 + .../src/main/resources/mapper/AuthMapper.xml | 14 + .../resources/mapper/BaseAttachmentMapper.xml | 5 + .../src/main/resources/mapper/BedMapper.xml | 15 + .../main/resources/mapper/BuildingMapper.xml | 5 + .../resources/mapper/CateringSetMapper.xml | 5 + .../mapper/CommunicationRecordMapper.xml | 5 + .../main/resources/mapper/ConsultMapper.xml | 77 + .../main/resources/mapper/ConsumeMapper.xml | 28 + .../main/resources/mapper/ContractMapper.xml | 17 + .../resources/mapper/DepositInfoMapper.xml | 5 + .../main/resources/mapper/DishesMapper.xml | 34 + .../resources/mapper/DishesTypeMapper.xml | 5 + .../resources/mapper/DrugDepositMapper.xml | 5 + .../resources/mapper/ElderLabelMapper.xml | 5 + .../src/main/resources/mapper/ElderMapper.xml | 82 + .../mapper/EmergencyContactMapper.xml | 31 + .../resources/mapper/FamilyMemberMapper.xml | 5 + .../src/main/resources/mapper/FloorMapper.xml | 5 + .../resources/mapper/HealthDataMapper.xml | 5 + .../resources/mapper/HealthInfoMapper.xml | 5 + .../src/main/resources/mapper/LabelMapper.xml | 14 + .../main/resources/mapper/LabelTypeMapper.xml | 5 + .../main/resources/mapper/MaterialMapper.xml | 24 + .../resources/mapper/MaterialTypeMapper.xml | 5 + .../main/resources/mapper/MedicineMapper.xml | 5 + .../resources/mapper/MedicineRecordMapper.xml | 5 + .../resources/mapper/MedicineSetMapper.xml | 5 + .../resources/mapper/NurseGradeMapper.xml | 5 + .../resources/mapper/NurseGroupMapper.xml | 5 + .../mapper/NurseGroupMemberMapper.xml | 5 + .../main/resources/mapper/NurseItemMapper.xml | 15 + .../src/main/resources/mapper/NurseMapper.xml | 5 + .../resources/mapper/NurseReserveMapper.xml | 36 + .../resources/mapper/OrderDishesMapper.xml | 5 + .../src/main/resources/mapper/OrderMapper.xml | 42 + .../mapper/OutboundMaterialMapper.xml | 36 + .../resources/mapper/OutboundRecordMapper.xml | 43 + .../main/resources/mapper/OutwardMapper.xml | 45 + .../main/resources/mapper/ReserveMapper.xml | 71 + .../resources/mapper/RetreatApplyMapper.xml | 60 + .../main/resources/mapper/RetreatMapper.xml | 5 + .../main/resources/mapper/RoleAuthMapper.xml | 5 + .../src/main/resources/mapper/RoleMapper.xml | 5 + .../src/main/resources/mapper/RoomMapper.xml | 5 + .../main/resources/mapper/RoomTypeMapper.xml | 5 + .../resources/mapper/ServiceItemMapper.xml | 5 + .../resources/mapper/ServiceTypeMapper.xml | 5 + .../main/resources/mapper/SetDishesMapper.xml | 14 + .../main/resources/mapper/SourceMapper.xml | 5 + .../src/main/resources/mapper/StaffMapper.xml | 32 + .../src/main/resources/mapper/VisitMapper.xml | 49 + .../main/resources/mapper/VisitPlanMapper.xml | 5 + .../main/resources/mapper/WarehouseMapper.xml | 22 + .../mapper/WarehouseMaterialMapper.xml | 94 + .../mapper/WarehouseRecordMapper.xml | 41 + .../GerocomiumApplicationTests.java | 12 + 806 files changed, 82637 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/Nursing-home-management-system.iml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/prettier.xml create mode 100644 .idea/vcs.xml create mode 100644 client/.browserslistrc create mode 100644 client/.cz-config.js create mode 100644 client/.editorconfig create mode 100644 client/.eslintrc.js create mode 100644 client/.gitignore create mode 100644 client/.husky/commit-msg create mode 100644 client/.husky/pre-commit create mode 100644 client/.prettierignore create mode 100644 client/.prettierrc.js create mode 100644 client/README.md create mode 100644 client/auto-imports.d.ts create mode 100644 client/babel.config.js create mode 100644 client/commitlint.config.js create mode 100644 client/components.d.ts create mode 100644 client/env.development create mode 100644 client/env.production create mode 100644 client/env.test create mode 100644 client/package-lock.json create mode 100644 client/package.json create mode 100644 client/postcss.config.js create mode 100644 client/public/favicon.ico create mode 100644 client/public/index.html create mode 100644 client/public/logo.ico create mode 100644 client/src/App.vue create mode 100644 client/src/apis/accident.ts create mode 100644 client/src/apis/bedPanorama.ts create mode 100644 client/src/apis/bookManage.ts create mode 100644 client/src/apis/build.ts create mode 100644 client/src/apis/cateringSet.ts create mode 100644 client/src/apis/checkContract.ts create mode 100644 client/src/apis/consume.ts create mode 100644 client/src/apis/depositRecharge.ts create mode 100644 client/src/apis/dishes.ts create mode 100644 client/src/apis/elderRecord.ts create mode 100644 client/src/apis/home.ts create mode 100644 client/src/apis/index.ts create mode 100644 client/src/apis/nurseGrade.ts create mode 100644 client/src/apis/nurseReserve.ts create mode 100644 client/src/apis/order.ts create mode 100644 client/src/apis/outward.ts create mode 100644 client/src/apis/retreatApply.ts create mode 100644 client/src/apis/retreatAudit.ts create mode 100644 client/src/apis/roomType.ts create mode 100644 client/src/apis/service.ts create mode 100644 client/src/apis/soldManage.ts create mode 100644 client/src/apis/source.ts create mode 100644 client/src/apis/staff.ts create mode 100644 client/src/apis/user.ts create mode 100644 client/src/apis/visit.ts create mode 100644 client/src/assets/imgs/bg.png create mode 100644 client/src/assets/imgs/computer.svg create mode 100644 client/src/assets/imgs/img.png create mode 100644 client/src/assets/imgs/img_1.png create mode 100644 client/src/assets/imgs/img_2.png create mode 100644 client/src/assets/imgs/logo.png create mode 100644 client/src/assets/imgs/man.png create mode 100644 client/src/assets/imgs/women.png create mode 100644 client/src/components/Grid/components/GridItem.vue create mode 100644 client/src/components/Grid/index.vue create mode 100644 client/src/components/Grid/interface/index.ts create mode 100644 client/src/components/IconPark/index.vue create mode 100644 client/src/components/ProTable/components/ColSetting.vue create mode 100644 client/src/components/ProTable/components/Pagination.vue create mode 100644 client/src/components/ProTable/components/TableColumn.vue create mode 100644 client/src/components/ProTable/index.md create mode 100644 client/src/components/ProTable/index.vue create mode 100644 client/src/components/ProTable/interface/index.ts create mode 100644 client/src/components/ReImageVerify/index.ts create mode 100644 client/src/components/ReImageVerify/src/hooks.ts create mode 100644 client/src/components/ReImageVerify/src/index.vue create mode 100644 client/src/components/SearchForm/components/SearchFormItem.vue create mode 100644 client/src/components/SearchForm/index.vue create mode 100644 client/src/components/SvgIcon/index.vue create mode 100644 client/src/components/elderListDialog/index.vue create mode 100644 client/src/components/my-card/my-card.vue create mode 100644 client/src/components/treeDialog/index.vue create mode 100644 client/src/components/upload/image/index.vue create mode 100644 client/src/components/wen-test/DynamicAdditionComponent.vue create mode 100644 client/src/hooks/interface/index.ts create mode 100644 client/src/hooks/useHandleData.ts create mode 100644 client/src/hooks/useIcons.ts create mode 100644 client/src/hooks/useSelection.ts create mode 100644 client/src/hooks/useTabList.ts create mode 100644 client/src/hooks/useTable.ts create mode 100644 client/src/icons/index.ts create mode 100644 client/src/icons/svg/base.svg create mode 100644 client/src/icons/svg/charge.svg create mode 100644 client/src/icons/svg/check.svg create mode 100644 client/src/icons/svg/diet.svg create mode 100644 client/src/icons/svg/exit-fullscreen.svg create mode 100644 client/src/icons/svg/fullscreen.svg create mode 100644 client/src/icons/svg/guide.svg create mode 100644 client/src/icons/svg/home.svg create mode 100644 client/src/icons/svg/lang.svg create mode 100644 client/src/icons/svg/live.svg create mode 100644 client/src/icons/svg/lock.svg create mode 100644 client/src/icons/svg/logout.svg create mode 100644 client/src/icons/svg/menu-fold.svg create mode 100644 client/src/icons/svg/password.svg create mode 100644 client/src/icons/svg/people.svg create mode 100644 client/src/icons/svg/refreash.svg create mode 100644 client/src/icons/svg/resource.svg create mode 100644 client/src/icons/svg/sale.svg create mode 100644 client/src/icons/svg/search.svg create mode 100644 client/src/icons/svg/serve.svg create mode 100644 client/src/icons/svg/setting.svg create mode 100644 client/src/icons/svg/user.svg create mode 100644 client/src/icons/svg/verify.svg create mode 100644 client/src/layout/components/NavBar/components/Avatar.vue create mode 100644 client/src/layout/components/NavBar/components/Breadcrumb.vue create mode 100644 client/src/layout/components/NavBar/index.vue create mode 100644 client/src/layout/components/SideBar/components/MenuFold.vue create mode 100644 client/src/layout/components/SideBar/components/MenuItem.vue create mode 100644 client/src/layout/components/SideBar/index.vue create mode 100644 client/src/layout/components/Tags/index.vue create mode 100644 client/src/layout/index.vue create mode 100644 client/src/main.ts create mode 100644 client/src/mock/getters.ts create mode 100644 client/src/mock/index.ts create mode 100644 client/src/mock/routes.ts create mode 100644 client/src/mock/users.ts create mode 100644 client/src/plugins/element-plus/index.ts create mode 100644 client/src/plugins/index.ts create mode 100644 client/src/router/index.ts create mode 100644 client/src/router/types.ts create mode 100644 client/src/router/utils.ts create mode 100644 client/src/shims-vue.d.ts create mode 100644 client/src/store/index.ts create mode 100644 client/src/store/modules/app/index.ts create mode 100644 client/src/store/modules/app/types.ts create mode 100644 client/src/store/modules/soldManage/index.ts create mode 100644 client/src/store/modules/soldManage/types.ts create mode 100644 client/src/store/types.ts create mode 100644 client/src/store/utils.ts create mode 100644 client/src/styles/base.scss create mode 100644 client/src/styles/element.scss create mode 100644 client/src/styles/element/index.scss create mode 100644 client/src/styles/index.scss create mode 100644 client/src/styles/login.scss create mode 100644 client/src/styles/mixin.scss create mode 100644 client/src/styles/navbar.scss create mode 100644 client/src/styles/reset.scss create mode 100644 client/src/styles/sidebar.scss create mode 100644 client/src/styles/theme.scss create mode 100644 client/src/styles/transition.scss create mode 100644 client/src/styles/variables.module.scss create mode 100644 client/src/styles/variables.module.scss.d.ts create mode 100644 client/src/types/global.d.ts create mode 100644 client/src/types/vuex.d.ts create mode 100644 client/src/utils/commonUtil.ts create mode 100644 client/src/utils/formRules.ts create mode 100644 client/src/utils/http/index.ts create mode 100644 client/src/utils/index.ts create mode 100644 client/src/utils/is/index.ts create mode 100644 client/src/utils/types.ts create mode 100644 client/src/utils/util.ts create mode 100644 client/src/views/base/activity/index.vue create mode 100644 client/src/views/base/index.vue create mode 100644 client/src/views/base/live/flat/dialog/bed.vue create mode 100644 client/src/views/base/live/flat/dialog/build.vue create mode 100644 client/src/views/base/live/flat/dialog/floor.vue create mode 100644 client/src/views/base/live/flat/dialog/room.vue create mode 100644 client/src/views/base/live/flat/index.vue create mode 100644 client/src/views/base/live/index.vue create mode 100644 client/src/views/base/live/room/index.vue create mode 100644 client/src/views/base/live/room/roomDialog/index.vue create mode 100644 client/src/views/base/sale/index.vue create mode 100644 client/src/views/base/sale/origin/index.vue create mode 100644 client/src/views/base/sale/origin/originDialog/index.vue create mode 100644 client/src/views/base/sale/tag/index.vue create mode 100644 client/src/views/charge/audit/auditDialog/index.vue create mode 100644 client/src/views/charge/audit/index.vue create mode 100644 client/src/views/charge/index.vue create mode 100644 client/src/views/charge/prestore/index.vue create mode 100644 client/src/views/charge/prestore/prestoreDialog/index.vue create mode 100644 client/src/views/charge/record/index.vue create mode 100644 client/src/views/diet/dish/dialog/dishesDialog.vue create mode 100644 client/src/views/diet/dish/dialog/dishesTypeDialog.vue create mode 100644 client/src/views/diet/dish/index.vue create mode 100644 client/src/views/diet/index.vue create mode 100644 client/src/views/diet/order/index.vue create mode 100644 client/src/views/diet/order/orderDialog/index.vue create mode 100644 client/src/views/diet/package/index.vue create mode 100644 client/src/views/diet/package/packageDialog/dishesListDialog.vue create mode 100644 client/src/views/diet/package/packageDialog/index.vue create mode 100644 client/src/views/error/404.vue create mode 100644 client/src/views/home/clientSource.vue create mode 100644 client/src/views/home/index.vue create mode 100644 client/src/views/home/monthPerformance.vue create mode 100644 client/src/views/home/soldBed.vue create mode 100644 client/src/views/home/todayOverview.vue create mode 100644 client/src/views/home/todaySold.vue create mode 100644 client/src/views/home/trend.vue create mode 100644 client/src/views/live/accident/accidentDialog/index.vue create mode 100644 client/src/views/live/accident/index.vue create mode 100644 client/src/views/live/apply/index.vue create mode 100644 client/src/views/live/bed/index.vue create mode 100644 client/src/views/live/enter/enterDialog/index.vue create mode 100644 client/src/views/live/enter/index.vue create mode 100644 client/src/views/live/index.vue create mode 100644 client/src/views/live/leave/index.vue create mode 100644 client/src/views/live/leave/outwardDialog/index.vue create mode 100644 client/src/views/live/visitor/index.vue create mode 100644 client/src/views/live/visitor/visitDialog/index.vue create mode 100644 client/src/views/login/components/ForgetPassModel.vue create mode 100644 client/src/views/login/components/LoginModel.vue create mode 100644 client/src/views/login/index.vue create mode 100644 client/src/views/people/activity/activity.vue create mode 100644 client/src/views/people/index.vue create mode 100644 client/src/views/people/old/index.vue create mode 100644 client/src/views/people/old/oldDialog/index.vue create mode 100644 client/src/views/people/staff/index.vue create mode 100644 client/src/views/people/staff/staffDialog/index.vue create mode 100644 client/src/views/resource/enter/index.vue create mode 100644 client/src/views/resource/index.vue create mode 100644 client/src/views/resource/info/index.vue create mode 100644 client/src/views/resource/leave/index.vue create mode 100644 client/src/views/resource/search/index.vue create mode 100644 client/src/views/resource/storage/index.vue create mode 100644 client/src/views/sale/book/bookDialog/index.vue create mode 100644 client/src/views/sale/book/index.vue create mode 100644 client/src/views/sale/counsel/counselDialog/index.vue create mode 100644 client/src/views/sale/counsel/index.vue create mode 100644 client/src/views/sale/index.vue create mode 100644 client/src/views/sale/intention/counselDialog/index.vue create mode 100644 client/src/views/sale/intention/index.vue create mode 100644 client/src/views/serve/book/bookDialog/index.vue create mode 100644 client/src/views/serve/book/index.vue create mode 100644 client/src/views/serve/index.vue create mode 100644 client/src/views/serve/level/index.vue create mode 100644 client/src/views/serve/level/levelDialog/index.vue create mode 100644 client/src/views/serve/level/levelDialog/serviceListDialog.vue create mode 100644 client/src/views/serve/project/dialog/serviceDialog.vue create mode 100644 client/src/views/serve/project/dialog/serviceTypeDialog.vue create mode 100644 client/src/views/serve/project/index.vue create mode 100644 client/tailwind.config.js create mode 100644 client/tsconfig.json create mode 100644 client/vue.config.js create mode 100644 client/yarn.lock create mode 100644 server/.gitignore create mode 100644 server/.mvn/wrapper/maven-wrapper.jar create mode 100644 server/.mvn/wrapper/maven-wrapper.properties create mode 100644 server/hs_err_pid13472.log create mode 100644 server/hs_err_pid7524.log create mode 100644 server/mvnw create mode 100644 server/mvnw.cmd create mode 100644 server/pom.xml create mode 100644 server/src/main/java/com/ew/gerocomium/GerocomiumApplication.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/exception/BusinessRuntimeException.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/exception/BusinessRuntimeExceptionAdvice.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/file/FileTempPath.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/file/FileUploadConfigPropertity.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/mybatisplus/MetaObjectHandlerImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/quartz/QuartzConfig.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/quartz/QuartzJob.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/redis/FastJsonRedisSerializer.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/redis/RedisConfig.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/security/config/SecurityConfig.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/security/entity/LoginUserDetails.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/security/filter/JwtAuthenticationTokenFilter.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/security/handler/AccessDeniedHandlerImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/security/handler/AuthenticationEntryPointImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/security/handler/AuthorityAssert.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/security/handler/PasswordEncoderImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/security/service/UserDetailsServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/swagger/SwaggerConfig.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/web/IgnoreConfig.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/config/web/WebMvcConfig.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/constant/AuditEnum.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/constant/BedEnum.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/constant/ChargeEnum.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/constant/CheckEnum.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/constant/CodeEnum.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/constant/Constant.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/constant/ConsumeEnum.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/constant/ExceptionEnum.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/constant/MarkEnum.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/constant/RecipientEnum.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/constant/VisitEnum.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/constant/YesNoEnum.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/util/AesUtil.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/util/AssertUtil.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/util/ClassJavaToTSUtil.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/util/CommonUtil.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/util/DateUtilWen.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/util/EntityCodeGeneratorUtil.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/util/ExcelUtil.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/util/JavaToTsConverter.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/util/JwtUtil.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/util/PageUtil.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/util/RedisUtil.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/util/ResponseUtil.java create mode 100644 server/src/main/java/com/ew/gerocomium/common/util/SendEmailUtil.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/AccidentController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/AccountController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/ActiveController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/ActiveTypeController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/BedPanoramaController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/BuildController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/CateringSetController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/CheckContractController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/ConsultController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/ConsumeController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/DepositRechargeController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/DishesController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/ElderRecordController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/FileController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/HomeController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/IntentionController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/InventoryController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/LabelController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/MaterialController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/NurseGradeController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/NurseReserveController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/OrderController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/OutboundRecordController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/OutwardController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/ReserveController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/RetreatApplyController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/RetreatAuditController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/RoomTypeController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/ServiceProjectController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/SourceController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/StaffController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/VisitController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/WarehouseController.java create mode 100644 server/src/main/java/com/ew/gerocomium/controller/WarehouseRecordController.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/base/BaseEntity.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/base/BuildingVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/base/DropDown.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/base/PageResult.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/base/Rank.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/base/Result.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/AccidentMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/ActiveMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/ActiveParticipantMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/ActiveTypeMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/AuthMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/BaseAttachmentMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/BedMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/BuildingMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/CateringSetMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/CommunicationRecordMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/ConsultMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/ConsumeMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/ContractMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/DepositInfoMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/DishesMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/DishesTypeMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/DrugDepositMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/ElderLabelMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/ElderMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/EmergencyContactMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/FamilyMemberMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/FloorMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/HealthDataMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/HealthInfoMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/LabelMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/LabelTypeMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/MaterialMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/MaterialTypeMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/MedicineMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/MedicineRecordMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/MedicineSetMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/NurseGradeMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/NurseGroupMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/NurseGroupMemberMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/NurseItemMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/NurseMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/NurseReserveMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/OrderDishesMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/OrderMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/OutboundMaterialMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/OutboundRecordMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/OutwardMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/ReserveMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/RetreatApplyMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/RetreatMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/RoleAuthMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/RoleMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/RoomMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/RoomTypeMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/ServiceItemMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/ServiceTypeMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/SetDishesMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/SourceMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/StaffMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/VisitMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/VisitPlanMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/WarehouseMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/WarehouseMaterialMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/mapper/WarehouseRecordMapper.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Accident.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Active.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/ActiveParticipant.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/ActiveType.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Auth.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/BaseAttachment.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Bed.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Building.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/CateringSet.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/CommunicationRecord.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Consult.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Consume.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Contract.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/DepositInfo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Dishes.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/DishesType.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/DrugDeposit.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Elder.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/ElderLabel.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/EmergencyContact.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/FamilyMember.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Floor.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/HealthData.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/HealthInfo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Label.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/LabelType.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Material.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/MaterialType.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Medicine.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/MedicineRecord.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/MedicineSet.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Nurse.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/NurseGrade.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/NurseGroup.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/NurseGroupMember.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/NurseItem.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/NurseReserve.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Order.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/OrderDishes.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/OutboundMaterial.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/OutboundRecord.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Outward.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Reserve.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Retreat.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/RetreatApply.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Role.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/RoleAuth.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Room.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/RoomType.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/ServiceItem.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/ServiceType.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/SetDishes.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Source.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Staff.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Visit.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/VisitPlan.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/Warehouse.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/WarehouseMaterial.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/po/WarehouseRecord.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/AddAccidentQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/AddCommunicationRecordQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/AddNurseReserveQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/AddOrderQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/AddOutboundRecordQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/AddOutwardQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/AddReserveQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/AddVisitPlanQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/AddVisitQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/AddWarehouseRecordQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/AuditElderFeeQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/AuditOutboundRecordQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/AuditWarehouseRecordQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/ClientSourceQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/CompleteVisitPlanQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/DelayReturnQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/DeleteNodeQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/EditAccidentQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/EditCommunicationRecordQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/EditElderLabelQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/EditQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/EditVisitQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/ExecuteNurseReserveQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/ForgetQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/GetConsultByConsultIdAndElderIdQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/GetReserveByReserveIdAndElderIdQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/ListRoomByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/LoginQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateActiveQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateActiveTypeQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateBedQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateBuildingQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateCateringSetQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateCheckContractQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateConsultQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateDishesQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateDishesTypeQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateFloorQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateIntentionQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateLabelQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateLabelTypeQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateMaterialQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateMaterialTypeQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateNurseGradeQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateRoomQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateRoomTypeQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateServiceQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateServiceTypeQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateSourceQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateStaffQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/OperateWarehouseQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageAccidentByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageActiveByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageActiveTypeByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageBedByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageCateringSetByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageCheckContractByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageCommunicationRecordQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageConsultByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageConsumeByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageDepositRechargeByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageDishesByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageElderByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageIntentionByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageInventoryByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageMaterialByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageNurseGradeByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageNurseReserveByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageOrderByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageOutboundRecordByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageOutwardByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageReserveByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageRetreatApplyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageRetreatAuditQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageRoomTypeByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageSearchElderByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageSearchEmergencyContactQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageSearchStaffByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageServiceByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageSourceByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageStaffByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageVisitByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageVisitPlanQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageWarehouseByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageWarehouseMaterialByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/PageWarehouseRecordByKeyQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/RechargeQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/RecordLeaveQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/RecordReturnQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/SendCodeQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/query/SendOrderQuery.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/AccompanyingPersonVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/AvailableBedVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/BusinessTrendVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/ClientSourceVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/ExpireContractEmergencyContactVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/ExpireContractVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/ExpireReserveVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/FileInfoVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetAccidentByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetActiveByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetBedByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetCateringSetByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetCheckContractByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetConsultByConsultIdAndElderIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetEditElderLabelByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetElderFeeByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetElderLabelByIdLabelVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetElderRecordByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetNurseGradeByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetOrderByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetOutboundRecordByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetOutwardByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetReserveByReserveIdAndElderIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetVisitByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/GetWarehouseRecordByIdVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/ListLabelVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/LoginUserVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/MonthPerformanceRankVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateActiveTypeVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateBedVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateBuildingVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateDishesVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateFloorVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateIntentionVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateLabelTypeVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateLabelVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateMaterialVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateRoomTypeVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateRoomVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateServiceTypeVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateServiceVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateSourceVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateStaffVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/OperateWarehouseVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageAccidentByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageActiveByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageActiveTypeByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageBedByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageCateringSetByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageCheckContractByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageCommunicationRecordVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageConsultByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageConsumeByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageDepositRechargeByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageDishesByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageElderByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageIntentionByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageInventoryByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageMaterialByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageNotVisitPlanVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageNurseGradeByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageNurseReserveByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageOrderByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageOutboundRecordByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageOutwardByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageReserveByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageRetreatByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageRoomTypeByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageSearchElderByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageSearchEmergencyContactVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageSearchStaffByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageServiceByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageSourceByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageStaffByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageVisitByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageWarehouseByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageWarehouseMaterialByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageWarehouseRecordByKeyVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/PageYesVisitPlanVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/TodayOverviewVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/TodaySaleFollowVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/dao/vo/TreeVo.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/AccidentService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/AccountService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/ActiveService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/ActiveTypeService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/BedPanoramaService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/BuildService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/CateringSetService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/CheckContractService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/ConsultService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/ConsumeService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/ContractService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/DepositRechargeService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/DishesService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/ElderRecordService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/FileService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/HomeService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/IntentionService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/InventoryService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/LabelService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/MaterialService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/NurseGradeService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/NurseReserveService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/OrderService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/OutboundRecordService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/OutwardService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/ReserveService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/RetreatApplyService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/RetreatAuditService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/RoomTypeService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/ServiceProjectService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/SourceService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/StaffService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/VisitService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/WarehouseRecordService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/WarehouseService.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/AccidentFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/ActiveFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/ActiveParticipantFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/ActiveTypeFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/BedFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/BuildingFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/CateringSetFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/CommonFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/CommunicationRecordFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/ConsultFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/ConsumeFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/ContractFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/DishesFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/DishesTypeFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/ElderFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/ElderLabelFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/EmergencyContactFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/FloorFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/LabelFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/LabelTypeFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/MaterialFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/MaterialTypeFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/NurseGradeFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/NurseItemFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/OrderDishesFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/OutboundMaterialFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/OutwardFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/ReserveFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/RetreatApplyFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/RetreatAuditFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/RoleAuthFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/RoleFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/RoomFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/RoomTypeFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/ServiceItemFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/ServiceTypeFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/SetDishesFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/SourceFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/StaffFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/VisitFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/VisitPlanFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/WarehouseFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/common/WarehouseMaterialFunc.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/AccidentServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/AccountServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/ActiveServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/ActiveTypeServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/BedPanoramaServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/BuildServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/CateringSetServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/CheckContractServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/ConsultServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/ConsumeServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/ContractServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/DepositRechargeServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/DishesServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/ElderRecordServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/FileServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/HomeServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/IntentionServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/InventoryServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/LabelServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/MaterialServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/NurseGradeServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/NurseReserveServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/OrderServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/OutboundRecordServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/OutwardServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/ReserveServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/RetreatApplyServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/RetreatAuditServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/RoomTypeServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/ServiceProjectServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/SourceServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/StaffServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/VisitServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/WarehouseRecordServiceImpl.java create mode 100644 server/src/main/java/com/ew/gerocomium/service/impl/WarehouseServiceImpl.java create mode 100644 server/src/main/resources/application-dev.yml create mode 100644 server/src/main/resources/application.yml create mode 100644 server/src/main/resources/mapper/AccidentMapper.xml create mode 100644 server/src/main/resources/mapper/ActiveMapper.xml create mode 100644 server/src/main/resources/mapper/ActiveParticipantMapper.xml create mode 100644 server/src/main/resources/mapper/ActiveTypeMapper.xml create mode 100644 server/src/main/resources/mapper/AuthMapper.xml create mode 100644 server/src/main/resources/mapper/BaseAttachmentMapper.xml create mode 100644 server/src/main/resources/mapper/BedMapper.xml create mode 100644 server/src/main/resources/mapper/BuildingMapper.xml create mode 100644 server/src/main/resources/mapper/CateringSetMapper.xml create mode 100644 server/src/main/resources/mapper/CommunicationRecordMapper.xml create mode 100644 server/src/main/resources/mapper/ConsultMapper.xml create mode 100644 server/src/main/resources/mapper/ConsumeMapper.xml create mode 100644 server/src/main/resources/mapper/ContractMapper.xml create mode 100644 server/src/main/resources/mapper/DepositInfoMapper.xml create mode 100644 server/src/main/resources/mapper/DishesMapper.xml create mode 100644 server/src/main/resources/mapper/DishesTypeMapper.xml create mode 100644 server/src/main/resources/mapper/DrugDepositMapper.xml create mode 100644 server/src/main/resources/mapper/ElderLabelMapper.xml create mode 100644 server/src/main/resources/mapper/ElderMapper.xml create mode 100644 server/src/main/resources/mapper/EmergencyContactMapper.xml create mode 100644 server/src/main/resources/mapper/FamilyMemberMapper.xml create mode 100644 server/src/main/resources/mapper/FloorMapper.xml create mode 100644 server/src/main/resources/mapper/HealthDataMapper.xml create mode 100644 server/src/main/resources/mapper/HealthInfoMapper.xml create mode 100644 server/src/main/resources/mapper/LabelMapper.xml create mode 100644 server/src/main/resources/mapper/LabelTypeMapper.xml create mode 100644 server/src/main/resources/mapper/MaterialMapper.xml create mode 100644 server/src/main/resources/mapper/MaterialTypeMapper.xml create mode 100644 server/src/main/resources/mapper/MedicineMapper.xml create mode 100644 server/src/main/resources/mapper/MedicineRecordMapper.xml create mode 100644 server/src/main/resources/mapper/MedicineSetMapper.xml create mode 100644 server/src/main/resources/mapper/NurseGradeMapper.xml create mode 100644 server/src/main/resources/mapper/NurseGroupMapper.xml create mode 100644 server/src/main/resources/mapper/NurseGroupMemberMapper.xml create mode 100644 server/src/main/resources/mapper/NurseItemMapper.xml create mode 100644 server/src/main/resources/mapper/NurseMapper.xml create mode 100644 server/src/main/resources/mapper/NurseReserveMapper.xml create mode 100644 server/src/main/resources/mapper/OrderDishesMapper.xml create mode 100644 server/src/main/resources/mapper/OrderMapper.xml create mode 100644 server/src/main/resources/mapper/OutboundMaterialMapper.xml create mode 100644 server/src/main/resources/mapper/OutboundRecordMapper.xml create mode 100644 server/src/main/resources/mapper/OutwardMapper.xml create mode 100644 server/src/main/resources/mapper/ReserveMapper.xml create mode 100644 server/src/main/resources/mapper/RetreatApplyMapper.xml create mode 100644 server/src/main/resources/mapper/RetreatMapper.xml create mode 100644 server/src/main/resources/mapper/RoleAuthMapper.xml create mode 100644 server/src/main/resources/mapper/RoleMapper.xml create mode 100644 server/src/main/resources/mapper/RoomMapper.xml create mode 100644 server/src/main/resources/mapper/RoomTypeMapper.xml create mode 100644 server/src/main/resources/mapper/ServiceItemMapper.xml create mode 100644 server/src/main/resources/mapper/ServiceTypeMapper.xml create mode 100644 server/src/main/resources/mapper/SetDishesMapper.xml create mode 100644 server/src/main/resources/mapper/SourceMapper.xml create mode 100644 server/src/main/resources/mapper/StaffMapper.xml create mode 100644 server/src/main/resources/mapper/VisitMapper.xml create mode 100644 server/src/main/resources/mapper/VisitPlanMapper.xml create mode 100644 server/src/main/resources/mapper/WarehouseMapper.xml create mode 100644 server/src/main/resources/mapper/WarehouseMaterialMapper.xml create mode 100644 server/src/main/resources/mapper/WarehouseRecordMapper.xml create mode 100644 server/src/test/java/com/ew/gerocomium/GerocomiumApplicationTests.java diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/Nursing-home-management-system.iml b/.idea/Nursing-home-management-system.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/Nursing-home-management-system.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..03d9549 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..639900d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..2b796d9 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/prettier.xml b/.idea/prettier.xml new file mode 100644 index 0000000..b0c1c68 --- /dev/null +++ b/.idea/prettier.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/client/.browserslistrc b/client/.browserslistrc new file mode 100644 index 0000000..dc3bc09 --- /dev/null +++ b/client/.browserslistrc @@ -0,0 +1,4 @@ +> 1% +last 2 versions +not dead +not ie 11 diff --git a/client/.cz-config.js b/client/.cz-config.js new file mode 100644 index 0000000..1e093c9 --- /dev/null +++ b/client/.cz-config.js @@ -0,0 +1,31 @@ +module.exports = { + // 可选类型 + types: [ + { value: 'feat', name: 'feat: 新功能' }, + { value: 'fix', name: 'fix: 修复' }, + { value: 'docs', name: 'docs: 文档变更' }, + { value: 'style', name: 'style: 代码格式(不影响代码运行的变动)' }, + { + value: 'refactor', + name: 'refactor: 重构(既不是增加feature,也不是修复bug)' + }, + { value: 'perf', name: 'perf: 性能优化' }, + { value: 'test', name: 'test: 增加测试' }, + { value: 'chore', name: 'chore: 构建过程或辅助工具的变动' }, + { value: 'revert', name: 'revert: 回退' }, + { value: 'build', name: 'build: 打包' } + ], + // 消息步骤 + messages: { + type: '请选择提交类型:', + customScope: '请输入修改范围(可选):', + subject: '请简要描述提交(必填):', + body: '请输入详细描述(可选):', + footer: '请输入要关闭的issue(可选):', + confirmCommit: '确认使用以上信息提交?(y/n/e/h)' + }, + // 跳过问题 + skipQuestions: ['body', 'footer'], + // subject文字长度默认是72 + subjectLimit: 72 +} diff --git a/client/.editorconfig b/client/.editorconfig new file mode 100644 index 0000000..4926e9f --- /dev/null +++ b/client/.editorconfig @@ -0,0 +1,15 @@ +# http://editorconfig.org + +root = true + +[*] # 表示所有文件适用 +charset = utf-8 # 设置文件字符集为 utf-8 +indent_style = space # 缩进风格(tab | space) +indent_size = 2 # 缩进大小 +end_of_line = lf # 控制换行类型(lf | cr | crlf) +trim_trailing_whitespace = true # 去除行首的任意空白字符 +insert_final_newline = true # 始终在文件末尾插入一个新行 + +[*.md] # 表示仅 md 文件适用以下规则 +max_line_length = off +trim_trailing_whitespace = false diff --git a/client/.eslintrc.js b/client/.eslintrc.js new file mode 100644 index 0000000..d1ac301 --- /dev/null +++ b/client/.eslintrc.js @@ -0,0 +1,28 @@ +module.exports = { + root: true, + env: { + node: true, + /** 解决defineProps没有导入的警告 */ + "vue/setup-compiler-macros": true + }, + extends: [ + "plugin:vue/vue3-essential", + "eslint:recommended", + "@vue/typescript/recommended", + "plugin:prettier/recommended" + ], + parserOptions: { + ecmaVersion: 2020 + }, + rules: { + "linebreak-style": [0, "error", "windows"], + "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", + "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", + indent: 0, + "space-before-function-paren": 0, + "vue/multi-word-component-names": "off", + "@typescript-eslint/no-explicit-any": "off", + "vue/no-mutating-props": "off", // 不允许组件 prop的改变 + "prettier/prettier": "off" + } +}; diff --git a/client/.gitignore b/client/.gitignore new file mode 100644 index 0000000..403adbc --- /dev/null +++ b/client/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules +/dist + + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/client/.husky/commit-msg b/client/.husky/commit-msg new file mode 100644 index 0000000..5e563eb --- /dev/null +++ b/client/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npx --no-install commitlint --edit diff --git a/client/.husky/pre-commit b/client/.husky/pre-commit new file mode 100644 index 0000000..d24fdfc --- /dev/null +++ b/client/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npx lint-staged diff --git a/client/.prettierignore b/client/.prettierignore new file mode 100644 index 0000000..f7e39e6 --- /dev/null +++ b/client/.prettierignore @@ -0,0 +1,9 @@ +/dist/* +.local +.output.js +/node_modules/** + +**/*.svg +**/*.sh + +/public/* diff --git a/client/.prettierrc.js b/client/.prettierrc.js new file mode 100644 index 0000000..1e9993f --- /dev/null +++ b/client/.prettierrc.js @@ -0,0 +1,53 @@ +// { +// "useTabs": false, +// "tabWidth": 2, +// "printWidth": 80, +// "singleQuote": true, +// "trailingComma": "none", +// "semi": false, + +// } + +module.exports = { + // 超过最大值换行 + printWidth: 130, + // 缩进字节数 + tabWidth: 2, + // 使用制表符而不是空格缩进行 + useTabs: true, + // 结尾不用分号(true有,false没有) + semi: true, + // 使用单引号(true单双引号,false双引号) + singleQuote: false, + // 更改引用对象属性的时间 可选值 "" + quoteProps: "as-needed", + // 在对象,数组括号与文字之间加空格 "{ foo: bar }" + bracketSpacing: true, + // 多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"",默认none + trailingComma: "none", + // 在JSX中使用单引号而不是双引号 + jsxSingleQuote: false, + // (x) => {} 箭头函数参数只有一个时是否要有小括号。avoid:省略括号 ,always:不省略括号 + arrowParens: "avoid", + // 如果文件顶部已经有一个 doclock,这个选项将新建一行注释,并打上@format标记。 + insertPragma: false, + // 指定要使用的解析器,不需要写文件开头的 @prettier + requirePragma: false, + // 默认值。因为使用了一些折行敏感型的渲染器(如GitHub comment)而按照markdown文本样式进行折行 + proseWrap: "preserve", + // 在html中空格是否是敏感的 "css" - 遵守 CSS 显示属性的默认值, "strict" - 空格被认为是敏感的 ,"ignore" - 空格被认为是不敏感的 + htmlWhitespaceSensitivity: "css", + // 换行符使用 lf 结尾是 可选值 "" + endOfLine: "auto", + // 这两个选项可用于格式化以给定字符偏移量(分别包括和不包括)开始和结束的代码 + rangeStart: 0, + rangeEnd: Infinity, + // Vue文件脚本和样式标签缩进 + vueIndentScriptAndStyle: false, + "useTabs": false, + "tabWidth": 2, + "printWidth": 80, + "singleQuote": true, + "trailingComma": "none", + "semi": false, +}; diff --git a/client/README.md b/client/README.md new file mode 100644 index 0000000..a9d4a51 --- /dev/null +++ b/client/README.md @@ -0,0 +1,29 @@ +# geracomium-admin-web + +## Project setup + +``` +yarn install +``` + +### Compiles and hot-reloads for development + +``` +yarn serve +``` + +### Compiles and minifies for production + +``` +yarn build +``` + +### Lints and fixes files + +``` +yarn lint +``` + +### Customize configuration + +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/client/auto-imports.d.ts b/client/auto-imports.d.ts new file mode 100644 index 0000000..08908ed --- /dev/null +++ b/client/auto-imports.d.ts @@ -0,0 +1,5 @@ +// Generated by 'unplugin-auto-import' +export {} +declare global { + +} diff --git a/client/babel.config.js b/client/babel.config.js new file mode 100644 index 0000000..716b023 --- /dev/null +++ b/client/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ['@vue/cli-plugin-babel/preset'] +} diff --git a/client/commitlint.config.js b/client/commitlint.config.js new file mode 100644 index 0000000..a3e6680 --- /dev/null +++ b/client/commitlint.config.js @@ -0,0 +1,26 @@ +module.exports = { + // 继承的规则 + extends: ['@commitlint/config-conventional'], + // 定义规则类型 + rules: { + // type 类型定义,表示 git 提交的 type 必须在以下类型范围内 + 'type-enum': [ + 2, + 'always', + [ + 'feat', // 新功能 feature + 'fix', // 修复 bug + 'docs', // 文档注释 + 'style', // 代码格式(不影响代码运行的变动) + 'refactor', // 重构(既不增加新功能,也不是修复bug) + 'perf', // 性能优化 + 'test', // 增加测试 + 'chore', // 构建过程或辅助工具的变动 + 'revert', // 回退 + 'build' // 打包 + ] + ], + // subject 大小写不做校验 + 'subject-case': [0] + } +} diff --git a/client/components.d.ts b/client/components.d.ts new file mode 100644 index 0000000..29e5ca9 --- /dev/null +++ b/client/components.d.ts @@ -0,0 +1,67 @@ +// generated by unplugin-vue-components +// We suggest you to commit this file into source control +// Read more: https://github.com/vuejs/core/pull/3399 +import '@vue/runtime-core' + +export {} + +declare module '@vue/runtime-core' { + export interface GlobalComponents { + ColSetting: typeof import('./src/components/ProTable/components/ColSetting.vue')['default'] + DynamicAdditionComponent: typeof import('./src/components/wen-test/DynamicAdditionComponent.vue')['default'] + ElAside: typeof import('element-plus/es')['ElAside'] + ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb'] + ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem'] + ElButton: typeof import('element-plus/es')['ElButton'] + ElCol: typeof import('element-plus/es')['ElCol'] + ElContainer: typeof import('element-plus/es')['ElContainer'] + ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] + ElderListDialog: typeof import('./src/components/elderListDialog/index.vue')['default'] + ElDialog: typeof import('element-plus/es')['ElDialog'] + ElDrawer: typeof import('element-plus/es')['ElDrawer'] + ElDropdown: typeof import('element-plus/es')['ElDropdown'] + ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem'] + ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu'] + ElEmpty: typeof import('element-plus/es')['ElEmpty'] + ElForm: typeof import('element-plus/es')['ElForm'] + ElFormItem: typeof import('element-plus/es')['ElFormItem'] + ElHeader: typeof import('element-plus/es')['ElHeader'] + ElIcon: typeof import('element-plus/es')['ElIcon'] + ElInput: typeof import('element-plus/es')['ElInput'] + ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] + ElMain: typeof import('element-plus/es')['ElMain'] + ElMenu: typeof import('element-plus/es')['ElMenu'] + ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] + ElOption: typeof import('element-plus/es')['ElOption'] + ElPagination: typeof import('element-plus/es')['ElPagination'] + ElPopconfirm: typeof import('element-plus/es')['ElPopconfirm'] + ElRadio: typeof import('element-plus/es')['ElRadio'] + ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] + ElRow: typeof import('element-plus/es')['ElRow'] + ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] + ElSelect: typeof import('element-plus/es')['ElSelect'] + ElSubMenu: typeof import('element-plus/es')['ElSubMenu'] + ElSwitch: typeof import('element-plus/es')['ElSwitch'] + ElTable: typeof import('element-plus/es')['ElTable'] + ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] + ElTag: typeof import('element-plus/es')['ElTag'] + ElTooltip: typeof import('element-plus/es')['ElTooltip'] + ElTree: typeof import('element-plus/es')['ElTree'] + ElUpload: typeof import('element-plus/es')['ElUpload'] + Grid: typeof import('./src/components/Grid/index.vue')['default'] + GridItem: typeof import('./src/components/Grid/components/GridItem.vue')['default'] + IconPark: typeof import('./src/components/IconPark/index.vue')['default'] + Image: typeof import('./src/components/upload/image/index.vue')['default'] + MyCard: typeof import('./src/components/my-card/my-card.vue')['default'] + Pagination: typeof import('./src/components/ProTable/components/Pagination.vue')['default'] + ProTable: typeof import('./src/components/ProTable/index.vue')['default'] + RouterLink: typeof import('vue-router')['RouterLink'] + RouterView: typeof import('vue-router')['RouterView'] + SearchForm: typeof import('./src/components/SearchForm/index.vue')['default'] + SearchFormItem: typeof import('./src/components/SearchForm/components/SearchFormItem.vue')['default'] + Src: typeof import('./src/components/ReImageVerify/src/index.vue')['default'] + SvgIcon: typeof import('./src/components/SvgIcon/index.vue')['default'] + TableColumn: typeof import('./src/components/ProTable/components/TableColumn.vue')['default'] + TreeDialog: typeof import('./src/components/treeDialog/index.vue')['default'] + } +} diff --git a/client/env.development b/client/env.development new file mode 100644 index 0000000..54b9f22 --- /dev/null +++ b/client/env.development @@ -0,0 +1,2 @@ +VUE_APP_BASE_URL=https://coderwhy.org/dev +VUE_APP_BASE_NAME=coderwhy diff --git a/client/env.production b/client/env.production new file mode 100644 index 0000000..96a761b --- /dev/null +++ b/client/env.production @@ -0,0 +1,2 @@ +VUE_APP_BASE_URL=https://coderwhy.org/prod +VUE_APP_BASE_NAME=kobe diff --git a/client/env.test b/client/env.test new file mode 100644 index 0000000..a9e3bcb --- /dev/null +++ b/client/env.test @@ -0,0 +1,2 @@ +VUE_APP_BASE_URL=https://coderwhy.org/test +VUE_APP_BASE_NAME=james diff --git a/client/package-lock.json b/client/package-lock.json new file mode 100644 index 0000000..ef537ad --- /dev/null +++ b/client/package-lock.json @@ -0,0 +1,27941 @@ +{ + "name": "geracomium-admin-web", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "geracomium-admin-web", + "version": "0.1.0", + "dependencies": { + "@commitlint/cli": "^17.3.0", + "@commitlint/config-conventional": "^17.3.0", + "@icon-park/vue-next": "^1.4.2", + "@pureadmin/utils": "^1.8.5", + "@vueuse/motion": "^2.0.0-beta.12", + "axios": "^1.2.2", + "core-js": "^3.8.3", + "cz-customizable": "^7.0.0", + "echarts": "^5.4.1", + "element-plus": "^2.2.28", + "global": "^4.4.0", + "husky": "^8.0.2", + "screenfull": "^6.0.2", + "svg-sprite-loader": "^6.0.11", + "unplugin-auto-import": "^0.12.1", + "unplugin-vue-components": "^0.22.12", + "vue": "^3.2.13", + "vue-i18n": "^9.2.2", + "vue-router": "^4.0.3", + "vuex": "^4.0.0", + "vuex-persistedstate": "^4.1.0" + }, + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.4.0", + "@typescript-eslint/parser": "^5.4.0", + "@vue/cli-plugin-babel": "~5.0.0", + "@vue/cli-plugin-eslint": "~5.0.0", + "@vue/cli-plugin-router": "~5.0.0", + "@vue/cli-plugin-typescript": "~5.0.0", + "@vue/cli-plugin-vuex": "~5.0.0", + "@vue/cli-service": "~5.0.0", + "@vue/eslint-config-typescript": "^9.1.0", + "autoprefixer": "^9.8.8", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-vue": "^8.0.3", + "postcss": "^8.4.21", + "prettier": "^2.4.1", + "sass": "^1.32.7", + "sass-loader": "^12.0.0", + "tailwindcss": "^3.2.7", + "typescript": "~4.5.5", + "unplugin-vue-macros": "^1.7.3" + } + }, + "node_modules/@achrinza/node-ipc": { + "version": "9.2.6", + "resolved": "https://registry.npmmirror.com/@achrinza/node-ipc/-/node-ipc-9.2.6.tgz", + "integrity": "sha512-ULSIYPy4ZPM301dfCxRz0l2GJjOwIo/PqmWonIu1bLml7UmnVQmH+juJcoyXp6E8gIRRNAjGYftJnNQlfy4vPg==", + "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" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ampproject/remapping/node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.2", + "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.2.tgz", + "integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.20.10", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.20.7.tgz", + "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.7", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/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/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz", + "integrity": "sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.20.7.tgz", + "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "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.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "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.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "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.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", + "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.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@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-class-static-block": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", + "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.7.tgz", + "integrity": "sha512-JB45hbUweYpwAGjkiM7uCyXMENH2lG+9r3G2E+ttc2PRXAoEkpfd/KW5jDg4j8RS6tLtTG1jZi9LbHZVSfs1/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/plugin-syntax-decorators": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@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-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@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-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@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-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@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-proposal-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", + "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "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-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@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-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.19.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", + "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "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.npmmirror.com/@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.npmmirror.com/@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.20.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@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.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", + "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", + "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.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.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "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-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^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-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^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-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.19.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "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-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@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.20.0", + "@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-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.20.10", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.20.10.tgz", + "integrity": "sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@commitlint/cli": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/cli/-/cli-17.3.0.tgz", + "integrity": "sha512-/H0md7TsKflKzVPz226VfXzVafJFO1f9+r2KcFvmBu08V0T56lZU1s8WL7/xlxqLMqBTVaBf7Ixtc4bskdEEZg==", + "license": "MIT", + "dependencies": { + "@commitlint/format": "^17.0.0", + "@commitlint/lint": "^17.3.0", + "@commitlint/load": "^17.3.0", + "@commitlint/read": "^17.2.0", + "@commitlint/types": "^17.0.0", + "execa": "^5.0.0", + "lodash.isfunction": "^3.0.9", + "resolve-from": "5.0.0", + "resolve-global": "1.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "commitlint": "cli.js" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/config-conventional": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/config-conventional/-/config-conventional-17.3.0.tgz", + "integrity": "sha512-hgI+fN5xF8nhS9uG/V06xyT0nlcyvHHMkq0kwRSr96vl5BFlRGaL2C0/YY4kQagfU087tmj01bJkG9Ek98Wllw==", + "license": "MIT", + "dependencies": { + "conventional-changelog-conventionalcommits": "^5.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/config-validator": { + "version": "17.1.0", + "resolved": "https://registry.npmmirror.com/@commitlint/config-validator/-/config-validator-17.1.0.tgz", + "integrity": "sha512-Q1rRRSU09ngrTgeTXHq6ePJs2KrI+axPTgkNYDWSJIuS1Op4w3J30vUfSXjwn5YEJHklK3fSqWNHmBhmTR7Vdg==", + "license": "MIT", + "dependencies": { + "@commitlint/types": "^17.0.0", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/config-validator/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "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/@commitlint/config-validator/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/@commitlint/ensure": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/ensure/-/ensure-17.3.0.tgz", + "integrity": "sha512-kWbrQHDoW5veIUQx30gXoLOCjWvwC6OOEofhPCLl5ytRPBDAQObMbxTha1Bt2aSyNE/IrJ0s0xkdZ1Gi3wJwQg==", + "license": "MIT", + "dependencies": { + "@commitlint/types": "^17.0.0", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/execute-rule": { + "version": "17.0.0", + "resolved": "https://registry.npmmirror.com/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz", + "integrity": "sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==", + "license": "MIT", + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/format": { + "version": "17.0.0", + "resolved": "https://registry.npmmirror.com/@commitlint/format/-/format-17.0.0.tgz", + "integrity": "sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA==", + "license": "MIT", + "dependencies": { + "@commitlint/types": "^17.0.0", + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/is-ignored": { + "version": "17.2.0", + "resolved": "https://registry.npmmirror.com/@commitlint/is-ignored/-/is-ignored-17.2.0.tgz", + "integrity": "sha512-rgUPUQraHxoMLxiE8GK430HA7/R2vXyLcOT4fQooNrZq9ERutNrP6dw3gdKLkq22Nede3+gEHQYUzL4Wu75ndg==", + "license": "MIT", + "dependencies": { + "@commitlint/types": "^17.0.0", + "semver": "7.3.7" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/is-ignored/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@commitlint/lint": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/lint/-/lint-17.3.0.tgz", + "integrity": "sha512-VilOTPg0i9A7CCWM49E9bl5jytfTvfTxf9iwbWAWNjxJ/A5mhPKbm3sHuAdwJ87tDk1k4j8vomYfH23iaY+1Rw==", + "license": "MIT", + "dependencies": { + "@commitlint/is-ignored": "^17.2.0", + "@commitlint/parse": "^17.2.0", + "@commitlint/rules": "^17.3.0", + "@commitlint/types": "^17.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/load": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/load/-/load-17.3.0.tgz", + "integrity": "sha512-u/pV6rCAJrCUN+HylBHLzZ4qj1Ew3+eN9GBPhNi9otGxtOfA8b+8nJSxaNbcC23Ins/kcpjGf9zPSVW7628Umw==", + "license": "MIT", + "dependencies": { + "@commitlint/config-validator": "^17.1.0", + "@commitlint/execute-rule": "^17.0.0", + "@commitlint/resolve-extends": "^17.3.0", + "@commitlint/types": "^17.0.0", + "@types/node": "^14.0.0", + "chalk": "^4.1.0", + "cosmiconfig": "^7.0.0", + "cosmiconfig-typescript-loader": "^4.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0", + "resolve-from": "^5.0.0", + "ts-node": "^10.8.1", + "typescript": "^4.6.4" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/load/node_modules/@types/node": { + "version": "14.18.36", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "license": "MIT" + }, + "node_modules/@commitlint/load/node_modules/cosmiconfig-typescript-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz", + "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==", + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "ts-node": ">=10", + "typescript": ">=3" + } + }, + "node_modules/@commitlint/load/node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmmirror.com/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/@commitlint/load/node_modules/typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@commitlint/message": { + "version": "17.2.0", + "resolved": "https://registry.npmmirror.com/@commitlint/message/-/message-17.2.0.tgz", + "integrity": "sha512-/4l2KFKxBOuoEn1YAuuNNlAU05Zt7sNsC9H0mPdPm3chOrT4rcX0pOqrQcLtdMrMkJz0gC7b3SF80q2+LtdL9Q==", + "license": "MIT", + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/parse": { + "version": "17.2.0", + "resolved": "https://registry.npmmirror.com/@commitlint/parse/-/parse-17.2.0.tgz", + "integrity": "sha512-vLzLznK9Y21zQ6F9hf8D6kcIJRb2haAK5T/Vt1uW2CbHYOIfNsR/hJs0XnF/J9ctM20Tfsqv4zBitbYvVw7F6Q==", + "license": "MIT", + "dependencies": { + "@commitlint/types": "^17.0.0", + "conventional-changelog-angular": "^5.0.11", + "conventional-commits-parser": "^3.2.2" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/read": { + "version": "17.2.0", + "resolved": "https://registry.npmmirror.com/@commitlint/read/-/read-17.2.0.tgz", + "integrity": "sha512-bbblBhrHkjxra3ptJNm0abxu7yeAaxumQ8ZtD6GIVqzURCETCP7Dm0tlVvGRDyXBuqX6lIJxh3W7oyKqllDsHQ==", + "license": "MIT", + "dependencies": { + "@commitlint/top-level": "^17.0.0", + "@commitlint/types": "^17.0.0", + "fs-extra": "^10.0.0", + "git-raw-commits": "^2.0.0", + "minimist": "^1.2.6" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/read/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/resolve-extends/-/resolve-extends-17.3.0.tgz", + "integrity": "sha512-Lf3JufJlc5yVEtJWC8o4IAZaB8FQAUaVlhlAHRACd0TTFizV2Lk2VH70et23KgvbQNf7kQzHs/2B4QZalBv6Cg==", + "license": "MIT", + "dependencies": { + "@commitlint/config-validator": "^17.1.0", + "@commitlint/types": "^17.0.0", + "import-fresh": "^3.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/rules": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/rules/-/rules-17.3.0.tgz", + "integrity": "sha512-s2UhDjC5yP2utx3WWqsnZRzjgzAX8BMwr1nltC0u0p8T/nzpkx4TojEfhlsOUj1t7efxzZRjUAV0NxNwdJyk+g==", + "license": "MIT", + "dependencies": { + "@commitlint/ensure": "^17.3.0", + "@commitlint/message": "^17.2.0", + "@commitlint/to-lines": "^17.0.0", + "@commitlint/types": "^17.0.0", + "execa": "^5.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/to-lines": { + "version": "17.0.0", + "resolved": "https://registry.npmmirror.com/@commitlint/to-lines/-/to-lines-17.0.0.tgz", + "integrity": "sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ==", + "license": "MIT", + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/top-level": { + "version": "17.0.0", + "resolved": "https://registry.npmmirror.com/@commitlint/top-level/-/top-level-17.0.0.tgz", + "integrity": "sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ==", + "license": "MIT", + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/top-level/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "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/@commitlint/top-level/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/top-level/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/top-level/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/types": { + "version": "17.0.0", + "resolved": "https://registry.npmmirror.com/@commitlint/types/-/types-17.0.0.tgz", + "integrity": "sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.5.0", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz", + "integrity": "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.0.10", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz", + "integrity": "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.19.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.1.0.tgz", + "integrity": "sha512-zbsLwtnHo84w1Kc8rScAo5GMk1GdecSlrflIbfnEBJwvTSj1SL6kkOYV+nHraMCPEy+RNZZUaZyL8JosDGCtGQ==", + "license": "MIT" + }, + "node_modules/@floating-ui/dom": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.1.0.tgz", + "integrity": "sha512-TSogMPVxbRe77QCj1dt8NmRiJasPvuc+eT5jnJ6YpLqgOD2zXc5UA3S1qwybN+GVCDNdKfpKy1oj8RpzLJvh6A==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.0.5" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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.5.0", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "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==", + "engines": { + "node": ">= 8.0.0", + "npm": ">= 5.0.0" + }, + "peerDependencies": { + "vue": "3.x" + } + }, + "node_modules/@intlify/core-base": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.2.2.tgz", + "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", + "license": "MIT", + "dependencies": { + "@intlify/devtools-if": "9.2.2", + "@intlify/message-compiler": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@intlify/devtools-if": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", + "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", + "license": "MIT", + "dependencies": { + "@intlify/shared": "9.2.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", + "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", + "license": "MIT", + "dependencies": { + "@intlify/shared": "9.2.2", + "source-map": "0.6.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@intlify/shared": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.2.2.tgz", + "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/@intlify/vue-devtools": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", + "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", + "license": "MIT", + "dependencies": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "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.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@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.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "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.14", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "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.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@node-ipc/js-queue": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "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.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "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==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "dev": true, + "license": "MIT" + }, + "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==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@pureadmin/utils": { + "version": "1.8.5", + "resolved": "https://registry.npmmirror.com/@pureadmin/utils/-/utils-1.8.5.tgz", + "integrity": "sha512-dUJUYemELZdp4rpOnlQXU5GH2YWtf22vnw3Ekdn1ksoZu3cv30C6J9TCMsFjJhYhH8ZkfYowjfCx137eByjXXw==", + "license": "MIT", + "peerDependenciesMeta": { + "echarts": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "license": "MIT", + "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" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@soda/friendly-errors-webpack-plugin": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/@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/@soda/friendly-errors-webpack-plugin/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/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/@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "license": "MIT" + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmmirror.com/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.4.10", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.15", + "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.15.tgz", + "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.31", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.32", + "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz", + "integrity": "sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/@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-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.14.191", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.191.tgz", + "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.6", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz", + "integrity": "sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmmirror.com/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.14", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.14.tgz", + "integrity": "sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A==", + "license": "MIT" + }, + "node_modules/@types/webpack-env": { + "version": "1.18.0", + "resolved": "https://registry.npmmirror.com/@types/webpack-env/-/webpack-env-1.18.0.tgz", + "integrity": "sha512-56/MAlX5WMsPVbOg7tAxnYvNYMMWr/QJiIp6BxVSW3JJXUVzzOn64qW8TzQyMSqSUFM2+PVI4aUHcHOzIz/1tg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.5.4", + "resolved": "https://registry.npmmirror.com/@types/ws/-/ws-8.5.4.tgz", + "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.47.1.tgz", + "integrity": "sha512-r4RZ2Jl9kcQN7K/dcOT+J7NAimbiis4sSM9spvWimsBvDegMhKLA5vri2jG19PmIPbDjPeWzfUPQ2hjEzA4Nmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "5.47.1", + "@typescript-eslint/type-utils": "5.47.1", + "@typescript-eslint/utils": "5.47.1", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.47.1.tgz", + "integrity": "sha512-9Vb+KIv29r6GPu4EboWOnQM7T+UjpjXvjCPhNORlgm40a9Ia9bvaPJswvtae1gip2QEeVeGh6YquqAzEgoRAlw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.47.1", + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/typescript-estree": "5.47.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.47.1.tgz", + "integrity": "sha512-9hsFDsgUwrdOoW1D97Ewog7DYSHaq4WKuNs0LHF9RiCmqB0Z+XRR4Pf7u7u9z/8CciHuJ6yxNws1XznI3ddjEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/visitor-keys": "5.47.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.47.1.tgz", + "integrity": "sha512-/UKOeo8ee80A7/GJA427oIrBi/Gd4osk/3auBUg4Rn9EahFpevVV1mUK8hjyQD5lHPqX397x6CwOk5WGh1E/1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.47.1", + "@typescript-eslint/utils": "5.47.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.47.1.tgz", + "integrity": "sha512-CmALY9YWXEpwuu6377ybJBZdtSAnzXLSQcxLSqSQSbC7VfpMu/HLVdrnVJj7ycI138EHqocW02LPJErE35cE9A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.47.1.tgz", + "integrity": "sha512-4+ZhFSuISAvRi2xUszEj0xXbNTHceV9GbH9S8oAD2a/F9SW57aJNQVOCxG8GPfSWH/X4eOPdMEU2jYVuWKEpWA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/visitor-keys": "5.47.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.47.1.tgz", + "integrity": "sha512-l90SdwqfmkuIVaREZ2ykEfCezepCLxzWMo5gVfcJsJCaT4jHT+QjgSkYhs5BMQmWqE9k3AtIfk4g211z/sTMVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.47.1", + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/typescript-estree": "5.47.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.47.1.tgz", + "integrity": "sha512-rF3pmut2JCCjh6BLRhNKdYjULMb1brvoaiWDlHfLNVgmnZ0sBVJrs3SyaKE1XoDDnJuAx/hDQryHYmPUuNq0ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.47.1", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vue-macros/api": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/api/-/api-0.4.1.tgz", + "integrity": "sha512-cKoeFoe5SSZ45OoLITmnDkKwBcgKxJrjsWZaVBsfaFly7bmt+UvBh+ZEzyJwu5ZcxnRZbmXHN+ThGFx4bJWIrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7", + "@vue-macros/common": "~1.0.0" + }, + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/@vue-macros/better-define": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/better-define/-/better-define-1.3.1.tgz", + "integrity": "sha512-MgTFfO86zMAfq1NYKWe8DCG2pJ94bxiePUKAiPENK6IKEzh+b7RocwBeiwVSAe0lFaWaDns0AFezuAYgaNfb2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/api": "~0.4.1", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/@vue-macros/common": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@vue-macros/common/-/common-1.0.0.tgz", + "integrity": "sha512-KclEa1Q7tx3xPIGxOgL+LghfIFdjOtzPik0bPsC8KmGOYp8qFmImGjWobUiS9LLr6PLCSsetsGUp1m8Hu9kIxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7", + "@vue/compiler-sfc": "^3.2.45", + "local-pkg": "^0.4.3", + "magic-string": "^0.27.0" + }, + "engines": { + "node": ">=14.19.0" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.2.25" + }, + "peerDependenciesMeta": { + "vue": { + "optional": true + } + } + }, + "node_modules/@vue-macros/common/node_modules/@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue-macros/common/node_modules/@vue/compiler-sfc/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/@vue-macros/common/node_modules/@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue-macros/common/node_modules/@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue-macros/common/node_modules/@vue/reactivity-transform/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/@vue-macros/common/node_modules/@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue-macros/common/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vue-macros/define-model": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/define-model/-/define-model-1.3.1.tgz", + "integrity": "sha512-XtBlXtnclMwZaXRko+EangPHXTLIjKxUXPcGqpMCihb+xzVr7dKUv6YZv/nuVucPCPvxH/Jy5BKZqXdTfh76Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "ast-walker-scope": "^0.4.0", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + }, + "peerDependencies": { + "@vueuse/core": "^9.0.0" + }, + "peerDependenciesMeta": { + "@vueuse/core": { + "optional": true + } + } + }, + "node_modules/@vue-macros/define-props": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/define-props/-/define-props-0.3.1.tgz", + "integrity": "sha512-bRfGMfdW1zRi12I5SShaPuOI0/DjJ87diC5vCwTqn93Kho8ftRtT8U3Up34ClwDHyekeA+UPy2Z0D9QEkqYoaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.2.25" + } + }, + "node_modules/@vue-macros/define-props-refs": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/@vue-macros/define-props-refs/-/define-props-refs-0.2.0.tgz", + "integrity": "sha512-0i5is9zBnhEfu2/c4gQmWoy7g121vbTygAbZaPwQjmzx5n2UtqpkOEjbTI9PqjpGQIPfIugAEe57r3i2jIvPuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.2.25" + } + }, + "node_modules/@vue-macros/define-render": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/define-render/-/define-render-1.2.1.tgz", + "integrity": "sha512-wJm19jgGM/VqiT2jZ2C/EixFpRmlVT6up1H4RDbFLtN9YZ1b4axvuooPbny/jV/VvrINhUn4MdKdN344Aj5DLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.0.0" + } + }, + "node_modules/@vue-macros/define-slots": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/define-slots/-/define-slots-0.2.1.tgz", + "integrity": "sha512-BY1jtvu/elzbPHhygx42ljea0RDz0KEyudqeRBZ1h7xu6ZUZ7QBNNY8WcELYVOf5QyT1tYKWSIcWS6XZP51CjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.0.0" + } + }, + "node_modules/@vue-macros/export-props": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/@vue-macros/export-props/-/export-props-0.2.0.tgz", + "integrity": "sha512-1+uLz8Kf6qs+dpsVTm/2dvG48rgaeb9LBMBHZ4KwsiwMUw5IKuND1fSwLrhj/4kw4jLVh/VCiuyOZbXDqcUZnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.2.25" + } + }, + "node_modules/@vue-macros/hoist-static": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@vue-macros/hoist-static/-/hoist-static-1.2.0.tgz", + "integrity": "sha512-mkQbmM0070yrpgLbsJO/7Q/5Z22FWOTzF44y6hgYsYQQy/aEKn/1pUXGpMXuxFVZ4Zmi+TWOiKLNPC7/oq+eOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/@vue-macros/named-template": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/named-template/-/named-template-0.2.1.tgz", + "integrity": "sha512-DEVgYWCNuY3JIwmGORS0d2xDz9qr9Ts6VdkD89iCOpJSmFnjZKa+b6ha25CQFfN1q9KP/GJEIaaUhQlrx2aItw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "@vue/compiler-dom": "^3.2.47", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/@vue-macros/reactivity-transform": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/@vue-macros/reactivity-transform/-/reactivity-transform-0.2.2.tgz", + "integrity": "sha512-p7ILHFOJAoNtiTL+J5maKYkZPgnE1yyw9QsMml3zdXDK1dIQA+WOUbyP9d03HRggMS29ZKdIgVGSzjmZOz/UjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.15", + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "@vue/compiler-core": "^3.2.47", + "@vue/shared": "^3.2.47", + "magic-string": "^0.27.0", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.2.25" + } + }, + "node_modules/@vue-macros/reactivity-transform/node_modules/@babel/parser": { + "version": "7.20.15", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.15.tgz", + "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@vue-macros/reactivity-transform/node_modules/@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue-macros/setup-block": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/@vue-macros/setup-block/-/setup-block-0.1.0.tgz", + "integrity": "sha512-oBn9CNwtnpoxJsKLfpsHTNO7M+3JHAaRg+n3r0s8f5FHb2dcLqEHODrDw71AYj2ZT4D+yRp/aVJ3k24+PwsV9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "@vue/compiler-dom": "^3.2.45", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/@vue-macros/setup-component": { + "version": "0.15.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/setup-component/-/setup-component-0.15.1.tgz", + "integrity": "sha512-21IiUnICbKRVlXcZXv4sDRKYRFRxSi72O78solDKdBTUYuSocGrZviF3iC+2XEDb0gUJixG7cZlD+0SZrNrMAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/@vue-macros/setup-sfc": { + "version": "0.14.0", + "resolved": "https://registry.npmmirror.com/@vue-macros/setup-sfc/-/setup-sfc-0.14.0.tgz", + "integrity": "sha512-f7KhC1AkRxLX+kqOBVGuQyZ2Mykr1c8iafhYIgG5J/YrrkJQST264fkhBY9NYKtTHVZeg6gEtXDWYWtHGexulw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/@vue-macros/short-emits": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/short-emits/-/short-emits-1.2.1.tgz", + "integrity": "sha512-7uMCgOGWU+Wfa2zzWxmw0i/ml6fBHP1fYq2W04CcpLK8QGzYppaxrtwTneH23wKSGTouk78vZtm2+gd5JQZXyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@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.0.2", + "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + } + }, + "node_modules/@vue/babel-plugin-jsx/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/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.2.0", + "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", + "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.npmmirror.com/@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.npmmirror.com/@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-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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-eslint": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/@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-router": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/@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-typescript": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-typescript/-/cli-plugin-typescript-5.0.8.tgz", + "integrity": "sha512-JKJOwzJshBqsmp4yLBexwVMebOZ4VGJgbnYvmHVxasJOStF2RxwyW28ZF+zIvASGdat4sAUuo/3mAQyVhm7JHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.16", + "@types/webpack-env": "^1.15.2", + "@vue/cli-shared-utils": "^5.0.8", + "babel-loader": "^8.2.2", + "fork-ts-checker-webpack-plugin": "^6.4.0", + "globby": "^11.0.2", + "thread-loader": "^3.0.0", + "ts-loader": "^9.2.5", + "webpack": "^5.54.0" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0", + "cache-loader": "^4.1.0", + "typescript": ">=2", + "vue": "^2 || ^3.2.13", + "vue-template-compiler": "^2.0.0" + }, + "peerDependenciesMeta": { + "cache-loader": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/@vue/cli-plugin-vuex": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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/autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "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/@vue/cli-service/node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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-shared-utils": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/@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/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmmirror.com/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/@vue/cli-shared-utils/node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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/@vue/cli-shared-utils/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/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/@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-core/node_modules/@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/compiler-dom/node_modules/@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz", + "integrity": "sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-ssr": "3.2.45", + "@vue/reactivity-transform": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/@vue/compiler-core": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz", + "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/@vue/compiler-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz", + "integrity": "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz", + "integrity": "sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "node_modules/@vue/compiler-ssr/node_modules/@vue/compiler-core": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz", + "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-ssr/node_modules/@vue/compiler-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz", + "integrity": "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "node_modules/@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/@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/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmmirror.com/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/@vue/component-compiler-utils/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true, + "license": "ISC" + }, + "node_modules/@vue/devtools-api": { + "version": "6.4.5", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.4.5.tgz", + "integrity": "sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==", + "license": "MIT" + }, + "node_modules/@vue/eslint-config-typescript": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/@vue/eslint-config-typescript/-/eslint-config-typescript-9.1.0.tgz", + "integrity": "sha512-j/852/ZYQ5wDvCD3HE2q4uqJwJAceer2FwoEch1nFo+zTOsPrbzbE3cuWIs3kvu5hdFsGTMYwRwjI6fqZKDMxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "vue-eslint-parser": "^8.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0", + "eslint-plugin-vue": "^8.0.1" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.45.tgz", + "integrity": "sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.2.45" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz", + "integrity": "sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/reactivity-transform/node_modules/@vue/compiler-core": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz", + "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/reactivity-transform/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz", + "integrity": "sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz", + "integrity": "sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==", + "license": "MIT", + "dependencies": { + "@vue/runtime-core": "3.2.45", + "@vue/shared": "3.2.45", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.45.tgz", + "integrity": "sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.2.45", + "@vue/shared": "3.2.45" + }, + "peerDependencies": { + "vue": "3.2.45" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==", + "license": "MIT" + }, + "node_modules/@vue/vue-loader-v15": { + "name": "vue-loader", + "version": "15.10.1", + "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.1.tgz", + "integrity": "sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==", + "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 + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/@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": "9.10.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.10.0.tgz", + "integrity": "sha512-CxMewME07qeuzuT/AOIQGv0EhhDoojniqU6pC3F8m5VC76L47UT18DcX88kWlP3I7d3qMJ4u/PD8iSRsy3bmNA==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.10.0", + "@vueuse/shared": "9.10.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/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==", + "license": "MIT" + }, + "node_modules/@vueuse/core/node_modules/@vueuse/metadata": { + "version": "9.10.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.10.0.tgz", + "integrity": "sha512-G5VZhgTCapzU9rv0Iq2HBrVOSGzOKb+OE668NxhXNcTjUjwYxULkEhAw70FtRLMZc+hxcFAzDZlKYA0xcwNMuw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/@vueuse/shared": { + "version": "9.10.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.10.0.tgz", + "integrity": "sha512-vakHJ2ZRklAzqmcVBL38RS7BxdBA4+5poG9NsSyqJxrt9kz0zX3P5CXMy0Hm6LFbZXUgvKdqAS3pUH1zX/5qTQ==", + "license": "MIT", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/metadata": { + "version": "8.9.4", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-8.9.4.tgz", + "integrity": "sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/motion": { + "version": "2.0.0-beta.12", + "resolved": "https://registry.npmmirror.com/@vueuse/motion/-/motion-2.0.0-beta.12.tgz", + "integrity": "sha512-cAZqXexLX6xo+H1N1Mv+wBSSqG4wB+BdjIuHQ50jwlelXCDxSi8gj0K/9nDS+aUZtWh6YMwS6UGCKg58jMVglA==", + "license": "MIT", + "dependencies": { + "@vueuse/core": "^8.0.1", + "@vueuse/shared": "^8.0.1", + "framesync": "^6.1.0", + "popmotion": "^11.0.3", + "style-value-types": "^5.1.0", + "vue-demi": "*" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.1", + "vue": "^2.0.0 || >=3.0.0-rc.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/motion/node_modules/@vueuse/core": { + "version": "8.9.4", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-8.9.4.tgz", + "integrity": "sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.14", + "@vueuse/metadata": "8.9.4", + "@vueuse/shared": "8.9.4", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.1.0", + "vue": "^2.6.0 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vueuse/shared": { + "version": "8.9.4", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-8.9.4.tgz", + "integrity": "sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==", + "license": "MIT", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.1.0", + "vue": "^2.6.0 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/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.8.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/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-jsx/node_modules/acorn": { + "version": "7.4.1", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-node/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/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": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "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.npmmirror.com/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.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "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.npmmirror.com/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/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "license": "MIT" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-walker-scope": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/ast-walker-scope/-/ast-walker-scope-0.4.0.tgz", + "integrity": "sha512-THVisYmmqkcopZXJDniGgVW6BRKtjutRLytqAgw0XDabYZmxC0GfFggTFZouMhvNT7jPBkx0vOy/2Y+udCDwgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.13", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/ast-walker-scope/node_modules/@babel/parser": { + "version": "7.20.15", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.15.tgz", + "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/autoprefixer/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 + }, + "node_modules/autoprefixer/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, + "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/axios": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.2.2.tgz", + "integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/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/babel-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/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/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmmirror.com/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/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/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.3.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-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==", + "license": "MIT" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmmirror.com/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "license": "MIT", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/bonjour-service": { + "version": "1.0.14", + "resolved": "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.0.14.tgz", + "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", + "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.npmmirror.com/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.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "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.npmmirror.com/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.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "license": "MIT", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "license": "MIT", + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/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.30001441", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz", + "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "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.npmmirror.com/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.npmmirror.com/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-css": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.1.tgz", + "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", + "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.npmmirror.com/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmmirror.com/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-highlight/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmmirror.com/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/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "license": "ISC" + }, + "node_modules/clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/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/clipboardy/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmmirror.com/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/clipboardy/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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/clipboardy/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/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/clipboardy/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/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/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/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/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "license": "MIT", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmmirror.com/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true, + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true, + "license": "MIT" + }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "license": "MIT", + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.4", + "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmmirror.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-conventionalcommits": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", + "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "license": "MIT", + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/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/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/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/copy-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "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/core-js": { + "version": "3.27.1", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.27.1.tgz", + "integrity": "sha512-GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.27.1", + "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.27.1.tgz", + "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "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/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "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.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "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.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "6.7.3", + "resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.19", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "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/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/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/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.14", + "resolved": "https://registry.npmmirror.com/cssnano/-/cssnano-5.1.14.tgz", + "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^5.2.13", + "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.13", + "resolved": "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", + "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "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.0", + "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.3", + "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.1", + "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.npmmirror.com/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.npmmirror.com/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": "2.6.21", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", + "license": "MIT" + }, + "node_modules/cz-customizable": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/cz-customizable/-/cz-customizable-7.0.0.tgz", + "integrity": "sha512-pQKkGSm+8SY9VY/yeJqDOla1MjrGaG7WG4EYLLEV4VNctGO7WdzdGtWEr2ydKSkrpmTs7f8fmBksg/FaTrUAyw==", + "license": "MIT", + "dependencies": { + "editor": "1.0.0", + "find-config": "^1.0.0", + "inquirer": "^6.3.1", + "lodash": "^4.17.19", + "temp": "^0.9.0", + "word-wrap": "^1.2.3" + }, + "bin": { + "cz-cust": "standalone.js", + "cz-customizable": "standalone.js" + } + }, + "node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "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.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "license": "MIT", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/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.3.2", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.3.2.tgz", + "integrity": "sha512-qjMjTrk+RKv/sp4RPDpV5CnKhxjFI9p+GkLBOls5A8EEElldYWCWA9zceAkmfd0xIo2aU1nxiaLFoiya2sb6Cg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/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/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/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/defaults/node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.1.4", + "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/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/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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.4.0", + "resolved": "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/domready": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/domready/-/domready-1.0.8.tgz", + "integrity": "sha512-uIzsOJUNk+AdGE9a6VDeessoMCzF8RrZvJCX/W8QtyfgdR6Uofn/MvRonih3OtCO79b2VDzDOymuiABrQ4z3XA==" + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/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.1", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.1.tgz", + "integrity": "sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ==", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.4.1" + } + }, + "node_modules/echarts/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "node_modules/editor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/editor/-/editor-1.0.0.tgz", + "integrity": "sha512-SoRmbGStwNYHgKfjOrX2L0mUvp9bUVv0uPppZSOMAntEbcFtoC3MKF5b3T6HQPXKIV+QGY3xPO3JK5it5lVkuw==", + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/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.284", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true, + "license": "ISC" + }, + "node_modules/element-plus": { + "version": "2.2.28", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.28.tgz", + "integrity": "sha512-BsxF7iEaBydmRfw1Tt++EO9jRBjbtJr7ZRIrnEwz4J3Cwa1IzHCNCcx3ZwcYTlJq9CYFxv94JnbNr1EbkTou3A==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.0.6", + "@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/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.12.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmmirror.com/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.5.0", + "resolved": "https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "8.7.1", + "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", + "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^8.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/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/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/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/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmmirror.com/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/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/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/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/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-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/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/eslint/node_modules/globals": { + "version": "13.19.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmmirror.com/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/espree/node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/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/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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": "4.0.7", + "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "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/execa/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "license": "MIT", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "license": "MIT", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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-config": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/find-config/-/find-config-1.0.0.tgz", + "integrity": "sha512-Z+suHH+7LSE40WfUeZPIxSxypCWvrzdVc60xAjUShZeT5eMWM0/FQUduq3HjluyfAHWvC/aOBkT1pTZktyF/jg==", + "license": "MIT", + "dependencies": { + "user-home": "^2.0.0" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.2", + "resolved": "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", + "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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==", + "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.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "license": "MIT", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/framesync": { + "version": "6.1.2", + "resolved": "https://registry.npmmirror.com/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", + "license": "MIT", + "dependencies": { + "tslib": "2.4.0" + } + }, + "node_modules/framesync/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "license": "0BSD" + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.3", + "resolved": "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true, + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "license": "MIT" + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmmirror.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "license": "MIT", + "dependencies": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "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.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/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/global": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "license": "MIT", + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/globby/node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "license": "ISC" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true, + "license": "MIT" + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "license": "MIT", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==", + "license": "MIT" + }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "license": "ISC" + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmmirror.com/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.7", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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.npmmirror.com/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.npmmirror.com/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.3.3", + "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", + "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/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "license": "MIT", + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/htmlparser2/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/htmlparser2/node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/htmlparser2/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "license": "BSD-2-Clause" + }, + "node_modules/htmlparser2/node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/htmlparser2/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "license": "BSD-2-Clause" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/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/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/husky": { + "version": "8.0.2", + "resolved": "https://registry.npmmirror.com/husky/-/husky-8.0.2.tgz", + "integrity": "sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==", + "license": "MIT", + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "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.npmmirror.com/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.npmmirror.com/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": "4.0.6", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "license": "MIT", + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immutable": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "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/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmmirror.com/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/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.11.0", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/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-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-file-esm": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "license": "MIT", + "dependencies": { + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/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-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.7.0", + "resolved": "https://registry.npmmirror.com/joi/-/joi-17.7.0.tgz", + "integrity": "sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==", + "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.0", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "license": "BSD-3-Clause" + }, + "node_modules/js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/launch-editor": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.6.0.tgz", + "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" + } + }, + "node_modules/launch-editor-middleware": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/launch-editor-middleware/-/launch-editor-middleware-2.6.0.tgz", + "integrity": "sha512-K2yxgljj5TdCeRN1lBtO3/J26+AIDDDw+04y6VAiZbWcTdBwsYN6RrZBnW5DN/QiSIdKNjKdATLUUluWWFYTIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "launch-editor": "^2.6.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/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.0.6", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "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.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/local-pkg": { + "version": "0.4.2", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.4.2.tgz", + "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "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==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmmirror.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "license": "MIT" + }, + "node_modules/lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "license": "MIT" + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "license": "MIT" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "license": "MIT" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmmirror.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/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/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "license": "ISC" + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "license": "MIT", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.4.12", + "resolved": "https://registry.npmmirror.com/memfs/-/memfs-3.4.12.tgz", + "integrity": "sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw==", + "dev": true, + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmmirror.com/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "license": "MIT", + "dependencies": { + "is-plain-obj": "^1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.2", + "resolved": "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", + "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", + "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/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "license": "MIT", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mitt": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-1.1.2.tgz", + "integrity": "sha512-3btxP0O9iGADGWAkteQ8mzDtEspZqu4I32y4GZYCV5BrwtzdcRpF4dQgNdJadCrbBx7Lu6Sq9AVrerMHR0Hkmw==", + "license": "MIT" + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "license": "MIT", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mlly": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.1.0.tgz", + "integrity": "sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.8.1", + "pathe": "^1.0.0", + "pkg-types": "^1.0.1", + "ufo": "^1.0.1" + } + }, + "node_modules/module-alias": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/module-alias/-/module-alias-2.2.2.tgz", + "integrity": "sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", + "license": "ISC" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/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.4", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmmirror.com/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.6.7", + "resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "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.npmmirror.com/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.8", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "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.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/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/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/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/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "license": "MIT", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmmirror.com/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "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.npmmirror.com/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.1", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "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.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/pathe/-/pathe-1.0.0.tgz", + "integrity": "sha512-nPdMG0Pd09HuSsr7QOKUXO2Jr9eqaDiZvDwdyIhNG5SHYujkQHYKDfGQkulBxvbDHz8oHLsTgKN86LSwYzSHAg==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/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/pkg-types": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.0.1.tgz", + "integrity": "sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==", + "license": "MIT", + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.0.0", + "pathe": "^1.0.0" + } + }, + "node_modules/popmotion": { + "version": "11.0.5", + "resolved": "https://registry.npmmirror.com/popmotion/-/popmotion-11.0.5.tgz", + "integrity": "sha512-la8gPM1WYeFznb/JqF4GiTkRRPZsfaj2+kCxqQgr2MJylMmIKUwBfWW8Wa5fml/8gmtlD5yI01MP1QCZPWmppA==", + "license": "MIT", + "dependencies": { + "framesync": "6.1.2", + "hey-listen": "^1.0.8", + "style-value-types": "5.1.2", + "tslib": "2.4.0" + } + }, + "node_modules/popmotion/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "license": "0BSD" + }, + "node_modules/portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "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.npmmirror.com/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.0", + "resolved": "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.16.6", + "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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/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/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmmirror.com/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.3", + "resolved": "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", + "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "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.npmmirror.com/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.npmmirror.com/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-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.1", + "resolved": "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", + "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "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.npmmirror.com/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.11", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/posthtml": { + "version": "0.9.2", + "resolved": "https://registry.npmmirror.com/posthtml/-/posthtml-0.9.2.tgz", + "integrity": "sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==", + "license": "MIT", + "dependencies": { + "posthtml-parser": "^0.2.0", + "posthtml-render": "^1.0.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/posthtml-parser/-/posthtml-parser-0.2.1.tgz", + "integrity": "sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==", + "license": "MIT", + "dependencies": { + "htmlparser2": "^3.8.3", + "isobject": "^2.1.0" + } + }, + "node_modules/posthtml-parser/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/posthtml-rename-id": { + "version": "1.0.12", + "resolved": "https://registry.npmmirror.com/posthtml-rename-id/-/posthtml-rename-id-1.0.12.tgz", + "integrity": "sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "1.0.5" + } + }, + "node_modules/posthtml-render": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/posthtml-render/-/posthtml-render-1.4.0.tgz", + "integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/posthtml-svg-mode": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz", + "integrity": "sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==", + "license": "MIT", + "dependencies": { + "merge-options": "1.0.1", + "posthtml": "^0.9.2", + "posthtml-parser": "^0.2.1", + "posthtml-render": "^1.0.6" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/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": "2.8.1", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-2.8.1.tgz", + "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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": { + "version": "0.11.10", + "resolved": "https://registry.npmmirror.com/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/progress-webpack-plugin": { + "version": "1.0.16", + "resolved": "https://registry.npmmirror.com/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/progress-webpack-plugin/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/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/progress-webpack-plugin/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/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/progress-webpack-plugin/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/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/progress-webpack-plugin/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/progress-webpack-plugin/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/progress-webpack-plugin/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/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/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.1.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmmirror.com/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/query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "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.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "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.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "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.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/redent/node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/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.0", + "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true, + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/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/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmmirror.com/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.9.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": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "license": "MIT", + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "license": "MIT" + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "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.npmmirror.com/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmmirror.com/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "license": "MIT", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/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-async": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "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==", + "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/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmmirror.com/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "license": "MIT", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.57.1", + "resolved": "https://registry.npmmirror.com/sass/-/sass-1.57.1.tgz", + "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==", + "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": ">=12.0.0" + } + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.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", + "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.0.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/screenfull": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/screenfull/-/screenfull-6.0.2.tgz", + "integrity": "sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw==", + "license": "MIT", + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/scule": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/scule/-/scule-1.0.0.tgz", + "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==", + "license": "MIT" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true, + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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-value": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.7.4", + "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.7.4.tgz", + "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shvl": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/shvl/-/shvl-2.0.3.tgz", + "integrity": "sha512-V7C6S9Hlol6SzOJPnQ7qzOVEWUQImt3BNmmzh40wObhla3XOYMe4gGiYzLrJd5TFa+cI2f9LKIRJTTKZSTbWgw==", + "license": "MIT" + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "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.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/sirv": { + "version": "1.0.19", + "resolved": "https://registry.npmmirror.com/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^1.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmmirror.com/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "license": "MIT", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "license": "MIT", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmmirror.com/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/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "license": "MIT", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/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/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "license": "MIT" + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "license": "MIT" + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "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.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "license": "CC0-1.0" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "license": "ISC", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true, + "license": "MIT" + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "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.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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": "2.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/strip-literal": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-1.0.0.tgz", + "integrity": "sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.8.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/style-value-types": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/style-value-types/-/style-value-types-5.1.2.tgz", + "integrity": "sha512-Vs9fNreYF9j6W2VvuDTP7kepALi7sk0xtk2Tu8Yxi9UoajJdEVpNpCov0HsLTqXvNGKX+Uv09pkozVITi1jf3Q==", + "license": "MIT", + "dependencies": { + "hey-listen": "^1.0.8", + "tslib": "2.4.0" + } + }, + "node_modules/style-value-types/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "license": "0BSD" + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-baker": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/svg-baker/-/svg-baker-1.7.0.tgz", + "integrity": "sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==", + "license": "MIT", + "dependencies": { + "bluebird": "^3.5.0", + "clone": "^2.1.1", + "he": "^1.1.1", + "image-size": "^0.5.1", + "loader-utils": "^1.1.0", + "merge-options": "1.0.1", + "micromatch": "3.1.0", + "postcss": "^5.2.17", + "postcss-prefix-selector": "^1.6.0", + "posthtml-rename-id": "^1.0", + "posthtml-svg-mode": "^1.0.3", + "query-string": "^4.3.2", + "traverse": "^0.6.6" + } + }, + "node_modules/svg-baker-runtime": { + "version": "1.4.7", + "resolved": "https://registry.npmmirror.com/svg-baker-runtime/-/svg-baker-runtime-1.4.7.tgz", + "integrity": "sha512-Zorfwwj5+lWjk/oxwSMsRdS2sPQQdTmmsvaSpzU+i9ZWi3zugHLt6VckWfnswphQP0LmOel3nggpF5nETbt6xw==", + "license": "MIT", + "dependencies": { + "deepmerge": "1.3.2", + "mitt": "1.1.2", + "svg-baker": "^1.7.0" + } + }, + "node_modules/svg-baker/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/chalk/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/svg-baker/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/micromatch": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.0.tgz", + "integrity": "sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==", + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.2.2", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "extglob": "^2.0.2", + "fragment-cache": "^0.2.1", + "kind-of": "^5.0.2", + "nanomatch": "^1.2.1", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "license": "MIT", + "dependencies": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/svg-baker/node_modules/postcss-prefix-selector": { + "version": "1.16.0", + "resolved": "https://registry.npmmirror.com/postcss-prefix-selector/-/postcss-prefix-selector-1.16.0.tgz", + "integrity": "sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==", + "license": "MIT", + "peerDependencies": { + "postcss": ">4 <9" + } + }, + "node_modules/svg-baker/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "license": "MIT", + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/svg-baker/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-sprite-loader": { + "version": "6.0.11", + "resolved": "https://registry.npmmirror.com/svg-sprite-loader/-/svg-sprite-loader-6.0.11.tgz", + "integrity": "sha512-TedsTf8wsHH6HgdwKjUveDZRC6q5gPloYV8A8/zZaRWP929J7x6TzQ6MvZFl+YYDJuJ0Akyuu/vNVJ+fbPuYXg==", + "license": "MIT", + "dependencies": { + "bluebird": "^3.5.0", + "deepmerge": "1.3.2", + "domready": "1.0.8", + "escape-string-regexp": "1.0.5", + "loader-utils": "^1.1.0", + "svg-baker": "^1.5.0", + "svg-baker-runtime": "^1.4.7", + "url-slug": "2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/table": { + "version": "6.8.1", + "resolved": "https://registry.npmmirror.com/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "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/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/tailwindcss": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz", + "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==", + "dev": true, + "dependencies": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.0.9", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss/node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/tailwindcss/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, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss/node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/temp": { + "version": "0.9.4", + "resolved": "https://registry.npmmirror.com/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "license": "MIT", + "dependencies": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/terser": { + "version": "5.16.1", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "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.6", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "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.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "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.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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/thread-loader": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/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/thread-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/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/thread-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "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/through": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "license": "MIT" + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "license": "MIT", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-regex-range/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==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/to-regex/node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/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": "1.1.0", + "resolved": "https://registry.npmmirror.com/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/traverse": { + "version": "0.6.7", + "resolved": "https://registry.npmmirror.com/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-loader": { + "version": "9.4.2", + "resolved": "https://registry.npmmirror.com/ts-loader/-/ts-loader-9.4.2.tgz", + "integrity": "sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true, + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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/typescript": { + "version": "4.5.5", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.5.5.tgz", + "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ufo": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.0.1.tgz", + "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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/unidecode": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/unidecode/-/unidecode-0.1.8.tgz", + "integrity": "sha512-SdoZNxCWpN2tXTCrGkPF/0rL2HEq+i2gwRG1ReBvx8/0yTzC3enHfugOf8A9JBShVwwrRIkLX0YcDUGbzjbVCA==", + "engines": { + "node": ">= 0.4.12" + } + }, + "node_modules/unimport": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/unimport/-/unimport-1.2.0.tgz", + "integrity": "sha512-yMok/ubppurBE7Png1QH70Om96AxIoWCcfdxW3J/pziozShMc1UGpPgWpSckfo9ndAO5M74yNnRDdLAZy/gWQg==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "escape-string-regexp": "^5.0.0", + "fast-glob": "^3.2.12", + "local-pkg": "^0.4.2", + "magic-string": "^0.27.0", + "mlly": "^1.0.0", + "pathe": "^1.0.0", + "pkg-types": "^1.0.1", + "scule": "^1.0.0", + "strip-literal": "^1.0.0", + "unplugin": "^1.0.1" + } + }, + "node_modules/unimport/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==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unplugin": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-1.0.1.tgz", + "integrity": "sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==", + "license": "MIT", + "dependencies": { + "acorn": "^8.8.1", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + } + }, + "node_modules/unplugin-auto-import": { + "version": "0.12.1", + "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.12.1.tgz", + "integrity": "sha512-J/3ZORq5YGKG+8D5vLLOgqaHNK77izlVN07mQ752yRLqBNDbJiwPRSnUwwYqH5N6rDay1SqnJCHaUdbJ9QMI2w==", + "license": "MIT", + "dependencies": { + "@antfu/utils": "^0.7.2", + "@rollup/pluginutils": "^5.0.2", + "local-pkg": "^0.4.2", + "magic-string": "^0.27.0", + "unimport": "^1.0.2", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vueuse/core": "*" + }, + "peerDependenciesMeta": { + "@vueuse/core": { + "optional": true + } + } + }, + "node_modules/unplugin-combine": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/unplugin-combine/-/unplugin-combine-0.6.0.tgz", + "integrity": "sha512-cZkTg2Z3CcScyRi6QtpVxBZoCMsPaEHyKNh7HyqMkfWV7sKNwHllYezVOFINOGNzqSS1+xWLY3iDCiTVoH3oaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@antfu/utils": "^0.7.2", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + }, + "peerDependencies": { + "esbuild": ">=0.13", + "rollup": "^3.2.0", + "vite": "^2.3.0 || ^3.0.0 || ^4.0.0", + "webpack": "4 || 5" + }, + "peerDependenciesMeta": { + "esbuild": { + "optional": true + }, + "rollup": { + "optional": true + }, + "vite": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/unplugin-vue-components": { + "version": "0.22.12", + "resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.22.12.tgz", + "integrity": "sha512-FxyzsuBvMCYPIk+8cgscGBQ345tvwVu+qY5IhE++eorkyvA4Z1TiD/HCiim+Kbqozl10i4K+z+NCa2WO2jexRA==", + "license": "MIT", + "dependencies": { + "@antfu/utils": "^0.7.2", + "@rollup/pluginutils": "^5.0.2", + "chokidar": "^3.5.3", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "local-pkg": "^0.4.2", + "magic-string": "^0.27.0", + "minimatch": "^5.1.1", + "resolve": "^1.22.1", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@babel/parser": "^7.15.8", + "vue": "2 || 3" + }, + "peerDependenciesMeta": { + "@babel/parser": { + "optional": true + } + } + }, + "node_modules/unplugin-vue-components/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==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/unplugin-vue-components/node_modules/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/unplugin-vue-define-options": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/unplugin-vue-define-options/-/unplugin-vue-define-options-1.2.1.tgz", + "integrity": "sha512-ximwYzxHislX5nC4ZgD4ee6qrhzY65IhnhfzpzouY9mzbBDoEFUEVizVfvm+j4XBTtLXDloUuoVZhuqYdPfRTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "ast-walker-scope": "^0.4.0", + "unplugin": "^1.0.1" + }, + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/unplugin-vue-macros": { + "version": "1.7.3", + "resolved": "https://registry.npmmirror.com/unplugin-vue-macros/-/unplugin-vue-macros-1.7.3.tgz", + "integrity": "sha512-HJ1cA0NiJIPbfDIaYZf+KgJ65nof8LMdU187ZrKUckNQwrmE92ySboc/4LP0Dzo+Yw6XPQ2kNECwVwqyp0VAcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/better-define": "1.3.1", + "@vue-macros/common": "1.0.0", + "@vue-macros/define-model": "1.3.1", + "@vue-macros/define-props": "0.3.1", + "@vue-macros/define-props-refs": "0.2.0", + "@vue-macros/define-render": "1.2.1", + "@vue-macros/define-slots": "0.2.1", + "@vue-macros/export-props": "0.2.0", + "@vue-macros/hoist-static": "1.2.0", + "@vue-macros/named-template": "0.2.1", + "@vue-macros/reactivity-transform": "0.2.2", + "@vue-macros/setup-block": "0.1.0", + "@vue-macros/setup-component": "0.15.1", + "@vue-macros/setup-sfc": "0.14.0", + "@vue-macros/short-emits": "1.2.1", + "unplugin-combine": "^0.6.0", + "unplugin-vue-define-options": "1.2.1" + }, + "engines": { + "node": ">=14.19.0" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.2.25" + } + }, + "node_modules/unplugin/node_modules/webpack-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", + "license": "MIT" + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "license": "MIT", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "license": "MIT", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "license": "MIT" + }, + "node_modules/url-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/url-slug/-/url-slug-2.0.0.tgz", + "integrity": "sha512-aiNmSsVgrjCiJ2+KWPferjT46YFKoE8i0YX04BlMVDue022Xwhg/zYlnZ6V9/mP3p8Wj7LEp0myiTkC/p6sxew==", + "license": "MIT", + "dependencies": { + "unidecode": "0.1.8" + } + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==", + "license": "MIT", + "dependencies": { + "os-homedir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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": "8.3.2", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "license": "MIT" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "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.npmmirror.com/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.2.45", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.45.tgz", + "integrity": "sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-sfc": "3.2.45", + "@vue/runtime-dom": "3.2.45", + "@vue/server-renderer": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "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": "8.3.0", + "resolved": "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", + "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.2", + "eslint-scope": "^7.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.0.0", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.22.0 || ^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.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "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" + } + }, + "node_modules/vue-eslint-parser/node_modules/espree": { + "version": "9.4.1", + "resolved": "https://registry.npmmirror.com/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmmirror.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-i18n": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz", + "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==", + "license": "MIT", + "dependencies": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2", + "@vue/devtools-api": "^6.2.1" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-loader": { + "version": "17.0.1", + "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-17.0.1.tgz", + "integrity": "sha512-/OOyugJnImKCkAKrAvdsWMuwoCqGxWT5USLsjohzWbMgOwpA5wQmzQiLMzZd7DjhIfunzAGIApTOgIylz/kwcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + }, + "peerDependencies": { + "webpack": "^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "@vue/compiler-sfc": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/vue-loader/node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/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-router": { + "version": "4.1.6", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.1.6.tgz", + "integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.4.5" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue/node_modules/@vue/compiler-core": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz", + "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/vue/node_modules/@vue/compiler-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz", + "integrity": "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "node_modules/vuex": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/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/vuex-persistedstate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/vuex-persistedstate/-/vuex-persistedstate-4.1.0.tgz", + "integrity": "sha512-3SkEj4NqwM69ikJdFVw6gObeB0NHyspRYMYkR/EbhR0hbvAKyR5gksVhtAfY1UYuWUOCCA0QNGwv9pOwdj+XUQ==", + "license": "MIT", + "dependencies": { + "deepmerge": "^4.2.2", + "shvl": "^2.0.3" + }, + "peerDependencies": { + "vuex": "^3.0 || ^4.0.0-rc" + } + }, + "node_modules/vuex-persistedstate/node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.75.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", + "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.7.0", + "resolved": "https://registry.npmmirror.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz", + "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/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-chain/node_modules/deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmmirror.com/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/webpack-dev-server": { + "version": "4.11.1", + "resolved": "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", + "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.1", + "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", + "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.4.2" + }, + "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-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "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/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.4.6", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/@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.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "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.npmmirror.com/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.npmmirror.com/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.2", + "resolved": "https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==", + "dev": true, + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.0", + "resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "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/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmmirror.com/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/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmmirror.com/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/yorkie/node_modules/normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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/yorkie/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true, + "license": "ISC" + }, + "node_modules/zrender": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.1.tgz", + "integrity": "sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA==", + "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==" + } + }, + "dependencies": { + "@achrinza/node-ipc": { + "version": "9.2.6", + "resolved": "https://registry.npmmirror.com/@achrinza/node-ipc/-/node-ipc-9.2.6.tgz", + "integrity": "sha512-ULSIYPy4ZPM301dfCxRz0l2GJjOwIo/PqmWonIu1bLml7UmnVQmH+juJcoyXp6E8gIRRNAjGYftJnNQlfy4vPg==", + "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.0", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@antfu/utils": { + "version": "0.7.2", + "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.2.tgz", + "integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==" + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.20.10", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", + "dev": true + }, + "@babel/core": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.20.7.tgz", + "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.7", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz", + "integrity": "sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/helpers": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.20.7.tgz", + "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "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.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@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-class-static-block": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", + "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.7.tgz", + "integrity": "sha512-JB45hbUweYpwAGjkiM7uCyXMENH2lG+9r3G2E+ttc2PRXAoEkpfd/KW5jDg4j8RS6tLtTG1jZi9LbHZVSfs1/A==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/plugin-syntax-decorators": "^7.19.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", + "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.19.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", + "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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.20.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@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.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", + "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", + "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.19.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@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.20.0", + "@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-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.20.10", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.20.10.tgz", + "integrity": "sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@commitlint/cli": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/cli/-/cli-17.3.0.tgz", + "integrity": "sha512-/H0md7TsKflKzVPz226VfXzVafJFO1f9+r2KcFvmBu08V0T56lZU1s8WL7/xlxqLMqBTVaBf7Ixtc4bskdEEZg==", + "requires": { + "@commitlint/format": "^17.0.0", + "@commitlint/lint": "^17.3.0", + "@commitlint/load": "^17.3.0", + "@commitlint/read": "^17.2.0", + "@commitlint/types": "^17.0.0", + "execa": "^5.0.0", + "lodash.isfunction": "^3.0.9", + "resolve-from": "5.0.0", + "resolve-global": "1.0.0", + "yargs": "^17.0.0" + } + }, + "@commitlint/config-conventional": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/config-conventional/-/config-conventional-17.3.0.tgz", + "integrity": "sha512-hgI+fN5xF8nhS9uG/V06xyT0nlcyvHHMkq0kwRSr96vl5BFlRGaL2C0/YY4kQagfU087tmj01bJkG9Ek98Wllw==", + "requires": { + "conventional-changelog-conventionalcommits": "^5.0.0" + } + }, + "@commitlint/config-validator": { + "version": "17.1.0", + "resolved": "https://registry.npmmirror.com/@commitlint/config-validator/-/config-validator-17.1.0.tgz", + "integrity": "sha512-Q1rRRSU09ngrTgeTXHq6ePJs2KrI+axPTgkNYDWSJIuS1Op4w3J30vUfSXjwn5YEJHklK3fSqWNHmBhmTR7Vdg==", + "requires": { + "@commitlint/types": "^17.0.0", + "ajv": "^8.11.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "@commitlint/ensure": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/ensure/-/ensure-17.3.0.tgz", + "integrity": "sha512-kWbrQHDoW5veIUQx30gXoLOCjWvwC6OOEofhPCLl5ytRPBDAQObMbxTha1Bt2aSyNE/IrJ0s0xkdZ1Gi3wJwQg==", + "requires": { + "@commitlint/types": "^17.0.0", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" + } + }, + "@commitlint/execute-rule": { + "version": "17.0.0", + "resolved": "https://registry.npmmirror.com/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz", + "integrity": "sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==" + }, + "@commitlint/format": { + "version": "17.0.0", + "resolved": "https://registry.npmmirror.com/@commitlint/format/-/format-17.0.0.tgz", + "integrity": "sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA==", + "requires": { + "@commitlint/types": "^17.0.0", + "chalk": "^4.1.0" + } + }, + "@commitlint/is-ignored": { + "version": "17.2.0", + "resolved": "https://registry.npmmirror.com/@commitlint/is-ignored/-/is-ignored-17.2.0.tgz", + "integrity": "sha512-rgUPUQraHxoMLxiE8GK430HA7/R2vXyLcOT4fQooNrZq9ERutNrP6dw3gdKLkq22Nede3+gEHQYUzL4Wu75ndg==", + "requires": { + "@commitlint/types": "^17.0.0", + "semver": "7.3.7" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@commitlint/lint": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/lint/-/lint-17.3.0.tgz", + "integrity": "sha512-VilOTPg0i9A7CCWM49E9bl5jytfTvfTxf9iwbWAWNjxJ/A5mhPKbm3sHuAdwJ87tDk1k4j8vomYfH23iaY+1Rw==", + "requires": { + "@commitlint/is-ignored": "^17.2.0", + "@commitlint/parse": "^17.2.0", + "@commitlint/rules": "^17.3.0", + "@commitlint/types": "^17.0.0" + } + }, + "@commitlint/load": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/load/-/load-17.3.0.tgz", + "integrity": "sha512-u/pV6rCAJrCUN+HylBHLzZ4qj1Ew3+eN9GBPhNi9otGxtOfA8b+8nJSxaNbcC23Ins/kcpjGf9zPSVW7628Umw==", + "requires": { + "@commitlint/config-validator": "^17.1.0", + "@commitlint/execute-rule": "^17.0.0", + "@commitlint/resolve-extends": "^17.3.0", + "@commitlint/types": "^17.0.0", + "@types/node": "^14.0.0", + "chalk": "^4.1.0", + "cosmiconfig": "^7.0.0", + "cosmiconfig-typescript-loader": "^4.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0", + "resolve-from": "^5.0.0", + "ts-node": "^10.8.1", + "typescript": "^4.6.4" + }, + "dependencies": { + "@types/node": { + "version": "14.18.36", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==" + }, + "cosmiconfig-typescript-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz", + "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==", + "requires": {} + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmmirror.com/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + } + }, + "typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==" + } + } + }, + "@commitlint/message": { + "version": "17.2.0", + "resolved": "https://registry.npmmirror.com/@commitlint/message/-/message-17.2.0.tgz", + "integrity": "sha512-/4l2KFKxBOuoEn1YAuuNNlAU05Zt7sNsC9H0mPdPm3chOrT4rcX0pOqrQcLtdMrMkJz0gC7b3SF80q2+LtdL9Q==" + }, + "@commitlint/parse": { + "version": "17.2.0", + "resolved": "https://registry.npmmirror.com/@commitlint/parse/-/parse-17.2.0.tgz", + "integrity": "sha512-vLzLznK9Y21zQ6F9hf8D6kcIJRb2haAK5T/Vt1uW2CbHYOIfNsR/hJs0XnF/J9ctM20Tfsqv4zBitbYvVw7F6Q==", + "requires": { + "@commitlint/types": "^17.0.0", + "conventional-changelog-angular": "^5.0.11", + "conventional-commits-parser": "^3.2.2" + } + }, + "@commitlint/read": { + "version": "17.2.0", + "resolved": "https://registry.npmmirror.com/@commitlint/read/-/read-17.2.0.tgz", + "integrity": "sha512-bbblBhrHkjxra3ptJNm0abxu7yeAaxumQ8ZtD6GIVqzURCETCP7Dm0tlVvGRDyXBuqX6lIJxh3W7oyKqllDsHQ==", + "requires": { + "@commitlint/top-level": "^17.0.0", + "@commitlint/types": "^17.0.0", + "fs-extra": "^10.0.0", + "git-raw-commits": "^2.0.0", + "minimist": "^1.2.6" + }, + "dependencies": { + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, + "@commitlint/resolve-extends": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/resolve-extends/-/resolve-extends-17.3.0.tgz", + "integrity": "sha512-Lf3JufJlc5yVEtJWC8o4IAZaB8FQAUaVlhlAHRACd0TTFizV2Lk2VH70et23KgvbQNf7kQzHs/2B4QZalBv6Cg==", + "requires": { + "@commitlint/config-validator": "^17.1.0", + "@commitlint/types": "^17.0.0", + "import-fresh": "^3.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + } + }, + "@commitlint/rules": { + "version": "17.3.0", + "resolved": "https://registry.npmmirror.com/@commitlint/rules/-/rules-17.3.0.tgz", + "integrity": "sha512-s2UhDjC5yP2utx3WWqsnZRzjgzAX8BMwr1nltC0u0p8T/nzpkx4TojEfhlsOUj1t7efxzZRjUAV0NxNwdJyk+g==", + "requires": { + "@commitlint/ensure": "^17.3.0", + "@commitlint/message": "^17.2.0", + "@commitlint/to-lines": "^17.0.0", + "@commitlint/types": "^17.0.0", + "execa": "^5.0.0" + } + }, + "@commitlint/to-lines": { + "version": "17.0.0", + "resolved": "https://registry.npmmirror.com/@commitlint/to-lines/-/to-lines-17.0.0.tgz", + "integrity": "sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ==" + }, + "@commitlint/top-level": { + "version": "17.0.0", + "resolved": "https://registry.npmmirror.com/@commitlint/top-level/-/top-level-17.0.0.tgz", + "integrity": "sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ==", + "requires": { + "find-up": "^5.0.0" + }, + "dependencies": { + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + } + } + }, + "@commitlint/types": { + "version": "17.0.0", + "resolved": "https://registry.npmmirror.com/@commitlint/types/-/types-17.0.0.tgz", + "integrity": "sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==", + "requires": { + "chalk": "^4.1.0" + } + }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@ctrl/tinycolor": { + "version": "3.5.0", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz", + "integrity": "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg==" + }, + "@element-plus/icons-vue": { + "version": "2.0.10", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz", + "integrity": "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==", + "requires": {} + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.19.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + } + } + }, + "@floating-ui/core": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.1.0.tgz", + "integrity": "sha512-zbsLwtnHo84w1Kc8rScAo5GMk1GdecSlrflIbfnEBJwvTSj1SL6kkOYV+nHraMCPEy+RNZZUaZyL8JosDGCtGQ==" + }, + "@floating-ui/dom": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.1.0.tgz", + "integrity": "sha512-TSogMPVxbRe77QCj1dt8NmRiJasPvuc+eT5jnJ6YpLqgOD2zXc5UA3S1qwybN+GVCDNdKfpKy1oj8RpzLJvh6A==", + "requires": { + "@floating-ui/core": "^1.0.5" + } + }, + "@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmmirror.com/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "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": {} + }, + "@intlify/core-base": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.2.2.tgz", + "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", + "requires": { + "@intlify/devtools-if": "9.2.2", + "@intlify/message-compiler": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2" + } + }, + "@intlify/devtools-if": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", + "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", + "requires": { + "@intlify/shared": "9.2.2" + } + }, + "@intlify/message-compiler": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", + "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", + "requires": { + "@intlify/shared": "9.2.2", + "source-map": "0.6.1" + } + }, + "@intlify/shared": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.2.2.tgz", + "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==" + }, + "@intlify/vue-devtools": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", + "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", + "requires": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "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.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "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.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "@node-ipc/js-queue": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@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.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" + } + }, + "@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "dev": true + }, + "@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==" + }, + "@pureadmin/utils": { + "version": "1.8.5", + "resolved": "https://registry.npmmirror.com/@pureadmin/utils/-/utils-1.8.5.tgz", + "integrity": "sha512-dUJUYemELZdp4rpOnlQXU5GH2YWtf22vnw3Ekdn1ksoZu3cv30C6J9TCMsFjJhYhH8ZkfYowjfCx137eByjXXw==" + }, + "@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "@soda/friendly-errors-webpack-plugin": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/@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": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmmirror.com/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.4.10", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "@types/express": { + "version": "4.17.15", + "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.15.tgz", + "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.31", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.32", + "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz", + "integrity": "sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true + }, + "@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/lodash": { + "version": "4.14.191", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.191.tgz", + "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==" + }, + "@types/lodash-es": { + "version": "4.17.6", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz", + "integrity": "sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + }, + "@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmmirror.com/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "requires": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/web-bluetooth": { + "version": "0.0.14", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.14.tgz", + "integrity": "sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A==" + }, + "@types/webpack-env": { + "version": "1.18.0", + "resolved": "https://registry.npmmirror.com/@types/webpack-env/-/webpack-env-1.18.0.tgz", + "integrity": "sha512-56/MAlX5WMsPVbOg7tAxnYvNYMMWr/QJiIp6BxVSW3JJXUVzzOn64qW8TzQyMSqSUFM2+PVI4aUHcHOzIz/1tg==", + "dev": true + }, + "@types/ws": { + "version": "8.5.4", + "resolved": "https://registry.npmmirror.com/@types/ws/-/ws-8.5.4.tgz", + "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.47.1.tgz", + "integrity": "sha512-r4RZ2Jl9kcQN7K/dcOT+J7NAimbiis4sSM9spvWimsBvDegMhKLA5vri2jG19PmIPbDjPeWzfUPQ2hjEzA4Nmg==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.47.1", + "@typescript-eslint/type-utils": "5.47.1", + "@typescript-eslint/utils": "5.47.1", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + } + } + }, + "@typescript-eslint/parser": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.47.1.tgz", + "integrity": "sha512-9Vb+KIv29r6GPu4EboWOnQM7T+UjpjXvjCPhNORlgm40a9Ia9bvaPJswvtae1gip2QEeVeGh6YquqAzEgoRAlw==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.47.1", + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/typescript-estree": "5.47.1", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.47.1.tgz", + "integrity": "sha512-9hsFDsgUwrdOoW1D97Ewog7DYSHaq4WKuNs0LHF9RiCmqB0Z+XRR4Pf7u7u9z/8CciHuJ6yxNws1XznI3ddjEw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/visitor-keys": "5.47.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.47.1.tgz", + "integrity": "sha512-/UKOeo8ee80A7/GJA427oIrBi/Gd4osk/3auBUg4Rn9EahFpevVV1mUK8hjyQD5lHPqX397x6CwOk5WGh1E/1w==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.47.1", + "@typescript-eslint/utils": "5.47.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.47.1.tgz", + "integrity": "sha512-CmALY9YWXEpwuu6377ybJBZdtSAnzXLSQcxLSqSQSbC7VfpMu/HLVdrnVJj7ycI138EHqocW02LPJErE35cE9A==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.47.1.tgz", + "integrity": "sha512-4+ZhFSuISAvRi2xUszEj0xXbNTHceV9GbH9S8oAD2a/F9SW57aJNQVOCxG8GPfSWH/X4eOPdMEU2jYVuWKEpWA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/visitor-keys": "5.47.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.47.1.tgz", + "integrity": "sha512-l90SdwqfmkuIVaREZ2ykEfCezepCLxzWMo5gVfcJsJCaT4jHT+QjgSkYhs5BMQmWqE9k3AtIfk4g211z/sTMVw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.47.1", + "@typescript-eslint/types": "5.47.1", + "@typescript-eslint/typescript-estree": "5.47.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.47.1", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.47.1.tgz", + "integrity": "sha512-rF3pmut2JCCjh6BLRhNKdYjULMb1brvoaiWDlHfLNVgmnZ0sBVJrs3SyaKE1XoDDnJuAx/hDQryHYmPUuNq0ig==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.47.1", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@vue-macros/api": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/api/-/api-0.4.1.tgz", + "integrity": "sha512-cKoeFoe5SSZ45OoLITmnDkKwBcgKxJrjsWZaVBsfaFly7bmt+UvBh+ZEzyJwu5ZcxnRZbmXHN+ThGFx4bJWIrg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7", + "@vue-macros/common": "~1.0.0" + } + }, + "@vue-macros/better-define": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/better-define/-/better-define-1.3.1.tgz", + "integrity": "sha512-MgTFfO86zMAfq1NYKWe8DCG2pJ94bxiePUKAiPENK6IKEzh+b7RocwBeiwVSAe0lFaWaDns0AFezuAYgaNfb2g==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/api": "~0.4.1", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + } + }, + "@vue-macros/common": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@vue-macros/common/-/common-1.0.0.tgz", + "integrity": "sha512-KclEa1Q7tx3xPIGxOgL+LghfIFdjOtzPik0bPsC8KmGOYp8qFmImGjWobUiS9LLr6PLCSsetsGUp1m8Hu9kIxg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7", + "@vue/compiler-sfc": "^3.2.45", + "local-pkg": "^0.4.3", + "magic-string": "^0.27.0" + }, + "dependencies": { + "@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + }, + "dependencies": { + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + } + } + }, + "@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + }, + "dependencies": { + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + } + } + }, + "@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true + }, + "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==", + "dev": true + } + } + }, + "@vue-macros/define-model": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/define-model/-/define-model-1.3.1.tgz", + "integrity": "sha512-XtBlXtnclMwZaXRko+EangPHXTLIjKxUXPcGqpMCihb+xzVr7dKUv6YZv/nuVucPCPvxH/Jy5BKZqXdTfh76Vw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "ast-walker-scope": "^0.4.0", + "unplugin": "^1.0.1" + } + }, + "@vue-macros/define-props": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/define-props/-/define-props-0.3.1.tgz", + "integrity": "sha512-bRfGMfdW1zRi12I5SShaPuOI0/DjJ87diC5vCwTqn93Kho8ftRtT8U3Up34ClwDHyekeA+UPy2Z0D9QEkqYoaA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + } + }, + "@vue-macros/define-props-refs": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/@vue-macros/define-props-refs/-/define-props-refs-0.2.0.tgz", + "integrity": "sha512-0i5is9zBnhEfu2/c4gQmWoy7g121vbTygAbZaPwQjmzx5n2UtqpkOEjbTI9PqjpGQIPfIugAEe57r3i2jIvPuA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + } + }, + "@vue-macros/define-render": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/define-render/-/define-render-1.2.1.tgz", + "integrity": "sha512-wJm19jgGM/VqiT2jZ2C/EixFpRmlVT6up1H4RDbFLtN9YZ1b4axvuooPbny/jV/VvrINhUn4MdKdN344Aj5DLA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + } + }, + "@vue-macros/define-slots": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/define-slots/-/define-slots-0.2.1.tgz", + "integrity": "sha512-BY1jtvu/elzbPHhygx42ljea0RDz0KEyudqeRBZ1h7xu6ZUZ7QBNNY8WcELYVOf5QyT1tYKWSIcWS6XZP51CjA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + } + }, + "@vue-macros/export-props": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/@vue-macros/export-props/-/export-props-0.2.0.tgz", + "integrity": "sha512-1+uLz8Kf6qs+dpsVTm/2dvG48rgaeb9LBMBHZ4KwsiwMUw5IKuND1fSwLrhj/4kw4jLVh/VCiuyOZbXDqcUZnw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + } + }, + "@vue-macros/hoist-static": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@vue-macros/hoist-static/-/hoist-static-1.2.0.tgz", + "integrity": "sha512-mkQbmM0070yrpgLbsJO/7Q/5Z22FWOTzF44y6hgYsYQQy/aEKn/1pUXGpMXuxFVZ4Zmi+TWOiKLNPC7/oq+eOg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + } + }, + "@vue-macros/named-template": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/named-template/-/named-template-0.2.1.tgz", + "integrity": "sha512-DEVgYWCNuY3JIwmGORS0d2xDz9qr9Ts6VdkD89iCOpJSmFnjZKa+b6ha25CQFfN1q9KP/GJEIaaUhQlrx2aItw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "@vue/compiler-dom": "^3.2.47", + "unplugin": "^1.0.1" + } + }, + "@vue-macros/reactivity-transform": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/@vue-macros/reactivity-transform/-/reactivity-transform-0.2.2.tgz", + "integrity": "sha512-p7ILHFOJAoNtiTL+J5maKYkZPgnE1yyw9QsMml3zdXDK1dIQA+WOUbyP9d03HRggMS29ZKdIgVGSzjmZOz/UjQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.15", + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "@vue/compiler-core": "^3.2.47", + "@vue/shared": "^3.2.47", + "magic-string": "^0.27.0", + "unplugin": "^1.0.1" + }, + "dependencies": { + "@babel/parser": { + "version": "7.20.15", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.15.tgz", + "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==", + "dev": true + }, + "@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true + } + } + }, + "@vue-macros/setup-block": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/@vue-macros/setup-block/-/setup-block-0.1.0.tgz", + "integrity": "sha512-oBn9CNwtnpoxJsKLfpsHTNO7M+3JHAaRg+n3r0s8f5FHb2dcLqEHODrDw71AYj2ZT4D+yRp/aVJ3k24+PwsV9g==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "@vue/compiler-dom": "^3.2.45", + "unplugin": "^1.0.1" + } + }, + "@vue-macros/setup-component": { + "version": "0.15.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/setup-component/-/setup-component-0.15.1.tgz", + "integrity": "sha512-21IiUnICbKRVlXcZXv4sDRKYRFRxSi72O78solDKdBTUYuSocGrZviF3iC+2XEDb0gUJixG7cZlD+0SZrNrMAw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + } + }, + "@vue-macros/setup-sfc": { + "version": "0.14.0", + "resolved": "https://registry.npmmirror.com/@vue-macros/setup-sfc/-/setup-sfc-0.14.0.tgz", + "integrity": "sha512-f7KhC1AkRxLX+kqOBVGuQyZ2Mykr1c8iafhYIgG5J/YrrkJQST264fkhBY9NYKtTHVZeg6gEtXDWYWtHGexulw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + } + }, + "@vue-macros/short-emits": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue-macros/short-emits/-/short-emits-1.2.1.tgz", + "integrity": "sha512-7uMCgOGWU+Wfa2zzWxmw0i/ml6fBHP1fYq2W04CcpLK8QGzYppaxrtwTneH23wKSGTouk78vZtm2+gd5JQZXyw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "unplugin": "^1.0.1" + } + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@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.0.2", + "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "html-tags": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", + "dev": true + } + } + }, + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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" + } + }, + "@vue/babel-preset-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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" + } + }, + "@vue/cli-plugin-eslint": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/@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" + } + }, + "@vue/cli-plugin-router": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/@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-typescript": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-typescript/-/cli-plugin-typescript-5.0.8.tgz", + "integrity": "sha512-JKJOwzJshBqsmp4yLBexwVMebOZ4VGJgbnYvmHVxasJOStF2RxwyW28ZF+zIvASGdat4sAUuo/3mAQyVhm7JHg==", + "dev": true, + "requires": { + "@babel/core": "^7.12.16", + "@types/webpack-env": "^1.15.2", + "@vue/cli-shared-utils": "^5.0.8", + "babel-loader": "^8.2.2", + "fork-ts-checker-webpack-plugin": "^6.4.0", + "globby": "^11.0.2", + "thread-loader": "^3.0.0", + "ts-loader": "^9.2.5", + "webpack": "^5.54.0" + } + }, + "@vue/cli-plugin-vuex": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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": { + "autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + } + } + }, + "@vue/cli-shared-utils": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/@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": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmmirror.com/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" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + }, + "dependencies": { + "@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true + } + } + }, + "@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "dev": true, + "requires": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + }, + "dependencies": { + "@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true + } + } + }, + "@vue/compiler-sfc": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz", + "integrity": "sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-ssr": "3.2.45", + "@vue/reactivity-transform": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz", + "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz", + "integrity": "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==", + "requires": { + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + } + } + }, + "@vue/compiler-ssr": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz", + "integrity": "sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==", + "requires": { + "@vue/compiler-dom": "3.2.45", + "@vue/shared": "3.2.45" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz", + "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz", + "integrity": "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==", + "requires": { + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45" + } + } + } + }, + "@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/@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": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "@vue/devtools-api": { + "version": "6.4.5", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.4.5.tgz", + "integrity": "sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==" + }, + "@vue/eslint-config-typescript": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/@vue/eslint-config-typescript/-/eslint-config-typescript-9.1.0.tgz", + "integrity": "sha512-j/852/ZYQ5wDvCD3HE2q4uqJwJAceer2FwoEch1nFo+zTOsPrbzbE3cuWIs3kvu5hdFsGTMYwRwjI6fqZKDMxQ==", + "dev": true, + "requires": { + "vue-eslint-parser": "^8.0.0" + } + }, + "@vue/reactivity": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.45.tgz", + "integrity": "sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==", + "requires": { + "@vue/shared": "3.2.45" + } + }, + "@vue/reactivity-transform": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz", + "integrity": "sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz", + "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + } + } + }, + "@vue/runtime-core": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz", + "integrity": "sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==", + "requires": { + "@vue/reactivity": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "@vue/runtime-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz", + "integrity": "sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==", + "requires": { + "@vue/runtime-core": "3.2.45", + "@vue/shared": "3.2.45", + "csstype": "^2.6.8" + } + }, + "@vue/server-renderer": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.45.tgz", + "integrity": "sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==", + "requires": { + "@vue/compiler-ssr": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" + }, + "@vue/vue-loader-v15": { + "version": "npm:vue-loader@15.10.1", + "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.1.tgz", + "integrity": "sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==", + "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" + } + }, + "@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", + "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "dev": true + }, + "@vueuse/core": { + "version": "9.10.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.10.0.tgz", + "integrity": "sha512-CxMewME07qeuzuT/AOIQGv0EhhDoojniqU6pC3F8m5VC76L47UT18DcX88kWlP3I7d3qMJ4u/PD8iSRsy3bmNA==", + "requires": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.10.0", + "@vueuse/shared": "9.10.0", + "vue-demi": "*" + }, + "dependencies": { + "@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==" + }, + "@vueuse/metadata": { + "version": "9.10.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.10.0.tgz", + "integrity": "sha512-G5VZhgTCapzU9rv0Iq2HBrVOSGzOKb+OE668NxhXNcTjUjwYxULkEhAw70FtRLMZc+hxcFAzDZlKYA0xcwNMuw==" + }, + "@vueuse/shared": { + "version": "9.10.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.10.0.tgz", + "integrity": "sha512-vakHJ2ZRklAzqmcVBL38RS7BxdBA4+5poG9NsSyqJxrt9kz0zX3P5CXMy0Hm6LFbZXUgvKdqAS3pUH1zX/5qTQ==", + "requires": { + "vue-demi": "*" + } + } + } + }, + "@vueuse/metadata": { + "version": "8.9.4", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-8.9.4.tgz", + "integrity": "sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==" + }, + "@vueuse/motion": { + "version": "2.0.0-beta.12", + "resolved": "https://registry.npmmirror.com/@vueuse/motion/-/motion-2.0.0-beta.12.tgz", + "integrity": "sha512-cAZqXexLX6xo+H1N1Mv+wBSSqG4wB+BdjIuHQ50jwlelXCDxSi8gj0K/9nDS+aUZtWh6YMwS6UGCKg58jMVglA==", + "requires": { + "@vueuse/core": "^8.0.1", + "@vueuse/shared": "^8.0.1", + "framesync": "^6.1.0", + "popmotion": "^11.0.3", + "style-value-types": "^5.1.0", + "vue-demi": "*" + }, + "dependencies": { + "@vueuse/core": { + "version": "8.9.4", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-8.9.4.tgz", + "integrity": "sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==", + "requires": { + "@types/web-bluetooth": "^0.0.14", + "@vueuse/metadata": "8.9.4", + "@vueuse/shared": "8.9.4", + "vue-demi": "*" + } + } + } + }, + "@vueuse/shared": { + "version": "8.9.4", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-8.9.4.tgz", + "integrity": "sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==", + "requires": { + "vue-demi": "*" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/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.8.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==" + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {}, + "dependencies": { + "acorn": { + "version": "7.4.1", + "dev": true, + "peer": true + } + } + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + } + } + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + }, + "address": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "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" + } + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" + }, + "ast-walker-scope": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/ast-walker-scope/-/ast-walker-scope-0.4.0.tgz", + "integrity": "sha512-THVisYmmqkcopZXJDniGgVW6BRKtjutRLytqAgw0XDabYZmxC0GfFggTFZouMhvNT7jPBkx0vOy/2Y+udCDwgg==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.13", + "@babel/types": "^7.20.7" + }, + "dependencies": { + "@babel/parser": { + "version": "7.20.15", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.15.tgz", + "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==", + "dev": true + } + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmmirror.com/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.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==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.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" + } + } + } + }, + "axios": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.2.2.tgz", + "integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/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" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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" + } + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/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.3.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmmirror.com/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "bonjour-service": { + "version": "1.0.14", + "resolved": "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.0.14.tgz", + "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", + "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.npmmirror.com/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "dependencies": { + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" + } + } + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/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.30001441", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz", + "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==", + "dev": true + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "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.npmmirror.com/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.npmmirror.com/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + } + }, + "clean-css": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.1.tgz", + "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmmirror.com/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" + }, + "dependencies": { + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmmirror.com/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" + } + } + } + }, + "cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/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" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmmirror.com/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.4", + "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmmirror.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-conventionalcommits": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", + "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", + "requires": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + } + }, + "conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "requires": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + } + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" + }, + "copy-webpack-plugin": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/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" + }, + "dependencies": { + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "core-js": { + "version": "3.27.1", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.27.1.tgz", + "integrity": "sha512-GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww==" + }, + "core-js-compat": { + "version": "3.27.1", + "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.27.1.tgz", + "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", + "dev": true, + "requires": { + "browserslist": "^4.21.4" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "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" + } + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "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.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "dev": true, + "requires": {} + }, + "css-loader": { + "version": "6.7.3", + "resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.19", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "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.npmmirror.com/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" + } + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "5.1.14", + "resolved": "https://registry.npmmirror.com/cssnano/-/cssnano-5.1.14.tgz", + "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "dev": true, + "requires": { + "cssnano-preset-default": "^5.2.13", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.13", + "resolved": "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", + "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "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.3", + "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.1", + "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.npmmirror.com/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.npmmirror.com/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, + "csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "cz-customizable": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/cz-customizable/-/cz-customizable-7.0.0.tgz", + "integrity": "sha512-pQKkGSm+8SY9VY/yeJqDOla1MjrGaG7WG4EYLLEV4VNctGO7WdzdGtWEr2ydKSkrpmTs7f8fmBksg/FaTrUAyw==", + "requires": { + "editor": "1.0.0", + "find-config": "^1.0.0", + "inquirer": "^6.3.1", + "lodash": "^4.17.19", + "temp": "^0.9.0", + "word-wrap": "^1.2.3" + } + }, + "dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==" + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" + }, + "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" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + }, + "decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + } + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.3.2.tgz", + "integrity": "sha512-qjMjTrk+RKv/sp4RPDpV5CnKhxjFI9p+GkLBOls5A8EEElldYWCWA9zceAkmfd0xIo2aU1nxiaLFoiya2sb6Cg==" + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + } + }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + } + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "dev": true, + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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" + } + }, + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domready": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/domready/-/domready-1.0.8.tgz", + "integrity": "sha512-uIzsOJUNk+AdGE9a6VDeessoMCzF8RrZvJCX/W8QtyfgdR6Uofn/MvRonih3OtCO79b2VDzDOymuiABrQ4z3XA==" + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/easy-stack/-/easy-stack-1.0.1.tgz", + "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", + "dev": true + }, + "echarts": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.1.tgz", + "integrity": "sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ==", + "requires": { + "tslib": "2.3.0", + "zrender": "5.4.1" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } + } + }, + "editor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/editor/-/editor-1.0.0.tgz", + "integrity": "sha512-SoRmbGStwNYHgKfjOrX2L0mUvp9bUVv0uPppZSOMAntEbcFtoC3MKF5b3T6HQPXKIV+QGY3xPO3JK5it5lVkuw==" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true + }, + "element-plus": { + "version": "2.2.28", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.28.tgz", + "integrity": "sha512-BsxF7iEaBydmRfw1Tt++EO9jRBjbtJr7ZRIrnEwz4J3Cwa1IzHCNCcx3ZwcYTlJq9CYFxv94JnbNr1EbkTou3A==", + "requires": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.0.6", + "@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" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.12.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmmirror.com/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "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": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "globals": { + "version": "13.19.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + } + } + }, + "eslint-config-prettier": { + "version": "8.5.0", + "resolved": "https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-vue": { + "version": "8.7.1", + "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", + "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", + "dev": true, + "requires": { + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^8.0.1" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/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": { + "jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmmirror.com/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "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==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "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" + }, + "dependencies": { + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "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.npmmirror.com/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.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/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-config": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/find-config/-/find-config-1.0.0.tgz", + "integrity": "sha512-Z+suHH+7LSE40WfUeZPIxSxypCWvrzdVc60xAjUShZeT5eMWM0/FQUduq3HjluyfAHWvC/aOBkT1pTZktyF/jg==", + "requires": { + "user-home": "^2.0.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" + }, + "fork-ts-checker-webpack-plugin": { + "version": "6.5.2", + "resolved": "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", + "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "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==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "requires": { + "map-cache": "^0.2.2" + } + }, + "framesync": { + "version": "6.1.2", + "resolved": "https://registry.npmmirror.com/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", + "requires": { + "tslib": "2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/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.3", + "resolved": "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" + }, + "git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmmirror.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "requires": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "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.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "requires": { + "ini": "^1.3.4" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmmirror.com/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" + }, + "dependencies": { + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" + }, + "highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmmirror.com/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.7", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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.npmmirror.com/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.npmmirror.com/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.3.3", + "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true + }, + "html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true + } + } + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "dev": true + }, + "html-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", + "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" + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/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" + }, + "dependencies": { + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true + } + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "husky": { + "version": "8.0.2", + "resolved": "https://registry.npmmirror.com/husky/-/husky-8.0.2.tgz", + "integrity": "sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "requires": {} + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==" + }, + "immutable": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmmirror.com/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "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.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "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-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/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.11.0", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-file-esm": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "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-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + }, + "javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "joi": { + "version": "17.7.0", + "resolved": "https://registry.npmmirror.com/joi/-/joi-17.7.0.tgz", + "integrity": "sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + } + }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + }, + "js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true + }, + "launch-editor": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.6.0.tgz", + "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "dev": true, + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" + } + }, + "launch-editor-middleware": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/launch-editor-middleware/-/launch-editor-middleware-2.6.0.tgz", + "integrity": "sha512-K2yxgljj5TdCeRN1lBtO3/J26+AIDDDw+04y6VAiZbWcTdBwsYN6RrZBnW5DN/QiSIdKNjKdATLUUluWWFYTIA==", + "dev": true, + "requires": { + "launch-editor": "^2.6.0" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/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.0.6", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "local-pkg": { + "version": "0.4.2", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.4.2.tgz", + "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "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": {} + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmmirror.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmmirror.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" + }, + "lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" + }, + "lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==" + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmmirror.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==" + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "requires": { + "object-visit": "^1.0.0" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true + }, + "memfs": { + "version": "3.4.12", + "resolved": "https://registry.npmmirror.com/memfs/-/memfs-3.4.12.tgz", + "integrity": "sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw==", + "dev": true, + "requires": { + "fs-monkey": "^1.0.3" + } + }, + "memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "meow": { + "version": "8.1.2", + "resolved": "https://registry.npmmirror.com/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==" + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "requires": { + "is-plain-obj": "^1.1" + } + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "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": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "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==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + }, + "mini-css-extract-plugin": { + "version": "2.7.2", + "resolved": "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", + "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", + "dev": true, + "requires": { + "schema-utils": "^4.0.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "mitt": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-1.1.2.tgz", + "integrity": "sha512-3btxP0O9iGADGWAkteQ8mzDtEspZqu4I32y4GZYCV5BrwtzdcRpF4dQgNdJadCrbBx7Lu6Sq9AVrerMHR0Hkmw==" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "mlly": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.1.0.tgz", + "integrity": "sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==", + "requires": { + "acorn": "^8.8.1", + "pathe": "^1.0.0", + "pkg-types": "^1.0.1", + "ufo": "^1.0.1" + } + }, + "module-alias": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/module-alias/-/module-alias-2.2.2.tgz", + "integrity": "sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q==", + "dev": true + }, + "mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==" + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/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.4", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmmirror.com/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/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.6.7", + "resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true + }, + "node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "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.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "requires": { + "isobject": "^3.0.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmmirror.com/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "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.npmmirror.com/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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" + } + } + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "pathe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/pathe/-/pathe-1.0.0.tgz", + "integrity": "sha512-nPdMG0Pd09HuSsr7QOKUXO2Jr9eqaDiZvDwdyIhNG5SHYujkQHYKDfGQkulBxvbDHz8oHLsTgKN86LSwYzSHAg==" + }, + "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==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "pkg-types": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.0.1.tgz", + "integrity": "sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==", + "requires": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.0.0", + "pathe": "^1.0.0" + } + }, + "popmotion": { + "version": "11.0.5", + "resolved": "https://registry.npmmirror.com/popmotion/-/popmotion-11.0.5.tgz", + "integrity": "sha512-la8gPM1WYeFznb/JqF4GiTkRRPZsfaj2+kCxqQgr2MJylMmIKUwBfWW8Wa5fml/8gmtlD5yI01MP1QCZPWmppA==", + "requires": { + "framesync": "6.1.2", + "hey-listen": "^1.0.8", + "style-value-types": "5.1.2", + "tslib": "2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" + }, + "postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmmirror.com/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.0", + "resolved": "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "requires": {} + }, + "postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmmirror.com/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.3", + "resolved": "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", + "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "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.npmmirror.com/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.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.1", + "resolved": "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", + "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/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.11", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "posthtml": { + "version": "0.9.2", + "resolved": "https://registry.npmmirror.com/posthtml/-/posthtml-0.9.2.tgz", + "integrity": "sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==", + "requires": { + "posthtml-parser": "^0.2.0", + "posthtml-render": "^1.0.5" + } + }, + "posthtml-parser": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/posthtml-parser/-/posthtml-parser-0.2.1.tgz", + "integrity": "sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==", + "requires": { + "htmlparser2": "^3.8.3", + "isobject": "^2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "posthtml-rename-id": { + "version": "1.0.12", + "resolved": "https://registry.npmmirror.com/posthtml-rename-id/-/posthtml-rename-id-1.0.12.tgz", + "integrity": "sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==", + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "posthtml-render": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/posthtml-render/-/posthtml-render-1.4.0.tgz", + "integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==" + }, + "posthtml-svg-mode": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz", + "integrity": "sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==", + "requires": { + "merge-options": "1.0.1", + "posthtml": "^0.9.2", + "posthtml-parser": "^0.2.1", + "posthtml-render": "^1.0.6" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-2.8.1.tgz", + "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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": { + "version": "0.11.10", + "resolved": "https://registry.npmmirror.com/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "progress-webpack-plugin": { + "version": "1.0.16", + "resolved": "https://registry.npmmirror.com/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" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/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.1.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "requires": { + "pify": "^2.3.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "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.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "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.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "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" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "dependencies": { + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "requires": { + "min-indent": "^1.0.0" + } + } + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true + }, + "renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/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" + }, + "dependencies": { + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/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" + } + } + } + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmmirror.com/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "requires": { + "global-dirs": "^0.1.1" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "requires": { + "mimic-fn": "^1.0.0" + } + } + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmmirror.com/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + }, + "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" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmmirror.com/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass": { + "version": "1.57.1", + "resolved": "https://registry.npmmirror.com/sass/-/sass-1.57.1.tgz", + "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==", + "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": "12.6.0", + "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "screenfull": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/screenfull/-/screenfull-6.0.2.tgz", + "integrity": "sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw==" + }, + "scule": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/scule/-/scule-1.0.0.tgz", + "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "dev": true, + "requires": { + "node-forge": "^1" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmmirror.com/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-value": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "shell-quote": { + "version": "1.7.4", + "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.7.4.tgz", + "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", + "dev": true + }, + "shvl": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/shvl/-/shvl-2.0.3.tgz", + "integrity": "sha512-V7C6S9Hlol6SzOJPnQ7qzOVEWUQImt3BNmmzh40wObhla3XOYMe4gGiYzLrJd5TFa+cI2f9LKIRJTTKZSTbWgw==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "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.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "sirv": { + "version": "1.0.19", + "resolved": "https://registry.npmmirror.com/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "dev": true, + "requires": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^1.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmmirror.com/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "requires": { + "readable-stream": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "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.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + } + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "strip-literal": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-1.0.0.tgz", + "integrity": "sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==", + "requires": { + "acorn": "^8.8.1" + } + }, + "style-value-types": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/style-value-types/-/style-value-types-5.1.2.tgz", + "integrity": "sha512-Vs9fNreYF9j6W2VvuDTP7kepALi7sk0xtk2Tu8Yxi9UoajJdEVpNpCov0HsLTqXvNGKX+Uv09pkozVITi1jf3Q==", + "requires": { + "hey-listen": "^1.0.8", + "tslib": "2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.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==" + }, + "svg-baker": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/svg-baker/-/svg-baker-1.7.0.tgz", + "integrity": "sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==", + "requires": { + "bluebird": "^3.5.0", + "clone": "^2.1.1", + "he": "^1.1.1", + "image-size": "^0.5.1", + "loader-utils": "^1.1.0", + "merge-options": "1.0.1", + "micromatch": "3.1.0", + "postcss": "^5.2.17", + "postcss-prefix-selector": "^1.6.0", + "posthtml-rename-id": "^1.0", + "posthtml-svg-mode": "^1.0.3", + "query-string": "^4.3.2", + "traverse": "^0.6.6" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" + } + } + }, + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==" + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + }, + "micromatch": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.0.tgz", + "integrity": "sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.2.2", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "extglob": "^2.0.2", + "fragment-cache": "^0.2.1", + "kind-of": "^5.0.2", + "nanomatch": "^1.2.1", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "postcss-prefix-selector": { + "version": "1.16.0", + "resolved": "https://registry.npmmirror.com/postcss-prefix-selector/-/postcss-prefix-selector-1.16.0.tgz", + "integrity": "sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==", + "requires": {} + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "requires": { + "has-flag": "^1.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "svg-baker-runtime": { + "version": "1.4.7", + "resolved": "https://registry.npmmirror.com/svg-baker-runtime/-/svg-baker-runtime-1.4.7.tgz", + "integrity": "sha512-Zorfwwj5+lWjk/oxwSMsRdS2sPQQdTmmsvaSpzU+i9ZWi3zugHLt6VckWfnswphQP0LmOel3nggpF5nETbt6xw==", + "requires": { + "deepmerge": "1.3.2", + "mitt": "1.1.2", + "svg-baker": "^1.7.0" + } + }, + "svg-sprite-loader": { + "version": "6.0.11", + "resolved": "https://registry.npmmirror.com/svg-sprite-loader/-/svg-sprite-loader-6.0.11.tgz", + "integrity": "sha512-TedsTf8wsHH6HgdwKjUveDZRC6q5gPloYV8A8/zZaRWP929J7x6TzQ6MvZFl+YYDJuJ0Akyuu/vNVJ+fbPuYXg==", + "requires": { + "bluebird": "^3.5.0", + "deepmerge": "1.3.2", + "domready": "1.0.8", + "escape-string-regexp": "1.0.5", + "loader-utils": "^1.1.0", + "svg-baker": "^1.5.0", + "svg-baker-runtime": "^1.4.7", + "url-slug": "2.0.0" + } + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "table": { + "version": "6.8.1", + "resolved": "https://registry.npmmirror.com/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "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" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "tailwindcss": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz", + "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==", + "dev": true, + "requires": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.0.9", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "dependencies": { + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "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" + } + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "temp": { + "version": "0.9.4", + "resolved": "https://registry.npmmirror.com/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "requires": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "terser": { + "version": "5.16.1", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==" + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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" + } + }, + "thread-loader": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "requires": { + "readable-stream": "3" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "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" + }, + "dependencies": { + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + } + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "dev": true + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "traverse": { + "version": "0.6.7", + "resolved": "https://registry.npmmirror.com/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==" + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" + }, + "ts-loader": { + "version": "9.4.2", + "resolved": "https://registry.npmmirror.com/ts-loader/-/ts-loader-9.4.2.tgz", + "integrity": "sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + } + }, + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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" + } + }, + "typescript": { + "version": "4.5.5", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.5.5.tgz", + "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", + "dev": true + }, + "ufo": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.0.1.tgz", + "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==" + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, + "unidecode": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/unidecode/-/unidecode-0.1.8.tgz", + "integrity": "sha512-SdoZNxCWpN2tXTCrGkPF/0rL2HEq+i2gwRG1ReBvx8/0yTzC3enHfugOf8A9JBShVwwrRIkLX0YcDUGbzjbVCA==" + }, + "unimport": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/unimport/-/unimport-1.2.0.tgz", + "integrity": "sha512-yMok/ubppurBE7Png1QH70Om96AxIoWCcfdxW3J/pziozShMc1UGpPgWpSckfo9ndAO5M74yNnRDdLAZy/gWQg==", + "requires": { + "@rollup/pluginutils": "^5.0.2", + "escape-string-regexp": "^5.0.0", + "fast-glob": "^3.2.12", + "local-pkg": "^0.4.2", + "magic-string": "^0.27.0", + "mlly": "^1.0.0", + "pathe": "^1.0.0", + "pkg-types": "^1.0.1", + "scule": "^1.0.0", + "strip-literal": "^1.0.0", + "unplugin": "^1.0.1" + }, + "dependencies": { + "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==" + } + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "unplugin": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-1.0.1.tgz", + "integrity": "sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==", + "requires": { + "acorn": "^8.8.1", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + }, + "dependencies": { + "webpack-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==" + } + } + }, + "unplugin-auto-import": { + "version": "0.12.1", + "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.12.1.tgz", + "integrity": "sha512-J/3ZORq5YGKG+8D5vLLOgqaHNK77izlVN07mQ752yRLqBNDbJiwPRSnUwwYqH5N6rDay1SqnJCHaUdbJ9QMI2w==", + "requires": { + "@antfu/utils": "^0.7.2", + "@rollup/pluginutils": "^5.0.2", + "local-pkg": "^0.4.2", + "magic-string": "^0.27.0", + "unimport": "^1.0.2", + "unplugin": "^1.0.1" + } + }, + "unplugin-combine": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/unplugin-combine/-/unplugin-combine-0.6.0.tgz", + "integrity": "sha512-cZkTg2Z3CcScyRi6QtpVxBZoCMsPaEHyKNh7HyqMkfWV7sKNwHllYezVOFINOGNzqSS1+xWLY3iDCiTVoH3oaA==", + "dev": true, + "requires": { + "@antfu/utils": "^0.7.2", + "unplugin": "^1.0.1" + } + }, + "unplugin-vue-components": { + "version": "0.22.12", + "resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.22.12.tgz", + "integrity": "sha512-FxyzsuBvMCYPIk+8cgscGBQ345tvwVu+qY5IhE++eorkyvA4Z1TiD/HCiim+Kbqozl10i4K+z+NCa2WO2jexRA==", + "requires": { + "@antfu/utils": "^0.7.2", + "@rollup/pluginutils": "^5.0.2", + "chokidar": "^3.5.3", + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "local-pkg": "^0.4.2", + "magic-string": "^0.27.0", + "minimatch": "^5.1.1", + "resolve": "^1.22.1", + "unplugin": "^1.0.1" + }, + "dependencies": { + "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" + } + }, + "minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "unplugin-vue-define-options": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/unplugin-vue-define-options/-/unplugin-vue-define-options-1.2.1.tgz", + "integrity": "sha512-ximwYzxHislX5nC4ZgD4ee6qrhzY65IhnhfzpzouY9mzbBDoEFUEVizVfvm+j4XBTtLXDloUuoVZhuqYdPfRTg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/common": "~1.0.0", + "ast-walker-scope": "^0.4.0", + "unplugin": "^1.0.1" + } + }, + "unplugin-vue-macros": { + "version": "1.7.3", + "resolved": "https://registry.npmmirror.com/unplugin-vue-macros/-/unplugin-vue-macros-1.7.3.tgz", + "integrity": "sha512-HJ1cA0NiJIPbfDIaYZf+KgJ65nof8LMdU187ZrKUckNQwrmE92ySboc/4LP0Dzo+Yw6XPQ2kNECwVwqyp0VAcQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "@vue-macros/better-define": "1.3.1", + "@vue-macros/common": "1.0.0", + "@vue-macros/define-model": "1.3.1", + "@vue-macros/define-props": "0.3.1", + "@vue-macros/define-props-refs": "0.2.0", + "@vue-macros/define-render": "1.2.1", + "@vue-macros/define-slots": "0.2.1", + "@vue-macros/export-props": "0.2.0", + "@vue-macros/hoist-static": "1.2.0", + "@vue-macros/named-template": "0.2.1", + "@vue-macros/reactivity-transform": "0.2.2", + "@vue-macros/setup-block": "0.1.0", + "@vue-macros/setup-component": "0.15.1", + "@vue-macros/setup-sfc": "0.14.0", + "@vue-macros/short-emits": "1.2.1", + "unplugin-combine": "^0.6.0", + "unplugin-vue-define-options": "1.2.1" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" + } + } + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" + }, + "url-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/url-slug/-/url-slug-2.0.0.tgz", + "integrity": "sha512-aiNmSsVgrjCiJ2+KWPferjT46YFKoE8i0YX04BlMVDue022Xwhg/zYlnZ6V9/mP3p8Wj7LEp0myiTkC/p6sxew==", + "requires": { + "unidecode": "0.1.8" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==", + "requires": { + "os-homedir": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "vue": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.45.tgz", + "integrity": "sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==", + "requires": { + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-sfc": "3.2.45", + "@vue/runtime-dom": "3.2.45", + "@vue/server-renderer": "3.2.45", + "@vue/shared": "3.2.45" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz", + "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz", + "integrity": "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==", + "requires": { + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45" + } + } + } + }, + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "requires": {} + }, + "vue-eslint-parser": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", + "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", + "dev": true, + "requires": { + "debug": "^4.3.2", + "eslint-scope": "^7.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.0.0", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.5" + }, + "dependencies": { + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "espree": { + "version": "9.4.1", + "resolved": "https://registry.npmmirror.com/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + } + } + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmmirror.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-i18n": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz", + "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==", + "requires": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2", + "@vue/devtools-api": "^6.2.1" + } + }, + "vue-loader": { + "version": "17.0.1", + "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-17.0.1.tgz", + "integrity": "sha512-/OOyugJnImKCkAKrAvdsWMuwoCqGxWT5USLsjohzWbMgOwpA5wQmzQiLMzZd7DjhIfunzAGIApTOgIylz/kwcg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + }, + "dependencies": { + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/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-router": { + "version": "4.1.6", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.1.6.tgz", + "integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==", + "requires": { + "@vue/devtools-api": "^6.4.5" + } + }, + "vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "vuex": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/vuex/-/vuex-4.1.0.tgz", + "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==", + "requires": { + "@vue/devtools-api": "^6.0.0-beta.11" + } + }, + "vuex-persistedstate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/vuex-persistedstate/-/vuex-persistedstate-4.1.0.tgz", + "integrity": "sha512-3SkEj4NqwM69ikJdFVw6gObeB0NHyspRYMYkR/EbhR0hbvAKyR5gksVhtAfY1UYuWUOCCA0QNGwv9pOwdj+XUQ==", + "requires": { + "deepmerge": "^4.2.2", + "shvl": "^2.0.3" + }, + "dependencies": { + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + } + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "webpack": { + "version": "5.75.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", + "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.npmmirror.com/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "4.7.0", + "resolved": "https://registry.npmmirror.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz", + "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==", + "dev": true, + "requires": { + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" + } + }, + "webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/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" + }, + "dependencies": { + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "webpack-dev-server": { + "version": "4.11.1", + "resolved": "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", + "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.1", + "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", + "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.4.2" + }, + "dependencies": { + "ws": { + "version": "8.11.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, + "requires": {} + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "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.4.6", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whatwg-fetch": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "dependencies": { + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + } + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + }, + "yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmmirror.com/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" + } + }, + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "zrender": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.1.tgz", + "integrity": "sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA==", + "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/client/package.json b/client/package.json new file mode 100644 index 0000000..46c85ed --- /dev/null +++ b/client/package.json @@ -0,0 +1,72 @@ +{ + "name": "geracomium-admin-web", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint", + "prettier": "prettier --write .", + "prepare": "husky install" + }, + "dependencies": { + "@commitlint/cli": "^17.3.0", + "@commitlint/config-conventional": "^17.3.0", + "@icon-park/vue-next": "^1.4.2", + "@pureadmin/utils": "^1.8.5", + "@vueuse/motion": "^2.0.0-beta.12", + "axios": "^1.2.2", + "core-js": "^3.8.3", + "cz-customizable": "^7.0.0", + "echarts": "^5.4.1", + "element-plus": "^2.2.28", + "file-saver": "^2.0.5", + "global": "^4.4.0", + "husky": "^8.0.2", + "screenfull": "^6.0.2", + "svg-sprite-loader": "^6.0.11", + "unplugin-auto-import": "^0.12.1", + "unplugin-vue-components": "^0.22.12", + "vue": "^3.2.13", + "vue-i18n": "^9.2.2", + "vue-property-decorator": "^9.1.2", + "vue-router": "^4.0.3", + "vuex": "^4.0.0", + "vuex-persistedstate": "^4.1.0" + }, + "devDependencies": { + "@types/file-saver": "^2.0.5", + "@typescript-eslint/eslint-plugin": "^5.4.0", + "@typescript-eslint/parser": "^5.4.0", + "@vue/cli-plugin-babel": "~5.0.0", + "@vue/cli-plugin-eslint": "~5.0.0", + "@vue/cli-plugin-router": "~5.0.0", + "@vue/cli-plugin-typescript": "~5.0.0", + "@vue/cli-plugin-vuex": "~5.0.0", + "@vue/cli-service": "~5.0.0", + "@vue/eslint-config-typescript": "^9.1.0", + "autoprefixer": "^9.8.8", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-vue": "^8.0.3", + "postcss": "^8.4.21", + "prettier": "^2.4.1", + "sass": "^1.32.7", + "sass-loader": "^12.0.0", + "tailwindcss": "^3.2.7", + "typescript": "~4.5.5", + "unplugin-vue-macros": "^1.7.3" + }, + "config": { + "commitizen": { + "path": "node_modules/cz-customizable" + } + }, + "lint-staged": { + "src/**/*.{js,vue}": [ + "eslint --fix", + "git add" + ] + } +} diff --git a/client/postcss.config.js b/client/postcss.config.js new file mode 100644 index 0000000..9af285f --- /dev/null +++ b/client/postcss.config.js @@ -0,0 +1,7 @@ +// postcss.config.js +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {} + } +} diff --git a/client/public/favicon.ico b/client/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/client/public/index.html b/client/public/index.html new file mode 100644 index 0000000..2d61775 --- /dev/null +++ b/client/public/index.html @@ -0,0 +1,21 @@ + + + + + + + + 敬老院管理系统 + + + +
+ + + diff --git a/client/public/logo.ico b/client/public/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..7fa798a6ccc1194729852941b7f1e72b7e0bb508 GIT binary patch literal 267230 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 literal 0 HcmV?d00001 diff --git a/client/src/App.vue b/client/src/App.vue new file mode 100644 index 0000000..c9fb7ce --- /dev/null +++ b/client/src/App.vue @@ -0,0 +1,18 @@ + + + + diff --git a/client/src/apis/accident.ts b/client/src/apis/accident.ts new file mode 100644 index 0000000..8e87112 --- /dev/null +++ b/client/src/apis/accident.ts @@ -0,0 +1,80 @@ +import { http } from "@/utils"; +import { IPageSearchElderByKey } from "@/apis/bookManage"; + +interface IPageAccidentByKey { + elderName: string; + staffName: string; +} + +interface IAddAccident { + id: number; + elderId: number; + staffId: number; + occurDate: string; + description: string; + picture: string; +} + +interface IGetAccidentById { + accidentId: string; +} + +interface IEditAccident { + id: number; + name: string; + phone: string; + relation: string; + accidentDateStr: string; + accidentNum: number; +} + +// 分页查询事故登记 +export async function pageAccidentByKey(data: IPageAccidentByKey) { + return http.get("/api/accident/pageAccidentByKey", { + params: { + ...data + } + }); +} + +// 分页搜索老人 +export async function pageSearchElderByKey(data: IPageSearchElderByKey) { + return http.get("/api/accident/pageSearchElderByKey", { + params: { + ...data + } + }); +} + +// 获取护工列表 +export async function listAccidentStaff() { + return http.get("/api/accident/listAccidentStaff"); +} + +// 新增事故登记 +export function addAccident(data: IAddAccident) { + return http.post("/api/accident/addAccident", data); +} + +// 根据编号获取事故登记 +export async function getAccidentById(data: IGetAccidentById) { + return http.get("/api/accident/getAccidentById", { + params: { + ...data + } + }); +} + +// 编辑事故登记 +export function editAccident(data: IEditAccident) { + return http.put("/api/accident/editAccident", data); +} + +// 删除事故登记 +export async function deleteAccident(data: IGetAccidentById) { + return http.delete("/api/accident/deleteAccident", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/bedPanorama.ts b/client/src/apis/bedPanorama.ts new file mode 100644 index 0000000..80e8fab --- /dev/null +++ b/client/src/apis/bedPanorama.ts @@ -0,0 +1,30 @@ +import { http } from "@/utils"; + +interface IListRoomByKey { + buildingId: string; + floorId: string; + elderName: string; +} + +// 获取楼栋列表 +export async function listBuilding() { + return http.get("/api/bedPanorama/listBuilding"); +} + +// 获取楼层列表 +export function listFloorByBuildingId(buildingId: string) { + return http.get("/api/bedPanorama/listFloorByBuildingId", { + params: { + buildingId + } + }); +} + +// 获取房间列表 +export function listRoomByKey(data: IListRoomByKey) { + return http.get("/api/bedPanorama/listRoomByKey", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/bookManage.ts b/client/src/apis/bookManage.ts new file mode 100644 index 0000000..171a1d8 --- /dev/null +++ b/client/src/apis/bookManage.ts @@ -0,0 +1,86 @@ +import { http } from '@/utils' + +interface ISearchFormReserveByKey { + pageNum: number + pageSize: number + elderName?: string + payerPhone?: string +} + +export interface IPageSearchElderByKey { + pageNum: number + pageSize: number + elderName?: string + elderPhone?: string +} + +interface IAddReserve { + bedId: string + deposit: string + dueDate: string + elderAddress: string + elderAge: string + elderName: string + elderPhone: string + elderSex: string + idNum: string + payerName: string + payerPhone: string + staffId: string +} + +interface IGetReserveById { + elderId: string + reserveId: string +} + +interface IRefund { + reserveId: string +} + +// 分页查询预定 +export async function pageReserveByKey(data: ISearchFormReserveByKey) { + return http.get('/api/reserve/pageReserveByKey', { + params: { + ...data + } + }) +} + +// 分页搜索老人 +export function pageSearchElderByKey(data: IPageSearchElderByKey) { + return http.get('/api/reserve/pageSearchElderByKey', { + params: { + ...data + } + }) +} + +// 获取营销人员 +export function listReserveStaff() { + return http.get('/api/reserve/listReserveStaff') +} + +// 获取楼栋树 +export function getBuildTree() { + return http.get('/api/reserve/getBuildTree') +} + +// 新增预定 +export function addReserve(data: IAddReserve) { + return http.post('/api/reserve/addReserve', data) +} + +// 根据预定编号和老人编号获取预定信息 +export function getReserveById(data: IGetReserveById) { + return http.get('/api/reserve/getReserveByReserveIdAndElderId', { + params: { + ...data + } + }) +} + +// 退款 +export function refund(data: IRefund) { + return http.put('/api/reserve/refund',data) +} diff --git a/client/src/apis/build.ts b/client/src/apis/build.ts new file mode 100644 index 0000000..925cfac --- /dev/null +++ b/client/src/apis/build.ts @@ -0,0 +1,180 @@ +import { http } from "@/utils"; + +interface IPageBedByKey { + buildId: string; + floorId: string; + roomId: string; + bedFlag: string; +} + +interface IAddBuilding { + id: string; + name: string; + floorNum: string; +} + +interface IGetBuildingById { + buildingId: string; +} + +interface IAddFloor { + id: string; + name: string; + roomNum: string; + buildingId: string; + floorLimit: string; +} + +interface IGetFloorById { + floorId: string; +} + +interface IAddRoom { + id: string; + name: string; + typeId: string; + bedNum: string; + floorId: string; + roomLimit: string; +} + +interface IGetRoomById { + roomId: string; +} + +interface IDeleteNode { + id: string; + mark: string; +} + +interface IAddBed { + id: string; + name: string; + roomId: string; + bedLimit: string; +} + +interface IGetBedById { + bedId: string; +} + +// 床位状态 +export const IBedFlagList = [ + { label: "空闲", value: "空闲" }, + { label: "预定", value: "预定" }, + { label: "入住", value: "入住" }, + { label: "退住审核", value: "退住审核" } +]; + +// 获取楼栋-楼层-房间树 +export async function getNoBedTree() { + return http.get("/api/build/getNoBedTree"); +} + +// 分页查询床位 +export async function pageBedByKey(data: IPageBedByKey) { + return http.get("/api/build/pageBedByKey", { + params: { + ...data + } + }); +} + +// 新增楼栋 +export function addBuilding(data: IAddBuilding) { + return http.post("/api/build/addBuilding", data); +} + +// 根据编号获取楼栋 +export async function getBuildingById(data: IGetBuildingById) { + return http.get("/api/build/getBuildingById", { + params: { + ...data + } + }); +} + +// 编辑楼栋 +export function editBuilding(data: IAddBuilding) { + return http.put("/api/build/editBuilding", data); +} + +// 新增楼层 +export function addFloor(data: IAddFloor) { + return http.post("/api/build/addFloor", data); +} + +// 根据编号获取楼层 +export async function getFloorById(data: IGetFloorById) { + return http.get("/api/build/getFloorById", { + params: { + ...data + } + }); +} + +// 编辑楼层 +export function editFloor(data: IAddFloor) { + return http.put("/api/build/editFloor", data); +} + +// 获取房间类型列表 +export async function listRoomType() { + return http.get("/api/build/listRoomType"); +} + +// 新增房间 +export function addRoom(data: IAddRoom) { + return http.post("/api/build/addRoom", data); +} + +// 根据编号获取房间 +export async function getRoomById(data: IGetRoomById) { + return http.get("/api/build/getRoomById", { + params: { + ...data + } + }); +} + +// 编辑房间 +export function editRoom(data: IAddRoom) { + return http.put("/api/build/editRoom", data); +} + +// 删除节点 +export async function deleteNode(data: IDeleteNode) { + return http.delete("/api/build/deleteNode", { + params: { + ...data + } + }); +} + +// 新增床位 +export function addBed(data: IAddBed) { + return http.post("/api/build/addBed", data); +} + +// 根据编号获取床位 +export async function getBedById(data: IGetBedById) { + return http.get("/api/build/getBedById", { + params: { + ...data + } + }); +} + +// 编辑床位 +export function editBed(data: IAddBed) { + return http.put("/api/build/editBed", data); +} + +// 删除床位 +export async function deleteBed(data: IGetBedById) { + return http.delete("/api/build/deleteBed", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/cateringSet.ts b/client/src/apis/cateringSet.ts new file mode 100644 index 0000000..9135182 --- /dev/null +++ b/client/src/apis/cateringSet.ts @@ -0,0 +1,71 @@ +import { http } from "@/utils"; +import { IPageDishesByKey } from "@/apis/dishes"; + +interface IPageCateringSetByKey { + name:string; + setName: string; +} + +interface IAddCateringSet { + id: number; + name: string; + monthPrice: number; + dishesIdList: any ; +} + +interface IGetCateringSetById { + setId: string +} + +// 分页查询餐饮套餐 +export async function pageCateringSetByKey(data: IPageCateringSetByKey) { + // 因为后台返回的字段与前端表单数据的prop不一样,但是组件封装是需要一样的,所以请求前增加一些这两个字段 + Reflect.has(data, 'name') ? (data.setName = data.name) : '' + return http.get("/api/cateringSet/pageCateringSetByKey", { + params: { + ...data + } + }); +} + +// 获取菜品分类 +export function listDishesType() { + return http.post("/api/cateringSet/listDishesType"); +} + +// 分页查询菜品 +export async function pageDishesByKey(data: IPageDishesByKey) { + return http.get("/api/cateringSet/pageDishesByKey", { + params: { + ...data + } + }); +} + +// 新增餐饮套餐 +export function addCateringSet(data: IAddCateringSet) { + return http.post("/api/cateringSet/addCateringSet", data); +} + +// 根据编号查询餐饮套餐 +export async function getCateringSetById(data: IGetCateringSetById) { + return http.get("/api/cateringSet/getCateringSetById", { + params: { + ...data + } + }); +} + +// 编辑餐饮套餐 +export function editCateringSet(data: IAddCateringSet) { + return http.put("/api/cateringSet/editCateringSet", data); +} + +// 删除餐饮套餐 +export async function deleteCateringSet(data: IGetCateringSetById) { + return http.delete("/api/cateringSet/deleteCateringSet", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/checkContract.ts b/client/src/apis/checkContract.ts new file mode 100644 index 0000000..c658840 --- /dev/null +++ b/client/src/apis/checkContract.ts @@ -0,0 +1,131 @@ +import { http } from "@/utils"; +import { IPageSearchElderByKey } from "@/apis/bookManage"; + +interface IPageCheckContractByKey { + name: string; + sex: string; + idNum: string; +} + +interface IAddCheckContract { + id: string; + nursingGradeId: string; + cateringSetId: string; + bedId: string; + name: string; + idNum: string; + age: string; + sex: string; + phone: string; + address: string; + staffId: string; + signDate: string; + startDate: string; + endDate: string; + operateEmergencyContactQueryList: IEmergencyContact[]; +} + +interface IEmergencyContact { + name: string; + phone: string; + email: string; + relation: string; + receiveFlag: string; +} + +interface IGetCheckContractById { + elderId: string +} + +// 分页查询入住签约 +export async function pageCheckContractByKey(data: IPageCheckContractByKey) { + return http.get("/api/checkContract/pageCheckContractByKey", { + params: { + ...data + } + }); +} + +// 分页搜索老人 +export async function pageSearchElderByKey(data: IPageSearchElderByKey) { + return http.get("/api/checkContract/pageSearchElderByKey", { + params: { + ...data + } + }); +} + +// 获取护理等级列表 +export async function listNurseGrade() { + return http.get("/api/checkContract/listNurseGrade"); +} + +// 根据编号查询护理等级 +export async function getNurseGradeById(nurseGradeId: string) { + return http.get("/api/checkContract/getNurseGradeById", { + params: { + nurseGradeId + } + }); +} + +// 获取餐饮套餐列表 +export async function listCateringSet() { + return http.get("/api/checkContract/listCateringSet"); +} + +// 根据编号查询餐饮套餐 +export async function getCateringSetById(cateringSetId: string) { + return http.get("/api/checkContract/getCateringSetById", { + params: { + cateringSetId + } + }); +} + +// 获取楼栋树 +export async function getBuildTree() { + return http.get("/api/checkContract/getBuildTree"); +} + +// 根据编号查询床位 +export async function getBedById(bedId: string) { + return http.get("/api/checkContract/getBedById", { + params: { + bedId + } + }); +} + +// 获取营销人员 +export async function listReserveStaff() { + return http.get("/api/checkContract/listReserveStaff"); +} + +// 新增入住签约 +export function addCheckContract(data: IAddCheckContract) { + return http.post("/api/checkContract/addCheckContract", data); +} + +// 根据老人编号查询入住签约 +export async function getCheckContractById(data: IGetCheckContractById) { + return http.get("/api/checkContract/getCheckContractById", { + params: { + ...data + } + }); +} + +// 编辑入住签约 +export function editCheckContract(data: IAddCheckContract) { + return http.put("/api/checkContract/editCheckContract", data); +} + +// 删除入住签约 +export async function deleteCheckContract(data: IGetCheckContractById) { + return http.delete("/api/checkContract/deleteCheckContract", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/consume.ts b/client/src/apis/consume.ts new file mode 100644 index 0000000..2f2a005 --- /dev/null +++ b/client/src/apis/consume.ts @@ -0,0 +1,16 @@ +import { http } from "@/utils"; + +interface IPageConsumeByKey { + elderName: string; + startTime: string; + endTime: string; +} + +// 分页查询消费记录 +export async function pageConsumeByKey(data: IPageConsumeByKey) { + return http.get("/api/consume/pageConsumeByKey", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/depositRecharge.ts b/client/src/apis/depositRecharge.ts new file mode 100644 index 0000000..4bb2d1d --- /dev/null +++ b/client/src/apis/depositRecharge.ts @@ -0,0 +1,41 @@ +import { http } from "@/utils"; +import { IPageSearchElderByKey } from "@/apis/bookManage"; + +interface IPageDepositRechargeByKey { + idNum:string; + name:string; + elderName:string; + phone: string; + elderPhone: string; +} + +interface IRecharge { + elderId: string; + amount: string; +} + +// 分页查询预存充值 +export async function pageDepositRechargeByKey(data: IPageDepositRechargeByKey) { + // 因为后台返回的字段与前端表单数据的prop不一样,但是组件封装是需要一样的,所以请求前增加一些这两个字段 + Reflect.has(data, 'elderName') ? (data.name = data.elderName) : '' + Reflect.has(data, 'elderPhone') ? (data.phone = data.elderPhone) : '' + return http.get("/api/depositRecharge/pageDepositRechargeByKey", { + params: { + ...data + } + }); +} + +// 分页搜索老人 +export function pageSearchElderByKey(data: IPageSearchElderByKey) { + return http.get('/api/depositRecharge/pageSearchElderByKey', { + params: { + ...data + } + }) +} + +// 入住老人账户充值 +export function recharge(data: IRecharge) { + return http.put("/api/depositRecharge/recharge", data); +} diff --git a/client/src/apis/dishes.ts b/client/src/apis/dishes.ts new file mode 100644 index 0000000..accd0c3 --- /dev/null +++ b/client/src/apis/dishes.ts @@ -0,0 +1,104 @@ +import { http } from "@/utils"; + +interface IListDishesType { + dishesTypeName: string; +} + +export interface IPageDishesByKey { + dishesName: string; + typeId: number; +} + +interface IAddDishesType { + id: number; + name: string; +} + +interface IGetDishesTypeById { + dishesTypeId: string; +} + +interface IAddDishes { + id: number; + name: string; + price: string; + typeId: number; +} + +export interface IGetDishesById { + dishesId: string; +} + +// 获取菜品分类列表 +export async function listDishesType(data: IListDishesType) { + return http.get("/api/dishes/listDishesType", { + params: { + ...data + } + }); +} + +// 分页查询菜品 +export async function pageDishesByKey(data: IPageDishesByKey) { + return http.get("/api/dishes/pageDishesByKey", { + params: { + ...data + } + }); +} + +// 新增菜品分类 +export function addDishesType(data: IAddDishesType) { + return http.post("/api/dishes/addDishesType", data); +} + +// 根据编号获取菜品分类 +export async function getDishesTypeById(data: IGetDishesTypeById) { + return http.get("/api/dishes/getDishesTypeById", { + params: { + ...data + } + }); +} + +// 编辑菜品分类 +export function editDishesType(data: IAddDishesType) { + return http.put("/api/dishes/editDishesType", data); +} + +// 删除菜品分类 +export async function deleteDishesType(data: IGetDishesTypeById) { + return http.delete("/api/dishes/deleteDishesType", { + params: { + ...data + } + }); +} + +// 新增菜品 +export function addDishes(data: IAddDishes) { + return http.post("/api/dishes/addDishes", data); +} + +// 根据编号获取菜品 +export async function getDishesById(data: IGetDishesById) { + return http.get("/api/dishes/getDishesById", { + params: { + ...data + } + }); +} + +// 编辑菜品 +export function editDishes(data: IAddDishes) { + return http.put("/api/dishes/editDishes", data); +} + +// 删除菜品 +export async function deleteDishes(data: IGetDishesById) { + return http.delete("/api/dishes/deleteDishes", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/elderRecord.ts b/client/src/apis/elderRecord.ts new file mode 100644 index 0000000..6ae94ae --- /dev/null +++ b/client/src/apis/elderRecord.ts @@ -0,0 +1,78 @@ +import { http } from "@/utils"; + +interface IPageElderByKey { + name: string; + elderName: string; + idNum: string; + sex: string; + elderSex: string; +} + +interface IGetElderById { + elderId: string; +} + +interface IEditElder { + id: number; + name: string; + idNum: string; + age: number; + sex: string; + phone: string; + address: string; +} + +// 性别 +export const sexList = [ + { label: "男", value: "男" }, + { label: "女", value: "女" } +]; + +// 导出excel +export function exportExcel() { + return http.get("/api/elderRecord/exportExcel"); +} + +// 分页查询员工 +export async function pageElderByKey(data: IPageElderByKey) { + // 因为后台返回的字段与前端表单数据的prop不一样,但是组件封装是需要一样的,所以请求前增加一些这两个字段 + Reflect.has(data, "sex") ? (data.elderSex = data.sex) : ""; + Reflect.has(data, "name") ? (data.elderName = data.name) : ""; + return http.get("/api/elderRecord/pageElderByKey", { + params: { + ...data + } + }); +} + +// 根据编号获取长者信息 +export async function getElderById(data: IGetElderById) { + return http.get("/api/elderRecord/getElderById", { + params: { + ...data + } + }); +} + +// 根据编号获取长者档案 +export async function getElderRecordById(data: IGetElderById) { + return http.get("/api/elderRecord/getElderRecordById", { + params: { + ...data + } + }); +} + +// 编辑长者 +export function editElder(data: IEditElder) { + return http.put("/api/elderRecord/editElder", data); +} + +// 删除长者 +export async function deleteElder(data: IGetElderById) { + return http.delete("/api/elderRecord/deleteElder", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/home.ts b/client/src/apis/home.ts new file mode 100644 index 0000000..501dc4e --- /dev/null +++ b/client/src/apis/home.ts @@ -0,0 +1,25 @@ +import { http } from '@/utils' +// 可售床位 +export async function getAvailableBed() { + return http.get('/api/home/availableBed') +} +// 业务趋势 +export async function getBusinessTrend() { + return http.get('/api/home/businessTrend') +} +// 客户来源渠道 +export async function getClientSource() { + return http.get('/api/home/clientSource') +} +// 本月业绩排行 +export async function getMonthPerformanceRank() { + return http.get('/api/home/monthPerformanceRank') +} +// 今日概览 +export async function getTodayOverview() { + return http.get('/api/home/todayOverview') +} +// 今日销售跟进 +export async function getTodaySaleFollow() { + return http.get('/api/home/todaySaleFollow') +} diff --git a/client/src/apis/index.ts b/client/src/apis/index.ts new file mode 100644 index 0000000..067f355 --- /dev/null +++ b/client/src/apis/index.ts @@ -0,0 +1,16 @@ +// 动态路由的假数据 可删除 + +import { http } from '@/utils' + +// 问题:何时发起请求? 在动态设置路由的时候(data => 树形结构 => 路由列表) + +function getUserRouteList(uid: number) { + return http + .post('/api/user_router_list', { uid }) + .then((data) => data) + .catch((err) => { + throw err + }) +} + +export { getUserRouteList } diff --git a/client/src/apis/nurseGrade.ts b/client/src/apis/nurseGrade.ts new file mode 100644 index 0000000..b215ea8 --- /dev/null +++ b/client/src/apis/nurseGrade.ts @@ -0,0 +1,82 @@ +import { http } from "@/utils"; +import { IPageServiceByKey } from "@/apis/service"; + +interface IPageNurseGradeByKey { + name:string; + gradeName: string; + type:string; + nurseType: string; +} + +interface IAddNurseGrade { + id: number; + name: string; + type: string; + monthPrice: number; + serviceIdList: any ; +} + +interface IGetNurseGradeById { + nurseGradeId: string +} + +// 护理类型 +export const INurseTypeList = [ + { label: "自理", value: "自理" }, + { label: "介护", value: "介护" }, + { label: "全护", value: "全护" } +]; + +// 分页查询护理等级 +export async function pageNurseGradeByKey(data: IPageNurseGradeByKey) { + // 因为后台返回的字段与前端表单数据的prop不一样,但是组件封装是需要一样的,所以请求前增加一些这两个字段 + Reflect.has(data, 'name') ? (data.gradeName = data.name) : '' + Reflect.has(data, 'type') ? (data.nurseType = data.type) : '' + return http.get("/api/nurseGrade/pageNurseGradeByKey", { + params: { + ...data + } + }); +} + +// 获取服务类型 +export function listServiceType() { + return http.post("/api/nurseGrade/listServiceType"); +} + +// 分页查询服务 +export async function pageServiceByKey(data: IPageServiceByKey) { + return http.get("/api/nurseGrade/pageServiceByKey", { + params: { + ...data + } + }); +} + +// 新增护理等级 +export function addNurseGrade(data: IAddNurseGrade) { + return http.post("/api/nurseGrade/addNurseGrade", data); +} + +// 根据编号查询护理等级 +export async function getNurseGradeById(data: IGetNurseGradeById) { + return http.get("/api/nurseGrade/getNurseGradeById", { + params: { + ...data + } + }); +} + +// 编辑护理等级 +export function editNurseGrade(data: IAddNurseGrade) { + return http.put("/api/nurseGrade/editNurseGrade", data); +} + +// 删除护理等级 +export async function deleteNurseGrade(data: IGetNurseGradeById) { + return http.delete("/api/nurseGrade/deleteNurseGrade", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/nurseReserve.ts b/client/src/apis/nurseReserve.ts new file mode 100644 index 0000000..93337fa --- /dev/null +++ b/client/src/apis/nurseReserve.ts @@ -0,0 +1,75 @@ +import { http } from "@/utils"; +import { IPageSearchElderByKey } from "@/apis/bookManage"; +import { IGetServiceById } from "@/apis/service"; + +interface IPageNurseReserveByKey { + bedName: string; + elderName:string; + serviceName: string; +} + +interface IAddNurseReserve { + elderId: number; + serviceName: string; + needDate: number; + servicePrice: number; + chargeMethod: string; + frequency: number; + payAmount: number; +} + +interface IExecuteNurseReserve { + id: number; + nurseDate: string; + staffId: string; +} + +// 分页查询护理预定 +export async function pageNurseReserveByKey(data: IPageNurseReserveByKey) { + // 因为后台返回的字段与前端表单数据的prop不一样,但是组件封装是需要一样的,所以请求前增加一些这两个字段 + // Reflect.has(data, 'name') ? (data.gradeName = data.name) : '' + // Reflect.has(data, 'type') ? (data.nurseType = data.type) : '' + return http.get("/api/nurseReserve/pageNurseReserveByKey", { + params: { + ...data + } + }); +} + +// 分页搜索老人 +export function pageSearchElderByKey(data: IPageSearchElderByKey) { + return http.get('/api/nurseReserve/pageSearchElderByKey', { + params: { + ...data + } + }) +} + +// 获取服务项目 +export async function listService() { + return http.get("/api/nurseReserve/listService"); +} + +// 新增护理预定 +export function addNurseReserve(data: IAddNurseReserve) { + return http.post("/api/nurseReserve/addNurseReserve", data); +} + +// 根据编号查询护理预定 +export async function getServiceById(data: IGetServiceById) { + return http.get("/api/nurseReserve/getServiceById", { + params: { + ...data + } + }); +} + +// 护理人员 +export async function listNurseStaff() { + return http.get("/api/nurseReserve/listNurseStaff"); +} + +// 执行护理预定 +export function executeNurseReserve(data: IExecuteNurseReserve) { + return http.put("/api/nurseReserve/executeNurseReserve", data); +} diff --git a/client/src/apis/order.ts b/client/src/apis/order.ts new file mode 100644 index 0000000..5c3a7a5 --- /dev/null +++ b/client/src/apis/order.ts @@ -0,0 +1,85 @@ +import { http } from "@/utils"; +import { IPageSearchElderByKey } from "@/apis/bookManage"; +import { IPageDishesByKey } from "@/apis/dishes"; + +interface IPageOrderByKey { + elderName:string; + elderPhone: string; +} + +interface IAddOrder { + elderId: string; + dineType: string; + dineDate: string; + orderDishesList: any; +} + +interface IGetOrderById { + dishesId: string; +} + +interface ISendOrder { + id: string; + deliverDishesDate: string; + staffId: string; +} + +// 就餐方式 +export const IDineTypeList = [ + { label: "送餐", value: "送餐" }, + { label: "堂食", value: "堂食" } +]; + +// 分页查询点餐 +export async function pageOrderByKey(data: IPageOrderByKey) { + // 因为后台返回的字段与前端表单数据的prop不一样,但是组件封装是需要一样的,所以请求前增加一些这两个字段 + // Reflect.has(data, 'name') ? (data.gradeName = data.name) : '' + // Reflect.has(data, 'type') ? (data.nurseType = data.type) : '' + return http.get("/api/order/pageOrderByKey", { + params: { + ...data + } + }); +} + +// 分页搜索老人 +export function pageSearchElderByKey(data: IPageSearchElderByKey) { + return http.get('/api/order/pageSearchElderByKey', { + params: { + ...data + } + }) +} + +// 分页查询菜品 +export async function pageDishesByKey(data: IPageDishesByKey) { + return http.get("/api/order/pageDishesByKey",{ + params:{ + ...data + } + }); +} + +// 新增点餐 +export function addOrder(data: IAddOrder) { + return http.post("/api/order/addOrder", data); +} + +// 根据编号查询点餐 +export async function getOrderById(data: IGetOrderById) { + return http.get("/api/order/getOrderById", { + params: { + ...data + } + }); +} + +// 护理人员 +export async function listNurseStaff() { + return http.get("/api/order/listNurseStaff"); +} + +// 送餐 +export function sendOrder(data: ISendOrder) { + return http.put("/api/order/sendOrder", data); +} diff --git a/client/src/apis/outward.ts b/client/src/apis/outward.ts new file mode 100644 index 0000000..066b898 --- /dev/null +++ b/client/src/apis/outward.ts @@ -0,0 +1,107 @@ +import { http } from "@/utils"; +import { IPageSearchElderByKey } from "@/apis/bookManage"; + +interface IPageOutwardByKey { + elderName: string; + chaperoneType: string; + startTime: string; + endTime: string; +} + +interface IListContactByElderId { + elderId: string; +} + +interface IAddOutward { + elderId: number; + chaperoneName: string; + chaperonePhone: string; + chaperoneType: string; + outwardDate: string; + planReturnDate: string; +} + +interface IGetOutwardById { + outwardId: string; +} + +interface IDelayReturn { + id: string; + planReturnDate: string; +} + +interface IRecordReturn { + id: string; + realReturnDate: any; +} + +// 陪同人类型 +export const typeList = [ + { label: "护工", value: "护工" }, + { label: "家属", value: "家属" } +]; + +// 分页查询外出登记 +export async function pageOutwardByKey(data: IPageOutwardByKey) { + return http.get("/api/outward/pageOutwardByKey", { + params: { + ...data + } + }); +} + +// 分页搜索老人 +export async function pageSearchElderByKey(data: IPageSearchElderByKey) { + return http.get("/api/outward/pageSearchElderByKey", { + params: { + ...data + } + }); +} + +// 获取护工列表 +export async function listOutwardStaff() { + return http.get("/api/outward/listOutwardStaff"); +} + +// 获取紧急联系人列表 +export async function listContactByElderId(data: IListContactByElderId) { + return http.get("/api/outward/listContactByElderId", { + params: { + ...data + } + }); +} + +// 新增外出登记 +export function addOutward(data: IAddOutward) { + return http.post("/api/outward/addOutward", data); +} + +// 根据编号获取外出登记 +export async function getOutwardById(data: IGetOutwardById) { + return http.get("/api/outward/getOutwardById", { + params: { + ...data + } + }); +} + +// 延期返回 +export function delayReturn(data: IDelayReturn) { + return http.put("/api/outward/delayReturn", data); +} + +// 登记返回 +export function recordReturn(data: IRecordReturn) { + return http.put("/api/outward/recordReturn", data); +} + +// 删除外出登记 +export async function deleteOutward(data: IGetOutwardById) { + return http.delete("/api/outward/deleteOutward", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/retreatApply.ts b/client/src/apis/retreatApply.ts new file mode 100644 index 0000000..5aed87a --- /dev/null +++ b/client/src/apis/retreatApply.ts @@ -0,0 +1,36 @@ +import { http } from "@/utils"; +import { IPageSearchElderByKey } from "@/apis/bookManage"; + +interface IPageRetreatApplyByKey { + bedName: string; + elderName: string; + elderSex: string; + idNum: string; +} + +interface IAddRetreatApply { + elderId: number; +} + +// 分页查询退住申请 +export async function pageRetreatApplyByKey(data: IPageRetreatApplyByKey) { + return http.get("/api/retreatApply/pageRetreatApplyByKey", { + params: { + ...data + } + }); +} + +// 分页搜索老人 +export async function pageSearchElderByKey(data: IPageSearchElderByKey) { + return http.get("/api/retreatApply/pageSearchElderByKey", { + params: { + ...data + } + }); +} + +// 新增退住申请 +export function addRetreatApply(data: IAddRetreatApply) { + return http.post("/api/retreatApply/addRetreatApply", data); +} diff --git a/client/src/apis/retreatAudit.ts b/client/src/apis/retreatAudit.ts new file mode 100644 index 0000000..2abb61d --- /dev/null +++ b/client/src/apis/retreatAudit.ts @@ -0,0 +1,46 @@ +import { http } from "@/utils"; + +interface IPageRetreatAuditByKey { + elderName: string; + elderSex: string; + idNum: string; +} + +interface IGetElderFeeById { + elderId: number; +} + +interface IAuditElderFee { + applyId: number; + elderId: number; + auditResult: number; +} + +// 审核结果 +export const IAuditResultList = [ + { label: "通过", value: "通过" }, + { label: "不通过", value: "不通过" } +]; + +// 分页查询退住审核 +export async function pageRetreatAuditByKey(data: IPageRetreatAuditByKey) { + return http.get("/api/retreatAudit/pageRetreatAuditByKey", { + params: { + ...data + } + }); +} + +// 根据编号获取老人费用详情 +export async function getElderFeeById(data: IGetElderFeeById) { + return http.get("/api/retreatAudit/getElderFeeById", { + params: { + ...data + } + }); +} + +// 审核老人费用详情 +export function auditElderFee(data: IAuditElderFee) { + return http.put("/api/retreatAudit/auditElderFee", data); +} diff --git a/client/src/apis/roomType.ts b/client/src/apis/roomType.ts new file mode 100644 index 0000000..738f889 --- /dev/null +++ b/client/src/apis/roomType.ts @@ -0,0 +1,55 @@ +import { http } from "@/utils"; + +interface IPageRoomTypeByKey { + name: string; + roomTypeName: string; +} + +interface IAddRoomType { + id: string; + name: string; + monthPrice: string; +} + +interface IGetRoomTypeById { + roomTypeId: string; +} + +// 分页查询房间类型 +export async function pageRoomTypeByKey(data: IPageRoomTypeByKey) { + // 因为后台返回的字段与前端表单数据的prop不一样,但是组件封装是需要一样的,所以请求前增加一些这两个字段 + Reflect.has(data, "name") ? (data.roomTypeName = data.name) : ""; + return http.get("/api/roomType/pageRoomTypeByKey", { + params: { + ...data + } + }); +} + +// 新增房间类型 +export function addRoomType(data: IAddRoomType) { + return http.post("/api/roomType/addRoomType", data); +} + +// 根据编号查询房间类型 +export async function getRoomTypeById(data: IGetRoomTypeById) { + return http.get("/api/roomType/getRoomTypeById", { + params: { + ...data + } + }); +} + +// 编辑房间类型 +export function editRoomType(data: IAddRoomType) { + return http.put("/api/roomType/editRoomType", data); +} + +// 删除房间类型 +export async function deleteRoomType(data: IGetRoomTypeById) { + return http.delete("/api/roomType/deleteRoomType", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/service.ts b/client/src/apis/service.ts new file mode 100644 index 0000000..067a33c --- /dev/null +++ b/client/src/apis/service.ts @@ -0,0 +1,114 @@ +import { http } from "@/utils"; + +interface IGetServiceType { + serviceTypeName: string; +} + +export interface IPageServiceByKey { + name: string; + typeId: number; +} + +interface IAddServiceType { + id: number; + name: string; +} + +interface IGetServiceTypeById { + serviceTypeId: string; +} + +interface IAddService { + id: number; + name: string; + needDate: string; + price: string; + typeId: number; + chargeMethod: string; +} + +export interface IGetServiceById { + serviceId: string; +} + +// 收费方式 +export const IChargeMethodList = [ + { label: "按次", value: "按次" }, + { label: "按月", value: "按月" } +]; + +// 获取服务类型列表 +export async function getServiceType(data: IGetServiceType) { + return http.get("/api/service/getServiceType", { + params: { + ...data + } + }); +} + +// 分页查询服务 +export async function pageServiceByKey(data: IPageServiceByKey) { + // 因为后台返回的字段与前端表单数据的prop不一样,但是组件封装是需要一样的,所以请求前增加一些这两个字段 + // Reflect.has(data, 'roleName') ? (data.roleId = data.roleName) : '' + return http.get("/api/service/pageServiceByKey", { + params: { + ...data + } + }); +} + +// 新增服务类型 +export function addServiceType(data: IAddServiceType) { + return http.post("/api/service/addServiceType", data); +} + +// 根据编号获取服务类型 +export async function getServiceTypeById(data: IGetServiceTypeById) { + return http.get("/api/service/getServiceTypeById", { + params: { + ...data + } + }); +} + +// 编辑服务类型 +export function editServiceType(data: IAddServiceType) { + return http.put("/api/service/editServiceType", data); +} + +// 删除服务类型 +export async function deleteServiceType(data: IGetServiceTypeById) { + return http.delete("/api/service/deleteServiceType", { + params: { + ...data + } + }); +} + +// 新增服务 +export function addService(data: IAddService) { + return http.post("/api/service/addService", data); +} + +// 根据编号获取服务 +export async function getServiceById(data: IGetServiceById) { + return http.get("/api/service/getServiceById", { + params: { + ...data + } + }); +} + +// 编辑服务 +export function editService(data: IAddService) { + return http.put("/api/service/editService", data); +} + +// 删除服务 +export async function deleteService(data: IGetServiceById) { + return http.delete("/api/service/deleteService", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/soldManage.ts b/client/src/apis/soldManage.ts new file mode 100644 index 0000000..36d9117 --- /dev/null +++ b/client/src/apis/soldManage.ts @@ -0,0 +1,233 @@ +import { http } from '@/utils' + +interface IAddConsult { + address: string + age: string + consultContent: string + consultDate: string + consultName: string + consultPhone: string + elderName: string + elderPhone: string + idNum: string + relation: string + sex: string + sourceId: string | number + staffId: string | number + consultId?: string | number + elderId?: string | number +} + +interface ISearhFormConsultByKey { + pageNum: number + pageSize: number + consultName?: string + consultPhone?: string + elderName?: string + elderPhone?: string + endTime?: string + sourceId?: string + staffId?: string + startTime?: string + sourceName?: string + staffName?: string +} + +interface IConsultByForm { + consultId: string | number + elderId: string | number +} + +// 获取咨询管理表格数据 根据咨询人编号和老人编号获取咨询信息 +export async function getConsultByForm(data: IConsultByForm) { + return http.get('/api/consult/getConsultByConsultIdAndElderId', { + params: { + ...data + } + }) +} +//新增资询 +export function addConsult(data: IAddConsult) { + return http.post('/api/consult/addConsult', data) +} + +// 删除咨询 +export function delConsult(elderId: string | number) { + return http.delete('/api/consult/deleteConsult', { + params: { + elderId + } + }) +} + +//编辑咨询 +export function editConsult(data: IAddConsult) { + return http.put('/api/consult/editConsult', data) +} + +// 转为意向客户 +export function intentionConsult(elderId: string | number) { + return http.put('/api/consult/intentionConsult', { + data: { + elderId + } + }) +} + +// 来源渠道 +export function listConsultSource() { + return http.get('/api/consult/listConsultSource') +} + +// 接待人 +export function listConsultStaff() { + return http.get('/api/consult/listConsultStaff') +} + +// 分页查询咨询 +export async function pageConsultByKey(data: ISearhFormConsultByKey) { + // 因为后台返回的字段与前端表单数据的prop不一样,但是组件封装是需要一样的,所以请求前增加一些这两个字段 + Reflect.has(data, 'sourceName') ? (data.sourceId = data.sourceName) : '' + Reflect.has(data, 'staffName') ? (data.staffId = data.staffName) : '' + const res = await http.get('/api/consult/pageConsultByKey', { + params: { + ...data + } + }) + return res +} + +//意向用户接口 +interface ISearhFormIntentionByKey { + pageNum: number + pageSize: number + elderName?: string + elderPhone?: string | number + labelId?: number +} + +//分页查询意向客户 +export async function pageIntentionByKey(data: ISearhFormIntentionByKey) { + const res = await http.get('/api/intention/pageIntentionByKey', { + params: { + ...data + } + }) + return res +} + +// 新增沟通记录 +export function addCommunicationRecord(data: any) { + return http.post('/api/intention/addCommunicationRecord', data) +} + +// 新增意向客户 +export function addIntention(data: any) { + return http.post('/api/intention/addIntention', data) +} + +// 新增回访计划 +export function addVisitPlan(data: any) { + return http.post('/api/intention/addVisitPlan', data) +} + +// 新增沟通记录 +export function deleteCommunicationRecord(communicationRecordId: any) { + return http.delete('/api/intention/deleteCommunicationRecord', { + params: { + communicationRecordId + } + }) +} + +// 删除回访计划 +export function deleteVisitPlan(visitPlanId: any) { + return http.delete('/api/intention/deleteVisitPlan', { + params: { + visitPlanId + } + }) +} + +// 编辑沟通记录 +export function editCommunicationRecord(data: any) { + return http.put('/api/intention/editCommunicationRecord', data) +} + +// 编辑意向客户 +export function editIntention(data: any) { + return http.put('/api/intention/editIntention', data) +} + +// 编辑老人标签 +export function editElderLabel(data: any) { + return http.put('/api/intention/editElderLabel', data) +} + +// 执行回访计划 +export function executeVisitPlan(data: any) { + return http.put('/api/intention/executeVisitPlan', data) +} + +// 根据编号获取编辑意向客户标签 +export function getEditElderLabelById(data: any) { + return http.get('/api/intention/getEditElderLabelById', { + params: { + ...data + } + }) +} + +// 根据编号获取意向客户标签 +export function getElderLabelById(data: any) { + return http.get('/api/intention/getElderLabelById', { + params: { + ...data + } + }) +} + +// 根据编号获取意向客户 +export function getIntentById(data: any) { + return http.get('/api/intention/getIntentById', { + params: { + ...data + } + }) +} + +//客户标签 +export function listLabel(data: any) { + return http.get('/intention/listLabel', { + params: { + ...data + } + }) +} + +// 分页查询沟通记录 +export function pageCommunicationRecord(data: any) { + return http.get('/intention/pageCommunicationRecord', { + params: { + ...data + } + }) +} + +// 分页搜索老人 +export function pageSearchElderByKey(data: any) { + return http.get('/intention/pageSearchElderByKey', { + params: { + ...data + } + }) +} + +// 分页查询回访计划 +export function pageVisitPlan(data: any) { + return http.get('/intention/pageVisitPlan', { + params: { + ...data + } + }) +} diff --git a/client/src/apis/source.ts b/client/src/apis/source.ts new file mode 100644 index 0000000..8b54d01 --- /dev/null +++ b/client/src/apis/source.ts @@ -0,0 +1,54 @@ +import { http } from "@/utils"; + +interface IPageSourceByKey { + name: string; + sourceName: string; +} + +interface IAddSource { + id: string; + name: string; +} + +interface IGetSourceById { + sourceId: string; +} + +// 分页查询来源渠道 +export async function pageSourceByKey(data: IPageSourceByKey) { + // 因为后台返回的字段与前端表单数据的prop不一样,但是组件封装是需要一样的,所以请求前增加一些这两个字段 + Reflect.has(data, "name") ? (data.sourceName = data.name) : ""; + return http.get("/api/source/pageSourceByKey", { + params: { + ...data + } + }); +} + +// 新增来源渠道 +export function addSource(data: IAddSource) { + return http.post("/api/source/addSource", data); +} + +// 根据编号查询来源渠道 +export async function getSourceById(data: IGetSourceById) { + return http.get("/api/source/getSourceById", { + params: { + ...data + } + }); +} + +// 编辑来源渠道 +export function editSource(data: IAddSource) { + return http.put("/api/source/editSource", data); +} + +// 删除来源渠道 +export async function deleteSource(data: IGetSourceById) { + return http.delete("/api/source/deleteSource", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/staff.ts b/client/src/apis/staff.ts new file mode 100644 index 0000000..347b5ff --- /dev/null +++ b/client/src/apis/staff.ts @@ -0,0 +1,69 @@ +import { http } from "@/utils"; + +interface IPageStaffByKey { + roleId: number; + roleName:number; + name: string; + phone: string; +} + +interface IAddStaff { + id: number; + roleId: number; + name: string; + idNum: string; + age: number; + sex: string; + phone: string; + email: string; + address: string; + avator: string; +} + +interface IGetStaffById { + staffId: string +} + +// 获取角色列表 +export async function getRole() { + return http.get("/api/staff/getRole"); +} + +// 分页查询员工 +export async function pageStaffByKey(data: IPageStaffByKey) { + // 因为后台返回的字段与前端表单数据的prop不一样,但是组件封装是需要一样的,所以请求前增加一些这两个字段 + Reflect.has(data, 'roleName') ? (data.roleId = data.roleName) : '' + return http.get("/api/staff/pageStaffByKey", { + params: { + ...data + } + }); +} + +// 新增员工 +export function addStaff(data: IAddStaff) { + return http.post("/api/staff/addStaff", data); +} + +// 根据老人编号查询员工 +export async function getStaffById(data: IGetStaffById) { + return http.get("/api/staff/getStaffById", { + params: { + ...data + } + }); +} + +// 编辑员工 +export function editStaff(data: IAddStaff) { + return http.put("/api/staff/editStaff", data); +} + +// 删除员工 +export async function leaveStaff(data: IGetStaffById) { + return http.delete("/api/staff/leaveStaff", { + params: { + ...data + } + }); +} diff --git a/client/src/apis/user.ts b/client/src/apis/user.ts new file mode 100644 index 0000000..93eba6e --- /dev/null +++ b/client/src/apis/user.ts @@ -0,0 +1,60 @@ +import { http } from '@/utils' + +interface ILoginForm { + pass: string + phone: string +} + +interface ISendCodeForm { + pass: string + account: string +} + +interface IForgetPass { + code: string + pass: string + account: string +} + +interface IEditPass { + newPass: string + oldPass: string +} + +export class IEditPassImpl implements IEditPass { + newPass: string + oldPass: string + constructor(newPass: string, oldPass: string) { + this.newPass = newPass + this.oldPass = oldPass + } +} + +// 登录 +export function getLogin(data: ILoginForm) { + return http.post('/api/account/login', data) +} + +// 发送验证码 +export async function sendCode(data: ISendCodeForm) { + return http.get('/api/account/sendCode', { + params: { + ...data + } + }) +} + +// 忘记密码 +export async function forgetPass(data: IForgetPass) { + return http.put('/api/account/forget', data) +} + +// 修改密码 +export async function editPass(data: IEditPass) { + return http.put('/api/account/edit', data) +} + +// 退出登录 +export async function getLogout() { + return http.delete('/api/account/logout') +} diff --git a/client/src/apis/visit.ts b/client/src/apis/visit.ts new file mode 100644 index 0000000..3300427 --- /dev/null +++ b/client/src/apis/visit.ts @@ -0,0 +1,94 @@ +import { http } from "@/utils"; +import { IPageSearchElderByKey } from "@/apis/bookManage"; + +interface IPageVisitByKey { + elderName: string; + visitName: string; + visitPhone: string; + visitFlag: string; +} + +interface IAddVisit { + id: number; + elderId: number; + name: string; + phone: string; + relation: string; + visitDate: string; + visitNum: number; +} + +interface IGetVisitById { + visitId: string; +} + +interface IEditVisit { + id: number; + name: string; + phone: string; + relation: string; + visitDateStr: string; + visitNum: number; +} + +interface IRecordLeave { + id: string; + leaveDate: any; +} + +// 来访状态 +export const typeList = [ + { label: "待离开", value: "待离开" }, + { label: "已离开", value: "已离开" } +]; + +// 分页查询来访登记 +export async function pageVisitByKey(data: IPageVisitByKey) { + return http.get("/api/visit/pageVisitByKey", { + params: { + ...data + } + }); +} + +// 分页搜索老人 +export async function pageSearchElderByKey(data: IPageSearchElderByKey) { + return http.get("/api/visit/pageSearchElderByKey", { + params: { + ...data + } + }); +} + +// 新增来访登记 +export function addVisit(data: IAddVisit) { + return http.post("/api/visit/addVisit", data); +} + +// 根据编号获取来访登记 +export async function getVisitById(data: IGetVisitById) { + return http.get("/api/visit/getVisitById", { + params: { + ...data + } + }); +} + +// 编辑来访登记 +export function editVisit(data: IEditVisit) { + return http.put("/api/visit/editVisit", data); +} + +// 登记离开 +export function recordLeave(data: IRecordLeave) { + return http.put("/api/visit/recordLeave", data); +} + +// 删除来访登记 +export async function deleteVisit(data: IGetVisitById) { + return http.delete("/api/visit/deleteVisit", { + params: { + ...data + } + }); +} diff --git a/client/src/assets/imgs/bg.png b/client/src/assets/imgs/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..8cdd3001fc95b63c1d334ab7d717812f4240839e GIT binary patch literal 17468 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 diff --git a/client/src/assets/imgs/img.png b/client/src/assets/imgs/img.png new file mode 100644 index 0000000000000000000000000000000000000000..61d17f87b9b14b18b5adc9eb34051da9886d330b GIT binary patch literal 258870 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

  • _9v(Zngldz`t-C0FKTGS9cpX4_gl}JI_P*-bb8( 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�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 IM6N<$g0S|_)c^nh literal 0 HcmV?d00001 diff --git a/client/src/assets/imgs/img_1.png b/client/src/assets/imgs/img_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e90504da14d506a129b6db2117f0eb12d2b5de6e GIT binary patch literal 135223 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�`CWwif*F|JzuYwOPVDVKwwLS)h7!Xw)4l)tK2l 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 literal 0 HcmV?d00001 diff --git a/client/src/assets/imgs/img_2.png b/client/src/assets/imgs/img_2.png new file mode 100644 index 0000000000000000000000000000000000000000..cab43ff0ae96ea75da1e49b97506ed12b9bdbaeb GIT binary patch literal 29433 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 mq+`TNppce-_?%udV|xYT zp708|*&7;LL7Yg9AZ8Y}eB?(>ZRDgDCVb@TAUPH}dl87ag`@`*qT(U1YV2WU%xyw0 zz)#BS#sgzu1937Wb+fUyb>wm5Bmd2p2X_6dnVFpQH;I!KAGy#kfutI8ilicTPzWiA ziG$G?$j(a2$;|}hVBuzEXCP%|0dg|4a54kg7+HWkEF3&++@yc~k;9}xO-y-|MaBP; z1-s)TH+OQf=V4}cb#-NOWn;2~nlS^pxw)BHSeaQ_8DSKRj_$TjhHi|ujud}$5QR7z zLoMu`EbMGae{nQ4vU7IgBZtlOj|w*Sa&rGLwsri=P%x7*yBXRu1DRNuZESw&^_$w! zNz4T{_^)aFx73cR?)DI7Wr(AlGt?L&<^r*GqWITvWyrs@_}>@~BmZZxiSa*z?VX|4 zzqL0pW`@9){ceEZ*%|80oB37srV z{|7C8_52r}5I2kef%I3;Kcp}p@QB(OJO9!|O7!ojGO;tZFyZ-UvOH|294v;cEL@E2 zAY*PuE;e=}Ms5yP7Di(>E>55cH#a*wC*;>0e{qwtb#yYcHHQ4+25VumfN^4H0kHrf z+`opJa4{Miva>K6aexdNO(4b~5DOPK2e%39-{Tda7O=!HwEp*5aezcwggAtSIXT!l zIe=Us7H$?X4j>B`t1!2?C>y6JIjM;;kEtEh#t;@G7B+@v5N3N@Gjh^@X&_=}Z3mUJ zGlB4tv;BL!l!%BT)Xvnx8rI>cEFnxPB__fF*46m9+)wZ{*-HH2$NIqoE7Lg#52Yi~lB6xlP&GOief; zjGU%M#*CcY?3|2-Kz24pb}mzHBW`1E5F4B6-{W1)A-^p8Ut)rtg9pg@x1;~acC<5f zay5iPgv?+`_BTHNcF`}OAQcfIrB%1EHL-Jbr2Ct*vALnG83a}pn8}&{CsmB?Y+WEw zr+=wqZwNJnIUQzkK5|p2oek-qOt7?vn2|c!{dM;%FaAfCCJ?B_zuD*C8U7=U^#6?Y ze>A+YAuAWVF^GkcmBpBy(bR;U8-_6^tc(y=BU4URHf~OCBUqsPvFQK5hX0SM{O`ft z|6P^;7A*e1iXrA-HTX|vF#oSf^XFdlkN3rYg^r^WtOD}nSWOvry|`giC3w=#Yc{M(A_?^(l^albDASwF&V{#k)S zY+(Qcg{?1rNOMD!#)|KiesG z&LHyX6aYrmKnWOdGWAc!jIi$27I(8ZXrQro{rqN=ZCi}gxR-a)_>fIHK=Xa4zuqH) zU3<3b`z+_9fUtg4A*3}N_KQrT%iXtESg^Sq2ln$X6D6@2cKU0J;9w|<OO8L;KsyyI2?XG#22gs z=>)&#z8GAVb$dI?m6G@)F*+dGq1rx3^t722Irw|);qjia61Iij0}ZA@r~iv1k^US5 zd6+fs->U$gKpD6dML)ctjDPv$=~L7wA;_m^Wlx>a8Cg4dFuG!faCD@5cRdCso!5E> z9moP>i@s%rlz6ATJwM~U!6DmImpE5^g86WSdUnfrla4~+vopT^Zng8CVW;(^xklaI zhk3_5+F_PpyTj3`zFksY6D(OV#;^E9^BHeV=fc}@R6hi>_NQffKas9;GB;kpEaO(r zLYMUGTmKV~f+oH^n%NVOiTWbRaShpi^s|`IR#}6dM;RuQ^q6LWTWguyI=#H`W)`%B zyo8;p2(OJY#4Gt@W_hP!*fY!$r891!YmX1S=)RBr0eg1LHruoBM#M}TkZ`U5ZmRBw z3~Rp070pcZp;j8h1L?+XwD#zgCzEyD3enTlBw?>d=eH~S2&aLBU!sM;<}g|(Kt$8hn;&D) zijMU(9p+eHsg5*QXx+lG-nPo|<|sGT0y z&69emCP75kk$LDVT=xrpVMFMr!`lS-C68ee`>=sSQ7#(UpTpgM#o1GJA1wr5bMmLh z{#siq02*f#_nv9i)1s1kB;S0dW9Tl|%V^yA9p$Lp+2*ht_uNzFz=AgNpjX)K7$A<0 z9lE4~ck&^~&wEJmo)w3H48*>?N*8(%w7sTq%=Yn4NIo53_(@y0#5uSz@AolaJz~VI zG84#*iV*Vjlw1M>x!qvWr$`bT>B0fmYvDLK$Doyt8ji=XGaoV5j~kYMS1+}sm~+n^ zXggkDhrlzX8#4}05X!gg%nv#!bIZ3tzro?IIO04*yw=(fP!_vSZ0=WhfvhAe2Z%3t zu9$*rFDBR#^a}iCfi?{z`xWX}VMDPt-sktXEqg}}N{>xZ1C6NBj>h#N5o|TQ{qPXF zHvu8uBV2QAv;#l%8<6Q3Jm0hP=Tfu{zpx9GI!R+$pZxHb^WbrJ3>Y{4ir+X;yTv)1 z9*^3GL2LYs^-rMSQ|JNr%g$t!w5EPAY9;bgF}c7>mpa1FWIgBYo=?c1(J4a40SVHB zBJ;@wvE?SpEU^lCm>oez&rm~Z{Jv^H#2;``9#0t9d~BJvKcb_a6!bT!Be|L(L^^K0 zi#~D708WNwFGU;9Go!LGAaDe9-Xa46vhNl8G!a);k+*3=c1|W~iF{&?`2==R_?LB) zj-R&wLBU%jQ3DNPL4iI-RARl-P#o;bpo8m5`VDL5|y2cc`J`uW> zQrZgrz;cEJ-FcQK`LO#Z zaZf+4Xg{Qc4m$VOpW@6m*z1awd9AJMoP5*N_)s>h5u0rpm87D9qWNI)_JG8R7kGF< z-!eAtW0-`!{34U#pX}{HaA*;4LBI-P+Tj9Nt+^F8Z_w-gY!96nN)FM9i`PM1X3qAi zo&1U7HD!lx6qM4Rll2TI%ViMaLD0)Vrfima2(<}`2{KifXV0+!UR2Z8s?z-mi;L-py&}YqJD{JB$)AlT&}T3PB#O#QZ@oJ2bZJX(?N}2LF?S0OaiE8y|n5x1@956+t;P{8Uog}`9w8jf(Oa&KNUr}HuTrwV#LZfwR}nQvtjt(p=^`5JG8-jnXK z?Pfm*i-E4KvwjqwPAgqosy^ledVQ8LADe1`xVRZ^#1u5G-#!muLX~PjqlPvBJ_s z4jKG7XrErS&7tV)f|pJ>919#%Mq3`Znyv3wdHN9_fPIJLi z<;VRBr^rG9?=i52)BR}0g5Xo`7zkr%TXYgfh9guWaz}^?Mt%&4>WxXqbdlao4P2IpycC$PV7xK7)FjEIc-j?({i~+gep4J zo~8x1S6TH*?YcMUITFLEw@+B9Aq#XC-u-xg7b~)a4%1Un7REha1A_!*e6g@8U%?`iK$H)6@28LX0)Re^ zimhe>vBiAAr7`FsF8<4^u#bocSEXBrH3`sCViIS6Py)D4~vqZsE4= z*iYEk<^HTX>T$~U6;L#=Wdb_j!6P-wF(lnnR(PZ$m~d+va9_{ZDH0qp5|Azt5IzPu z4Vr4qaO=aZ*%4{L9IHAB=b9)MA!tNdSfX^K5v-pU zd~Fo&CHG!{#P6XDhPd>@r^ASR14g{B^RG&wc&HLp_^$V1W}C%| z2J|i;r%AMH-{U#Flp<|zCN#2K47aVa@iBPGPxNyb+uSLL?#q*a+@gUkSdyX2KKq?) zueo+eQ}f5fgf!lce%Rp>k5H$V*BRKY+yvv)pW`P2zgLFjg{_yVpRuJ4s(Zv|DvMF! zeTWPRAsgSS$w6OHie~~elljYSa+OmggeA;~ssxHctuPe%XlfUGRJSWRvSm`2_;MAb zl@4!SA~MHwdgVaZeE>aoYdi_-$Xs;^Z{wi?&l1FX(i!@0=?^9PL&=jz&a%+qDxKd? z(72@QeT4h;1)J$T3bvR~1X-mxc>!>Eo7;_wfk6y%!f%YbG4x&X^CGwKa>P&kU`3F= z$C+Kc`Z-&lTiW$a>%g94ETXmfXvcQN`Oc=Me2Idvcyx??kL2N`jG)*jIArxTB(F-z z3;&nI)W4S!+J-;^w^xRPN~i2UpGsB8%B0p164V|=yl+ndLC6@6B+8cYt+42fBdVgS zPGj=bGj?Wi%A42Y{OHvkblnrk9=yr+BCi0Cs_!!o5cVnDfHiHoWJT2>RPRHieAjB+ zo57l%5tyY@gD)6%;Ej+i2fvqni}j(u!NzGvvo>bNGxRJ zOQcB__OmYBOQI~e=x=;AL}Bp;^0lH#^BBv$(n07Nf(%T8*P8udC?DYq!RhI7!-!iY ziY6fh3w#T>73z5|)y-<2t(C%bA2lI9UmYCGQMz&;sT<1q#foqD+VQgVq;xFre1dq| z8%v6Ex?rXZ(EzNTtcVY>5iKuCIsyUOEU9mdqBSo|wn*7{`~7bnw+7hFOrsSV8FC&ceL*p8-JW=7|1JzwmBYBnNoC{V`X-Y>#LMx#VoYcM z;D#BcR9r6Wu}eMbq1s}0PDspC_bBFc_9{qj(Ag7@uX1UaGbWE6i5jc>1JGA8@WsMg zh3CeN#+G^P&!MD&?-9akcn2M!YuAJ8BBE@eS2+Ci$Mk(*5x?cb?-c{Mj-57tBcd!r zDqYm3F@Co##=wanJta7&b3MdwLX&9;gsazZOl3wtcBbrZcEE)es4m|S^aV9V{X4G5 zmKFKwbj2m2s#M{}Eb7NWQcwkUkfmjA6tVjhW6Q$VdA&@;P>3YJx!Sf1Qp1sGWrv1e zoGeFJBT`Tumv@N+rYd5BV?c%WwHsqyIEwvjh(9JO{^awM^`^}$qM`ZJ{x#awAe9W~ zP8VWy5?v=5euOkRiZTmE&U?b#$$O)6bzf20XDlhwMz8dY^~X>YC73YKhS9tZ*LCD| zo12hrUDVVZd**_4)W4v{JZlRnJ?B?&^k+el)A971vc^aF z8TAOZqxzUIvwaY=Zcl}Zo}PrB_z+}Ev*-(Q1=3*TWl@`ad?xW8kgtH6%}tJwBCnLJ zY$2&DmS?UYc;SmLkxn61Q1;jZv^q2Ze>mUKamq%<^ELUdTyBUE+6Aaaz_dil^cxjg zY(>iVe9QswO_|d5&noviq3p zvv>!FZv27{*0&nGlXhhL=hEa>@bRL$!O`ZbOgR%DsVau4?%FGz#uAPAsSDtJk#qWK zU)YGhhduo>{)PBi96M43+Bl&WLF$pZFEH3KWs09lkUr`Ayhg6ttQFs^^I|M*$DOV@ z%=ZicrIW;W)95)KL)_FhnnFZ#N0pYK%|&0ckTMOyv%C3Z9yyl_)P_hN_s)qkae6cD zUsD{`kN5*xwv0~~IA-6Pg=^|tPCCUg8G3%APAkIO6jFSbfO)OS-@TLjokU0cOk%r8 zzzshvqj)RJA7w`qCn3I!i(yTE%gqRxSMk|LoN>(zeyf>jPR%;v=izzvXz^WJ2nb}r zQl$9yWLE{X3_Dt|j}s}e8wjF!DJ+`Reb^k%B$Bdv+@mLvQujen%hZEBd**6$4yQ_& z7_)SsQMxV*V7laMgSWb5v!Pu}RJe4XDqNe^U0pVxv}&zE*r(F_RJrVV_JB>tRGjJ* zDrd<~YFTtjN3rxcn^3~@L(L0d!Gmt_iE&3ii5JVz!w^8H34l=&~bOsyVzMb4fh8*vu`ietcF;z%CgoOO5DFW5+9D$CyF_#IrMG+n4YC` zH88XAISP^9lzIVr?`mLE+U^kyMs4Vm3|IrdNTF;lNcVWl6@6a?rO3oWik?X!Zi+`_ z#<;+p#Q5UjGoho8qenu&+@@9G{H}ht3^O`{?Na^gChFIg9QGC>Oj&&SBI;zd$%_QV z)rrsZtiA6DFJ|bhOLncvQ=bQ)l#vmCGEt*tTNmtZg{YF~2Z}cHDUz~}vZyo^yvRiQ zD?U3?@uTj}Zu-epsWv$(8}+KTUxB#k-|R3!w*h*vWjtU*tlzEHB~7#|;3Wh7h`Mj) z5Ab7PmEqMz6fx2V&oS%pni?^w)lYy`jFxx$K{w&EWOsG5?oPPK<$fDB zx+mrd6=j$1Ngcl8#7wC1WpjyPOY96FRmOy=6ZijM{C z6o&G;`l^)c(4{qmK*CUPwkw z+P=_B-ofALSUn^E2$r?@2`@d4O;K8{F3ky`MN?R67ZK7@sX5nUX^gccU|JB)xvy(M z(@I%MTS6SrR}V}#7CRh$)=q=}pfO_8SyrS>BK^H^>hP=rrRB}VvBIrQiSeBo(Otx+O>pUiTdrJ4M!)2S_{>~{=fH&a z1jr;ZIGlY|f*|{HdeEjQx7u`Iw0Xp!D0$A5dR0~MqX#6rq_)L2&-0mbO1Am-^llhI z);tDvA(#>8gSid0oCC8y@@ek=cV@q6yQ`!l4TLihdM9rLkHMHK_t9hxV!|$wRG_}v zQuG@-c(G{Zjku}VBtllX*RP#1!W9t^=-tA5i@oL~h@UH0`=}uD)4CMY+E~p`?U30< zUGmEj7Pox{vqI_*3yPFC((6Y;_*Rr=du!j?5VF|}Kk{My>_vA`nk-uD*C<5xQ}O7r7J-sRb}r)2u1om(6YX~J?vpO=2pL3X zza2=!wpebnlf9PssK{ogSVED@*2UTEcXhRBed4HQI5-P~(3GEoB~n3`jH@*RE`$_w z<91rfU)Zuax^Cp5+~}C)Ur`rIAL_MFml|4Ff5_b6T|2WKfgn+ zq53XO4VB39x>)GpO*$s>{b8rt5irrk1Hj$yzi$2(U&G7d%lc9IHABH%B6;$#RBQD- zI!SXD({9qV^@w}G5{4>Dc@n8JovhqLj+{U50_M<26>$?nCu#Y2F7>USymd5{w*~PE zmIr06Hxm>&+2XY;2qSmCuNu?gE?4Qaa2#Y5?8uWpKrU=$XZI4a?OtCl5Z|l86$q)(|tC`43#ZjUdJ z?9~WV*_D|{zPdTPfjf-_Ad1-5w?O`QS41Qz6!Lz^h@!G zD_l{(m+Q!PUg_=U%!V!BPdu}t^|#~lt^At4bfhbNmvLBk$k>(8IPOPA1V@Y+R0J*| z)qW{2b;sh9L=VZOj;HFE&VFM#_&8TMv4DBl;b7~v%Z)KZQ|U-EN16CxpFe|nqqx)d zN@kw5@cbsrhMD7Xc~#m{p`WpCFybmFeaJu1r5IJ;t@ga(5uLsHv(-y1F_2i;3j_8P zgB)cr*rHjFQN?7;{|XN4_o;!^x{h?rVHyQJa@leWO57w;-*ku>WOF`#11AA@Kg6oM zv1F?3!-`|kBXjwwOmTnYY0;D~$+PJk+pn}b7$5|E_HOCDi4gCL@<_Cc%JOg4K%0n< zM}dOq_rSg%#-7b_84-LljN-B_ikfpv z#-kXFQ3BuspJ0yjpa^E`6|sxDy&YJ{+q0#(=cIeDE&qD4a8d3%eE?xOUHS5Bg34Mc zf!nLyOGt}*i)*p2#21mF14G&t>Q>#hV>}_1hhmv4)gTeOfn%+!;th<;ekNz*E+jHVTIsUt! zFRw#DLeiq$sJ&;c!icG=h91XTFch*icL4a@oMz&2E5R5+gf4RsHl5mn!-B$gJdm@&|?cntcYv_!0QgRBSppw7mi<| zodg{us!S2OY1K(SU;XHRdx2-3lYQ`9)MhC%1H18>;3=ox9q?^n2gr*^=*^W>wFDD_ zYO0pf+eXwZ&}TWNvk3urT2ZN2rsYvhzUc#^u;ZU@7R+CppVk2sbcxsqqa6W`Izje0 zaXVWniIC0Rg|kZKQP|0yY8ki(d@^2q_an&5D#(K~N}7whhBdi6JEuKEuxL2D#xkFx zCr@CSZxaiK}(cocTUlO$mMh;dCiYUMo7|z%C}hMsAsJg2y1!8|;`k zI_-5%skK{4!Xfn?EyU=HGj?myDS?}PjJ)%7!`oMmbzQ^txzg|9{s_Vdd7}gHFpr_CRScWH!K>!CFZGOT9aIyh z)*d@RgC38b@vAYv?K-v6$5^Oon#CnbyLxzMy9eL0F_A7&;gAkqh}`D*8mCK|CzD~D zb@0v210= zui=+WXq~4jHX7Wt?X}Ali(^LL7g{4{@lh>f11XVz&^fLd)k_HHLfa@VlLW_4T-Bzi zQzf+*OhuQV)YKlyBi&foReCVqkg9mjJs-s%LDBKnZ;sRdB~DM-h)XKkR@LpBBsb2@ z{IZ?K(v$7|=Zp1d4NHE}7qxPslBWmkHDh@NwK!2ms&HP0q7McvccXxApSG|YB6@nC z4XxtoLTRt9*%Kip2Q>&ULtI@6v^mis?#N-5`=MXqPG>YxW+wg=UY-77rskNlT)lZi zSTQTI8xeCcV@FLhH?(@?lp2Uy8>1yQHF9&vnI6$vwCw7IN7%f0#=(=A3MjJG*2OO_DFKN|YDv3^!?3fd zSCj=7jGsQ0>K1?s_vvH>QHkl0SyNBVNto5S!kdvYu#UKN!Od9YeTi0j1zQvJ>Q57d z&ZMu&Nq(yP4GN?qg;^BWiYj;R*S@O<00yiV0SOaHDumVw6zp7SrG53fD5^Yimh>Iw z$$~!nwrcr;7X!Jr=cR0stMWGcM{Q*7seIo_?+-k_eHRRmSH;({L?=VeyM%;`8nM^3 z<;Bps`t>s-ckUpBKenPg_%MBN-({_j7z{W|+ln5#$46n?StwW956)E_Mz43GBA{_`(O>;{W^1hR{fb^f+pTOEBUpp&gZW+=5;f+ZB0lf zv;L?HwueoJtxFj{9;pi=uIN+y*uE>!!{@uAV2gM%-5x3IIx3=?!wy5ye-(jsc(}xo z7Zg}IPb(WQ&zfJA6;W9!sX;b%D8`yMG;!SZ)S4T^cq4r$pWyN*fv4)y2AK=99_WQe zc*QNrEs$y+b#u!4MPe6UX{i({(kB!$+q8LDTL{+Hh7S@lln_lI7R^#C5q+IT>zz!R zYl`MUn@)xI^od-ID;R0DlVY31V8*BEz%LV6xjn8g7_%_8Jj@!7b?23%;WtEzS;8vW z%O*WlK-kPg7Ju}@=_1iWJX=;L<8OQR2q1{aK6a_ul;Y3sM;>JO!b~NjTQwNZ>i7(+ zu$tW9h(?GZuSn3@IZ5cTu7csfBA_J_xZVmBdU&sMIrcTk-14z8EN-Os1XvNLM)j=UuMrUAjFB~V?4Vnmzu@^gG6_U54uI7O|8I>c=S=vCa2lU7Lhl_iA~t!Q=_H|d&EhjaINu`y+CdothPz) zZUXa@k-b+^!51{LZp^@6g@B)w*6U^pRV_Z70hyM3hw01ZQ+4;UaQkL-Ufo2mk|MWt ze`AvR^Ndi8AF#udlB_%O@|*qU5O5B4!Y&(K((BTZ)L_M#NpY>Lr!5^y^GNj;Ukb;~ zIayb-63)lF7v>Q^!ar`e_9B~Snz%>^+QktUm3=sxr~y(ZqRGuAa5W!EER2#wCr46)5JUTg8D|Z92H(PcrZ#A_T_Q0ml@`Y*cJ<_?h-vsd9&s41YvQ;+obhU2@8^U2 zZuuvTpYkPWiMR@k*vIZdwKm=HsT*QV(3!06jrQUi1 ze;lQUN*%+!-qQUWww`owe>6qFMo=Hc3`)~aEa|atF5}Wf$k^a!3NW+ca*U|L(6lny z+7Qs8Yhy=l8%M05d(|u-BOgNz+u`fYPC3=gTl%O>FYuPVhlthmE#A=fox@GCjXC0Z zuhX#Gr^N8<1OA+$=DFjLUNa{=+pn<@e1iTyKI<0&m#ub~5LY_g`)ZJ`=i>0*z4z{W z4Vp?rOD!u!u&kpFrEzU!h;JR^%^3G)m)fSUzPb-I8NY3!y@5cUo@*G#%Y@M{2D9W9 zXaO%KglN}th_i3OsU&@=$mBA@aOkw7k%w1dW7k%IHE5f-mW&a8aXz+owM#wHcBHiE z+fVaarsbBLMcV?Cp-Z(oy0m5L5En~Z)|O(Uyt$JXnQwll+ZBo)^W1U}btVL7eX#Tx zY=A?aAHP!{b~oOWvO(MI6p^U3wGgcr!vR6~Be4xbzGKMk}&r5m}FbD`ThZmfP zm2FcCZX!*)v)AGWkM-3$LvssW^M3;=7bzA}I;$7p$WG409Wh;}>UE2MBQkwDSKm@= zJtLsm4REz^W#=J6P<_F#Kc6t(g>=F2a{hrIM2j5qb7^f4cdav^GXIu% zlqElF4sXjKiC9A=Yz8gFholrQfSN3Mno&^E;}OGmk{P_VRl@7#+;s)Qtz68kzMx2@ z4@qNkS0AI4?{X5O-Zf^Xju#DiQ}gnFT731HQ*n@!W4SSPw(v+h$9!%v**v|T_j5n?bk!f)DS@bGFRD*g4C)m|ezp*=;r^>Aj`K8Um=M1%+ zbU?lDthA!FB)E;zGD@ z%V|Vv^mtdaE#kl%Bv_Gb7;V1N%5pFEn4WkwP3-@tO$U za(XyAO^o{>kXO2Ic^s{enAn4$>V3zPHrk12KKQCV@R}+vj)Dbt0nu6BLyYGj#}w*5 z*VM=kK- zoY98@-Ksg(Q?4u|W^Q;ZBZ-W@3G(fU8QPU_Ym}44i9j3{X&1k4zW`kyJPpz+6)YQGN8~f^gZ2}`p!^rmrLsvJ)6D7{n10(s^5?hOj&daK~9lB%ftbywm=oWSnf{Z-x8zfYGwevX8m$z{$YK zq}s?^u!ehSN;>zGMx4&12oQ@5i^V_R?^-}~^CP*JY5+4*cUwN3A8iJ<6iGpqjup8P zqhUhDsv(7OME}-zu0X#ZBcc$I=7W@ksjz+O>4FT>*NK;!#X2ep_ZDckH>L#5E2vP&(aoW2n`iCPhk zS+}C%o8azOjS$y6s>v~>Hb=+Yy+BhgPLwt!os?vfE|WG4(77%*{a%MX^ROk0)EiXr zy^sFq3hQ2`!!b&Dw_PehuTvVlWihuDsCix*WwxY=w@2k)?$`5 zT1tgQ6#}vfE&*pSXFn>GoJNG6?1v9Vo=xG{V+$()Wqg5jhD{tIS6unq3H}ixwlnub zYyF%Gb^;A@`W-(I&x2en^UmXXT|{azh%H2C^70xi7Uk147WZ>69(ZPhmz5XAZH{ej zZ4+OXpN(wVR9Cl*^_m&qzH5YZ-5=~Zk`RKvy8bj?3G`}>C}_?26mc_SRjTfz^CV*! z`jFAWE%0qLZR{=A=Aqu`y^#>+zF7yQgS?x_ZxBH$XI# z#qA{8V)t2qUi~AWKu7z|GyfuLDB8R%4zyrdK#uYLVpJ=;GF(3IGQtiQe?eTh7kNAC zlZ&OPHcd9Y{lz<+>>GOV1tP2LcbrmJbvWSF%2>m}PjaP|_cOSLh<%M>;2%T| zuJnWE`ipiwHa20it8#(2$ToJZ=WT~-h9CPXHx~CzhQdpmTCU10f)tgSF!CFA7c5)! zSO%2NKq)8wF9?69cV>s=_Awlyj{e)SX$PXX!LHyT_jh0iD3P0%m^^4_LSnR7Fu|7k z4T~F2*ks?+C)#B+`Vu3%p+<>tCP_4GOxovVM|NWq(0w#NHatY}VP%9N(kxJ-DvY9H zSoAo?F?ef^`?b(K?6pOb52fE$wSpfm0jH6vpY(CZ$8g(cZ?P?OF!tKL*TR7^u>##!z zO^l2(#(Z#ZaC!YDkG90UAM3Fd;C#rK5>ux1p0V&A-U7~zC$|tR+ABnB+&TM>1YNf2 z`E~V|e1qCckrwyyWzv*;el*C4n(Tf>1U5d?1zk8@RNvHQOpeKGwFlvd2W^z~Hf;@e z=O|ncPEKB0)JSN(K2qdsZnn2HLozvldgcTQ<|W;7ZU=5N@FsQ}&)Lasf_ST4>B-xf zeg#gUHsSG1%P>%3q!gbm{O~@!UEZzQ8OMf7_C(DNM6xB&dD=5yu4(I2>Ek-n0fP<2 z2ZV(tHIZ)~BD~I32MOBdb%S#U)f8W{(b3J%Y&&bL^f-O+#wS+}32*m}but_aC|65N zRs<0xLThUrV?(aB*sorVV6q?BIn!7aXW4$3=3F@QfAQz-6f?XO(hPdo4^oui@}CY) zr)Vr_^yIl2mQi^-kB2qQxgS-Hz-H!|HShf-NfgJ@5 z_ea*Rf^6W_hmum5y{W4qBwg-AeCG8zQ@(U^@vnkY21m!EWLPFdgHhBd#eyj|pCd;< zmSEh^ZYSTTBI4U-_IJVF2*O-hsN!XcL#ztx>UmS_7Zb~Dum!zj>uS;L?aJM`o=)k} z>+M7wEe??}R$wjnaVb1i#n$gRX6x1vw${NW7eXVC#!JN(yl@Yyekc`@XeGP0Qtd{Y z$TQB$B0NIn#L5D$6V%OMmdsA1N27Vnax60WoI!LN75C37laCxZzcwe^A1++i65HnY zq?))nhCAptde2TN)TREg+q)v17aKuZ<(KZAMBD-35>NXTeJ$}@7t|eacYdduGTK6O1Q|x z*)zxp!Xf*Z-;lH#9s0l-y7ca`GwAIgss#0^TE*G`D)9&^Nh{k9Z73dt*x^7(Sgy8A z;B*5mqPsYzquv4jA>mdBz+Rb-nQ|l7l6Tr3$aWV{9P;=z_%aBOD&gPZ#5dU9*jBU)?{@D2j&V z@=abJEM~H-gZ==cY4tTjZu`21UWfbpL^7!I^9)U>#0HX5DYe%8HrI6rBK zwmA`gc482mar&n;i|0@zO>iH=>kg950kzP{yrrZJDY9Hupq7aj19_Ljn}qujQc*6d zCQ*!E!Yw16O&pb(!p+GOCZ3%O29jZs;oiry(LZ+SQSTr&pt*)eHzn_BpW%~eYODZ| z4TjS5(YQJ z_ENg$;oGrLnLgcsNxb{y@1eyQkHxuz5;D`7S})oruzd0iVo*Nd340G3;Zli&?B!!w zf6O!t(0nS&Qr z|0oCN)wm5?USd-vTytGic=_&?!1vDxjH;sFBoE?7Uc-J{_?K1TVNY`O>fd}rVW--5 z4d)pftf$`^H+PlYHQnXaqGiAd{K|np-HG4jO0*V*tWjO7dB}BF24hEN(YZo0Cu*Q` z{X4}HTy@cXz~|4Lhd6l5?IdYq6+y~lwG~NCr`pa+Hk%u&Hc+ zmNx8>=$Js8Gw1graEP}PK31hkAn-0^p0TJ$K!=1`iH9ALXRyWO|+8mtz+5i((2Fx?DxIqS!-J2xA{zpS$S4+4%F&8tm+7v?T+HN zGYv&1;?|~Ycei&~#3pId#|LVe>sI$Y7yF`HbO|BN@==jSs!FPytOO>q!v>w6e!Cng zEbA)%MY7!!o|&h*gRitpxiu5hZrb0{bD<+Jm+_6wbQVTJ!5!e-Z+>s$24D8lUbRrN z?mi`nC!JFIWFMI4w)=N8&zmsl6BSpSsbafokr5_G8NgGw# z?$Nb=Q5Dub1HZP9I(eOTxvAA3>X%Co41N2CF|GmYQm4nzwm#MKa0lV4Dl9*5)0WoF zqh?c(^$Kuv)D&`=snhq9J07S{56~x!Lx@qvGn~k;-4Q_)RpFFWKVmqnw_aeHDlN99 z;h@;CmpSC9o4@R|e;ad~(pr6`pnp%eGFaYKw(zzIJj~eQKC8UKbkh`ECeSpdy6AT) zKQ!ZQyDNPEm9pz7^Z#P$tD@TMx^7!2rA3Q7#f!VUQ=mA(-95OwJEXX~OK^9JTXA=S z7I!~+zyFMpo80d4?7h}pYs%uFDzR}$O-k{}d(Ya!FpFW|hyMX-l@IWQ`rMH))LSM1 zM@?PFwn!bgZ3)Vk^~T+SQ70X|$xeGnL9$hy%hu2nuAjQ9laNK--{No+Il`X_Gf9cy za3f`6(K6{#Zt+GT`y-Tu`yayWv#vpKM+M2nT31V{9Plrt#$7SL=f5ebT+3C&fK8vq z#D~L=RBlkAt!1;b?jm&{1s-pjzqM(-hp`3hpF%!!E=m~O%*Cv*1|Bzq$k3|dr;G1 ziN*D*JM$v@e-bQj^li`C>!3iVgVIT&5@Nk7bHWrXg+i~RmZs+5R$3c)h2I1zI8UcuFty>`-c%XYhSTgO{9`&BzKg+Q4q zE}B!c+JxHsYzoX2daV%|B;MEqq*S zAM1<;MGTj;X>i5RoHXV;t@@@JK55epz$8i6JLM|YC{cGP8Z1>P)YWeV74iBz9W4DQ zxEbvX5<^jobigRR7AR9 zRf00CtU$WaqC;f3sl%xQ_EX{r3ii-7fP_B#6A7G(NHB6euWtfpG@8_!2iBlJ6gsZ;+$9&`E7k zFSU+&;jHbu&aNKse%vb}(h-OkYh>4&(i>ztIqf+zq?#rxSzW%!lCAsvFqA1%3A0I@ zC^5J4+AAEM^=>K5ayurW9qUjyYTE^froFvEv1m@yfS-sidFCVhvY`bi+^~^r zx$sP&if^@F`v^Uy4!A`O2uHB@7-wC`!SMnUFf@ZxrS+0KUAOrYhA=rxSu$0jKF)_; z^&WBdAKp9vcZ3u=t>WzJlMZKe*?LtxF`$DY$A7fh`tW*i+vUM0{)yRB4(0mi^Ka=g zSWJOZ;k9bC9FSV^vWg3Ks_7NnC51`kf`E5Uih8|z%l%|n>y_u!ZRW$Mg*}JAWyy!m zO^(yyWw1JhoFN3B)7#XoU()^vW%q+=Dm|J~B8atGtdZjowx{2sn-Th7(;!_jYgrRK znI5WlsaQ137V@4CG=Ztb1-E~#;gH-DbeQSLB8`;uq(03Snbf6Ub+Z4i=;IH=vIkRZ zz|;o?0!Bp#vV+7b{w?=(YHo$8VM$STRH`x|TpxGL_?cHdNtF-dc#wAw_A{}wa1f=> zQYph*DwgD1X(*~_cW_c{isv@8n}OMYK+0rtK{kranXguDrjJc`pAqe-3~cMQe?l^L zitoX0v-@W0dAi3Cv$0#c1&cGr*A}qRM)pTKn*LxBudWpuwQ9|hHWzCQs~?$uIP6y1(zr9dtb`Nj$~2vBBhSz;?!nl!i)ZCMuY* zods)#*)HEJhd>2PRxAEcoz67L!W6l8f=2{TwflFn<$&nEE;9}yd#0XTl2kVwJofw6 zW$wKm=}KGn`&)9DK4oaTWcvxp+jj=DPcoG1I!X4fLDsKU1;Rx0~tu!+-Izw9{UBSAv8oyNG^5t+91 zHa7c5j8$#C6D0wTBx2~sTV8tu)D+uN2EfujACe&&hSh+@CKdD3wY%BW#BJqmkUZZH zZO7~22paP0+x3`)5_of}mKX65>xX*z&DAi)QR7tl{+hH;=GNKU<~2y?{UVMNl{X13 zG$0B|8{|bzEJPuI)s#s*tIVs*UD8^|H2V_LCxGg1FBsG0Z&!4$xsw0A+Tx`#DOJA;U*tF?HkDRZ3Qg39u~8|c zF%LZ=azT{qRBoo-tX;VpHF%#$-Mgi4B7lElqlv-KxG0{~l3A0M)`37J<>Z%dPsJ#vR;K5nGUw@kq z)oXkHA9DB>WAqgcXVL+UHXDq@Br{bH7`bM>*lF8ILexD(BL?6WnlVg~_ zSFl%DERyHp5a}h1R|*y)S=}m+h`$fDvb-E?c^Uv}h(epfKLfQMh- z^dESEzn*MC*bs6w6SnC{w38BI_ z6SzI7Sq|yUklvLGj??8@T##s1VdN^91g=c@JKk+34W1rP92j|{xK@<6AMLpNwk3nf z)40|P)`|WK$Ra7hDuuJ;3*M-Ki6V$bvP}Ad-GZQR$3u_7NaUV~`S5VfoV;rcn{q<2 z7)+{v?(yw7` zD`wn&S7fWUYipJ3LM4U}=jwq%SawORcbNiS>hsiMh?mneFjce5+)R#tm|lu)TUzO& z(7)NKUwa@rEGqi>8cs@rXd4+5C3PZf|DtpIL*}9%{AtMd`oCmEP4QFD8grEv`5No#oR-GFCscea!=v$TCUp$D zZscio$*{GulG+NrzdJh(ecGyiy_Me<1`=i?F1MYUZQ2Qjy2?CvTNB+h6r{DsIjtF~ zx0&nEauTUVPg~j1TC1GM0$cm8TIf@)Lvt9=K546yWiW3y{jZ2N2Xo-z)5#osOW5}A z1wgoK?c45N{(8_HglAV52Kmp6ml8KMib33sn?CDVHUIO1BPL9k^^hSIp*pA)XEO7}fM#FcP0%+v z{Eb4DS?RLzHy$87zbv0JkkhI}ROOE@z*^SRhv{~F-zTS6?XkF>(({~|;9sRmrPrtX zPB!CseRoYiV3bzfZ}YHpNfZwAihux$9A@FW!j+gAuOo}RUilVeOCmMl`F zJ!>t_!%D?jXkG8v2dpL=3(K#MP+|>v z1Pnw3Iel-v8m7IdiF|pHfvo1!iZrUxs8D7v-M3>NIckY=iI%e7krNz--VSF}W^++X zuK(mDJoFS73$2Lx%lu`XB+ZAY6r4@<8v`wg^ESThS{omfO`|iSh(NBNhWA$SN-xw& zerT9|T~o7`W$t}bv(%desJf<8~k0e{RQryNfHJN)d={&ti9DvmJKxR|_)N^cJEi8VOiQ zs4CAjEtKg!S%eocVC(Pk&_x7tIq_C95+ivZuFJ zW)fCjXvKe36@HCmQC8oXULi!mu5tu{vmpBljM3RdxMNCY?um$~Z0;wM(eO@V>yLqP zd!SDGgVIAv=@O-no85bLB3_>)0-R#oC3=Zt*C1=nJZ@KkvmG-yX$NpvQ?gTt~$=~?)-VQD@8ZINw_uUljTay*;rKey8APtZdI%2hWLq>7~LxecAzYK z{YN@M{3Z3k;9q)yD$5Mo$HpMFRTALLNIe?q^FN8f2W~~xJ^jr_B%($vvA1B_{AOnu7jC}b#`se*L&21wF%bjhOQ)<&BNy$WjiTjTDK1py#-`& zaFFV~4ev=Yl}id0V!i&?+zu69GvewF%^dY79H^;SuY_;GfVVV7F=6@4njc!;<)7f< zVh`24D49+1shX9Hl(%KQM@#nIP@JSHaToRzxu0g;DFmOuT#c84jpXQEDvr$<6AbI$ zZ^b@$*NU@qMHsZdmG+YhxVFg2Mss=9w7MRLEL@W-hc&K?gP;VQ|Iq|cQJf{Y0)NU~ zT7k)>Il!>~vU?*m!F4$Yp08^NZ{p!k_g=qc zj<8e{JkzW~N&>h((3ag8i?{VYa9-_dytX>nw0Pj!jfcGgI1g@l7c+8PH|Ls@pMK70 z+RE^2Dc@#LX?4URfh!N+6C+;sCCuIqB+OnwA?;LGhl=ieQ||2bYs*gjTA2LfX5#@{ zlhlzznCD_bV{TD_c}Ijyn1Ec?Z2M15!?k%PzP2q+Rhi}68oL8Uqd8iK!$MN2EhU6{C#MON~;7W6Q{d0qtf4>gp_R|F5@();dN z+l-t(zwoLS=?Thn#9o~UmI(_A>WvGWr6!wggi^I$CGpHK3HRS z>$At<{H^UZNAr(T#XaRE!>nhM_cTi-?m5qzUD}uwZZXhZJPAA)kS6rpWHj&HLn#OehRJ?blwYPSo<(*X3XZYPV&e&BTV>u5!;+DtlzS$|! zX;WVByJG(3rAvwAe8%|_kN2WFX5Qx&{=eq8XLbA3PBBxPTq3lMl1Wduj+?vC8SV#! zV@kiugOXGeTC>U(J&RSgU9}6QIs%PvxaG?6C4RBPXN{4`8e=soQlV2} zjx&-N{>4vM`S@2ygCW{6QJZ)?_{TtWGj#BSdgor3TAw3zX42O&Orv;*Kz!MZCGNTRnkl;g6LnYF|V2K>UTeF`&6d%cqg6=Ds2u8(fs z=K(H9qkbQ6;cMK8H87)S42hW$k}p5SNi0r`wy&m$ocDt7u&^JvM*zGb*2>VVpe zu(c;IhTmya6E3A($MX?26E#h$YlK!ov`QyRnqxa5P;;{irgmW?%y6kHc!JS$5p6=7 z@Go}p0@Js@YteiWdjz9tL?f%~A-=O>Ms4kw`*xz-NObt<3k=Vz27T+<&8J@1Ke{I3 zH?@m=gevs|0hY&d4HmRtez6E)2#Wj%eBnO>URCctj9MJRsBGW$EUnyZsq7r%<6Q{N6) zxAjMn--p)1H%7MQ^Y~MHSL=rhU|aacTDpf@fgwSC7k{zGtBFFSl^6y(K75S_xHw#8 zpdN(roh|H-<&To!u8j&CrkXnGO%Nt!p+({)G0}J%_(5r1L_B(Mu>npv)!;ub8z(*I z44uC6{y@Y&p_76;?~fpv~x~|9zbznt|iOS9`Or5Q8HDbv&3*Jkd>tW$BaPhIFaKhyI}%<~=bV_c*_iOF zs(4cAxhyx}gqRd>?pd356D}BD=PLAj5{l(Erz6*vBf&F~I_hR&eY=8OTrQ`$Pe+$c zcFx9-Abl|%6KfkfyKr-mIhd#-Doly}SdkVr;tZ~1yKKaz zPFW|ZJ*j_P-~zX3j?Vb73nWqbONm4`{b3#Gq?1hWE5aJcH8HA@91a%JBiR(> zdKq{fe<&EYrx;CWg-rVnu7-trwQipZM2+n4g%~){M@AEly>;}cQWVvl8ry<1TBrtG zPU#eLewX_jv?Yo?#|Qf7Z!5!|q$*9uEsYVn`D_hy>oF$bSVI72D|zSDd9@AfvU#*dD_<4XB~N(H z&GDv3?9B$3`nW9G{YkI-f~4IpJKECK=1zzA(H?#00^n{;kpgpuIe>zvfaLXp_*`Ik zFN1X(qaVuXeyItCwMUWaMeiSI+$!(U#8S>bb{eXO3PdntQ?OEq)kHMmi4!ke0DIc} zWrfE6D@fU&*EH0HBFc61oylyGFSVYn(bG{sr=jhxQKS@r3X<$NrT63eMh&`bkZNAf z`_alLobW7PnJ5)$LKJzpl!MZ=tClsE?n|jRMhLw0E zT?!uW9+5j$lOKy%R*9Z@k~wFvP63xEA|oSzE4PxHKeM)y*351&PyKGu`t18;Yj^Y3 zQTa{_daQ#^cn7mpw{E7s$22f`SZ_|XYj%<1$ND|T$Q+}Gmoj@EaKo;PGuol_J%*&N z_9pbc^lqT)ouKWueJC~lOjRIkwL^Y@u%Wf+V->(~NshhQjY3oSY0t4m_w{+b$iyyf zdRC$xI|d!vE}%v_#oE;F{)H~ek)hPA?J!D07s_l;&m+Rc3Q90-|3LW;)ZZ=3bl|$k zaffzN7BYi)G8};TbS-cd#{V0D)*;LqC7Z=8P~;#@)lcQ%K!he3&(8aMSz^DYm$^A% z6ph8EYE=#)&F;?r=W;Q{?f%H27b;Dc*vTlL3$oG2ia=1}#vneWirm*(|5CCvN2YmaVQebw+Tk1xdTDEfkzmJx()V%<;JLSEDLU4o-jlSaa9 z*=!82d4tyZ(?=rh2xDZA2jmsO~wN-6{$uE9;W3}|Nh5v_0{M_?!waH8}fj(=)lQ) zZ!JGY?l$f&dFbg#OfCdOQR{dV-K>=bgOQeix1jL^SeD^*Y_8(CF)afek$ zl!-38RljU5>Fw=A-X5hq23)3GC-Y6F*PZ}+Q43DcVsOyN_#F= z&xd8~fmtw!f}}V3R+0HX7kQahOisV^(BJfBIhiut*Zr2_yfUKV@2*~A17RQ?JhVh# z;iQx^(FGwZb&V#R!Rl`^C>{SUan6pH8N){e1-XAh=~m>z9Z3VY>xb!2Hu|e?Pkd3a=U;`d-oirhC4J;EMk4 zg90kl|D@K27DaHg0Z}kOGUS*A;FKR9Bcn>{?=&$T>W8dJ(rk2EJ7BJZs(~HIBnElg3qt( z^pp4BqA`3i*`ff48IS(KRx7%XJVV9^XLSYu;W9WJJbuUQupJN8$eAIpYZCuHmKNhgdZl*)p*7NB|ruZ|>01sP9N1 z5XjU#JHSKT4@Euws&Ge-ii3E@gd`;q+H0?f`H8diZ?FPsdPf>1&5AclCFY&K4{TWL zRSz~lJ<^m}KuOWAI~F%vsMGXy1@4XFo_Dvbb ziEBeeyTH(~**hcg8<{IhgZyh^jHy`kJ;z2D3r+OTwFkG3+Dn65v{u63;{+(XgLbGs z++kDEwkJSWAR;J^N_q}TL>&5Wh^;`{B&#&Bc1dox+e>iPL{QqZk`&xm>qHuufXBaqA;`M9YtQ7!g|Q!^Y*1r@*;9VD zF3u{{d6@Ga^fdMh@s4nf2Wm2{MhFQgpx-TH;He^GT9DTVnEBv&(2CaHZOcXebHtX5k|!=9yI) z9e8}$f_S^Uv~+z^rYq$do&<7ajW?&eCs=QLN>yxg^uXNOEDpf~igt)}7=ap`8Jom^yiiOAUbbQ^h z{5-5Rp_qqUwa`-F#C78VrOdGa)nR7{lAFF1?~Z!ElCpgj3oS-aSYe+>!I6gbOPFFs zlO5*xjW;|k1R{8Cg6_l?ea)Cq9UV&BGC@K&l|9l6% z)NqJ7KEh0+^dnnBxd+6cSO!GnR)-h2pB$G&hmDKfIvjDm7jVp5|9-MEq<;wWF3J4D zPQdZ%Y9y0Jk?vSntRL~M(U`+W_NKT=D$e27?vRTlL)zKKV$FUzhTzVPk~Nd>>9vXW zfZ?m&J=^@{bXQ*BvWoplj5g?&V`;4V=Mr(A}b|QIG1(;TdD-hF4qSnk#7ZHL-i9m|G_)ajcFr zh6^BTg{W^kQGIYT)aSa)fa*P4W$lgb3fyq&IsS}$nutkMCgSou;lG^LuVQ=Q$r)%6 zj#~&|WD6J{MjhYEI9PZ&@~JqBjaZu?zrVxgPc6EN1x_*CAK*zLnyPt3yQ4%X3ag>2 zsuZc!f?Vb{-In2n0y6Qvg&eZ=NKtygRVHa~hH$A_f zsq?@FP)wM-D7&HA7u5(Azh`A#O6$Dx|7>5jX1nDbEATl8nSVS8X3hBZG-@fze=ot%t&L{$#>aRARGyx%R zXU$D=a-D`a#^eL-YRvGT+K8?kZ%I)^z$(d-@5jdV0usGJWn#T{1YyL9tK4Q84F-*0Yc^Y_c0B5>>zl`hHxo5s52UCG%)-jl7H_XRsdgbP0soC zMRuLrse3KLWf8|E?^QG7G*~ObHv#dd{k_cBzV-h z)kpz;M_hZ!<52nsjMTPWeD2)5yI);}dY}No26mb=&Dlsu=Uifvw#XlYSf6Wib-nq+5Zv8@5ne_&;a(TRR{nB^otm&YPP(n8qf>T`~vq0+Gfc`e0>zy{M z8bcvoCb#1Z+G=bQjf+PPazWsNHiOWIe*^@PCmuGF`M5S93R1GT z>a7_4?JWqY^%f!z_Mc$IRC_eGP%hi&U>g&Wy8kd{ezwKe$|CE zN!mnRux{B#vx*`Sz42JHXH~Z6vVv?wOaW>aK${P0aZd0bKTy!rf?N4p4RW4}uoXo4 zQw)ei1`8Pn5D^txQNB~xpaWpyZsjBdZ||lgn_ENXN1cch>2Qjop9&GYJruhd^UDY} zd?Z8sn~qKIA8cXVJ+laNlL7c}+t^8LZ454aWj6S@{P$tc$=jprkH_GGqmH7j$ZBbo zXB|$2Vl3rOdlEJo=*W<58Vtpc>ulCLT@h=WV^H;p0z!Y--N9Pc`L&554J(9X%0pQr zGSImzv!K+?V4@P`5KUQF=~$&eRRLk&{Id@R&AI{RVBw z>W`Iq-h0cjhxtyej_+{Xdcx*=SR0iK(Diu;Xu#Bm)PAC%e@V1eY`az!N{-k zn5r%!beyCQi17A^4pn@{e_TPp{L_FK&XIqd@Kw>@J3hg>`y0%7T)NConQZ*2npKiE+iq$S*6cL&)MR7zI8%R0F;C zHr~|QC=GM`XYps_#PKf+7urtKLV{Db�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

    skfxS;^e48 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

    GeoEk@< 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�d+A;L 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

    -f; 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 N1C&vgu8{-<{eLCfQvCn` literal 0 HcmV?d00001 diff --git a/client/src/assets/imgs/women.png b/client/src/assets/imgs/women.png new file mode 100644 index 0000000000000000000000000000000000000000..0af6e75461bfdfa2aabadebac6c163d61e80a01c GIT binary patch literal 54998 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 NLul%2)ZBB3`9E**kh}l@ literal 0 HcmV?d00001 diff --git a/client/src/components/Grid/components/GridItem.vue b/client/src/components/Grid/components/GridItem.vue new file mode 100644 index 0000000..6492076 --- /dev/null +++ b/client/src/components/Grid/components/GridItem.vue @@ -0,0 +1,74 @@ + + diff --git a/client/src/components/Grid/index.vue b/client/src/components/Grid/index.vue new file mode 100644 index 0000000..411f8f1 --- /dev/null +++ b/client/src/components/Grid/index.vue @@ -0,0 +1,176 @@ + + + diff --git a/client/src/components/Grid/interface/index.ts b/client/src/components/Grid/interface/index.ts new file mode 100644 index 0000000..b062bef --- /dev/null +++ b/client/src/components/Grid/interface/index.ts @@ -0,0 +1,6 @@ +export type BreakPoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' + +export type Responsive = { + span?: number + offset?: number +} diff --git a/client/src/components/IconPark/index.vue b/client/src/components/IconPark/index.vue new file mode 100644 index 0000000..59e6480 --- /dev/null +++ b/client/src/components/IconPark/index.vue @@ -0,0 +1,27 @@ + + + diff --git a/client/src/components/ProTable/components/ColSetting.vue b/client/src/components/ProTable/components/ColSetting.vue new file mode 100644 index 0000000..9099cba --- /dev/null +++ b/client/src/components/ProTable/components/ColSetting.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/client/src/components/ProTable/components/Pagination.vue b/client/src/components/ProTable/components/Pagination.vue new file mode 100644 index 0000000..b1c766c --- /dev/null +++ b/client/src/components/ProTable/components/Pagination.vue @@ -0,0 +1,29 @@ + + + diff --git a/client/src/components/ProTable/components/TableColumn.vue b/client/src/components/ProTable/components/TableColumn.vue new file mode 100644 index 0000000..cdad368 --- /dev/null +++ b/client/src/components/ProTable/components/TableColumn.vue @@ -0,0 +1,74 @@ + + + diff --git a/client/src/components/ProTable/index.md b/client/src/components/ProTable/index.md new file mode 100644 index 0000000..1a70ec4 --- /dev/null +++ b/client/src/components/ProTable/index.md @@ -0,0 +1,87 @@ +## ProTable 文档 📚 + +### 1、ProTable 属性(ProTableProps): + +> 使用 `v-bind="$attrs"` 通过属性透传将 **ProTable** 组件属性全部透传到 **el-table** 上,所以我们支持 **el-table** 的所有 **Props** 属性。在此基础上,还扩展了以下 **Props:** + +| 属性名 | 类型 | 是否必传 | 默认值 | 属性描述 | +| :----------: | :---------: | :------: | :-----------------------------------: | :--------------------------------------------------------------------------------------------------: | +| columns | ColumnProps | ✅ | — | ProTable 组件会根据此字段渲染搜索表单与表格列,详情见 ColumnProps | +| requestApi | Function | ✅ | — | 获取表格数据的请求 API | +| requestAuto | Boolean | ❌ | true | 表格初始化是否自动执行请求 API | +| dataCallback | Function | ❌ | — | 后台返回数据的回调函数,可对后台返回数据进行处理 | +| title | String | ❌ | — | 表格标题,目前只在打印的时候用到 | +| pagination | Boolean | ❌ | true | 是否显示分页组件:pagination 为 false 后台返回数据应该没有分页信息 和 list 字段,data 就是 list 数据 | +| initParam | Object | ❌ | {} | 表格请求的初始化参数,该值变化会自动请求表格数据 | +| toolButton | Boolean | ❌ | true | 是否显示表格功能按钮 | +| rowKey | String | ❌ | 'id' | 当表格数据多选时,所指定的 id | +| searchCol | Object | ❌ | { xs: 1, sm: 2, md: 2, lg: 3, xl: 4 } | 表格搜索项每列占比配置 | + +### 2、Column 配置(ColumnProps): + +> 使用 `v-bind="column"` 通过属性透传将每一项 **column** 属性全部透传到 **el-table-column** 上,所以我们支持 **el-table-column** 的所有 **Props** 属性。在此基础上,还扩展了以下 **Props:** + +| 属性名 | 类型 | 是否必传 | 默认值 | 属性描述 | +| :----------: | :----------------: | :------: | :----: | :---------------------------------------------------------------------------------------------: | +| tag | Boolean | ❌ | false | 当前单元格值是否为标签展示,可通过 enum 数据中 tagType 字段指定 tag 类型 | +| isShow | Boolean | ❌ | true | 当前列是否显示在表格内(只对 prop 列生效) | +| search | SearchProps | ❌ | — | 搜索项配置,详情见 SearchProps | +| enum | Object \| Function | ❌ | — | 字典,可格式化单元格内容,还可以作为搜索框的下拉选项(字典可以为 API 请求函数,内部会自动执行) | +| isFilterEnum | Boolean | ❌ | true | 当前单元格值是否根据 enum 格式化(例如 enum 只作为搜索项数据,不参与内容格式化) | +| fieldNames | Object | ❌ | — | 指定字典 label && value 的 key 值 | +| headerRender | Function | ❌ | — | 自定义表头内容渲染(tsx 语法、h 语法) | +| render | Function | ❌ | — | 自定义单元格内容渲染(tsx 语法、h 语法) | +| \_children | ColumnProps | ❌ | — | 多级表头 | + +### 3、搜索项 配置(SearchProps): + +> 使用 `v-bind="column.search.props“` 通过属性透传将 **search.props** 属性全部透传到每一项搜索组件上,所以我们支持 **input、select、tree-select、date-packer、time-picker、time-select、switch** 大部分属性,并在其基础上还扩展了以下 **Props:** + +| 属性名 | 类型 | 是否必传 | 默认值 | 属性描述 | +| :----------: | :----: | :------: | :----: | :--------------------------------------------------------------------------------------------------------------------------------------------: | +| el | String | ✅ | — | 当前项搜索框的类型,支持:input、input-number、select、select-v2、tree-select、cascader、date-packer、time-picker、time-select、switch、slider | +| props | Object | ❌ | — | 根据 element plus 官方文档来传递,该属性所有值会透传到组件 | +| defaultValue | Any | ❌ | — | 搜索项默认值 | +| key | String | ❌ | — | 当搜索项 key 不为 prop 属性时,可通过 key 指定 | +| order | Number | ❌ | — | 搜索项排序(从小到大) | +| span | Number | ❌ | 1 | 搜索项所占用的列数,默认为 1 列 | +| offset | Number | ❌ | — | 搜索字段左侧偏移列数 | + +### 4、ProTable 事件: + +> 根据 **ElementPlus Table** 文档在 **ProTable** 组件上绑定事件即可,组件会通过 **$attrs** 透传给 **el-table**。 +> +> [el-table 事件文档链接](https://element-plus.org/zh-CN/component/table.html#table-%E4%BA%8B%E4%BB%B6) + +### 5、ProTable 方法: + +> **ProTable** 组件暴露了 **el-table** 实例和一些组件内部的参数和方法: +> +> [el-table 方法文档链接](https://element-plus.org/zh-CN/component/table.html#table-%E6%96%B9%E6%B3%95) + +| 方法名 | 描述 | +| :-------------: | :-------------------------------------------------------------------: | +| element | `el-table` 实例,可以通过`element.方法名`来调用 `el-table` 的所有方法 | +| tableData | 当前页面所展示的数据 | +| searchParam | 所有的搜索参数,不包含分页 | +| pageable | 当前表格的分页数据 | +| getTableList | 获取、刷新表格数据的方法(携带所有参数) | +| reset | 重置表格查询参数,相当于点击重置搜索按钮 | +| clearSelection | 清空表格所选择的数据,除此方法之外还可使用 `element.clearSelection()` | +| enumMap | 当前表格使用的所有字典数据(Map 数据结构) | +| isSelected | 表格是否选中数据 | +| selectedList | 表格选中的数据列表 | +| selectedListIds | 表格选中的数据列表的 id | + +### 6、ProTable 插槽: + +| 插槽名 | 描述 | +| :----------------------: | :-------------------------------------------------------------------------------------------------------------------------------------: | +| — | 默认插槽,支持直接在 ProTable 中写 el-table-column 标签 | +| tableHeader | 自定义表格头部左侧区域的插槽,一般情况该区域放操作按钮 | +| toolButton | 自定义表格头部左右侧侧功能区域的插槽 | +| append | 插入至表格最后一行之后的内容, 如果需要对表格的内容进行无限滚动操作,可能需要用到这个 slot。 若表格有合计行,该 slot 会位于合计行之上。 | +| empty | 当表格数据为空时自定义的内容 | +| pagination | 分页组件插槽 | +| `column.prop` | 单元格的作用域插槽 | +| `column.prop` + "Header" | 表头的作用域插槽 | diff --git a/client/src/components/ProTable/index.vue b/client/src/components/ProTable/index.vue new file mode 100644 index 0000000..b1935ad --- /dev/null +++ b/client/src/components/ProTable/index.vue @@ -0,0 +1,335 @@ + + + + + diff --git a/client/src/components/ProTable/interface/index.ts b/client/src/components/ProTable/interface/index.ts new file mode 100644 index 0000000..419b27d --- /dev/null +++ b/client/src/components/ProTable/interface/index.ts @@ -0,0 +1,49 @@ +import { TableColumnCtx } from "element-plus/es/components/table/src/table-column/defaults"; +import { BreakPoint, Responsive } from "@/components/Grid/interface"; + +export interface EnumProps { + label: string; // 选项框显示的文字 + value: any; // 选项框值 + disabled?: boolean; // 是否禁用此选项 + tagType?: string; // 当 tag 为 true 时,此选择会指定 tag 显示类型 + children?: EnumProps[]; // 为树形选择时,可以通过 children 属性指定子选项 + [key: string]: any; +} + +export type TypeProp = "index" | "selection" | "expand" + +export type SearchType = + | "input" + | "input-number" + | "select" + | "select-v2" + | "tree-select" + | "cascader" + | "date-picker" + | "time-picker" + | "time-select" + | "switch" + | "slider" + +export type SearchProps = { + el: SearchType // 当前项搜索框的类型 + props?: any // 搜索项参数,根据 element plus 官方文档来传递,该属性所有值会透传到组件 + key?: string // 当搜索项 key 不为 prop 属性时,可通过 key 指定 + order?: number // 搜索项排序(从大到小) + span?: number // 搜索项所占用的列数,默认为1列 + offset?: number // 搜索字段左侧偏移列数 + defaultValue?: string | number | boolean | any[] // 搜索项默认值 +} & Partial> + +export interface ColumnProps + extends Partial, "children" | "renderHeader" | "renderCell">> { + tag?: boolean; // 是否是标签展示 + isShow?: boolean; // 是否显示在表格当中 + search?: SearchProps | undefined; // 搜索项配置 + enum?: EnumProps[] | ((params?: any) => Promise); // 枚举类型(渲染值的字典) + isFilterEnum?: boolean; // 当前单元格值是否根据 enum 格式化(示例:enum 只作为搜索项数据) + fieldNames?: { label: string; value: string }; // 指定 label && value 的 key 值 + headerRender?: (row: ColumnProps) => any; // 自定义表头内容渲染(tsx语法) + render?: (scope: { row: T }) => any; // 自定义单元格内容渲染(tsx语法) + _children?: ColumnProps[]; // 多级表头 +} diff --git a/client/src/components/ReImageVerify/index.ts b/client/src/components/ReImageVerify/index.ts new file mode 100644 index 0000000..c5a9f19 --- /dev/null +++ b/client/src/components/ReImageVerify/index.ts @@ -0,0 +1,6 @@ +import reImageVerify from './src/index.vue' + +/** 图形验证码组件 */ +export const ReImageVerify = reImageVerify + +export default ReImageVerify diff --git a/client/src/components/ReImageVerify/src/hooks.ts b/client/src/components/ReImageVerify/src/hooks.ts new file mode 100644 index 0000000..c10d7d1 --- /dev/null +++ b/client/src/components/ReImageVerify/src/hooks.ts @@ -0,0 +1,85 @@ +import { ref, onMounted } from 'vue' + +/** + * 绘制图形验证码 + * @param width - 图形宽度 + * @param height - 图形高度 + */ +export const useImageVerify = (width = 120, height = 40) => { + const domRef = ref() + const imgCode = ref('') + + function setImgCode(code: string) { + imgCode.value = code + } + + function getImgCode() { + if (!domRef.value) return + imgCode.value = draw(domRef.value, width, height) + } + + onMounted(() => { + getImgCode() + }) + + return { + domRef, + imgCode, + setImgCode, + getImgCode + } +} + +function randomNum(min: number, max: number) { + const num = Math.floor(Math.random() * (max - min) + min) + return num +} + +function randomColor(min: number, max: number) { + const r = randomNum(min, max) + const g = randomNum(min, max) + const b = randomNum(min, max) + return `rgb(${r},${g},${b})` +} + +function draw(dom: HTMLCanvasElement, width: number, height: number) { + let imgCode = '' + + const NUMBER_STRING = '0123456789' + + const ctx = dom.getContext('2d') + if (!ctx) return imgCode + + ctx.fillStyle = randomColor(180, 230) + ctx.fillRect(0, 0, width, height) + for (let i = 0; i < 4; i += 1) { + const text = NUMBER_STRING[randomNum(0, NUMBER_STRING.length)] + imgCode += text + const fontSize = randomNum(18, 41) + const deg = randomNum(-30, 30) + ctx.font = `${fontSize}px Simhei` + ctx.textBaseline = 'top' + ctx.fillStyle = randomColor(80, 150) + ctx.save() + ctx.translate(30 * i + 15, 15) + ctx.rotate((deg * Math.PI) / 180) + ctx.fillText(text, -15 + 5, -15) + ctx.restore() + } + for (let i = 0; i < 5; i += 1) { + ctx.beginPath() + ctx.moveTo(randomNum(0, width), randomNum(0, height)) + ctx.lineTo(randomNum(0, width), randomNum(0, height)) + ctx.strokeStyle = randomColor(180, 230) + ctx.closePath() + ctx.stroke() + } + for (let i = 0; i < 41; i += 1) { + ctx.beginPath() + ctx.arc(randomNum(0, width), randomNum(0, height), 1, 0, 2 * Math.PI) + ctx.closePath() + ctx.fillStyle = randomColor(150, 200) + ctx.fill() + } + return imgCode +} diff --git a/client/src/components/ReImageVerify/src/index.vue b/client/src/components/ReImageVerify/src/index.vue new file mode 100644 index 0000000..7d6dd6c --- /dev/null +++ b/client/src/components/ReImageVerify/src/index.vue @@ -0,0 +1,42 @@ + + + diff --git a/client/src/components/SearchForm/components/SearchFormItem.vue b/client/src/components/SearchForm/components/SearchFormItem.vue new file mode 100644 index 0000000..cc3808f --- /dev/null +++ b/client/src/components/SearchForm/components/SearchFormItem.vue @@ -0,0 +1,107 @@ + + + diff --git a/client/src/components/SearchForm/index.vue b/client/src/components/SearchForm/index.vue new file mode 100644 index 0000000..37f50f6 --- /dev/null +++ b/client/src/components/SearchForm/index.vue @@ -0,0 +1,109 @@ + + diff --git a/client/src/components/SvgIcon/index.vue b/client/src/components/SvgIcon/index.vue new file mode 100644 index 0000000..fbe54c3 --- /dev/null +++ b/client/src/components/SvgIcon/index.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/client/src/components/elderListDialog/index.vue b/client/src/components/elderListDialog/index.vue new file mode 100644 index 0000000..d5a8ee0 --- /dev/null +++ b/client/src/components/elderListDialog/index.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/client/src/components/my-card/my-card.vue b/client/src/components/my-card/my-card.vue new file mode 100644 index 0000000..37544a8 --- /dev/null +++ b/client/src/components/my-card/my-card.vue @@ -0,0 +1,20 @@ + + + + + diff --git a/client/src/components/treeDialog/index.vue b/client/src/components/treeDialog/index.vue new file mode 100644 index 0000000..cee0cf7 --- /dev/null +++ b/client/src/components/treeDialog/index.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/client/src/components/upload/image/index.vue b/client/src/components/upload/image/index.vue new file mode 100644 index 0000000..c10fb54 --- /dev/null +++ b/client/src/components/upload/image/index.vue @@ -0,0 +1,146 @@ + + + diff --git a/client/src/components/wen-test/DynamicAdditionComponent.vue b/client/src/components/wen-test/DynamicAdditionComponent.vue new file mode 100644 index 0000000..f1421d6 --- /dev/null +++ b/client/src/components/wen-test/DynamicAdditionComponent.vue @@ -0,0 +1,38 @@ + + + + + + + + diff --git a/client/src/hooks/interface/index.ts b/client/src/hooks/interface/index.ts new file mode 100644 index 0000000..e26a422 --- /dev/null +++ b/client/src/hooks/interface/index.ts @@ -0,0 +1,27 @@ +export namespace Table { + export interface Pageable { + pageNum: number + pageSize: number + total: number + } + export interface TableStateProps { + tableData: any[] + pageable: Pageable + searchParam: { + [key: string]: any + } + searchInitParam: { + [key: string]: any + } + totalParam: { + [key: string]: any + } + icon?: { + [key: string]: any + } + } +} + +export namespace HandleData { + export type MessageType = '' | 'success' | 'warning' | 'info' | 'error' +} diff --git a/client/src/hooks/useHandleData.ts b/client/src/hooks/useHandleData.ts new file mode 100644 index 0000000..5984785 --- /dev/null +++ b/client/src/hooks/useHandleData.ts @@ -0,0 +1,34 @@ +import { ElMessageBox, ElMessage } from 'element-plus' +import { HandleData } from './interface' + +/** + * @description 操作单条数据信息(二次确认【删除、禁用、启用、重置密码】) + * @param {Function} api 操作数据接口的api方法(必传) + * @param {Object} params 携带的操作数据参数 {id,params}(必传) + * @param {String} message 提示信息(必传) + * @param {String} confirmType icon类型(不必传,默认为 warning) + * @return Promise + */ +export const useHandleData =

    ( + api: (params: P) => Promise, + params: Parameters[0], + message: string, + confirmType: HandleData.MessageType = 'warning' +) => { + return new Promise((resolve, reject) => { + ElMessageBox.confirm(`是否${message}?`, '温馨提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: confirmType, + draggable: true + }).then(async () => { + const res = await api(params) + if (!res) return reject(false) + ElMessage({ + type: 'success', + message: `${message}成功!` + }) + resolve(true) + }) + }) +} diff --git a/client/src/hooks/useIcons.ts b/client/src/hooks/useIcons.ts new file mode 100644 index 0000000..3c8fb3b --- /dev/null +++ b/client/src/hooks/useIcons.ts @@ -0,0 +1,14 @@ +import SvgIcon from '@/components/SvgIcon/index.vue' +import { h, defineComponent } from 'vue' + +export function useRenderIcon(iconName: string, attrs?: any) { + return defineComponent({ + name: 'SvgIcon', + render() { + return h(SvgIcon, { + icon: iconName, + ...attrs + }) + } + }) +} diff --git a/client/src/hooks/useSelection.ts b/client/src/hooks/useSelection.ts new file mode 100644 index 0000000..3c4a8ad --- /dev/null +++ b/client/src/hooks/useSelection.ts @@ -0,0 +1,36 @@ +import { ref, computed } from 'vue' + +/** + * @description 表格多选数据操作 + * @param {String} rowKey 当表格可以多选时,所指定的 id + * */ +export const useSelection = (rowKey = 'id') => { + // 是否选中数据 + const isSelected = ref(false) + // 选中的数据列表 + const selectedList = ref([]) + + // 当前选中的所有ids(数组),可根据项目自行配置id字段 + const selectedListIds = computed((): string[] => { + const ids: string[] = [] + selectedList.value.forEach(item => ids.push(item[rowKey])) + return ids + }) + + /** + * @description 多选操作 + * @param {Array} rowArr 当前选择的所有数据 + * @return void + */ + const selectionChange = (rowArr: any) => { + rowArr.length === 0 ? (isSelected.value = false) : (isSelected.value = true) + selectedList.value = rowArr + } + + return { + isSelected, + selectedList, + selectedListIds, + selectionChange + } +} diff --git a/client/src/hooks/useTabList.ts b/client/src/hooks/useTabList.ts new file mode 100644 index 0000000..f9a7847 --- /dev/null +++ b/client/src/hooks/useTabList.ts @@ -0,0 +1,98 @@ +// import { ref } from 'vue' +// import { useRoute, onBeforeRouteUpdate } from 'vue-router' +// import { useCookies } from '@vueuse/integrations/useCookies' +// import { router } from '~/router' + +// export function useTabList() { +// const route = useRoute() +// const cookie = useCookies() + +// const activeTab = ref(route.path) +// const tabList = ref([ +// { +// title: '后台首页', +// path: '/' +// } +// ]) + +// // 添加标签导航 +// function addTab(tab) { +// let noTab = tabList.value.findIndex((t) => t.path == tab.path) == -1 +// if (noTab) { +// tabList.value.push(tab) +// } + +// cookie.set('tabList', tabList.value) +// } + +// // 初始化标签导航列表 +// function initTabList() { +// let tbs = cookie.get('tabList') +// if (tbs) { +// tabList.value = tbs +// } +// } + +// initTabList() + +// onBeforeRouteUpdate((to, from) => { +// activeTab.value = to.path +// addTab({ +// title: to.meta.title, +// path: to.path +// }) +// }) + +// const changeTab = (t) => { +// activeTab.value = t +// router.push(t) +// } + +// const removeTab = (t) => { +// let tabs = tabList.value +// let a = activeTab.value +// if (a == t) { +// tabs.forEach((tab, index) => { +// if (tab.path == t) { +// const nextTab = tabs[index + 1] || tabs[index - 1] +// if (nextTab) { +// a = nextTab.path +// } +// } +// }) +// } + +// activeTab.value = a +// tabList.value = tabList.value.filter((tab) => tab.path != t) + +// cookie.set('tabList', tabList.value) +// } + +// const handleClose = (c) => { +// if (c == 'clearAll') { +// // 切换回首页 +// activeTab.value = '/' +// // 过滤只剩下首页 +// tabList.value = [ +// { +// title: '后台首页', +// path: '/' +// } +// ] +// } else if (c == 'clearOther') { +// // 过滤只剩下首页和当前激活 +// tabList.value = tabList.value.filter( +// (tab) => tab.path == '/' || tab.path == activeTab.value +// ) +// } +// cookie.set('tabList', tabList.value) +// } + +// return { +// activeTab, +// tabList, +// changeTab, +// removeTab, +// handleClose +// } +// } diff --git a/client/src/hooks/useTable.ts b/client/src/hooks/useTable.ts new file mode 100644 index 0000000..f102ced --- /dev/null +++ b/client/src/hooks/useTable.ts @@ -0,0 +1,174 @@ +import { Table } from './interface' +import { reactive, computed, toRefs } from 'vue' + +/** + * @description table 页面操作方法封装 + * @param {Function} api 获取表格数据 api 方法(必传) + * @param {Object} initParam 获取数据初始化参数(非必传,默认为{}) + * @param {Boolean} isPageable 是否有分页(非必传,默认为true) + * @param {Function} dataCallBack 对后台返回的数据进行处理的方法(非必传) + * */ +export const useTable = ( + api: (params: any) => Promise, + initParam: object = {}, + isPageable = true, + dataCallBack?: (data: any) => any +) => { + const state = reactive({ + // 表格数据 + tableData: [], + // 分页数据 + pageable: { + // 当前页数 + pageNum: 1, + // 每页显示条数 + pageSize: 10, + // 总条数 + total: 0 + }, + // 查询参数(只包括查询) + searchParam: {}, + // 初始化默认的查询参数 + searchInitParam: {}, + // 总参数(包含分页和查询参数) + totalParam: {} + }) + + /** + * @description 分页查询参数(只包括分页和表格字段排序,其他排序方式可自行配置) + * */ + const pageParam = computed({ + get: () => { + return { + pageNum: state.pageable.pageNum, + pageSize: state.pageable.pageSize + } + }, + set: (newVal: any) => { // 我是分页更新之后的值 + } + }) + + /** + * @description 获取表格数据 + * @return void + * */ + const getTableList = async () => { + try { + // 先把初始化参数和分页参数放到总参数里面 + Object.assign( + state.totalParam, + initParam, + isPageable ? pageParam.value : {} + ) + //请求前格式化数据 + if (state.totalParam.consultDate) { + state.totalParam.startTime = state.totalParam.consultDate[0] + state.totalParam.endTime = state.totalParam.consultDate[1] + delete state.totalParam.consultDate + } + let { data } = await api({ + ...state.searchInitParam, + ...state.totalParam + }) + dataCallBack && (data = dataCallBack(data)) + // 获取当前表格数据 + state.tableData = isPageable ? data.list : data + + const { pageNum, pageSize, total } = data + isPageable && updatePageable({ pageNum, pageSize, total }) + } catch (error) { + console.log(error) + } + } + + /** + * @description 更新查询参数 + * @return void + * */ + const updatedTotalParam = () => { + state.totalParam = {} + // 处理查询参数,可以给查询参数加自定义前缀操作 + const nowSearchParam: { [key: string]: any } = {} + // 防止手动清空输入框携带参数(这里可以自定义查询参数前缀) + for (const key in state.searchParam) { + // * 某些情况下参数为 false/0 也应该携带参数 + if ( + state.searchParam[key] || + state.searchParam[key] === false || + state.searchParam[key] === 0 + ) { + nowSearchParam[key] = state.searchParam[key] + } + } + Object.assign( + state.totalParam, + nowSearchParam, + isPageable ? pageParam.value : {} + ) + } + + /** + * @description 更新分页信息 + * @param {Object} resPageable 后台返回的分页数据 + * @return void + * */ + const updatePageable = (resPageable: Table.Pageable) => { + Object.assign(state.pageable, resPageable) + } + + /** + * @description 表格数据查询 + * @return void + * */ + const search = () => { + state.pageable.pageNum = 1 + updatedTotalParam() + getTableList() + } + + /** + * @description 表格数据重置 + * @return void + * */ + const reset = () => { + state.pageable.pageNum = 1 + state.searchParam = {} + // 重置搜索表单的时,如果有默认搜索参数,则重置默认的搜索参数 + Object.keys(state.searchInitParam).forEach(key => { + state.searchParam[key] = state.searchInitParam[key] + }) + updatedTotalParam() + getTableList() + } + + /** + * @description 每页条数改变 + * @param {Number} val 当前条数 + * @return void + * */ + const handleSizeChange = (val: number) => { + state.pageable.pageNum = 1 + state.pageable.pageSize = val + getTableList() + } + + /** + * @description 当前页改变 + * @param {Number} val 当前页 + * @return void + * */ + const handleCurrentChange = (val: number) => { + state.pageable.pageNum = val + getTableList() + } + + return { + ...toRefs(state), + getTableList, + search, + reset, + handleSizeChange, + handleCurrentChange, + updatedTotalParam + } +} diff --git a/client/src/icons/index.ts b/client/src/icons/index.ts new file mode 100644 index 0000000..e4cd5fc --- /dev/null +++ b/client/src/icons/index.ts @@ -0,0 +1,15 @@ +import SvgIcon from '@/components/SvgIcon/index.vue' +import { App } from 'vue' + +// 获取上下文 require.context(检索的目录,是否检索子文件夹,正则表达式) +// 返回值是一个函数(传入路径可以导入文件) +// 通过静态方法keys可以检索所有文件路径 +// 通过.prototype可以查看所有静态方法 + +const svgRequired = require.context('./svg', false, /\.svg$/) + +svgRequired.keys().forEach(item => svgRequired(item)) + +export default (app: App) => { + app.component('svg-icon', SvgIcon) +} diff --git a/client/src/icons/svg/base.svg b/client/src/icons/svg/base.svg new file mode 100644 index 0000000..bd525dc --- /dev/null +++ b/client/src/icons/svg/base.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/charge.svg b/client/src/icons/svg/charge.svg new file mode 100644 index 0000000..58fe9f7 --- /dev/null +++ b/client/src/icons/svg/charge.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/check.svg b/client/src/icons/svg/check.svg new file mode 100644 index 0000000..356be38 --- /dev/null +++ b/client/src/icons/svg/check.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/diet.svg b/client/src/icons/svg/diet.svg new file mode 100644 index 0000000..6aba363 --- /dev/null +++ b/client/src/icons/svg/diet.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/exit-fullscreen.svg b/client/src/icons/svg/exit-fullscreen.svg new file mode 100644 index 0000000..98dd98c --- /dev/null +++ b/client/src/icons/svg/exit-fullscreen.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/fullscreen.svg b/client/src/icons/svg/fullscreen.svg new file mode 100644 index 0000000..2ada57b --- /dev/null +++ b/client/src/icons/svg/fullscreen.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/guide.svg b/client/src/icons/svg/guide.svg new file mode 100644 index 0000000..390f4ac --- /dev/null +++ b/client/src/icons/svg/guide.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/home.svg b/client/src/icons/svg/home.svg new file mode 100644 index 0000000..11dd276 --- /dev/null +++ b/client/src/icons/svg/home.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/lang.svg b/client/src/icons/svg/lang.svg new file mode 100644 index 0000000..c809206 --- /dev/null +++ b/client/src/icons/svg/lang.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/live.svg b/client/src/icons/svg/live.svg new file mode 100644 index 0000000..7fd0e32 --- /dev/null +++ b/client/src/icons/svg/live.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/lock.svg b/client/src/icons/svg/lock.svg new file mode 100644 index 0000000..15db207 --- /dev/null +++ b/client/src/icons/svg/lock.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/logout.svg b/client/src/icons/svg/logout.svg new file mode 100644 index 0000000..6f66e0b --- /dev/null +++ b/client/src/icons/svg/logout.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/menu-fold.svg b/client/src/icons/svg/menu-fold.svg new file mode 100644 index 0000000..6638a6b --- /dev/null +++ b/client/src/icons/svg/menu-fold.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/password.svg b/client/src/icons/svg/password.svg new file mode 100644 index 0000000..e291d85 --- /dev/null +++ b/client/src/icons/svg/password.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/icons/svg/people.svg b/client/src/icons/svg/people.svg new file mode 100644 index 0000000..f7fb748 --- /dev/null +++ b/client/src/icons/svg/people.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/refreash.svg b/client/src/icons/svg/refreash.svg new file mode 100644 index 0000000..993da9e --- /dev/null +++ b/client/src/icons/svg/refreash.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/resource.svg b/client/src/icons/svg/resource.svg new file mode 100644 index 0000000..fd33d55 --- /dev/null +++ b/client/src/icons/svg/resource.svg @@ -0,0 +1,7 @@ + diff --git a/client/src/icons/svg/sale.svg b/client/src/icons/svg/sale.svg new file mode 100644 index 0000000..18f7488 --- /dev/null +++ b/client/src/icons/svg/sale.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/search.svg b/client/src/icons/svg/search.svg new file mode 100644 index 0000000..2466bcf --- /dev/null +++ b/client/src/icons/svg/search.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/serve.svg b/client/src/icons/svg/serve.svg new file mode 100644 index 0000000..84fdb66 --- /dev/null +++ b/client/src/icons/svg/serve.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/setting.svg b/client/src/icons/svg/setting.svg new file mode 100644 index 0000000..e1e0325 --- /dev/null +++ b/client/src/icons/svg/setting.svg @@ -0,0 +1 @@ + diff --git a/client/src/icons/svg/user.svg b/client/src/icons/svg/user.svg new file mode 100644 index 0000000..0ba0716 --- /dev/null +++ b/client/src/icons/svg/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/icons/svg/verify.svg b/client/src/icons/svg/verify.svg new file mode 100644 index 0000000..3076ebc --- /dev/null +++ b/client/src/icons/svg/verify.svg @@ -0,0 +1 @@ + diff --git a/client/src/layout/components/NavBar/components/Avatar.vue b/client/src/layout/components/NavBar/components/Avatar.vue new file mode 100644 index 0000000..f7e079b --- /dev/null +++ b/client/src/layout/components/NavBar/components/Avatar.vue @@ -0,0 +1,206 @@ + + + + + diff --git a/client/src/layout/components/NavBar/components/Breadcrumb.vue b/client/src/layout/components/NavBar/components/Breadcrumb.vue new file mode 100644 index 0000000..452b3f3 --- /dev/null +++ b/client/src/layout/components/NavBar/components/Breadcrumb.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/client/src/layout/components/NavBar/index.vue b/client/src/layout/components/NavBar/index.vue new file mode 100644 index 0000000..fdccd75 --- /dev/null +++ b/client/src/layout/components/NavBar/index.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/client/src/layout/components/SideBar/components/MenuFold.vue b/client/src/layout/components/SideBar/components/MenuFold.vue new file mode 100644 index 0000000..5832cb6 --- /dev/null +++ b/client/src/layout/components/SideBar/components/MenuFold.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/client/src/layout/components/SideBar/components/MenuItem.vue b/client/src/layout/components/SideBar/components/MenuItem.vue new file mode 100644 index 0000000..3b2b0d4 --- /dev/null +++ b/client/src/layout/components/SideBar/components/MenuItem.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/client/src/layout/components/SideBar/index.vue b/client/src/layout/components/SideBar/index.vue new file mode 100644 index 0000000..70cccae --- /dev/null +++ b/client/src/layout/components/SideBar/index.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/client/src/layout/components/Tags/index.vue b/client/src/layout/components/Tags/index.vue new file mode 100644 index 0000000..97c40c2 --- /dev/null +++ b/client/src/layout/components/Tags/index.vue @@ -0,0 +1,17 @@ + + + + + diff --git a/client/src/layout/index.vue b/client/src/layout/index.vue new file mode 100644 index 0000000..6debadf --- /dev/null +++ b/client/src/layout/index.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/client/src/main.ts b/client/src/main.ts new file mode 100644 index 0000000..24e0fae --- /dev/null +++ b/client/src/main.ts @@ -0,0 +1,24 @@ +import { createApp } from 'vue' +import App from './App.vue' +import router from './router' +import store, { key } from './store' +import { useElementPlus } from '@/plugins' +import SvgIcon from '@/icons' +import './styles/index.scss' +import 'element-plus/dist/index.css' +import '@icon-park/vue-next/styles/index.css' +import 'tailwindcss/tailwind.css' +import './styles/theme.scss' +import { MotionPlugin } from '@vueuse/motion' +import ElementPlus from 'element-plus' +const app = createApp(App) +store.commit('app/setAuth', false) +SvgIcon(app) + +app + .use(store, key) + .use(router) + .use(useElementPlus) + .use(ElementPlus) + .use(MotionPlugin) + .mount('#app') diff --git a/client/src/mock/getters.ts b/client/src/mock/getters.ts new file mode 100644 index 0000000..256c799 --- /dev/null +++ b/client/src/mock/getters.ts @@ -0,0 +1,41 @@ +import { routes, users, IRoute, IUser } from './index' +import store from '@/store' + +// 获取路由列表 +export const getRouterList = (uid: number) => { + const authIdList: number[] = store.state.app.userPeofile.authIdList + const routeList: any[] = routes.filter(route => authIdList.includes(route.id)) + if (uid) { + // userInfo 有可能是 undefined + const userInfo: IUser | undefined = users.find(user => user.id === uid) + + if (userInfo) { + // const authRouteList: IRoute[] = [] + // rid = router id + // userInfo.auth.map(rid => { + // routeList.map((route: IRoute) => { + // if (route.id === rid) { + // authRouteList.push(route) + // } + // }) + // }) + return { + code: 0, + msg: 'ok', + data: routeList + } + } else { + return { + code: 1001, + msg: 'No userInfo for this UID', + data: null + } + } + } else { + return { + code: 1002, + msg: 'No UID received', + data: null + } + } +} diff --git a/client/src/mock/index.ts b/client/src/mock/index.ts new file mode 100644 index 0000000..8bed4b6 --- /dev/null +++ b/client/src/mock/index.ts @@ -0,0 +1,5 @@ +import routes, { IRoute } from './routes' +import users, { IUser } from './users' + +export { routes, users } +export type { IRoute, IUser } diff --git a/client/src/mock/routes.ts b/client/src/mock/routes.ts new file mode 100644 index 0000000..a46c70a --- /dev/null +++ b/client/src/mock/routes.ts @@ -0,0 +1,486 @@ +export interface IRoute { + id: number + pid: number + name: string + path: string + redirect?: string + component: string + meta: { + title: string + icon?: string + } +} + +const routes: IRoute[] = [ + { + id: 1, + pid: 0, + path: '/home', + name: 'Home', + component: 'home/index.vue', + meta: { + title: '首页', + icon: 'home' + } + }, + { + id: 2, + pid: 0, + path: '/sale', + name: 'Sale', + redirect: '/sale/counsel', + component: 'sale/index.vue', + meta: { + title: '营销管理', + icon: 'sale' + } + }, + { + id: 3, + pid: 2, + path: 'counsel', + name: 'CounselSale', + component: 'sale/counsel/index.vue', + meta: { + title: '咨询管理', + icon: '' + } + }, + // { + // id: 4, + // pid: 2, + // path: 'intention', + // name: 'IntentionSale', + // component: 'sale/intention/index.vue', + // meta: { + // title: '意向客户', + // icon: '' + // } + // }, + { + id: 5, + pid: 2, + path: 'book', + name: 'BookSale', + component: 'sale/book/index.vue', + meta: { + title: '预定管理', + icon: '' + } + }, + { + id: 6, + pid: 0, + path: '/live', + name: 'Live', + redirect: '/live/bed', + component: 'live/index.vue', + meta: { + title: '入住管理', + icon: 'live' + } + }, + { + id: 7, + pid: 6, + path: 'bed', + name: 'BedLive', + component: 'live/bed/index.vue', + meta: { + title: '床位全景', + icon: '' + } + }, + { + id: 8, + pid: 6, + path: 'enter', + name: 'EnterLive', + component: 'live/enter/index.vue', + meta: { + title: '入住签约', + icon: '' + } + }, + { + id: 9, + pid: 6, + path: 'leave', + name: 'LeaveLive', + component: 'live/leave/index.vue', + meta: { + title: '外出登记', + icon: '' + } + }, + { + id: 10, + pid: 6, + path: 'visitor', + name: 'VisitorLive', + component: 'live/visitor/index.vue', + meta: { + title: '来访登记', + icon: '' + } + }, + { + id: 11, + pid: 6, + path: 'accident', + name: 'AccidentLive', + component: 'live/accident/index.vue', + meta: { + title: '事故登记', + icon: '' + } + }, + { + id: 12, + pid: 6, + path: 'aplly', + name: 'CheckOutLive', + component: 'live/apply/index.vue', + meta: { + title: '退住申请', + icon: '' + } + }, + { + id: 13, + pid: 0, + path: '/people', + name: 'People', + redirect: '/people/old', + component: 'people/index.vue', + meta: { + title: '人员管理', + icon: 'people' + } + }, + { + id: 14, + pid: 13, + path: 'old', + name: 'OldPeople', + component: 'people/old/index.vue', + meta: { + title: '长者档案', + icon: '' + } + }, + { + id: 15, + pid: 13, + path: 'staff', + name: 'StaffPeople', + component: 'people/staff/index.vue', + meta: { + title: '员工管理', + icon: '' + } + }, + // { + // id: 16, + // pid: 13, + // path: 'activity', + // name: 'ActivityPeople', + // component: 'people/activity/activity.vue', + // meta: { + // title: '活动管理', + // icon: '' + // } + // }, + { + id: 17, + pid: 0, + path: '/serve', + name: 'Serve', + redirect: '/serve/project', + component: 'serve/index.vue', + meta: { + title: '服务管理', + icon: 'serve' + } + }, + { + id: 18, + pid: 17, + path: 'project', + name: 'ProjectServe', + component: 'serve/project/index.vue', + meta: { + title: '服务项目', + icon: '' + } + }, + { + id: 19, + pid: 17, + path: 'level', + name: 'LevelServe', + component: 'serve/level/index.vue', + meta: { + title: '护理等级', + icon: '' + } + }, + { + id: 20, + pid: 17, + path: 'book', + name: 'BookServe', + component: 'serve/book/index.vue', + meta: { + title: '服务预定', + icon: '' + } + }, + // { + // id: 21, + // pid: 0, + // path: '/resource', + // name: 'Resource', + // redirect: '/resource/info', + // component: 'resource/index.vue', + // meta: { + // title: '物资管理', + // icon: 'resource' + // } + // }, + // { + // id: 22, + // pid: 21, + // path: 'info', + // name: 'InfoResource', + // component: 'resource/info/index.vue', + // meta: { + // title: '物资信息', + // icon: '' + // } + // }, + // { + // id: 23, + // pid: 21, + // path: 'Storage', + // name: 'StorageResource', + // component: 'resource/storage/index.vue', + // meta: { + // title: '仓库设置', + // icon: '' + // } + // }, + // { + // id: 24, + // pid: 21, + // path: 'enter', + // name: 'EnterResource', + // component: 'resource/enter/index.vue', + // meta: { + // title: '入库管理', + // icon: '' + // } + // }, + // { + // id: 25, + // pid: 21, + // path: 'leave', + // name: 'LeaveResource', + // component: 'resource/leave/index.vue', + // meta: { + // title: '出库管理', + // icon: '' + // } + // }, + // { + // id: 26, + // pid: 21, + // path: 'search', + // name: 'SearchResource', + // component: 'resource/search/index.vue', + // meta: { + // title: '库存查询', + // icon: '' + // } + // }, + { + id: 27, + pid: 0, + path: '/diet', + name: 'Diet', + redirect: '/diet/dish', + component: 'diet/index.vue', + meta: { + title: '餐饮管理', + icon: 'diet' + } + }, + { + id: 28, + pid: 27, + path: 'dish', + name: 'DishDiet', + component: 'diet/dish/index.vue', + meta: { + title: '菜品管理', + icon: '' + } + }, + { + id: 29, + pid: 27, + path: 'package', + name: 'PackageDiet', + component: 'diet/package/index.vue', + meta: { + title: '餐饮套餐', + icon: '' + } + }, + { + id: 30, + pid: 27, + path: 'order', + name: 'OrderDiet', + component: 'diet/order/index.vue', + meta: { + title: '点餐', + icon: '' + } + }, + { + id: 31, + pid: 0, + path: '/charge', + name: 'Charge', + redirect: '/charge/prestore', + component: 'charge/index.vue', + meta: { + title: '费用管理', + icon: 'charge' + } + }, + { + id: 32, + pid: 31, + path: 'prestore', + name: 'PrestoreCharge', + component: 'charge/prestore/index.vue', + meta: { + title: '预存充值', + icon: '' + } + }, + { + id: 33, + pid: 31, + path: 'record', + name: 'RecordCharge', + component: 'charge/record/index.vue', + meta: { + title: '消费记录', + icon: '' + } + }, + { + id: 34, + pid: 31, + path: 'audit', + name: 'AuditCharge', + component: 'charge/audit/index.vue', + meta: { + title: '退住审核', + icon: '' + } + }, + { + id: 35, + pid: 0, + path: '/base', + name: 'Base', + redirect: '/base/sale/origin', + component: 'base/index.vue', + meta: { + title: '基础配置', + icon: 'base' + } + }, + { + id: 36, + pid: 35, + path: 'sale', + name: 'SaleBase', + redirect: '/base/sale/origin', + component: 'base/sale/index.vue', + meta: { + title: '营销', + icon: '' + } + }, + { + id: 37, + pid: 36, + path: 'origin', + name: 'OriginSaleBase', + component: 'base/sale/origin/index.vue', + meta: { + title: '来源渠道', + icon: '' + } + }, + // { + // id: 38, + // pid: 36, + // path: 'tag', + // name: 'TagSaleBase', + // component: 'base/sale/tag/index.vue', + // meta: { + // title: '客户标签', + // icon: '' + // } + // }, + { + id: 39, + pid: 35, + path: 'live', + name: 'LiveBase', + redirect: '/base/live/room', + component: 'base/live/index.vue', + meta: { + title: '入住', + icon: '' + } + }, + { + id: 40, + pid: 39, + path: 'room', + name: 'RoomLiveBase', + component: 'base/live/room/index.vue', + meta: { + title: '房间类型', + icon: '' + } + }, + { + id: 41, + pid: 39, + path: 'flat', + name: 'FlatLiveBase', + component: 'base/live/flat/index.vue', + meta: { + title: '楼栋管理', + icon: '' + } + }, + // { + // id: 42, + // pid: 35, + // path: 'activity', + // name: 'ActivityBase', + // component: 'base/activity/index.vue', + // meta: { title: '活动', icon: '' } + // } +] + +export default routes diff --git a/client/src/mock/users.ts b/client/src/mock/users.ts new file mode 100644 index 0000000..db8e05e --- /dev/null +++ b/client/src/mock/users.ts @@ -0,0 +1,17 @@ +export interface IUser { + id: number + username: string + auth: number[] +} + +export default [ + { + id: 1, + username: 'zhangsan', + auth: [ + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42 + ] + } +] diff --git a/client/src/plugins/element-plus/index.ts b/client/src/plugins/element-plus/index.ts new file mode 100644 index 0000000..b28a690 --- /dev/null +++ b/client/src/plugins/element-plus/index.ts @@ -0,0 +1,11 @@ +import * as ElIcons from '@element-plus/icons-vue' +import { App } from 'vue' + +const useElementPlus = (app: App) => { + // 注册图标 + for (const [key, component] of Object.entries(ElIcons)) { + app.component(key, component) + } +} + +export default useElementPlus diff --git a/client/src/plugins/index.ts b/client/src/plugins/index.ts new file mode 100644 index 0000000..c6e49f2 --- /dev/null +++ b/client/src/plugins/index.ts @@ -0,0 +1,3 @@ +import useElementPlus from './element-plus' + +export { useElementPlus } diff --git a/client/src/router/index.ts b/client/src/router/index.ts new file mode 100644 index 0000000..a63c0cf --- /dev/null +++ b/client/src/router/index.ts @@ -0,0 +1,62 @@ +import { createRouter, RouteRecordRaw, createWebHashHistory } from 'vue-router' +import Layout from '@/layout/index.vue' +import store from '@/store' +import { initRoutes } from './utils' + +// 静态路由 +const routes: Array = [ + { + path: '/', + name: 'Layout', + component: Layout, + redirect: '/home', + children: [] + }, + { + path: '/login', + name: 'Login', + meta: { + title: '登录' + }, + component: () => + import(/* webpackChunkName: "Login" */ '@/views/login/index.vue') + }, + { + path: '/:pathMatch(.*)*', + name: 'NotFound', + meta: { + title: '404' + }, + component: () => + import(/* webpackChunkName: "404" */ '@/views/error/404.vue') + } +] + +const router = createRouter({ + history: createWebHashHistory(), + routes +}) + +const ROUTER_WHITE_LIST = ['/login'] + +router.beforeEach(async (to, from, next) => { + // 设置页面标题 + document["title"] = to.meta.title + " | 敬老院管理系统" + + // .判断访问页面是否在路由白名单地址中,如果存在直接放行 + if (ROUTER_WHITE_LIST.includes(to.path)) return next() + + //.判断 是否有 Token,没有重定向到 login + if (!store.state.app.token) return next({ path: '/login', replace: true }) + + //如果没有初始化动态路由就初始化 + if (!store.state.app.hasAuth && store.state.app.token) { + await initRoutes() + return next({ path: to.path }) + } + + // 7.正常访问页面 + next() +}) + +export default router diff --git a/client/src/router/types.ts b/client/src/router/types.ts new file mode 100644 index 0000000..d90861b --- /dev/null +++ b/client/src/router/types.ts @@ -0,0 +1,14 @@ +/** 路由 */ +export interface IRoute { + id: number + pid: number + name: string + path: string + redirect?: string + component: string + meta: { + title: string + icon?: string + } + children?: IRoute[] +} diff --git a/client/src/router/utils.ts b/client/src/router/utils.ts new file mode 100644 index 0000000..ec5fc53 --- /dev/null +++ b/client/src/router/utils.ts @@ -0,0 +1,81 @@ +import { IRoute } from "@/router/types"; +import { Router, RouteRecordRaw } from "vue-router"; +import router from "./index"; +import store from "@/store"; +import { arrayDeduplicationByFiled } from "@/utils/commonUtil"; + +/** 将后端返回的路由转换成生成树形结构 */ +function formatRouteTree(data: IRoute[]) { + const parents = data.filter(routeInfo => routeInfo.pid === 0); + const children = data.filter(routeInfo => routeInfo.pid !== 0); + + dataToTree(parents, children); + + return parents; + + function dataToTree(parents: IRoute[], children: IRoute[]) { + parents.map(parent => { + children.map((child, index) => { + if (child.pid === parent.id) { + const _children: IRoute[] = JSON.parse(JSON.stringify(children)); + _children.splice(index, 1); + dataToTree([child], _children); + if (parent.children) { + // 添加 + parent.children.push(child); + // 菜单去重 + parent.children = arrayDeduplicationByFiled(parent.children, "id"); + } else { + parent.children = [child]; + } + } + }); + }); + } +} + +/** 将树形结构路由转化成真实的路由 */ +function generateRouter(routeTree: IRoute[]) { + const newRoutes = routeTree.map(route => { + const _route: RouteRecordRaw = { + path: route.path, + name: route.name, + meta: route.meta, + redirect: route.redirect, + component: () => import("@/views/" + route.component), // 注意:views目录下才能引入,否则ts不识别 + children: [] + }; + + if (route.children) { + _route.children = generateRouter(route.children); + } + + return _route; + }); + + return newRoutes; +} + +//初始化动态路由 +export async function initRoutes() { + await store.dispatch("app/getRouterTree"); + const newRoutes = generateRouter(store.state.app.routeTree); + newRoutes.forEach(route => router.addRoute("Layout", route)); +} + +//清除路由 +export function clearRoutes() { + //删除之前注册的路由 默认状态下只有三个,如果超过三个删除多余的路由 + const defaultRoutes = ["Layout", "Login", "NotFound"]; + const currentRoutes = router.getRoutes(); + if (currentRoutes.length != 3) { + //执行删除 + currentRoutes.forEach(item => { + if (!defaultRoutes.includes(String(item.name))) { + router.removeRoute(String(item.name)); + } + }); + } +} + +export { formatRouteTree, generateRouter }; diff --git a/client/src/shims-vue.d.ts b/client/src/shims-vue.d.ts new file mode 100644 index 0000000..cdcffbd --- /dev/null +++ b/client/src/shims-vue.d.ts @@ -0,0 +1,11 @@ +/* eslint-disable */ +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const component: DefineComponent<{}, {}, any> + export default component +} + +declare module '*.svg' { + const content: string + export default content +} diff --git a/client/src/store/index.ts b/client/src/store/index.ts new file mode 100644 index 0000000..79a8523 --- /dev/null +++ b/client/src/store/index.ts @@ -0,0 +1,29 @@ +import { InjectionKey } from 'vue' +import { createStore, useStore as baseUseStore, Store } from 'vuex' +import { IRootState } from '@/store/types' +import { store as app } from './modules/app' +import { CommonStore } from './utils' +import createPersistedState from 'vuex-persistedstate' + +export const modules = { + app +} + +// injectionKey:约束state类型 +export const key: InjectionKey> = Symbol() + +const store = createStore({ + modules, + plugins: [ + createPersistedState({ + key: 'stateData', + paths: ['app'] + }) + ] +}) as CommonStore + +export function useStore(): CommonStore { + return baseUseStore(key) +} + +export default store diff --git a/client/src/store/modules/app/index.ts b/client/src/store/modules/app/index.ts new file mode 100644 index 0000000..7ebbf04 --- /dev/null +++ b/client/src/store/modules/app/index.ts @@ -0,0 +1,91 @@ +import { ActionContext } from 'vuex' + +import { IRootState } from '@/store/types' +import { IAppState } from './types' +import { IRoute } from '@/router/types' +import { getRouterList } from '@/mock/getters' +import { clearRoutes, formatRouteTree } from '@/router/utils' +// import { getUserRouteList } from '@/apis' +import { getLogin } from '@/apis/user' +import router from '@/router' + +const defaultState = { + uid: 1, + token: '', + hasAuth: false, + routeTree: [], + siderType: true, + userPeofile: {}, + rememberPWD: false +} + +export const store = { + namespaced: true, + state: { + uid: 1, + token: '', + hasAuth: false, + routeTree: [], + siderType: true, + userPeofile: {}, + rememberPWD: false + }, + mutations: { + setToken(state: IAppState, token: string) { + state.token = token + }, + setRouteTree(state: IAppState, routeTree: IRoute[]) { + state.routeTree = routeTree + }, + setAuth(state: IAppState, auth: boolean) { + state.hasAuth = auth + }, + setSiderType(state: IAppState) { + state.siderType = !state.siderType + }, + setUserProfile(state: IAppState, userPeofile: any) { + state.userPeofile = userPeofile + }, + setRememberPWD(state: IAppState, rememberPWD: boolean) { + state.rememberPWD = rememberPWD + }, + clearStore(state: IAppState) { + Object.assign(state, defaultState) + } + }, + actions: { + //登录 + async actionLogin( + { commit, state }: ActionContext, + data: any + ) { + const res: any = await getLogin(data) + if (res.code === 200) { + commit('setToken', res?.data?.token) + commit('setUserProfile', { + username: res?.data.name, + userid: res?.data.id, + avator: res?.data.avator, + authIdList: res?.data.authIdList + }) + } + commit('setRememberPWD', data?.rememberPWD) + return res + }, + //获取权限菜单 + getRouterTree({ commit, state }: ActionContext) { + // 模拟数据 + const routeList = getRouterList(state.uid).data as unknown as IRoute[] + const routeTree = formatRouteTree(routeList) + commit('setRouteTree', routeTree) + commit('setAuth', true) + }, + // 点击登出 + logout({ commit, state }: ActionContext) { + commit('clearStore') + localStorage.clear() + clearRoutes() + router.replace('/login') + } + } +} diff --git a/client/src/store/modules/app/types.ts b/client/src/store/modules/app/types.ts new file mode 100644 index 0000000..b064c07 --- /dev/null +++ b/client/src/store/modules/app/types.ts @@ -0,0 +1,11 @@ +import { IRoute } from '@/router/types' + +export interface IAppState { + uid: number + token: string + hasAuth: boolean + routeTree: IRoute[] + siderType: boolean + userPeofile: any + rememberPWD: boolean +} diff --git a/client/src/store/modules/soldManage/index.ts b/client/src/store/modules/soldManage/index.ts new file mode 100644 index 0000000..fb5688c --- /dev/null +++ b/client/src/store/modules/soldManage/index.ts @@ -0,0 +1,9 @@ +import { ActionContext } from 'vuex' +import router from '@/router' + +export const store = { + namespaced: true, + state: {}, + mutations: {}, + actions: {} +} diff --git a/client/src/store/modules/soldManage/types.ts b/client/src/store/modules/soldManage/types.ts new file mode 100644 index 0000000..e69de29 diff --git a/client/src/store/types.ts b/client/src/store/types.ts new file mode 100644 index 0000000..28f5937 --- /dev/null +++ b/client/src/store/types.ts @@ -0,0 +1,5 @@ +import { IAppState } from '@/store/modules/app/types' + +export type IRootState = { + app: IAppState +} diff --git a/client/src/store/utils.ts b/client/src/store/utils.ts new file mode 100644 index 0000000..f96b603 --- /dev/null +++ b/client/src/store/utils.ts @@ -0,0 +1,70 @@ +/** 智能提示 */ +import { IRootState } from './types' +import { modules } from './index' +import { CommitOptions, DispatchOptions, Store as VuexStore } from 'vuex' +// 获取modules的类型 +type Modules = typeof modules +// 获取所有模块下的mutations +type GetMutation = T extends { mutations: infer G } ? G : never +type GetMutations = { + [K in keyof T]: GetMutation +} +type mutationsObj = GetMutations + +// 获取所有模块下的actions +type GetAction = T extends { actions: infer G } ? G : never +type GetActions = { + [K in keyof T]: GetAction +} +type actionsObj = GetActions + +// 获取所有模块下的getters +type GetGetter = T extends { getters: infer G } ? G : never +type GetGetters = { + [K in keyof T]: GetGetter +} +type getterObj = GetGetters + +// tabs/addTabs menu/setCount +type AddPrefix = `${prefix & string}/${keys & string}` +type GetKey = AddPrefix +type Getkeys = { + [K in keyof T]: GetKey +}[keyof T] + +// 获取当前模块下每个函数的返回值 +type GetFunc = T[A & keyof T][B & keyof T[A & keyof T]] +type GetMethod = { + [K in Getkeys]: K extends `${infer A}/${infer B}` + ? GetFunc + : unknown +} + +type GetMutationsFunc = GetMethod +type GetActionsFunc = GetMethod +type GetGettersFunc = GetMethod + +// 去掉之前的,使用自己定义的 +export type CommonStore = Omit< + VuexStore, + 'commit' | 'getters' | 'dispatch' +> & { + commit< + K extends keyof GetMutationsFunc, + P extends Parameters[1] + >( + key: K, + payload?: P, + options?: CommitOptions + ): ReturnType +} & { + getters: { + [K in keyof GetGettersFunc]: ReturnType + } +} & { + dispatch( + key: K, + payload?: Parameters[1], + options?: DispatchOptions + ): ReturnType +} diff --git a/client/src/styles/base.scss b/client/src/styles/base.scss new file mode 100644 index 0000000..e69de29 diff --git a/client/src/styles/element.scss b/client/src/styles/element.scss new file mode 100644 index 0000000..81e2fba --- /dev/null +++ b/client/src/styles/element.scss @@ -0,0 +1,222 @@ +.el-breadcrumb__inner, +.el-breadcrumb__inner a { + font-weight: 400 !important; +} + +.el-upload { + input[type='file'] { + display: none !important; + } +} + +.el-upload__input { + display: none; +} + +.upload-container { + .el-upload { + width: 100%; + + .el-upload-dragger { + width: 100%; + height: 200px; + } + } +} + +.el-dropdown-menu { + padding: 0 !important; +} + +.el-range-separator { + box-sizing: content-box; +} + +.is-dark { + z-index: 9999 !important; +} + +/* 重置 el-button 中 icon 的 margin */ +.reset-margin [class*='el-icon'] + span { + margin-left: 2px !important; +} + +/* 自定义 popover 的类名 */ +.pure-popper { + padding: 0 !important; +} + +/* 自定义 tooltip 的类名 */ +.pure-tooltip { + // 右侧操作面板right-panel类名的z-index为40000,tooltip需要大于它才能显示 + z-index: 41000 !important; +} + +/* nprogress 适配 element-plus 的主题色 */ +#nprogress { + & .bar { + background-color: var(--el-color-primary) !important; + } + + & .peg { + box-shadow: 0 0 10px var(--el-color-primary), + 0 0 5px var(--el-color-primary) !important; + } + + & .spinner-icon { + border-top-color: var(--el-color-primary); + border-left-color: var(--el-color-primary); + } +} + +/* 全局覆盖element-plus的el-dialog、el-drawer、el-message-box、el-notification组件右上角关闭图标的样式,表现更鲜明 */ +.el-dialog__headerbtn, +.el-message-box__headerbtn { + &:hover { + .el-dialog__close { + color: var(--el-color-info) !important; + } + } +} + +.el-icon { + &.el-dialog__close, + &.el-drawer__close, + &.el-message-box__close, + &.el-notification__closeBtn { + width: 24px; + height: 24px; + outline: none; + border-radius: 4px; + transition: background-color 0.2s, color 0.2s; + + &:hover { + color: rgba(0, 0, 0, 0.88) !important; + background-color: rgba(0, 0, 0, 0.06); + text-decoration: none; + } + } +} + +/* 克隆并自定义 ElMessage 样式,不会影响 ElMessage 原本样式,在 src/utils/message.ts 中调用自定义样式 ElMessage 方法即可,暗黑模式在 src/style/dark.scss 文件进行了适配 */ +.pure-message { + border-width: 0 !important; + background: #fff !important; + padding: 10px 13px !important; + box-shadow: 0 3px 6px -4px #0000001f, 0 6px 16px #00000014, + 0 9px 28px 8px #0000000d !important; + + &.el-message.is-closable .el-message__content { + padding-right: 17px !important; + } + + & .el-message__content { + color: #000000d9 !important; + pointer-events: all !important; + background-image: initial !important; + } + + & .el-message__icon { + margin-right: 8px !important; + } + + & .el-message__closeBtn { + outline: none; + border-radius: 4px; + right: 9px !important; + transition: background-color 0.2s, color 0.2s; + + &:hover { + background-color: rgba(0, 0, 0, 0.06); + } + } +} + +.el-popconfirm { + .el-popconfirm__action { + .el-button--primary { + background-color: #409eff !important; + + &:hover { + background-color: #79bbff !important; + } + } + + .el-button--success { + background-color: #67C23A !important; + + &:hover { + background-color: #95d475 !important; + } + } + + .el-button--warning { + background-color: #E6A23C !important; + + &:hover { + background-color: #eebe77 !important; + } + } + + .el-button--danger { + background-color: #f56c6c !important; + + &:hover { + background-color: #f89898 !important; + } + } + + .el-button--info { + background-color: #909399 !important; + + &:hover { + background-color: #b1b3b8 !important; + } + } + } +} + +.el-button--primary { + color: white !important; + background-color: #409EFF !important; + + &:hover { + background-color: #79bbff !important; + } +} + +.el-button--success { + color: white !important; + background-color: #67C23A !important; + + &:hover { + background-color: #95d475 !important; + } +} + +.el-button--warning { + color: white !important; + background-color: #E6A23C !important; + + &:hover { + background-color: #eebe77 !important; + } +} + +.el-button--danger { + color: white !important; + background-color: #F56C6C !important; + + &:hover { + background-color: #f89898 !important; + } +} + +.el-button--info { + color: white !important; + background-color: #909399 !important; + + &:hover { + background-color: #b1b3b8 !important; + } +} diff --git a/client/src/styles/element/index.scss b/client/src/styles/element/index.scss new file mode 100644 index 0000000..e69de29 diff --git a/client/src/styles/index.scss b/client/src/styles/index.scss new file mode 100644 index 0000000..ca69fc8 --- /dev/null +++ b/client/src/styles/index.scss @@ -0,0 +1,9 @@ +@import './variables.module.scss'; // 常用变量 +@import './mixin.scss'; // 常用方法 +@import './base.scss'; // 基础样式 +@import './reset.scss'; // 重置样式 +@import './login.scss'; +@import './navbar.scss'; +@import './sidebar.scss'; +@import './element.scss'; +@import './transition.scss'; diff --git a/client/src/styles/login.scss b/client/src/styles/login.scss new file mode 100644 index 0000000..83c9408 --- /dev/null +++ b/client/src/styles/login.scss @@ -0,0 +1,73 @@ +.login-container { + position: relative; + height: 100vh; + width: 100vw; + display: flex; + justify-content: space-between; + + .left-box, + .right-box { + flex: 1; + } + + .right-box { + display: flex; + align-items: center; + margin-top: -90px; + + .login-form , + .forget-pass-form { + width: 360px; + margin-left: 50px; + .title { + display: flex; + flex-direction: column; + align-items: center; + img { + width: 80px; + height: 80px; + } + h2 { + color: #9193a3; + margin: 10px 0 15px 0; + } + } + + .password-set { + display: flex; + width: 100%; + margin: -10px 0 10px 0; + justify-content: right; + } + } + } + + .left-box { + position: relative; + width: 100%; + + &::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: url('~@/assets/imgs/bg.png'); + background-repeat: no-repeat; + background-size: auto 100%; + z-index: -1; + } + + .img { + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + img { + width: 500px; + } + } + } +} diff --git a/client/src/styles/mixin.scss b/client/src/styles/mixin.scss new file mode 100644 index 0000000..3ca7168 --- /dev/null +++ b/client/src/styles/mixin.scss @@ -0,0 +1,28 @@ +@mixin clearfix { + &:after { + content: ''; + display: table; + clear: both; + } +} + +@mixin scrollBar { + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } +} + +@mixin relative { + position: relative; + width: 100%; + height: 100%; +} diff --git a/client/src/styles/navbar.scss b/client/src/styles/navbar.scss new file mode 100644 index 0000000..a4af7eb --- /dev/null +++ b/client/src/styles/navbar.scss @@ -0,0 +1,19 @@ +// 导航划过阴影 +.navbar-bg-hover { + display: flex; + align-items: center; + justify-content: center; + height: 48px; + padding: 12px; + transition: all 0.3s; + + &:hover { + background-color: #f6f6f6; + cursor: pointer; + transition: all 0.3s; + } + + .svg-icon { + outline: none; + } +} diff --git a/client/src/styles/reset.scss b/client/src/styles/reset.scss new file mode 100644 index 0000000..9ccb917 --- /dev/null +++ b/client/src/styles/reset.scss @@ -0,0 +1,61 @@ +html, +body { + height: 100%; + margin: 0; + padding: 0; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + // font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, + // Microsoft YaHei, Arial, sans-serif; +} + +#app { + height: 100%; +} + +*, +*:before, +*:after { + box-sizing: inherit; + margin: 0; + padding: 0; +} + +a:focus, +a:active { + outline: none; +} + +a, +a:focus, +a:hover { + cursor: pointer; + color: inherit; + text-decoration: none; +} + +div:focus { + outline: none; +} + +.clearfix { + &:after { + visibility: hidden; + display: block; + font-size: 0; + content: ' '; + clear: both; + height: 0; + } +} + +div#driver-popover-item .driver-popover-title { + color: #1890ff; +} +div#driver-popover-item .driver-popover-footer .driver-next-btn { + background-color: #1890ff; + color: white; + text-shadow: none; + border-radius: 4px; +} diff --git a/client/src/styles/sidebar.scss b/client/src/styles/sidebar.scss new file mode 100644 index 0000000..74840bd --- /dev/null +++ b/client/src/styles/sidebar.scss @@ -0,0 +1,298 @@ +.main-container { + width: calc(100% - $sideBarWidth); + height: 100%; + position: fixed; + top: 0; + right: 0; + z-index: 9; + transition: all 0.28s; +} + +// 重写菜单样式 +.sidebar-container { + transition: all 0.3s; + width: $sideBarWidth !important; + height: 100%; + position: fixed; + top: 0; + bottom: 0; + left: 0; + z-index: 1001; + background-color: $menuBg; + + .scrollbar-wrapper { + overflow-x: hidden !important; + } + + .el-scrollbar__bar.is-vertical { + right: 0; + } + + .el-scrollbar { + height: calc(100% - 92px); + } + + &.has-logo { + .el-scrollbar.pc { + /* logo: 48px、leftCollapse: 40px、leftCollapse-shadow: 4px */ + height: calc(100% - 92px); + } + .el-scrollbar.mobile { + height: 100%; + } + } + + .is-horizontal { + display: none; + } + + a { + display: inline-block; + display: flex; + padding-left: 10px; + flex-wrap: wrap; + width: 100%; + } + + .el-menu { + border: none; + height: 100%; + background-color: transparent !important; + } + + .el-menu-item, + .el-sub-menu__title { + height: 50px; + color: $menuText; + background-color: transparent !important; + padding-left: 18px !important; + + &:hover { + color: $menuActiveText !important; + + .svg-icon { + color: $menuActiveText; + transition: color 0.3s; + } + } + + .svg-icon { + color: $menuText; + transition: color 0.3s; + } + + div, + span { + height: 50px; + line-height: 50px; + overflow: hidden; + text-overflow: ellipsis; + } + + .svg-icon { + min-width: 1em; + margin-right: 5px; + } + } + + .submenu-title-noDropdown, + .el-sub-menu__title { + &:hover { + background-color: transparent; + } + } + + // 子级选中父级也跟着亮 + .is-active > .el-sub-menu__title, + .is-active.submenu-title-noDropdown { + color: $menuActiveText !important; + + i { + color: $menuActiveText !important; + } + } + + .is-active { + transition: color 0.3s; + color: $menuActiveText !important; + + .svg-icon { + color: $menuActiveText; + transition: color 0.3s; + } + } + + // 子级菜单样式 + .el-menu .el-sub-menu .el-menu-item { + font-size: 12px; + min-width: 100px !important; + background-color: $subMenuBg !important; + + &.is-active { + background: $menuActiveBg !important; + color: $menuActiveText !important; + } + } + + .el-menu .el-menu-item { + .el-menu-tooltip__trigger { + padding: 18px; + } + &.is-active { + background: $menuActiveBg !important; + } + } +} + +// 菜单栏折叠时的宽度 +.el-menu--collapse { + width: $hideSideBarWidth; +} + +// 折叠菜单时的样式 +.hideSidebar { + // 菜单栏容器 + .sidebar-container { + transition: width 0.3s; + width: $hideSideBarWidth !important; + + .el-sub-menu { + &.is-active { + transition: all 0.28s; + color: $menuActiveText !important; + position: relative; + + &::after { + content: ''; + height: 50px; + left: 2px; + position: absolute; + top: 0; + transition-delay: 0.28s !important; + width: 2px; + background-color: var(--el-color-primary) !important; + opacity: 1; + } + + .svg-icon { + color: $menuActiveText; + transition: color 0.3s; + } + } + } + // 可折叠菜单 + .el-sub-menu__title { + padding: 18px; + } + + // 不可折叠菜单 + .el-menu-item { + .el-menu-tooltip__trigger { + padding: 18px; + } + } + } + + // 菜单的最外层 + .el-menu--vertical { + width: $hideSideBarWidth !important; + transition: width 0.3s; + } + + // 主要内容 + .main-container { + width: calc(100% - $hideSideBarWidth); + } +} + +// 展开时的菜单 +.el-menu--vertical { + width: $sideBarWidth !important; + transition: width 0.3s; + /* 子菜单中还有子菜单 */ + .el-menu .el-sub-menu__title { + font-size: 12px; + background-color: $subMenuBg !important; + } +} + +// 折叠时的菜单 +.el-menu--popup-container { + .el-menu { + background-color: $subMenuBg !important; + } + + .el-menu-item, + .el-sub-menu__title { + height: 50px; + color: $menuText; + background-color: transparent !important; + + &:hover { + color: $menuActiveText !important; + + .svg-icon { + color: $menuActiveText; + transition: color 0.3s; + } + } + + .svg-icon { + color: $menuText; + transition: color 0.3s; + } + + div, + span { + height: 50px; + line-height: 50px; + overflow: hidden; + text-overflow: ellipsis; + } + } + + .submenu-title-noDropdown, + .el-sub-menu__title { + &:hover { + background-color: transparent; + } + } + + .is-active > .el-sub-menu__title, + .is-active.submenu-title-noDropdown { + color: $menuActiveText !important; + + i { + color: $menuActiveText !important; + } + } + + .el-menu .el-menu-item { + font-size: 12px !important; + min-width: 100px !important; + background-color: $subMenuBg !important; + + &.is-active { + background: $menuHover !important; + } + } + + .el-menu .el-menu-item { + &.is-active { + background: $menuHover !important; + } + } +} + +// 修复折叠后闪烁的bug +.is-active { + &::after { + content: ''; + opacity: 1 !important; + } + + .menu-icon { + transition: none !important; + color: #fff !important; + } +} diff --git a/client/src/styles/theme.scss b/client/src/styles/theme.scss new file mode 100644 index 0000000..dbdc497 --- /dev/null +++ b/client/src/styles/theme.scss @@ -0,0 +1,15 @@ +// 卡片数字 +.large-card-font { + @apply font-semibold text-2xl; + color: rgb(41, 137, 255); +} + +// 字体颜色 +.text-main { + color: #cecece; +} + +// 默认边框颜色 +.border-main { + border: #cfcfcf solid 1px; +} diff --git a/client/src/styles/transition.scss b/client/src/styles/transition.scss new file mode 100644 index 0000000..2cc15ce --- /dev/null +++ b/client/src/styles/transition.scss @@ -0,0 +1,31 @@ +// 面包屑动画 +.breadcrumb-enter-active, +.breadcrumb-leave-active { + transition: all 0.5s; +} + +.breadcrumb-enter-from, +.breadcrumb-leave-active { + opacity: 0; + transform: translateX(20px); +} + +.breadcrumb-leave-active { + position: absolute; +} + +/* 页面切换过渡动画 */ +.fade-transform-leave-active, +.fade-transform-enter-active { + transition: all 0.28s; +} + +.fade-transform-enter-from { + opacity: 0; + transform: translateX(-30px); +} + +.fade-transform-leave-to { + opacity: 0; + transform: translateX(30px); +} diff --git a/client/src/styles/variables.module.scss b/client/src/styles/variables.module.scss new file mode 100644 index 0000000..9099d65 --- /dev/null +++ b/client/src/styles/variables.module.scss @@ -0,0 +1,24 @@ +// sidebar +$menuText: #fefefea6; +$menuActiveText: #fff; + +$menuBg: #031429; +$menuActiveBg: #558df6; +$menuHover: #558df6; + +$subMenuBg: #0e0303; +$subHideMenuBg: #00061a; + +$sideBarWidth: 210px; +$hideSideBarWidth: 54px; + +:export { + menuText: $menuText; + menuActiveText: $menuActiveText; + menuBg: $menuBg; + menuHover: $menuHover; + subMenuBg: $subMenuBg; + subHideMenuBg: $subHideMenuBg; + sideBarWidth: $sideBarWidth; + hideSideBarWidth: $hideSideBarWidth; +} diff --git a/client/src/styles/variables.module.scss.d.ts b/client/src/styles/variables.module.scss.d.ts new file mode 100644 index 0000000..a4be38b --- /dev/null +++ b/client/src/styles/variables.module.scss.d.ts @@ -0,0 +1,12 @@ +export interface IVariables { + menuText: string + menuActiveText: string + menuBg: string + menuHover: string + subMenuBg: string + subHideMenuBg: string + sideBarWidth: string + hideSideBarWidth: string +} +export const styles: IVariables +export default styles diff --git a/client/src/types/global.d.ts b/client/src/types/global.d.ts new file mode 100644 index 0000000..e0636d7 --- /dev/null +++ b/client/src/types/global.d.ts @@ -0,0 +1,11 @@ +/** 文件类型 */ +declare module '*.svg' +declare module '*.png' +declare module '*.jpg' +declare module '*.jpeg' +declare module '*.gif' +declare module '*.bmp' +declare module '*.tiff' +declare module '*.yaml' +declare module '*.json' +declare module 'vue-count-to' diff --git a/client/src/types/vuex.d.ts b/client/src/types/vuex.d.ts new file mode 100644 index 0000000..80d2f40 --- /dev/null +++ b/client/src/types/vuex.d.ts @@ -0,0 +1,12 @@ +// vuex.d.ts +import { Store, Module } from 'vuex' +import { type IStoreType } from './store/types' + +// 模块扩展 +// 模板内$store强类型支持 +declare module '@vue/runtime-core' { + // 为 `this.$store` 提供类型声明 + interface ComponentCustomProperties { + $store: Store + } +} diff --git a/client/src/utils/commonUtil.ts b/client/src/utils/commonUtil.ts new file mode 100644 index 0000000..8258bd6 --- /dev/null +++ b/client/src/utils/commonUtil.ts @@ -0,0 +1,74 @@ +// TODO 初始化Array +export const initArray = (array: any) => { + return array ? array : []; +}; + +// TODO 将一个Array的某个字段所有的值全部添加到了一个Array +export const arrayPushAllByFiled = (dataArray: any, pushArray: any, field: any) => { + // 初始化 + dataArray = initArray(dataArray); + pushArray = initArray(pushArray); + + // 法一 + // for (const item of dataArray) { + // pushArray.push(item[field]); + // } + // return pushArray; + + // 法二 + return dataArray.map((item: any) => item[field]); +}; + +// TODO 将一个Array的数据全部添加到了一个Array +export const arrayPushAllByObj = (dataArray: any, pushArray: any) => { + // 初始化 + dataArray = initArray(dataArray); + pushArray = initArray(pushArray); + + // push + pushArray.push(...dataArray); + + return pushArray; +}; + +// TODO Array根据字段去重 +export const arrayDeduplicationByFiled = (array: any, field: string) => { + // 初始化 + array = initArray(array); + + // 去重 法一:该方法对编号进行去重返回的是[1,3,5]的编号数组 + // const idArray = [...new Set(array.map((item: any) => item[field]))]; + // 再使用for循环依次取出id对应数据即可 + + // 去重 法二 + return array.reduce((newArray: any, thisObj: any) => { + // 检查当前对象的属性是否已经存在于新数组中 + const exists = newArray.some((item: any) => thisObj[field] === item[field]); + // 如果属性不存在,则将当前对象添加到新数组中 + if (!exists) { + newArray.push(thisObj); + } + return newArray; + }, []); +}; + +// TODO Array根据对象去重(适用于非对象数组) +export const arrayDeduplicationByObj = (array: any) => { + // 初始化 + array = initArray(array); + + // 去重 法一:该方法对编号进行去重返回的是[1,3,5]的编号数组 + // const idArray = [...new Set(array.map((item: any) => item))]; + // 再使用for循环依次取出id对应数据即可 + + // 去重 法二 + return array.reduce((newArray: any, thisObj: any) => { + // 检查当前对象的属性是否已经存在于新数组中 + const exists = newArray.some((item: any) => thisObj === item); + // 如果属性不存在,则将当前对象添加到新数组中 + if (!exists) { + newArray.push(thisObj); + } + return newArray; + }, []); +}; diff --git a/client/src/utils/formRules.ts b/client/src/utils/formRules.ts new file mode 100644 index 0000000..9953f35 --- /dev/null +++ b/client/src/utils/formRules.ts @@ -0,0 +1,117 @@ +// 电话规则 +import { + isNotEmail, + isNotIdNum, + isNotPhone, + isNotInteger, + isNotNumber +} from "@/utils/is"; + +// 电话规则 +export function phoneRule(rule: any, value: any, callback: any, field: string) { + const trim = value?.trim(); + if (!trim) { + callback(new Error(field + "电话不能为空")); + } else if (isNotPhone(trim)) { + callback(new Error(field + "电话格式有误")); + } else { + callback(); + } +} + +// 邮箱规则 +export function emailRule(rule: any, value: any, callback: any, field: string) { + const trim = value?.trim(); + if (!trim) { + callback(new Error(field + "邮箱不能为空")); + } else if (isNotEmail(trim)) { + callback(new Error(field + "邮箱格式有误")); + } else { + callback(); + } +} + +// 身份证号规则 +export function idNumRule(rule: any, value: any, callback: any, field: string) { + const trim = value?.trim(); + if (!trim) { + callback(new Error(field + "身份证号不能为空")); + } else if (isNotIdNum(trim)) { + callback(new Error(field + "身份证号格式有误")); + } else { + callback(); + } +} + +// 字符串规则 +export function stringRule( + rule: any, + value: any, + callback: any, + field: string | number, + mixLen: number, + maxLen: number +) { + const trim = value?.trim(); + if (!trim) { + callback(new Error(field + "不能为空")); + } else if (trim.length < mixLen || trim.length > maxLen) { + callback(new Error(field + "长度应为" + mixLen + "~" + maxLen)); + } else { + callback(); + } +} + +// 数字(整数/小数)规则 +export function numberRule( + rule: any, + value: any, + callback: any, + field: string, + mix: number, + max: number +) { + if (!value) { + callback(new Error(field + "不能为空")); + } else { + const trim = value.toString()?.trim(); + if (isNotNumber(trim)) { + callback(new Error(field + "格式有误")); + } else if (trim < mix || trim > max) { + callback(new Error(field + "应该在" + mix + "~" + max + "之间")); + } else { + callback(); + } + } +} + +// 整数规则 +export function integerRule( + rule: any, + value: any, + callback: any, + field: string, + mix: number, + max: number +) { + if (!value) { + callback(new Error(field + "不能为空")); + } else { + const trim = value.toString()?.trim(); + if (isNotInteger(trim)) { + callback(new Error(field + "格式有误")); + } else if (trim < mix || trim > max) { + callback(new Error(field + "应该在" + mix + "~" + max + "之间")); + } else { + callback(); + } + } +} + +// 日期规则 +export const disabledNowBeforeDate = (time: Date) => { + return time.getTime() < Date.now(); +}; +export const disabledNowAfterDate = (time: Date) => { + return time.getTime() > Date.now(); +}; diff --git a/client/src/utils/http/index.ts b/client/src/utils/http/index.ts new file mode 100644 index 0000000..7aad11f --- /dev/null +++ b/client/src/utils/http/index.ts @@ -0,0 +1,35 @@ +import store from "@/store"; +import baseAxios, { AxiosRequestConfig, AxiosResponse } from "axios"; +import { ElMessage } from "element-plus"; + +export const baseUrl = "http://127.0.0.1:9001/"; + +const axios = baseAxios.create({ + baseURL: "", + timeout: 5000, + headers: {} +}); + +// 请求拦截器 +axios.interceptors.request.use((config: any) => { + const token = JSON.parse(localStorage.getItem("stateData")!)?.app?.token; + config.headers.token = token; + return config; +}); + +// 响应拦截器 +axios.interceptors.response.use( + (res: AxiosResponse) => { + if (res.data.code === 500 && res.data.msg === "令牌无效") { + store.dispatch("app/logout"); + ElMessage.error({ message: "登录过期,请重新登录" }); + } + if (res.data.err === 1) { + return Promise.reject(res.data); + } + return res.data; + }, + err => Promise.reject(err) // 响应出问题 +); + +export default axios; diff --git a/client/src/utils/index.ts b/client/src/utils/index.ts new file mode 100644 index 0000000..0135629 --- /dev/null +++ b/client/src/utils/index.ts @@ -0,0 +1,3 @@ +import http from './http' + +export { http } diff --git a/client/src/utils/is/index.ts b/client/src/utils/is/index.ts new file mode 100644 index 0000000..3f4c3ff --- /dev/null +++ b/client/src/utils/is/index.ts @@ -0,0 +1,174 @@ +const toString = Object.prototype.toString +// 保留两位小数的实数校验规则 +const REGEXP_NUMBER = /^[+-]?(0|([1-9]\d*))(\.\d{1,2})?$/ +// 密码校验规则 +const REGEXP_EMAIL = /^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z0-9]+$/ +// 手机号校验规则 +const REGEXP_PHONE = /^1[3456789]\d{9}$/ +// 身份证号校验规则 +const REGEXP_ID_NUM = + /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/ + +/** + * @description: 判断值是否为账号(手机号/邮箱) + */ +export function isNotAccount(account: string) { + return !REGEXP_PHONE.test(account) && !REGEXP_EMAIL.test(account) +} + +/** + * @description: 判断值是否为手机号 + */ +export function isNotPhone(phone: string) { + return !REGEXP_PHONE.test(phone) +} + +/** + * @description: 判断值是否为邮箱 + */ +export function isNotEmail(email: string) { + return !REGEXP_EMAIL.test(email) +} + +/** + * @description: 判断值是否为身份证号 + */ +export function isNotIdNum(idNum: string) { + return !REGEXP_ID_NUM.test(idNum) +} + +/** + * @description: 判断值是否为数字 + */ +export function isNotNumber(num: string) { + return !REGEXP_NUMBER.test(num) +} + +/** + * @description: 判断值是否为整数 + */ +export function isNotInteger(num: number) { + return !Number.isInteger(Number(num)) +} + +/** + * @description: 判断值是否未某个类型 + */ +export function is(val: unknown, type: string) { + return toString.call(val) === `[object ${type}]` +} + +/** + * @description: 是否为函数 + */ +export function isFunction void>(val: unknown): val is T { + return is(val, 'Function') +} + +/** + * @description: 是否已定义 + */ +export const isDef = (val?: T): val is T => { + return typeof val !== 'undefined' +} + +export const isUnDef = (val?: T): val is T => { + return !isDef(val) +} +/** + * @description: 是否为对象 + */ +export const isObject = (val: any): val is Record => { + return val !== null && is(val, 'Object') +} + +/** + * @description: 是否为时间 + */ +export function isDate(val: unknown): val is Date { + return is(val, 'Date') +} + +/** + * @description: 是否为数值 + */ +export function isNumber(val: unknown): val is number { + return is(val, 'Number') +} + +/** + * @description: 是否为AsyncFunction + */ +export function isAsyncFunction(val: unknown): val is Promise { + return is(val, 'AsyncFunction') +} + +/** + * @description: 是否为promise + */ +export function isPromise(val: unknown): val is Promise { + return ( + is(val, 'Promise') && + isObject(val) && + isFunction(val.then) && + isFunction(val.catch) + ) +} + +/** + * @description: 是否为字符串 + */ +export function isString(val: unknown): val is string { + return is(val, 'String') +} + +/** + * @description: 是否为boolean类型 + */ +export function isBoolean(val: unknown): val is boolean { + return is(val, 'Boolean') +} + +/** + * @description: 是否为数组 + */ +export function isArray(val: any): val is Array { + return val && Array.isArray(val) +} + +/** + * @description: 是否客户端 + */ +export const isClient = () => { + return typeof window !== 'undefined' +} + +/** + * @description: 是否为浏览器 + */ +export const isWindow = (val: any): val is Window => { + return typeof window !== 'undefined' && is(val, 'Window') +} + +export const isElement = (val: unknown): val is Element => { + return isObject(val) && !!val.tagName +} + +export const isServer = typeof window === 'undefined' + +// 是否为图片节点 +export function isImageDom(o: Element) { + return o && ['IMAGE', 'IMG'].includes(o.tagName) +} + +export function isNull(val: unknown): val is null { + return val === null +} + +export function isNullAndUnDef(val: unknown): val is null | undefined { + return isUnDef(val) && isNull(val) +} + +export function isNullOrUnDef(val: unknown): val is null | undefined { + return isUnDef(val) || isNull(val) +} diff --git a/client/src/utils/types.ts b/client/src/utils/types.ts new file mode 100644 index 0000000..e69de29 diff --git a/client/src/utils/util.ts b/client/src/utils/util.ts new file mode 100644 index 0000000..3714383 --- /dev/null +++ b/client/src/utils/util.ts @@ -0,0 +1,37 @@ +import { isArray } from './is' + +export function formatValue(callValue: any) { + // 如果当前值为数组,使用 / 拼接(根据需求自定义) + if (isArray(callValue)) return callValue.length ? callValue.join(' / ') : '--' + return callValue ?? '--' +} + +export function handleRowAccordingToProp( + row: { [key: string]: any }, + prop: string +) { + if (!prop.includes('.')) return row[prop] ?? '--' + prop.split('.').forEach(item => (row = row[item] ?? '--')) + return row +} + +export function handleProp(prop: string) { + const propArr = prop.split('.') + if (propArr.length == 1) return prop + return propArr[propArr.length - 1] +} + +export function filterEnum( + callValue: any, + enumData: any[] | undefined, + fieldNames?: { label: string; value: string }, + type?: 'tag' +): string { + const value = fieldNames?.value ?? 'value' + const label = fieldNames?.label ?? 'label' + let filterData: { [key: string]: any } = {} + if (Array.isArray(enumData)) + filterData = enumData.find((item: any) => item[value] === callValue) + if (type == 'tag') return filterData?.tagType ? filterData.tagType : '' + return filterData ? filterData[label] : '--' +} diff --git a/client/src/views/base/activity/index.vue b/client/src/views/base/activity/index.vue new file mode 100644 index 0000000..37386f2 --- /dev/null +++ b/client/src/views/base/activity/index.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/client/src/views/base/index.vue b/client/src/views/base/index.vue new file mode 100644 index 0000000..cf9ed48 --- /dev/null +++ b/client/src/views/base/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/client/src/views/base/live/flat/dialog/bed.vue b/client/src/views/base/live/flat/dialog/bed.vue new file mode 100644 index 0000000..f1736ed --- /dev/null +++ b/client/src/views/base/live/flat/dialog/bed.vue @@ -0,0 +1,151 @@ + + + + diff --git a/client/src/views/base/live/flat/dialog/build.vue b/client/src/views/base/live/flat/dialog/build.vue new file mode 100644 index 0000000..aed719d --- /dev/null +++ b/client/src/views/base/live/flat/dialog/build.vue @@ -0,0 +1,161 @@ + + + + diff --git a/client/src/views/base/live/flat/dialog/floor.vue b/client/src/views/base/live/flat/dialog/floor.vue new file mode 100644 index 0000000..b274389 --- /dev/null +++ b/client/src/views/base/live/flat/dialog/floor.vue @@ -0,0 +1,167 @@ + + + + diff --git a/client/src/views/base/live/flat/dialog/room.vue b/client/src/views/base/live/flat/dialog/room.vue new file mode 100644 index 0000000..afe5b4a --- /dev/null +++ b/client/src/views/base/live/flat/dialog/room.vue @@ -0,0 +1,191 @@ + + + + diff --git a/client/src/views/base/live/flat/index.vue b/client/src/views/base/live/flat/index.vue new file mode 100644 index 0000000..aa1df9c --- /dev/null +++ b/client/src/views/base/live/flat/index.vue @@ -0,0 +1,363 @@ + + + + + diff --git a/client/src/views/base/live/index.vue b/client/src/views/base/live/index.vue new file mode 100644 index 0000000..cf9ed48 --- /dev/null +++ b/client/src/views/base/live/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/client/src/views/base/live/room/index.vue b/client/src/views/base/live/room/index.vue new file mode 100644 index 0000000..3386654 --- /dev/null +++ b/client/src/views/base/live/room/index.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/client/src/views/base/live/room/roomDialog/index.vue b/client/src/views/base/live/room/roomDialog/index.vue new file mode 100644 index 0000000..e4772ff --- /dev/null +++ b/client/src/views/base/live/room/roomDialog/index.vue @@ -0,0 +1,154 @@ + + + + diff --git a/client/src/views/base/sale/index.vue b/client/src/views/base/sale/index.vue new file mode 100644 index 0000000..cf9ed48 --- /dev/null +++ b/client/src/views/base/sale/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/client/src/views/base/sale/origin/index.vue b/client/src/views/base/sale/origin/index.vue new file mode 100644 index 0000000..fae4f59 --- /dev/null +++ b/client/src/views/base/sale/origin/index.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/client/src/views/base/sale/origin/originDialog/index.vue b/client/src/views/base/sale/origin/originDialog/index.vue new file mode 100644 index 0000000..97998e8 --- /dev/null +++ b/client/src/views/base/sale/origin/originDialog/index.vue @@ -0,0 +1,139 @@ + + + + diff --git a/client/src/views/base/sale/tag/index.vue b/client/src/views/base/sale/tag/index.vue new file mode 100644 index 0000000..cb4685c --- /dev/null +++ b/client/src/views/base/sale/tag/index.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/client/src/views/charge/audit/auditDialog/index.vue b/client/src/views/charge/audit/auditDialog/index.vue new file mode 100644 index 0000000..f382ae5 --- /dev/null +++ b/client/src/views/charge/audit/auditDialog/index.vue @@ -0,0 +1,222 @@ + + + + diff --git a/client/src/views/charge/audit/index.vue b/client/src/views/charge/audit/index.vue new file mode 100644 index 0000000..a3314b4 --- /dev/null +++ b/client/src/views/charge/audit/index.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/client/src/views/charge/index.vue b/client/src/views/charge/index.vue new file mode 100644 index 0000000..cf9ed48 --- /dev/null +++ b/client/src/views/charge/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/client/src/views/charge/prestore/index.vue b/client/src/views/charge/prestore/index.vue new file mode 100644 index 0000000..07f5d10 --- /dev/null +++ b/client/src/views/charge/prestore/index.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/client/src/views/charge/prestore/prestoreDialog/index.vue b/client/src/views/charge/prestore/prestoreDialog/index.vue new file mode 100644 index 0000000..03f28ba --- /dev/null +++ b/client/src/views/charge/prestore/prestoreDialog/index.vue @@ -0,0 +1,134 @@ + + + + diff --git a/client/src/views/charge/record/index.vue b/client/src/views/charge/record/index.vue new file mode 100644 index 0000000..7c4bc6b --- /dev/null +++ b/client/src/views/charge/record/index.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/client/src/views/diet/dish/dialog/dishesDialog.vue b/client/src/views/diet/dish/dialog/dishesDialog.vue new file mode 100644 index 0000000..57e5e07 --- /dev/null +++ b/client/src/views/diet/dish/dialog/dishesDialog.vue @@ -0,0 +1,182 @@ + + + + diff --git a/client/src/views/diet/dish/dialog/dishesTypeDialog.vue b/client/src/views/diet/dish/dialog/dishesTypeDialog.vue new file mode 100644 index 0000000..beaf240 --- /dev/null +++ b/client/src/views/diet/dish/dialog/dishesTypeDialog.vue @@ -0,0 +1,132 @@ + + + + diff --git a/client/src/views/diet/dish/index.vue b/client/src/views/diet/dish/index.vue new file mode 100644 index 0000000..6fb1bfb --- /dev/null +++ b/client/src/views/diet/dish/index.vue @@ -0,0 +1,243 @@ + + + + + diff --git a/client/src/views/diet/index.vue b/client/src/views/diet/index.vue new file mode 100644 index 0000000..cf9ed48 --- /dev/null +++ b/client/src/views/diet/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/client/src/views/diet/order/index.vue b/client/src/views/diet/order/index.vue new file mode 100644 index 0000000..1a021f5 --- /dev/null +++ b/client/src/views/diet/order/index.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/client/src/views/diet/order/orderDialog/index.vue b/client/src/views/diet/order/orderDialog/index.vue new file mode 100644 index 0000000..f739656 --- /dev/null +++ b/client/src/views/diet/order/orderDialog/index.vue @@ -0,0 +1,335 @@ + + + + diff --git a/client/src/views/diet/package/index.vue b/client/src/views/diet/package/index.vue new file mode 100644 index 0000000..ab1349f --- /dev/null +++ b/client/src/views/diet/package/index.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/client/src/views/diet/package/packageDialog/dishesListDialog.vue b/client/src/views/diet/package/packageDialog/dishesListDialog.vue new file mode 100644 index 0000000..1008ce3 --- /dev/null +++ b/client/src/views/diet/package/packageDialog/dishesListDialog.vue @@ -0,0 +1,100 @@ + + + + diff --git a/client/src/views/diet/package/packageDialog/index.vue b/client/src/views/diet/package/packageDialog/index.vue new file mode 100644 index 0000000..acbd24f --- /dev/null +++ b/client/src/views/diet/package/packageDialog/index.vue @@ -0,0 +1,251 @@ + + + + diff --git a/client/src/views/error/404.vue b/client/src/views/error/404.vue new file mode 100644 index 0000000..3365c62 --- /dev/null +++ b/client/src/views/error/404.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/client/src/views/home/clientSource.vue b/client/src/views/home/clientSource.vue new file mode 100644 index 0000000..5295bdb --- /dev/null +++ b/client/src/views/home/clientSource.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/client/src/views/home/index.vue b/client/src/views/home/index.vue new file mode 100644 index 0000000..f1ce403 --- /dev/null +++ b/client/src/views/home/index.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/client/src/views/home/monthPerformance.vue b/client/src/views/home/monthPerformance.vue new file mode 100644 index 0000000..435fab6 --- /dev/null +++ b/client/src/views/home/monthPerformance.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/client/src/views/home/soldBed.vue b/client/src/views/home/soldBed.vue new file mode 100644 index 0000000..102dc80 --- /dev/null +++ b/client/src/views/home/soldBed.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/client/src/views/home/todayOverview.vue b/client/src/views/home/todayOverview.vue new file mode 100644 index 0000000..c43d680 --- /dev/null +++ b/client/src/views/home/todayOverview.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/client/src/views/home/todaySold.vue b/client/src/views/home/todaySold.vue new file mode 100644 index 0000000..9956d6a --- /dev/null +++ b/client/src/views/home/todaySold.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/client/src/views/home/trend.vue b/client/src/views/home/trend.vue new file mode 100644 index 0000000..374ce45 --- /dev/null +++ b/client/src/views/home/trend.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/client/src/views/live/accident/accidentDialog/index.vue b/client/src/views/live/accident/accidentDialog/index.vue new file mode 100644 index 0000000..284f98c --- /dev/null +++ b/client/src/views/live/accident/accidentDialog/index.vue @@ -0,0 +1,235 @@ + + + + diff --git a/client/src/views/live/accident/index.vue b/client/src/views/live/accident/index.vue new file mode 100644 index 0000000..dcaaf10 --- /dev/null +++ b/client/src/views/live/accident/index.vue @@ -0,0 +1,120 @@ + + + + + diff --git a/client/src/views/live/apply/index.vue b/client/src/views/live/apply/index.vue new file mode 100644 index 0000000..e410448 --- /dev/null +++ b/client/src/views/live/apply/index.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/client/src/views/live/bed/index.vue b/client/src/views/live/bed/index.vue new file mode 100644 index 0000000..ba33b68 --- /dev/null +++ b/client/src/views/live/bed/index.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/client/src/views/live/enter/enterDialog/index.vue b/client/src/views/live/enter/enterDialog/index.vue new file mode 100644 index 0000000..c082584 --- /dev/null +++ b/client/src/views/live/enter/enterDialog/index.vue @@ -0,0 +1,516 @@ + + + + diff --git a/client/src/views/live/enter/index.vue b/client/src/views/live/enter/index.vue new file mode 100644 index 0000000..ec7238d --- /dev/null +++ b/client/src/views/live/enter/index.vue @@ -0,0 +1,124 @@ + + + + + diff --git a/client/src/views/live/index.vue b/client/src/views/live/index.vue new file mode 100644 index 0000000..cf9ed48 --- /dev/null +++ b/client/src/views/live/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/client/src/views/live/leave/index.vue b/client/src/views/live/leave/index.vue new file mode 100644 index 0000000..8aefe23 --- /dev/null +++ b/client/src/views/live/leave/index.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/client/src/views/live/leave/outwardDialog/index.vue b/client/src/views/live/leave/outwardDialog/index.vue new file mode 100644 index 0000000..ecb5e7c --- /dev/null +++ b/client/src/views/live/leave/outwardDialog/index.vue @@ -0,0 +1,280 @@ + + + + diff --git a/client/src/views/live/visitor/index.vue b/client/src/views/live/visitor/index.vue new file mode 100644 index 0000000..8d08c37 --- /dev/null +++ b/client/src/views/live/visitor/index.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/client/src/views/live/visitor/visitDialog/index.vue b/client/src/views/live/visitor/visitDialog/index.vue new file mode 100644 index 0000000..277afda --- /dev/null +++ b/client/src/views/live/visitor/visitDialog/index.vue @@ -0,0 +1,241 @@ + + + + diff --git a/client/src/views/login/components/ForgetPassModel.vue b/client/src/views/login/components/ForgetPassModel.vue new file mode 100644 index 0000000..a35a426 --- /dev/null +++ b/client/src/views/login/components/ForgetPassModel.vue @@ -0,0 +1,246 @@ + + + + + diff --git a/client/src/views/login/components/LoginModel.vue b/client/src/views/login/components/LoginModel.vue new file mode 100644 index 0000000..c453349 --- /dev/null +++ b/client/src/views/login/components/LoginModel.vue @@ -0,0 +1,191 @@ + + + + + diff --git a/client/src/views/login/index.vue b/client/src/views/login/index.vue new file mode 100644 index 0000000..5b8455e --- /dev/null +++ b/client/src/views/login/index.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/client/src/views/people/activity/activity.vue b/client/src/views/people/activity/activity.vue new file mode 100644 index 0000000..37386f2 --- /dev/null +++ b/client/src/views/people/activity/activity.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/client/src/views/people/index.vue b/client/src/views/people/index.vue new file mode 100644 index 0000000..cf9ed48 --- /dev/null +++ b/client/src/views/people/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/client/src/views/people/old/index.vue b/client/src/views/people/old/index.vue new file mode 100644 index 0000000..5acb3f2 --- /dev/null +++ b/client/src/views/people/old/index.vue @@ -0,0 +1,145 @@ + + + + + diff --git a/client/src/views/people/old/oldDialog/index.vue b/client/src/views/people/old/oldDialog/index.vue new file mode 100644 index 0000000..f64bce3 --- /dev/null +++ b/client/src/views/people/old/oldDialog/index.vue @@ -0,0 +1,398 @@ + + + + diff --git a/client/src/views/people/staff/index.vue b/client/src/views/people/staff/index.vue new file mode 100644 index 0000000..ace30f7 --- /dev/null +++ b/client/src/views/people/staff/index.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/client/src/views/people/staff/staffDialog/index.vue b/client/src/views/people/staff/staffDialog/index.vue new file mode 100644 index 0000000..b6f127f --- /dev/null +++ b/client/src/views/people/staff/staffDialog/index.vue @@ -0,0 +1,277 @@ + + + + diff --git a/client/src/views/resource/enter/index.vue b/client/src/views/resource/enter/index.vue new file mode 100644 index 0000000..eb93446 --- /dev/null +++ b/client/src/views/resource/enter/index.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/client/src/views/resource/index.vue b/client/src/views/resource/index.vue new file mode 100644 index 0000000..cf9ed48 --- /dev/null +++ b/client/src/views/resource/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/client/src/views/resource/info/index.vue b/client/src/views/resource/info/index.vue new file mode 100644 index 0000000..8934134 --- /dev/null +++ b/client/src/views/resource/info/index.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/client/src/views/resource/leave/index.vue b/client/src/views/resource/leave/index.vue new file mode 100644 index 0000000..d7f34a5 --- /dev/null +++ b/client/src/views/resource/leave/index.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/client/src/views/resource/search/index.vue b/client/src/views/resource/search/index.vue new file mode 100644 index 0000000..85de7de --- /dev/null +++ b/client/src/views/resource/search/index.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/client/src/views/resource/storage/index.vue b/client/src/views/resource/storage/index.vue new file mode 100644 index 0000000..9e78f13 --- /dev/null +++ b/client/src/views/resource/storage/index.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/client/src/views/sale/book/bookDialog/index.vue b/client/src/views/sale/book/bookDialog/index.vue new file mode 100644 index 0000000..1651756 --- /dev/null +++ b/client/src/views/sale/book/bookDialog/index.vue @@ -0,0 +1,359 @@ + + + + diff --git a/client/src/views/sale/book/index.vue b/client/src/views/sale/book/index.vue new file mode 100644 index 0000000..5d177f5 --- /dev/null +++ b/client/src/views/sale/book/index.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/client/src/views/sale/counsel/counselDialog/index.vue b/client/src/views/sale/counsel/counselDialog/index.vue new file mode 100644 index 0000000..d3b3f4e --- /dev/null +++ b/client/src/views/sale/counsel/counselDialog/index.vue @@ -0,0 +1,339 @@ + + + + diff --git a/client/src/views/sale/counsel/index.vue b/client/src/views/sale/counsel/index.vue new file mode 100644 index 0000000..1bfc5d8 --- /dev/null +++ b/client/src/views/sale/counsel/index.vue @@ -0,0 +1,176 @@ + + + diff --git a/client/src/views/sale/index.vue b/client/src/views/sale/index.vue new file mode 100644 index 0000000..cf9ed48 --- /dev/null +++ b/client/src/views/sale/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/client/src/views/sale/intention/counselDialog/index.vue b/client/src/views/sale/intention/counselDialog/index.vue new file mode 100644 index 0000000..ae3786a --- /dev/null +++ b/client/src/views/sale/intention/counselDialog/index.vue @@ -0,0 +1,255 @@ + + + + diff --git a/client/src/views/sale/intention/index.vue b/client/src/views/sale/intention/index.vue new file mode 100644 index 0000000..318e391 --- /dev/null +++ b/client/src/views/sale/intention/index.vue @@ -0,0 +1,167 @@ + + + diff --git a/client/src/views/serve/book/bookDialog/index.vue b/client/src/views/serve/book/bookDialog/index.vue new file mode 100644 index 0000000..4cd767c --- /dev/null +++ b/client/src/views/serve/book/bookDialog/index.vue @@ -0,0 +1,262 @@ + + + + diff --git a/client/src/views/serve/book/index.vue b/client/src/views/serve/book/index.vue new file mode 100644 index 0000000..20b4db1 --- /dev/null +++ b/client/src/views/serve/book/index.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/client/src/views/serve/index.vue b/client/src/views/serve/index.vue new file mode 100644 index 0000000..cf9ed48 --- /dev/null +++ b/client/src/views/serve/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/client/src/views/serve/level/index.vue b/client/src/views/serve/level/index.vue new file mode 100644 index 0000000..6fa568f --- /dev/null +++ b/client/src/views/serve/level/index.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/client/src/views/serve/level/levelDialog/index.vue b/client/src/views/serve/level/levelDialog/index.vue new file mode 100644 index 0000000..ed6554c --- /dev/null +++ b/client/src/views/serve/level/levelDialog/index.vue @@ -0,0 +1,267 @@ + + + + diff --git a/client/src/views/serve/level/levelDialog/serviceListDialog.vue b/client/src/views/serve/level/levelDialog/serviceListDialog.vue new file mode 100644 index 0000000..283bb5d --- /dev/null +++ b/client/src/views/serve/level/levelDialog/serviceListDialog.vue @@ -0,0 +1,102 @@ + + + + diff --git a/client/src/views/serve/project/dialog/serviceDialog.vue b/client/src/views/serve/project/dialog/serviceDialog.vue new file mode 100644 index 0000000..736ba34 --- /dev/null +++ b/client/src/views/serve/project/dialog/serviceDialog.vue @@ -0,0 +1,215 @@ + + + + diff --git a/client/src/views/serve/project/dialog/serviceTypeDialog.vue b/client/src/views/serve/project/dialog/serviceTypeDialog.vue new file mode 100644 index 0000000..9264b36 --- /dev/null +++ b/client/src/views/serve/project/dialog/serviceTypeDialog.vue @@ -0,0 +1,145 @@ + + + + diff --git a/client/src/views/serve/project/index.vue b/client/src/views/serve/project/index.vue new file mode 100644 index 0000000..a4ce9dc --- /dev/null +++ b/client/src/views/serve/project/index.vue @@ -0,0 +1,251 @@ + + + + + diff --git a/client/tailwind.config.js b/client/tailwind.config.js new file mode 100644 index 0000000..e99d364 --- /dev/null +++ b/client/tailwind.config.js @@ -0,0 +1,27 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ['./public/**/*.html', './src/**/*.{js,jsx,ts,tsx,vue}'], + theme: { + // colors: { + // transparent: 'transparent', + // current: 'currentColor', + // blue: { + // light: '#79bbff', + // DEFAULT: '#409eff', + // dark: '#337ecc' + // } + // } + extend: { + colors: { + transparent: 'transparent', + current: 'currentColor', + blue: { + light: '#79bbff', + DEFAULT: '#409eff', + dark: '#337ecc' + } + } + } + }, + plugins: [] +} diff --git a/client/tsconfig.json b/client/tsconfig.json new file mode 100644 index 0000000..ea65ad3 --- /dev/null +++ b/client/tsconfig.json @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "strict": true, + "jsx": "preserve", + "moduleResolution": "node", + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "useDefineForClassFields": true, + "sourceMap": true, + "baseUrl": ".", + "types": ["webpack-env"], + "paths": { + "@/*": ["src/*"] + }, + "lib": ["ES2021", "dom", "dom.iterable", "scripthost"], + + }, + "include": [ + "src/**/*.ts", + "src/**/*.tsx", + "src/**/*.vue", + "tests/**/*.ts", + "tests/**/*.tsx" + ], + "exclude": ["node_modules"] +} diff --git a/client/vue.config.js b/client/vue.config.js new file mode 100644 index 0000000..110d70b --- /dev/null +++ b/client/vue.config.js @@ -0,0 +1,102 @@ +const { defineConfig } = require('@vue/cli-service') +const AutoImport = require('unplugin-auto-import/webpack') +const Components = require('unplugin-vue-components/webpack') +const { ElementPlusResolver } = require('unplugin-vue-components/resolvers') +const path = require('path') +function resolve(dir) { + return path.join(__dirname, dir) +} +const webpack = require('webpack') +module.exports = defineConfig({ + transpileDependencies: true, + configureWebpack: { + devServer: { + proxy: { + '^/api': { + target: "http://127.0.0.1:9001/", + changeOrigin: true, + pathRewrite: { + '^/api': '' + } + } + } + }, + resolve: { + alias: { + '@': resolve('src'), + components: '@/components' + } + }, + plugins: [ + AutoImport({ + resolvers: [ElementPlusResolver()] + }), + Components({ + resolvers: [ElementPlusResolver()] + }) + ] + }, + chainWebpack(config) { + // 设置 svg-sprite-loader + // config 为 webpack 配置对象 + // config.module 表示创建一个具名规则,以后用来修改规则 + config.module + // 规则 + .rule('svg') + // 忽略 + .exclude.add(resolve('src/icons')) + // 结束 + .end() + // config.module 表示创建一个具名规则,以后用来修改规则 + config.module + // 规则 + .rule('icons') + // 正则,解析 .svg 格式文件 + .test(/\.svg$/) + // 解析的文件 + .include.add(resolve('src/icons')) + // 结束 + .end() + // 新增了一个解析的loader + .use('svg-sprite-loader') + // 具体的loader + .loader('svg-sprite-loader') + // loader 的配置 + .options({ + symbolId: 'icon-[name]' + }) + // 结束 + .end() + config + .plugin('ignore') + .use(new webpack.ContextReplacementPlugin(/moment[/\\]locale$/, /zh-cn$/)) + config.module + .rule('icons') + .test(/\.svg$/) + .include.add(resolve('src/icons')) + .end() + .use('svg-sprite-loader') + .loader('svg-sprite-loader') + .options({ + symbolId: 'icon-[name]' + }) + .end() + }, + css: { + loaderOptions: { + sass: { + additionalData: (content, loaderContext) => { + if (loaderContext.resourcePath.endsWith('variables.module.scss')) { + return content + } + return ` + @import "~@/styles/variables.module.scss"; // scss文件地址 + @import "@/styles/mixin.scss"; + @import "@/styles/sidebar.scss"; + ${content} + ` + } + } + } + } +}) diff --git a/client/yarn.lock b/client/yarn.lock new file mode 100644 index 0000000..7e5d1bf --- /dev/null +++ b/client/yarn.lock @@ -0,0 +1,8917 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@achrinza/node-ipc@^9.2.5": + version "9.2.6" + resolved "https://registry.npmmirror.com/@achrinza/node-ipc/-/node-ipc-9.2.6.tgz" + integrity sha512-ULSIYPy4ZPM301dfCxRz0l2GJjOwIo/PqmWonIu1bLml7UmnVQmH+juJcoyXp6E8gIRRNAjGYftJnNQlfy4vPg== + dependencies: + "@node-ipc/js-queue" "2.0.3" + event-pubsub "4.3.0" + js-message "1.0.7" + +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@antfu/utils@^0.7.2": + version "0.7.2" + resolved "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.2.tgz" + integrity sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g== + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.12.11.tgz" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.18.6.tgz" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": + version "7.20.10" + resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.20.10.tgz" + integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== + +"@babel/core@^7.12.16": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/core/-/core-7.20.7.tgz" + integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.20.7" + "@babel/helpers" "^7.20.7" + "@babel/parser" "^7.20.7" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/generator@^7.20.7": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/generator/-/generator-7.20.7.tgz" + integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== + dependencies: + "@babel/types" "^7.20.7" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": + version "7.18.9" + resolved "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz" + integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.18.6" + "@babel/types" "^7.18.9" + +"@babel/helper-compilation-targets@^7.12.16", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz" + integrity sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-member-expression-to-functions" "^7.20.7" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-split-export-declaration" "^7.18.6" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": + version "7.20.5" + resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz" + integrity sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + regexpu-core "^5.2.1" + +"@babel/helper-define-polyfill-provider@^0.3.3": + version "0.3.3" + resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== + dependencies: + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-explode-assignable-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz" + integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + dependencies: + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-member-expression-to-functions@^7.20.7": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz" + integrity sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw== + dependencies: + "@babel/types" "^7.20.7" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.20.7": + version "7.20.11" + resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz" + integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.10" + "@babel/types" "^7.20.7" + +"@babel/helper-optimise-call-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.20.2" + resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + +"@babel/helper-remap-async-to-generator@^7.18.9": + version "7.18.9" + resolved "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" + integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-wrap-function" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz" + integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + dependencies: + "@babel/types" "^7.20.2" + +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": + version "7.20.0" + resolved "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz" + integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== + dependencies: + "@babel/types" "^7.20.0" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + +"@babel/helper-wrap-function@^7.18.9": + version "7.20.5" + resolved "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz" + integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== + dependencies: + "@babel/helper-function-name" "^7.19.0" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" + +"@babel/helpers@^7.20.7": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.20.7.tgz" + integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== + dependencies: + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.16.4", "@babel/parser@^7.20.7": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.7.tgz" + integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== + +"@babel/parser@^7.20.13", "@babel/parser@^7.20.15": + version "7.20.15" + resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.15.tgz" + integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz" + integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz" + integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-proposal-optional-chaining" "^7.20.7" + +"@babel/plugin-proposal-async-generator-functions@^7.20.1": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.12.13", "@babel/plugin-proposal-class-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-class-static-block@^7.18.6": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz" + integrity sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-decorators@^7.12.13": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.7.tgz" + integrity sha512-JB45hbUweYpwAGjkiM7uCyXMENH2lG+9r3G2E+ttc2PRXAoEkpfd/KW5jDg4j8RS6tLtTG1jZi9LbHZVSfs1/A== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/plugin-syntax-decorators" "^7.19.0" + +"@babel/plugin-proposal-dynamic-import@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" + integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.18.9": + version "7.18.9" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" + integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz" + integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.20.2": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.20.7" + +"@babel/plugin-proposal-optional-catch-binding@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz" + integrity sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-private-property-in-object@^7.18.6": + version "7.20.5" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz" + integrity sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.19.0": + version "7.19.0" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz" + integrity sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.20.0": + version "7.20.0" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz" + integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.2.0": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-arrow-functions@^7.18.6": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz" + integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-async-to-generator@^7.18.6": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz" + integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" + +"@babel/plugin-transform-block-scoped-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" + integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-block-scoping@^7.20.2": + version "7.20.11" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz" + integrity sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-classes@^7.20.2": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz" + integrity sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-split-export-declaration" "^7.18.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.18.9": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz" + integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/template" "^7.20.7" + +"@babel/plugin-transform-destructuring@^7.20.2": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz" + integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" + integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-duplicate-keys@^7.18.9": + version "7.18.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" + integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-exponentiation-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" + integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-for-of@^7.18.8": + version "7.18.8" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz" + integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-function-name@^7.18.9": + version "7.18.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" + integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== + dependencies: + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" + integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-member-expression-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" + integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-modules-amd@^7.19.6": + version "7.20.11" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz" + integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== + dependencies: + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-modules-commonjs@^7.19.6": + version "7.20.11" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz" + integrity sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw== + dependencies: + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-simple-access" "^7.20.2" + +"@babel/plugin-transform-modules-systemjs@^7.19.6": + version "7.20.11" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz" + integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== + dependencies: + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-identifier" "^7.19.1" + +"@babel/plugin-transform-modules-umd@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" + integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": + version "7.20.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz" + integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-new-target@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" + integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-object-super@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" + integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" + +"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz" + integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-property-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" + integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-regenerator@^7.18.6": + version "7.20.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz" + integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + regenerator-transform "^0.15.1" + +"@babel/plugin-transform-reserved-words@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" + integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-runtime@^7.12.15": + version "7.19.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz" + integrity sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.19.0" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + semver "^6.3.0" + +"@babel/plugin-transform-shorthand-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" + integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-spread@^7.19.0": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz" + integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + +"@babel/plugin-transform-sticky-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" + integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-template-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" + integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-typeof-symbol@^7.18.9": + version "7.18.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" + integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-unicode-escapes@^7.18.10": + version "7.18.10" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz" + integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-unicode-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" + integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/preset-env@^7.12.16": + version "7.20.2" + resolved "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.20.2.tgz" + integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== + dependencies: + "@babel/compat-data" "^7.20.1" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.20.1" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-proposal-json-strings" "^7.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.20.2" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@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.20.0" + "@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-transform-arrow-functions" "^7.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.20.2" + "@babel/plugin-transform-classes" "^7.20.2" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.20.2" + "@babel/plugin-transform-dotall-regex" "^7.18.6" + "@babel/plugin-transform-duplicate-keys" "^7.18.9" + "@babel/plugin-transform-exponentiation-operator" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.18.8" + "@babel/plugin-transform-function-name" "^7.18.9" + "@babel/plugin-transform-literals" "^7.18.9" + "@babel/plugin-transform-member-expression-literals" "^7.18.6" + "@babel/plugin-transform-modules-amd" "^7.19.6" + "@babel/plugin-transform-modules-commonjs" "^7.19.6" + "@babel/plugin-transform-modules-systemjs" "^7.19.6" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.20.1" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.19.0" + "@babel/plugin-transform-sticky-regex" "^7.18.6" + "@babel/plugin-transform-template-literals" "^7.18.9" + "@babel/plugin-transform-typeof-symbol" "^7.18.9" + "@babel/plugin-transform-unicode-escapes" "^7.18.10" + "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.20.2" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + core-js-compat "^3.25.1" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/runtime@^7.12.13", "@babel/runtime@^7.8.4": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.20.7.tgz" + integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== + dependencies: + regenerator-runtime "^0.13.11" + +"@babel/template@^7.0.0", "@babel/template@^7.18.10", "@babel/template@^7.20.7": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/template/-/template-7.20.7.tgz" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7": + version "7.20.10" + resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.20.10.tgz" + integrity sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.4.4": + version "7.20.7" + resolved "https://registry.npmmirror.com/@babel/types/-/types-7.20.7.tgz" + integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + +"@commitlint/cli@^17.3.0": + version "17.3.0" + resolved "https://registry.npmmirror.com/@commitlint/cli/-/cli-17.3.0.tgz" + integrity sha512-/H0md7TsKflKzVPz226VfXzVafJFO1f9+r2KcFvmBu08V0T56lZU1s8WL7/xlxqLMqBTVaBf7Ixtc4bskdEEZg== + dependencies: + "@commitlint/format" "^17.0.0" + "@commitlint/lint" "^17.3.0" + "@commitlint/load" "^17.3.0" + "@commitlint/read" "^17.2.0" + "@commitlint/types" "^17.0.0" + execa "^5.0.0" + lodash.isfunction "^3.0.9" + resolve-from "5.0.0" + resolve-global "1.0.0" + yargs "^17.0.0" + +"@commitlint/config-conventional@^17.3.0": + version "17.3.0" + resolved "https://registry.npmmirror.com/@commitlint/config-conventional/-/config-conventional-17.3.0.tgz" + integrity sha512-hgI+fN5xF8nhS9uG/V06xyT0nlcyvHHMkq0kwRSr96vl5BFlRGaL2C0/YY4kQagfU087tmj01bJkG9Ek98Wllw== + dependencies: + conventional-changelog-conventionalcommits "^5.0.0" + +"@commitlint/config-validator@^17.1.0": + version "17.1.0" + resolved "https://registry.npmmirror.com/@commitlint/config-validator/-/config-validator-17.1.0.tgz" + integrity sha512-Q1rRRSU09ngrTgeTXHq6ePJs2KrI+axPTgkNYDWSJIuS1Op4w3J30vUfSXjwn5YEJHklK3fSqWNHmBhmTR7Vdg== + dependencies: + "@commitlint/types" "^17.0.0" + ajv "^8.11.0" + +"@commitlint/ensure@^17.3.0": + version "17.3.0" + resolved "https://registry.npmmirror.com/@commitlint/ensure/-/ensure-17.3.0.tgz" + integrity sha512-kWbrQHDoW5veIUQx30gXoLOCjWvwC6OOEofhPCLl5ytRPBDAQObMbxTha1Bt2aSyNE/IrJ0s0xkdZ1Gi3wJwQg== + dependencies: + "@commitlint/types" "^17.0.0" + lodash.camelcase "^4.3.0" + lodash.kebabcase "^4.1.1" + lodash.snakecase "^4.1.1" + lodash.startcase "^4.4.0" + lodash.upperfirst "^4.3.1" + +"@commitlint/execute-rule@^17.0.0": + version "17.0.0" + resolved "https://registry.npmmirror.com/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz" + integrity sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ== + +"@commitlint/format@^17.0.0": + version "17.0.0" + resolved "https://registry.npmmirror.com/@commitlint/format/-/format-17.0.0.tgz" + integrity sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA== + dependencies: + "@commitlint/types" "^17.0.0" + chalk "^4.1.0" + +"@commitlint/is-ignored@^17.2.0": + version "17.2.0" + resolved "https://registry.npmmirror.com/@commitlint/is-ignored/-/is-ignored-17.2.0.tgz" + integrity sha512-rgUPUQraHxoMLxiE8GK430HA7/R2vXyLcOT4fQooNrZq9ERutNrP6dw3gdKLkq22Nede3+gEHQYUzL4Wu75ndg== + dependencies: + "@commitlint/types" "^17.0.0" + semver "7.3.7" + +"@commitlint/lint@^17.3.0": + version "17.3.0" + resolved "https://registry.npmmirror.com/@commitlint/lint/-/lint-17.3.0.tgz" + integrity sha512-VilOTPg0i9A7CCWM49E9bl5jytfTvfTxf9iwbWAWNjxJ/A5mhPKbm3sHuAdwJ87tDk1k4j8vomYfH23iaY+1Rw== + dependencies: + "@commitlint/is-ignored" "^17.2.0" + "@commitlint/parse" "^17.2.0" + "@commitlint/rules" "^17.3.0" + "@commitlint/types" "^17.0.0" + +"@commitlint/load@^17.3.0": + version "17.3.0" + resolved "https://registry.npmmirror.com/@commitlint/load/-/load-17.3.0.tgz" + integrity sha512-u/pV6rCAJrCUN+HylBHLzZ4qj1Ew3+eN9GBPhNi9otGxtOfA8b+8nJSxaNbcC23Ins/kcpjGf9zPSVW7628Umw== + dependencies: + "@commitlint/config-validator" "^17.1.0" + "@commitlint/execute-rule" "^17.0.0" + "@commitlint/resolve-extends" "^17.3.0" + "@commitlint/types" "^17.0.0" + "@types/node" "^14.0.0" + chalk "^4.1.0" + cosmiconfig "^7.0.0" + cosmiconfig-typescript-loader "^4.0.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + lodash.uniq "^4.5.0" + resolve-from "^5.0.0" + ts-node "^10.8.1" + typescript "^4.6.4" + +"@commitlint/message@^17.2.0": + version "17.2.0" + resolved "https://registry.npmmirror.com/@commitlint/message/-/message-17.2.0.tgz" + integrity sha512-/4l2KFKxBOuoEn1YAuuNNlAU05Zt7sNsC9H0mPdPm3chOrT4rcX0pOqrQcLtdMrMkJz0gC7b3SF80q2+LtdL9Q== + +"@commitlint/parse@^17.2.0": + version "17.2.0" + resolved "https://registry.npmmirror.com/@commitlint/parse/-/parse-17.2.0.tgz" + integrity sha512-vLzLznK9Y21zQ6F9hf8D6kcIJRb2haAK5T/Vt1uW2CbHYOIfNsR/hJs0XnF/J9ctM20Tfsqv4zBitbYvVw7F6Q== + dependencies: + "@commitlint/types" "^17.0.0" + conventional-changelog-angular "^5.0.11" + conventional-commits-parser "^3.2.2" + +"@commitlint/read@^17.2.0": + version "17.2.0" + resolved "https://registry.npmmirror.com/@commitlint/read/-/read-17.2.0.tgz" + integrity sha512-bbblBhrHkjxra3ptJNm0abxu7yeAaxumQ8ZtD6GIVqzURCETCP7Dm0tlVvGRDyXBuqX6lIJxh3W7oyKqllDsHQ== + dependencies: + "@commitlint/top-level" "^17.0.0" + "@commitlint/types" "^17.0.0" + fs-extra "^10.0.0" + git-raw-commits "^2.0.0" + minimist "^1.2.6" + +"@commitlint/resolve-extends@^17.3.0": + version "17.3.0" + resolved "https://registry.npmmirror.com/@commitlint/resolve-extends/-/resolve-extends-17.3.0.tgz" + integrity sha512-Lf3JufJlc5yVEtJWC8o4IAZaB8FQAUaVlhlAHRACd0TTFizV2Lk2VH70et23KgvbQNf7kQzHs/2B4QZalBv6Cg== + dependencies: + "@commitlint/config-validator" "^17.1.0" + "@commitlint/types" "^17.0.0" + import-fresh "^3.0.0" + lodash.mergewith "^4.6.2" + resolve-from "^5.0.0" + resolve-global "^1.0.0" + +"@commitlint/rules@^17.3.0": + version "17.3.0" + resolved "https://registry.npmmirror.com/@commitlint/rules/-/rules-17.3.0.tgz" + integrity sha512-s2UhDjC5yP2utx3WWqsnZRzjgzAX8BMwr1nltC0u0p8T/nzpkx4TojEfhlsOUj1t7efxzZRjUAV0NxNwdJyk+g== + dependencies: + "@commitlint/ensure" "^17.3.0" + "@commitlint/message" "^17.2.0" + "@commitlint/to-lines" "^17.0.0" + "@commitlint/types" "^17.0.0" + execa "^5.0.0" + +"@commitlint/to-lines@^17.0.0": + version "17.0.0" + resolved "https://registry.npmmirror.com/@commitlint/to-lines/-/to-lines-17.0.0.tgz" + integrity sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ== + +"@commitlint/top-level@^17.0.0": + version "17.0.0" + resolved "https://registry.npmmirror.com/@commitlint/top-level/-/top-level-17.0.0.tgz" + integrity sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ== + dependencies: + find-up "^5.0.0" + +"@commitlint/types@^17.0.0": + version "17.0.0" + resolved "https://registry.npmmirror.com/@commitlint/types/-/types-17.0.0.tgz" + integrity sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ== + dependencies: + chalk "^4.1.0" + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.npmmirror.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@ctrl/tinycolor@^3.4.1": + version "3.5.0" + resolved "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz" + integrity sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg== + +"@element-plus/icons-vue@^2.0.6": + version "2.0.10" + resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz" + integrity sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ== + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@floating-ui/core@^1.0.5": + version "1.1.0" + resolved "https://registry.npmmirror.com/@floating-ui/core/-/core-1.1.0.tgz" + integrity sha512-zbsLwtnHo84w1Kc8rScAo5GMk1GdecSlrflIbfnEBJwvTSj1SL6kkOYV+nHraMCPEy+RNZZUaZyL8JosDGCtGQ== + +"@floating-ui/dom@^1.0.1": + version "1.1.0" + resolved "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.1.0.tgz" + integrity sha512-TSogMPVxbRe77QCj1dt8NmRiJasPvuc+eT5jnJ6YpLqgOD2zXc5UA3S1qwybN+GVCDNdKfpKy1oj8RpzLJvh6A== + dependencies: + "@floating-ui/core" "^1.0.5" + +"@hapi/hoek@^9.0.0": + version "9.3.0" + resolved "https://registry.npmmirror.com/@hapi/hoek/-/hoek-9.3.0.tgz" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/topo@^5.0.0": + version "5.1.0" + resolved "https://registry.npmmirror.com/@hapi/topo/-/topo-5.1.0.tgz" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@icon-park/vue-next@^1.4.2": + 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== + +"@intlify/core-base@9.2.2": + version "9.2.2" + resolved "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.2.2.tgz" + integrity sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA== + dependencies: + "@intlify/devtools-if" "9.2.2" + "@intlify/message-compiler" "9.2.2" + "@intlify/shared" "9.2.2" + "@intlify/vue-devtools" "9.2.2" + +"@intlify/devtools-if@9.2.2": + version "9.2.2" + resolved "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.2.2.tgz" + integrity sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg== + dependencies: + "@intlify/shared" "9.2.2" + +"@intlify/message-compiler@9.2.2": + version "9.2.2" + resolved "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.2.2.tgz" + integrity sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA== + dependencies: + "@intlify/shared" "9.2.2" + source-map "0.6.1" + +"@intlify/shared@9.2.2": + version "9.2.2" + resolved "https://registry.npmmirror.com/@intlify/shared/-/shared-9.2.2.tgz" + integrity sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q== + +"@intlify/vue-devtools@9.2.2": + version "9.2.2" + resolved "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz" + integrity sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg== + dependencies: + "@intlify/core-base" "9.2.2" + "@intlify/shared" "9.2.2" + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": + version "3.1.0" + resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.2": + version "0.3.2" + resolved "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.2.tgz" + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13": + version "1.4.14" + resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.17" + resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.4" + resolved "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + +"@node-ipc/js-queue@2.0.3": + version "2.0.3" + resolved "https://registry.npmmirror.com/@node-ipc/js-queue/-/js-queue-2.0.3.tgz" + integrity sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw== + dependencies: + easy-stack "1.0.1" + +"@nodelib/fs.scandir@2.1.5": + 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" + +"@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" + 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" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@polka/url@^1.0.0-next.20": + version "1.0.0-next.21" + resolved "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.21.tgz" + integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== + +"@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" + integrity sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ== + +"@pureadmin/utils@^1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@pureadmin/utils/-/utils-1.8.5.tgz" + integrity sha512-dUJUYemELZdp4rpOnlQXU5GH2YWtf22vnw3Ekdn1ksoZu3cv30C6J9TCMsFjJhYhH8ZkfYowjfCx137eByjXXw== + +"@rollup/pluginutils@^5.0.2": + version "5.0.2" + resolved "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz" + integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + +"@sideway/address@^4.1.3": + version "4.1.4" + resolved "https://registry.npmmirror.com/@sideway/address/-/address-4.1.4.tgz" + integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.0": + version "3.0.1" + resolved "https://registry.npmmirror.com/@sideway/formula/-/formula-3.0.1.tgz" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.npmmirror.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + +"@soda/friendly-errors-webpack-plugin@^1.8.0": + version "1.8.1" + resolved "https://registry.npmmirror.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz" + integrity sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg== + dependencies: + chalk "^3.0.0" + error-stack-parser "^2.0.6" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +"@soda/get-current-script@^1.0.2": + version "1.0.2" + resolved "https://registry.npmmirror.com/@soda/get-current-script/-/get-current-script-1.0.2.tgz" + integrity sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w== + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.npmmirror.com/@tsconfig/node10/-/node10-1.0.9.tgz" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.npmmirror.com/@tsconfig/node12/-/node12-1.0.11.tgz" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.npmmirror.com/@tsconfig/node14/-/node14-1.0.3.tgz" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.3" + resolved "https://registry.npmmirror.com/@tsconfig/node16/-/node16-1.0.3.tgz" + integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== + +"@types/body-parser@*": + version "1.19.2" + resolved "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.2.tgz" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.10" + resolved "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.10.tgz" + integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== + dependencies: + "@types/node" "*" + +"@types/connect-history-api-fallback@^1.3.5": + version "1.3.5" + resolved "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz" + integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.npmmirror.com/@types/connect/-/connect-3.4.35.tgz" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.4" + resolved "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*", "@types/eslint@^7.29.0 || ^8.4.1": + version "8.4.10" + resolved "https://registry.npmmirror.com/@types/eslint/-/eslint-8.4.10.tgz" + integrity sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.0.tgz" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== + +"@types/estree@^0.0.51": + version "0.0.51" + resolved "https://registry.npmmirror.com/@types/estree/-/estree-0.0.51.tgz" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.31": + version "4.17.32" + resolved "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz" + integrity sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@*", "@types/express@^4.17.13": + version "4.17.15" + resolved "https://registry.npmmirror.com/@types/express/-/express-4.17.15.tgz" + integrity sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.31" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/file-saver@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/file-saver/-/file-saver-2.0.5.tgz#9ee342a5d1314bb0928375424a2f162f97c310c7" + integrity sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ== + +"@types/html-minifier-terser@^6.0.0": + version "6.1.0" + resolved "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== + +"@types/http-proxy@^1.17.8": + version "1.17.9" + resolved "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.9.tgz" + integrity sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw== + dependencies: + "@types/node" "*" + +"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/lodash-es@^4.17.6": + version "4.17.6" + resolved "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz" + integrity sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*", "@types/lodash@^4.14.182": + version "4.14.191" + resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.191.tgz" + integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== + +"@types/mime@*": + version "3.0.1" + resolved "https://registry.npmmirror.com/@types/mime/-/mime-3.0.1.tgz" + integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== + +"@types/minimist@^1.2.0": + version "1.2.2" + resolved "https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.2.tgz" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + +"@types/node@*": + version "18.11.18" + resolved "https://registry.npmmirror.com/@types/node/-/node-18.11.18.tgz" + integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== + +"@types/node@^14.0.0": + version "14.18.36" + resolved "https://registry.npmmirror.com/@types/node/-/node-14.18.36.tgz" + integrity sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.0.tgz" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.4.tgz" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/semver@^7.3.12": + version "7.3.13" + resolved "https://registry.npmmirror.com/@types/semver/-/semver-7.3.13.tgz" + integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== + +"@types/serve-index@^1.9.1": + version "1.9.1" + resolved "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.1.tgz" + integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== + dependencies: + "@types/express" "*" + +"@types/serve-static@*", "@types/serve-static@^1.13.10": + version "1.15.0" + resolved "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.0.tgz" + integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== + dependencies: + "@types/mime" "*" + "@types/node" "*" + +"@types/sockjs@^0.3.33": + version "0.3.33" + resolved "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.33.tgz" + integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== + dependencies: + "@types/node" "*" + +"@types/web-bluetooth@^0.0.14": + version "0.0.14" + resolved "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.14.tgz" + integrity sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A== + +"@types/web-bluetooth@^0.0.16": + version "0.0.16" + resolved "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz" + integrity sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ== + +"@types/webpack-env@^1.15.2": + version "1.18.0" + resolved "https://registry.npmmirror.com/@types/webpack-env/-/webpack-env-1.18.0.tgz" + integrity sha512-56/MAlX5WMsPVbOg7tAxnYvNYMMWr/QJiIp6BxVSW3JJXUVzzOn64qW8TzQyMSqSUFM2+PVI4aUHcHOzIz/1tg== + +"@types/ws@^8.5.1": + version "8.5.4" + resolved "https://registry.npmmirror.com/@types/ws/-/ws-8.5.4.tgz" + integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== + dependencies: + "@types/node" "*" + +"@typescript-eslint/eslint-plugin@^5.4.0": + version "5.47.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.47.1.tgz" + integrity sha512-r4RZ2Jl9kcQN7K/dcOT+J7NAimbiis4sSM9spvWimsBvDegMhKLA5vri2jG19PmIPbDjPeWzfUPQ2hjEzA4Nmg== + dependencies: + "@typescript-eslint/scope-manager" "5.47.1" + "@typescript-eslint/type-utils" "5.47.1" + "@typescript-eslint/utils" "5.47.1" + debug "^4.3.4" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + regexpp "^3.2.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.4.0": + version "5.47.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.47.1.tgz" + integrity sha512-9Vb+KIv29r6GPu4EboWOnQM7T+UjpjXvjCPhNORlgm40a9Ia9bvaPJswvtae1gip2QEeVeGh6YquqAzEgoRAlw== + dependencies: + "@typescript-eslint/scope-manager" "5.47.1" + "@typescript-eslint/types" "5.47.1" + "@typescript-eslint/typescript-estree" "5.47.1" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.47.1": + version "5.47.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.47.1.tgz" + integrity sha512-9hsFDsgUwrdOoW1D97Ewog7DYSHaq4WKuNs0LHF9RiCmqB0Z+XRR4Pf7u7u9z/8CciHuJ6yxNws1XznI3ddjEw== + dependencies: + "@typescript-eslint/types" "5.47.1" + "@typescript-eslint/visitor-keys" "5.47.1" + +"@typescript-eslint/type-utils@5.47.1": + version "5.47.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.47.1.tgz" + integrity sha512-/UKOeo8ee80A7/GJA427oIrBi/Gd4osk/3auBUg4Rn9EahFpevVV1mUK8hjyQD5lHPqX397x6CwOk5WGh1E/1w== + dependencies: + "@typescript-eslint/typescript-estree" "5.47.1" + "@typescript-eslint/utils" "5.47.1" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.47.1": + version "5.47.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.47.1.tgz" + integrity sha512-CmALY9YWXEpwuu6377ybJBZdtSAnzXLSQcxLSqSQSbC7VfpMu/HLVdrnVJj7ycI138EHqocW02LPJErE35cE9A== + +"@typescript-eslint/typescript-estree@5.47.1": + version "5.47.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.47.1.tgz" + integrity sha512-4+ZhFSuISAvRi2xUszEj0xXbNTHceV9GbH9S8oAD2a/F9SW57aJNQVOCxG8GPfSWH/X4eOPdMEU2jYVuWKEpWA== + dependencies: + "@typescript-eslint/types" "5.47.1" + "@typescript-eslint/visitor-keys" "5.47.1" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.47.1": + version "5.47.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.47.1.tgz" + integrity sha512-l90SdwqfmkuIVaREZ2ykEfCezepCLxzWMo5gVfcJsJCaT4jHT+QjgSkYhs5BMQmWqE9k3AtIfk4g211z/sTMVw== + dependencies: + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.47.1" + "@typescript-eslint/types" "5.47.1" + "@typescript-eslint/typescript-estree" "5.47.1" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.47.1": + version "5.47.1" + resolved "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.47.1.tgz" + integrity sha512-rF3pmut2JCCjh6BLRhNKdYjULMb1brvoaiWDlHfLNVgmnZ0sBVJrs3SyaKE1XoDDnJuAx/hDQryHYmPUuNq0ig== + dependencies: + "@typescript-eslint/types" "5.47.1" + eslint-visitor-keys "^3.3.0" + +"@vue-macros/api@~0.4.1": + version "0.4.1" + resolved "https://registry.npmmirror.com/@vue-macros/api/-/api-0.4.1.tgz" + integrity sha512-cKoeFoe5SSZ45OoLITmnDkKwBcgKxJrjsWZaVBsfaFly7bmt+UvBh+ZEzyJwu5ZcxnRZbmXHN+ThGFx4bJWIrg== + dependencies: + "@babel/types" "^7.20.7" + "@vue-macros/common" "~1.0.0" + +"@vue-macros/better-define@1.3.1": + version "1.3.1" + resolved "https://registry.npmmirror.com/@vue-macros/better-define/-/better-define-1.3.1.tgz" + integrity sha512-MgTFfO86zMAfq1NYKWe8DCG2pJ94bxiePUKAiPENK6IKEzh+b7RocwBeiwVSAe0lFaWaDns0AFezuAYgaNfb2g== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/api" "~0.4.1" + "@vue-macros/common" "~1.0.0" + unplugin "^1.0.1" + +"@vue-macros/common@1.0.0", "@vue-macros/common@~1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@vue-macros/common/-/common-1.0.0.tgz" + integrity sha512-KclEa1Q7tx3xPIGxOgL+LghfIFdjOtzPik0bPsC8KmGOYp8qFmImGjWobUiS9LLr6PLCSsetsGUp1m8Hu9kIxg== + dependencies: + "@babel/types" "^7.20.7" + "@vue/compiler-sfc" "^3.2.45" + local-pkg "^0.4.3" + magic-string "^0.27.0" + +"@vue-macros/define-model@1.3.1": + version "1.3.1" + resolved "https://registry.npmmirror.com/@vue-macros/define-model/-/define-model-1.3.1.tgz" + integrity sha512-XtBlXtnclMwZaXRko+EangPHXTLIjKxUXPcGqpMCihb+xzVr7dKUv6YZv/nuVucPCPvxH/Jy5BKZqXdTfh76Vw== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + ast-walker-scope "^0.4.0" + unplugin "^1.0.1" + +"@vue-macros/define-props-refs@0.2.0": + version "0.2.0" + resolved "https://registry.npmmirror.com/@vue-macros/define-props-refs/-/define-props-refs-0.2.0.tgz" + integrity sha512-0i5is9zBnhEfu2/c4gQmWoy7g121vbTygAbZaPwQjmzx5n2UtqpkOEjbTI9PqjpGQIPfIugAEe57r3i2jIvPuA== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + unplugin "^1.0.1" + +"@vue-macros/define-props@0.3.1": + version "0.3.1" + resolved "https://registry.npmmirror.com/@vue-macros/define-props/-/define-props-0.3.1.tgz" + integrity sha512-bRfGMfdW1zRi12I5SShaPuOI0/DjJ87diC5vCwTqn93Kho8ftRtT8U3Up34ClwDHyekeA+UPy2Z0D9QEkqYoaA== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + unplugin "^1.0.1" + +"@vue-macros/define-render@1.2.1": + version "1.2.1" + resolved "https://registry.npmmirror.com/@vue-macros/define-render/-/define-render-1.2.1.tgz" + integrity sha512-wJm19jgGM/VqiT2jZ2C/EixFpRmlVT6up1H4RDbFLtN9YZ1b4axvuooPbny/jV/VvrINhUn4MdKdN344Aj5DLA== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + unplugin "^1.0.1" + +"@vue-macros/define-slots@0.2.1": + version "0.2.1" + resolved "https://registry.npmmirror.com/@vue-macros/define-slots/-/define-slots-0.2.1.tgz" + integrity sha512-BY1jtvu/elzbPHhygx42ljea0RDz0KEyudqeRBZ1h7xu6ZUZ7QBNNY8WcELYVOf5QyT1tYKWSIcWS6XZP51CjA== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + unplugin "^1.0.1" + +"@vue-macros/export-props@0.2.0": + version "0.2.0" + resolved "https://registry.npmmirror.com/@vue-macros/export-props/-/export-props-0.2.0.tgz" + integrity sha512-1+uLz8Kf6qs+dpsVTm/2dvG48rgaeb9LBMBHZ4KwsiwMUw5IKuND1fSwLrhj/4kw4jLVh/VCiuyOZbXDqcUZnw== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + unplugin "^1.0.1" + +"@vue-macros/hoist-static@1.2.0": + version "1.2.0" + resolved "https://registry.npmmirror.com/@vue-macros/hoist-static/-/hoist-static-1.2.0.tgz" + integrity sha512-mkQbmM0070yrpgLbsJO/7Q/5Z22FWOTzF44y6hgYsYQQy/aEKn/1pUXGpMXuxFVZ4Zmi+TWOiKLNPC7/oq+eOg== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + unplugin "^1.0.1" + +"@vue-macros/named-template@0.2.1": + version "0.2.1" + resolved "https://registry.npmmirror.com/@vue-macros/named-template/-/named-template-0.2.1.tgz" + integrity sha512-DEVgYWCNuY3JIwmGORS0d2xDz9qr9Ts6VdkD89iCOpJSmFnjZKa+b6ha25CQFfN1q9KP/GJEIaaUhQlrx2aItw== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + "@vue/compiler-dom" "^3.2.47" + unplugin "^1.0.1" + +"@vue-macros/reactivity-transform@0.2.2": + version "0.2.2" + resolved "https://registry.npmmirror.com/@vue-macros/reactivity-transform/-/reactivity-transform-0.2.2.tgz" + integrity sha512-p7ILHFOJAoNtiTL+J5maKYkZPgnE1yyw9QsMml3zdXDK1dIQA+WOUbyP9d03HRggMS29ZKdIgVGSzjmZOz/UjQ== + dependencies: + "@babel/parser" "^7.20.15" + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + "@vue/compiler-core" "^3.2.47" + "@vue/shared" "^3.2.47" + magic-string "^0.27.0" + unplugin "^1.0.1" + +"@vue-macros/setup-block@0.1.0": + version "0.1.0" + resolved "https://registry.npmmirror.com/@vue-macros/setup-block/-/setup-block-0.1.0.tgz" + integrity sha512-oBn9CNwtnpoxJsKLfpsHTNO7M+3JHAaRg+n3r0s8f5FHb2dcLqEHODrDw71AYj2ZT4D+yRp/aVJ3k24+PwsV9g== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + "@vue/compiler-dom" "^3.2.45" + unplugin "^1.0.1" + +"@vue-macros/setup-component@0.15.1": + version "0.15.1" + resolved "https://registry.npmmirror.com/@vue-macros/setup-component/-/setup-component-0.15.1.tgz" + integrity sha512-21IiUnICbKRVlXcZXv4sDRKYRFRxSi72O78solDKdBTUYuSocGrZviF3iC+2XEDb0gUJixG7cZlD+0SZrNrMAw== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + unplugin "^1.0.1" + +"@vue-macros/setup-sfc@0.14.0": + version "0.14.0" + resolved "https://registry.npmmirror.com/@vue-macros/setup-sfc/-/setup-sfc-0.14.0.tgz" + integrity sha512-f7KhC1AkRxLX+kqOBVGuQyZ2Mykr1c8iafhYIgG5J/YrrkJQST264fkhBY9NYKtTHVZeg6gEtXDWYWtHGexulw== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + unplugin "^1.0.1" + +"@vue-macros/short-emits@1.2.1": + version "1.2.1" + resolved "https://registry.npmmirror.com/@vue-macros/short-emits/-/short-emits-1.2.1.tgz" + integrity sha512-7uMCgOGWU+Wfa2zzWxmw0i/ml6fBHP1fYq2W04CcpLK8QGzYppaxrtwTneH23wKSGTouk78vZtm2+gd5JQZXyw== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + unplugin "^1.0.1" + +"@vue/babel-helper-vue-jsx-merge-props@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz" + integrity sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA== + +"@vue/babel-helper-vue-transform-on@^1.0.2": + version "1.0.2" + resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz" + integrity sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA== + +"@vue/babel-plugin-jsx@^1.0.3": + version "1.1.1" + resolved "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz" + integrity sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + "@vue/babel-helper-vue-transform-on" "^1.0.2" + camelcase "^6.0.0" + html-tags "^3.1.0" + svg-tags "^1.0.0" + +"@vue/babel-plugin-transform-vue-jsx@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz" + integrity sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA== + 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" + +"@vue/babel-preset-app@^5.0.8": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz" + integrity sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg== + 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" + +"@vue/babel-preset-jsx@^1.1.2": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz" + integrity sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA== + 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" + +"@vue/babel-sugar-composition-api-inject-h@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz" + integrity sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-composition-api-render-instance@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz" + integrity sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-functional-vue@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz" + integrity sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-inject-h@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz" + integrity sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-v-model@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz" + integrity sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ== + 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" + +"@vue/babel-sugar-v-on@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz" + integrity sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.4.0" + camelcase "^5.0.0" + +"@vue/cli-overlay@^5.0.8": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz" + integrity sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ== + +"@vue/cli-plugin-babel@~5.0.0": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz" + integrity sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ== + 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" + +"@vue/cli-plugin-eslint@~5.0.0": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz" + integrity sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg== + 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" + +"@vue/cli-plugin-router@^5.0.8", "@vue/cli-plugin-router@~5.0.0": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz" + integrity sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg== + dependencies: + "@vue/cli-shared-utils" "^5.0.8" + +"@vue/cli-plugin-typescript@~5.0.0": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-plugin-typescript/-/cli-plugin-typescript-5.0.8.tgz" + integrity sha512-JKJOwzJshBqsmp4yLBexwVMebOZ4VGJgbnYvmHVxasJOStF2RxwyW28ZF+zIvASGdat4sAUuo/3mAQyVhm7JHg== + dependencies: + "@babel/core" "^7.12.16" + "@types/webpack-env" "^1.15.2" + "@vue/cli-shared-utils" "^5.0.8" + babel-loader "^8.2.2" + fork-ts-checker-webpack-plugin "^6.4.0" + globby "^11.0.2" + thread-loader "^3.0.0" + ts-loader "^9.2.5" + webpack "^5.54.0" + +"@vue/cli-plugin-vuex@^5.0.8", "@vue/cli-plugin-vuex@~5.0.0": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz" + integrity sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA== + +"@vue/cli-service@~5.0.0": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-service/-/cli-service-5.0.8.tgz" + integrity sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw== + 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" + +"@vue/cli-shared-utils@^5.0.8": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz" + integrity sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ== + 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" + +"@vue/compiler-core@3.2.45": + version "3.2.45" + resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz" + integrity sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/shared" "3.2.45" + estree-walker "^2.0.2" + source-map "^0.6.1" + +"@vue/compiler-core@3.2.47", "@vue/compiler-core@^3.2.47": + version "3.2.47" + resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.47.tgz" + integrity sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/shared" "3.2.47" + estree-walker "^2.0.2" + source-map "^0.6.1" + +"@vue/compiler-dom@3.2.45": + version "3.2.45" + resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz" + integrity sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw== + dependencies: + "@vue/compiler-core" "3.2.45" + "@vue/shared" "3.2.45" + +"@vue/compiler-dom@3.2.47", "@vue/compiler-dom@^3.2.45", "@vue/compiler-dom@^3.2.47": + version "3.2.47" + resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz" + integrity sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ== + dependencies: + "@vue/compiler-core" "3.2.47" + "@vue/shared" "3.2.47" + +"@vue/compiler-sfc@3.2.45": + version "3.2.45" + resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz" + integrity sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.45" + "@vue/compiler-dom" "3.2.45" + "@vue/compiler-ssr" "3.2.45" + "@vue/reactivity-transform" "3.2.45" + "@vue/shared" "3.2.45" + estree-walker "^2.0.2" + magic-string "^0.25.7" + postcss "^8.1.10" + source-map "^0.6.1" + +"@vue/compiler-sfc@^3.2.45": + version "3.2.47" + resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz" + integrity sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.47" + "@vue/compiler-dom" "3.2.47" + "@vue/compiler-ssr" "3.2.47" + "@vue/reactivity-transform" "3.2.47" + "@vue/shared" "3.2.47" + estree-walker "^2.0.2" + magic-string "^0.25.7" + postcss "^8.1.10" + source-map "^0.6.1" + +"@vue/compiler-ssr@3.2.45": + version "3.2.45" + resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz" + integrity sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ== + dependencies: + "@vue/compiler-dom" "3.2.45" + "@vue/shared" "3.2.45" + +"@vue/compiler-ssr@3.2.47": + version "3.2.47" + resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz" + integrity sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw== + dependencies: + "@vue/compiler-dom" "3.2.47" + "@vue/shared" "3.2.47" + +"@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.3.0": + version "3.3.0" + resolved "https://registry.npmmirror.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz" + integrity sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ== + 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" + +"@vue/devtools-api@^6.0.0-beta.11", "@vue/devtools-api@^6.2.1", "@vue/devtools-api@^6.4.5": + version "6.4.5" + resolved "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.4.5.tgz" + integrity sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ== + +"@vue/eslint-config-typescript@^9.1.0": + version "9.1.0" + resolved "https://registry.npmmirror.com/@vue/eslint-config-typescript/-/eslint-config-typescript-9.1.0.tgz" + integrity sha512-j/852/ZYQ5wDvCD3HE2q4uqJwJAceer2FwoEch1nFo+zTOsPrbzbE3cuWIs3kvu5hdFsGTMYwRwjI6fqZKDMxQ== + dependencies: + vue-eslint-parser "^8.0.0" + +"@vue/reactivity-transform@3.2.45": + version "3.2.45" + resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz" + integrity sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.45" + "@vue/shared" "3.2.45" + estree-walker "^2.0.2" + magic-string "^0.25.7" + +"@vue/reactivity-transform@3.2.47": + version "3.2.47" + resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz" + integrity sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.47" + "@vue/shared" "3.2.47" + estree-walker "^2.0.2" + magic-string "^0.25.7" + +"@vue/reactivity@3.2.45": + version "3.2.45" + resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.45.tgz" + integrity sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A== + dependencies: + "@vue/shared" "3.2.45" + +"@vue/runtime-core@3.2.45": + version "3.2.45" + resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz" + integrity sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A== + dependencies: + "@vue/reactivity" "3.2.45" + "@vue/shared" "3.2.45" + +"@vue/runtime-dom@3.2.45": + version "3.2.45" + resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz" + integrity sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA== + dependencies: + "@vue/runtime-core" "3.2.45" + "@vue/shared" "3.2.45" + csstype "^2.6.8" + +"@vue/server-renderer@3.2.45": + version "3.2.45" + resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.45.tgz" + integrity sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g== + dependencies: + "@vue/compiler-ssr" "3.2.45" + "@vue/shared" "3.2.45" + +"@vue/shared@3.2.45": + version "3.2.45" + resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.45.tgz" + integrity sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg== + +"@vue/shared@3.2.47", "@vue/shared@^3.2.47": + version "3.2.47" + resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz" + integrity sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ== + +"@vue/vue-loader-v15@npm:vue-loader@^15.9.7": + version "15.10.1" + resolved "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.1.tgz" + integrity sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA== + 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" + +"@vue/web-component-wrapper@^1.3.0": + version "1.3.0" + resolved "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz" + integrity sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA== + +"@vueuse/core@^8.0.1": + version "8.9.4" + resolved "https://registry.npmmirror.com/@vueuse/core/-/core-8.9.4.tgz" + integrity sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q== + dependencies: + "@types/web-bluetooth" "^0.0.14" + "@vueuse/metadata" "8.9.4" + "@vueuse/shared" "8.9.4" + vue-demi "*" + +"@vueuse/core@^9.1.0": + version "9.10.0" + resolved "https://registry.npmmirror.com/@vueuse/core/-/core-9.10.0.tgz" + integrity sha512-CxMewME07qeuzuT/AOIQGv0EhhDoojniqU6pC3F8m5VC76L47UT18DcX88kWlP3I7d3qMJ4u/PD8iSRsy3bmNA== + dependencies: + "@types/web-bluetooth" "^0.0.16" + "@vueuse/metadata" "9.10.0" + "@vueuse/shared" "9.10.0" + vue-demi "*" + +"@vueuse/metadata@8.9.4": + version "8.9.4" + resolved "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-8.9.4.tgz" + integrity sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw== + +"@vueuse/metadata@9.10.0": + version "9.10.0" + resolved "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.10.0.tgz" + integrity sha512-G5VZhgTCapzU9rv0Iq2HBrVOSGzOKb+OE668NxhXNcTjUjwYxULkEhAw70FtRLMZc+hxcFAzDZlKYA0xcwNMuw== + +"@vueuse/motion@^2.0.0-beta.12": + version "2.0.0-beta.12" + resolved "https://registry.npmmirror.com/@vueuse/motion/-/motion-2.0.0-beta.12.tgz" + integrity sha512-cAZqXexLX6xo+H1N1Mv+wBSSqG4wB+BdjIuHQ50jwlelXCDxSi8gj0K/9nDS+aUZtWh6YMwS6UGCKg58jMVglA== + dependencies: + "@vueuse/core" "^8.0.1" + "@vueuse/shared" "^8.0.1" + framesync "^6.1.0" + popmotion "^11.0.3" + style-value-types "^5.1.0" + vue-demi "*" + +"@vueuse/shared@8.9.4", "@vueuse/shared@^8.0.1": + version "8.9.4" + resolved "https://registry.npmmirror.com/@vueuse/shared/-/shared-8.9.4.tgz" + integrity sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag== + dependencies: + vue-demi "*" + +"@vueuse/shared@9.10.0": + version "9.10.0" + resolved "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.10.0.tgz" + integrity sha512-vakHJ2ZRklAzqmcVBL38RS7BxdBA4+5poG9NsSyqJxrt9kz0zX3P5CXMy0Hm6LFbZXUgvKdqAS3pUH1zX/5qTQ== + dependencies: + vue-demi "*" + +"@webassemblyjs/ast@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.1.tgz" + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + +"@webassemblyjs/floating-point-hex-parser@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== + +"@webassemblyjs/helper-api-error@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== + +"@webassemblyjs/helper-buffer@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== + +"@webassemblyjs/helper-numbers@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== + +"@webassemblyjs/helper-wasm-section@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== + 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" + +"@webassemblyjs/ieee754@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== + +"@webassemblyjs/wasm-edit@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== + 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" + +"@webassemblyjs/wasm-gen@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== + 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" + +"@webassemblyjs/wasm-opt@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== + dependencies: + "@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@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== + 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" + +"@webassemblyjs/wast-printer@1.11.1": + version "1.11.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +JSONStream@^1.0.4: + version "1.3.5" + resolved "https://registry.npmmirror.com/JSONStream/-/JSONStream-1.3.5.tgz" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-assertions@^1.7.6: + version "1.8.0" + resolved "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" + integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== + +acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-node@^1.8.2: + version "1.8.2" + resolved "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz" + integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== + dependencies: + acorn "^7.0.0" + acorn-walk "^7.0.0" + xtend "^4.0.2" + +acorn-walk@^7.0.0: + version "7.2.0" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn-walk@^8.0.0, acorn-walk@^8.0.2, acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.2.0.tgz" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^7.0.0, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.0.4, acorn@^8.0.5, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0, acorn@^8.8.1: + version "8.8.1" + resolved "https://registry.npmmirror.com/acorn/-/acorn-8.8.1.tgz" + integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== + +address@^1.1.2: + version "1.2.2" + resolved "https://registry.npmmirror.com/address/-/address-1.2.2.tgz" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.0.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + 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" + +ajv@^8.0.0, ajv@^8.0.1, ajv@^8.11.0, ajv@^8.8.0: + version "8.11.2" + resolved "https://registry.npmmirror.com/ajv/-/ajv-8.11.2.tgz" + integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-3.0.1.tgz" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^4.1.0: + version "4.1.1" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-4.1.1.tgz" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz" + integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@~3.1.2: + 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" + +arch@^2.1.1: + version "2.2.0" + resolved "https://registry.npmmirror.com/arch/-/arch-2.2.0.tgz" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/arr-diff/-/arr-diff-4.0.0.tgz" + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/arr-flatten/-/arr-flatten-1.1.0.tgz" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/arr-union/-/arr-union-3.1.0.tgz" + integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-flatten@^2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-2.1.2.tgz" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/array-ify/-/array-ify-1.0.0.tgz" + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.npmmirror.com/array-unique/-/array-unique-0.3.2.tgz" + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/assign-symbols/-/assign-symbols-1.0.0.tgz" + integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== + +ast-walker-scope@^0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/ast-walker-scope/-/ast-walker-scope-0.4.0.tgz" + integrity sha512-THVisYmmqkcopZXJDniGgVW6BRKtjutRLytqAgw0XDabYZmxC0GfFggTFZouMhvNT7jPBkx0vOy/2Y+udCDwgg== + dependencies: + "@babel/parser" "^7.20.13" + "@babel/types" "^7.20.7" + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-validator@^4.2.5: + version "4.2.5" + resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz" + integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== + +async@^2.6.4: + version "2.6.4" + resolved "https://registry.npmmirror.com/async/-/async-2.6.4.tgz" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +autoprefixer@^10.2.4: + version "10.4.13" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz" + integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== + dependencies: + browserslist "^4.21.4" + caniuse-lite "^1.0.30001426" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +autoprefixer@^9.8.8: + version "9.8.8" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz" + integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + picocolors "^0.2.1" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + +axios@^1.2.2: + version "1.2.2" + resolved "https://registry.npmmirror.com/axios/-/axios-1.2.2.tgz" + integrity sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +babel-loader@^8.2.2: + version "8.3.0" + resolved "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.3.0.tgz" + integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.3.3" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + core-js-compat "^3.25.1" + +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.npmmirror.com/base/-/base-0.11.2.tgz" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +bluebird@^3.1.1, bluebird@^3.5.0: + version "3.7.2" + resolved "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.1.tgz" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + 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" + +bonjour-service@^1.0.11: + version "1.0.14" + resolved "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.0.14.tgz" + integrity sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ== + dependencies: + array-flatten "^2.1.2" + dns-equal "^1.0.0" + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + 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" + +braces@^2.2.2: + version "2.3.2" + resolved "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.2, braces@~3.0.2: + 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" + +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.16.6, browserslist@^4.21.3, browserslist@^4.21.4: + version "4.21.4" + resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.4.tgz" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== + dependencies: + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/cache-base/-/cache-base-1.0.1.tgz" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.npmmirror.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: + version "1.0.30001441" + resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz" + integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg== + +case-sensitive-paths-webpack-plugin@^2.3.0: + version "2.4.0" + resolved "https://registry.npmmirror.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz" + integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz" + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.2, chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + 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" + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.npmmirror.com/ci-info/-/ci-info-1.6.0.tgz" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.npmmirror.com/class-utils/-/class-utils-0.3.6.tgz" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-css@^5.2.2: + version "5.3.1" + resolved "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.1.tgz" + integrity sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg== + dependencies: + source-map "~0.6.0" + +cli-cursor@^2.0.0, cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-2.1.0.tgz" + integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-highlight@^2.1.10: + version "2.1.11" + resolved "https://registry.npmmirror.com/cli-highlight/-/cli-highlight-2.1.11.tgz" + integrity sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== + 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" + +cli-spinners@^2.5.0: + version "2.7.0" + resolved "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.7.0.tgz" + integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== + +cli-width@^2.0.0: + version "2.2.1" + resolved "https://registry.npmmirror.com/cli-width/-/cli-width-2.2.1.tgz" + integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== + +clipboardy@^2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/clipboardy/-/clipboardy-2.3.0.tgz" + integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== + dependencies: + arch "^2.1.1" + execa "^1.0.0" + is-wsl "^2.1.1" + +cliui@^7.0.2, cliui@^7.0.4: + version "7.0.4" + resolved "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz" + integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/collection-visit/-/collection-visit-1.0.0.tgz" + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@^1.1.4, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colord@^2.9.1: + version "2.9.3" + resolved "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + +colorette@^2.0.10: + version "2.0.19" + resolved "https://registry.npmmirror.com/colorette/-/colorette-2.0.19.tgz" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/compare-func/-/compare-func-2.0.0.tgz" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== + dependencies: + array-ify "^1.0.0" + dot-prop "^5.1.0" + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/component-emitter/-/component-emitter-1.3.0.tgz" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + 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" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +consolidate@^0.15.1: + version "0.15.1" + resolved "https://registry.npmmirror.com/consolidate/-/consolidate-0.15.1.tgz" + integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== + dependencies: + bluebird "^3.1.1" + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/content-type/-/content-type-1.0.4.tgz" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +conventional-changelog-angular@^5.0.11: + version "5.0.13" + resolved "https://registry.npmmirror.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz" + integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== + dependencies: + compare-func "^2.0.0" + q "^1.5.1" + +conventional-changelog-conventionalcommits@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz" + integrity sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw== + dependencies: + compare-func "^2.0.0" + lodash "^4.17.15" + q "^1.5.1" + +conventional-commits-parser@^3.2.2: + version "3.2.4" + resolved "https://registry.npmmirror.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz" + integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== + dependencies: + JSONStream "^1.0.4" + is-text-path "^1.0.1" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" + +convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.npmmirror.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz" + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== + +copy-webpack-plugin@^9.0.1: + version "9.1.0" + resolved "https://registry.npmmirror.com/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz" + integrity sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA== + 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" + +core-js-compat@^3.25.1, core-js-compat@^3.8.3: + version "3.27.1" + resolved "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.27.1.tgz" + integrity sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA== + dependencies: + browserslist "^4.21.4" + +core-js@^3.8.3: + version "3.27.1" + resolved "https://registry.npmmirror.com/core-js/-/core-js-3.27.1.tgz" + integrity sha512-GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig-typescript-loader@^4.0.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz" + integrity sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q== + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + 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" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/create-require/-/create-require-1.1.1.tgz" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-5.1.0.tgz" + integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.5.tgz" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-declaration-sorter@^6.3.1: + version "6.3.1" + resolved "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz" + integrity sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w== + +css-loader@^6.5.0: + version "6.7.3" + resolved "https://registry.npmmirror.com/css-loader/-/css-loader-6.7.3.tgz" + integrity sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.19" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + 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@^3.0.2: + version "3.4.1" + resolved "https://registry.npmmirror.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz" + integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== + 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" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^6.0.1: + version "6.1.0" + resolved "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^5.2.13: + version "5.2.13" + resolved "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz" + integrity sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ== + dependencies: + css-declaration-sorter "^6.3.1" + cssnano-utils "^3.1.0" + postcss-calc "^8.2.3" + postcss-colormin "^5.3.0" + 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.3" + 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.1" + postcss-reduce-transforms "^5.1.0" + postcss-svgo "^5.1.0" + postcss-unique-selectors "^5.1.1" + +cssnano-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz" + integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== + +cssnano@^5.0.0, cssnano@^5.0.6: + version "5.1.14" + resolved "https://registry.npmmirror.com/cssnano/-/cssnano-5.1.14.tgz" + integrity sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw== + dependencies: + cssnano-preset-default "^5.2.13" + lilconfig "^2.0.3" + yaml "^1.10.2" + +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +csstype@^2.6.8: + version "2.6.21" + resolved "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz" + integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== + +cz-customizable@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/cz-customizable/-/cz-customizable-7.0.0.tgz" + integrity sha512-pQKkGSm+8SY9VY/yeJqDOla1MjrGaG7WG4EYLLEV4VNctGO7WdzdGtWEr2ydKSkrpmTs7f8fmBksg/FaTrUAyw== + dependencies: + editor "1.0.0" + find-config "^1.0.0" + inquirer "^6.3.1" + lodash "^4.17.19" + temp "^0.9.0" + word-wrap "^1.2.3" + +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/dargs/-/dargs-7.0.0.tgz" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== + +dayjs@^1.11.3: + version "1.11.7" + resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz" + integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: + 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" + +decamelize-keys@^1.1.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@1.3.2: + version "1.3.2" + resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.3.2.tgz" + integrity sha512-qjMjTrk+RKv/sp4RPDpV5CnKhxjFI9p+GkLBOls5A8EEElldYWCWA9zceAkmfd0xIo2aU1nxiaLFoiya2sb6Cg== + +deepmerge@^1.5.2: + version "1.5.2" + resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz" + integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.2.2.tgz" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/define-properties/-/define-properties-1.1.4.tgz" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz" + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz" + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/define-property/-/define-property-2.0.2.tgz" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +defined@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz" + integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +detective@^5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz" + integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== + dependencies: + acorn-node "^1.8.2" + defined "^1.0.0" + minimist "^1.2.6" + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npmmirror.com/diff/-/diff-4.0.2.tgz" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/dns-equal/-/dns-equal-1.0.0.tgz" + integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== + +dns-packet@^5.2.2: + version "5.4.0" + resolved "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.4.0.tgz" + integrity sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + +domelementtype@1, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.npmmirror.com/domhandler/-/domhandler-2.4.2.tgz" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domready@1.0.8: + version "1.0.8" + resolved "https://registry.npmmirror.com/domready/-/domready-1.0.8.tgz" + integrity sha512-uIzsOJUNk+AdGE9a6VDeessoMCzF8RrZvJCX/W8QtyfgdR6Uofn/MvRonih3OtCO79b2VDzDOymuiABrQ4z3XA== + +domutils@^1.5.1: + version "1.7.0" + resolved "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dot-prop@^5.1.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/dot-prop/-/dot-prop-5.3.0.tgz" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.npmmirror.com/dotenv/-/dotenv-10.0.0.tgz" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +easy-stack@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/easy-stack/-/easy-stack-1.0.1.tgz" + integrity sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w== + +echarts@^5.4.1: + version "5.4.1" + resolved "https://registry.npmjs.org/echarts/-/echarts-5.4.1.tgz" + integrity sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ== + dependencies: + tslib "2.3.0" + zrender "5.4.1" + +editor@1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/editor/-/editor-1.0.0.tgz" + integrity sha512-SoRmbGStwNYHgKfjOrX2L0mUvp9bUVv0uPppZSOMAntEbcFtoC3MKF5b3T6HQPXKIV+QGY3xPO3JK5it5lVkuw== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.251: + version "1.4.284" + resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz" + integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== + +element-plus@^2.2.28: + version "2.2.28" + resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.28.tgz" + integrity sha512-BsxF7iEaBydmRfw1Tt++EO9jRBjbtJr7ZRIrnEwz4J3Cwa1IzHCNCcx3ZwcYTlJq9CYFxv94JnbNr1EbkTou3A== + dependencies: + "@ctrl/tinycolor" "^3.4.1" + "@element-plus/icons-vue" "^2.0.6" + "@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" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.0.0, enhanced-resolve@^5.10.0: + version "5.12.0" + resolved "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz" + integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.npmmirror.com/enquirer/-/enquirer-2.3.6.tgz" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.npmmirror.com/entities/-/entities-1.1.2.tgz" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.npmmirror.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +es-module-lexer@^0.9.0: + version "0.9.3" + resolved "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz" + integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@^1.0.3, escape-html@~1.0.3: + 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@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +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" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + +eslint-config-prettier@^8.3.0: + version "8.5.0" + resolved "https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + +eslint-plugin-prettier@^4.0.0: + version "4.2.1" + resolved "https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-vue@^8.0.3: + version "8.7.1" + resolved "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz" + integrity sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg== + dependencies: + eslint-utils "^3.0.0" + natural-compare "^1.4.0" + nth-check "^2.0.1" + postcss-selector-parser "^6.0.9" + semver "^7.3.5" + vue-eslint-parser "^8.0.1" + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.0.0: + version "7.1.1" + resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.1.1.tgz" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-2.1.0.tgz" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-3.0.0.tgz" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint-webpack-plugin@^3.1.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz" + integrity sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w== + 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" + +eslint@^7.32.0: + version "7.32.0" + resolved "https://registry.npmmirror.com/eslint/-/eslint-7.32.0.tgz" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.npmmirror.com/espree/-/espree-7.3.1.tgz" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +espree@^9.0.0: + version "9.4.1" + resolved "https://registry.npmmirror.com/espree/-/espree-9.4.1.tgz" + integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/esquery/-/esquery-1.4.0.tgz" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^2.0.2: + 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== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +event-pubsub@4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/event-pubsub/-/event-pubsub-4.3.0.tgz" + integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^0.8.0: + version "0.8.0" + resolved "https://registry.npmmirror.com/execa/-/execa-0.8.0.tgz" + integrity sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA== + 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" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/execa/-/execa-1.0.0.tgz" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + 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" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + 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" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.npmmirror.com/expand-brackets/-/expand-brackets-2.1.4.tgz" + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +express@^4.17.3: + version "4.18.2" + resolved "https://registry.npmmirror.com/express/-/express-4.18.2.tgz" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + 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" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz" + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.npmmirror.com/external-editor/-/external-editor-3.1.0.tgz" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.2: + version "2.0.4" + resolved "https://registry.npmmirror.com/extglob/-/extglob-2.0.4.tgz" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.2.0.tgz" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + +fast-glob@^3.2.12, fast-glob@^3.2.7, fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + 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" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.npmmirror.com/fastq/-/fastq-1.15.0.tgz" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/figures/-/figures-2.0.0.tgz" + integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-saver@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38" + integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/fill-range/-/fill-range-4.0.0.tgz" + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + 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" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + 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" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-config@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/find-config/-/find-config-1.0.0.tgz" + integrity sha512-Z+suHH+7LSE40WfUeZPIxSxypCWvrzdVc60xAjUShZeT5eMWM0/FQUduq3HjluyfAHWvC/aOBkT1pTZktyF/jg== + dependencies: + user-home "^2.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.0.4.tgz" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.npmmirror.com/flatted/-/flatted-3.2.7.tgz" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +follow-redirects@^1.0.0, follow-redirects@^1.15.0: + version "1.15.2" + resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/for-in/-/for-in-1.0.2.tgz" + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== + +fork-ts-checker-webpack-plugin@^6.4.0: + version "6.5.2" + resolved "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz" + integrity sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA== + dependencies: + "@babel/code-frame" "^7.8.3" + "@types/json-schema" "^7.0.5" + chalk "^4.1.0" + chokidar "^3.4.2" + cosmiconfig "^6.0.0" + deepmerge "^4.2.2" + fs-extra "^9.0.0" + glob "^7.1.6" + memfs "^3.1.2" + minimatch "^3.0.4" + schema-utils "2.7.0" + semver "^7.3.2" + tapable "^1.0.0" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/fragment-cache/-/fragment-cache-0.2.1.tgz" + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== + dependencies: + map-cache "^0.2.2" + +framesync@6.1.2, framesync@^6.1.0: + version "6.1.2" + resolved "https://registry.npmmirror.com/framesync/-/framesync-6.1.2.tgz" + integrity sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g== + dependencies: + tslib "2.4.0" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.0.0, fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-monkey@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.3.tgz" + integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: + version "1.1.3" + resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/get-stream/-/get-stream-3.0.0.tgz" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.npmmirror.com/get-value/-/get-value-2.0.6.tgz" + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== + +git-raw-commits@^2.0.0: + version "2.0.11" + resolved "https://registry.npmmirror.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz" + integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== + dependencies: + dargs "^7.0.0" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" + +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" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1, glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.1.3, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + 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" + +global-dirs@^0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/global-dirs/-/global-dirs-0.1.1.tgz" + integrity sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg== + dependencies: + ini "^1.3.4" + +global@^4.4.0: + version "4.4.0" + resolved "https://registry.npmmirror.com/global/-/global-4.4.0.tgz" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + dependencies: + min-document "^2.19.0" + process "^0.11.10" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.6.0, globals@^13.9.0: + version "13.19.0" + resolved "https://registry.npmmirror.com/globals/-/globals-13.19.0.tgz" + integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.2, globby@^11.0.3, globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + 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" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.10" + resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/hard-rejection/-/hard-rejection-2.1.0.tgz" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/has-ansi/-/has-ansi-2.0.0.tgz" + integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/has-flag/-/has-flag-1.0.0.tgz" + integrity sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.npmmirror.com/has-value/-/has-value-0.3.1.tgz" + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/has-value/-/has-value-1.0.0.tgz" + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/has-values/-/has-values-0.1.4.tgz" + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/has-values/-/has-values-1.0.0.tgz" + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz" + integrity sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA== + +hash-sum@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz" + integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== + +he@^1.1.1, he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/he/-/he-1.2.0.tgz" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hey-listen@^1.0.8: + version "1.0.8" + resolved "https://registry.npmmirror.com/hey-listen/-/hey-listen-1.0.8.tgz" + integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== + +highlight.js@^10.7.1: + version "10.7.3" + resolved "https://registry.npmmirror.com/highlight.js/-/highlight.js-10.7.3.tgz" + integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-entities@^2.3.2: + version "2.3.3" + resolved "https://registry.npmmirror.com/html-entities/-/html-entities-2.3.3.tgz" + integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== + +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== + 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" + +html-tags@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/html-tags/-/html-tags-2.0.0.tgz" + integrity sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g== + +html-tags@^3.1.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/html-tags/-/html-tags-3.2.0.tgz" + integrity sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg== + +html-webpack-plugin@^5.1.0: + version "5.5.0" + resolved "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz" + integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== + 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" + +htmlparser2@^3.8.3: + version "3.10.1" + resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-3.10.1.tgz" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.8.tgz" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + 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" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +husky@^8.0.2: + version "8.0.2" + resolved "https://registry.npmmirror.com/husky/-/husky-8.0.2.tgz" + integrity sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg== + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.npmmirror.com/ignore/-/ignore-4.0.6.tgz" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.npmmirror.com/ignore/-/ignore-5.2.4.tgz" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +image-size@^0.5.1: + version "0.5.5" + resolved "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz" + integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== + +immutable@^4.0.0: + version "4.2.1" + resolved "https://registry.npmmirror.com/immutable/-/immutable-4.2.1.tgz" + integrity sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ== + +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +inquirer@^6.3.1: + version "6.5.2" + resolved "https://registry.npmmirror.com/inquirer/-/inquirer-6.5.2.tgz" + integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz" + integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" + integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +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" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.npmmirror.com/is-ci/-/is-ci-1.2.1.tgz" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== + dependencies: + ci-info "^1.5.0" + +is-core-module@^2.5.0, is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.11.0.tgz" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" + integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-0.1.6.tgz" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-file-esm@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-file-esm/-/is-file-esm-1.0.0.tgz" + integrity sha512-rZlaNKb4Mr8WlRu2A9XdeoKgnO5aA53XdPHgCKVyCrQ/rWi89RET1+bq37Ru46obaQXeiX4vmFIm1vks41hoSA== + dependencies: + read-pkg-up "^7.0.1" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + 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" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz" + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-plain-obj@^1.1, is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-text-path@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-text-path/-/is-text-path-1.0.1.tgz" + integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== + dependencies: + text-extensions "^1.0.0" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^2.1.1, is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^2.0.0, isobject@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/isobject/-/isobject-2.1.0.tgz" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +javascript-stringify@^2.0.1: + version "2.1.0" + resolved "https://registry.npmmirror.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz" + integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== + +jest-worker@^27.0.2, jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^28.0.2: + version "28.1.3" + resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-28.1.3.tgz" + integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +joi@^17.4.0: + version "17.7.0" + resolved "https://registry.npmmirror.com/joi/-/joi-17.7.0.tgz" + integrity sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg== + dependencies: + "@hapi/hoek" "^9.0.0" + "@hapi/topo" "^5.0.0" + "@sideway/address" "^4.1.3" + "@sideway/formula" "^3.0.0" + "@sideway/pinpoint" "^2.0.0" + +js-base64@^2.1.9: + version "2.6.4" + resolved "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz" + integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== + +js-message@1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/js-message/-/js-message-1.0.7.tgz" + integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.1: + version "2.2.3" + resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonc-parser@^3.2.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.npmmirror.com/jsonparse/-/jsonparse-1.3.1.tgz" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/kind-of/-/kind-of-4.0.0.tgz" + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0, kind-of@^5.0.2: + version "5.1.0" + resolved "https://registry.npmmirror.com/kind-of/-/kind-of-5.1.0.tgz" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +klona@^2.0.4, klona@^2.0.5: + version "2.0.5" + resolved "https://registry.npmmirror.com/klona/-/klona-2.0.5.tgz" + integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== + +launch-editor-middleware@^2.2.1: + version "2.6.0" + resolved "https://registry.npmmirror.com/launch-editor-middleware/-/launch-editor-middleware-2.6.0.tgz" + integrity sha512-K2yxgljj5TdCeRN1lBtO3/J26+AIDDDw+04y6VAiZbWcTdBwsYN6RrZBnW5DN/QiSIdKNjKdATLUUluWWFYTIA== + dependencies: + launch-editor "^2.6.0" + +launch-editor@^2.2.1, launch-editor@^2.6.0: + version "2.6.0" + resolved "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.6.0.tgz" + integrity sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.7.3" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.0.6: + version "2.0.6" + resolved "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.0.6.tgz" + integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loader-runner@^4.1.0, loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^1.0.2, loader-utils@^1.1.0: + version "1.4.2" + resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +local-pkg@^0.4.2: + version "0.4.2" + resolved "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.4.2.tgz" + integrity sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg== + +local-pkg@^0.4.3: + version "0.4.3" + resolved "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.4.3.tgz" + integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash-es@^4.17.21: + 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@^1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz" + integrity sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ== + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.defaultsdeep@^4.6.1: + version "4.6.1" + resolved "https://registry.npmmirror.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz" + integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== + +lodash.isfunction@^3.0.9: + version "3.0.9" + resolved "https://registry.npmmirror.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz" + integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== + +lodash.mapvalues@^4.6.0: + version "4.6.0" + resolved "https://registry.npmmirror.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz" + integrity sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ== + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.mergewith@^4.6.2: + version "4.6.2" + resolved "https://registry.npmmirror.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== + +lodash.snakecase@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz" + integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== + +lodash.startcase@^4.4.0: + version "4.4.0" + resolved "https://registry.npmmirror.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz" + integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.npmmirror.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash.upperfirst@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz" + integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== + +lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/log-update/-/log-update-2.3.0.tgz" + integrity sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg== + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lru-cache@^4.0.1, lru-cache@^4.1.2: + version "4.1.5" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +magic-string@^0.25.7: + version "0.25.9" + resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz" + integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== + dependencies: + sourcemap-codec "^1.4.8" + +magic-string@^0.27.0: + version "0.27.0" + resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.27.0.tgz" + integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.13" + +make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz" + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/map-obj/-/map-obj-1.0.1.tgz" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/map-visit/-/map-visit-1.0.0.tgz" + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== + dependencies: + object-visit "^1.0.0" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.1.2, memfs@^3.4.3: + version "3.4.12" + resolved "https://registry.npmmirror.com/memfs/-/memfs-3.4.12.tgz" + integrity sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw== + dependencies: + fs-monkey "^1.0.3" + +memoize-one@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz" + integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== + +meow@^8.0.0: + version "8.1.2" + resolved "https://registry.npmmirror.com/meow/-/meow-8.1.2.tgz" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-options@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/merge-options/-/merge-options-1.0.1.tgz" + integrity sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg== + dependencies: + is-plain-obj "^1.1" + +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/merge-source-map/-/merge-source-map-1.1.0.tgz" + integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== + dependencies: + source-map "^0.6.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.0.tgz" + integrity sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.2.2" + define-property "^1.0.0" + extend-shallow "^2.0.1" + extglob "^2.0.2" + fragment-cache "^0.2.1" + kind-of "^5.0.2" + nanomatch "^1.2.1" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: + 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" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-1.2.0.tgz" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz" + integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== + dependencies: + dom-walk "^0.1.0" + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +mini-css-extract-plugin@^2.5.3: + version "2.7.2" + resolved "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz" + integrity sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw== + dependencies: + schema-utils "^4.0.0" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.1.1: + version "5.1.2" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.2.tgz" + integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== + dependencies: + brace-expansion "^2.0.1" + +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/minimist-options/-/minimist-options-4.1.0.tgz" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.7" + resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.7.tgz" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== + +minipass@^3.1.1: + version "3.3.6" + resolved "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +mitt@1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/mitt/-/mitt-1.1.2.tgz" + integrity sha512-3btxP0O9iGADGWAkteQ8mzDtEspZqu4I32y4GZYCV5BrwtzdcRpF4dQgNdJadCrbBx7Lu6Sq9AVrerMHR0Hkmw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.npmmirror.com/mixin-deep/-/mixin-deep-1.3.2.tgz" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.1, mkdirp@^0.5.6: + version "0.5.6" + resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mlly@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/mlly/-/mlly-1.1.0.tgz" + integrity sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ== + dependencies: + acorn "^8.8.1" + pathe "^1.0.0" + pkg-types "^1.0.1" + ufo "^1.0.1" + +module-alias@^2.2.2: + version "2.2.2" + resolved "https://registry.npmmirror.com/module-alias/-/module-alias-2.2.2.tgz" + integrity sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q== + +mrmime@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/mrmime/-/mrmime-1.0.1.tgz" + integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.7.tgz" + integrity sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ== + +mz@^2.4.0: + version "2.7.0" + resolved "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +nanomatch@^1.2.1: + version "1.2.13" + resolved "https://registry.npmmirror.com/nanomatch/-/nanomatch-1.2.13.tgz" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-fetch@^2.6.7: + version "2.6.7" + resolved "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.6.7.tgz" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-releases@^2.0.6: + version "2.0.8" + resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.8.tgz" + integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-path@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-1.0.0.tgz" + integrity sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA== + +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" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +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" + integrity sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz" + integrity sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg== + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/object-copy/-/object-copy-0.1.0.tgz" + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +object-inspect@^1.9.0: + version "1.12.2" + resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.2.tgz" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/object-visit/-/object-visit-1.0.1.tgz" + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0: + version "4.1.4" + resolved "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.4.tgz" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/object.pick/-/object.pick-1.3.0.tgz" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== + dependencies: + isobject "^3.0.1" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/onetime/-/onetime-2.0.1.tgz" + integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^8.0.2, open@^8.0.9: + version "8.4.0" + resolved "https://registry.npmmirror.com/open/-/open-8.4.0.tgz" + integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.npmmirror.com/opener/-/opener-1.5.2.tgz" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.npmmirror.com/optionator/-/optionator-0.9.1.tgz" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +ora@^5.3.0: + version "5.4.1" + resolved "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + 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" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/os-homedir/-/os-homedir-1.0.2.tgz" + integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.npmmirror.com/p-retry/-/p-retry-4.6.2.tgz" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + 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" + +parse5-htmlparser2-tree-adapter@^6.0.0: + version "6.0.1" + resolved "https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + +parse5@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/parse5/-/parse5-5.1.1.tgz" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/pascalcase/-/pascalcase-0.1.1.tgz" + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/path-key/-/path-key-2.0.1.tgz" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pathe@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/pathe/-/pathe-1.0.0.tgz" + integrity sha512-nPdMG0Pd09HuSsr7QOKUXO2Jr9eqaDiZvDwdyIhNG5SHYujkQHYKDfGQkulBxvbDHz8oHLsTgKN86LSwYzSHAg== + +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz" + 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" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-types@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.0.1.tgz" + integrity sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g== + dependencies: + jsonc-parser "^3.2.0" + mlly "^1.0.0" + pathe "^1.0.0" + +popmotion@^11.0.3: + version "11.0.5" + resolved "https://registry.npmmirror.com/popmotion/-/popmotion-11.0.5.tgz" + integrity sha512-la8gPM1WYeFznb/JqF4GiTkRRPZsfaj2+kCxqQgr2MJylMmIKUwBfWW8Wa5fml/8gmtlD5yI01MP1QCZPWmppA== + dependencies: + framesync "6.1.2" + hey-listen "^1.0.8" + style-value-types "5.1.2" + tslib "2.4.0" + +portfinder@^1.0.26: + version "1.0.32" + resolved "https://registry.npmmirror.com/portfinder/-/portfinder-1.0.32.tgz" + integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== + dependencies: + async "^2.6.4" + debug "^3.2.7" + mkdirp "^0.5.6" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.npmmirror.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz" + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== + +postcss-calc@^8.2.3: + version "8.2.4" + resolved "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-8.2.4.tgz" + integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== + dependencies: + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" + +postcss-colormin@^5.3.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz" + integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^5.1.3: + version "5.1.3" + resolved "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz" + integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-discard-comments@^5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" + integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== + +postcss-discard-duplicates@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" + integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== + +postcss-discard-empty@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz" + integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== + +postcss-discard-overridden@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" + integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== + +postcss-import@^14.1.0: + version "14.1.0" + resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz" + integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-js@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" + integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== + dependencies: + camelcase-css "^2.0.1" + +postcss-load-config@^3.1.4: + version "3.1.4" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz" + integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== + dependencies: + lilconfig "^2.0.5" + yaml "^1.10.2" + +postcss-loader@^6.1.1: + version "6.2.1" + resolved "https://registry.npmmirror.com/postcss-loader/-/postcss-loader-6.2.1.tgz" + integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.5" + semver "^7.3.5" + +postcss-merge-longhand@^5.1.7: + version "5.1.7" + resolved "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz" + integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^5.1.1" + +postcss-merge-rules@^5.1.3: + version "5.1.3" + resolved "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz" + integrity sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + cssnano-utils "^3.1.0" + postcss-selector-parser "^6.0.5" + +postcss-minify-font-values@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz" + integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz" + integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== + dependencies: + colord "^2.9.1" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^5.1.4: + version "5.1.4" + resolved "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz" + integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== + dependencies: + browserslist "^4.21.4" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^5.2.1: + version "5.2.1" + resolved "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" + integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" + integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-nested@6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz" + integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w== + dependencies: + postcss-selector-parser "^6.0.10" + +postcss-normalize-charset@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz" + integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== + +postcss-normalize-display-values@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz" + integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-positions@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" + integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-repeat-style@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz" + integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-string@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz" + integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-timing-functions@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz" + integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-unicode@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz" + integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-normalize-url@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" + integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== + dependencies: + normalize-url "^6.0.1" + postcss-value-parser "^4.2.0" + +postcss-normalize-whitespace@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" + integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-ordered-values@^5.1.3: + version "5.1.3" + resolved "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" + integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== + dependencies: + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-prefix-selector@^1.6.0: + version "1.16.0" + resolved "https://registry.npmmirror.com/postcss-prefix-selector/-/postcss-prefix-selector-1.16.0.tgz" + integrity sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q== + +postcss-reduce-initial@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz" + integrity sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" + integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: + version "6.0.11" + resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz" + integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz" + integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^2.7.0" + +postcss-unique-selectors@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" + integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^5.2.17: + version "5.2.18" + resolved "https://registry.npmmirror.com/postcss/-/postcss-5.2.18.tgz" + integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg== + dependencies: + chalk "^1.1.3" + js-base64 "^2.1.9" + source-map "^0.5.6" + supports-color "^3.2.3" + +postcss@^7.0.32, postcss@^7.0.36: + version "7.0.39" + resolved "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^8.0.9, postcss@^8.1.10, postcss@^8.2.6, postcss@^8.3.5, postcss@^8.4.19, postcss@^8.4.21: + version "8.4.21" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz" + integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +posthtml-parser@^0.2.0, posthtml-parser@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/posthtml-parser/-/posthtml-parser-0.2.1.tgz" + integrity sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw== + dependencies: + htmlparser2 "^3.8.3" + isobject "^2.1.0" + +posthtml-rename-id@^1.0: + version "1.0.12" + resolved "https://registry.npmmirror.com/posthtml-rename-id/-/posthtml-rename-id-1.0.12.tgz" + integrity sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw== + dependencies: + escape-string-regexp "1.0.5" + +posthtml-render@^1.0.5, posthtml-render@^1.0.6: + version "1.4.0" + resolved "https://registry.npmmirror.com/posthtml-render/-/posthtml-render-1.4.0.tgz" + integrity sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw== + +posthtml-svg-mode@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz" + integrity sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ== + dependencies: + merge-options "1.0.1" + posthtml "^0.9.2" + posthtml-parser "^0.2.1" + posthtml-render "^1.0.6" + +posthtml@^0.9.2: + version "0.9.2" + resolved "https://registry.npmmirror.com/posthtml/-/posthtml-0.9.2.tgz" + integrity sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q== + dependencies: + posthtml-parser "^0.2.0" + posthtml-render "^1.0.5" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +"prettier@^1.18.2 || ^2.0.0", prettier@^2.4.1: + version "2.8.1" + resolved "https://registry.npmmirror.com/prettier/-/prettier-2.8.1.tgz" + integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg== + +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/pretty-error/-/pretty-error-4.0.0.tgz" + integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== + dependencies: + lodash "^4.17.20" + renderkid "^3.0.0" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npmmirror.com/process/-/process-0.11.10.tgz" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +progress-webpack-plugin@^1.0.12: + version "1.0.16" + resolved "https://registry.npmmirror.com/progress-webpack-plugin/-/progress-webpack-plugin-1.0.16.tgz" + integrity sha512-sdiHuuKOzELcBANHfrupYo+r99iPRyOnw15qX+rNlVUqXGfjXdH4IgxriKwG1kNJwVswKQHMdj1hYZMcb9jFaA== + dependencies: + chalk "^2.1.0" + figures "^2.0.0" + log-update "^2.3.0" + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.npmmirror.com/progress/-/progress-2.0.3.tgz" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +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" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.npmmirror.com/punycode/-/punycode-2.1.1.tgz" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +q@^1.5.1: + version "1.5.1" + resolved "https://registry.npmmirror.com/q/-/q-1.5.1.tgz" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +query-string@^4.3.2: + version "4.3.4" + resolved "https://registry.npmmirror.com/query-string/-/query-string-4.3.4.tgz" + integrity sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q== + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/quick-lru/-/quick-lru-4.0.1.tgz" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.1.tgz" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.1.1, read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0: + version "3.6.0" + resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.0.tgz" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.0.1: + version "2.3.7" + resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.7.tgz" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + 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" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-transform@^0.15.1: + version "0.15.1" + resolved "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz" + integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/regex-not/-/regex-not-1.0.2.tgz" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpp@^3.1.0, regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +regexpu-core@^5.2.1: + version "5.2.2" + resolved "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.2.2.tgz" + integrity sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsgen "^0.7.1" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsgen@^0.7.1: + version "0.7.1" + resolved "https://registry.npmmirror.com/regjsgen/-/regjsgen-0.7.1.tgz" + integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz" + integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== + +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/renderkid/-/renderkid-3.0.0.tgz" + integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^6.0.1" + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.npmmirror.com/repeat-element/-/repeat-element-1.1.4.tgz" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npmmirror.com/repeat-string/-/repeat-string-1.6.1.tgz" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-from@5.0.0, resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-global@1.0.0, resolve-global@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/resolve-global/-/resolve-global-1.0.0.tgz" + integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw== + dependencies: + global-dirs "^0.1.1" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz" + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== + +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-2.0.0.tgz" + integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npmmirror.com/ret/-/ret-0.1.15.tgz" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rimraf@~2.6.2: + version "2.6.3" + resolved "https://registry.npmmirror.com/rimraf/-/rimraf-2.6.3.tgz" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + +run-async@^2.2.0: + version "2.4.1" + resolved "https://registry.npmmirror.com/run-async/-/run-async-2.4.1.tgz" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-parallel@^1.1.9: + 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" + +rxjs@^6.4.0: + version "6.6.7" + resolved "https://registry.npmmirror.com/rxjs/-/rxjs-6.6.7.tgz" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/safe-regex/-/safe-regex-1.1.0.tgz" + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sass-loader@^12.0.0: + version "12.6.0" + resolved "https://registry.npmmirror.com/sass-loader/-/sass-loader-12.6.0.tgz" + integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + +sass@^1.32.7: + version "1.57.1" + resolved "https://registry.npmmirror.com/sass/-/sass-1.57.1.tgz" + integrity sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.0.tgz" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.1.tgz" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.1.tgz" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.0.tgz" + integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.8.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.0.0" + +screenfull@^6.0.2: + version "6.0.2" + resolved "https://registry.npmmirror.com/screenfull/-/screenfull-6.0.2.tgz" + integrity sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw== + +scule@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/scule/-/scule-1.0.0.tgz" + integrity sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ== + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.1.1.tgz" + integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== + dependencies: + node-forge "^1" + +"semver@2 || 3 || 4 || 5", semver@^5.5.0: + version "5.7.1" + resolved "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.3.7: + version "7.3.7" + resolved "https://registry.npmmirror.com/semver/-/semver-7.3.7.tgz" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: + version "7.3.8" + resolved "https://registry.npmmirror.com/semver/-/semver-7.3.8.tgz" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.npmmirror.com/send/-/send-0.18.0.tgz" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + 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" + +serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.1.tgz" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + 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" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/set-value/-/set-value-2.0.1.tgz" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-1.0.0.tgz" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.7.3: + version "1.7.4" + resolved "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.7.4.tgz" + integrity sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw== + +shvl@^2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/shvl/-/shvl-2.0.3.tgz" + integrity sha512-V7C6S9Hlol6SzOJPnQ7qzOVEWUQImt3BNmmzh40wObhla3XOYMe4gGiYzLrJd5TFa+cI2f9LKIRJTTKZSTbWgw== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sirv@^1.0.7: + version "1.0.19" + resolved "https://registry.npmmirror.com/sirv/-/sirv-1.0.19.tgz" + integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== + dependencies: + "@polka/url" "^1.0.0-next.20" + mrmime "^1.0.0" + totalist "^1.0.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.npmmirror.com/snapdragon/-/snapdragon-0.8.2.tgz" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.1.tgz" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.1.1.tgz" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.12" + resolved "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz" + integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + 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" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + 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" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.npmmirror.com/split-string/-/split-string-3.1.0.tgz" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.npmmirror.com/split2/-/split2-3.2.2.tgz" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.npmmirror.com/ssri/-/ssri-8.0.1.tgz" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.npmmirror.com/static-extend/-/static-extend-0.1.2.tgz" + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" + integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== + +string-width@^2.1.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/string-width/-/string-width-2.1.1.tgz" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-4.0.0.tgz" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.1.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/strip-eof/-/strip-eof-1.0.0.tgz" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/strip-indent/-/strip-indent-2.0.0.tgz" + integrity sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-literal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/strip-literal/-/strip-literal-1.0.0.tgz" + integrity sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ== + dependencies: + acorn "^8.8.1" + +style-value-types@5.1.2, style-value-types@^5.1.0: + version "5.1.2" + resolved "https://registry.npmmirror.com/style-value-types/-/style-value-types-5.1.2.tgz" + integrity sha512-Vs9fNreYF9j6W2VvuDTP7kepALi7sk0xtk2Tu8Yxi9UoajJdEVpNpCov0HsLTqXvNGKX+Uv09pkozVITi1jf3Q== + dependencies: + hey-listen "^1.0.8" + tslib "2.4.0" + +stylehacks@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/stylehacks/-/stylehacks-5.1.1.tgz" + integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== + dependencies: + browserslist "^4.21.4" + postcss-selector-parser "^6.0.4" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz" + integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== + +supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-3.2.3.tgz" + integrity sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A== + dependencies: + has-flag "^1.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.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" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-baker-runtime@^1.4.7: + version "1.4.7" + resolved "https://registry.npmmirror.com/svg-baker-runtime/-/svg-baker-runtime-1.4.7.tgz" + integrity sha512-Zorfwwj5+lWjk/oxwSMsRdS2sPQQdTmmsvaSpzU+i9ZWi3zugHLt6VckWfnswphQP0LmOel3nggpF5nETbt6xw== + dependencies: + deepmerge "1.3.2" + mitt "1.1.2" + svg-baker "^1.7.0" + +svg-baker@^1.5.0, svg-baker@^1.7.0: + version "1.7.0" + resolved "https://registry.npmmirror.com/svg-baker/-/svg-baker-1.7.0.tgz" + integrity sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg== + dependencies: + bluebird "^3.5.0" + clone "^2.1.1" + he "^1.1.1" + image-size "^0.5.1" + loader-utils "^1.1.0" + merge-options "1.0.1" + micromatch "3.1.0" + postcss "^5.2.17" + postcss-prefix-selector "^1.6.0" + posthtml-rename-id "^1.0" + posthtml-svg-mode "^1.0.3" + query-string "^4.3.2" + traverse "^0.6.6" + +svg-sprite-loader@^6.0.11: + version "6.0.11" + resolved "https://registry.npmmirror.com/svg-sprite-loader/-/svg-sprite-loader-6.0.11.tgz" + integrity sha512-TedsTf8wsHH6HgdwKjUveDZRC6q5gPloYV8A8/zZaRWP929J7x6TzQ6MvZFl+YYDJuJ0Akyuu/vNVJ+fbPuYXg== + dependencies: + bluebird "^3.5.0" + deepmerge "1.3.2" + domready "1.0.8" + escape-string-regexp "1.0.5" + loader-utils "^1.1.0" + svg-baker "^1.5.0" + svg-baker-runtime "^1.4.7" + url-slug "2.0.0" + +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz" + integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA== + +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.npmmirror.com/svgo/-/svgo-2.8.0.tgz" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + 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" + +table@^6.0.9: + version "6.8.1" + resolved "https://registry.npmmirror.com/table/-/table-6.8.1.tgz" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +tailwindcss@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz" + integrity sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ== + dependencies: + arg "^5.0.2" + chokidar "^3.5.3" + color-name "^1.1.4" + detective "^5.2.1" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.2.12" + glob-parent "^6.0.2" + is-glob "^4.0.3" + lilconfig "^2.0.6" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.0.9" + postcss-import "^14.1.0" + postcss-js "^4.0.0" + postcss-load-config "^3.1.4" + postcss-nested "6.0.0" + postcss-selector-parser "^6.0.11" + postcss-value-parser "^4.2.0" + quick-lru "^5.1.1" + resolve "^1.22.1" + +tapable@^1.0.0: + version "1.1.3" + resolved "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +temp@^0.9.0: + version "0.9.4" + resolved "https://registry.npmmirror.com/temp/-/temp-0.9.4.tgz" + integrity sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA== + dependencies: + mkdirp "^0.5.1" + rimraf "~2.6.2" + +terser-webpack-plugin@^5.1.1, terser-webpack-plugin@^5.1.3: + version "5.3.6" + resolved "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz" + integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== + dependencies: + "@jridgewell/trace-mapping" "^0.3.14" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" + terser "^5.14.1" + +terser@^5.10.0, terser@^5.14.1: + version "5.16.1" + resolved "https://registry.npmmirror.com/terser/-/terser-5.16.1.tgz" + integrity sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + +text-extensions@^1.0.0: + version "1.9.0" + resolved "https://registry.npmmirror.com/text-extensions/-/text-extensions-1.9.0.tgz" + integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.npmmirror.com/thenify-all/-/thenify-all-1.6.0.tgz" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.npmmirror.com/thenify/-/thenify-3.3.1.tgz" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +thread-loader@^3.0.0: + version "3.0.4" + resolved "https://registry.npmmirror.com/thread-loader/-/thread-loader-3.0.4.tgz" + integrity sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA== + 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" + +through2@^4.0.0: + version "4.0.2" + resolved "https://registry.npmmirror.com/through2/-/through2-4.0.2.tgz" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +"through@>=2.2.7 <3", through@^2.3.6: + version "2.3.8" + resolved "https://registry.npmmirror.com/through/-/through-2.3.8.tgz" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/to-object-path/-/to-object-path-0.3.0.tgz" + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz" + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +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" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1: + version "3.0.2" + resolved "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +totalist@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/totalist/-/totalist-1.1.0.tgz" + integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +traverse@^0.6.6: + version "0.6.7" + resolved "https://registry.npmmirror.com/traverse/-/traverse-0.6.7.tgz" + integrity sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-3.0.1.tgz" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +ts-loader@^9.2.5: + version "9.4.2" + resolved "https://registry.npmmirror.com/ts-loader/-/ts-loader-9.4.2.tgz" + integrity sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + +ts-node@^10.8.1: + version "10.9.1" + resolved "https://registry.npmmirror.com/ts-node/-/ts-node-10.9.1.tgz" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tslib@2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz" + integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== + +tslib@2.4.0: + version "2.4.0" + resolved "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + +tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.3: + version "2.4.1" + resolved "https://registry.npmmirror.com/tslib/-/tslib-2.4.1.tgz" + integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.18.1.tgz" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typescript@^4.6.4: + version "4.9.4" + resolved "https://registry.npmmirror.com/typescript/-/typescript-4.9.4.tgz" + integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== + +typescript@~4.5.5: + version "4.5.5" + resolved "https://registry.npmmirror.com/typescript/-/typescript-4.5.5.tgz" + integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== + +ufo@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/ufo/-/ufo-1.0.1.tgz" + integrity sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +unidecode@0.1.8: + version "0.1.8" + resolved "https://registry.npmmirror.com/unidecode/-/unidecode-0.1.8.tgz" + integrity sha512-SdoZNxCWpN2tXTCrGkPF/0rL2HEq+i2gwRG1ReBvx8/0yTzC3enHfugOf8A9JBShVwwrRIkLX0YcDUGbzjbVCA== + +unimport@^1.0.2: + version "1.2.0" + resolved "https://registry.npmmirror.com/unimport/-/unimport-1.2.0.tgz" + integrity sha512-yMok/ubppurBE7Png1QH70Om96AxIoWCcfdxW3J/pziozShMc1UGpPgWpSckfo9ndAO5M74yNnRDdLAZy/gWQg== + dependencies: + "@rollup/pluginutils" "^5.0.2" + escape-string-regexp "^5.0.0" + fast-glob "^3.2.12" + local-pkg "^0.4.2" + magic-string "^0.27.0" + mlly "^1.0.0" + pathe "^1.0.0" + pkg-types "^1.0.1" + scule "^1.0.0" + strip-literal "^1.0.0" + unplugin "^1.0.1" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/union-value/-/union-value-1.0.1.tgz" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +unplugin-auto-import@^0.12.1: + version "0.12.1" + resolved "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.12.1.tgz" + integrity sha512-J/3ZORq5YGKG+8D5vLLOgqaHNK77izlVN07mQ752yRLqBNDbJiwPRSnUwwYqH5N6rDay1SqnJCHaUdbJ9QMI2w== + dependencies: + "@antfu/utils" "^0.7.2" + "@rollup/pluginutils" "^5.0.2" + local-pkg "^0.4.2" + magic-string "^0.27.0" + unimport "^1.0.2" + unplugin "^1.0.1" + +unplugin-combine@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/unplugin-combine/-/unplugin-combine-0.6.0.tgz" + integrity sha512-cZkTg2Z3CcScyRi6QtpVxBZoCMsPaEHyKNh7HyqMkfWV7sKNwHllYezVOFINOGNzqSS1+xWLY3iDCiTVoH3oaA== + dependencies: + "@antfu/utils" "^0.7.2" + unplugin "^1.0.1" + +unplugin-vue-components@^0.22.12: + version "0.22.12" + resolved "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.22.12.tgz" + integrity sha512-FxyzsuBvMCYPIk+8cgscGBQ345tvwVu+qY5IhE++eorkyvA4Z1TiD/HCiim+Kbqozl10i4K+z+NCa2WO2jexRA== + dependencies: + "@antfu/utils" "^0.7.2" + "@rollup/pluginutils" "^5.0.2" + chokidar "^3.5.3" + debug "^4.3.4" + fast-glob "^3.2.12" + local-pkg "^0.4.2" + magic-string "^0.27.0" + minimatch "^5.1.1" + resolve "^1.22.1" + unplugin "^1.0.1" + +unplugin-vue-define-options@1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/unplugin-vue-define-options/-/unplugin-vue-define-options-1.2.1.tgz" + integrity sha512-ximwYzxHislX5nC4ZgD4ee6qrhzY65IhnhfzpzouY9mzbBDoEFUEVizVfvm+j4XBTtLXDloUuoVZhuqYdPfRTg== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/common" "~1.0.0" + ast-walker-scope "^0.4.0" + unplugin "^1.0.1" + +unplugin-vue-macros@^1.7.3: + version "1.7.3" + resolved "https://registry.npmmirror.com/unplugin-vue-macros/-/unplugin-vue-macros-1.7.3.tgz" + integrity sha512-HJ1cA0NiJIPbfDIaYZf+KgJ65nof8LMdU187ZrKUckNQwrmE92ySboc/4LP0Dzo+Yw6XPQ2kNECwVwqyp0VAcQ== + dependencies: + "@rollup/pluginutils" "^5.0.2" + "@vue-macros/better-define" "1.3.1" + "@vue-macros/common" "1.0.0" + "@vue-macros/define-model" "1.3.1" + "@vue-macros/define-props" "0.3.1" + "@vue-macros/define-props-refs" "0.2.0" + "@vue-macros/define-render" "1.2.1" + "@vue-macros/define-slots" "0.2.1" + "@vue-macros/export-props" "0.2.0" + "@vue-macros/hoist-static" "1.2.0" + "@vue-macros/named-template" "0.2.1" + "@vue-macros/reactivity-transform" "0.2.2" + "@vue-macros/setup-block" "0.1.0" + "@vue-macros/setup-component" "0.15.1" + "@vue-macros/setup-sfc" "0.14.0" + "@vue-macros/short-emits" "1.2.1" + unplugin-combine "^0.6.0" + unplugin-vue-define-options "1.2.1" + +unplugin@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/unplugin/-/unplugin-1.0.1.tgz" + integrity sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA== + dependencies: + acorn "^8.8.1" + chokidar "^3.5.3" + webpack-sources "^3.2.3" + webpack-virtual-modules "^0.5.0" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/unset-value/-/unset-value-1.0.0.tgz" + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +update-browserslist-db@^1.0.9: + version "1.0.10" + resolved "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/urix/-/urix-0.1.0.tgz" + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== + +url-slug@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/url-slug/-/url-slug-2.0.0.tgz" + integrity sha512-aiNmSsVgrjCiJ2+KWPferjT46YFKoE8i0YX04BlMVDue022Xwhg/zYlnZ6V9/mP3p8Wj7LEp0myiTkC/p6sxew== + dependencies: + unidecode "0.1.8" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.npmmirror.com/use/-/use-3.1.1.tgz" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +user-home@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/user-home/-/user-home-2.0.0.tgz" + integrity sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ== + dependencies: + os-homedir "^1.0.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utila@~0.4: + version "0.4.0" + resolved "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz" + integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vue-demi@*: + version "0.13.11" + resolved "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz" + integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A== + +vue-eslint-parser@^8.0.0, vue-eslint-parser@^8.0.1: + version "8.3.0" + resolved "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz" + integrity sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g== + dependencies: + debug "^4.3.2" + eslint-scope "^7.0.0" + eslint-visitor-keys "^3.1.0" + espree "^9.0.0" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^7.3.5" + +vue-hot-reload-api@^2.3.0: + version "2.3.4" + resolved "https://registry.npmmirror.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz" + integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== + +vue-i18n@^9.2.2: + version "9.2.2" + resolved "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz" + integrity sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ== + dependencies: + "@intlify/core-base" "9.2.2" + "@intlify/shared" "9.2.2" + "@intlify/vue-devtools" "9.2.2" + "@vue/devtools-api" "^6.2.1" + +vue-loader@^17.0.0: + version "17.0.1" + resolved "https://registry.npmmirror.com/vue-loader/-/vue-loader-17.0.1.tgz" + integrity sha512-/OOyugJnImKCkAKrAvdsWMuwoCqGxWT5USLsjohzWbMgOwpA5wQmzQiLMzZd7DjhIfunzAGIApTOgIylz/kwcg== + dependencies: + chalk "^4.1.0" + hash-sum "^2.0.0" + loader-utils "^2.0.0" + +vue-property-decorator@^9.1.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/vue-property-decorator/-/vue-property-decorator-9.1.2.tgz#266a2eac61ba6527e2e68a6933cfb98fddab5457" + integrity sha512-xYA8MkZynPBGd/w5QFJ2d/NM0z/YeegMqYTphy7NJQXbZcuU6FC6AOdUAcy4SXP+YnkerC6AfH+ldg7PDk9ESQ== + +vue-router@^4.0.3: + version "4.1.6" + resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.1.6.tgz" + integrity sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ== + dependencies: + "@vue/devtools-api" "^6.4.5" + +vue-style-loader@^4.1.0, vue-style-loader@^4.1.3: + version "4.1.3" + resolved "https://registry.npmmirror.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz" + integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg== + dependencies: + hash-sum "^1.0.2" + loader-utils "^1.0.2" + +vue-template-es2015-compiler@^1.9.0: + version "1.9.1" + resolved "https://registry.npmmirror.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz" + integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== + +vue@^3.2.13: + version "3.2.45" + resolved "https://registry.npmmirror.com/vue/-/vue-3.2.45.tgz" + integrity sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA== + dependencies: + "@vue/compiler-dom" "3.2.45" + "@vue/compiler-sfc" "3.2.45" + "@vue/runtime-dom" "3.2.45" + "@vue/server-renderer" "3.2.45" + "@vue/shared" "3.2.45" + +vuex-persistedstate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/vuex-persistedstate/-/vuex-persistedstate-4.1.0.tgz" + integrity sha512-3SkEj4NqwM69ikJdFVw6gObeB0NHyspRYMYkR/EbhR0hbvAKyR5gksVhtAfY1UYuWUOCCA0QNGwv9pOwdj+XUQ== + dependencies: + deepmerge "^4.2.2" + shvl "^2.0.3" + +vuex@^4.0.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/vuex/-/vuex-4.1.0.tgz" + integrity sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ== + dependencies: + "@vue/devtools-api" "^6.0.0-beta.11" + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webpack-bundle-analyzer@^4.4.0: + version "4.7.0" + resolved "https://registry.npmmirror.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz" + integrity sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg== + dependencies: + acorn "^8.0.4" + acorn-walk "^8.0.0" + chalk "^4.1.0" + commander "^7.2.0" + gzip-size "^6.0.0" + lodash "^4.17.20" + opener "^1.5.2" + sirv "^1.0.7" + ws "^7.3.1" + +webpack-chain@^6.5.1: + version "6.5.1" + resolved "https://registry.npmmirror.com/webpack-chain/-/webpack-chain-6.5.1.tgz" + integrity sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA== + dependencies: + deepmerge "^1.5.2" + javascript-stringify "^2.0.1" + +webpack-dev-middleware@^5.3.1: + version "5.3.3" + resolved "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^4.7.3: + version "4.11.1" + resolved "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz" + integrity sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw== + 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.1" + 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" + 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.4.2" + +webpack-merge@^5.7.3: + version "5.8.0" + resolved "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.8.0.tgz" + integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== + dependencies: + clone-deep "^4.0.1" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + 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@^0.4.2: + version "0.4.6" + resolved "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz" + integrity sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA== + +webpack-virtual-modules@^0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz" + integrity sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw== + +webpack@^5.54.0: + version "5.75.0" + resolved "https://registry.npmmirror.com/webpack/-/webpack-5.75.0.tgz" + integrity sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ== + 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" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-fetch@^3.6.2: + version "3.6.2" + resolved "https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz" + integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.npmmirror.com/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/wildcard/-/wildcard-2.0.0.tgz" + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz" + integrity sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@^7.3.1: + version "7.5.9" + resolved "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +ws@^8.4.2: + version "8.11.0" + resolved "https://registry.npmmirror.com/ws/-/ws-8.11.0.tgz" + integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== + +xtend@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^20.2.2, yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^16.0.0: + version "16.2.0" + resolved "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + 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" + +yargs@^17.0.0: + version "17.6.2" + resolved "https://registry.npmmirror.com/yargs/-/yargs-17.6.2.tgz" + integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/yn/-/yn-3.1.1.tgz" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yorkie@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/yorkie/-/yorkie-2.0.0.tgz" + integrity sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw== + dependencies: + execa "^0.8.0" + is-ci "^1.0.10" + normalize-path "^1.0.0" + strip-indent "^2.0.0" + +zrender@5.4.1: + version "5.4.1" + resolved "https://registry.npmjs.org/zrender/-/zrender-5.4.1.tgz" + integrity sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA== + dependencies: + tslib "2.3.0" diff --git a/server/.gitignore b/server/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/server/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/server/.mvn/wrapper/maven-wrapper.jar b/server/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..c1dd12f17644411d6e840bd5a10c6ecda0175f18 GIT binary patch literal 58727 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%0ANsA|A3-jj|r`KAo%oTajX3>^E` zq{Nq+*dAH{EQyjZw_d4E!54gka%phEHEm}XI5o%$)&Z+*4qj<_EChj#X+kA1t|O3V@_RzoBA(&rgxwAF+zhjMY6+Xi>tw<6k+vgz=?DPJS^! zei4z1%+2HDqt}Ow+|2v^3IZQkTR<&IRxc0IZ_-Di>CErQ+oFQ~G{;lJSzvh9rKkAiSGHlAB$1}ZRdR^v zs2OS)Pca>Ap(RaSs7lM2GfJ#%F`}$!)K4#RaGJ_tY}6PMzY{5uHi}HjU>Qb~wlXQ) zdd(`#gdDgN_cat+Q#1q&iH{`26k}U3UR5(?FXM>Jm{W%IKpM4Jo{`3aEHN)XI&Bwx zs}a_P|M)fwG1Tybl)Rkw#D__n_uM+eDn*}}uN4z)3dq)U)n>pIk&pbWpPt@TXlB?b z8AAgq!2_g-!QL>xdU4~4f6CB06j6@M?60$f;#gpb)X1N0YO*%fw2W`m=M@%ZGWPx; z)r*>C$WLCDX)-_~S%jEx%dBpzU6HNHNQ%gLO~*egm7li)zfi|oMBt1pwzMA$x@ zu{Ht#H}ZBZwaf0Ylus3KCZ*qfyfbTUYGuOQI9>??gLrBPf-0XB84}sCqt5Q(O$M& zoJ+1hx4Wp#z?uex+Q1crm2ai?kci;AE!yriBr}c@tQdCnhs$P-CE8jdP&uriF`WFt>D9wO9fCS0WzaqUKjV_uRWg>^hIC!n-~q=1K87NAECZb^W?R zjbI&9pJ)4SSxiq06Zasv*@ATm7ghLgGw3coL-dn6@_D-UhvwPXC3tLC)q3xA2`^D{ z&=G&aeSCN)6{2W6l@cg&2`cCja~D2N{_>ZQ)(5oSf!ns1i9szOif~I8@;2b)f2yQ5 zCqr{lGy5(^+d!<0g??wFzH^wuv=~0)g55&^7m8Ptk3y$OU|eI7 zIovLvNCoY%N(aW#=_C%GDqEO|hH3O9&iCp+LU=&CJ(=JYDGI;&ag&NKq}d;B`TonC zK+-t8V5KjcmDyMR@jvDs|7lkga4>TQej$5B+>A`@{zE&?j-QbQWk4J*eP2@%RzQ{J z?h`1~zwArwi^D7k9~%xtyf(2&$=GsP*n-fTKneej-y6y(3nNfC7|0{drDx{zz~cSs z<_+d2#ZDst@+`w{mwzmn?dM2aB;E;bS-Opq$%w@WnDwa$hUGL90u9c=as)+_6aO10 zLR|CR8nr<2DQTvkaH0QDsyn@TYCs7Nk3lN}Ix$)JM0*zf=0Ad$w9j723W#%{r8V&`{wx-8kSv#)mZ{FU%UZDIi zvbgLHyJ>z0BZe`GNM$Q;D6D48#zc9s(4^SGr>u-arE}okN62N{zuwX)@FL5>$ib=b z5Wtm~!ojD3X|g59lw%^hE?dL;c^bgVtBOkJxQR{Eb*nR1wVM&fJQ{<))bn9e3bSlu z3E-qpLbAE(S^I4mVn`?lycoV!yO!Qj_4qYgsg7tXR)Gu2%1)5FZu&lY7x>bU`eE}x zSZ5c`z~^&$9V?eEH!^Rp-Fz3WiCvEgf`Tq}CnWRZY+@jZ{2NewmyGUM6|xa3Sh7)v zj6d&NWUVqu9f-&W)tQ>Y%Ea!e76@y!Vm*aQp|wU5u<%knNvHZ!U}`fp*_)mIWba=j z*w9~{f5pD;zCmEWePjM#ERNiNjv!SnM-&rGpB9Nmiv}J+hwB&0f_+x?%*lgJFRHsqfFDPwyvh8<*xLT0u_BeEHw{q+UGj=$4udEx)Vq#sV zKB3+_C!RUKy?ac3-`+}dL2!D_2(5=8&@hBf`-AbU`-<_3>Ilqkg6qSI>9G(@Kx?g<0h0K&31$AR>R%d}{%DyXPss$&c^ja7NR z$0AN7Fl$>VpGxqHW15CjxAa6DUVmCpQNbOwBv8D^Y{bXg28> zEQE9xl?CWh0gS6%Y=G4Cy($Vb>jBb2f_dm#0_B<_Ce`|~Obt_Xp^nkR zK%o_`{h1XkWn}i|5Dp#q8D(;k;2|+{DAG{2gJgPNQ=KZ=FKY@d>QEu6W;oLsE(1}< zpnwSEj(K{Bu^#CXdi7L_$!X`QOx^tA1c{&-XTHo3G?3(H*&VM~*Aud?8%FU=dE&kV zJ$SqZoj^g@(q9x;7B30J$(-qUml{?3e+I^Cf?X0PpLr}m zS}W9`QaCwINRU&D5>j9O*j6S}R1`7{5+{d-xUlI~)U!^4+*b5tkuon-Msz03Z{{Kp zH!GAXoyr#1K;t5o#h#a%Lzj3XQGqM0TRnfu$(fsQe^wb_?W!m!+7r55q>svWN`k~T zS(gk9bi|@+8wg;dR<&0f;MpwQbY27$N{{laPQk3@3uCz$w1&jq)`uW*yn!Pe-V^%Q zR9)cW;UB~ODlwolWFAX?ik#_|v)AtHNwoq72E9Jg#v2e5SErf+7nTleI8&}%tn6hf zuz#5YtRs94Ui&E_1PakHfo+^t-{#ewhO*j5ls-zhm^C{kCARNEB1aORsxE!1SXBRz z6Oc-^#|0W6=7AJ;I|}pH#qby@i^C+Vsu9?zdtkE{0`oO_Hw|N=Lz9Is8j}R zI+8thGK?(KSZ5ZW4nQG1`v(=0Jd*0gIlavVihzo#fPaa=}(Rqdxl3^6O8K+{MqU`;1iTJ$<^k)Nms(A$j?A-wHJKvh9 zUHW3}JkE;x?FETPV8DFTxFLY8eSAd%C8vp?P_EuaMakmyFN_e?Hf|LBctnncUb}zF zIGP4WqtKCydoov~Bi<_I%y%$l+})!;SQVcP?>)9wM3q-GE6t9*LfoePBlo{gx~~e{g_XM5PQ8Y5dsuG%3Xq}I&qcY6 zTCo?<6E%)O$A2torq3-g8j3?GGd){+VHg@gM6Kw|E($M9}3HVIyL1D9321C zu#6~~h<<*=V7*ria%j^d5A;S^E;n!mOnFppfi+4)!BQ@#O2<|WH$RS~)&2Qol|@ff zFR#zmU(|jaqCXPA@q?UhrgbMO7zNXQYA@8$E+;4Bz7g=&zV-)=&08J_noLAz#ngz$ zA)8L8MrbXIDZuFsR_M(DsdX)s$}yH!*bLr{s$YWl5J?alLci=I#p`&MbL4`5bC}=2 z^8-(u4v2hs9*us}hjB!uiiY6vvv&QWJcVLTJ=SFG=lpR+S4Cd91l}oZ+B-*ehY2Ic_85)SRSa% zMEL~a3xrvH8ZnMIC!{9@pfOT7lrhxMf^8N20{CJXg}M35=`50S;6g-JYwjwj!K{^) z5Bohf6_G6z=+0V8&>F8xLbJ4mkCVu^g66#h&?tL z9odv&iW21IAh~y9D-DupKP-NcernF2(*RsFkAsM<$<>@-Cl1?&XAi4+Mh2Zm@2x#u zWH&J^1=8G|`|H2%94bnjUZyI>QACu9FS}^$lbtzzCz4AMspqGYEwFFM<%G!Oc$+;7 z3r_L!H~PR}5n8+3-&4v*fFr$uK{y_VamM0*TKn^))nQsn5U?7Iv?`4|Oy&m6himAG z%=a;2ji3f_RtDPqkwR>ISxhnS0f)E`ITo}TR!zIxPwECZy#jzo%q{BNYtd!<IP_S+=*yDOk1GgwLqe!d9esV@3$iVAm1!8RoE| zqnTz;5a)B(~~KcP)c>?+ysFAlAGF4EBor6)K{K*Kn>B(&QtMAkR^ynG%k%UbJpKM zI$}qQXXP3PISHe_vTFssbcL`irhG2zN7J((3ZFmh*bnPuiK~=#YG=820hXqOON#HI<0bvIT{z&SaqRvqaMG-d5<06zdP?-kIH{%UMR$Xn@S}Hx3 zFjg}6no}vN_512D+RIn-mo9^_Li-)WI5%VigYt{Jd!RyI%d|-LqJU$y3aJ*a$y6$1 zjyTuIF2&t>1rPlw&k5OVLhrYBvk5Vl8T(*Gd?Alqi}> z<@-`X_o@9EOB8Ik&?|;lvKHFU@#O+?T!kEf&oJUaLzN;>!}!!e1WIs(T}V#Irf$AK z42`x`z-9ogxd@%CS;D5S z2M^b;Pu)q)c&_KBO!va-4xnI57L7V@*_I_r4vU)z>xk5z6PDVqg92R7_iZH|VlO_B z#8R`5HZVn?ou>czd>gZ~s;w4ZkzVXJNP8FiezlB5JXe6Z-OLsDw%N7!(135!Vl2Lb zLYI79?U{h#W-_#W6hf`<$BQHJCu5ehv?IF+-uxUqt~j!ZW1cxfiEJal^q7~RMWQ0a z2CEaPa1_p|P6qRmmeKgas*N}@(2tH%U37-<5i(DSnVOFFxg-Sv%7&{hPeRh{U`&ufGz=V|JdYQ2sG5 zk%3JimSwQFP=Yr?u_beSG^B$nnh$4hrxb4lpTTiUFRQEZ3ulr+L3m;>;Io?D;jG6Wjj!b)nsZds<6 zX@cD%+aVr!ra~F7HYr`TB!|y-t)HSb^FQt zbo+_XP44IWJGGxg73JyhBjKMSv`77ngDOw}6Eve6ZIol$Q5s65d(1-sP{BU{1_y)7 zF8sh5A~jxRHk=wq3c5i3*e&otCd9>cstT?IQ&D4slC-&^q!ut1;WAQ}fE}Y+jU}r{ zmpSI%sW?})RAm8}$WUU+V$PmQOF5gSKOGQ2;LF-E(gd<67rYu2K| zom8mOppa%XJ6C(@I7-*opqLn73e9BMFStaBER?suJ{jte1$vA%z?$_`Em=a=(?T-q z*A=VZOQ`P{co!*UUKyV@Rd-c#*wmb7v<%rN=TGFmWmqhbj#&+?X|3bZYAjbNGTv~O zs7SIYi3VgW6@?=PGnbNNZIWaY^*+ChW&a)A$uqH8xxehwx2`<1w6mag?zuHbsVJiO$a)tQ zuBBoR>rLfhpA@)Qf`8BwRMx886%9HP5rOR%YCy9pQ|^Xw!=Mcnwx8j=(ZE)P-tJ&s zON&Nsr%14jS@K+IvrJj720NkCR*C(j&aI$EFCV)w$9M<#LdihyRKdzTjJPI|t9_S} z--#oF#;F?Y1KN%_yE);Bxv}9PWZphz_g5mReOKR`y%9UZ=n}GXWw?E$T1%NAfK1Ad z|0$Lp^;sntA>}=ybW)mkxNv1?hkZ`<8hCemcT5 zYl6$I^bhXDzPlz<>6zOy3Fu*3?>#q$;1fJ>nuxyx#&<&x6Y}j zCU&VmtCJ`;aYN+qP}nwr%s2ZQC|Z**axS^?iGu+x^{{>FIv!k0#HaXtEG=*C7kPe!mMnknbn}TKpp6Xv9 zVvq&%A3nmY^N*XTg&+=wO>(|{uTwm;ZP9@+M)6%T zwXPh-&{+aAfv^ZCzOEb;yj>A=f5Pbu)7T{9PT3u>#w*%?K8jqEF%I>A?q;E%CXn)f z|0ohNa5DMv@HVk^vT(L=HBtH*Vzo81L?)M=g7)>@j*vUx?S zxqZo23n3vn@K-Q@bx3lLT+5=fB_oz8+p?P;@*UU<-u)jb5WFEXzoc+8*EC5P6(HWr zY$mfFr=L&G>(jvl8US2fLQqTzHtAGizfR*;W4-kN2^I>L3KkXgx=e*}+i*N($}{?c zi=Q67G)oEMW{|Gdsm{)|V)5Evo}KLj%}gIe>98FFoNTLrJX z-ACRdewnT1w#Egct%wpGg~q%?!$}>$_UJPC4SP0^)G_$d4jN0jBEx}+rcd*^aDtnx zewG{`m!oSbQ?A~FZ6L{&V0hUE+b$DxjO_;oskFha>@gzy(jDnzGO>z3Tzz|i&Dakg zFid5$;SFxINis^4JzK5XIVabKoP`=ZWp|p|t{hTi8n|#XE=-rINwJ*blo?=%Se(qw zkW7x5Qs(LV5RVGxu2e&4);c73lY#0(iZo1x=MY;7mW`uUQIY+$_PqH`4a`6O#urwU zE6(FrvyExmB{c5z*YAj_P&t??F1t6TN2N!$N#~02u(t(PDVyD)$mL3hqKQ4E91N#GOIngPr&pUb-f_Z4*XV8`p1pq+mzrUlUY=4~i|3RDo;Lo36U}uwm zaOah}mO8c@%J*~~{Up7_7->8|3x<}WemgaMA}h>xD17Fey@V9;LgjQFSBS(A<+2kCP9( zlkD%;oXzWtZ_hgu0IxeTjH`6=vi|t_04Btl32=g8swD1oZguWr4|lx0RuXoDHbh27 z+ks?gkVWYnr~_{h+PzQjQ(#8kaJai4We{F!JuqCzU0t*+H{n6i3;K<>_6XUn1n)}) zJ?}JCUPYhT9S1Hi-M+$(Z**%fz7Z%IiMN6%kD>wh%r4#C?Ge4{>w9o??Vbehy9!3@ zffZs8?LGxyWQr@yB(|%~Aa>fVj3$O=i{K*f;?h-a@-ce{(cY8qByOCA1r0;NC}}gr zcC^fCa$Ot`42n>`ehclOAqBo7L&D6Mi=;M5!pd@jj$H z?U7LQWX_u7bHpBzF7L-s4*`C)`dUrbEIgKy5=QHsi7%#&WYozvQOXrNcG{~HIIM%x zV^eEHrB=(%$-FXVCvH@A@|nvmh`|agsu9s1UhmdPdKflZa7m&1G`3*tdUI5$9Z>*F zYy|l8`o!QqR9?pP4D7|Lqz&~*Rl-kIL8%z?mi`BQh9Pk9a$Z}_#nRe4NIwqEYR(W0 z1lAKVtT#ZTXK2pwfcCP%Apfo#EVU|strP=o4bbt3j zP?k0Bn$A&Xv$GTun3!izxU#IXsK1GQt;F0k`Tglr{z>v2>gCINX!vfs`aqag!S*AG5Z`y-# zUv_u&J4r;|EA`r!-gsoYGn<^nSZLH-nj1SRGc0MRG%LWVL)PckFn9z!ebIJ}eg+ix zIJo7GN;j1s$D6!({bYW)auypcB~eAWN;vhF%(l=|RR})$TOn;ldq^@8ZPi<%Xz~{Z zQQ|KAJ@JHaX!Ka2nhP%Cb^I}V6_C|e1SjOQpcPMMwfNz#U@Az|+rmH*Zn=cYJu-KR z{>f++Z~P=jm)4-7^yc#52U4qeNcBRYb!hhT3Q7Ngu5t@CvY*ygxu^Eh?2l6= zhdqN{QEaP(!p>1p1*toD!TllHH6EH~S%l9`mG62dyAd+?}1(vf@N*x^6vhEFU<-RqS7#12*q-xtU z5d|F^n%WSAQHnm-vL)4L-VvoUVvO0kvhpIg57Wf@9p;lYS5YfrG9jtrr?E<_JL{q% z7uPQ52{)aP{7<_v^&=J)?_|}Ep*`{dH-=cDt*65^%LodzPSH@+Z~;7sAL}ZECxQv+;z*f;(?k)>-Lp@jBh9%J`XotGJO(HcJc!21iZ98g zS-O!L9vpE(xMx1mf9DIcy8J5)hGpT!o|C8H4)o-_$BR!bDb^zNiWIT6UA{5}dYySM zHQT8>e*04zk1)?F99$dp5F^2Htt*jJ=( zH(#XwfEZ`EErdI~k(THhgbwNK9a(()+Ha1EBDWVRLSB?0Q;=5Y(M0?PRJ>2M#uzuD zmf5hDxfxr%P1;dy0k|ogO(?oahcJqGgVJmb=m16RKxNU3!xpt19>sEsWYvwP{J!u& zhdu+RFZ4v8PVYnwc{fM7MuBs+CsdV}`PdHl)2nn0;J!OA&)^P23|uK)87pmdZ@8~F$W)lLA}u#meb zcl7EI?ng$CAA;AN+8y~9?aon#I*BgYxWleUO+W3YsQxAUF@2;Lu-m#U?F(tFRNIYA zvXuKXpMuxLjHEn&4;#P|=^k+?^~TbcB2pzqPMEz1N%;UDcf{z2lSiwvJs(KhoK+3^2 zfrmK%Z-ShDHo^OUl@cfy#(cE=fZvfHxbQ!Chs#(vIsL%hf55_zyx>0|h2JT=|7JWo z+Uth3y@G;48O|plybV_jER4KV{y{$yL5wc#-5H&w(6~)&1NfQe9WP99*Kc+Z^!6u7 zj`vK@fV-8(sZW=(Si)_WUKp0uKT$p8mKTgi$@k}(Ng z#xPo-5i8eZl6VB8Bk%2=&`o=v+G7g|dW47~gh}b3hDtjW%w)47v#X!VYM}Z7hG1GI zj16;ufr@1^yZ*w3R&6pB8PMbuz%kQ%r=|F4+a!Gw2RBX6RD5c!3fU@+QCq#X7W@Q5 zuVQ}Uu0dzN+2mSX5)KV%CsU;2FL%B6YT`10$8JR^#;jOO1x?t()Q_gI zxpQr2HI0_^@ge0hNt&MQAI`yJ1Zhd-fpR{rdNmRkEEDu7SpB)QOP4ajV;UBZZZK<6 zWds;!f+|}iP-kqWAH#1@QisJpjcg`+s80!LhAG@(eMad|zcln~oE8}9l5!K{^zf~( zd=HArZ5+Mryc$uNa`@|GSdOX=y}8GZc-%p8W@OM)uk2DfmhQXCU1E#y3XJ>|+XdW2 z)FQLeK38}u_D(5E{GV|YT^rI4qds2{-r<@@@@SG@u&4LbC z5o|KKqVM{?wk$5>2?t*I?IHdh~gljn_2m2zqZNJEEz4Mb$o&I3_UAg#$B{0u$uF4-q}{ zzs5+k@qOe08!CGLGmy3eRrcuqsgB*B>i8c3>3=T^Hv>nL{{u)jtNc6tLbL7KxfUr; z=Pp14Nz+ggjuwd~*oRJ)xWwGwdge+~b!E%c3Gzw6`vT>CCxE0t6v5Z`tw1oKCcm68A~Dbc zgbhP6bkWwSQ=#5EsX*O9Sm^}EwmQQzt2V2phrqqe2y)w8;|&t6W?lUSOTjeU%PKXC z3Kw$|>1YrfgUf6^)h(|d9SRFO_0&Cvpk<+i83DLS_}jgt~^YFwg0XWQSKW?cnBUVU}$R9F3Uo;N#%+js-gOY@`B4+9DH zYuN|s&@2{9&>eH?p1WVQcdDx&V(%-kz&oSSnvqzcXC3VsggWet1#~bRj5lBJDo#zF zSz))FHQd8>3iSw{63m`Pgy_jkkj9LTmJ&!J(V0E~&}HJ4@nXp<(miz$sb;(I<8s!7 zZyezu!-+X81r03486gAlx@n#aKx_93DREBtNcYln*8oliQ zbh0~SkAgHXX%C6}HwN(TRwaK2k_$Y}PxKId;jYt=S1Bf<8s@(IL?k3u1(f^V%TYO1 zA_jPf*V)SLEZFWS#y>M&p$LoSk+%ubs`)H%WEZf=F)RKh&x;i)uLIGJ94~A4m$(;S z;1rQC{m>--`WHFcaFA&5#7~vz|5S;{fB(7pPnG;@$D~C0pZYNEG?B8X*GB2e4{Qk; za1oop8OvHqs1Lk6B`AuYOv4`y`IgM315iTr{VUVc9WeOG;xE z%eDQgE4rb_B%vuT>N?^K zRvPnQwG%7RjO26+DY!OXWjgBu4^!)W-+ob_G&nX++))pD->QdRCo0spZN?Y*J#@-q z)fk-fJvZYz8)GSxYc^oXYIM;Pw}ftHW+a3dis#dXx^OS^m-~FlwcVr6MXv78fNI!i z51K-2t&!&IZ4(GF=mT@;qIp!&R(I@UiWPPz)%Us&(FdAAGxZ-+6^UZ7em`J-F#_3r zLkHym@VAnZFM$J~?0b@&O`l4YXyvOQ+OqalbZ0{g{qD{neY_xno1ZpXlSJWM=Mv(~ zvK{?O>AcXpbd}+hn{~*>weZwDTURX*M^9RkOO#DUfRW1;comKg1bn+mlsrNY8XDyW zgWg9~AWb_1^D8zsD4bL(1J4oinVy0Fimrh&AC}Itl;IH*p4eU_I;SWkOI!9tAbi3B zO@0=q#LHAc>z?ve8Q&hsF(sR9lgf_99_5Kvuug<^&0}Y&m)YjI?bITGIuh}AJO|>z zc*`Mly$>TA={AIT#d%JuMpXHDt($qkc*3UTf-wS$8^awqDD^|EAeA{FoeyJfWM@QX zk>vJ4L|8DU7jg_fB^3Qvz*V$QmDl*AXdw6@KSckh#qxjLCM8Nba!dTkJgr(S@~Z0a zt8%|W!a~3zG4Y&X6xbLtt^JK5;JT($B`_9bv(BjRTfG_Y`tg3k-}%sQoY@F|=}}${ zwmW%Ub6jPd)$;NA0=b7w!^2dE-qvI4)AVr`yvkabJcGwvuQ2rAoRlTjvCC^-$2BG} ziy0<6nt8;J67rymwm&wVZ8E7Krouv2Ir@-GQ%ui6PR42KHKms3MK&Z$zp{_XAVvrd znK4cbg)Ggh5k(4SlFOM9yyRUlVH1oo%|6Lu9%ZxZW28!c9Z%H5#E?B?7H7ulcUtirB<{s@jnS(-R@we z^R#{Mn$#JXd~5sw9rU&~e3fYTx!T&hY{S<~7hviG-T$<4OPcG6eA0KOHJbTz^(`i~ z_WON4ILDLdi}Ra@cWXKLqyd0nPi06vnrU-)-{)Xp&|2gV>E{Uc>Td`@f@=WYJYZ^- zw&+fjnmyeRoK-unBVvX>g>wO3!ey<+X#z@8GNc9MD}khMO>TV{4`z zx4%!9|H6k|Ue;`M{G6d!p#LL+_@6WMpWgF7jk*%$D_JB3c%D`~YmHRJD1UNDLh;Tf zYbbKcv9R(81c4yK+g+1Ril{5w#?E}+NVz>d@n48C-T-(L?9a9W`JV*{dan-sH*P3_Hnt~iRv)}ye;7$b}^4l%ixphDK`G#b!4R4qoouT@*A zZ)kQa)e94??k7N>tqoRl>h(9DFq&92=z|F!LJrh-97EoFL|Wt2v}>(zG1*#aiYA_^ zM_&%_G^g*O8x650e>m!#MDmwRub!irY>^^|L=!4^%lBr;?}mvgP3y~^mSdKSm^R~WAt7T0_ck0mA`GS)J^SYTo6^vQ|vuM7!92&@$BhtcQ^Z4h2)aN zh~EQthyjn1(eI~$FtuHH!|x(iHU{9k40k5nPBwB)X@8Lo$P6u81EeoNOGRct%a-LM_4y3Ts z7ki0PWAO^Es6c%M*SSRn)2|NAoUsKyL%))uVx7?5lkrk`njxs4q@M~x+8%jr7xV;- z|KC=g3aTZO|y|g~oHXB6b42(|J_&fP2Y`*;L07H2d>{~JP zFNGl$MYUG(Qy3dR?9Bfdg8#peGRiVP8VYn@)6T1bj*v)s6q*7<6P(ZVm4ZnTA;rOHSd>P`_5uT0+azWdV`gIvLaJ1o*DB}&W6LCgX|BycgF5qd z!)}dT#A~4*6{1=Bd5VV(Qa2h4x9m#2X711z(ZN>i&cn`BopG*5P`CD*HfYiQmXNGk zhgqcHPBrJP$Z@PLZ4}d-8^}%X^LtUDHq&;~3}lUyrxxl@|IS={GP&6-qq&Iy5gKW- zC@$}`EEZd}DOSeSD+v_x5r_tpBWfN0gDa21p(@TAIrgWQFo7NO@slI6XOAML_lN;3 zEv~}LlMbGWKu}0s$tO-vR)wD!=olGcA?}vU;lRu4+Zf z?nCD7hBmA5`U9P#W8-*0V1=OT-NI0k&_`UZ87DbpYq_=DBdyNDchZ<|V1f%dbaa7i zf~R+6Xt%G)VXlM@8REfP3u#7UPadWYOBMsQ56fHRv!0p9R6q>Rbx!n|IY0goLb%{+ zzy|5WXk+(d@ChzOWatIV1lc1F!(uEOfEmMd;v`|$Kt3X2Uws;%@OV!E86PN?CeHV& z=4#TX{J8RWaH`)!J<8AUs#Ar{6Am^8M{S( zc%K7y2YbcLUz+*eDTXdthNE)Lm^P&*e^eV zilOS9)TVKgr9_^_M!TJ^44v<YF2NO=h(oOr5jYxVTxWk0XJ8n0{F_SOH%49WMk*Sg7`g6B(=^< z*rLAW;8I5;1?;Fh{N=f;kxjLpj}u^mD|k8lih|G4#}wEG1j`HIG( z8y;BMR3cE01e?(+k8NLR|Z+)#>qR^iMZc=BkcixWSKYmkaHpIFN?s%*74kc&wxwB zrtbYBGz9%pvV6E(uli6j)5ir%#lQkjb3dvlX*rw5tLv#Z>OZm@`Bf2t{r>u^&lRCg z11*w4A;Lyb@q~I(UQMdvrmi=)$OCVYnk+t;^r>c#G8`h!o`YcqH8gU}9po>S=du9c*l_g~>doGE0IcWrED`rvE=z~Ywv@;O-##+DMmBR>lb!~_7 zR`BUxf?+5fruGkiwwu|HbWP^Jzui=9t^Pmg#NmGvp(?!d)5EY<%rIhD=9w5u)G z%IE9*4yz9o$1)VZJQuppnkY)lK!TBiW`sGyfH16#{EV>_Im$y783ui)a;-}3CPRt- zmxO@Yt$vIOrD}k_^|B2lDb2%nl2OWg6Y)59a?)gy#YtpS+gXx?_I|RZ&XPO`M!yl7 z;2IS@aT4!^l`Tped5UGWStOw5PrH#`=se%(ox%gmJUBk18PsN$*-J8S%r51Y$i!4N zQ!rW%cgj44jA~_x%%smSTU2WG_W0c&PB$A5*kl8{$|865+lSIX~uyDT`uI7qnS!BPAg1Wwrc0e)8Usf zv9^E38H&hWSp5!@K8Qinl|)9 zEB?NMaxZK^GB!PUf1TBw+`H&jFSNI=Q@v5$Ryf-y^#IuXO#vsM5R+9@qz#z0fD0GP z9|Hj#E>?<=HTcsF$`xn`je~D&3kF1Qi%dfH{sKh!~(IpgjkDGQn zQx2F9rv{*x2$(@P9v?|JZY)^b9cd+SO6_1#63n-HAY3fE&s(G031g2@Q^a@63@o?I zE_^r%aUvMhsOi=tkW;}Shom;+Nc%cdktxtkh|>BIneNRGIK{m_1`lDB*U=m|M^HGl zWF#z8NRBduQcF-G43k2-5YrD}6~rn2DKdpV0gD%Kl{02J{G3<4zSJ1GFFSXFehumq zyPvyjMp2SLpdE5dG#@%A>+R3%AhLAwyqxjvGd{I7J`Iw{?=KKPRzyrdFeU}Qj{rm{351DoP_;vx zMo*s+!Gwgn;${(LXXO(xyI@$ULPZI|uzYR%`>MmW6Hcr1y2aM5b$grFwW_(9Fzz$Q z$&8dKNdWvBkK=iYWA|0}s1B7>8J$g*Ij_+S9vC1#jy~uA8nr)yY)a+ zoJ=e>Lp`7v3^tQN<&6UpDi{c1b}F~fJ$9r=p=@U^J_7bOck$5}ncVjYB0yEjbWrhe@E`j64yN3X?=k_F3BalH$aN zV=94?wDNv=BKLB<1*xU|65Zl!%51r5sHQ?qCggCw;$2QfCZ$lN40WPL=n^{Prf^QS zjbZ&1MRGgiZ2T)}DpiluFr#q*!AZJ$1v#d10YQ{>wQ5px!y28-1hCZ7lwvQnQYN*U zOg9BpvB0A$WUzFs+KWk1qLiGTrDT-0>DUpFl??l(FqWVz_3_Xzqg9vTpagp- zZcJ!5W?|0G%W|AJVVHJ7`u6@<4yyqMGHj@kpv`P+LV<)%PM__Rz&oq~t-*vV12@NR zoEVPz<2D>O==MlNI`;l8Gmv49&|1`FR!}2`NLRCqA{@`imLz6zrjS4ui0)O;!Pu&?KPAcX)?tDPS26uKvR(ry(p{6kiXPoZbnQ!vx6dLu zZCaj~Ocr$h##KqsD;9;ZiUwhmUd%5lrwczWr1Yn6V>+IK=>51;N7JDkrm1NY-ZBes z;FxeOTb^HAyA+~P2}WvSSu_fzt_K=(m4wUp%c*^hF zEJ+1dP0{0B8bryXR+qApLz43iu?ga<5QQxTa$1gMCBq0W=4|DTv4nY4T*-^Im%>U~ z)98;hc(d7vk0zAML$WnPWsqK>=O-FZSLI3_WQKr*PCK=(i6LelZ$$}XXrD5cb~VXz zT%egX>8e;KZs@jcD>cL9VP(Q}b0r~ST$Mc%mr1cC8mqRUQc|N^9@Weu$Z|KeczK7HhSFeFV0i)MQmwrn7CBL=p`_9n?nh320m}6-MSv3L7I*<*56GR zZ`zI^1zyC7F#*zVL@M)F2+oqxydaiQz?|ODmqs|Ub8%&KXk9P3P7<4tM?X{~!;Ygw zt=h7)AYGDO9F&wV=BhCyD9exr#YM_-<;Fo~iE>IBEXK$%;JCUAEr;lR&3S_DUy_E) z#!oCYdENVE9OaaeaIrPk-odMtvdFG;ocA#`L6AifMu0og^?Oy9F|Et9q6 z8;3_|9+Io@hqYoN;58x1K&OP!9Vd#dzhTRjB2kI?%31ceHb#Q~WqJV5lw;@b>4@Rd z={z1S`d05YdWC*RLc7sR0bVGSytn-a3`JZL3|d8KC?vj_70Vi4ohP9QbU&Q4?Zjd0 zSZA?KbqLBsJg(qj>fycto3`zN-)lDe4{Ij-QfoBn@rT_tTszA+CnM~xWmE(4zfpCQ z;zPJfl3=ctrggYM!KQg;V{J;utMMF9&BfOe!<{wU0ph?-VQ%cv3B%fFiW?6xBPdf0 zD-HhEU?0C`G@7e+b-=8fj=TP3mdz&SIQ}Nd`*G#DTz9Y@b zaoDF}Gx7ZhPzpDhi^fA7WZ)EAEFv;N2*bKp0T za0t<^1|Zc#`A+?s$!$8eO4CK~PUFECC3BwNR4f)!V&-Y>$xg(%T{MtrH|CPcO(Lf> zE_meE1?6S-qlV^p2fh! zT11Ub)hHw!_mpFDMIAFB`%Yal+`1IXV>b?%!q^Ps%8nh8wtjVGlF-!5x*D29WJ4=M zZ7X(QvKe$YZNgM(HibD7+VO5Q29?@HzS?k$c|3B@JI6dlLgu5S&LbU4=4p-Yn||z@ z4p05vq*k*pbOV9QjVTMp8`c$?t@~!$8&5AP_sz@tk%a$nWHMh-Gm{WS5+q)5W6pU# za@YZXJCLTpZ}zb=$HCYbIm->?Hu6XIBz_d7)n1+3eSLzGVoNQCTHcu9qS2@({0sxc zu<-mhx@Xz_*(S1DEL|d0`YV7uNevL*Y6|DAQmvSp{4DzPL@>hqJ?`FjvIU;<&}YEKDmFUGSBYjRmK{Km-1m%-t=fFfI9kV|POH|SxvO=P+><+1JK_lt5F6fTPf8PXU+lYEJz__** z&>`4F2F8EWE+k7ZsZx9%!?A56{lsk1juYw5zN)V+g$d^Q^Gm}fnHKA6L^36=`e;p% zp{;JD$X3%}O7qINR*2<>a422}_hmc=)-A7B-1#2v85jN5K31t0DtmqON-Dim`XIR; zOo`KRv)gtn?stp*`^f>}UDnGYGnJAbl(4srd>(5fo2#oqi>#bus86EHfeItFIu$+% z;lE|3gjQA`BXHEE5JdcjCoethN`@NEc~zm6CYf@LJ|hT^1>l}gRl7oDHMnw!*5*IC z@@Mi=gO=lZSnWln`dX^4Bd{9zYG{HNIX-87A#5OM%xu*%V?7K3j3CHcN*t!zNK4N4 z!U2?a>0`8m8}UQshILC0g6-k>8~;SRIJ?vQKDj z@U{DrstWIT7ufyRYox^&*IyHYb$3wtB}V^0sS|1OyK#sDc%sh+(gy&NT9j4Aa7J0C zPe$02TylMjad&|{_oe3`zx)Cqns?6qThYue6U=~j5+l0Po4`bX*&9V@a<-O;;vCzm z(af&;e<^}?5$7&MRW$eb*P< zX|33QmDvFSDFK-qMz|RF|Eedum@~W zt~8C1@i8@LammTr)rAgKm8X_SczCg@+@LeWpcmx;VL;iLQJ;t%Z*|XbNWUnHX|o=Q z%bsXc%bw=pk~8%3aV-w(7E$co9_cHQ$!}Ep6YcoCb7~GQBWl#4D!T8A5!P*tSl4FK zK2CX0mjmosg6TSK@-E-He{dm0?9h{&v~}OX15xgF<1-w4DCypYo22%@;uRq`ZFld- z{Uqof@a@P5dW@kfF-`1B1(!R>(DHb&$UXY%Gd+6r?w8klhP&ldzG*6#l#VuM&`)ki z)f$+Rp?YYog9u==<#MC%1daG#%3EOX9A{7$`_(s#_4mV`xZaB+6YlX`H4{}vq;)TF zo~fR@do6EZIR?413A$V6o^fq&QV7P(bB(9m1969szOosyhZRYciAWXe4@u-}s(LeJpuIkSx)XvjXmvVEseG zJvWN4s|$6r;s(3F+cgeh4DMEq??h!$eb^5h#`whT5d03qfYpol8dCim)A^NG1-H}} z!b)V8DTL2Q8@R2p`y4@CeSVj9;8B5#O?jfl-j<$Quv?Ztwp*)GvQ~|W8i6?-ZV@Lf z8$04U_1m{2|AIu+rd8KW`Qk|P1w(}d%}cjG6cxsTJ3Y&*J^_@bQgXwILWY7w zx+z)v81rZv-|mi>y#p$4S7AA760X?)P&0e{iKcWq4xvv@KA@EWjPGdt8CKvh4}p}~ zdUVzuzkBlU2Z+*hTK214><61~h~9zQ3k+-{Pv~w`#4|YdjTFKc{===9Ml7EMFmE!f zH}U3O{Z`DuJrBZbz~OjSVlD6uZSEeNK8epja_LanEh8v;_$Eg9?g*9ihMoat$#qd^ z?;x?a*y3-pW#6|kF^<$w;2^~s!fc;3D~#&#WYZfK@3;bO{MvmN?>qy%_%v`BVCgfC zdwL~(H14Gr6w(1CX|R;zhZh%?*Q{hxJH`MV2)@Jg$pbqjZeL+LO7^vwgi!@3yn@NT zU91-{;BWIi8bV-j-YR|A9Qs?M?e7Ru&Onl1(Sz(kxAw?LEbd+Le%Z43rZgb2h2m|e z^rblc;4r+}?@tC(YIBB_qpQL?_kg{;zO#6JD9{;HSUgf@zIZ)}Bh4wFZIs>meSd}f z4iF~nD$KAV6CVEw+{YOPrW~~y~Y=?snG4dE3edN$~SXh`!c_F zUsQ1M;ARz&v0mIbfP}aLWZ&cBPU+DU{l+0}_>9DZGL{@}lF6QCtgAg;EWUu`D$Evm znblG}kC!}Mw)bR~U;+S}T9TVc6lXWR!LNMm)nmxr*ORkv#&UO$_WQpt0WdX{A=bjC zV^lB~(r;y!C4$Rk0fWUR|09O?KBos@aFQjUx{ODABcj}h5~ObwM_cS>5;iI^I- zPVEP9qrox2CFbG`T5r_GwQQpoI0>mVc_|$o>zdY5vbE~B%oK26jZ)m=1nu_uLEvZ< z8QI_G?ejz`;^ap+REYQzBo}7CnlSHE_DI5qrR!yVx3J1Jl;`UaLnKp2G$R__fAe;R(9%n zC)#)tvvo-9WUBL~r_=XlhpWhM=WS6B0DItw{1160xd;M(JxX_-a&i%PXO@}rnu73_ zObHBZrH%R!#~pjEp~P?qIj4MdAx@sv;E96Doi$eO-~)oUz%Z0Tr4K`-jl06Il!9{s zdjF*1r{XU?)C(%XKPm;UnpnDGD%QL3pgo0ust~+sB0pa|v37>E1dp*Odn)n=DY;5j zDzSAkU9B6F$;|##_mrDe#%hd7pC1u`{9ZKeDdtkyl&4>H=e)Fq@}$UffPt1#cjYZg zd%O%xpg4~brEr>AnKT)kF@`cdX4tMlZ#Vk!l1Xz!G970p`Gkv^lk-|>jmt0W5Wu6woGf?hNA zXO2?BG)<{`NsYAY#3|L^x*=rS7uWU~s<*UhTC8AYc#lGP-=Aw1I)@y(<` znQb^nL~$rlDbsdAc4nc#{+$_;Z4iY;Pi0i9Q;>ZB3+IjWLg_r40-Fso^xF<*_s7Tj zujFrMH{vW3PmCndjQIscnQE%`Qj|E2kidi#c&PcWIMyH+e#7!l`<$_)*pDP$!49pY6w!bN)j8~A1wV%gIakf+vA04 zV)_Q=QMPSj6$M2Ar#KhhxsbZUOq3nZHh8m0?Fr}I6N(Fk zkhXM(f57yOa8vn^97J+g9ISPa=-**6^8ZX&g=z+m&6~x<1>)MyM&tpbWhSf8#+Pcd4rVK#)NSw>1eLKHTO z44A@sc_}Ypi#ggFRbDRFV(IhOnRU&XPrQYh9`mVMo-^U$&AwsXooSRUFqJ7)XUXCK zFpt;gJ}9QTN9xy9$=3OnRkjgUuQZ`X)!}LBm~WUIEKuK-Z%}f?2?+MKucWU<3)>9G zxsz~2pHut1AmH<@66;LdCB9+dSpojE4ggrYS?%icv*Rpi?G0Q($^`(g<1&Z){O_5B$@f#;I2-+Qa1P$a@=u-vOY5vqo z|6G67X;*A|V86ZET9OpFB&02twZtc2K}~ASoQpM_p{vJ{-XvA8UmQa4Ed%fS{D@g( zr_aY0gKw*=2SIGznXXKFo$r0x3)@bq8@4od^U(L0-jvTsK@qYOWX?2G_>N+?;r{TU2{M>V0zid zB_Zu?WSnRl@k?oE*gsgv;jH@+ z-}BDGyR-ls7$dz{e( ztv7lI2|OxNkLD4zc3xGA`!d7LiSdOys4H!8aA(_c0Nm*uLjS4TW%Z3v>am1nwQ_lI zIs85Uufd;cv-(4wi(Js;QsL#|qdv)n;r_?puaK*1>zTC@d=#sK+q1YF_Q(5B%%3TtI8&bNs_e8vIb;oc|Rk`F~u?|A?jj{c={?{Env{mW#q@8 z)#WEgt4B6b&X2?o3=b`ilz;)-h$t4;hsxPDo-%5C(7m#c9tZF-U`vcx0HnVtf_X(}4Tg}4wx(=y!@T7{)4;I_p95mBhikg-|U9z35q`|!1+Zz@97 z(PFE5jCv|=t;^=(CLqYp)k90rV4ZSiFDAhD8YOCzv{}1WDuB?epORibW36);q(Aig ze27@D?lN-ZyjuB4GsebA$;+(KGiOtCe6Bfd%GKRty>dBS1GUe}MXgnu61UdgO=m1& zE(eECPF_%J-lU{;R)eQJot;;}Wch$-8Z|lxN*AAdc;bkpbD`W}F=Z}^Cy(SKyfF#+ zQSalA%JDDAu|77$M3E|kv==3vx~pFPw_<+9xgcE#oigh*>#QsA2}sTYO7uY(h@dhR zHJBi^bb-`1?<1cGFZJa8Akzs{H^$N<)5@hlXeKwt9hD5^5K&`pdHOI92p<7XhS?>| z(5h9KYctN|H+W~Xh2N4W+yjMyBm(AdewjX?PBuRU$^J zS#+U($K6rhFFzf z0q*kJ>B6xI1qAti?H@X@dxtB7_vT+Nj@PNxr?CSK#xqE6jh5S{`nH#zzvjOId=i1X zK(Yjl!7KF(73GXYLVkQA5irn|v-ArCqwi)CM8X&m!#@NQ3bqmQlfurU4qT`zl_m^C zhpk?mfVvy9L|)*+bW8&NY4lG$@0_PKfO9+~(zrbn?wECGi7472W{H&dRPZum^Qf z73C-TR6$#q>XJgYnUgV!WkbmRas;`TY#7CxPXIEGwT6VPBDKbyr#|C2M%q|7l#Ql< zuM}j=2{D+?SxT8?ZJn&Z%cRN8Gu@y(`zV(lfj1T%g44(d#-g&@O0FL5;I9=?bW>!M z%c3J&e}GThdean-<||jUh zlLP`UeKBhhrQ?HHjM3}kfO7Z=EKB%+rs*t+nuBoeuD2yk%n32SA?-s)4+DsTV7U&K zyKQO2b2*tQT}#((=#fkb%hkRkt^%tY&VK$hcs91+hld zJ%lgC!ooILC&|(Z9$zzk=Q0*%&l7wwyf%nv=`C=OcPjb|Q%@9*XkPGFrn+bxp?t^D z!_qO=e-;bnT)^0d|Ex9X&svN9S8M&R>5l*5Df2H@r2l)VfBO@LqeVw`Fz6TSwAt^I z5Wu6A>LNnF7hq4Ow=7D7LEDv3A))d5!M=lT3ConlFN`5eTQMexVVs* zH0tx-*R+-B@&Lp`0V4j6Uy=LJmLQRY_6tH4vnV{_am%kkv|{CYkF}4Wn6U+|9Xre$ zJkO;_=dtw`@aEs|^GlO-zvpp-73H;PYk}V5RrH83G4SVkRJ0YSluQa8pKejcqB4u~ z^9^lDR|?7vEo|jITtaIFI6}1;vTI6n(d0kDGQUJuk>>sqdd7#VBF;?_dM5i<+VMEq zc>habJK}_0eEsOkdwv48d43jKMnqYFMnYDU&c?vi#Fp+S)sxo1-oVJ*g!X^^K! z>z!G8?KfU{qOnLHhaEF4QRHgOpfvoo7@=FG(2ZefYJk- zZuA9ubiTTP9jw9Uzpx8FfJBFt+NNE9dTlM!$g$|lTD za4LMNxWhw8!AV(x;U`IV-(bK@iQ%#QSmq8D$YqLgt?V#|~% z;{ST}6aQbOoewMKYzZT@8|Qq z@9SNBu1UErolMjrhJW-Id&7y<0I<+Z-lr`IHMh1;M)n@g|hx_T-maO`s{Tuhax}EjC zS;1kdL*A3BW5YZXgD|0zm)g3_3vMs>5xgHUhQDl19lfQWMcfLTsw$)amgDs>bW*Oe+$UK^`ioL%F0Ua5vb%II+EGS>*I zw)AmqcWBZpWH&Aswk_FJT=J|^Gn=MfnDTIzMdnoRUB91MeW?e>+C)g3_FDN8rN$(? zL+kH!*L}rq`MK`KDt^v4nUJg3Ce-`IW0Ph0?|}Puq5WIS_a7iEO;~mGQqqo=Ey;ND zhBXA^$ZrCc#&0}dMA&@)&TCq5PMzgJPafZCg-6$R zRqJ2+_t+dGUAY@~xPzU3`od7-(8nnuMfM-4#u`Q~`l-CUGC7u*^5VwH`ot;Ck#R1% zRr%?;!NrB$w^}NW=GGR}m!3a9bh#wXrq?fF7j-IS?E_!GaD3KYzcXhCUHhjEl-6b# zCmIF#4y@HN=^#uIz zRFl8D)Ri1<(Kr~Hoi_MtXWP8^AyTKxi1)ew88bV{*Ok8w8YLXBFW0sRJ<(vU{$ym| zz)feLQbz3k;_}2_{-bW`h~t&2$ObtlbS?k2k|5Kbu?FZLDMTVW_Z6p#A)c)`3DD?a*hxHS2Zj zcIiebfsINfWvwY7Z{YOlIQ61b`j=%6{>MPs+`()Q{wq0z0?|jwRN(1IrMQsj40BHx zvBC_Xfcr;55&}MeoP_@#nz$avCh%FJfE5NNAE~fW@L7~f8Y=?Wno31128EYOK8+O! zc4Vaj-DCsB6CPH$?pQQVbb_(tg^x{$STYM_WKLtrh-_-Hq-M%Ubpt6$mCHY!B{ISD zz}grIo^bNVDw4={SA2*nDNq5`e@ZO5r4TbQpHM)~qfD9!s0h(Jf>vYd;I~j<2fD4)_>ctbwNX6S*8>i^*4 zYKI5<4}d;hM!!N|A$@eg09J|HV;!UUVIau_I~dxZp#?a3u0G)pts6GKdCNk>FKxdh_`Xu!>zO3Kv?u+W6cYJPy!@=PuY868>3|Zg} z$7galV~M`d!q(`I{;CJsq6G9>W0}H6gVY`q7S@9s8ak1r{>}*Q0JyH&f!f8(NZxhC zkn|KS64r^A1fniFel2KkxYByk%erCx9UgFLI)`yuA)X z8SU?6kj!numPNCAj}>1ipax(t{%rxU;6`(Nqt$~Z4~76TQ$9d8l`yJ}rniII%HbH= zlS_7o!qB{55at^>N!Voer%)`KMh9Yd@Z?~nc19*hs)NGN954`O9zA&&vJHbm&|D@E za(&z6A=3NfC;>I)hlI@ulP8E@W-ziGe{iCf_mHvWGldxw8{ng-hI({EtOdALnD9zG ze)fU?I(DNt)Bzdd9Cs^>!|+2!xv1SK=I zJ+y_;=Sq-zqD~GKy@{5(my&aPgFfGY&_mayR_)?dF_^Fwc-n!UAG+fQQGfjWE-1MF YM{}PByk10KD_nuQ4E7Du?}+~TKh4V)`~Uy| literal 0 HcmV?d00001 diff --git a/server/.mvn/wrapper/maven-wrapper.properties b/server/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..b74bf7f --- /dev/null +++ b/server/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar diff --git a/server/hs_err_pid13472.log b/server/hs_err_pid13472.log new file mode 100644 index 0000000..146f586 --- /dev/null +++ b/server/hs_err_pid13472.log @@ -0,0 +1,850 @@ +# +# A fatal error has been detected by the Java Runtime Environment: +# +# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff94f66b655, pid=13472, tid=12224 +# +# JRE version: Java(TM) SE Runtime Environment 18.9 (11.0.8+10) (build 11.0.8+10-LTS) +# Java VM: Java HotSpot(TM) 64-Bit Server VM 18.9 (11.0.8+10-LTS, mixed mode, tiered, compressed oops, g1 gc, windows-amd64) +# Problematic frame: +# V [jvm.dll+0x1eb655] +# +# No core dump will be written. Minidumps are not enabled by default on client versions of Windows +# +# If you would like to submit a bug report, please visit: +# https://bugreport.java.com/bugreport/crash.jsp +# + +--------------- S U M M A R Y ------------ + +Command Line: -XX:TieredStopAtLevel=1 -Xverify:none -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:D:\Java\idea-2021.2\idea\IntelliJ IDEA 2021.3.2\lib\idea_rt.jar=52932:D:\Java\idea-2021.2\idea\IntelliJ IDEA 2021.3.2\bin -Dfile.encoding=UTF-8 com.ew.gerocomium.GerocomiumApplication + +Host: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz, 8 cores, 15G, Windows 10 , 64 bit Build 22621 (10.0.22621.963) +Time: Mon Jan 2 12:31:35 2023 й׼ʱ elapsed time: 9 seconds (0d 0h 0m 9s) + +--------------- T H R E A D --------------- + +Current thread (0x0000025af215e800): ConcurrentGCThread "G1 Conc#0" [stack: 0x0000007296000000,0x0000007296100000] [id=12224] + +Stack: [0x0000007296000000,0x0000007296100000], sp=0x00000072960ff950, free space=1022k +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) +V [jvm.dll+0x1eb655] +V [jvm.dll+0x2da69a] +V [jvm.dll+0x2e0fb4] +V [jvm.dll+0x7644f0] +V [jvm.dll+0x6f845c] +V [jvm.dll+0x600d66] +C [ucrtbase.dll+0x29363] +C [KERNEL32.DLL+0x126bd] +C [ntdll.dll+0x5dfb8] + + +siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x0000000000000160 + + +Register to memory mapping: + +RIP=0x00007ff94f66b655 jvm.dll +RAX=0x0000025af20ef0c0 points into unknown readable memory: 00 00 00 00 00 00 00 00 +RBX=0x0000000712973064 is pointing into object: java.lang.invoke.DirectMethodHandle +{0x0000000712973050} - klass: 'java/lang/invoke/DirectMethodHandle' +RCX=0x0000000000000014 is an unknown value +RDX=0x0000000000000001 is an unknown value +RSP=0x00000072960ff950 points into unknown readable memory: 60 13 91 12 07 00 00 00 +RBP=0x0 is NULL +RSI=0x000000080000c448 is pointing into metadata +RDI=0x0000000602cbed98 is an unknown value +R8 =0x0000000602cbed98 is an unknown value +R9 =0x0 is NULL +R10=0x0 is NULL +R11=0x0000000000000246 is an unknown value +R12=0x0000000000000001 is an unknown value +R13=0x00007ff94fe312e0 jvm.dll +R14=0x000000080000c450 is a pointer to class: +java.lang.invoke.VarHandle {0x000000080000c458} +R15=0x0000025af214c030 points into unknown readable memory: 00 c8 15 f2 5a 02 00 00 + + +Registers: +RAX=0x0000025af20ef0c0, RBX=0x0000000712973064, RCX=0x0000000000000014, RDX=0x0000000000000001 +RSP=0x00000072960ff950, RBP=0x0000000000000000, RSI=0x000000080000c448, RDI=0x0000000602cbed98 +R8 =0x0000000602cbed98, R9 =0x0000000000000000, R10=0x0000000000000000, R11=0x0000000000000246 +R12=0x0000000000000001, R13=0x00007ff94fe312e0, R14=0x000000080000c450, R15=0x0000025af214c030 +RIP=0x00007ff94f66b655, EFLAGS=0x0000000000010203 + +Top of Stack: (sp=0x00000072960ff950) +0x00000072960ff950: 0000000712911360 0000000000000002 +0x00000072960ff960: 00000008000060b8 0000000712a00000 +0x00000072960ff970: 0000000712973050 0000000000000001 +0x00000072960ff980: 0000000712973070 00007ff94f75a69a +0x00000072960ff990: 000000080000c0e0 0000000712973050 +0x00000072960ff9a0: 000000080000c8b0 00000072960ff9f0 +0x00000072960ff9b0: 0000007295fff160 0000025af214c0d8 +0x00000072960ff9c0: 0000000000000004 00007ff94f760fb4 +0x00000072960ff9d0: 000000080000c0e0 0000000712a00000 +0x00000072960ff9e0: 0000000712973050 0000000000000000 +0x00000072960ff9f0: 00007ff94fcba848 0000000000000000 +0x00000072960ffa00: 0000025af20f5d40 0000025af214c030 +0x00000072960ffa10: 0000000000000001 00007ff94fbe4a0b +0x00000072960ffa20: 0000000000000000 00000000000075a3 +0x00000072960ffa30: 0000000000000000 0000025af215e800 +0x00000072960ffa40: 0000000000000000 00007ff94fbe44f0 + +Instructions: (pc=0x00007ff94f66b655) +0x00007ff94f66b635: 4d 8b d0 44 8b e2 49 8b e9 49 8b f8 8b 88 c0 02 +0x00007ff94f66b645: 00 00 48 8b 80 b0 02 00 00 49 d3 ea 4e 8b 14 d0 +0x00007ff94f66b655: 4d 3b 82 60 01 00 00 72 11 32 c0 48 8b 6c 24 58 +0x00007ff94f66b665: 48 83 c4 20 41 5f 41 5c 5f c3 49 8b 87 90 00 00 + + +Stack slot to memory mapping: +stack at sp + 0 slots: 0x0000000712911360 is an oop: org.springframework.util.ConcurrentReferenceHashMap$SoftEntryReference +{0x0000000712911360} - klass: 'org/springframework/util/ConcurrentReferenceHashMap$SoftEntryReference' +stack at sp + 1 slots: 0x0000000000000002 is an unknown value +stack at sp + 2 slots: 0x00000008000060b8 is a pointer to class: +java.lang.ref.WeakReference {0x00000008000060c0} +stack at sp + 3 slots: 0x0000000712a00000 is an oop: java.lang.reflect.Constructor +{0x0000000712a00000} - klass: 'java/lang/reflect/Constructor' +stack at sp + 4 slots: 0x0000000712973050 is an oop: java.lang.invoke.DirectMethodHandle +{0x0000000712973050} - klass: 'java/lang/invoke/DirectMethodHandle' +stack at sp + 5 slots: 0x0000000000000001 is an unknown value +stack at sp + 6 slots: 0x0000000712973070 is an oop: java.lang.invoke.MemberName +{0x0000000712973070} - klass: 'java/lang/invoke/MemberName' +stack at sp + 7 slots: 0x00007ff94f75a69a jvm.dll + + +--------------- P R O C E S S --------------- + +Threads class SMR info: +_java_thread_list=0x0000025a99fa9b20, length=36, elements={ +0x0000025a95aeb800, 0x0000025a95af5800, 0x0000025a9640e800, 0x0000025a9640f800, +0x0000025a96412000, 0x0000025a96414000, 0x0000025a96557800, 0x0000025a96a6a000, +0x0000025a96a6e800, 0x0000025a96bcf000, 0x0000025a97e32800, 0x0000025a97edf800, +0x0000025a98432800, 0x0000025a9860e800, 0x0000025a98532800, 0x0000025a98533000, +0x0000025a99f9f800, 0x0000025a99fa2800, 0x0000025a99fa2000, 0x0000025a99f9e800, +0x0000025a99fa4800, 0x0000025a99fa3800, 0x0000025a99fa1000, 0x0000025a99fa5000, +0x0000025a99fa0000, 0x0000025a9a513000, 0x0000025a9a511800, 0x0000025a9a510000, +0x0000025a9a510800, 0x0000025a9a50f000, 0x0000025a9a512800, 0x0000025a9a514000, +0x0000025a9a50e800, 0x0000025a9a516800, 0x0000025a9a51a800, 0x0000025a9a515000 +} + +Java Threads: ( => current thread ) + 0x0000025a95aeb800 JavaThread "Reference Handler" daemon [_thread_blocked, id=1072, stack(0x0000007296400000,0x0000007296500000)] + 0x0000025a95af5800 JavaThread "Finalizer" daemon [_thread_blocked, id=5380, stack(0x0000007296500000,0x0000007296600000)] + 0x0000025a9640e800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=15568, stack(0x0000007296600000,0x0000007296700000)] + 0x0000025a9640f800 JavaThread "Attach Listener" daemon [_thread_blocked, id=5440, stack(0x0000007296700000,0x0000007296800000)] + 0x0000025a96412000 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=12460, stack(0x0000007296800000,0x0000007296900000)] + 0x0000025a96414000 JavaThread "Sweeper thread" daemon [_thread_in_vm, id=16000, stack(0x0000007296900000,0x0000007296a00000)] + 0x0000025a96557800 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=10576, stack(0x0000007296a00000,0x0000007296b00000)] + 0x0000025a96a6a000 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=14036, stack(0x0000007296b00000,0x0000007296c00000)] + 0x0000025a96a6e800 JavaThread "Service Thread" daemon [_thread_blocked, id=10064, stack(0x0000007296c00000,0x0000007296d00000)] + 0x0000025a96bcf000 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=10352, stack(0x0000007296d00000,0x0000007296e00000)] + 0x0000025a97e32800 JavaThread "RMI TCP Connection(4)-192.168.1.5" daemon [_thread_in_native, id=9804, stack(0x0000007297600000,0x0000007297700000)] + 0x0000025a97edf800 JavaThread "RMI Scheduler(0)" daemon [_thread_blocked, id=12368, stack(0x0000007297400000,0x0000007297500000)] + 0x0000025a98432800 JavaThread "commons-pool-evictor" daemon [_thread_blocked, id=15812, stack(0x0000007297700000,0x0000007297800000)] + 0x0000025a9860e800 JavaThread "Catalina-utility-1" [_thread_blocked, id=9636, stack(0x0000007297800000,0x0000007297900000)] + 0x0000025a98532800 JavaThread "Catalina-utility-2" [_thread_blocked, id=13612, stack(0x0000007297900000,0x0000007297a00000)] + 0x0000025a98533000 JavaThread "container-0" [_thread_blocked, id=12996, stack(0x0000007297a00000,0x0000007297b00000)] + 0x0000025a99f9f800 JavaThread "mysql-cj-abandoned-connection-cleanup" daemon [_thread_blocked, id=8020, stack(0x0000007297b00000,0x0000007297c00000)] + 0x0000025a99fa2800 JavaThread "Druid-ConnectionPool-Create-1896062177" daemon [_thread_blocked, id=360, stack(0x0000007297c00000,0x0000007297d00000)] + 0x0000025a99fa2000 JavaThread "Druid-ConnectionPool-Destroy-1896062177" daemon [_thread_blocked, id=5892, stack(0x0000007297d00000,0x0000007297e00000)] + 0x0000025a99f9e800 JavaThread "quartzScheduler_Worker-1" [_thread_blocked, id=9552, stack(0x0000007298000000,0x0000007298100000)] + 0x0000025a99fa4800 JavaThread "quartzScheduler_Worker-2" [_thread_blocked, id=11152, stack(0x0000007298100000,0x0000007298200000)] + 0x0000025a99fa3800 JavaThread "quartzScheduler_Worker-3" [_thread_blocked, id=14944, stack(0x0000007298200000,0x0000007298300000)] + 0x0000025a99fa1000 JavaThread "quartzScheduler_Worker-4" [_thread_blocked, id=1612, stack(0x0000007298300000,0x0000007298400000)] + 0x0000025a99fa5000 JavaThread "quartzScheduler_Worker-5" [_thread_blocked, id=3836, stack(0x0000007298400000,0x0000007298500000)] + 0x0000025a99fa0000 JavaThread "quartzScheduler_Worker-6" [_thread_blocked, id=15404, stack(0x0000007298500000,0x0000007298600000)] + 0x0000025a9a513000 JavaThread "quartzScheduler_Worker-7" [_thread_blocked, id=8132, stack(0x0000007298600000,0x0000007298700000)] + 0x0000025a9a511800 JavaThread "quartzScheduler_Worker-8" [_thread_blocked, id=1692, stack(0x0000007298700000,0x0000007298800000)] + 0x0000025a9a510000 JavaThread "quartzScheduler_Worker-9" [_thread_blocked, id=8012, stack(0x0000007298800000,0x0000007298900000)] + 0x0000025a9a510800 JavaThread "quartzScheduler_Worker-10" [_thread_blocked, id=2168, stack(0x0000007298900000,0x0000007298a00000)] + 0x0000025a9a50f000 JavaThread "quartzScheduler_QuartzSchedulerThread" [_thread_blocked, id=15996, stack(0x0000007298a00000,0x0000007298b00000)] + 0x0000025a9a512800 JavaThread "http-nio-9001-Poller" daemon [_thread_in_native, id=5860, stack(0x0000007298b00000,0x0000007298c00000)] + 0x0000025a9a514000 JavaThread "http-nio-9001-Acceptor" daemon [_thread_in_native, id=16140, stack(0x0000007298c00000,0x0000007298d00000)] + 0x0000025a9a50e800 JavaThread "DestroyJavaVM" [_thread_blocked, id=3824, stack(0x0000007295d00000,0x0000007295e00000)] + 0x0000025a9a516800 JavaThread "RMI TCP Connection(idle)" daemon [_thread_blocked, id=15784, stack(0x0000007298d00000,0x0000007298e00000)] + 0x0000025a9a51a800 JavaThread "RMI TCP Connection(idle)" daemon [_thread_blocked, id=8468, stack(0x0000007298e00000,0x0000007298f00000)] + 0x0000025a9a515000 JavaThread "http-nio-9001-exec-1" daemon [_thread_blocked, id=9268, stack(0x0000007298f00000,0x0000007299000000)] + +Other Threads: + 0x0000025a95ae9800 VMThread "VM Thread" [stack: 0x0000007296300000,0x0000007296400000] [id=14868] + 0x0000025a96bd1000 WatcherThread [stack: 0x0000007296e00000,0x0000007296f00000] [id=1416] + 0x0000025af20fd800 GCTaskThread "GC Thread#0" [stack: 0x0000007295e00000,0x0000007295f00000] [id=2100] + 0x0000025a96e20000 GCTaskThread "GC Thread#1" [stack: 0x0000007296f00000,0x0000007297000000] [id=3612] + 0x0000025a97723800 GCTaskThread "GC Thread#2" [stack: 0x0000007297000000,0x0000007297100000] [id=3916] + 0x0000025a97724000 GCTaskThread "GC Thread#3" [stack: 0x0000007297100000,0x0000007297200000] [id=15384] + 0x0000025a97731000 GCTaskThread "GC Thread#4" [stack: 0x0000007297200000,0x0000007297300000] [id=11316] + 0x0000025a97732000 GCTaskThread "GC Thread#5" [stack: 0x0000007297300000,0x0000007297400000] [id=4896] + 0x0000025a9a1fc000 GCTaskThread "GC Thread#6" [stack: 0x0000007297e00000,0x0000007297f00000] [id=7544] + 0x0000025a9a1fd000 GCTaskThread "GC Thread#7" [stack: 0x0000007297f00000,0x0000007298000000] [id=11156] + 0x0000025af215c800 ConcurrentGCThread "G1 Main Marker" [stack: 0x0000007295f00000,0x0000007296000000] [id=7664] +=>0x0000025af215e800 ConcurrentGCThread "G1 Conc#0" [stack: 0x0000007296000000,0x0000007296100000] [id=12224] + 0x0000025a97875000 ConcurrentGCThread "G1 Conc#1" [stack: 0x0000007297500000,0x0000007297600000] [id=10728] + 0x0000025a959cf800 ConcurrentGCThread "G1 Refine#0" [stack: 0x0000007296100000,0x0000007296200000] [id=8284] + 0x0000025a959d2800 ConcurrentGCThread "G1 Young RemSet Sampling" [stack: 0x0000007296200000,0x0000007296300000] [id=13132] + +Threads with active compile tasks: + +VM state:not at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) +[0x0000025af20e5d00] CompiledIC_lock - owner thread: 0x0000025a96414000 + +Heap address: 0x0000000702800000, size: 4056 MB, Compressed Oops mode: Zero based, Oop shift amount: 3 +Narrow klass base: 0x0000000800000000, Narrow klass shift: 0 +Compressed class space size: 1073741824 Address: 0x0000000800000000 + +Heap: + garbage-first heap total 374784K, used 40733K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 17 young (17408K), 13 survivors (13312K) + Metaspace used 58789K, capacity 61111K, committed 61428K, reserved 1101824K + class space used 7394K, capacity 8310K, committed 8376K, reserved 1048576K +Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, A=archive, TAMS=top-at-mark-start (previous, next) +| 0|0x0000000702800000, 0x0000000702900000, 0x0000000702900000|100%| O| |TAMS 0x0000000702900000, 0x0000000702900000| Untracked +| 1|0x0000000702900000, 0x0000000702a00000, 0x0000000702a00000|100%| O| |TAMS 0x0000000702a00000, 0x0000000702a00000| Untracked +| 2|0x0000000702a00000, 0x0000000702b00000, 0x0000000702b00000|100%| O| |TAMS 0x0000000702b00000, 0x0000000702b00000| Untracked +| 3|0x0000000702b00000, 0x0000000702c00000, 0x0000000702c00000|100%| O| |TAMS 0x0000000702c00000, 0x0000000702c00000| Untracked +| 4|0x0000000702c00000, 0x0000000702d00000, 0x0000000702d00000|100%| O| |TAMS 0x0000000702d00000, 0x0000000702d00000| Untracked +| 5|0x0000000702d00000, 0x0000000702e00000, 0x0000000702e00000|100%| O| |TAMS 0x0000000702e00000, 0x0000000702e00000| Untracked +| 6|0x0000000702e00000, 0x0000000702f00000, 0x0000000702f00000|100%| O| |TAMS 0x0000000702f00000, 0x0000000702f00000| Untracked +| 7|0x0000000702f00000, 0x0000000703000000, 0x0000000703000000|100%| O| |TAMS 0x0000000702f3c000, 0x0000000703000000| Untracked +| 8|0x0000000703000000, 0x0000000703100000, 0x0000000703100000|100%| O| |TAMS 0x0000000703000000, 0x0000000703100000| Untracked +| 9|0x0000000703100000, 0x0000000703200000, 0x0000000703200000|100%| O| |TAMS 0x0000000703100000, 0x0000000703200000| Untracked +| 10|0x0000000703200000, 0x0000000703300000, 0x0000000703300000|100%| O| |TAMS 0x0000000703200000, 0x0000000703300000| Untracked +| 11|0x0000000703300000, 0x0000000703400000, 0x0000000703400000|100%| O| |TAMS 0x0000000703300000, 0x0000000703400000| Untracked +| 12|0x0000000703400000, 0x0000000703500000, 0x0000000703500000|100%| O| |TAMS 0x0000000703400000, 0x0000000703500000| Untracked +| 13|0x0000000703500000, 0x0000000703600000, 0x0000000703600000|100%| O| |TAMS 0x0000000703500000, 0x0000000703600000| Untracked +| 14|0x0000000703600000, 0x0000000703700000, 0x0000000703700000|100%| O| |TAMS 0x0000000703600000, 0x0000000703700000| Untracked +| 15|0x0000000703700000, 0x0000000703800000, 0x0000000703800000|100%| O| |TAMS 0x0000000703700000, 0x0000000703800000| Untracked +| 16|0x0000000703800000, 0x0000000703900000, 0x0000000703900000|100%| O| |TAMS 0x0000000703800000, 0x0000000703900000| Untracked +| 17|0x0000000703900000, 0x0000000703a00000, 0x0000000703a00000|100%| O| |TAMS 0x0000000703900000, 0x0000000703a00000| Untracked +| 18|0x0000000703a00000, 0x0000000703b00000, 0x0000000703b00000|100%| O| |TAMS 0x0000000703a00000, 0x0000000703b00000| Untracked +| 19|0x0000000703b00000, 0x0000000703c00000, 0x0000000703c00000|100%| O| |TAMS 0x0000000703b00000, 0x0000000703c00000| Untracked +| 20|0x0000000703c00000, 0x0000000703d00000, 0x0000000703d00000|100%| O| |TAMS 0x0000000703c00000, 0x0000000703d00000| Untracked +| 21|0x0000000703d00000, 0x0000000703e00000, 0x0000000703e00000|100%| O| |TAMS 0x0000000703d00000, 0x0000000703e00000| Untracked +| 22|0x0000000703e00000, 0x0000000703f00000, 0x0000000703f00000|100%| O| |TAMS 0x0000000703e00000, 0x0000000703f00000| Untracked +| 23|0x0000000703f00000, 0x0000000703fc7600, 0x0000000704000000| 77%| O| |TAMS 0x0000000703f00000, 0x0000000703fc7600| Untracked +| 24|0x0000000704000000, 0x0000000704000000, 0x0000000704100000| 0%| F| |TAMS 0x0000000704000000, 0x0000000704000000| Untracked +| 25|0x0000000704100000, 0x0000000704100000, 0x0000000704200000| 0%| F| |TAMS 0x0000000704100000, 0x0000000704100000| Untracked +| 26|0x0000000704200000, 0x0000000704200000, 0x0000000704300000| 0%| F| |TAMS 0x0000000704200000, 0x0000000704200000| Untracked +| 27|0x0000000704300000, 0x0000000704300000, 0x0000000704400000| 0%| F| |TAMS 0x0000000704300000, 0x0000000704300000| Untracked +| 28|0x0000000704400000, 0x0000000704400000, 0x0000000704500000| 0%| F| |TAMS 0x0000000704400000, 0x0000000704400000| Untracked +| 29|0x0000000704500000, 0x0000000704500000, 0x0000000704600000| 0%| F| |TAMS 0x0000000704500000, 0x0000000704500000| Untracked +| 30|0x0000000704600000, 0x0000000704600000, 0x0000000704700000| 0%| F| |TAMS 0x0000000704600000, 0x0000000704600000| Untracked +| 31|0x0000000704700000, 0x0000000704700000, 0x0000000704800000| 0%| F| |TAMS 0x0000000704700000, 0x0000000704700000| Untracked +| 32|0x0000000704800000, 0x0000000704800000, 0x0000000704900000| 0%| F| |TAMS 0x0000000704800000, 0x0000000704800000| Untracked +| 33|0x0000000704900000, 0x0000000704900000, 0x0000000704a00000| 0%| F| |TAMS 0x0000000704900000, 0x0000000704900000| Untracked +| 34|0x0000000704a00000, 0x0000000704a00000, 0x0000000704b00000| 0%| F| |TAMS 0x0000000704a00000, 0x0000000704a00000| Untracked +| 35|0x0000000704b00000, 0x0000000704b00000, 0x0000000704c00000| 0%| F| |TAMS 0x0000000704b00000, 0x0000000704b00000| Untracked +| 36|0x0000000704c00000, 0x0000000704c00000, 0x0000000704d00000| 0%| F| |TAMS 0x0000000704c00000, 0x0000000704c00000| Untracked +| 37|0x0000000704d00000, 0x0000000704d00000, 0x0000000704e00000| 0%| F| |TAMS 0x0000000704d00000, 0x0000000704d00000| Untracked +| 38|0x0000000704e00000, 0x0000000704e00000, 0x0000000704f00000| 0%| F| |TAMS 0x0000000704e00000, 0x0000000704e00000| Untracked +| 39|0x0000000704f00000, 0x0000000704f00000, 0x0000000705000000| 0%| F| |TAMS 0x0000000704f00000, 0x0000000704f00000| Untracked +| 40|0x0000000705000000, 0x0000000705000000, 0x0000000705100000| 0%| F| |TAMS 0x0000000705000000, 0x0000000705000000| Untracked +| 41|0x0000000705100000, 0x0000000705100000, 0x0000000705200000| 0%| F| |TAMS 0x0000000705100000, 0x0000000705100000| Untracked +| 42|0x0000000705200000, 0x0000000705200000, 0x0000000705300000| 0%| F| |TAMS 0x0000000705200000, 0x0000000705200000| Untracked +| 43|0x0000000705300000, 0x0000000705300000, 0x0000000705400000| 0%| F| |TAMS 0x0000000705300000, 0x0000000705300000| Untracked +| 44|0x0000000705400000, 0x0000000705400000, 0x0000000705500000| 0%| F| |TAMS 0x0000000705400000, 0x0000000705400000| Untracked +| 45|0x0000000705500000, 0x0000000705500000, 0x0000000705600000| 0%| F| |TAMS 0x0000000705500000, 0x0000000705500000| Untracked +| 46|0x0000000705600000, 0x0000000705600000, 0x0000000705700000| 0%| F| |TAMS 0x0000000705600000, 0x0000000705600000| Untracked +| 47|0x0000000705700000, 0x0000000705700000, 0x0000000705800000| 0%| F| |TAMS 0x0000000705700000, 0x0000000705700000| Untracked +| 48|0x0000000705800000, 0x0000000705800000, 0x0000000705900000| 0%| F| |TAMS 0x0000000705800000, 0x0000000705800000| Untracked +| 49|0x0000000705900000, 0x0000000705900000, 0x0000000705a00000| 0%| F| |TAMS 0x0000000705900000, 0x0000000705900000| Untracked +| 50|0x0000000705a00000, 0x0000000705a00000, 0x0000000705b00000| 0%| F| |TAMS 0x0000000705a00000, 0x0000000705a00000| Untracked +| 51|0x0000000705b00000, 0x0000000705b00000, 0x0000000705c00000| 0%| F| |TAMS 0x0000000705b00000, 0x0000000705b00000| Untracked +| 52|0x0000000705c00000, 0x0000000705c00000, 0x0000000705d00000| 0%| F| |TAMS 0x0000000705c00000, 0x0000000705c00000| Untracked +| 53|0x0000000705d00000, 0x0000000705d00000, 0x0000000705e00000| 0%| F| |TAMS 0x0000000705d00000, 0x0000000705d00000| Untracked +| 54|0x0000000705e00000, 0x0000000705e00000, 0x0000000705f00000| 0%| F| |TAMS 0x0000000705e00000, 0x0000000705e00000| Untracked +| 55|0x0000000705f00000, 0x0000000705f00000, 0x0000000706000000| 0%| F| |TAMS 0x0000000705f00000, 0x0000000705f00000| Untracked +| 56|0x0000000706000000, 0x0000000706000000, 0x0000000706100000| 0%| F| |TAMS 0x0000000706000000, 0x0000000706000000| Untracked +| 57|0x0000000706100000, 0x0000000706100000, 0x0000000706200000| 0%| F| |TAMS 0x0000000706100000, 0x0000000706100000| Untracked +| 58|0x0000000706200000, 0x0000000706200000, 0x0000000706300000| 0%| F| |TAMS 0x0000000706200000, 0x0000000706200000| Untracked +| 59|0x0000000706300000, 0x0000000706300000, 0x0000000706400000| 0%| F| |TAMS 0x0000000706300000, 0x0000000706300000| Untracked +| 60|0x0000000706400000, 0x0000000706400000, 0x0000000706500000| 0%| F| |TAMS 0x0000000706400000, 0x0000000706400000| Untracked +| 61|0x0000000706500000, 0x0000000706500000, 0x0000000706600000| 0%| F| |TAMS 0x0000000706500000, 0x0000000706500000| Untracked +| 62|0x0000000706600000, 0x0000000706600000, 0x0000000706700000| 0%| F| |TAMS 0x0000000706600000, 0x0000000706600000| Untracked +| 63|0x0000000706700000, 0x0000000706700000, 0x0000000706800000| 0%| F| |TAMS 0x0000000706700000, 0x0000000706700000| Untracked +| 64|0x0000000706800000, 0x0000000706800000, 0x0000000706900000| 0%| F| |TAMS 0x0000000706800000, 0x0000000706800000| Untracked +| 65|0x0000000706900000, 0x0000000706900000, 0x0000000706a00000| 0%| F| |TAMS 0x0000000706900000, 0x0000000706900000| Untracked +| 66|0x0000000706a00000, 0x0000000706a00000, 0x0000000706b00000| 0%| F| |TAMS 0x0000000706a00000, 0x0000000706a00000| Untracked +| 67|0x0000000706b00000, 0x0000000706b00000, 0x0000000706c00000| 0%| F| |TAMS 0x0000000706b00000, 0x0000000706b00000| Untracked +| 68|0x0000000706c00000, 0x0000000706c00000, 0x0000000706d00000| 0%| F| |TAMS 0x0000000706c00000, 0x0000000706c00000| Untracked +| 69|0x0000000706d00000, 0x0000000706d00000, 0x0000000706e00000| 0%| F| |TAMS 0x0000000706d00000, 0x0000000706d00000| Untracked +| 70|0x0000000706e00000, 0x0000000706e00000, 0x0000000706f00000| 0%| F| |TAMS 0x0000000706e00000, 0x0000000706e00000| Untracked +| 71|0x0000000706f00000, 0x0000000706f00000, 0x0000000707000000| 0%| F| |TAMS 0x0000000706f00000, 0x0000000706f00000| Untracked +| 72|0x0000000707000000, 0x0000000707000000, 0x0000000707100000| 0%| F| |TAMS 0x0000000707000000, 0x0000000707000000| Untracked +| 73|0x0000000707100000, 0x0000000707100000, 0x0000000707200000| 0%| F| |TAMS 0x0000000707100000, 0x0000000707100000| Untracked +| 74|0x0000000707200000, 0x0000000707200000, 0x0000000707300000| 0%| F| |TAMS 0x0000000707200000, 0x0000000707200000| Untracked +| 75|0x0000000707300000, 0x0000000707300000, 0x0000000707400000| 0%| F| |TAMS 0x0000000707300000, 0x0000000707300000| Untracked +| 76|0x0000000707400000, 0x0000000707400000, 0x0000000707500000| 0%| F| |TAMS 0x0000000707400000, 0x0000000707400000| Untracked +| 77|0x0000000707500000, 0x0000000707500000, 0x0000000707600000| 0%| F| |TAMS 0x0000000707500000, 0x0000000707500000| Untracked +| 78|0x0000000707600000, 0x0000000707600000, 0x0000000707700000| 0%| F| |TAMS 0x0000000707600000, 0x0000000707600000| Untracked +| 79|0x0000000707700000, 0x0000000707700000, 0x0000000707800000| 0%| F| |TAMS 0x0000000707700000, 0x0000000707700000| Untracked +| 80|0x0000000707800000, 0x0000000707800000, 0x0000000707900000| 0%| F| |TAMS 0x0000000707800000, 0x0000000707800000| Untracked +| 81|0x0000000707900000, 0x0000000707900000, 0x0000000707a00000| 0%| F| |TAMS 0x0000000707900000, 0x0000000707900000| Untracked +| 82|0x0000000707a00000, 0x0000000707a00000, 0x0000000707b00000| 0%| F| |TAMS 0x0000000707a00000, 0x0000000707a00000| Untracked +| 83|0x0000000707b00000, 0x0000000707b00000, 0x0000000707c00000| 0%| F| |TAMS 0x0000000707b00000, 0x0000000707b00000| Untracked +| 84|0x0000000707c00000, 0x0000000707c00000, 0x0000000707d00000| 0%| F| |TAMS 0x0000000707c00000, 0x0000000707c00000| Untracked +| 85|0x0000000707d00000, 0x0000000707d00000, 0x0000000707e00000| 0%| F| |TAMS 0x0000000707d00000, 0x0000000707d00000| Untracked +| 86|0x0000000707e00000, 0x0000000707e00000, 0x0000000707f00000| 0%| F| |TAMS 0x0000000707e00000, 0x0000000707e00000| Untracked +| 87|0x0000000707f00000, 0x0000000707f00000, 0x0000000708000000| 0%| F| |TAMS 0x0000000707f00000, 0x0000000707f00000| Untracked +| 88|0x0000000708000000, 0x0000000708000000, 0x0000000708100000| 0%| F| |TAMS 0x0000000708000000, 0x0000000708000000| Untracked +| 89|0x0000000708100000, 0x0000000708100000, 0x0000000708200000| 0%| F| |TAMS 0x0000000708100000, 0x0000000708100000| Untracked +| 90|0x0000000708200000, 0x0000000708200000, 0x0000000708300000| 0%| F| |TAMS 0x0000000708200000, 0x0000000708200000| Untracked +| 91|0x0000000708300000, 0x0000000708300000, 0x0000000708400000| 0%| F| |TAMS 0x0000000708300000, 0x0000000708300000| Untracked +| 92|0x0000000708400000, 0x0000000708400000, 0x0000000708500000| 0%| F| |TAMS 0x0000000708400000, 0x0000000708400000| Untracked +| 93|0x0000000708500000, 0x0000000708500000, 0x0000000708600000| 0%| F| |TAMS 0x0000000708500000, 0x0000000708500000| Untracked +| 94|0x0000000708600000, 0x0000000708600000, 0x0000000708700000| 0%| F| |TAMS 0x0000000708600000, 0x0000000708600000| Untracked +| 95|0x0000000708700000, 0x0000000708700000, 0x0000000708800000| 0%| F| |TAMS 0x0000000708700000, 0x0000000708700000| Untracked +| 96|0x0000000708800000, 0x0000000708800000, 0x0000000708900000| 0%| F| |TAMS 0x0000000708800000, 0x0000000708800000| Untracked +| 97|0x0000000708900000, 0x0000000708900000, 0x0000000708a00000| 0%| F| |TAMS 0x0000000708900000, 0x0000000708900000| Untracked +| 98|0x0000000708a00000, 0x0000000708a00000, 0x0000000708b00000| 0%| F| |TAMS 0x0000000708a00000, 0x0000000708a00000| Untracked +| 99|0x0000000708b00000, 0x0000000708b00000, 0x0000000708c00000| 0%| F| |TAMS 0x0000000708b00000, 0x0000000708b00000| Untracked +| 100|0x0000000708c00000, 0x0000000708c00000, 0x0000000708d00000| 0%| F| |TAMS 0x0000000708c00000, 0x0000000708c00000| Untracked +| 101|0x0000000708d00000, 0x0000000708d00000, 0x0000000708e00000| 0%| F| |TAMS 0x0000000708d00000, 0x0000000708d00000| Untracked +| 102|0x0000000708e00000, 0x0000000708e00000, 0x0000000708f00000| 0%| F| |TAMS 0x0000000708e00000, 0x0000000708e00000| Untracked +| 103|0x0000000708f00000, 0x0000000708f00000, 0x0000000709000000| 0%| F| |TAMS 0x0000000708f00000, 0x0000000708f00000| Untracked +| 104|0x0000000709000000, 0x0000000709000000, 0x0000000709100000| 0%| F| |TAMS 0x0000000709000000, 0x0000000709000000| Untracked +| 105|0x0000000709100000, 0x0000000709100000, 0x0000000709200000| 0%| F| |TAMS 0x0000000709100000, 0x0000000709100000| Untracked +| 106|0x0000000709200000, 0x0000000709200000, 0x0000000709300000| 0%| F| |TAMS 0x0000000709200000, 0x0000000709200000| Untracked +| 107|0x0000000709300000, 0x0000000709300000, 0x0000000709400000| 0%| F| |TAMS 0x0000000709300000, 0x0000000709300000| Untracked +| 108|0x0000000709400000, 0x0000000709400000, 0x0000000709500000| 0%| F| |TAMS 0x0000000709400000, 0x0000000709400000| Untracked +| 109|0x0000000709500000, 0x0000000709500000, 0x0000000709600000| 0%| F| |TAMS 0x0000000709500000, 0x0000000709500000| Untracked +| 110|0x0000000709600000, 0x0000000709600000, 0x0000000709700000| 0%| F| |TAMS 0x0000000709600000, 0x0000000709600000| Untracked +| 111|0x0000000709700000, 0x0000000709700000, 0x0000000709800000| 0%| F| |TAMS 0x0000000709700000, 0x0000000709700000| Untracked +| 112|0x0000000709800000, 0x0000000709800000, 0x0000000709900000| 0%| F| |TAMS 0x0000000709800000, 0x0000000709800000| Untracked +| 113|0x0000000709900000, 0x0000000709900000, 0x0000000709a00000| 0%| F| |TAMS 0x0000000709900000, 0x0000000709900000| Untracked +| 114|0x0000000709a00000, 0x0000000709a00000, 0x0000000709b00000| 0%| F| |TAMS 0x0000000709a00000, 0x0000000709a00000| Untracked +| 115|0x0000000709b00000, 0x0000000709b00000, 0x0000000709c00000| 0%| F| |TAMS 0x0000000709b00000, 0x0000000709b00000| Untracked +| 116|0x0000000709c00000, 0x0000000709c00000, 0x0000000709d00000| 0%| F| |TAMS 0x0000000709c00000, 0x0000000709c00000| Untracked +| 117|0x0000000709d00000, 0x0000000709d00000, 0x0000000709e00000| 0%| F| |TAMS 0x0000000709d00000, 0x0000000709d00000| Untracked +| 118|0x0000000709e00000, 0x0000000709e00000, 0x0000000709f00000| 0%| F| |TAMS 0x0000000709e00000, 0x0000000709e00000| Untracked +| 119|0x0000000709f00000, 0x0000000709f00000, 0x000000070a000000| 0%| F| |TAMS 0x0000000709f00000, 0x0000000709f00000| Untracked +| 120|0x000000070a000000, 0x000000070a000000, 0x000000070a100000| 0%| F| |TAMS 0x000000070a000000, 0x000000070a000000| Untracked +| 121|0x000000070a100000, 0x000000070a100000, 0x000000070a200000| 0%| F| |TAMS 0x000000070a100000, 0x000000070a100000| Untracked +| 122|0x000000070a200000, 0x000000070a200000, 0x000000070a300000| 0%| F| |TAMS 0x000000070a200000, 0x000000070a200000| Untracked +| 123|0x000000070a300000, 0x000000070a300000, 0x000000070a400000| 0%| F| |TAMS 0x000000070a300000, 0x000000070a300000| Untracked +| 124|0x000000070a400000, 0x000000070a400000, 0x000000070a500000| 0%| F| |TAMS 0x000000070a400000, 0x000000070a400000| Untracked +| 125|0x000000070a500000, 0x000000070a500000, 0x000000070a600000| 0%| F| |TAMS 0x000000070a500000, 0x000000070a500000| Untracked +| 126|0x000000070a600000, 0x000000070a600000, 0x000000070a700000| 0%| F| |TAMS 0x000000070a600000, 0x000000070a600000| Untracked +| 127|0x000000070a700000, 0x000000070a700000, 0x000000070a800000| 0%| F| |TAMS 0x000000070a700000, 0x000000070a700000| Untracked +| 128|0x000000070a800000, 0x000000070a800000, 0x000000070a900000| 0%| F| |TAMS 0x000000070a800000, 0x000000070a800000| Untracked +| 129|0x000000070a900000, 0x000000070a900000, 0x000000070aa00000| 0%| F| |TAMS 0x000000070a900000, 0x000000070a900000| Untracked +| 130|0x000000070aa00000, 0x000000070aa00000, 0x000000070ab00000| 0%| F| |TAMS 0x000000070aa00000, 0x000000070aa00000| Untracked +| 131|0x000000070ab00000, 0x000000070ab00000, 0x000000070ac00000| 0%| F| |TAMS 0x000000070ab00000, 0x000000070ab00000| Untracked +| 132|0x000000070ac00000, 0x000000070ac00000, 0x000000070ad00000| 0%| F| |TAMS 0x000000070ac00000, 0x000000070ac00000| Untracked +| 133|0x000000070ad00000, 0x000000070ad00000, 0x000000070ae00000| 0%| F| |TAMS 0x000000070ad00000, 0x000000070ad00000| Untracked +| 134|0x000000070ae00000, 0x000000070ae00000, 0x000000070af00000| 0%| F| |TAMS 0x000000070ae00000, 0x000000070ae00000| Untracked +| 135|0x000000070af00000, 0x000000070af00000, 0x000000070b000000| 0%| F| |TAMS 0x000000070af00000, 0x000000070af00000| Untracked +| 136|0x000000070b000000, 0x000000070b000000, 0x000000070b100000| 0%| F| |TAMS 0x000000070b000000, 0x000000070b000000| Untracked +| 137|0x000000070b100000, 0x000000070b100000, 0x000000070b200000| 0%| F| |TAMS 0x000000070b100000, 0x000000070b100000| Untracked +| 138|0x000000070b200000, 0x000000070b200000, 0x000000070b300000| 0%| F| |TAMS 0x000000070b200000, 0x000000070b200000| Untracked +| 139|0x000000070b300000, 0x000000070b300000, 0x000000070b400000| 0%| F| |TAMS 0x000000070b300000, 0x000000070b300000| Untracked +| 140|0x000000070b400000, 0x000000070b400000, 0x000000070b500000| 0%| F| |TAMS 0x000000070b400000, 0x000000070b400000| Untracked +| 141|0x000000070b500000, 0x000000070b500000, 0x000000070b600000| 0%| F| |TAMS 0x000000070b500000, 0x000000070b500000| Untracked +| 142|0x000000070b600000, 0x000000070b600000, 0x000000070b700000| 0%| F| |TAMS 0x000000070b600000, 0x000000070b600000| Untracked +| 143|0x000000070b700000, 0x000000070b700000, 0x000000070b800000| 0%| F| |TAMS 0x000000070b700000, 0x000000070b700000| Untracked +| 144|0x000000070b800000, 0x000000070b800000, 0x000000070b900000| 0%| F| |TAMS 0x000000070b800000, 0x000000070b800000| Untracked +| 145|0x000000070b900000, 0x000000070b900000, 0x000000070ba00000| 0%| F| |TAMS 0x000000070b900000, 0x000000070b900000| Untracked +| 146|0x000000070ba00000, 0x000000070ba00000, 0x000000070bb00000| 0%| F| |TAMS 0x000000070ba00000, 0x000000070ba00000| Untracked +| 147|0x000000070bb00000, 0x000000070bb00000, 0x000000070bc00000| 0%| F| |TAMS 0x000000070bb00000, 0x000000070bb00000| Untracked +| 148|0x000000070bc00000, 0x000000070bc00000, 0x000000070bd00000| 0%| F| |TAMS 0x000000070bc00000, 0x000000070bc00000| Untracked +| 149|0x000000070bd00000, 0x000000070bd00000, 0x000000070be00000| 0%| F| |TAMS 0x000000070bd00000, 0x000000070bd00000| Untracked +| 150|0x000000070be00000, 0x000000070be00000, 0x000000070bf00000| 0%| F| |TAMS 0x000000070be00000, 0x000000070be00000| Untracked +| 151|0x000000070bf00000, 0x000000070bf00000, 0x000000070c000000| 0%| F| |TAMS 0x000000070bf00000, 0x000000070bf00000| Untracked +| 152|0x000000070c000000, 0x000000070c000000, 0x000000070c100000| 0%| F| |TAMS 0x000000070c000000, 0x000000070c000000| Untracked +| 153|0x000000070c100000, 0x000000070c100000, 0x000000070c200000| 0%| F| |TAMS 0x000000070c100000, 0x000000070c100000| Untracked +| 154|0x000000070c200000, 0x000000070c200000, 0x000000070c300000| 0%| F| |TAMS 0x000000070c200000, 0x000000070c200000| Untracked +| 155|0x000000070c300000, 0x000000070c300000, 0x000000070c400000| 0%| F| |TAMS 0x000000070c300000, 0x000000070c300000| Untracked +| 156|0x000000070c400000, 0x000000070c400000, 0x000000070c500000| 0%| F| |TAMS 0x000000070c400000, 0x000000070c400000| Untracked +| 157|0x000000070c500000, 0x000000070c500000, 0x000000070c600000| 0%| F| |TAMS 0x000000070c500000, 0x000000070c500000| Untracked +| 158|0x000000070c600000, 0x000000070c600000, 0x000000070c700000| 0%| F| |TAMS 0x000000070c600000, 0x000000070c600000| Untracked +| 159|0x000000070c700000, 0x000000070c700000, 0x000000070c800000| 0%| F| |TAMS 0x000000070c700000, 0x000000070c700000| Untracked +| 160|0x000000070c800000, 0x000000070c800000, 0x000000070c900000| 0%| F| |TAMS 0x000000070c800000, 0x000000070c800000| Untracked +| 161|0x000000070c900000, 0x000000070c900000, 0x000000070ca00000| 0%| F| |TAMS 0x000000070c900000, 0x000000070c900000| Untracked +| 162|0x000000070ca00000, 0x000000070ca00000, 0x000000070cb00000| 0%| F| |TAMS 0x000000070ca00000, 0x000000070ca00000| Untracked +| 163|0x000000070cb00000, 0x000000070cb00000, 0x000000070cc00000| 0%| F| |TAMS 0x000000070cb00000, 0x000000070cb00000| Untracked +| 164|0x000000070cc00000, 0x000000070cc00000, 0x000000070cd00000| 0%| F| |TAMS 0x000000070cc00000, 0x000000070cc00000| Untracked +| 165|0x000000070cd00000, 0x000000070cd00000, 0x000000070ce00000| 0%| F| |TAMS 0x000000070cd00000, 0x000000070cd00000| Untracked +| 166|0x000000070ce00000, 0x000000070ce00000, 0x000000070cf00000| 0%| F| |TAMS 0x000000070ce00000, 0x000000070ce00000| Untracked +| 167|0x000000070cf00000, 0x000000070cf00000, 0x000000070d000000| 0%| F| |TAMS 0x000000070cf00000, 0x000000070cf00000| Untracked +| 168|0x000000070d000000, 0x000000070d000000, 0x000000070d100000| 0%| F| |TAMS 0x000000070d000000, 0x000000070d000000| Untracked +| 169|0x000000070d100000, 0x000000070d100000, 0x000000070d200000| 0%| F| |TAMS 0x000000070d100000, 0x000000070d100000| Untracked +| 170|0x000000070d200000, 0x000000070d200000, 0x000000070d300000| 0%| F| |TAMS 0x000000070d200000, 0x000000070d200000| Untracked +| 171|0x000000070d300000, 0x000000070d300000, 0x000000070d400000| 0%| F| |TAMS 0x000000070d300000, 0x000000070d300000| Untracked +| 172|0x000000070d400000, 0x000000070d400000, 0x000000070d500000| 0%| F| |TAMS 0x000000070d400000, 0x000000070d400000| Untracked +| 173|0x000000070d500000, 0x000000070d500000, 0x000000070d600000| 0%| F| |TAMS 0x000000070d500000, 0x000000070d500000| Untracked +| 174|0x000000070d600000, 0x000000070d600000, 0x000000070d700000| 0%| F| |TAMS 0x000000070d600000, 0x000000070d600000| Untracked +| 175|0x000000070d700000, 0x000000070d700000, 0x000000070d800000| 0%| F| |TAMS 0x000000070d700000, 0x000000070d700000| Untracked +| 176|0x000000070d800000, 0x000000070d800000, 0x000000070d900000| 0%| F| |TAMS 0x000000070d800000, 0x000000070d800000| Untracked +| 177|0x000000070d900000, 0x000000070d900000, 0x000000070da00000| 0%| F| |TAMS 0x000000070d900000, 0x000000070d900000| Untracked +| 178|0x000000070da00000, 0x000000070da00000, 0x000000070db00000| 0%| F| |TAMS 0x000000070da00000, 0x000000070da00000| Untracked +| 179|0x000000070db00000, 0x000000070db00000, 0x000000070dc00000| 0%| F| |TAMS 0x000000070db00000, 0x000000070db00000| Untracked +| 180|0x000000070dc00000, 0x000000070dc00000, 0x000000070dd00000| 0%| F| |TAMS 0x000000070dc00000, 0x000000070dc00000| Untracked +| 181|0x000000070dd00000, 0x000000070dd00000, 0x000000070de00000| 0%| F| |TAMS 0x000000070dd00000, 0x000000070dd00000| Untracked +| 182|0x000000070de00000, 0x000000070de00000, 0x000000070df00000| 0%| F| |TAMS 0x000000070de00000, 0x000000070de00000| Untracked +| 183|0x000000070df00000, 0x000000070df00000, 0x000000070e000000| 0%| F| |TAMS 0x000000070df00000, 0x000000070df00000| Untracked +| 184|0x000000070e000000, 0x000000070e000000, 0x000000070e100000| 0%| F| |TAMS 0x000000070e000000, 0x000000070e000000| Untracked +| 185|0x000000070e100000, 0x000000070e100000, 0x000000070e200000| 0%| F| |TAMS 0x000000070e100000, 0x000000070e100000| Untracked +| 186|0x000000070e200000, 0x000000070e200000, 0x000000070e300000| 0%| F| |TAMS 0x000000070e200000, 0x000000070e200000| Untracked +| 187|0x000000070e300000, 0x000000070e300000, 0x000000070e400000| 0%| F| |TAMS 0x000000070e300000, 0x000000070e300000| Untracked +| 188|0x000000070e400000, 0x000000070e400000, 0x000000070e500000| 0%| F| |TAMS 0x000000070e400000, 0x000000070e400000| Untracked +| 189|0x000000070e500000, 0x000000070e500000, 0x000000070e600000| 0%| F| |TAMS 0x000000070e500000, 0x000000070e500000| Untracked +| 190|0x000000070e600000, 0x000000070e600000, 0x000000070e700000| 0%| F| |TAMS 0x000000070e600000, 0x000000070e600000| Untracked +| 191|0x000000070e700000, 0x000000070e700000, 0x000000070e800000| 0%| F| |TAMS 0x000000070e700000, 0x000000070e700000| Untracked +| 192|0x000000070e800000, 0x000000070e800000, 0x000000070e900000| 0%| F| |TAMS 0x000000070e800000, 0x000000070e800000| Untracked +| 193|0x000000070e900000, 0x000000070e900000, 0x000000070ea00000| 0%| F| |TAMS 0x000000070e900000, 0x000000070e900000| Untracked +| 194|0x000000070ea00000, 0x000000070ea00000, 0x000000070eb00000| 0%| F| |TAMS 0x000000070ea00000, 0x000000070ea00000| Untracked +| 195|0x000000070eb00000, 0x000000070eb00000, 0x000000070ec00000| 0%| F| |TAMS 0x000000070eb00000, 0x000000070eb00000| Untracked +| 196|0x000000070ec00000, 0x000000070ec00000, 0x000000070ed00000| 0%| F| |TAMS 0x000000070ec00000, 0x000000070ec00000| Untracked +| 197|0x000000070ed00000, 0x000000070ed00000, 0x000000070ee00000| 0%| F| |TAMS 0x000000070ed00000, 0x000000070ed00000| Untracked +| 198|0x000000070ee00000, 0x000000070ee00000, 0x000000070ef00000| 0%| F| |TAMS 0x000000070ee00000, 0x000000070ee00000| Untracked +| 199|0x000000070ef00000, 0x000000070ef00000, 0x000000070f000000| 0%| F| |TAMS 0x000000070ef00000, 0x000000070ef00000| Untracked +| 200|0x000000070f000000, 0x000000070f000000, 0x000000070f100000| 0%| F| |TAMS 0x000000070f000000, 0x000000070f000000| Untracked +| 201|0x000000070f100000, 0x000000070f100000, 0x000000070f200000| 0%| F| |TAMS 0x000000070f100000, 0x000000070f100000| Untracked +| 202|0x000000070f200000, 0x000000070f200000, 0x000000070f300000| 0%| F| |TAMS 0x000000070f200000, 0x000000070f200000| Untracked +| 203|0x000000070f300000, 0x000000070f300000, 0x000000070f400000| 0%| F| |TAMS 0x000000070f300000, 0x000000070f300000| Untracked +| 204|0x000000070f400000, 0x000000070f400000, 0x000000070f500000| 0%| F| |TAMS 0x000000070f400000, 0x000000070f400000| Untracked +| 205|0x000000070f500000, 0x000000070f500000, 0x000000070f600000| 0%| F| |TAMS 0x000000070f500000, 0x000000070f500000| Untracked +| 206|0x000000070f600000, 0x000000070f600000, 0x000000070f700000| 0%| F| |TAMS 0x000000070f600000, 0x000000070f600000| Untracked +| 207|0x000000070f700000, 0x000000070f700000, 0x000000070f800000| 0%| F| |TAMS 0x000000070f700000, 0x000000070f700000| Untracked +| 208|0x000000070f800000, 0x000000070f800000, 0x000000070f900000| 0%| F| |TAMS 0x000000070f800000, 0x000000070f800000| Untracked +| 209|0x000000070f900000, 0x000000070f900000, 0x000000070fa00000| 0%| F| |TAMS 0x000000070f900000, 0x000000070f900000| Untracked +| 210|0x000000070fa00000, 0x000000070fa00000, 0x000000070fb00000| 0%| F| |TAMS 0x000000070fa00000, 0x000000070fa00000| Untracked +| 211|0x000000070fb00000, 0x000000070fb00000, 0x000000070fc00000| 0%| F| |TAMS 0x000000070fb00000, 0x000000070fb00000| Untracked +| 212|0x000000070fc00000, 0x000000070fc00000, 0x000000070fd00000| 0%| F| |TAMS 0x000000070fc00000, 0x000000070fc00000| Untracked +| 213|0x000000070fd00000, 0x000000070fd00000, 0x000000070fe00000| 0%| F| |TAMS 0x000000070fd00000, 0x000000070fd00000| Untracked +| 214|0x000000070fe00000, 0x000000070fe00000, 0x000000070ff00000| 0%| F| |TAMS 0x000000070fe00000, 0x000000070fe00000| Untracked +| 215|0x000000070ff00000, 0x000000070ff00000, 0x0000000710000000| 0%| F| |TAMS 0x000000070ff00000, 0x000000070ff00000| Untracked +| 216|0x0000000710000000, 0x0000000710000000, 0x0000000710100000| 0%| F| |TAMS 0x0000000710000000, 0x0000000710000000| Untracked +| 217|0x0000000710100000, 0x0000000710100000, 0x0000000710200000| 0%| F| |TAMS 0x0000000710100000, 0x0000000710100000| Untracked +| 218|0x0000000710200000, 0x0000000710200000, 0x0000000710300000| 0%| F| |TAMS 0x0000000710200000, 0x0000000710200000| Untracked +| 219|0x0000000710300000, 0x0000000710300000, 0x0000000710400000| 0%| F| |TAMS 0x0000000710300000, 0x0000000710300000| Untracked +| 220|0x0000000710400000, 0x0000000710400000, 0x0000000710500000| 0%| F| |TAMS 0x0000000710400000, 0x0000000710400000| Untracked +| 221|0x0000000710500000, 0x0000000710500000, 0x0000000710600000| 0%| F| |TAMS 0x0000000710500000, 0x0000000710500000| Untracked +| 222|0x0000000710600000, 0x0000000710600000, 0x0000000710700000| 0%| F| |TAMS 0x0000000710600000, 0x0000000710600000| Untracked +| 223|0x0000000710700000, 0x0000000710700000, 0x0000000710800000| 0%| F| |TAMS 0x0000000710700000, 0x0000000710700000| Untracked +| 224|0x0000000710800000, 0x0000000710800000, 0x0000000710900000| 0%| F| |TAMS 0x0000000710800000, 0x0000000710800000| Untracked +| 225|0x0000000710900000, 0x0000000710900000, 0x0000000710a00000| 0%| F| |TAMS 0x0000000710900000, 0x0000000710900000| Untracked +| 226|0x0000000710a00000, 0x0000000710a00000, 0x0000000710b00000| 0%| F| |TAMS 0x0000000710a00000, 0x0000000710a00000| Untracked +| 227|0x0000000710b00000, 0x0000000710b00000, 0x0000000710c00000| 0%| F| |TAMS 0x0000000710b00000, 0x0000000710b00000| Untracked +| 228|0x0000000710c00000, 0x0000000710c00000, 0x0000000710d00000| 0%| F| |TAMS 0x0000000710c00000, 0x0000000710c00000| Untracked +| 229|0x0000000710d00000, 0x0000000710d00000, 0x0000000710e00000| 0%| F| |TAMS 0x0000000710d00000, 0x0000000710d00000| Untracked +| 230|0x0000000710e00000, 0x0000000710e00000, 0x0000000710f00000| 0%| F| |TAMS 0x0000000710e00000, 0x0000000710e00000| Untracked +| 231|0x0000000710f00000, 0x0000000710f00000, 0x0000000711000000| 0%| F| |TAMS 0x0000000710f00000, 0x0000000710f00000| Untracked +| 232|0x0000000711000000, 0x0000000711000000, 0x0000000711100000| 0%| F| |TAMS 0x0000000711000000, 0x0000000711000000| Untracked +| 233|0x0000000711100000, 0x0000000711100000, 0x0000000711200000| 0%| F| |TAMS 0x0000000711100000, 0x0000000711100000| Untracked +| 234|0x0000000711200000, 0x0000000711200000, 0x0000000711300000| 0%| F| |TAMS 0x0000000711200000, 0x0000000711200000| Untracked +| 235|0x0000000711300000, 0x0000000711300000, 0x0000000711400000| 0%| F| |TAMS 0x0000000711300000, 0x0000000711300000| Untracked +| 236|0x0000000711400000, 0x0000000711400000, 0x0000000711500000| 0%| F| |TAMS 0x0000000711400000, 0x0000000711400000| Untracked +| 237|0x0000000711500000, 0x0000000711500000, 0x0000000711600000| 0%| F| |TAMS 0x0000000711500000, 0x0000000711500000| Untracked +| 238|0x0000000711600000, 0x0000000711600000, 0x0000000711700000| 0%| F| |TAMS 0x0000000711600000, 0x0000000711600000| Untracked +| 239|0x0000000711700000, 0x0000000711700000, 0x0000000711800000| 0%| F| |TAMS 0x0000000711700000, 0x0000000711700000| Untracked +| 240|0x0000000711800000, 0x0000000711800000, 0x0000000711900000| 0%| F| |TAMS 0x0000000711800000, 0x0000000711800000| Untracked +| 241|0x0000000711900000, 0x0000000711900000, 0x0000000711a00000| 0%| F| |TAMS 0x0000000711900000, 0x0000000711900000| Untracked +| 242|0x0000000711a00000, 0x0000000711a00000, 0x0000000711b00000| 0%| F| |TAMS 0x0000000711a00000, 0x0000000711a00000| Untracked +| 243|0x0000000711b00000, 0x0000000711b00000, 0x0000000711c00000| 0%| F| |TAMS 0x0000000711b00000, 0x0000000711b00000| Untracked +| 244|0x0000000711c00000, 0x0000000711c00000, 0x0000000711d00000| 0%| F| |TAMS 0x0000000711c00000, 0x0000000711c00000| Untracked +| 245|0x0000000711d00000, 0x0000000711d00000, 0x0000000711e00000| 0%| F| |TAMS 0x0000000711d00000, 0x0000000711d00000| Untracked +| 246|0x0000000711e00000, 0x0000000711e00000, 0x0000000711f00000| 0%| F| |TAMS 0x0000000711e00000, 0x0000000711e00000| Untracked +| 247|0x0000000711f00000, 0x0000000711f00000, 0x0000000712000000| 0%| F| |TAMS 0x0000000711f00000, 0x0000000711f00000| Untracked +| 248|0x0000000712000000, 0x0000000712000000, 0x0000000712100000| 0%| F| |TAMS 0x0000000712000000, 0x0000000712000000| Untracked +| 249|0x0000000712100000, 0x0000000712100000, 0x0000000712200000| 0%| F| |TAMS 0x0000000712100000, 0x0000000712100000| Untracked +| 250|0x0000000712200000, 0x0000000712200000, 0x0000000712300000| 0%| F| |TAMS 0x0000000712200000, 0x0000000712200000| Untracked +| 251|0x0000000712300000, 0x0000000712300000, 0x0000000712400000| 0%| F| |TAMS 0x0000000712300000, 0x0000000712300000| Untracked +| 252|0x0000000712400000, 0x0000000712400000, 0x0000000712500000| 0%| F| |TAMS 0x0000000712400000, 0x0000000712400000| Untracked +| 253|0x0000000712500000, 0x0000000712600000, 0x0000000712600000|100%| S|CS|TAMS 0x0000000712500000, 0x0000000712500000| Complete +| 254|0x0000000712600000, 0x0000000712700000, 0x0000000712700000|100%| S|CS|TAMS 0x0000000712600000, 0x0000000712600000| Complete +| 255|0x0000000712700000, 0x0000000712800000, 0x0000000712800000|100%| S|CS|TAMS 0x0000000712700000, 0x0000000712700000| Complete +| 256|0x0000000712800000, 0x0000000712900000, 0x0000000712900000|100%| S|CS|TAMS 0x0000000712800000, 0x0000000712800000| Complete +| 257|0x0000000712900000, 0x0000000712a00000, 0x0000000712a00000|100%| S|CS|TAMS 0x0000000712900000, 0x0000000712900000| Complete +| 258|0x0000000712a00000, 0x0000000712b00000, 0x0000000712b00000|100%| S|CS|TAMS 0x0000000712a00000, 0x0000000712a00000| Complete +| 259|0x0000000712b00000, 0x0000000712c00000, 0x0000000712c00000|100%| S|CS|TAMS 0x0000000712b00000, 0x0000000712b00000| Complete +| 260|0x0000000712c00000, 0x0000000712d00000, 0x0000000712d00000|100%| S|CS|TAMS 0x0000000712c00000, 0x0000000712c00000| Complete +| 261|0x0000000712d00000, 0x0000000712e00000, 0x0000000712e00000|100%| S|CS|TAMS 0x0000000712d00000, 0x0000000712d00000| Complete +| 262|0x0000000712e00000, 0x0000000712f00000, 0x0000000712f00000|100%| S|CS|TAMS 0x0000000712e00000, 0x0000000712e00000| Complete +| 263|0x0000000712f00000, 0x0000000713000000, 0x0000000713000000|100%| S|CS|TAMS 0x0000000712f00000, 0x0000000712f00000| Complete +| 264|0x0000000713000000, 0x0000000713100000, 0x0000000713100000|100%| S|CS|TAMS 0x0000000713000000, 0x0000000713000000| Complete +| 265|0x0000000713100000, 0x0000000713200000, 0x0000000713200000|100%| S|CS|TAMS 0x0000000713100000, 0x0000000713100000| Complete +| 266|0x0000000713200000, 0x0000000713200000, 0x0000000713300000| 0%| F| |TAMS 0x0000000713200000, 0x0000000713200000| Untracked +| 267|0x0000000713300000, 0x0000000713300000, 0x0000000713400000| 0%| F| |TAMS 0x0000000713300000, 0x0000000713300000| Untracked +| 268|0x0000000713400000, 0x0000000713400000, 0x0000000713500000| 0%| F| |TAMS 0x0000000713400000, 0x0000000713400000| Untracked +| 269|0x0000000713500000, 0x0000000713500000, 0x0000000713600000| 0%| F| |TAMS 0x0000000713500000, 0x0000000713500000| Untracked +| 270|0x0000000713600000, 0x0000000713600000, 0x0000000713700000| 0%| F| |TAMS 0x0000000713600000, 0x0000000713600000| Untracked +| 271|0x0000000713700000, 0x0000000713700000, 0x0000000713800000| 0%| F| |TAMS 0x0000000713700000, 0x0000000713700000| Untracked +| 272|0x0000000713800000, 0x0000000713800000, 0x0000000713900000| 0%| F| |TAMS 0x0000000713800000, 0x0000000713800000| Untracked +| 273|0x0000000713900000, 0x0000000713900000, 0x0000000713a00000| 0%| F| |TAMS 0x0000000713900000, 0x0000000713900000| Untracked +| 274|0x0000000713a00000, 0x0000000713a00000, 0x0000000713b00000| 0%| F| |TAMS 0x0000000713a00000, 0x0000000713a00000| Untracked +| 275|0x0000000713b00000, 0x0000000713b00000, 0x0000000713c00000| 0%| F| |TAMS 0x0000000713b00000, 0x0000000713b00000| Untracked +| 276|0x0000000713c00000, 0x0000000713c00000, 0x0000000713d00000| 0%| F| |TAMS 0x0000000713c00000, 0x0000000713c00000| Untracked +| 277|0x0000000713d00000, 0x0000000713d00000, 0x0000000713e00000| 0%| F| |TAMS 0x0000000713d00000, 0x0000000713d00000| Untracked +| 278|0x0000000713e00000, 0x0000000713e00000, 0x0000000713f00000| 0%| F| |TAMS 0x0000000713e00000, 0x0000000713e00000| Untracked +| 279|0x0000000713f00000, 0x0000000713f00000, 0x0000000714000000| 0%| F| |TAMS 0x0000000713f00000, 0x0000000713f00000| Untracked +| 280|0x0000000714000000, 0x0000000714000000, 0x0000000714100000| 0%| F| |TAMS 0x0000000714000000, 0x0000000714000000| Untracked +| 281|0x0000000714100000, 0x0000000714100000, 0x0000000714200000| 0%| F| |TAMS 0x0000000714100000, 0x0000000714100000| Untracked +| 282|0x0000000714200000, 0x0000000714200000, 0x0000000714300000| 0%| F| |TAMS 0x0000000714200000, 0x0000000714200000| Untracked +| 283|0x0000000714300000, 0x0000000714300000, 0x0000000714400000| 0%| F| |TAMS 0x0000000714300000, 0x0000000714300000| Untracked +| 284|0x0000000714400000, 0x0000000714400000, 0x0000000714500000| 0%| F| |TAMS 0x0000000714400000, 0x0000000714400000| Untracked +| 285|0x0000000714500000, 0x0000000714500000, 0x0000000714600000| 0%| F| |TAMS 0x0000000714500000, 0x0000000714500000| Untracked +| 286|0x0000000714600000, 0x0000000714600000, 0x0000000714700000| 0%| F| |TAMS 0x0000000714600000, 0x0000000714600000| Untracked +| 287|0x0000000714700000, 0x0000000714700000, 0x0000000714800000| 0%| F| |TAMS 0x0000000714700000, 0x0000000714700000| Untracked +| 288|0x0000000714800000, 0x0000000714800000, 0x0000000714900000| 0%| F| |TAMS 0x0000000714800000, 0x0000000714800000| Untracked +| 289|0x0000000714900000, 0x0000000714900000, 0x0000000714a00000| 0%| F| |TAMS 0x0000000714900000, 0x0000000714900000| Untracked +| 290|0x0000000714a00000, 0x0000000714a00000, 0x0000000714b00000| 0%| F| |TAMS 0x0000000714a00000, 0x0000000714a00000| Untracked +| 291|0x0000000714b00000, 0x0000000714b00000, 0x0000000714c00000| 0%| F| |TAMS 0x0000000714b00000, 0x0000000714b00000| Untracked +| 292|0x0000000714c00000, 0x0000000714c00000, 0x0000000714d00000| 0%| F| |TAMS 0x0000000714c00000, 0x0000000714c00000| Untracked +| 293|0x0000000714d00000, 0x0000000714d00000, 0x0000000714e00000| 0%| F| |TAMS 0x0000000714d00000, 0x0000000714d00000| Untracked +| 294|0x0000000714e00000, 0x0000000714e00000, 0x0000000714f00000| 0%| F| |TAMS 0x0000000714e00000, 0x0000000714e00000| Untracked +| 295|0x0000000714f00000, 0x0000000714f00000, 0x0000000715000000| 0%| F| |TAMS 0x0000000714f00000, 0x0000000714f00000| Untracked +| 296|0x0000000715000000, 0x0000000715000000, 0x0000000715100000| 0%| F| |TAMS 0x0000000715000000, 0x0000000715000000| Untracked +| 297|0x0000000715100000, 0x0000000715100000, 0x0000000715200000| 0%| F| |TAMS 0x0000000715100000, 0x0000000715100000| Untracked +| 298|0x0000000715200000, 0x0000000715200000, 0x0000000715300000| 0%| F| |TAMS 0x0000000715200000, 0x0000000715200000| Untracked +| 299|0x0000000715300000, 0x0000000715300000, 0x0000000715400000| 0%| F| |TAMS 0x0000000715300000, 0x0000000715300000| Untracked +| 300|0x0000000715400000, 0x0000000715400000, 0x0000000715500000| 0%| F| |TAMS 0x0000000715400000, 0x0000000715400000| Untracked +| 301|0x0000000715500000, 0x0000000715500000, 0x0000000715600000| 0%| F| |TAMS 0x0000000715500000, 0x0000000715500000| Untracked +| 302|0x0000000715600000, 0x0000000715600000, 0x0000000715700000| 0%| F| |TAMS 0x0000000715600000, 0x0000000715600000| Untracked +| 303|0x0000000715700000, 0x0000000715700000, 0x0000000715800000| 0%| F| |TAMS 0x0000000715700000, 0x0000000715700000| Untracked +| 304|0x0000000715800000, 0x0000000715800000, 0x0000000715900000| 0%| F| |TAMS 0x0000000715800000, 0x0000000715800000| Untracked +| 305|0x0000000715900000, 0x0000000715900000, 0x0000000715a00000| 0%| F| |TAMS 0x0000000715900000, 0x0000000715900000| Untracked +| 306|0x0000000715a00000, 0x0000000715a00000, 0x0000000715b00000| 0%| F| |TAMS 0x0000000715a00000, 0x0000000715a00000| Untracked +| 307|0x0000000715b00000, 0x0000000715b00000, 0x0000000715c00000| 0%| F| |TAMS 0x0000000715b00000, 0x0000000715b00000| Untracked +| 308|0x0000000715c00000, 0x0000000715c00000, 0x0000000715d00000| 0%| F| |TAMS 0x0000000715c00000, 0x0000000715c00000| Untracked +| 309|0x0000000715d00000, 0x0000000715d00000, 0x0000000715e00000| 0%| F| |TAMS 0x0000000715d00000, 0x0000000715d00000| Untracked +| 310|0x0000000715e00000, 0x0000000715e00000, 0x0000000715f00000| 0%| F| |TAMS 0x0000000715e00000, 0x0000000715e00000| Untracked +| 311|0x0000000715f00000, 0x0000000715f00000, 0x0000000716000000| 0%| F| |TAMS 0x0000000715f00000, 0x0000000715f00000| Untracked +| 312|0x0000000716000000, 0x0000000716000000, 0x0000000716100000| 0%| F| |TAMS 0x0000000716000000, 0x0000000716000000| Untracked +| 313|0x0000000716100000, 0x0000000716100000, 0x0000000716200000| 0%| F| |TAMS 0x0000000716100000, 0x0000000716100000| Untracked +| 314|0x0000000716200000, 0x0000000716200000, 0x0000000716300000| 0%| F| |TAMS 0x0000000716200000, 0x0000000716200000| Untracked +| 315|0x0000000716300000, 0x0000000716300000, 0x0000000716400000| 0%| F| |TAMS 0x0000000716300000, 0x0000000716300000| Untracked +| 316|0x0000000716400000, 0x0000000716400000, 0x0000000716500000| 0%| F| |TAMS 0x0000000716400000, 0x0000000716400000| Untracked +| 317|0x0000000716500000, 0x0000000716500000, 0x0000000716600000| 0%| F| |TAMS 0x0000000716500000, 0x0000000716500000| Untracked +| 318|0x0000000716600000, 0x0000000716600000, 0x0000000716700000| 0%| F| |TAMS 0x0000000716600000, 0x0000000716600000| Untracked +| 319|0x0000000716700000, 0x0000000716700000, 0x0000000716800000| 0%| F| |TAMS 0x0000000716700000, 0x0000000716700000| Untracked +| 320|0x0000000716800000, 0x0000000716800000, 0x0000000716900000| 0%| F| |TAMS 0x0000000716800000, 0x0000000716800000| Untracked +| 321|0x0000000716900000, 0x0000000716900000, 0x0000000716a00000| 0%| F| |TAMS 0x0000000716900000, 0x0000000716900000| Untracked +| 322|0x0000000716a00000, 0x0000000716a00000, 0x0000000716b00000| 0%| F| |TAMS 0x0000000716a00000, 0x0000000716a00000| Untracked +| 323|0x0000000716b00000, 0x0000000716b00000, 0x0000000716c00000| 0%| F| |TAMS 0x0000000716b00000, 0x0000000716b00000| Untracked +| 324|0x0000000716c00000, 0x0000000716c00000, 0x0000000716d00000| 0%| F| |TAMS 0x0000000716c00000, 0x0000000716c00000| Untracked +| 325|0x0000000716d00000, 0x0000000716d00000, 0x0000000716e00000| 0%| F| |TAMS 0x0000000716d00000, 0x0000000716d00000| Untracked +| 326|0x0000000716e00000, 0x0000000716e00000, 0x0000000716f00000| 0%| F| |TAMS 0x0000000716e00000, 0x0000000716e00000| Untracked +| 327|0x0000000716f00000, 0x0000000716f00000, 0x0000000717000000| 0%| F| |TAMS 0x0000000716f00000, 0x0000000716f00000| Untracked +| 328|0x0000000717000000, 0x0000000717000000, 0x0000000717100000| 0%| F| |TAMS 0x0000000717000000, 0x0000000717000000| Untracked +| 329|0x0000000717100000, 0x0000000717100000, 0x0000000717200000| 0%| F| |TAMS 0x0000000717100000, 0x0000000717100000| Untracked +| 330|0x0000000717200000, 0x0000000717200000, 0x0000000717300000| 0%| F| |TAMS 0x0000000717200000, 0x0000000717200000| Untracked +| 331|0x0000000717300000, 0x0000000717300000, 0x0000000717400000| 0%| F| |TAMS 0x0000000717300000, 0x0000000717300000| Untracked +| 332|0x0000000717400000, 0x0000000717400000, 0x0000000717500000| 0%| F| |TAMS 0x0000000717400000, 0x0000000717400000| Untracked +| 333|0x0000000717500000, 0x0000000717500000, 0x0000000717600000| 0%| F| |TAMS 0x0000000717500000, 0x0000000717500000| Untracked +| 334|0x0000000717600000, 0x0000000717600000, 0x0000000717700000| 0%| F| |TAMS 0x0000000717600000, 0x0000000717600000| Untracked +| 335|0x0000000717700000, 0x0000000717700000, 0x0000000717800000| 0%| F| |TAMS 0x0000000717700000, 0x0000000717700000| Untracked +| 336|0x0000000717800000, 0x0000000717800000, 0x0000000717900000| 0%| F| |TAMS 0x0000000717800000, 0x0000000717800000| Untracked +| 337|0x0000000717900000, 0x0000000717900000, 0x0000000717a00000| 0%| F| |TAMS 0x0000000717900000, 0x0000000717900000| Untracked +| 338|0x0000000717a00000, 0x0000000717a00000, 0x0000000717b00000| 0%| F| |TAMS 0x0000000717a00000, 0x0000000717a00000| Untracked +| 339|0x0000000717b00000, 0x0000000717b00000, 0x0000000717c00000| 0%| F| |TAMS 0x0000000717b00000, 0x0000000717b00000| Untracked +| 340|0x0000000717c00000, 0x0000000717c00000, 0x0000000717d00000| 0%| F| |TAMS 0x0000000717c00000, 0x0000000717c00000| Untracked +| 341|0x0000000717d00000, 0x0000000717d00000, 0x0000000717e00000| 0%| F| |TAMS 0x0000000717d00000, 0x0000000717d00000| Untracked +| 342|0x0000000717e00000, 0x0000000717e00000, 0x0000000717f00000| 0%| F| |TAMS 0x0000000717e00000, 0x0000000717e00000| Untracked +| 343|0x0000000717f00000, 0x0000000717f00000, 0x0000000718000000| 0%| F| |TAMS 0x0000000717f00000, 0x0000000717f00000| Untracked +| 344|0x0000000718000000, 0x0000000718000000, 0x0000000718100000| 0%| F| |TAMS 0x0000000718000000, 0x0000000718000000| Untracked +| 345|0x0000000718100000, 0x0000000718100000, 0x0000000718200000| 0%| F| |TAMS 0x0000000718100000, 0x0000000718100000| Untracked +| 346|0x0000000718200000, 0x0000000718200000, 0x0000000718300000| 0%| F| |TAMS 0x0000000718200000, 0x0000000718200000| Untracked +| 347|0x0000000718300000, 0x0000000718300000, 0x0000000718400000| 0%| F| |TAMS 0x0000000718300000, 0x0000000718300000| Untracked +| 348|0x0000000718400000, 0x0000000718400000, 0x0000000718500000| 0%| F| |TAMS 0x0000000718400000, 0x0000000718400000| Untracked +| 349|0x0000000718500000, 0x0000000718500000, 0x0000000718600000| 0%| F| |TAMS 0x0000000718500000, 0x0000000718500000| Untracked +| 350|0x0000000718600000, 0x0000000718600000, 0x0000000718700000| 0%| F| |TAMS 0x0000000718600000, 0x0000000718600000| Untracked +| 351|0x0000000718700000, 0x0000000718700000, 0x0000000718800000| 0%| F| |TAMS 0x0000000718700000, 0x0000000718700000| Untracked +| 352|0x0000000718800000, 0x0000000718800000, 0x0000000718900000| 0%| F| |TAMS 0x0000000718800000, 0x0000000718800000| Untracked +| 353|0x0000000718900000, 0x0000000718900000, 0x0000000718a00000| 0%| F| |TAMS 0x0000000718900000, 0x0000000718900000| Untracked +| 354|0x0000000718a00000, 0x0000000718a00000, 0x0000000718b00000| 0%| F| |TAMS 0x0000000718a00000, 0x0000000718a00000| Untracked +| 355|0x0000000718b00000, 0x0000000718b00000, 0x0000000718c00000| 0%| F| |TAMS 0x0000000718b00000, 0x0000000718b00000| Untracked +| 356|0x0000000718c00000, 0x0000000718c00000, 0x0000000718d00000| 0%| F| |TAMS 0x0000000718c00000, 0x0000000718c00000| Untracked +| 357|0x0000000718d00000, 0x0000000718d00000, 0x0000000718e00000| 0%| F| |TAMS 0x0000000718d00000, 0x0000000718d00000| Untracked +| 358|0x0000000718e00000, 0x0000000718e00000, 0x0000000718f00000| 0%| F| |TAMS 0x0000000718e00000, 0x0000000718e00000| Untracked +| 359|0x0000000718f00000, 0x0000000718f00000, 0x0000000719000000| 0%| F| |TAMS 0x0000000718f00000, 0x0000000718f00000| Untracked +| 360|0x0000000719000000, 0x0000000719000000, 0x0000000719100000| 0%| F| |TAMS 0x0000000719000000, 0x0000000719000000| Untracked +| 361|0x0000000719100000, 0x0000000719100000, 0x0000000719200000| 0%| F| |TAMS 0x0000000719100000, 0x0000000719100000| Untracked +| 362|0x0000000719200000, 0x0000000719200800, 0x0000000719300000| 0%| E| |TAMS 0x0000000719200000, 0x0000000719200000| Complete +| 363|0x0000000719300000, 0x0000000719400000, 0x0000000719400000|100%| E|CS|TAMS 0x0000000719300000, 0x0000000719300000| Complete +| 364|0x0000000719400000, 0x0000000719500000, 0x0000000719500000|100%| E|CS|TAMS 0x0000000719400000, 0x0000000719400000| Complete +| 365|0x0000000719500000, 0x0000000719600000, 0x0000000719600000|100%| E|CS|TAMS 0x0000000719500000, 0x0000000719500000| Complete + +Card table byte_map: [0x0000025afb000000,0x0000025afb7f0000] _byte_map_base: 0x0000025af77ec000 + +Marking Bits (Prev, Next): (CMBitMap*) 0x0000025af214c048, (CMBitMap*) 0x0000025af214c080 + Prev Bits: [0x0000025afbfe0000, 0x0000025afff40000) + Next Bits: [0x0000025a8f000000, 0x0000025a92f60000) + +Polling page: 0x0000025af0030000 + +Metaspace: + +Usage: + Non-class: 51.56 MB capacity, 50.19 MB ( 97%) used, 1.11 MB ( 2%) free+waste, 267.63 KB ( <1%) overhead. + Class: 8.12 MB capacity, 7.22 MB ( 89%) used, 783.26 KB ( 9%) free+waste, 132.31 KB ( 2%) overhead. + Both: 59.68 MB capacity, 57.41 MB ( 96%) used, 1.88 MB ( 3%) free+waste, 399.94 KB ( <1%) overhead. + +Virtual space: + Non-class space: 52.00 MB reserved, 51.81 MB (>99%) committed + Class space: 1.00 GB reserved, 8.18 MB ( <1%) committed + Both: 1.05 GB reserved, 59.99 MB ( 6%) committed + +Chunk freelists: + Non-Class: 5.88 KB + Class: 1.25 KB + Both: 7.13 KB + +CodeHeap 'non-profiled nmethods': size=238336Kb used=12305Kb max_used=12337Kb free=226030Kb + bounds [0x0000025a80740000, 0x0000025a81350000, 0x0000025a8f000000] +CodeHeap 'non-nmethods': size=7424Kb used=1257Kb max_used=1257Kb free=6166Kb + bounds [0x0000025a80000000, 0x0000025a80270000, 0x0000025a80740000] + total_blobs=7601 nmethods=6980 adapters=546 + compilation: enabled + stopped_count=0, restarted_count=0 + full_count=0 + +Compilation events (10 events): +Event: 9.751 Thread 0x0000025a96412000 6986 1 org.apache.tomcat.util.http.MimeHeaderField::getName (5 bytes) +Event: 9.751 Thread 0x0000025a96412000 nmethod 6986 0x0000025a807a3610 code [0x0000025a807a37a0, 0x0000025a807a38b8] +Event: 9.754 Thread 0x0000025a96412000 6987 % 1 java.util.Properties$LineReader::readLine @ 293 (584 bytes) +Event: 9.755 Thread 0x0000025a96412000 nmethod 6987% 0x0000025a81346290 code [0x0000025a81346520, 0x0000025a81347940] +Event: 9.757 Thread 0x0000025a96412000 6988 1 org.springframework.boot.ansi.AnsiStyle::toString (5 bytes) +Event: 9.757 Thread 0x0000025a96412000 nmethod 6988 0x0000025a807b5210 code [0x0000025a807b53a0, 0x0000025a807b54b8] +Event: 9.758 Thread 0x0000025a96412000 6989 1 java.util.ArrayList::sort (45 bytes) +Event: 9.758 Thread 0x0000025a96412000 nmethod 6989 0x0000025a807b4d90 code [0x0000025a807b4f40, 0x0000025a807b5120] +Event: 9.758 Thread 0x0000025a96412000 6990 1 java.util.concurrent.ConcurrentHashMap::isEmpty (15 bytes) +Event: 9.758 Thread 0x0000025a96412000 nmethod 6990 0x0000025a807b4a10 code [0x0000025a807b4bc0, 0x0000025a807b4d10] + +GC Heap History (10 events): +Event: 2.860 GC heap before +{Heap before GC invocations=8 (full 0): + garbage-first heap total 260096K, used 163910K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 152 young (155648K), 16 survivors (16384K) + Metaspace used 47002K, capacity 48511K, committed 48848K, reserved 1091584K + class space used 5726K, capacity 6330K, committed 6432K, reserved 1048576K +} +Event: 2.869 GC heap after +{Heap after GC invocations=9 (full 0): + garbage-first heap total 312320K, used 26454K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 10 young (10240K), 10 survivors (10240K) + Metaspace used 47002K, capacity 48511K, committed 48848K, reserved 1091584K + class space used 5726K, capacity 6330K, committed 6432K, reserved 1048576K +} +Event: 3.060 GC heap before +{Heap before GC invocations=9 (full 0): + garbage-first heap total 312320K, used 203606K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 183 young (187392K), 10 survivors (10240K) + Metaspace used 47310K, capacity 48832K, committed 49104K, reserved 1091584K + class space used 5738K, capacity 6330K, committed 6432K, reserved 1048576K +} +Event: 3.065 GC heap after +{Heap after GC invocations=10 (full 0): + garbage-first heap total 312320K, used 27787K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 11 young (11264K), 11 survivors (11264K) + Metaspace used 47310K, capacity 48832K, committed 49104K, reserved 1091584K + class space used 5738K, capacity 6330K, committed 6432K, reserved 1048576K +} +Event: 3.220 GC heap before +{Heap before GC invocations=10 (full 0): + garbage-first heap total 312320K, used 203915K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 183 young (187392K), 11 survivors (11264K) + Metaspace used 47411K, capacity 48896K, committed 49104K, reserved 1091584K + class space used 5751K, capacity 6330K, committed 6432K, reserved 1048576K +} +Event: 3.225 GC heap after +{Heap after GC invocations=11 (full 0): + garbage-first heap total 312320K, used 29141K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 12 young (12288K), 12 survivors (12288K) + Metaspace used 47411K, capacity 48896K, committed 49104K, reserved 1091584K + class space used 5751K, capacity 6330K, committed 6432K, reserved 1048576K +} +Event: 4.099 GC heap before +{Heap before GC invocations=11 (full 0): + garbage-first heap total 312320K, used 204245K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 183 young (187392K), 12 survivors (12288K) + Metaspace used 54391K, capacity 56165K, committed 56272K, reserved 1097728K + class space used 6723K, capacity 7401K, committed 7456K, reserved 1048576K +} +Event: 4.108 GC heap after +{Heap after GC invocations=12 (full 0): + garbage-first heap total 312320K, used 36309K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 19 young (19456K), 19 survivors (19456K) + Metaspace used 54391K, capacity 56165K, committed 56272K, reserved 1097728K + class space used 6723K, capacity 7401K, committed 7456K, reserved 1048576K +} +Event: 9.759 GC heap before +{Heap before GC invocations=12 (full 0): + garbage-first heap total 312320K, used 75221K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 58 young (59392K), 19 survivors (19456K) + Metaspace used 58247K, capacity 60475K, committed 60508K, reserved 1101824K + class space used 7324K, capacity 8205K, committed 8224K, reserved 1048576K +} +Event: 9.771 GC heap after +{Heap after GC invocations=13 (full 0): + garbage-first heap total 374784K, used 37661K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 13 young (13312K), 13 survivors (13312K) + Metaspace used 58247K, capacity 60475K, committed 60508K, reserved 1101824K + class space used 7324K, capacity 8205K, committed 8224K, reserved 1048576K +} + +Deoptimization events (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (10 events): +Event: 4.275 Thread 0x0000025af20e9800 Exception (0x0000000714018f80) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.276 Thread 0x0000025af20e9800 Exception (0x000000071402f9d8) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.276 Thread 0x0000025af20e9800 Exception (0x0000000714034680) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.276 Thread 0x0000025af20e9800 Exception (0x0000000714039368) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.279 Thread 0x0000025af20e9800 Exception (0x0000000714086c60) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.279 Thread 0x0000025af20e9800 Exception (0x000000071408c628) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.280 Thread 0x0000025af20e9800 Exception (0x00000007140a2360) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.280 Thread 0x0000025af20e9800 Exception (0x00000007140a6d38) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.288 Thread 0x0000025af20e9800 Exception (0x0000000713f49c58) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 228] +Event: 4.288 Thread 0x0000025af20e9800 Exception (0x0000000713f5da20) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 228] + +Events (10 events): +Event: 9.774 loading class org/springframework/context/i18n/LocaleContextHolder +Event: 9.774 loading class org/springframework/context/i18n/LocaleContextHolder done +Event: 9.774 loading class org/springframework/core/NamedInheritableThreadLocal +Event: 9.774 loading class org/springframework/core/NamedInheritableThreadLocal done +Event: 9.774 loading class org/springframework/context/i18n/SimpleLocaleContext +Event: 9.774 loading class org/springframework/context/i18n/SimpleLocaleContext done +Event: 9.774 loading class javax/faces/context/FacesContext +Event: 9.774 loading class javax/faces/context/FacesContext done +Event: 9.775 loading class javax/faces/context$FacesContext +Event: 9.775 loading class javax/faces/context$FacesContext done + + +Dynamic libraries: +0x00007ff6f9bd0000 - 0x00007ff6f9bdf000 D:\Java\jdk-11.0.8\bin\java.exe +0x00007ff9be1f0000 - 0x00007ff9be404000 C:\WINDOWS\SYSTEM32\ntdll.dll +0x00007ff9bcfc0000 - 0x00007ff9bd083000 C:\WINDOWS\System32\KERNEL32.DLL +0x00007ff9bb780000 - 0x00007ff9bbb1d000 C:\WINDOWS\System32\KERNELBASE.dll +0x00007ff9bbe40000 - 0x00007ff9bbf51000 C:\WINDOWS\System32\ucrtbase.dll +0x00007ff99bab0000 - 0x00007ff99bac8000 D:\Java\jdk-11.0.8\bin\jli.dll +0x00007ff99ba90000 - 0x00007ff99baa5000 D:\Java\jdk-11.0.8\bin\VCRUNTIME140.dll +0x00007ff9bc510000 - 0x00007ff9bc5be000 C:\WINDOWS\System32\ADVAPI32.dll +0x00007ff9bd250000 - 0x00007ff9bd2f7000 C:\WINDOWS\System32\msvcrt.dll +0x00007ff9bd110000 - 0x00007ff9bd1b4000 C:\WINDOWS\System32\sechost.dll +0x00007ff9be090000 - 0x00007ff9be1a5000 C:\WINDOWS\System32\RPCRT4.dll +0x00007ff9bdee0000 - 0x00007ff9be08d000 C:\WINDOWS\System32\USER32.dll +0x00007ff9bbbe0000 - 0x00007ff9bbc06000 C:\WINDOWS\System32\win32u.dll +0x00007ff9ba830000 - 0x00007ff9baabe000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22621.608_none_a9444ca7c10bb01d\COMCTL32.dll +0x00007ff9bd210000 - 0x00007ff9bd239000 C:\WINDOWS\System32\GDI32.dll +0x00007ff9bbd20000 - 0x00007ff9bbe32000 C:\WINDOWS\System32\gdi32full.dll +0x00007ff9bbc80000 - 0x00007ff9bbd1a000 C:\WINDOWS\System32\msvcp_win.dll +0x00007ff9af070000 - 0x00007ff9af07a000 C:\WINDOWS\SYSTEM32\VERSION.dll +0x00007ff9bcf80000 - 0x00007ff9bcfb2000 C:\WINDOWS\System32\IMM32.DLL +0x00007ff97f5d0000 - 0x00007ff97f66b000 D:\Java\jdk-11.0.8\bin\msvcp140.dll +0x00007ff94f480000 - 0x00007ff94ff66000 D:\Java\jdk-11.0.8\bin\server\jvm.dll +0x00007ff9bd350000 - 0x00007ff9bd358000 C:\WINDOWS\System32\PSAPI.DLL +0x00007ff9afb80000 - 0x00007ff9afbb4000 C:\WINDOWS\SYSTEM32\WINMM.dll +0x00007ff9a2440000 - 0x00007ff9a2449000 C:\WINDOWS\SYSTEM32\WSOCK32.dll +0x00007ff9bd360000 - 0x00007ff9bd3d1000 C:\WINDOWS\System32\WS2_32.dll +0x00007ff9b9e50000 - 0x00007ff9b9e68000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll +0x00007ff99ba80000 - 0x00007ff99ba90000 D:\Java\jdk-11.0.8\bin\verify.dll +0x00007ff9baf80000 - 0x00007ff9bb1ae000 C:\WINDOWS\SYSTEM32\DBGHELP.DLL +0x00007ff9bc5c0000 - 0x00007ff9bc94a000 C:\WINDOWS\System32\combase.dll +0x00007ff9bdc90000 - 0x00007ff9bdd67000 C:\WINDOWS\System32\OLEAUT32.dll +0x00007ff9badf0000 - 0x00007ff9bae22000 C:\WINDOWS\SYSTEM32\dbgcore.DLL +0x00007ff9bbf60000 - 0x00007ff9bbfdb000 C:\WINDOWS\System32\bcryptPrimitives.dll +0x00007ff99ba50000 - 0x00007ff99ba78000 D:\Java\jdk-11.0.8\bin\java.dll +0x00007ff99ba40000 - 0x00007ff99ba4a000 D:\Java\jdk-11.0.8\bin\jimage.dll +0x00007ff9bae60000 - 0x00007ff9bae6e000 D:\Java\jdk-11.0.8\bin\instrument.dll +0x00007ff99ba20000 - 0x00007ff99ba36000 D:\Java\jdk-11.0.8\bin\zip.dll +0x00007ff9bd4a0000 - 0x00007ff9bdc8f000 C:\WINDOWS\System32\SHELL32.dll +0x00007ff9b8df0000 - 0x00007ff9b96b8000 C:\WINDOWS\SYSTEM32\windows.storage.dll +0x00007ff9b8cb0000 - 0x00007ff9b8dee000 C:\WINDOWS\SYSTEM32\wintypes.dll +0x00007ff9bbfe0000 - 0x00007ff9bc0d1000 C:\WINDOWS\System32\SHCORE.dll +0x00007ff9bdd80000 - 0x00007ff9bddde000 C:\WINDOWS\System32\shlwapi.dll +0x00007ff9bb540000 - 0x00007ff9bb561000 C:\WINDOWS\SYSTEM32\profapi.dll +0x00007ff99ba00000 - 0x00007ff99ba19000 D:\Java\jdk-11.0.8\bin\net.dll +0x00007ff9b1b60000 - 0x00007ff9b1c8f000 C:\WINDOWS\SYSTEM32\WINHTTP.dll +0x00007ff9ba2b0000 - 0x00007ff9ba319000 C:\WINDOWS\system32\mswsock.dll +0x00007ff99b9e0000 - 0x00007ff99b9f2000 D:\Java\jdk-11.0.8\bin\nio.dll +0x00007ff9b2c00000 - 0x00007ff9b2c1a000 D:\Java\idea-2021.2\idea\IntelliJ IDEA 2021.3.2\bin\breakgen64.dll +0x00007ff9b99f0000 - 0x00007ff9b9ae2000 C:\WINDOWS\SYSTEM32\DNSAPI.dll +0x00007ff9b9980000 - 0x00007ff9b99ad000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL +0x00007ff9bd1c0000 - 0x00007ff9bd1c9000 C:\WINDOWS\System32\NSI.dll +0x00007ff9ae310000 - 0x00007ff9ae31a000 C:\Windows\System32\rasadhlp.dll +0x00007ff9ad460000 - 0x00007ff9ad4e3000 C:\WINDOWS\System32\fwpuclnt.dll +0x00007ff9b2c30000 - 0x00007ff9b2c39000 D:\Java\jdk-11.0.8\bin\management.dll +0x00007ff9b2c20000 - 0x00007ff9b2c2b000 D:\Java\jdk-11.0.8\bin\management_ext.dll +0x00007ff9bb2a0000 - 0x00007ff9bb2bb000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll +0x00007ff9ba1d0000 - 0x00007ff9ba205000 C:\WINDOWS\system32\rsaenh.dll +0x00007ff9ba540000 - 0x00007ff9ba568000 C:\WINDOWS\SYSTEM32\USERENV.dll +0x00007ff9baec0000 - 0x00007ff9baee8000 C:\WINDOWS\SYSTEM32\bcrypt.dll +0x00007ff9ba6a0000 - 0x00007ff9ba6ac000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll +0x00007ff9ae630000 - 0x00007ff9ae649000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL +0x00007ff9ae4a0000 - 0x00007ff9ae4bf000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL +0x00007ff9963c0000 - 0x00007ff9963d7000 C:\WINDOWS\system32\napinsp.dll +0x00007ff995d90000 - 0x00007ff995dab000 C:\WINDOWS\system32\pnrpnsp.dll +0x00007ff995c70000 - 0x00007ff995c81000 C:\WINDOWS\System32\winrnr.dll +0x00007ff995c50000 - 0x00007ff995c65000 C:\WINDOWS\system32\wshbth.dll +0x00007ff995c20000 - 0x00007ff995c41000 C:\WINDOWS\system32\nlansp_c.dll +0x0000000180000000 - 0x0000000180286000 D:\Tomcat 9.0\Tomcat_Software\bin\tcnative-1.dll +0x00007ff9bb610000 - 0x00007ff9bb776000 C:\WINDOWS\System32\CRYPT32.dll + +dbghelp: loaded successfully - version: 4.0.5 - missing functions: none +symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;D:\Java\jdk-11.0.8\bin;C:\WINDOWS\SYSTEM32;C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22621.608_none_a9444ca7c10bb01d;D:\Java\jdk-11.0.8\bin\server;D:\Java\idea-2021.2\idea\IntelliJ IDEA 2021.3.2\bin;D:\Tomcat 9.0\Tomcat_Software\bin + +VM Arguments: +jvm_args: -XX:TieredStopAtLevel=1 -Xverify:none -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:D:\Java\idea-2021.2\idea\IntelliJ IDEA 2021.3.2\lib\idea_rt.jar=52932:D:\Java\idea-2021.2\idea\IntelliJ IDEA 2021.3.2\bin -Dfile.encoding=UTF-8 +java_command: com.ew.gerocomium.GerocomiumApplication +java_class_path (initial): D:\Java\idea-2021.2\idea-javaee-workspace\gerocomium\target\classes;D:\Java\maven-3.8.4\tools\repository\org\springframework\boot\spring-boot-starter-security\2.6.1\spring-boot-starter-security-2.6.1.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\boot\spring-boot-starter\2.6.1\spring-boot-starter-2.6.1.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\boot\spring-boot\2.6.1\spring-boot-2.6.1.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\boot\spring-boot-starter-logging\2.6.1\spring-boot-starter-logging-2.6.1.jar;D:\Java\maven-3.8.4\tools\repository\ch\qos\logback\logback-classic\1.2.7\logback-classic-1.2.7.jar;D:\Java\maven-3.8.4\tools\repository\ch\qos\logback\logback-core\1.2.7\logback-core-1.2.7.jar;D:\Java\maven-3.8.4\tools\repository\org\apache\logging\log4j\log4j-to-slf4j\2.14.1\log4j-to-slf4j-2.14.1.jar;D:\Java\maven-3.8.4\tools\repository\org\apache\logging\log4j\log4j-api\2.14.1\log4j-api-2.14.1.jar;D:\Java\maven-3.8.4\tools\repository\org\slf4j\jul-to-slf4j\1.7.32\jul-to-slf4j-1.7.32.jar;D:\Java\maven-3.8.4\tools\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\Java\maven-3.8.4\tools\repository\org\yaml\snakeyaml\1.29\snakeyaml-1.29.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\spring-aop\5.3.13\spring-aop-5.3.13.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\spring-beans\5.3.13\spring-beans-5.3.13.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\security\spring-security-config\5.6.0\spring-security-config-5.6.0.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\security\spring-security-core\5.6.0\spring-security-core-5.6.0.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\security\spring-security-crypto\5.6.0\spring-security-crypto-5.6.0.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\spring-context\5.3.13\spring-context-5.3.13.jar;D:\Java\maven-3.8.4\tools\repository\ +Launcher Type: SUN_STANDARD + +[Global flags] + bool BytecodeVerificationLocal = false {product} {command line} + bool BytecodeVerificationRemote = false {product} {command line} + intx CICompilerCount = 4 {product} {ergonomic} + uint ConcGCThreads = 2 {product} {ergonomic} + uint G1ConcRefinementThreads = 8 {product} {ergonomic} + size_t G1HeapRegionSize = 1048576 {product} {ergonomic} + uintx GCDrainStackTargetSize = 64 {product} {ergonomic} + size_t InitialHeapSize = 266338304 {product} {ergonomic} + bool ManagementServer = true {product} {command line} + size_t MarkStackSize = 4194304 {product} {ergonomic} + size_t MaxHeapSize = 4253024256 {product} {ergonomic} + size_t MaxNewSize = 2551185408 {product} {ergonomic} + size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic} + uintx NonNMethodCodeHeapSize = 7549744 {pd product} {ergonomic} + uintx NonProfiledCodeHeapSize = 244108496 {pd product} {ergonomic} + uintx ProfiledCodeHeapSize = 0 {pd product} {ergonomic} + uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} + bool SegmentedCodeCache = true {product} {ergonomic} + intx TieredStopAtLevel = 1 {product} {command line} + bool UseCompressedClassPointers = true {lp64_product} {ergonomic} + bool UseCompressedOops = true {lp64_product} {ergonomic} + bool UseG1GC = true {product} {ergonomic} + bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} + +Logging: +Log output configuration: + #0: stdout all=warning uptime,level,tags + #1: stderr all=off uptime,level,tags + +Environment Variables: +JAVA_HOME=D:\Java\jdk-1.8.0 +CLASSPATH=.;D:\Java\jdk-1.8.0\lib\dt.jar;D:\Java\jdk-1.8.0\lib\tools.jar; +PATH=C:\Windows;C:\Windows\system32;C:\Windows\System32\Wbem;C:\Windows\System32\OpenSSH\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\MySQL\MySQL Utilities 1.6\;C:\Program Files\MySQL\MySQL Shell 8.0\bin;C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\Program Files\MySQL\MySQL Router 8.0\bin;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\OpenSSH\;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;D:\Java\jdk-1.8.0\bin;D:\Java\jdk-1.8.0\jre\bin;D:\Tomcat 9.0\Tomcat_Software\bin;D:\Tomcat 9.0\Tomcat_Software\lib;D:\Java\maven-3.8.4\bin;D:\VS Code\bin;D:\NodeJs\nodejs;D:\Redis\redis-3.2.1\;D:\Git\TortoiseGit\bin;D:\Git\Git_Software\cmd;D:\GoLand\GoLand_SDK\go1.17.1\bin;D:\AndroidStudio\AndroidStudio_SDK\platform-tools;D:\WeChatDeveloperTools\WeChatDeveloperTools-Software\΢web߹\dll;D:\Putty\Software\;C:\Users\Emperor Wen\AppData\Local\Microsoft\WindowsApps;C:\Users\Emperor Wen\AppData\Roaming\npm; +USERNAME=Emperor-Wen +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 12, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: Windows 10 , 64 bit Build 22621 (10.0.22621.963) + +CPU:total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 142 stepping 12, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx, fma + +Memory: 4k page, system-wide physical 16217M (6212M free) +TotalPageFile size 30553M (AvailPageFile size 16410M) +current process WorkingSet (physical memory assigned to process): 381M, peak: 381M +current process commit charge ("private bytes"): 550M, peak: 550M + +vm_info: Java HotSpot(TM) 64-Bit Server VM (11.0.8+10-LTS) for windows-amd64 JRE (11.0.8+10-LTS), built on Jun 16 2020 05:53:08 by "mach5one" with unknown MS VC++:1916 + +END. diff --git a/server/hs_err_pid7524.log b/server/hs_err_pid7524.log new file mode 100644 index 0000000..71571d6 --- /dev/null +++ b/server/hs_err_pid7524.log @@ -0,0 +1,846 @@ +# +# A fatal error has been detected by the Java Runtime Environment: +# +# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff94f66b655, pid=7524, tid=5480 +# +# JRE version: Java(TM) SE Runtime Environment 18.9 (11.0.8+10) (build 11.0.8+10-LTS) +# Java VM: Java HotSpot(TM) 64-Bit Server VM 18.9 (11.0.8+10-LTS, mixed mode, tiered, compressed oops, g1 gc, windows-amd64) +# Problematic frame: +# V [jvm.dll+0x1eb655] +# +# No core dump will be written. Minidumps are not enabled by default on client versions of Windows +# +# If you would like to submit a bug report, please visit: +# https://bugreport.java.com/bugreport/crash.jsp +# + +--------------- S U M M A R Y ------------ + +Command Line: -XX:TieredStopAtLevel=1 -Xverify:none -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:D:\Java\idea-2021.2\idea\IntelliJ IDEA 2021.3.2\lib\idea_rt.jar=49878:D:\Java\idea-2021.2\idea\IntelliJ IDEA 2021.3.2\bin -Dfile.encoding=UTF-8 com.ew.gerocomium.GerocomiumApplication + +Host: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz, 8 cores, 15G, Windows 10 , 64 bit Build 22621 (10.0.22621.963) +Time: Mon Jan 2 11:11:43 2023 й׼ʱ elapsed time: 17 seconds (0d 0h 0m 17s) + +--------------- T H R E A D --------------- + +Current thread (0x0000020935fcf000): ConcurrentGCThread "G1 Conc#0" [stack: 0x000000962a600000,0x000000962a700000] [id=5480] + +Stack: [0x000000962a600000,0x000000962a700000], sp=0x000000962a6ff720, free space=1021k +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) +V [jvm.dll+0x1eb655] +V [jvm.dll+0x2da69a] +V [jvm.dll+0x2e0fb4] +V [jvm.dll+0x7644f0] +V [jvm.dll+0x6f845c] +V [jvm.dll+0x600d66] +C [ucrtbase.dll+0x29363] +C [KERNEL32.DLL+0x126bd] +C [ntdll.dll+0x5dfb8] + + +siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x0000000000000160 + + +Register to memory mapping: + +RIP=0x00007ff94f66b655 jvm.dll +RAX=0x0000020935f5f7c0 points into unknown readable memory: 8e e8 80 8f e8 80 91 e8 +RBX=0x000000070af06084 is pointing into object: java.lang.String +{0x000000070af06078} - klass: 'java/lang/String' +RCX=0x0000000000000014 is an unknown value +RDX=0x0000000000000001 is an unknown value +RSP=0x000000962a6ff720 points into unknown readable memory: 18 c8 fb 35 09 02 00 00 +RBP=0x0 is NULL +RSI=0x0000000800001a68 is pointing into metadata +RDI=0x000000060c5c6c88 is an unknown value +R8 =0x000000060c5c6c88 is an unknown value +R9 =0x0 is NULL +R10=0x0 is NULL +R11=0x0000000000000246 is an unknown value +R12=0x0000000000000001 is an unknown value +R13=0x00007ff94fe312e0 jvm.dll +R14=0x0000000800001a70 is a pointer to class: +java.lang.reflect.AnnotatedElement {0x0000000800001a78} +R15=0x0000020935fbc770 points into unknown readable memory: 00 d0 fc 35 09 02 00 00 + + +Registers: +RAX=0x0000020935f5f7c0, RBX=0x000000070af06084, RCX=0x0000000000000014, RDX=0x0000000000000001 +RSP=0x000000962a6ff720, RBP=0x0000000000000000, RSI=0x0000000800001a68, RDI=0x000000060c5c6c88 +R8 =0x000000060c5c6c88, R9 =0x0000000000000000, R10=0x0000000000000000, R11=0x0000000000000246 +R12=0x0000000000000001, R13=0x00007ff94fe312e0, R14=0x0000000800001a70, R15=0x0000020935fbc770 +RIP=0x00007ff94f66b655, EFLAGS=0x0000000000010207 + +Top of Stack: (sp=0x000000962a6ff720) +0x000000962a6ff720: 0000020935fbc818 00007ff94f64ce03 +0x000000962a6ff730: 000002095a1b6520 000000962a6ff7c0 +0x000000962a6ff740: 000000070af06078 0000000000000001 +0x000000962a6ff750: 000000070af06088 00007ff94f75a69a +0x000000962a6ff760: 0000000800001808 000000070af06078 +0x000000962a6ff770: 000000080000d1f0 000000962a6ff7c0 +0x000000962a6ff780: 000000962a5ff6d0 0000020935fbc818 +0x000000962a6ff790: 0000000000000003 00007ff94f760fb4 +0x000000962a6ff7a0: 0000000800001808 000000070b000000 +0x000000962a6ff7b0: 000000070af06078 0000000000000000 +0x000000962a6ff7c0: 00007ff94fcba848 0000000000000000 +0x000000962a6ff7d0: 0000020935f66e90 0000020935fbc770 +0x000000962a6ff7e0: 0000000000000001 00007ff94fbe4a0b +0x000000962a6ff7f0: 0000000000000000 00000000000075a3 +0x000000962a6ff800: 0000000000000000 0000020935fcf000 +0x000000962a6ff810: 0000000000000000 00007ff94fbe44f0 + +Instructions: (pc=0x00007ff94f66b655) +0x00007ff94f66b635: 4d 8b d0 44 8b e2 49 8b e9 49 8b f8 8b 88 c0 02 +0x00007ff94f66b645: 00 00 48 8b 80 b0 02 00 00 49 d3 ea 4e 8b 14 d0 +0x00007ff94f66b655: 4d 3b 82 60 01 00 00 72 11 32 c0 48 8b 6c 24 58 +0x00007ff94f66b665: 48 83 c4 20 41 5f 41 5c 5f c3 49 8b 87 90 00 00 + + +Stack slot to memory mapping: +stack at sp + 0 slots: 0x0000020935fbc818 points into unknown readable memory: 58 73 f6 35 09 02 00 00 +stack at sp + 1 slots: 0x00007ff94f64ce03 jvm.dll +stack at sp + 2 slots: 0x000002095a1b6520 points into unknown readable memory: e8 be 23 5a 09 02 00 00 +stack at sp + 3 slots: 0x000000962a6ff7c0 points into unknown readable memory: 48 a8 cb 4f f9 7f 00 00 +stack at sp + 4 slots: 0x000000070af06078 is an oop: java.lang.String +{0x000000070af06078} - klass: 'java/lang/String' +stack at sp + 5 slots: 0x0000000000000001 is an unknown value +stack at sp + 6 slots: 0x000000070af06088 is an oop: +[error occurred during error reporting (inspecting top of stack), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff94fa6ed3d] + + +--------------- P R O C E S S --------------- + +Threads class SMR info: +_java_thread_list=0x000002095b9ab7f0, length=36, elements={ +0x000002095989a000, 0x000002095989c000, 0x000002095a1ab800, 0x000002095a1ac800, +0x000002095a1ae800, 0x000002095a1b1000, 0x000002095a120800, 0x000002095a801800, +0x000002095a806000, 0x000002095a952800, 0x000002095bde1000, 0x000002095bdf9000, +0x000002095c316800, 0x000002095bc3d000, 0x000002095bd70800, 0x000002095bfaf800, +0x000002095c311000, 0x000002095dfb9800, 0x000002095dfba800, 0x000002095dfbc000, +0x000002095dfbe800, 0x000002095dfbd000, 0x000002095dfbf800, 0x000002095dfc0000, +0x000002095dfbd800, 0x000002095dfbb000, 0x000002095dfc1000, 0x000002095e3a9800, +0x000002095e3ab800, 0x000002095e3ad800, 0x000002095e3ac800, 0x000002095e3b0000, +0x000002095e3ae000, 0x000002095e3af000, 0x000002095e3aa000, 0x000002095e3b0800 +} + +Java Threads: ( => current thread ) + 0x000002095989a000 JavaThread "Reference Handler" daemon [_thread_blocked, id=6472, stack(0x000000962aa00000,0x000000962ab00000)] + 0x000002095989c000 JavaThread "Finalizer" daemon [_thread_blocked, id=4640, stack(0x000000962ab00000,0x000000962ac00000)] + 0x000002095a1ab800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2432, stack(0x000000962ac00000,0x000000962ad00000)] + 0x000002095a1ac800 JavaThread "Attach Listener" daemon [_thread_blocked, id=14804, stack(0x000000962ad00000,0x000000962ae00000)] + 0x000002095a1ae800 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=4868, stack(0x000000962ae00000,0x000000962af00000)] + 0x000002095a1b1000 JavaThread "Sweeper thread" daemon [_thread_blocked, id=13448, stack(0x000000962af00000,0x000000962b000000)] + 0x000002095a120800 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=7032, stack(0x000000962b000000,0x000000962b100000)] + 0x000002095a801800 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=5032, stack(0x000000962b100000,0x000000962b200000)] + 0x000002095a806000 JavaThread "Service Thread" daemon [_thread_blocked, id=14004, stack(0x000000962b200000,0x000000962b300000)] + 0x000002095a952800 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=5504, stack(0x000000962b300000,0x000000962b400000)] + 0x000002095bde1000 JavaThread "RMI TCP Connection(4)-192.168.1.5" daemon [_thread_in_native, id=13896, stack(0x000000962bb00000,0x000000962bc00000)] + 0x000002095bdf9000 JavaThread "RMI Scheduler(0)" daemon [_thread_blocked, id=5928, stack(0x000000962bd00000,0x000000962be00000)] + 0x000002095c316800 JavaThread "commons-pool-evictor" daemon [_thread_blocked, id=7516, stack(0x000000962be00000,0x000000962bf00000)] + 0x000002095bc3d000 JavaThread "Catalina-utility-1" [_thread_blocked, id=9660, stack(0x000000962bf00000,0x000000962c000000)] + 0x000002095bd70800 JavaThread "Catalina-utility-2" [_thread_blocked, id=12996, stack(0x000000962c000000,0x000000962c100000)] + 0x000002095bfaf800 JavaThread "container-0" [_thread_blocked, id=5324, stack(0x000000962c100000,0x000000962c200000)] + 0x000002095c311000 JavaThread "mysql-cj-abandoned-connection-cleanup" daemon [_thread_blocked, id=15236, stack(0x000000962c200000,0x000000962c300000)] + 0x000002095dfb9800 JavaThread "Druid-ConnectionPool-Create-1264031938" daemon [_thread_blocked, id=13460, stack(0x000000962c300000,0x000000962c400000)] + 0x000002095dfba800 JavaThread "Druid-ConnectionPool-Destroy-1264031938" daemon [_thread_blocked, id=11696, stack(0x000000962c400000,0x000000962c500000)] + 0x000002095dfbc000 JavaThread "quartzScheduler_Worker-1" [_thread_blocked, id=6128, stack(0x000000962c700000,0x000000962c800000)] + 0x000002095dfbe800 JavaThread "quartzScheduler_Worker-2" [_thread_blocked, id=6672, stack(0x000000962c800000,0x000000962c900000)] + 0x000002095dfbd000 JavaThread "quartzScheduler_Worker-3" [_thread_blocked, id=1848, stack(0x000000962c900000,0x000000962ca00000)] + 0x000002095dfbf800 JavaThread "quartzScheduler_Worker-4" [_thread_blocked, id=8892, stack(0x000000962ca00000,0x000000962cb00000)] + 0x000002095dfc0000 JavaThread "quartzScheduler_Worker-5" [_thread_blocked, id=15088, stack(0x000000962cb00000,0x000000962cc00000)] + 0x000002095dfbd800 JavaThread "quartzScheduler_Worker-6" [_thread_blocked, id=2532, stack(0x000000962cc00000,0x000000962cd00000)] + 0x000002095dfbb000 JavaThread "quartzScheduler_Worker-7" [_thread_blocked, id=9308, stack(0x000000962cd00000,0x000000962ce00000)] + 0x000002095dfc1000 JavaThread "quartzScheduler_Worker-8" [_thread_blocked, id=504, stack(0x000000962ce00000,0x000000962cf00000)] + 0x000002095e3a9800 JavaThread "quartzScheduler_Worker-9" [_thread_blocked, id=16180, stack(0x000000962cf00000,0x000000962d000000)] + 0x000002095e3ab800 JavaThread "quartzScheduler_Worker-10" [_thread_blocked, id=9384, stack(0x000000962d000000,0x000000962d100000)] + 0x000002095e3ad800 JavaThread "quartzScheduler_QuartzSchedulerThread" [_thread_blocked, id=5088, stack(0x000000962d100000,0x000000962d200000)] + 0x000002095e3ac800 JavaThread "http-nio-9001-Poller" daemon [_thread_in_native, id=12564, stack(0x000000962d200000,0x000000962d300000)] + 0x000002095e3b0000 JavaThread "http-nio-9001-Acceptor" daemon [_thread_in_native, id=9712, stack(0x000000962d300000,0x000000962d400000)] + 0x000002095e3ae000 JavaThread "DestroyJavaVM" [_thread_blocked, id=828, stack(0x000000962a300000,0x000000962a400000)] + 0x000002095e3af000 JavaThread "RMI TCP Connection(idle)" daemon [_thread_blocked, id=15244, stack(0x000000962d400000,0x000000962d500000)] + 0x000002095e3aa000 JavaThread "RMI TCP Connection(idle)" daemon [_thread_blocked, id=12424, stack(0x000000962d500000,0x000000962d600000)] + 0x000002095e3b0800 JavaThread "http-nio-9001-exec-1" daemon [_thread_in_native, id=14416, stack(0x000000962d600000,0x000000962d700000)] + +Other Threads: + 0x0000020959887800 VMThread "VM Thread" [stack: 0x000000962a900000,0x000000962aa00000] [id=5836] + 0x000002095a953800 WatcherThread [stack: 0x000000962b400000,0x000000962b500000] [id=12612] + 0x0000020935f71800 GCTaskThread "GC Thread#0" [stack: 0x000000962a400000,0x000000962a500000] [id=9724] + 0x000002095b543000 GCTaskThread "GC Thread#1" [stack: 0x000000962b500000,0x000000962b600000] [id=3296] + 0x000002095ac9e000 GCTaskThread "GC Thread#2" [stack: 0x000000962b600000,0x000000962b700000] [id=7952] + 0x000002095ac9e800 GCTaskThread "GC Thread#3" [stack: 0x000000962b700000,0x000000962b800000] [id=3868] + 0x000002095abc2000 GCTaskThread "GC Thread#4" [stack: 0x000000962b800000,0x000000962b900000] [id=6720] + 0x000002095abc3000 GCTaskThread "GC Thread#5" [stack: 0x000000962b900000,0x000000962ba00000] [id=12744] + 0x000002095e08a800 GCTaskThread "GC Thread#6" [stack: 0x000000962c500000,0x000000962c600000] [id=15384] + 0x000002095e08b000 GCTaskThread "GC Thread#7" [stack: 0x000000962c600000,0x000000962c700000] [id=4756] + 0x0000020935fcd000 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000962a500000,0x000000962a600000] [id=8280] +=>0x0000020935fcf000 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000962a600000,0x000000962a700000] [id=5480] + 0x000002095b7a3800 ConcurrentGCThread "G1 Conc#1" [stack: 0x000000962bc00000,0x000000962bd00000] [id=11316] + 0x000002095976f000 ConcurrentGCThread "G1 Refine#0" [stack: 0x000000962a700000,0x000000962a800000] [id=15708] + 0x000002095a498000 ConcurrentGCThread "G1 Refine#1" [stack: 0x000000962ba00000,0x000000962bb00000] [id=9352] + 0x0000020959772000 ConcurrentGCThread "G1 Young RemSet Sampling" [stack: 0x000000962a800000,0x000000962a900000] [id=16184] + +Threads with active compile tasks: + +VM state:not at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: None + +Heap address: 0x0000000702800000, size: 4056 MB, Compressed Oops mode: Zero based, Oop shift amount: 3 +Narrow klass base: 0x0000000800000000, Narrow klass shift: 0 +Compressed class space size: 1073741824 Address: 0x0000000800000000 + +Heap: + garbage-first heap total 374784K, used 41305K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 19 young (19456K), 14 survivors (14336K) + Metaspace used 58963K, capacity 61264K, committed 61480K, reserved 1101824K + class space used 7424K, capacity 8318K, committed 8428K, reserved 1048576K +Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, A=archive, TAMS=top-at-mark-start (previous, next) +| 0|0x0000000702800000, 0x0000000702900000, 0x0000000702900000|100%| O| |TAMS 0x0000000702900000, 0x0000000702900000| Untracked +| 1|0x0000000702900000, 0x0000000702a00000, 0x0000000702a00000|100%| O| |TAMS 0x0000000702a00000, 0x0000000702a00000| Untracked +| 2|0x0000000702a00000, 0x0000000702b00000, 0x0000000702b00000|100%| O| |TAMS 0x0000000702b00000, 0x0000000702b00000| Untracked +| 3|0x0000000702b00000, 0x0000000702c00000, 0x0000000702c00000|100%| O| |TAMS 0x0000000702c00000, 0x0000000702c00000| Untracked +| 4|0x0000000702c00000, 0x0000000702d00000, 0x0000000702d00000|100%| O| |TAMS 0x0000000702d00000, 0x0000000702d00000| Untracked +| 5|0x0000000702d00000, 0x0000000702e00000, 0x0000000702e00000|100%| O| |TAMS 0x0000000702e00000, 0x0000000702e00000| Untracked +| 6|0x0000000702e00000, 0x0000000702f00000, 0x0000000702f00000|100%| O| |TAMS 0x0000000702f00000, 0x0000000702f00000| Untracked +| 7|0x0000000702f00000, 0x0000000703000000, 0x0000000703000000|100%| O| |TAMS 0x0000000702f24800, 0x0000000703000000| Untracked +| 8|0x0000000703000000, 0x0000000703100000, 0x0000000703100000|100%| O| |TAMS 0x0000000703000000, 0x0000000703100000| Untracked +| 9|0x0000000703100000, 0x0000000703200000, 0x0000000703200000|100%| O| |TAMS 0x0000000703100000, 0x0000000703200000| Untracked +| 10|0x0000000703200000, 0x0000000703300000, 0x0000000703300000|100%| O| |TAMS 0x0000000703200000, 0x0000000703300000| Untracked +| 11|0x0000000703300000, 0x0000000703400000, 0x0000000703400000|100%| O| |TAMS 0x0000000703300000, 0x0000000703400000| Untracked +| 12|0x0000000703400000, 0x0000000703500000, 0x0000000703500000|100%| O| |TAMS 0x0000000703400000, 0x0000000703500000| Untracked +| 13|0x0000000703500000, 0x0000000703600000, 0x0000000703600000|100%| O| |TAMS 0x0000000703500000, 0x0000000703600000| Untracked +| 14|0x0000000703600000, 0x0000000703700000, 0x0000000703700000|100%| O| |TAMS 0x0000000703600000, 0x0000000703700000| Untracked +| 15|0x0000000703700000, 0x0000000703800000, 0x0000000703800000|100%| O| |TAMS 0x0000000703700000, 0x0000000703800000| Untracked +| 16|0x0000000703800000, 0x0000000703900000, 0x0000000703900000|100%| O| |TAMS 0x0000000703800000, 0x0000000703900000| Untracked +| 17|0x0000000703900000, 0x0000000703a00000, 0x0000000703a00000|100%| O| |TAMS 0x0000000703900000, 0x0000000703a00000| Untracked +| 18|0x0000000703a00000, 0x0000000703b00000, 0x0000000703b00000|100%| O| |TAMS 0x0000000703a00000, 0x0000000703b00000| Untracked +| 19|0x0000000703b00000, 0x0000000703c00000, 0x0000000703c00000|100%| O| |TAMS 0x0000000703b00000, 0x0000000703c00000| Untracked +| 20|0x0000000703c00000, 0x0000000703d00000, 0x0000000703d00000|100%| O| |TAMS 0x0000000703c00000, 0x0000000703d00000| Untracked +| 21|0x0000000703d00000, 0x0000000703e00000, 0x0000000703e00000|100%| O| |TAMS 0x0000000703d00000, 0x0000000703e00000| Untracked +| 22|0x0000000703e00000, 0x0000000703e7c600, 0x0000000703f00000| 48%| O| |TAMS 0x0000000703e00000, 0x0000000703e7c600| Untracked +| 23|0x0000000703f00000, 0x0000000703f00000, 0x0000000704000000| 0%| F| |TAMS 0x0000000703f00000, 0x0000000703f00000| Untracked +| 24|0x0000000704000000, 0x0000000704000000, 0x0000000704100000| 0%| F| |TAMS 0x0000000704000000, 0x0000000704000000| Untracked +| 25|0x0000000704100000, 0x0000000704100000, 0x0000000704200000| 0%| F| |TAMS 0x0000000704100000, 0x0000000704100000| Untracked +| 26|0x0000000704200000, 0x0000000704200000, 0x0000000704300000| 0%| F| |TAMS 0x0000000704200000, 0x0000000704200000| Untracked +| 27|0x0000000704300000, 0x0000000704300000, 0x0000000704400000| 0%| F| |TAMS 0x0000000704300000, 0x0000000704300000| Untracked +| 28|0x0000000704400000, 0x0000000704400000, 0x0000000704500000| 0%| F| |TAMS 0x0000000704400000, 0x0000000704400000| Untracked +| 29|0x0000000704500000, 0x0000000704500000, 0x0000000704600000| 0%| F| |TAMS 0x0000000704500000, 0x0000000704500000| Untracked +| 30|0x0000000704600000, 0x0000000704600000, 0x0000000704700000| 0%| F| |TAMS 0x0000000704600000, 0x0000000704600000| Untracked +| 31|0x0000000704700000, 0x0000000704700000, 0x0000000704800000| 0%| F| |TAMS 0x0000000704700000, 0x0000000704700000| Untracked +| 32|0x0000000704800000, 0x0000000704800000, 0x0000000704900000| 0%| F| |TAMS 0x0000000704800000, 0x0000000704800000| Untracked +| 33|0x0000000704900000, 0x0000000704900000, 0x0000000704a00000| 0%| F| |TAMS 0x0000000704900000, 0x0000000704900000| Untracked +| 34|0x0000000704a00000, 0x0000000704a00000, 0x0000000704b00000| 0%| F| |TAMS 0x0000000704a00000, 0x0000000704a00000| Untracked +| 35|0x0000000704b00000, 0x0000000704b00000, 0x0000000704c00000| 0%| F| |TAMS 0x0000000704b00000, 0x0000000704b00000| Untracked +| 36|0x0000000704c00000, 0x0000000704c00000, 0x0000000704d00000| 0%| F| |TAMS 0x0000000704c00000, 0x0000000704c00000| Untracked +| 37|0x0000000704d00000, 0x0000000704d00000, 0x0000000704e00000| 0%| F| |TAMS 0x0000000704d00000, 0x0000000704d00000| Untracked +| 38|0x0000000704e00000, 0x0000000704e00000, 0x0000000704f00000| 0%| F| |TAMS 0x0000000704e00000, 0x0000000704e00000| Untracked +| 39|0x0000000704f00000, 0x0000000704f00000, 0x0000000705000000| 0%| F| |TAMS 0x0000000704f00000, 0x0000000704f00000| Untracked +| 40|0x0000000705000000, 0x0000000705000000, 0x0000000705100000| 0%| F| |TAMS 0x0000000705000000, 0x0000000705000000| Untracked +| 41|0x0000000705100000, 0x0000000705100000, 0x0000000705200000| 0%| F| |TAMS 0x0000000705100000, 0x0000000705100000| Untracked +| 42|0x0000000705200000, 0x0000000705200000, 0x0000000705300000| 0%| F| |TAMS 0x0000000705200000, 0x0000000705200000| Untracked +| 43|0x0000000705300000, 0x0000000705300000, 0x0000000705400000| 0%| F| |TAMS 0x0000000705300000, 0x0000000705300000| Untracked +| 44|0x0000000705400000, 0x0000000705400000, 0x0000000705500000| 0%| F| |TAMS 0x0000000705400000, 0x0000000705400000| Untracked +| 45|0x0000000705500000, 0x0000000705500000, 0x0000000705600000| 0%| F| |TAMS 0x0000000705500000, 0x0000000705500000| Untracked +| 46|0x0000000705600000, 0x0000000705600000, 0x0000000705700000| 0%| F| |TAMS 0x0000000705600000, 0x0000000705600000| Untracked +| 47|0x0000000705700000, 0x0000000705700000, 0x0000000705800000| 0%| F| |TAMS 0x0000000705700000, 0x0000000705700000| Untracked +| 48|0x0000000705800000, 0x0000000705800000, 0x0000000705900000| 0%| F| |TAMS 0x0000000705800000, 0x0000000705800000| Untracked +| 49|0x0000000705900000, 0x0000000705900000, 0x0000000705a00000| 0%| F| |TAMS 0x0000000705900000, 0x0000000705900000| Untracked +| 50|0x0000000705a00000, 0x0000000705a00000, 0x0000000705b00000| 0%| F| |TAMS 0x0000000705a00000, 0x0000000705a00000| Untracked +| 51|0x0000000705b00000, 0x0000000705b00000, 0x0000000705c00000| 0%| F| |TAMS 0x0000000705b00000, 0x0000000705b00000| Untracked +| 52|0x0000000705c00000, 0x0000000705c00000, 0x0000000705d00000| 0%| F| |TAMS 0x0000000705c00000, 0x0000000705c00000| Untracked +| 53|0x0000000705d00000, 0x0000000705d00000, 0x0000000705e00000| 0%| F| |TAMS 0x0000000705d00000, 0x0000000705d00000| Untracked +| 54|0x0000000705e00000, 0x0000000705e00000, 0x0000000705f00000| 0%| F| |TAMS 0x0000000705e00000, 0x0000000705e00000| Untracked +| 55|0x0000000705f00000, 0x0000000705f00000, 0x0000000706000000| 0%| F| |TAMS 0x0000000705f00000, 0x0000000705f00000| Untracked +| 56|0x0000000706000000, 0x0000000706000000, 0x0000000706100000| 0%| F| |TAMS 0x0000000706000000, 0x0000000706000000| Untracked +| 57|0x0000000706100000, 0x0000000706100000, 0x0000000706200000| 0%| F| |TAMS 0x0000000706100000, 0x0000000706100000| Untracked +| 58|0x0000000706200000, 0x0000000706200000, 0x0000000706300000| 0%| F| |TAMS 0x0000000706200000, 0x0000000706200000| Untracked +| 59|0x0000000706300000, 0x0000000706300000, 0x0000000706400000| 0%| F| |TAMS 0x0000000706300000, 0x0000000706300000| Untracked +| 60|0x0000000706400000, 0x0000000706400000, 0x0000000706500000| 0%| F| |TAMS 0x0000000706400000, 0x0000000706400000| Untracked +| 61|0x0000000706500000, 0x0000000706500000, 0x0000000706600000| 0%| F| |TAMS 0x0000000706500000, 0x0000000706500000| Untracked +| 62|0x0000000706600000, 0x0000000706600000, 0x0000000706700000| 0%| F| |TAMS 0x0000000706600000, 0x0000000706600000| Untracked +| 63|0x0000000706700000, 0x0000000706700000, 0x0000000706800000| 0%| F| |TAMS 0x0000000706700000, 0x0000000706700000| Untracked +| 64|0x0000000706800000, 0x0000000706800000, 0x0000000706900000| 0%| F| |TAMS 0x0000000706800000, 0x0000000706800000| Untracked +| 65|0x0000000706900000, 0x0000000706900000, 0x0000000706a00000| 0%| F| |TAMS 0x0000000706900000, 0x0000000706900000| Untracked +| 66|0x0000000706a00000, 0x0000000706a00000, 0x0000000706b00000| 0%| F| |TAMS 0x0000000706a00000, 0x0000000706a00000| Untracked +| 67|0x0000000706b00000, 0x0000000706b00000, 0x0000000706c00000| 0%| F| |TAMS 0x0000000706b00000, 0x0000000706b00000| Untracked +| 68|0x0000000706c00000, 0x0000000706c00000, 0x0000000706d00000| 0%| F| |TAMS 0x0000000706c00000, 0x0000000706c00000| Untracked +| 69|0x0000000706d00000, 0x0000000706d00000, 0x0000000706e00000| 0%| F| |TAMS 0x0000000706d00000, 0x0000000706d00000| Untracked +| 70|0x0000000706e00000, 0x0000000706e00000, 0x0000000706f00000| 0%| F| |TAMS 0x0000000706e00000, 0x0000000706e00000| Untracked +| 71|0x0000000706f00000, 0x0000000706f00000, 0x0000000707000000| 0%| F| |TAMS 0x0000000706f00000, 0x0000000706f00000| Untracked +| 72|0x0000000707000000, 0x0000000707000000, 0x0000000707100000| 0%| F| |TAMS 0x0000000707000000, 0x0000000707000000| Untracked +| 73|0x0000000707100000, 0x0000000707100000, 0x0000000707200000| 0%| F| |TAMS 0x0000000707100000, 0x0000000707100000| Untracked +| 74|0x0000000707200000, 0x0000000707200000, 0x0000000707300000| 0%| F| |TAMS 0x0000000707200000, 0x0000000707200000| Untracked +| 75|0x0000000707300000, 0x0000000707300000, 0x0000000707400000| 0%| F| |TAMS 0x0000000707300000, 0x0000000707300000| Untracked +| 76|0x0000000707400000, 0x0000000707400000, 0x0000000707500000| 0%| F| |TAMS 0x0000000707400000, 0x0000000707400000| Untracked +| 77|0x0000000707500000, 0x0000000707500000, 0x0000000707600000| 0%| F| |TAMS 0x0000000707500000, 0x0000000707500000| Untracked +| 78|0x0000000707600000, 0x0000000707600000, 0x0000000707700000| 0%| F| |TAMS 0x0000000707600000, 0x0000000707600000| Untracked +| 79|0x0000000707700000, 0x0000000707700000, 0x0000000707800000| 0%| F| |TAMS 0x0000000707700000, 0x0000000707700000| Untracked +| 80|0x0000000707800000, 0x0000000707800000, 0x0000000707900000| 0%| F| |TAMS 0x0000000707800000, 0x0000000707800000| Untracked +| 81|0x0000000707900000, 0x0000000707900000, 0x0000000707a00000| 0%| F| |TAMS 0x0000000707900000, 0x0000000707900000| Untracked +| 82|0x0000000707a00000, 0x0000000707a00000, 0x0000000707b00000| 0%| F| |TAMS 0x0000000707a00000, 0x0000000707a00000| Untracked +| 83|0x0000000707b00000, 0x0000000707b00000, 0x0000000707c00000| 0%| F| |TAMS 0x0000000707b00000, 0x0000000707b00000| Untracked +| 84|0x0000000707c00000, 0x0000000707c00000, 0x0000000707d00000| 0%| F| |TAMS 0x0000000707c00000, 0x0000000707c00000| Untracked +| 85|0x0000000707d00000, 0x0000000707d00000, 0x0000000707e00000| 0%| F| |TAMS 0x0000000707d00000, 0x0000000707d00000| Untracked +| 86|0x0000000707e00000, 0x0000000707e00000, 0x0000000707f00000| 0%| F| |TAMS 0x0000000707e00000, 0x0000000707e00000| Untracked +| 87|0x0000000707f00000, 0x0000000707f00000, 0x0000000708000000| 0%| F| |TAMS 0x0000000707f00000, 0x0000000707f00000| Untracked +| 88|0x0000000708000000, 0x0000000708000000, 0x0000000708100000| 0%| F| |TAMS 0x0000000708000000, 0x0000000708000000| Untracked +| 89|0x0000000708100000, 0x0000000708100000, 0x0000000708200000| 0%| F| |TAMS 0x0000000708100000, 0x0000000708100000| Untracked +| 90|0x0000000708200000, 0x0000000708200000, 0x0000000708300000| 0%| F| |TAMS 0x0000000708200000, 0x0000000708200000| Untracked +| 91|0x0000000708300000, 0x0000000708300000, 0x0000000708400000| 0%| F| |TAMS 0x0000000708300000, 0x0000000708300000| Untracked +| 92|0x0000000708400000, 0x0000000708400000, 0x0000000708500000| 0%| F| |TAMS 0x0000000708400000, 0x0000000708400000| Untracked +| 93|0x0000000708500000, 0x0000000708500000, 0x0000000708600000| 0%| F| |TAMS 0x0000000708500000, 0x0000000708500000| Untracked +| 94|0x0000000708600000, 0x0000000708600000, 0x0000000708700000| 0%| F| |TAMS 0x0000000708600000, 0x0000000708600000| Untracked +| 95|0x0000000708700000, 0x0000000708700000, 0x0000000708800000| 0%| F| |TAMS 0x0000000708700000, 0x0000000708700000| Untracked +| 96|0x0000000708800000, 0x0000000708800000, 0x0000000708900000| 0%| F| |TAMS 0x0000000708800000, 0x0000000708800000| Untracked +| 97|0x0000000708900000, 0x0000000708900000, 0x0000000708a00000| 0%| F| |TAMS 0x0000000708900000, 0x0000000708900000| Untracked +| 98|0x0000000708a00000, 0x0000000708a00000, 0x0000000708b00000| 0%| F| |TAMS 0x0000000708a00000, 0x0000000708a00000| Untracked +| 99|0x0000000708b00000, 0x0000000708b00000, 0x0000000708c00000| 0%| F| |TAMS 0x0000000708b00000, 0x0000000708b00000| Untracked +| 100|0x0000000708c00000, 0x0000000708c00000, 0x0000000708d00000| 0%| F| |TAMS 0x0000000708c00000, 0x0000000708c00000| Untracked +| 101|0x0000000708d00000, 0x0000000708d00000, 0x0000000708e00000| 0%| F| |TAMS 0x0000000708d00000, 0x0000000708d00000| Untracked +| 102|0x0000000708e00000, 0x0000000708e00000, 0x0000000708f00000| 0%| F| |TAMS 0x0000000708e00000, 0x0000000708e00000| Untracked +| 103|0x0000000708f00000, 0x0000000708f00000, 0x0000000709000000| 0%| F| |TAMS 0x0000000708f00000, 0x0000000708f00000| Untracked +| 104|0x0000000709000000, 0x0000000709000000, 0x0000000709100000| 0%| F| |TAMS 0x0000000709000000, 0x0000000709000000| Untracked +| 105|0x0000000709100000, 0x0000000709100000, 0x0000000709200000| 0%| F| |TAMS 0x0000000709100000, 0x0000000709100000| Untracked +| 106|0x0000000709200000, 0x0000000709200000, 0x0000000709300000| 0%| F| |TAMS 0x0000000709200000, 0x0000000709200000| Untracked +| 107|0x0000000709300000, 0x0000000709300000, 0x0000000709400000| 0%| F| |TAMS 0x0000000709300000, 0x0000000709300000| Untracked +| 108|0x0000000709400000, 0x0000000709400000, 0x0000000709500000| 0%| F| |TAMS 0x0000000709400000, 0x0000000709400000| Untracked +| 109|0x0000000709500000, 0x0000000709500000, 0x0000000709600000| 0%| F| |TAMS 0x0000000709500000, 0x0000000709500000| Untracked +| 110|0x0000000709600000, 0x0000000709600000, 0x0000000709700000| 0%| F| |TAMS 0x0000000709600000, 0x0000000709600000| Untracked +| 111|0x0000000709700000, 0x00000007097da118, 0x0000000709800000| 85%| S|CS|TAMS 0x0000000709700000, 0x0000000709700000| Complete +| 112|0x0000000709800000, 0x0000000709900000, 0x0000000709900000|100%| S|CS|TAMS 0x0000000709800000, 0x0000000709800000| Complete +| 113|0x0000000709900000, 0x0000000709a00000, 0x0000000709a00000|100%| S|CS|TAMS 0x0000000709900000, 0x0000000709900000| Complete +| 114|0x0000000709a00000, 0x0000000709b00000, 0x0000000709b00000|100%| S|CS|TAMS 0x0000000709a00000, 0x0000000709a00000| Complete +| 115|0x0000000709b00000, 0x0000000709c00000, 0x0000000709c00000|100%| S|CS|TAMS 0x0000000709b00000, 0x0000000709b00000| Complete +| 116|0x0000000709c00000, 0x0000000709d00000, 0x0000000709d00000|100%| S|CS|TAMS 0x0000000709c00000, 0x0000000709c00000| Complete +| 117|0x0000000709d00000, 0x0000000709e00000, 0x0000000709e00000|100%| S|CS|TAMS 0x0000000709d00000, 0x0000000709d00000| Complete +| 118|0x0000000709e00000, 0x0000000709f00000, 0x0000000709f00000|100%| S|CS|TAMS 0x0000000709e00000, 0x0000000709e00000| Complete +| 119|0x0000000709f00000, 0x000000070a000000, 0x000000070a000000|100%| S|CS|TAMS 0x0000000709f00000, 0x0000000709f00000| Complete +| 120|0x000000070a000000, 0x000000070a100000, 0x000000070a100000|100%| S|CS|TAMS 0x000000070a000000, 0x000000070a000000| Complete +| 121|0x000000070a100000, 0x000000070a200000, 0x000000070a200000|100%| S|CS|TAMS 0x000000070a100000, 0x000000070a100000| Complete +| 122|0x000000070a200000, 0x000000070a200000, 0x000000070a300000| 0%| F| |TAMS 0x000000070a200000, 0x000000070a200000| Untracked +| 123|0x000000070a300000, 0x000000070a300000, 0x000000070a400000| 0%| F| |TAMS 0x000000070a300000, 0x000000070a300000| Untracked +| 124|0x000000070a400000, 0x000000070a400000, 0x000000070a500000| 0%| F| |TAMS 0x000000070a400000, 0x000000070a400000| Untracked +| 125|0x000000070a500000, 0x000000070a500000, 0x000000070a600000| 0%| F| |TAMS 0x000000070a500000, 0x000000070a500000| Untracked +| 126|0x000000070a600000, 0x000000070a600000, 0x000000070a700000| 0%| F| |TAMS 0x000000070a600000, 0x000000070a600000| Untracked +| 127|0x000000070a700000, 0x000000070a700000, 0x000000070a800000| 0%| F| |TAMS 0x000000070a700000, 0x000000070a700000| Untracked +| 128|0x000000070a800000, 0x000000070a800000, 0x000000070a900000| 0%| F| |TAMS 0x000000070a800000, 0x000000070a800000| Untracked +| 129|0x000000070a900000, 0x000000070a900000, 0x000000070aa00000| 0%| F| |TAMS 0x000000070a900000, 0x000000070a900000| Untracked +| 130|0x000000070aa00000, 0x000000070aa00000, 0x000000070ab00000| 0%| F| |TAMS 0x000000070aa00000, 0x000000070aa00000| Untracked +| 131|0x000000070ab00000, 0x000000070ab00000, 0x000000070ac00000| 0%| F| |TAMS 0x000000070ab00000, 0x000000070ab00000| Untracked +| 132|0x000000070ac00000, 0x000000070ac00000, 0x000000070ad00000| 0%| F| |TAMS 0x000000070ac00000, 0x000000070ac00000| Untracked +| 133|0x000000070ad00000, 0x000000070ad00000, 0x000000070ae00000| 0%| F| |TAMS 0x000000070ad00000, 0x000000070ad00000| Untracked +| 134|0x000000070ae00000, 0x000000070af00000, 0x000000070af00000|100%| S|CS|TAMS 0x000000070ae00000, 0x000000070ae00000| Complete +| 135|0x000000070af00000, 0x000000070b000000, 0x000000070b000000|100%| S|CS|TAMS 0x000000070af00000, 0x000000070af00000| Complete +| 136|0x000000070b000000, 0x000000070b100000, 0x000000070b100000|100%| S|CS|TAMS 0x000000070b000000, 0x000000070b000000| Complete +| 137|0x000000070b100000, 0x000000070b100000, 0x000000070b200000| 0%| F| |TAMS 0x000000070b100000, 0x000000070b100000| Untracked +| 138|0x000000070b200000, 0x000000070b200000, 0x000000070b300000| 0%| F| |TAMS 0x000000070b200000, 0x000000070b200000| Untracked +| 139|0x000000070b300000, 0x000000070b300000, 0x000000070b400000| 0%| F| |TAMS 0x000000070b300000, 0x000000070b300000| Untracked +| 140|0x000000070b400000, 0x000000070b400000, 0x000000070b500000| 0%| F| |TAMS 0x000000070b400000, 0x000000070b400000| Untracked +| 141|0x000000070b500000, 0x000000070b500000, 0x000000070b600000| 0%| F| |TAMS 0x000000070b500000, 0x000000070b500000| Untracked +| 142|0x000000070b600000, 0x000000070b600000, 0x000000070b700000| 0%| F| |TAMS 0x000000070b600000, 0x000000070b600000| Untracked +| 143|0x000000070b700000, 0x000000070b700000, 0x000000070b800000| 0%| F| |TAMS 0x000000070b700000, 0x000000070b700000| Untracked +| 144|0x000000070b800000, 0x000000070b800000, 0x000000070b900000| 0%| F| |TAMS 0x000000070b800000, 0x000000070b800000| Untracked +| 145|0x000000070b900000, 0x000000070b900000, 0x000000070ba00000| 0%| F| |TAMS 0x000000070b900000, 0x000000070b900000| Untracked +| 146|0x000000070ba00000, 0x000000070ba00000, 0x000000070bb00000| 0%| F| |TAMS 0x000000070ba00000, 0x000000070ba00000| Untracked +| 147|0x000000070bb00000, 0x000000070bb00000, 0x000000070bc00000| 0%| F| |TAMS 0x000000070bb00000, 0x000000070bb00000| Untracked +| 148|0x000000070bc00000, 0x000000070bc00000, 0x000000070bd00000| 0%| F| |TAMS 0x000000070bc00000, 0x000000070bc00000| Untracked +| 149|0x000000070bd00000, 0x000000070bd00000, 0x000000070be00000| 0%| F| |TAMS 0x000000070bd00000, 0x000000070bd00000| Untracked +| 150|0x000000070be00000, 0x000000070be00000, 0x000000070bf00000| 0%| F| |TAMS 0x000000070be00000, 0x000000070be00000| Untracked +| 151|0x000000070bf00000, 0x000000070bf00000, 0x000000070c000000| 0%| F| |TAMS 0x000000070bf00000, 0x000000070bf00000| Untracked +| 152|0x000000070c000000, 0x000000070c000000, 0x000000070c100000| 0%| F| |TAMS 0x000000070c000000, 0x000000070c000000| Untracked +| 153|0x000000070c100000, 0x000000070c100000, 0x000000070c200000| 0%| F| |TAMS 0x000000070c100000, 0x000000070c100000| Untracked +| 154|0x000000070c200000, 0x000000070c200000, 0x000000070c300000| 0%| F| |TAMS 0x000000070c200000, 0x000000070c200000| Untracked +| 155|0x000000070c300000, 0x000000070c300000, 0x000000070c400000| 0%| F| |TAMS 0x000000070c300000, 0x000000070c300000| Untracked +| 156|0x000000070c400000, 0x000000070c400000, 0x000000070c500000| 0%| F| |TAMS 0x000000070c400000, 0x000000070c400000| Untracked +| 157|0x000000070c500000, 0x000000070c500000, 0x000000070c600000| 0%| F| |TAMS 0x000000070c500000, 0x000000070c500000| Untracked +| 158|0x000000070c600000, 0x000000070c600000, 0x000000070c700000| 0%| F| |TAMS 0x000000070c600000, 0x000000070c600000| Untracked +| 159|0x000000070c700000, 0x000000070c700000, 0x000000070c800000| 0%| F| |TAMS 0x000000070c700000, 0x000000070c700000| Untracked +| 160|0x000000070c800000, 0x000000070c800000, 0x000000070c900000| 0%| F| |TAMS 0x000000070c800000, 0x000000070c800000| Untracked +| 161|0x000000070c900000, 0x000000070c900000, 0x000000070ca00000| 0%| F| |TAMS 0x000000070c900000, 0x000000070c900000| Untracked +| 162|0x000000070ca00000, 0x000000070ca00000, 0x000000070cb00000| 0%| F| |TAMS 0x000000070ca00000, 0x000000070ca00000| Untracked +| 163|0x000000070cb00000, 0x000000070cb00000, 0x000000070cc00000| 0%| F| |TAMS 0x000000070cb00000, 0x000000070cb00000| Untracked +| 164|0x000000070cc00000, 0x000000070cc00000, 0x000000070cd00000| 0%| F| |TAMS 0x000000070cc00000, 0x000000070cc00000| Untracked +| 165|0x000000070cd00000, 0x000000070cd00000, 0x000000070ce00000| 0%| F| |TAMS 0x000000070cd00000, 0x000000070cd00000| Untracked +| 166|0x000000070ce00000, 0x000000070ce00000, 0x000000070cf00000| 0%| F| |TAMS 0x000000070ce00000, 0x000000070ce00000| Untracked +| 167|0x000000070cf00000, 0x000000070cf00000, 0x000000070d000000| 0%| F| |TAMS 0x000000070cf00000, 0x000000070cf00000| Untracked +| 168|0x000000070d000000, 0x000000070d000000, 0x000000070d100000| 0%| F| |TAMS 0x000000070d000000, 0x000000070d000000| Untracked +| 169|0x000000070d100000, 0x000000070d100000, 0x000000070d200000| 0%| F| |TAMS 0x000000070d100000, 0x000000070d100000| Untracked +| 170|0x000000070d200000, 0x000000070d200000, 0x000000070d300000| 0%| F| |TAMS 0x000000070d200000, 0x000000070d200000| Untracked +| 171|0x000000070d300000, 0x000000070d300000, 0x000000070d400000| 0%| F| |TAMS 0x000000070d300000, 0x000000070d300000| Untracked +| 172|0x000000070d400000, 0x000000070d400000, 0x000000070d500000| 0%| F| |TAMS 0x000000070d400000, 0x000000070d400000| Untracked +| 173|0x000000070d500000, 0x000000070d500000, 0x000000070d600000| 0%| F| |TAMS 0x000000070d500000, 0x000000070d500000| Untracked +| 174|0x000000070d600000, 0x000000070d600000, 0x000000070d700000| 0%| F| |TAMS 0x000000070d600000, 0x000000070d600000| Untracked +| 175|0x000000070d700000, 0x000000070d700000, 0x000000070d800000| 0%| F| |TAMS 0x000000070d700000, 0x000000070d700000| Untracked +| 176|0x000000070d800000, 0x000000070d800000, 0x000000070d900000| 0%| F| |TAMS 0x000000070d800000, 0x000000070d800000| Untracked +| 177|0x000000070d900000, 0x000000070d900000, 0x000000070da00000| 0%| F| |TAMS 0x000000070d900000, 0x000000070d900000| Untracked +| 178|0x000000070da00000, 0x000000070da00000, 0x000000070db00000| 0%| F| |TAMS 0x000000070da00000, 0x000000070da00000| Untracked +| 179|0x000000070db00000, 0x000000070db00000, 0x000000070dc00000| 0%| F| |TAMS 0x000000070db00000, 0x000000070db00000| Untracked +| 180|0x000000070dc00000, 0x000000070dc00000, 0x000000070dd00000| 0%| F| |TAMS 0x000000070dc00000, 0x000000070dc00000| Untracked +| 181|0x000000070dd00000, 0x000000070dd00000, 0x000000070de00000| 0%| F| |TAMS 0x000000070dd00000, 0x000000070dd00000| Untracked +| 182|0x000000070de00000, 0x000000070de00000, 0x000000070df00000| 0%| F| |TAMS 0x000000070de00000, 0x000000070de00000| Untracked +| 183|0x000000070df00000, 0x000000070df00000, 0x000000070e000000| 0%| F| |TAMS 0x000000070df00000, 0x000000070df00000| Untracked +| 184|0x000000070e000000, 0x000000070e000000, 0x000000070e100000| 0%| F| |TAMS 0x000000070e000000, 0x000000070e000000| Untracked +| 185|0x000000070e100000, 0x000000070e100000, 0x000000070e200000| 0%| F| |TAMS 0x000000070e100000, 0x000000070e100000| Untracked +| 186|0x000000070e200000, 0x000000070e200000, 0x000000070e300000| 0%| F| |TAMS 0x000000070e200000, 0x000000070e200000| Untracked +| 187|0x000000070e300000, 0x000000070e300000, 0x000000070e400000| 0%| F| |TAMS 0x000000070e300000, 0x000000070e300000| Untracked +| 188|0x000000070e400000, 0x000000070e400000, 0x000000070e500000| 0%| F| |TAMS 0x000000070e400000, 0x000000070e400000| Untracked +| 189|0x000000070e500000, 0x000000070e500000, 0x000000070e600000| 0%| F| |TAMS 0x000000070e500000, 0x000000070e500000| Untracked +| 190|0x000000070e600000, 0x000000070e600000, 0x000000070e700000| 0%| F| |TAMS 0x000000070e600000, 0x000000070e600000| Untracked +| 191|0x000000070e700000, 0x000000070e700000, 0x000000070e800000| 0%| F| |TAMS 0x000000070e700000, 0x000000070e700000| Untracked +| 192|0x000000070e800000, 0x000000070e800000, 0x000000070e900000| 0%| F| |TAMS 0x000000070e800000, 0x000000070e800000| Untracked +| 193|0x000000070e900000, 0x000000070e900000, 0x000000070ea00000| 0%| F| |TAMS 0x000000070e900000, 0x000000070e900000| Untracked +| 194|0x000000070ea00000, 0x000000070ea00000, 0x000000070eb00000| 0%| F| |TAMS 0x000000070ea00000, 0x000000070ea00000| Untracked +| 195|0x000000070eb00000, 0x000000070eb00000, 0x000000070ec00000| 0%| F| |TAMS 0x000000070eb00000, 0x000000070eb00000| Untracked +| 196|0x000000070ec00000, 0x000000070ec00000, 0x000000070ed00000| 0%| F| |TAMS 0x000000070ec00000, 0x000000070ec00000| Untracked +| 197|0x000000070ed00000, 0x000000070ed00000, 0x000000070ee00000| 0%| F| |TAMS 0x000000070ed00000, 0x000000070ed00000| Untracked +| 198|0x000000070ee00000, 0x000000070ee00000, 0x000000070ef00000| 0%| F| |TAMS 0x000000070ee00000, 0x000000070ee00000| Untracked +| 199|0x000000070ef00000, 0x000000070ef00000, 0x000000070f000000| 0%| F| |TAMS 0x000000070ef00000, 0x000000070ef00000| Untracked +| 200|0x000000070f000000, 0x000000070f000000, 0x000000070f100000| 0%| F| |TAMS 0x000000070f000000, 0x000000070f000000| Untracked +| 201|0x000000070f100000, 0x000000070f100000, 0x000000070f200000| 0%| F| |TAMS 0x000000070f100000, 0x000000070f100000| Untracked +| 202|0x000000070f200000, 0x000000070f200000, 0x000000070f300000| 0%| F| |TAMS 0x000000070f200000, 0x000000070f200000| Untracked +| 203|0x000000070f300000, 0x000000070f300000, 0x000000070f400000| 0%| F| |TAMS 0x000000070f300000, 0x000000070f300000| Untracked +| 204|0x000000070f400000, 0x000000070f400000, 0x000000070f500000| 0%| F| |TAMS 0x000000070f400000, 0x000000070f400000| Untracked +| 205|0x000000070f500000, 0x000000070f500000, 0x000000070f600000| 0%| F| |TAMS 0x000000070f500000, 0x000000070f500000| Untracked +| 206|0x000000070f600000, 0x000000070f600000, 0x000000070f700000| 0%| F| |TAMS 0x000000070f600000, 0x000000070f600000| Untracked +| 207|0x000000070f700000, 0x000000070f700000, 0x000000070f800000| 0%| F| |TAMS 0x000000070f700000, 0x000000070f700000| Untracked +| 208|0x000000070f800000, 0x000000070f800000, 0x000000070f900000| 0%| F| |TAMS 0x000000070f800000, 0x000000070f800000| Untracked +| 209|0x000000070f900000, 0x000000070f900000, 0x000000070fa00000| 0%| F| |TAMS 0x000000070f900000, 0x000000070f900000| Untracked +| 210|0x000000070fa00000, 0x000000070fa00000, 0x000000070fb00000| 0%| F| |TAMS 0x000000070fa00000, 0x000000070fa00000| Untracked +| 211|0x000000070fb00000, 0x000000070fb00000, 0x000000070fc00000| 0%| F| |TAMS 0x000000070fb00000, 0x000000070fb00000| Untracked +| 212|0x000000070fc00000, 0x000000070fc00000, 0x000000070fd00000| 0%| F| |TAMS 0x000000070fc00000, 0x000000070fc00000| Untracked +| 213|0x000000070fd00000, 0x000000070fd00000, 0x000000070fe00000| 0%| F| |TAMS 0x000000070fd00000, 0x000000070fd00000| Untracked +| 214|0x000000070fe00000, 0x000000070fe00000, 0x000000070ff00000| 0%| F| |TAMS 0x000000070fe00000, 0x000000070fe00000| Untracked +| 215|0x000000070ff00000, 0x000000070ff00000, 0x0000000710000000| 0%| F| |TAMS 0x000000070ff00000, 0x000000070ff00000| Untracked +| 216|0x0000000710000000, 0x0000000710000000, 0x0000000710100000| 0%| F| |TAMS 0x0000000710000000, 0x0000000710000000| Untracked +| 217|0x0000000710100000, 0x0000000710100000, 0x0000000710200000| 0%| F| |TAMS 0x0000000710100000, 0x0000000710100000| Untracked +| 218|0x0000000710200000, 0x0000000710200000, 0x0000000710300000| 0%| F| |TAMS 0x0000000710200000, 0x0000000710200000| Untracked +| 219|0x0000000710300000, 0x0000000710300000, 0x0000000710400000| 0%| F| |TAMS 0x0000000710300000, 0x0000000710300000| Untracked +| 220|0x0000000710400000, 0x0000000710400000, 0x0000000710500000| 0%| F| |TAMS 0x0000000710400000, 0x0000000710400000| Untracked +| 221|0x0000000710500000, 0x0000000710500000, 0x0000000710600000| 0%| F| |TAMS 0x0000000710500000, 0x0000000710500000| Untracked +| 222|0x0000000710600000, 0x0000000710600000, 0x0000000710700000| 0%| F| |TAMS 0x0000000710600000, 0x0000000710600000| Untracked +| 223|0x0000000710700000, 0x0000000710700000, 0x0000000710800000| 0%| F| |TAMS 0x0000000710700000, 0x0000000710700000| Untracked +| 224|0x0000000710800000, 0x0000000710800000, 0x0000000710900000| 0%| F| |TAMS 0x0000000710800000, 0x0000000710800000| Untracked +| 225|0x0000000710900000, 0x0000000710900000, 0x0000000710a00000| 0%| F| |TAMS 0x0000000710900000, 0x0000000710900000| Untracked +| 226|0x0000000710a00000, 0x0000000710a00000, 0x0000000710b00000| 0%| F| |TAMS 0x0000000710a00000, 0x0000000710a00000| Untracked +| 227|0x0000000710b00000, 0x0000000710b00000, 0x0000000710c00000| 0%| F| |TAMS 0x0000000710b00000, 0x0000000710b00000| Untracked +| 228|0x0000000710c00000, 0x0000000710c00000, 0x0000000710d00000| 0%| F| |TAMS 0x0000000710c00000, 0x0000000710c00000| Untracked +| 229|0x0000000710d00000, 0x0000000710d00000, 0x0000000710e00000| 0%| F| |TAMS 0x0000000710d00000, 0x0000000710d00000| Untracked +| 230|0x0000000710e00000, 0x0000000710e00000, 0x0000000710f00000| 0%| F| |TAMS 0x0000000710e00000, 0x0000000710e00000| Untracked +| 231|0x0000000710f00000, 0x0000000710f00000, 0x0000000711000000| 0%| F| |TAMS 0x0000000710f00000, 0x0000000710f00000| Untracked +| 232|0x0000000711000000, 0x0000000711000000, 0x0000000711100000| 0%| F| |TAMS 0x0000000711000000, 0x0000000711000000| Untracked +| 233|0x0000000711100000, 0x0000000711100000, 0x0000000711200000| 0%| F| |TAMS 0x0000000711100000, 0x0000000711100000| Untracked +| 234|0x0000000711200000, 0x0000000711200000, 0x0000000711300000| 0%| F| |TAMS 0x0000000711200000, 0x0000000711200000| Untracked +| 235|0x0000000711300000, 0x0000000711300000, 0x0000000711400000| 0%| F| |TAMS 0x0000000711300000, 0x0000000711300000| Untracked +| 236|0x0000000711400000, 0x0000000711400000, 0x0000000711500000| 0%| F| |TAMS 0x0000000711400000, 0x0000000711400000| Untracked +| 237|0x0000000711500000, 0x0000000711500000, 0x0000000711600000| 0%| F| |TAMS 0x0000000711500000, 0x0000000711500000| Untracked +| 238|0x0000000711600000, 0x0000000711600000, 0x0000000711700000| 0%| F| |TAMS 0x0000000711600000, 0x0000000711600000| Untracked +| 239|0x0000000711700000, 0x0000000711700000, 0x0000000711800000| 0%| F| |TAMS 0x0000000711700000, 0x0000000711700000| Untracked +| 240|0x0000000711800000, 0x0000000711800000, 0x0000000711900000| 0%| F| |TAMS 0x0000000711800000, 0x0000000711800000| Untracked +| 241|0x0000000711900000, 0x0000000711900000, 0x0000000711a00000| 0%| F| |TAMS 0x0000000711900000, 0x0000000711900000| Untracked +| 242|0x0000000711a00000, 0x0000000711a00000, 0x0000000711b00000| 0%| F| |TAMS 0x0000000711a00000, 0x0000000711a00000| Untracked +| 243|0x0000000711b00000, 0x0000000711b00000, 0x0000000711c00000| 0%| F| |TAMS 0x0000000711b00000, 0x0000000711b00000| Untracked +| 244|0x0000000711c00000, 0x0000000711c00000, 0x0000000711d00000| 0%| F| |TAMS 0x0000000711c00000, 0x0000000711c00000| Untracked +| 245|0x0000000711d00000, 0x0000000711d00000, 0x0000000711e00000| 0%| F| |TAMS 0x0000000711d00000, 0x0000000711d00000| Untracked +| 246|0x0000000711e00000, 0x0000000711e00000, 0x0000000711f00000| 0%| F| |TAMS 0x0000000711e00000, 0x0000000711e00000| Untracked +| 247|0x0000000711f00000, 0x0000000711f00000, 0x0000000712000000| 0%| F| |TAMS 0x0000000711f00000, 0x0000000711f00000| Untracked +| 248|0x0000000712000000, 0x0000000712000000, 0x0000000712100000| 0%| F| |TAMS 0x0000000712000000, 0x0000000712000000| Untracked +| 249|0x0000000712100000, 0x0000000712100000, 0x0000000712200000| 0%| F| |TAMS 0x0000000712100000, 0x0000000712100000| Untracked +| 250|0x0000000712200000, 0x0000000712200000, 0x0000000712300000| 0%| F| |TAMS 0x0000000712200000, 0x0000000712200000| Untracked +| 251|0x0000000712300000, 0x0000000712300000, 0x0000000712400000| 0%| F| |TAMS 0x0000000712300000, 0x0000000712300000| Untracked +| 252|0x0000000712400000, 0x0000000712400000, 0x0000000712500000| 0%| F| |TAMS 0x0000000712400000, 0x0000000712400000| Untracked +| 253|0x0000000712500000, 0x0000000712500000, 0x0000000712600000| 0%| F| |TAMS 0x0000000712500000, 0x0000000712500000| Untracked +| 254|0x0000000712600000, 0x0000000712600000, 0x0000000712700000| 0%| F| |TAMS 0x0000000712600000, 0x0000000712600000| Untracked +| 255|0x0000000712700000, 0x0000000712700000, 0x0000000712800000| 0%| F| |TAMS 0x0000000712700000, 0x0000000712700000| Untracked +| 256|0x0000000712800000, 0x0000000712800000, 0x0000000712900000| 0%| F| |TAMS 0x0000000712800000, 0x0000000712800000| Untracked +| 257|0x0000000712900000, 0x0000000712900000, 0x0000000712a00000| 0%| F| |TAMS 0x0000000712900000, 0x0000000712900000| Untracked +| 258|0x0000000712a00000, 0x0000000712a00000, 0x0000000712b00000| 0%| F| |TAMS 0x0000000712a00000, 0x0000000712a00000| Untracked +| 259|0x0000000712b00000, 0x0000000712b00000, 0x0000000712c00000| 0%| F| |TAMS 0x0000000712b00000, 0x0000000712b00000| Untracked +| 260|0x0000000712c00000, 0x0000000712c00000, 0x0000000712d00000| 0%| F| |TAMS 0x0000000712c00000, 0x0000000712c00000| Untracked +| 261|0x0000000712d00000, 0x0000000712d00000, 0x0000000712e00000| 0%| F| |TAMS 0x0000000712d00000, 0x0000000712d00000| Untracked +| 262|0x0000000712e00000, 0x0000000712e00000, 0x0000000712f00000| 0%| F| |TAMS 0x0000000712e00000, 0x0000000712e00000| Untracked +| 263|0x0000000712f00000, 0x0000000712f00000, 0x0000000713000000| 0%| F| |TAMS 0x0000000712f00000, 0x0000000712f00000| Untracked +| 264|0x0000000713000000, 0x0000000713000000, 0x0000000713100000| 0%| F| |TAMS 0x0000000713000000, 0x0000000713000000| Untracked +| 265|0x0000000713100000, 0x0000000713100000, 0x0000000713200000| 0%| F| |TAMS 0x0000000713100000, 0x0000000713100000| Untracked +| 266|0x0000000713200000, 0x0000000713200000, 0x0000000713300000| 0%| F| |TAMS 0x0000000713200000, 0x0000000713200000| Untracked +| 267|0x0000000713300000, 0x0000000713300000, 0x0000000713400000| 0%| F| |TAMS 0x0000000713300000, 0x0000000713300000| Untracked +| 268|0x0000000713400000, 0x0000000713400000, 0x0000000713500000| 0%| F| |TAMS 0x0000000713400000, 0x0000000713400000| Untracked +| 269|0x0000000713500000, 0x0000000713500000, 0x0000000713600000| 0%| F| |TAMS 0x0000000713500000, 0x0000000713500000| Untracked +| 270|0x0000000713600000, 0x0000000713600000, 0x0000000713700000| 0%| F| |TAMS 0x0000000713600000, 0x0000000713600000| Untracked +| 271|0x0000000713700000, 0x0000000713700000, 0x0000000713800000| 0%| F| |TAMS 0x0000000713700000, 0x0000000713700000| Untracked +| 272|0x0000000713800000, 0x0000000713800000, 0x0000000713900000| 0%| F| |TAMS 0x0000000713800000, 0x0000000713800000| Untracked +| 273|0x0000000713900000, 0x0000000713900000, 0x0000000713a00000| 0%| F| |TAMS 0x0000000713900000, 0x0000000713900000| Untracked +| 274|0x0000000713a00000, 0x0000000713a00000, 0x0000000713b00000| 0%| F| |TAMS 0x0000000713a00000, 0x0000000713a00000| Untracked +| 275|0x0000000713b00000, 0x0000000713b00000, 0x0000000713c00000| 0%| F| |TAMS 0x0000000713b00000, 0x0000000713b00000| Untracked +| 276|0x0000000713c00000, 0x0000000713c00000, 0x0000000713d00000| 0%| F| |TAMS 0x0000000713c00000, 0x0000000713c00000| Untracked +| 277|0x0000000713d00000, 0x0000000713d00000, 0x0000000713e00000| 0%| F| |TAMS 0x0000000713d00000, 0x0000000713d00000| Untracked +| 278|0x0000000713e00000, 0x0000000713e00000, 0x0000000713f00000| 0%| F| |TAMS 0x0000000713e00000, 0x0000000713e00000| Untracked +| 279|0x0000000713f00000, 0x0000000713f00000, 0x0000000714000000| 0%| F| |TAMS 0x0000000713f00000, 0x0000000713f00000| Untracked +| 280|0x0000000714000000, 0x0000000714000000, 0x0000000714100000| 0%| F| |TAMS 0x0000000714000000, 0x0000000714000000| Untracked +| 281|0x0000000714100000, 0x0000000714100000, 0x0000000714200000| 0%| F| |TAMS 0x0000000714100000, 0x0000000714100000| Untracked +| 282|0x0000000714200000, 0x0000000714200000, 0x0000000714300000| 0%| F| |TAMS 0x0000000714200000, 0x0000000714200000| Untracked +| 283|0x0000000714300000, 0x0000000714300000, 0x0000000714400000| 0%| F| |TAMS 0x0000000714300000, 0x0000000714300000| Untracked +| 284|0x0000000714400000, 0x0000000714400000, 0x0000000714500000| 0%| F| |TAMS 0x0000000714400000, 0x0000000714400000| Untracked +| 285|0x0000000714500000, 0x0000000714500000, 0x0000000714600000| 0%| F| |TAMS 0x0000000714500000, 0x0000000714500000| Untracked +| 286|0x0000000714600000, 0x0000000714600000, 0x0000000714700000| 0%| F| |TAMS 0x0000000714600000, 0x0000000714600000| Untracked +| 287|0x0000000714700000, 0x0000000714700000, 0x0000000714800000| 0%| F| |TAMS 0x0000000714700000, 0x0000000714700000| Untracked +| 288|0x0000000714800000, 0x0000000714800000, 0x0000000714900000| 0%| F| |TAMS 0x0000000714800000, 0x0000000714800000| Untracked +| 289|0x0000000714900000, 0x0000000714900000, 0x0000000714a00000| 0%| F| |TAMS 0x0000000714900000, 0x0000000714900000| Untracked +| 290|0x0000000714a00000, 0x0000000714a00000, 0x0000000714b00000| 0%| F| |TAMS 0x0000000714a00000, 0x0000000714a00000| Untracked +| 291|0x0000000714b00000, 0x0000000714b00000, 0x0000000714c00000| 0%| F| |TAMS 0x0000000714b00000, 0x0000000714b00000| Untracked +| 292|0x0000000714c00000, 0x0000000714c00000, 0x0000000714d00000| 0%| F| |TAMS 0x0000000714c00000, 0x0000000714c00000| Untracked +| 293|0x0000000714d00000, 0x0000000714d00000, 0x0000000714e00000| 0%| F| |TAMS 0x0000000714d00000, 0x0000000714d00000| Untracked +| 294|0x0000000714e00000, 0x0000000714e00000, 0x0000000714f00000| 0%| F| |TAMS 0x0000000714e00000, 0x0000000714e00000| Untracked +| 295|0x0000000714f00000, 0x0000000714f00000, 0x0000000715000000| 0%| F| |TAMS 0x0000000714f00000, 0x0000000714f00000| Untracked +| 296|0x0000000715000000, 0x0000000715000000, 0x0000000715100000| 0%| F| |TAMS 0x0000000715000000, 0x0000000715000000| Untracked +| 297|0x0000000715100000, 0x0000000715100000, 0x0000000715200000| 0%| F| |TAMS 0x0000000715100000, 0x0000000715100000| Untracked +| 298|0x0000000715200000, 0x0000000715200000, 0x0000000715300000| 0%| F| |TAMS 0x0000000715200000, 0x0000000715200000| Untracked +| 299|0x0000000715300000, 0x0000000715300000, 0x0000000715400000| 0%| F| |TAMS 0x0000000715300000, 0x0000000715300000| Untracked +| 300|0x0000000715400000, 0x0000000715400000, 0x0000000715500000| 0%| F| |TAMS 0x0000000715400000, 0x0000000715400000| Untracked +| 301|0x0000000715500000, 0x0000000715500000, 0x0000000715600000| 0%| F| |TAMS 0x0000000715500000, 0x0000000715500000| Untracked +| 302|0x0000000715600000, 0x0000000715600000, 0x0000000715700000| 0%| F| |TAMS 0x0000000715600000, 0x0000000715600000| Untracked +| 303|0x0000000715700000, 0x0000000715700000, 0x0000000715800000| 0%| F| |TAMS 0x0000000715700000, 0x0000000715700000| Untracked +| 304|0x0000000715800000, 0x0000000715800000, 0x0000000715900000| 0%| F| |TAMS 0x0000000715800000, 0x0000000715800000| Untracked +| 305|0x0000000715900000, 0x0000000715900000, 0x0000000715a00000| 0%| F| |TAMS 0x0000000715900000, 0x0000000715900000| Untracked +| 306|0x0000000715a00000, 0x0000000715a00000, 0x0000000715b00000| 0%| F| |TAMS 0x0000000715a00000, 0x0000000715a00000| Untracked +| 307|0x0000000715b00000, 0x0000000715b00000, 0x0000000715c00000| 0%| F| |TAMS 0x0000000715b00000, 0x0000000715b00000| Untracked +| 308|0x0000000715c00000, 0x0000000715c00000, 0x0000000715d00000| 0%| F| |TAMS 0x0000000715c00000, 0x0000000715c00000| Untracked +| 309|0x0000000715d00000, 0x0000000715d00000, 0x0000000715e00000| 0%| F| |TAMS 0x0000000715d00000, 0x0000000715d00000| Untracked +| 310|0x0000000715e00000, 0x0000000715e00000, 0x0000000715f00000| 0%| F| |TAMS 0x0000000715e00000, 0x0000000715e00000| Untracked +| 311|0x0000000715f00000, 0x0000000715f00000, 0x0000000716000000| 0%| F| |TAMS 0x0000000715f00000, 0x0000000715f00000| Untracked +| 312|0x0000000716000000, 0x0000000716000000, 0x0000000716100000| 0%| F| |TAMS 0x0000000716000000, 0x0000000716000000| Untracked +| 313|0x0000000716100000, 0x0000000716100000, 0x0000000716200000| 0%| F| |TAMS 0x0000000716100000, 0x0000000716100000| Untracked +| 314|0x0000000716200000, 0x0000000716200000, 0x0000000716300000| 0%| F| |TAMS 0x0000000716200000, 0x0000000716200000| Untracked +| 315|0x0000000716300000, 0x0000000716300000, 0x0000000716400000| 0%| F| |TAMS 0x0000000716300000, 0x0000000716300000| Untracked +| 316|0x0000000716400000, 0x0000000716400000, 0x0000000716500000| 0%| F| |TAMS 0x0000000716400000, 0x0000000716400000| Untracked +| 317|0x0000000716500000, 0x0000000716500000, 0x0000000716600000| 0%| F| |TAMS 0x0000000716500000, 0x0000000716500000| Untracked +| 318|0x0000000716600000, 0x0000000716600000, 0x0000000716700000| 0%| F| |TAMS 0x0000000716600000, 0x0000000716600000| Untracked +| 319|0x0000000716700000, 0x0000000716700000, 0x0000000716800000| 0%| F| |TAMS 0x0000000716700000, 0x0000000716700000| Untracked +| 320|0x0000000716800000, 0x0000000716800000, 0x0000000716900000| 0%| F| |TAMS 0x0000000716800000, 0x0000000716800000| Untracked +| 321|0x0000000716900000, 0x0000000716900000, 0x0000000716a00000| 0%| F| |TAMS 0x0000000716900000, 0x0000000716900000| Untracked +| 322|0x0000000716a00000, 0x0000000716a00000, 0x0000000716b00000| 0%| F| |TAMS 0x0000000716a00000, 0x0000000716a00000| Untracked +| 323|0x0000000716b00000, 0x0000000716b00000, 0x0000000716c00000| 0%| F| |TAMS 0x0000000716b00000, 0x0000000716b00000| Untracked +| 324|0x0000000716c00000, 0x0000000716c00000, 0x0000000716d00000| 0%| F| |TAMS 0x0000000716c00000, 0x0000000716c00000| Untracked +| 325|0x0000000716d00000, 0x0000000716d00000, 0x0000000716e00000| 0%| F| |TAMS 0x0000000716d00000, 0x0000000716d00000| Untracked +| 326|0x0000000716e00000, 0x0000000716e00000, 0x0000000716f00000| 0%| F| |TAMS 0x0000000716e00000, 0x0000000716e00000| Untracked +| 327|0x0000000716f00000, 0x0000000716f00000, 0x0000000717000000| 0%| F| |TAMS 0x0000000716f00000, 0x0000000716f00000| Untracked +| 328|0x0000000717000000, 0x0000000717000000, 0x0000000717100000| 0%| F| |TAMS 0x0000000717000000, 0x0000000717000000| Untracked +| 329|0x0000000717100000, 0x0000000717100000, 0x0000000717200000| 0%| F| |TAMS 0x0000000717100000, 0x0000000717100000| Untracked +| 330|0x0000000717200000, 0x0000000717200000, 0x0000000717300000| 0%| F| |TAMS 0x0000000717200000, 0x0000000717200000| Untracked +| 331|0x0000000717300000, 0x0000000717300000, 0x0000000717400000| 0%| F| |TAMS 0x0000000717300000, 0x0000000717300000| Untracked +| 332|0x0000000717400000, 0x0000000717400000, 0x0000000717500000| 0%| F| |TAMS 0x0000000717400000, 0x0000000717400000| Untracked +| 333|0x0000000717500000, 0x0000000717500000, 0x0000000717600000| 0%| F| |TAMS 0x0000000717500000, 0x0000000717500000| Untracked +| 334|0x0000000717600000, 0x0000000717600000, 0x0000000717700000| 0%| F| |TAMS 0x0000000717600000, 0x0000000717600000| Untracked +| 335|0x0000000717700000, 0x0000000717700000, 0x0000000717800000| 0%| F| |TAMS 0x0000000717700000, 0x0000000717700000| Untracked +| 336|0x0000000717800000, 0x0000000717800000, 0x0000000717900000| 0%| F| |TAMS 0x0000000717800000, 0x0000000717800000| Untracked +| 337|0x0000000717900000, 0x0000000717900000, 0x0000000717a00000| 0%| F| |TAMS 0x0000000717900000, 0x0000000717900000| Untracked +| 338|0x0000000717a00000, 0x0000000717a00000, 0x0000000717b00000| 0%| F| |TAMS 0x0000000717a00000, 0x0000000717a00000| Untracked +| 339|0x0000000717b00000, 0x0000000717b00000, 0x0000000717c00000| 0%| F| |TAMS 0x0000000717b00000, 0x0000000717b00000| Untracked +| 340|0x0000000717c00000, 0x0000000717c00000, 0x0000000717d00000| 0%| F| |TAMS 0x0000000717c00000, 0x0000000717c00000| Untracked +| 341|0x0000000717d00000, 0x0000000717d00000, 0x0000000717e00000| 0%| F| |TAMS 0x0000000717d00000, 0x0000000717d00000| Untracked +| 342|0x0000000717e00000, 0x0000000717e00000, 0x0000000717f00000| 0%| F| |TAMS 0x0000000717e00000, 0x0000000717e00000| Untracked +| 343|0x0000000717f00000, 0x0000000717f00000, 0x0000000718000000| 0%| F| |TAMS 0x0000000717f00000, 0x0000000717f00000| Untracked +| 344|0x0000000718000000, 0x0000000718000000, 0x0000000718100000| 0%| F| |TAMS 0x0000000718000000, 0x0000000718000000| Untracked +| 345|0x0000000718100000, 0x0000000718100000, 0x0000000718200000| 0%| F| |TAMS 0x0000000718100000, 0x0000000718100000| Untracked +| 346|0x0000000718200000, 0x0000000718200000, 0x0000000718300000| 0%| F| |TAMS 0x0000000718200000, 0x0000000718200000| Untracked +| 347|0x0000000718300000, 0x0000000718300000, 0x0000000718400000| 0%| F| |TAMS 0x0000000718300000, 0x0000000718300000| Untracked +| 348|0x0000000718400000, 0x0000000718400000, 0x0000000718500000| 0%| F| |TAMS 0x0000000718400000, 0x0000000718400000| Untracked +| 349|0x0000000718500000, 0x0000000718500000, 0x0000000718600000| 0%| F| |TAMS 0x0000000718500000, 0x0000000718500000| Untracked +| 350|0x0000000718600000, 0x0000000718600000, 0x0000000718700000| 0%| F| |TAMS 0x0000000718600000, 0x0000000718600000| Untracked +| 351|0x0000000718700000, 0x0000000718700000, 0x0000000718800000| 0%| F| |TAMS 0x0000000718700000, 0x0000000718700000| Untracked +| 352|0x0000000718800000, 0x0000000718800000, 0x0000000718900000| 0%| F| |TAMS 0x0000000718800000, 0x0000000718800000| Untracked +| 353|0x0000000718900000, 0x0000000718900000, 0x0000000718a00000| 0%| F| |TAMS 0x0000000718900000, 0x0000000718900000| Untracked +| 354|0x0000000718a00000, 0x0000000718a00000, 0x0000000718b00000| 0%| F| |TAMS 0x0000000718a00000, 0x0000000718a00000| Untracked +| 355|0x0000000718b00000, 0x0000000718b00000, 0x0000000718c00000| 0%| F| |TAMS 0x0000000718b00000, 0x0000000718b00000| Untracked +| 356|0x0000000718c00000, 0x0000000718c00000, 0x0000000718d00000| 0%| F| |TAMS 0x0000000718c00000, 0x0000000718c00000| Untracked +| 357|0x0000000718d00000, 0x0000000718d00000, 0x0000000718e00000| 0%| F| |TAMS 0x0000000718d00000, 0x0000000718d00000| Untracked +| 358|0x0000000718e00000, 0x0000000718e00000, 0x0000000718f00000| 0%| F| |TAMS 0x0000000718e00000, 0x0000000718e00000| Untracked +| 359|0x0000000718f00000, 0x0000000718f00000, 0x0000000719000000| 0%| F| |TAMS 0x0000000718f00000, 0x0000000718f00000| Untracked +| 360|0x0000000719000000, 0x0000000719000000, 0x0000000719100000| 0%| F| |TAMS 0x0000000719000000, 0x0000000719000000| Untracked +| 361|0x0000000719100000, 0x00000007191af4a0, 0x0000000719200000| 68%| E| |TAMS 0x0000000719100000, 0x0000000719100000| Complete +| 362|0x0000000719200000, 0x0000000719300000, 0x0000000719300000|100%| E|CS|TAMS 0x0000000719200000, 0x0000000719200000| Complete +| 363|0x0000000719300000, 0x0000000719400000, 0x0000000719400000|100%| E|CS|TAMS 0x0000000719300000, 0x0000000719300000| Complete +| 364|0x0000000719400000, 0x0000000719500000, 0x0000000719500000|100%| E|CS|TAMS 0x0000000719400000, 0x0000000719400000| Complete +| 365|0x0000000719500000, 0x0000000719600000, 0x0000000719600000|100%| E|CS|TAMS 0x0000000719500000, 0x0000000719500000| Complete + +Card table byte_map: [0x000002094de70000,0x000002094e660000] _byte_map_base: 0x000002094a65c000 + +Marking Bits (Prev, Next): (CMBitMap*) 0x0000020935fbc788, (CMBitMap*) 0x0000020935fbc7c0 + Prev Bits: [0x000002094ee50000, 0x0000020952db0000) + Next Bits: [0x0000020952db0000, 0x0000020956d10000) + +Polling page: 0x0000020935720000 + +Metaspace: + +Usage: + Non-class: 51.71 MB capacity, 50.35 MB ( 97%) used, 1.09 MB ( 2%) free+waste, 268.75 KB ( <1%) overhead. + Class: 8.12 MB capacity, 7.25 MB ( 89%) used, 757.53 KB ( 9%) free+waste, 132.88 KB ( 2%) overhead. + Both: 59.83 MB capacity, 57.61 MB ( 96%) used, 1.83 MB ( 3%) free+waste, 401.63 KB ( <1%) overhead. + +Virtual space: + Non-class space: 52.00 MB reserved, 51.81 MB (>99%) committed + Class space: 1.00 GB reserved, 8.23 MB ( <1%) committed + Both: 1.05 GB reserved, 60.04 MB ( 6%) committed + +Chunk freelists: + Non-Class: 3.50 KB + Class: 128 bytes + Both: 3.63 KB + +CodeHeap 'non-profiled nmethods': size=238336Kb used=12404Kb max_used=12404Kb free=225931Kb + bounds [0x000002093ea90000, 0x000002093f6b0000, 0x000002094d350000] +CodeHeap 'non-nmethods': size=7424Kb used=1256Kb max_used=1256Kb free=6167Kb + bounds [0x000002093e350000, 0x000002093e5c0000, 0x000002093ea90000] + total_blobs=7622 nmethods=7004 adapters=542 + compilation: enabled + stopped_count=0, restarted_count=0 + full_count=0 + +Compilation events (10 events): +Event: 17.523 Thread 0x000002095a1ae800 7000 ! 1 java.lang.ClassLoader::checkCerts (195 bytes) +Event: 17.524 Thread 0x000002095a1ae800 nmethod 7000 0x000002093eb01b90 code [0x000002093eb01e20, 0x000002093eb027b0] +Event: 17.536 Thread 0x000002095a1ae800 7001 1 java.nio.HeapByteBuffer::put (17 bytes) +Event: 17.536 Thread 0x000002095a1ae800 nmethod 7001 0x000002093ead9610 code [0x000002093ead97c0, 0x000002093ead9938] +Event: 17.536 Thread 0x000002095a1ae800 7002 ! 1 org.apache.tomcat.util.http.parser.HttpParser::isControl (9 bytes) +Event: 17.536 Thread 0x000002095a1ae800 nmethod 7002 0x000002093eaf0990 code [0x000002093eaf0b40, 0x000002093eaf0c98] +Event: 17.540 Thread 0x000002095a1ae800 7003 1 java.util.Properties::getProperty (50 bytes) +Event: 17.540 Thread 0x000002095a1ae800 nmethod 7003 0x000002093eaf8b10 code [0x000002093eaf8cc0, 0x000002093eaf8f00] +Event: 17.540 Thread 0x000002095a1ae800 7004 1 java.util.concurrent.ConcurrentHashMap::put (8 bytes) +Event: 17.540 Thread 0x000002095a1ae800 nmethod 7004 0x000002093eaf3510 code [0x000002093eaf36c0, 0x000002093eaf3810] + +GC Heap History (10 events): +Event: 2.567 GC heap before +{Heap before GC invocations=7 (full 0): + garbage-first heap total 260096K, used 162551K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 152 young (155648K), 10 survivors (10240K) + Metaspace used 46962K, capacity 48413K, committed 48464K, reserved 1091584K + class space used 5717K, capacity 6298K, committed 6304K, reserved 1048576K +} +Event: 2.576 GC heap after +{Heap after GC invocations=8 (full 0): + garbage-first heap total 312320K, used 24500K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 17 young (17408K), 17 survivors (17408K) + Metaspace used 46962K, capacity 48413K, committed 48464K, reserved 1091584K + class space used 5717K, capacity 6298K, committed 6304K, reserved 1048576K +} +Event: 2.792 GC heap before +{Heap before GC invocations=8 (full 0): + garbage-first heap total 312320K, used 194484K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 183 young (187392K), 17 survivors (17408K) + Metaspace used 47086K, capacity 48637K, committed 48848K, reserved 1091584K + class space used 5728K, capacity 6330K, committed 6432K, reserved 1048576K +} +Event: 2.801 GC heap after +{Heap after GC invocations=9 (full 0): + garbage-first heap total 312320K, used 26723K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 10 young (10240K), 10 survivors (10240K) + Metaspace used 47086K, capacity 48637K, committed 48848K, reserved 1091584K + class space used 5728K, capacity 6330K, committed 6432K, reserved 1048576K +} +Event: 2.972 GC heap before +{Heap before GC invocations=9 (full 0): + garbage-first heap total 312320K, used 203875K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 183 young (187392K), 10 survivors (10240K) + Metaspace used 47380K, capacity 48894K, committed 49104K, reserved 1091584K + class space used 5740K, capacity 6330K, committed 6432K, reserved 1048576K +} +Event: 2.977 GC heap after +{Heap after GC invocations=10 (full 0): + garbage-first heap total 312320K, used 28324K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 12 young (12288K), 12 survivors (12288K) + Metaspace used 47380K, capacity 48894K, committed 49104K, reserved 1091584K + class space used 5740K, capacity 6330K, committed 6432K, reserved 1048576K +} +Event: 3.149 GC heap before +{Heap before GC invocations=10 (full 0): + garbage-first heap total 312320K, used 203428K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 183 young (187392K), 12 survivors (12288K) + Metaspace used 47470K, capacity 48958K, committed 49104K, reserved 1091584K + class space used 5751K, capacity 6330K, committed 6432K, reserved 1048576K +} +Event: 3.155 GC heap after +{Heap after GC invocations=11 (full 0): + garbage-first heap total 312320K, used 29610K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 13 young (13312K), 13 survivors (13312K) + Metaspace used 47470K, capacity 48958K, committed 49104K, reserved 1091584K + class space used 5751K, capacity 6330K, committed 6432K, reserved 1048576K +} +Event: 17.543 GC heap before +{Heap before GC invocations=11 (full 0): + garbage-first heap total 312320K, used 200618K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 181 young (185344K), 13 survivors (13312K) + Metaspace used 58262K, capacity 60473K, committed 60508K, reserved 1101824K + class space used 7333K, capacity 8204K, committed 8224K, reserved 1048576K +} +Event: 17.560 GC heap after +{Heap after GC invocations=12 (full 0): + garbage-first heap total 374784K, used 37209K [0x0000000702800000, 0x0000000800000000) + region size 1024K, 14 young (14336K), 14 survivors (14336K) + Metaspace used 58262K, capacity 60473K, committed 60508K, reserved 1101824K + class space used 7333K, capacity 8204K, committed 8224K, reserved 1048576K +} + +Deoptimization events (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (10 events): +Event: 4.138 Thread 0x0000020935f5a800 Exception (0x000000070bedcf20) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.140 Thread 0x0000020935f5a800 Exception (0x000000070bef3978) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.140 Thread 0x0000020935f5a800 Exception (0x000000070bef8620) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.140 Thread 0x0000020935f5a800 Exception (0x000000070befd308) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.147 Thread 0x0000020935f5a800 Exception (0x000000070bd9ff10) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.147 Thread 0x0000020935f5a800 Exception (0x000000070bda58e8) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.147 Thread 0x0000020935f5a800 Exception (0x000000070bdbb640) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.148 Thread 0x0000020935f5a800 Exception (0x000000070bdc0028) thrown at [./open/src/hotspot/share/prims/jni.cpp, line 632] +Event: 4.152 Thread 0x0000020935f5a800 Exception (0x000000070bc631b0) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 228] +Event: 4.152 Thread 0x0000020935f5a800 Exception (0x000000070bc76f78) thrown at [./open/src/hotspot/share/classfile/systemDictionary.cpp, line 228] + +Events (10 events): +Event: 17.543 loading class org/apache/catalina/connector/OutputBuffer +Event: 17.543 loading class org/apache/catalina/connector/OutputBuffer done +Event: 17.543 Executing VM operation: CollectForMetadataAllocation +Event: 17.560 Executing VM operation: CollectForMetadataAllocation done +Event: 17.560 loading class org/apache/tomcat/util/buf/Utf8Decoder +Event: 17.560 loading class org/apache/tomcat/util/buf/Utf8Decoder done +Event: 17.561 loading class javax/servlet/http/MappingMatch +Event: 17.561 loading class javax/servlet/http/MappingMatch done +Event: 17.561 loading class org/apache/catalina/util/SessionConfig +Event: 17.561 loading class org/apache/catalina/util/SessionConfig done + + +Dynamic libraries: +0x00007ff6f9bd0000 - 0x00007ff6f9bdf000 D:\Java\jdk-11.0.8\bin\java.exe +0x00007ff9be1f0000 - 0x00007ff9be404000 C:\WINDOWS\SYSTEM32\ntdll.dll +0x00007ff9bcfc0000 - 0x00007ff9bd083000 C:\WINDOWS\System32\KERNEL32.DLL +0x00007ff9bb780000 - 0x00007ff9bbb1d000 C:\WINDOWS\System32\KERNELBASE.dll +0x00007ff9bbe40000 - 0x00007ff9bbf51000 C:\WINDOWS\System32\ucrtbase.dll +0x00007ff99bab0000 - 0x00007ff99bac8000 D:\Java\jdk-11.0.8\bin\jli.dll +0x00007ff99ba90000 - 0x00007ff99baa5000 D:\Java\jdk-11.0.8\bin\VCRUNTIME140.dll +0x00007ff9bc510000 - 0x00007ff9bc5be000 C:\WINDOWS\System32\ADVAPI32.dll +0x00007ff9bd250000 - 0x00007ff9bd2f7000 C:\WINDOWS\System32\msvcrt.dll +0x00007ff9bd110000 - 0x00007ff9bd1b4000 C:\WINDOWS\System32\sechost.dll +0x00007ff9be090000 - 0x00007ff9be1a5000 C:\WINDOWS\System32\RPCRT4.dll +0x00007ff9bdee0000 - 0x00007ff9be08d000 C:\WINDOWS\System32\USER32.dll +0x00007ff9bbbe0000 - 0x00007ff9bbc06000 C:\WINDOWS\System32\win32u.dll +0x00007ff9ba830000 - 0x00007ff9baabe000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22621.608_none_a9444ca7c10bb01d\COMCTL32.dll +0x00007ff9bd210000 - 0x00007ff9bd239000 C:\WINDOWS\System32\GDI32.dll +0x00007ff9bbd20000 - 0x00007ff9bbe32000 C:\WINDOWS\System32\gdi32full.dll +0x00007ff9bbc80000 - 0x00007ff9bbd1a000 C:\WINDOWS\System32\msvcp_win.dll +0x00007ff9af070000 - 0x00007ff9af07a000 C:\WINDOWS\SYSTEM32\VERSION.dll +0x00007ff9bcf80000 - 0x00007ff9bcfb2000 C:\WINDOWS\System32\IMM32.DLL +0x00007ff97f5d0000 - 0x00007ff97f66b000 D:\Java\jdk-11.0.8\bin\msvcp140.dll +0x00007ff94f480000 - 0x00007ff94ff66000 D:\Java\jdk-11.0.8\bin\server\jvm.dll +0x00007ff9bd350000 - 0x00007ff9bd358000 C:\WINDOWS\System32\PSAPI.DLL +0x00007ff9a2440000 - 0x00007ff9a2449000 C:\WINDOWS\SYSTEM32\WSOCK32.dll +0x00007ff9afb80000 - 0x00007ff9afbb4000 C:\WINDOWS\SYSTEM32\WINMM.dll +0x00007ff9bd360000 - 0x00007ff9bd3d1000 C:\WINDOWS\System32\WS2_32.dll +0x00007ff9b9e50000 - 0x00007ff9b9e68000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll +0x00007ff99ba80000 - 0x00007ff99ba90000 D:\Java\jdk-11.0.8\bin\verify.dll +0x00007ff9baf80000 - 0x00007ff9bb1ae000 C:\WINDOWS\SYSTEM32\DBGHELP.DLL +0x00007ff9bc5c0000 - 0x00007ff9bc94a000 C:\WINDOWS\System32\combase.dll +0x00007ff9bdc90000 - 0x00007ff9bdd67000 C:\WINDOWS\System32\OLEAUT32.dll +0x00007ff9badf0000 - 0x00007ff9bae22000 C:\WINDOWS\SYSTEM32\dbgcore.DLL +0x00007ff9bbf60000 - 0x00007ff9bbfdb000 C:\WINDOWS\System32\bcryptPrimitives.dll +0x00007ff99ba50000 - 0x00007ff99ba78000 D:\Java\jdk-11.0.8\bin\java.dll +0x00007ff99ba40000 - 0x00007ff99ba4a000 D:\Java\jdk-11.0.8\bin\jimage.dll +0x00007ff9bae60000 - 0x00007ff9bae6e000 D:\Java\jdk-11.0.8\bin\instrument.dll +0x00007ff99ba20000 - 0x00007ff99ba36000 D:\Java\jdk-11.0.8\bin\zip.dll +0x00007ff9bd4a0000 - 0x00007ff9bdc8f000 C:\WINDOWS\System32\SHELL32.dll +0x00007ff9b8df0000 - 0x00007ff9b96b8000 C:\WINDOWS\SYSTEM32\windows.storage.dll +0x00007ff9b8cb0000 - 0x00007ff9b8dee000 C:\WINDOWS\SYSTEM32\wintypes.dll +0x00007ff9bbfe0000 - 0x00007ff9bc0d1000 C:\WINDOWS\System32\SHCORE.dll +0x00007ff9bdd80000 - 0x00007ff9bddde000 C:\WINDOWS\System32\shlwapi.dll +0x00007ff9bb540000 - 0x00007ff9bb561000 C:\WINDOWS\SYSTEM32\profapi.dll +0x00007ff99ba00000 - 0x00007ff99ba19000 D:\Java\jdk-11.0.8\bin\net.dll +0x00007ff9b1b60000 - 0x00007ff9b1c8f000 C:\WINDOWS\SYSTEM32\WINHTTP.dll +0x00007ff9ba2b0000 - 0x00007ff9ba319000 C:\WINDOWS\system32\mswsock.dll +0x00007ff99b9e0000 - 0x00007ff99b9f2000 D:\Java\jdk-11.0.8\bin\nio.dll +0x00007ff9b2c00000 - 0x00007ff9b2c1a000 D:\Java\idea-2021.2\idea\IntelliJ IDEA 2021.3.2\bin\breakgen64.dll +0x00007ff9b99f0000 - 0x00007ff9b9ae2000 C:\WINDOWS\SYSTEM32\DNSAPI.dll +0x00007ff9b9980000 - 0x00007ff9b99ad000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL +0x00007ff9bd1c0000 - 0x00007ff9bd1c9000 C:\WINDOWS\System32\NSI.dll +0x00007ff9ae310000 - 0x00007ff9ae31a000 C:\Windows\System32\rasadhlp.dll +0x00007ff9ad460000 - 0x00007ff9ad4e3000 C:\WINDOWS\System32\fwpuclnt.dll +0x00007ff9b2c30000 - 0x00007ff9b2c39000 D:\Java\jdk-11.0.8\bin\management.dll +0x00007ff9b2c20000 - 0x00007ff9b2c2b000 D:\Java\jdk-11.0.8\bin\management_ext.dll +0x00007ff9bb2a0000 - 0x00007ff9bb2bb000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll +0x00007ff9ba1d0000 - 0x00007ff9ba205000 C:\WINDOWS\system32\rsaenh.dll +0x00007ff9ba540000 - 0x00007ff9ba568000 C:\WINDOWS\SYSTEM32\USERENV.dll +0x00007ff9baec0000 - 0x00007ff9baee8000 C:\WINDOWS\SYSTEM32\bcrypt.dll +0x00007ff9ba6a0000 - 0x00007ff9ba6ac000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll +0x00007ff9ae630000 - 0x00007ff9ae649000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL +0x00007ff9ae4a0000 - 0x00007ff9ae4bf000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL +0x00007ff9963c0000 - 0x00007ff9963d7000 C:\WINDOWS\system32\napinsp.dll +0x00007ff995d90000 - 0x00007ff995dab000 C:\WINDOWS\system32\pnrpnsp.dll +0x00007ff995c70000 - 0x00007ff995c81000 C:\WINDOWS\System32\winrnr.dll +0x00007ff995c50000 - 0x00007ff995c65000 C:\WINDOWS\system32\wshbth.dll +0x00007ff995c20000 - 0x00007ff995c41000 C:\WINDOWS\system32\nlansp_c.dll +0x0000000180000000 - 0x0000000180286000 D:\Tomcat 9.0\Tomcat_Software\bin\tcnative-1.dll +0x00007ff9bb610000 - 0x00007ff9bb776000 C:\WINDOWS\System32\CRYPT32.dll + +dbghelp: loaded successfully - version: 4.0.5 - missing functions: none +symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;D:\Java\jdk-11.0.8\bin;C:\WINDOWS\SYSTEM32;C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22621.608_none_a9444ca7c10bb01d;D:\Java\jdk-11.0.8\bin\server;D:\Java\idea-2021.2\idea\IntelliJ IDEA 2021.3.2\bin;D:\Tomcat 9.0\Tomcat_Software\bin + +VM Arguments: +jvm_args: -XX:TieredStopAtLevel=1 -Xverify:none -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:D:\Java\idea-2021.2\idea\IntelliJ IDEA 2021.3.2\lib\idea_rt.jar=49878:D:\Java\idea-2021.2\idea\IntelliJ IDEA 2021.3.2\bin -Dfile.encoding=UTF-8 +java_command: com.ew.gerocomium.GerocomiumApplication +java_class_path (initial): D:\Java\idea-2021.2\idea-javaee-workspace\gerocomium\target\classes;D:\Java\maven-3.8.4\tools\repository\org\springframework\boot\spring-boot-starter-security\2.6.1\spring-boot-starter-security-2.6.1.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\boot\spring-boot-starter\2.6.1\spring-boot-starter-2.6.1.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\boot\spring-boot\2.6.1\spring-boot-2.6.1.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\boot\spring-boot-starter-logging\2.6.1\spring-boot-starter-logging-2.6.1.jar;D:\Java\maven-3.8.4\tools\repository\ch\qos\logback\logback-classic\1.2.7\logback-classic-1.2.7.jar;D:\Java\maven-3.8.4\tools\repository\ch\qos\logback\logback-core\1.2.7\logback-core-1.2.7.jar;D:\Java\maven-3.8.4\tools\repository\org\apache\logging\log4j\log4j-to-slf4j\2.14.1\log4j-to-slf4j-2.14.1.jar;D:\Java\maven-3.8.4\tools\repository\org\apache\logging\log4j\log4j-api\2.14.1\log4j-api-2.14.1.jar;D:\Java\maven-3.8.4\tools\repository\org\slf4j\jul-to-slf4j\1.7.32\jul-to-slf4j-1.7.32.jar;D:\Java\maven-3.8.4\tools\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\Java\maven-3.8.4\tools\repository\org\yaml\snakeyaml\1.29\snakeyaml-1.29.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\spring-aop\5.3.13\spring-aop-5.3.13.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\spring-beans\5.3.13\spring-beans-5.3.13.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\security\spring-security-config\5.6.0\spring-security-config-5.6.0.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\security\spring-security-core\5.6.0\spring-security-core-5.6.0.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\security\spring-security-crypto\5.6.0\spring-security-crypto-5.6.0.jar;D:\Java\maven-3.8.4\tools\repository\org\springframework\spring-context\5.3.13\spring-context-5.3.13.jar;D:\Java\maven-3.8.4\tools\repository\ +Launcher Type: SUN_STANDARD + +[Global flags] + bool BytecodeVerificationLocal = false {product} {command line} + bool BytecodeVerificationRemote = false {product} {command line} + intx CICompilerCount = 4 {product} {ergonomic} + uint ConcGCThreads = 2 {product} {ergonomic} + uint G1ConcRefinementThreads = 8 {product} {ergonomic} + size_t G1HeapRegionSize = 1048576 {product} {ergonomic} + uintx GCDrainStackTargetSize = 64 {product} {ergonomic} + size_t InitialHeapSize = 266338304 {product} {ergonomic} + bool ManagementServer = true {product} {command line} + size_t MarkStackSize = 4194304 {product} {ergonomic} + size_t MaxHeapSize = 4253024256 {product} {ergonomic} + size_t MaxNewSize = 2551185408 {product} {ergonomic} + size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic} + uintx NonNMethodCodeHeapSize = 7549744 {pd product} {ergonomic} + uintx NonProfiledCodeHeapSize = 244108496 {pd product} {ergonomic} + uintx ProfiledCodeHeapSize = 0 {pd product} {ergonomic} + uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} + bool SegmentedCodeCache = true {product} {ergonomic} + intx TieredStopAtLevel = 1 {product} {command line} + bool UseCompressedClassPointers = true {lp64_product} {ergonomic} + bool UseCompressedOops = true {lp64_product} {ergonomic} + bool UseG1GC = true {product} {ergonomic} + bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} + +Logging: +Log output configuration: + #0: stdout all=warning uptime,level,tags + #1: stderr all=off uptime,level,tags + +Environment Variables: +JAVA_HOME=D:\Java\jdk-1.8.0 +CLASSPATH=.;D:\Java\jdk-1.8.0\lib\dt.jar;D:\Java\jdk-1.8.0\lib\tools.jar; +PATH=C:\Windows;C:\Windows\system32;C:\Windows\System32\Wbem;C:\Windows\System32\OpenSSH\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\MySQL\MySQL Utilities 1.6\;C:\Program Files\MySQL\MySQL Shell 8.0\bin;C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\Program Files\MySQL\MySQL Router 8.0\bin;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\OpenSSH\;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;D:\Java\jdk-1.8.0\bin;D:\Java\jdk-1.8.0\jre\bin;D:\Tomcat 9.0\Tomcat_Software\bin;D:\Tomcat 9.0\Tomcat_Software\lib;D:\Java\maven-3.8.4\bin;D:\VS Code\bin;D:\NodeJs\nodejs;D:\Redis\redis-3.2.1\;D:\Git\TortoiseGit\bin;D:\Git\Git_Software\cmd;D:\GoLand\GoLand_SDK\go1.17.1\bin;D:\AndroidStudio\AndroidStudio_SDK\platform-tools;D:\WeChatDeveloperTools\WeChatDeveloperTools-Software\΢web߹\dll;D:\Putty\Software\;C:\Users\Emperor Wen\AppData\Local\Microsoft\WindowsApps;C:\Users\Emperor Wen\AppData\Roaming\npm; +USERNAME=Emperor-Wen +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 12, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: Windows 10 , 64 bit Build 22621 (10.0.22621.963) + +CPU:total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 142 stepping 12, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx, fma + +Memory: 4k page, system-wide physical 16217M (6205M free) +TotalPageFile size 30553M (AvailPageFile size 16543M) +current process WorkingSet (physical memory assigned to process): 391M, peak: 391M +current process commit charge ("private bytes"): 550M, peak: 550M + +vm_info: Java HotSpot(TM) 64-Bit Server VM (11.0.8+10-LTS) for windows-amd64 JRE (11.0.8+10-LTS), built on Jun 16 2020 05:53:08 by "mach5one" with unknown MS VC++:1916 + +END. diff --git a/server/mvnw b/server/mvnw new file mode 100644 index 0000000..8a8fb22 --- /dev/null +++ b/server/mvnw @@ -0,0 +1,316 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF 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. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`\\unset -f command; \\command -v java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/server/mvnw.cmd b/server/mvnw.cmd new file mode 100644 index 0000000..1d8ab01 --- /dev/null +++ b/server/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/server/pom.xml b/server/pom.xml new file mode 100644 index 0000000..9a0c8ae --- /dev/null +++ b/server/pom.xml @@ -0,0 +1,171 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.6.1 + + + com.ew + gerocomium + 0.0.1-SNAPSHOT + gerocomium + gerocomium + + 1.8 + + + + + org.springframework.boot + spring-boot-starter-security + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-quartz + + + + org.apache.commons + commons-email + 1.5 + + + + mysql + mysql-connector-java + 8.0.25 + + + com.alibaba + druid-spring-boot-starter + 1.2.8 + + + com.baomidou + mybatis-plus-boot-starter + 3.4.3.4 + + + com.baomidou + mybatis-plus-extension + 3.4.3.4 + + + com.baomidou + mybatis-plus-generator + 3.4.1 + + + org.apache.velocity + velocity-engine-core + 2.2 + + + + org.springframework.boot + spring-boot-starter-data-redis + + + io.lettuce + lettuce-core + + + + + redis.clients + jedis + + + + io.jsonwebtoken + jjwt-api + 0.11.5 + + + io.jsonwebtoken + jjwt-impl + 0.11.5 + runtime + + + io.jsonwebtoken + jjwt-jackson + 0.11.5 + runtime + + + + org.projectlombok + lombok + true + + + + cn.hutool + hutool-all + 5.8.10 + + + + com.alibaba + fastjson + 1.2.33 + + + + com.google.code.gson + gson + 2.9.1 + + + + io.springfox + springfox-swagger2 + 3.0.0 + + + com.github.xiaoymin + swagger-bootstrap-ui + 1.9.6 + + + + com.alibaba + easyexcel + 3.2.1 + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/server/src/main/java/com/ew/gerocomium/GerocomiumApplication.java b/server/src/main/java/com/ew/gerocomium/GerocomiumApplication.java new file mode 100644 index 0000000..996a080 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/GerocomiumApplication.java @@ -0,0 +1,15 @@ +package com.ew.gerocomium; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@MapperScan("com/ew/gerocomium/dao/mapper") +@SpringBootApplication +public class GerocomiumApplication { + + public static void main(String[] args) { + SpringApplication.run(GerocomiumApplication.class, args); + } + +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/exception/BusinessRuntimeException.java b/server/src/main/java/com/ew/gerocomium/common/config/exception/BusinessRuntimeException.java new file mode 100644 index 0000000..1d25322 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/exception/BusinessRuntimeException.java @@ -0,0 +1,22 @@ +package com.ew.gerocomium.common.config.exception; + +import com.ew.gerocomium.common.constant.ExceptionEnum; +import lombok.Getter; + +@Getter +public class BusinessRuntimeException extends RuntimeException { + private static final long serialVersionUID = -7382189364622337034L; + + private final Integer code; + private final String msg; + + public BusinessRuntimeException(Integer code, String msg) { + super(msg); + this.code = code; + this.msg = msg; + } + + public BusinessRuntimeException(ExceptionEnum type) { + this(type.getCode(), type.getMsg()); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/exception/BusinessRuntimeExceptionAdvice.java b/server/src/main/java/com/ew/gerocomium/common/config/exception/BusinessRuntimeExceptionAdvice.java new file mode 100644 index 0000000..27995d0 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/exception/BusinessRuntimeExceptionAdvice.java @@ -0,0 +1,80 @@ +package com.ew.gerocomium.common.config.exception; + +import com.ew.gerocomium.common.constant.CodeEnum; +import com.ew.gerocomium.common.constant.ExceptionEnum; +import com.ew.gerocomium.common.util.ResponseUtil; +import com.ew.gerocomium.dao.base.Result; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.AccessDeniedException; +import org.springframework.security.authentication.BadCredentialsException; +import org.springframework.security.authentication.InternalAuthenticationServiceException; +import org.springframework.web.HttpRequestMethodNotSupportedException; +import org.springframework.web.bind.MissingServletRequestParameterException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException; +import org.springframework.web.servlet.NoHandlerFoundException; + +import javax.mail.MessagingException; +import javax.mail.SendFailedException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Objects; + +@Slf4j +@RestControllerAdvice +public class BusinessRuntimeExceptionAdvice { + @ExceptionHandler({Exception.class}) + public void exceptionHandler(Exception ex, HttpServletResponse response, HttpServletRequest request) { + String errorType; + Integer errorCode; + String errorMsg; + if (ex instanceof BusinessRuntimeException) { + errorType = "业务异常"; + // AssertUtils断言抛出的自定义业务异常 + errorCode = ((BusinessRuntimeException) ex).getCode(); + errorMsg = ((BusinessRuntimeException) ex).getMsg(); + } else if (ex instanceof NoHandlerFoundException) { + errorType = "无访问资源"; + errorCode = ExceptionEnum.NOT_EXIST.getCode(); + errorMsg = ExceptionEnum.NOT_EXIST.getMsg(); + } else if (ex instanceof HttpRequestMethodNotSupportedException) { + errorType = "请求方式错误"; + errorCode = ExceptionEnum.METHOD_ERROR.getCode(); + errorMsg = ExceptionEnum.METHOD_ERROR.getMsg(); + // MissingServletRequestParameterException -> 未传必传参数 + // MethodArgumentTypeMismatchException -> 参数类型错误 + } else if (ex instanceof MissingServletRequestParameterException || ex instanceof MethodArgumentTypeMismatchException) { + errorType = "请求参数异常"; + errorCode = ExceptionEnum.PARAM_ERROR.getCode(); + errorMsg = ExceptionEnum.PARAM_ERROR.getMsg(); + // InternalAuthenticationServiceException -> 账号未注册 + // BadCredentialsException -> 密码错误 + } else if (ex instanceof InternalAuthenticationServiceException || ex instanceof BadCredentialsException) { + errorType = "认证失败"; + errorCode = ExceptionEnum.CERTIFICATION_ERROR.getCode(); + errorMsg = ExceptionEnum.CERTIFICATION_ERROR.getMsg(); + } else if (ex instanceof AccessDeniedException) { + errorType = "权限不足"; + errorCode = ExceptionEnum.AUTH_ERROR.getCode(); + errorMsg = ExceptionEnum.AUTH_ERROR.getMsg(); + } else { + errorType = "其他异常"; + errorCode = CodeEnum.ERROR.getCode(); + String message = ex.getMessage(); + boolean checkMsg = false; + for (ExceptionEnum exceptionEnum : ExceptionEnum.values()) { + if (Objects.equals(exceptionEnum.getMsg(), message)) { + checkMsg = true; + break; + } + } + errorMsg = checkMsg ? message : ExceptionEnum.SYS_ERROR.getMsg(); + } + if (log.isInfoEnabled()) { + log.info(errorType); + ex.printStackTrace(); + } + ResponseUtil.resultOut(response, Result.error(errorCode, errorMsg)); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/file/FileTempPath.java b/server/src/main/java/com/ew/gerocomium/common/config/file/FileTempPath.java new file mode 100644 index 0000000..3ed73b8 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/file/FileTempPath.java @@ -0,0 +1,157 @@ +package com.ew.gerocomium.common.config.file; + +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.text.CharPool; +import cn.hutool.core.text.StrPool; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.system.OsInfo; +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.common.constant.ExceptionEnum; +import com.ew.gerocomium.common.util.AssertUtil; +import lombok.AllArgsConstructor; +import lombok.SneakyThrows; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.time.LocalDateTime; + +/** + * 文件信息 + */ +@Configuration +@AllArgsConstructor +public class FileTempPath { + private final FileUploadConfigPropertity fileUploadConfigPropertity; + + /** + * 获取module存储路径 + * + * @param module 模块名称 + * @return 根路径/module/当天日期/ + */ + public String uploadPath(String module) { + return getRootPath() + File.separator + + module + File.separator + + DateUtil.format(LocalDateTime.now(), DatePattern.PURE_DATE_PATTERN) + + File.separator; + } + + /** + * 下载路径配置 + * + * @return 根路径/download/ + */ + public String downloadPath() { + return getRootPath() + File.separator + Constant.STR_DOWNLOAD + File.separator; + } + + /** + * 图片路径规则 + * + * @return 根路径/upload/img/ + */ + public String imgSrcPath() { + return getRootPath() + File.separator + Constant.STR_UPLOAD_IMG + File.separator; + } + + /** + * 视频路径规则 + * + * @return 根路径/upload/video/ + */ + public String videoSrcPath() { + return getRootPath() + File.separator + Constant.STR_UPLOAD_VIDEO + File.separator; + } + + /** + * 上传附件路径规则 + * + * @return 根路径/upload/file/ + */ + public String filePath() { + return getRootPath() + File.separator + Constant.STR_UPLOAD_FILE + File.separator; + } + + /** + * 获取根路径 + * + * @return 根路径 + */ + public String getRootPath() { + OsInfo osInfo = new OsInfo(); + if (osInfo.isWindows()) { + return fileUploadConfigPropertity.getWindows(); + } else if (osInfo.isMacOsX()) { + return fileUploadConfigPropertity.getMacos(); + } else { + return fileUploadConfigPropertity.getLinux(); + } + } + + /** + * 文件上传 保存 + * + * @param file + * @param module + * @param suff + * @return + */ + @SneakyThrows + public File saveFile(MultipartFile file, String module, String[] suff) { + if (file == null || StrUtil.isBlank(file.getOriginalFilename())) { + return null; + } + String suffix = StrPool.DOT + FileUtil.getSuffix(file.getOriginalFilename()); + // 文件后缀校验 + AssertUtil.isTrue(!StrUtil.equalsAnyIgnoreCase(suffix, suff), ExceptionEnum.UPLOAD_SUFFIX_ERROR); + // 文件转存 + // 模块路径/雪花算法ID_上传文件名称 + String fileName = IdUtil.getSnowflakeNextIdStr() + "_" + file.getOriginalFilename(); + File files = FileUtil.file(uploadPath(module) + fileName); + FileUtil.mkParentDirs(files); + + file.transferTo(files); + return files; + } + + + /** + * 文件上传 备查信息 + * + * @param file http MultipartFile 文件流 + * @param suff 后缀 包含此类型的后缀不允许上传 如:.exe .sh + * @return + */ + @SneakyThrows + public File saveInformationFile(MultipartFile file, String[] suff) { + return saveFile(file, "information", suff); + } + + @SneakyThrows + public File saveCommFile(MultipartFile file, String module) { + return saveFile(file, module, null); + } + + /** + * 下载路径处理 前提是放开uri + * + * @param file + * @return + */ + public String downloadUrl(File file) { + String filePath = file.getAbsolutePath(); + String downloadUrl = filePath + .replace(getRootPath(), "") + .replace(StrPool.BACKSLASH, StrPool.SLASH); + return CharPool.SLASH + downloadUrl; + } + + public String downloadUrl(String path) { + return downloadUrl(FileUtil.file(path)); + } + +} \ No newline at end of file diff --git a/server/src/main/java/com/ew/gerocomium/common/config/file/FileUploadConfigPropertity.java b/server/src/main/java/com/ew/gerocomium/common/config/file/FileUploadConfigPropertity.java new file mode 100644 index 0000000..61c9568 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/file/FileUploadConfigPropertity.java @@ -0,0 +1,19 @@ +package com.ew.gerocomium.common.config.file; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +/** + * 文件上传路径配置 + */ +@Data +@Configuration +@ConfigurationProperties(prefix = "filesave") +public class FileUploadConfigPropertity { + private String windows; + private String macos; + private String linux; + private String uploadHead; + private String localHead; +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/mybatisplus/MetaObjectHandlerImpl.java b/server/src/main/java/com/ew/gerocomium/common/config/mybatisplus/MetaObjectHandlerImpl.java new file mode 100644 index 0000000..f211a64 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/mybatisplus/MetaObjectHandlerImpl.java @@ -0,0 +1,86 @@ +package com.ew.gerocomium.common.config.mybatisplus; + +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import com.ew.gerocomium.common.config.security.handler.AuthorityAssert; +import com.ew.gerocomium.dao.vo.LoginUserVo; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.reflection.MetaObject; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * mybatis对象处理器 + **/ +@Slf4j +@Component +public class MetaObjectHandlerImpl implements MetaObjectHandler { + @Resource + private AuthorityAssert authorityAssert; + + private static final String CREATEID = "createId"; + private static final String CREATETIME = "createTime"; + private static final String UPDATEID = "updateId"; + private static final String UPDATETIME = "updateTime"; + + /** + * 自动填充创建时间修改时间 + * + * @param metaObject + */ + @Override + public void insertFill(MetaObject metaObject) { + // 获取登录信息 + LoginUserVo loginUserInfo = authorityAssert.getLoginUserInfo(); + //获取所有的字段名称 + List list = Arrays.stream(metaObject.getGetterNames()).collect(Collectors.toList()); + if (list.contains(CREATEID)) { + // 有登录信息 + if (loginUserInfo != null) { + this.setFieldValByName(CREATEID, loginUserInfo.getId(), metaObject); + // 无登录信息 + } else { + this.setFieldValByName(CREATEID, 1L, metaObject); + } + } + if (list.contains(CREATETIME)) { + this.setFieldValByName(CREATETIME, new Date(), metaObject); + } + if (list.contains(UPDATEID)) { + // 有登录信息 + if (loginUserInfo != null) { + this.setFieldValByName(UPDATEID, loginUserInfo.getId(), metaObject); + // 无登录信息 + } else { + this.setFieldValByName(UPDATEID, 1L, metaObject); + } + } + if (list.contains(UPDATETIME)) { + this.setFieldValByName(UPDATETIME, new Date(), metaObject); + } + } + + @Override + public void updateFill(MetaObject metaObject) { + // 获取登录信息 + LoginUserVo loginUserInfo = authorityAssert.getLoginUserInfo(); + //获取所有的字段名称 + List list = Arrays.stream(metaObject.getGetterNames()).collect(Collectors.toList()); + if (list.contains(UPDATEID)) { + // 有登录信息 + if (loginUserInfo != null) { + this.setFieldValByName(UPDATEID, loginUserInfo.getId(), metaObject); + // 无登录信息 + } else { + this.setFieldValByName(UPDATEID, 1L, metaObject); + } + } + if (list.contains(UPDATETIME)) { + this.setFieldValByName(UPDATETIME, new Date(), metaObject); + } + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/quartz/QuartzConfig.java b/server/src/main/java/com/ew/gerocomium/common/config/quartz/QuartzConfig.java new file mode 100644 index 0000000..eb9dc75 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/quartz/QuartzConfig.java @@ -0,0 +1,60 @@ +package com.ew.gerocomium.common.config.quartz; + +import org.quartz.*; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.quartz.QuartzJobBean; + +@Configuration +public class QuartzConfig { + // 预定过期 + @Bean + public JobDetail reserveExpireJobDetail() { + return newJobDetail(QuartzJob.ReserveExpireJob.class, "reserveExpireJobDetail"); + } + + @Bean + public Trigger reserveExpireTrigger() { + return newTrigger(reserveExpireJobDetail(), "reserveExpireJobTrigger", "0 0 0 ? * *"); + } + + // 合同到期 + @Bean + public JobDetail contractExpireJobDetail() { + return newJobDetail(QuartzJob.ContractExpireJob.class, "contractExpireJobDetail"); + } + + @Bean + public Trigger contractExpireTrigger() { + return newTrigger(contractExpireJobDetail(), "contractExpireJobTrigger", "0 0 8 ? * *"); + } + + // 任务封装 + private JobDetail newJobDetail(Class jobDetailClass, String jobDetailName) { + return JobBuilder + // 业务类 + .newJob(jobDetailClass) + // 任务编号/名称 + .withIdentity(jobDetailName) + // 每个JobDetail内都有一个Map,包含了关联到这个Job的数据,在Job类中可以通过context获取 + .usingJobData("msg1", "jobDetail1") + .usingJobData("msg2", "jobDetail2") + // 即使没有Trigger关联时,也不需要删除该JobDetail + .storeDurably() + .build(); + } + + // 触发器封装 + private Trigger newTrigger(JobDetail jobDetail, String triggerName, String dateStr) { + return TriggerBuilder + .newTrigger() + // 关联上述的JobDetail + .forJob(jobDetail) + // 给Trigger命名 + .withIdentity(triggerName) + // 定时 + // 秒 分 时 天 月 年 + .withSchedule(CronScheduleBuilder.cronSchedule(dateStr)) + .build(); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/quartz/QuartzJob.java b/server/src/main/java/com/ew/gerocomium/common/config/quartz/QuartzJob.java new file mode 100644 index 0000000..8435b7c --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/quartz/QuartzJob.java @@ -0,0 +1,37 @@ +package com.ew.gerocomium.common.config.quartz; + +import com.ew.gerocomium.service.ContractService; +import com.ew.gerocomium.service.ReserveService; +import lombok.SneakyThrows; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.scheduling.quartz.QuartzJobBean; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +public class QuartzJob { + @Resource + private ReserveService reserveService; + @Resource + private ContractService contractService; + + // 床位预定过期任务 + public class ReserveExpireJob extends QuartzJobBean { + @SneakyThrows + @Override + protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException { + reserveService.reserveExpireJob(); + } + } + + // 老人合同到期任务 + public class ContractExpireJob extends QuartzJobBean { + @SneakyThrows + @Override + protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException { + contractService.contractExpireJob(); + } + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/redis/FastJsonRedisSerializer.java b/server/src/main/java/com/ew/gerocomium/common/config/redis/FastJsonRedisSerializer.java new file mode 100644 index 0000000..5b83078 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/redis/FastJsonRedisSerializer.java @@ -0,0 +1,53 @@ +package com.ew.gerocomium.common.config.redis; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.type.TypeFactory; +import org.springframework.data.redis.serializer.RedisSerializer; +import org.springframework.data.redis.serializer.SerializationException; +import com.alibaba.fastjson.parser.ParserConfig; + +import java.nio.charset.Charset; + +/** + * Redis使用FastJson序列化 + */ +public class FastJsonRedisSerializer implements RedisSerializer { + + public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); + + private Class clazz; + + static { + ParserConfig.getGlobalInstance().setAutoTypeSupport(true); + } + + public FastJsonRedisSerializer(Class clazz) { + super(); + this.clazz = clazz; + } + + @Override + public byte[] serialize(T t) throws SerializationException { + if (t == null) { + return new byte[0]; + } + return JSON.toJSONString(t, SerializerFeature.WriteClassName).getBytes(DEFAULT_CHARSET); + } + + @Override + public T deserialize(byte[] bytes) throws SerializationException { + if (bytes == null || bytes.length <= 0) { + return null; + } + String str = new String(bytes, DEFAULT_CHARSET); + + return JSON.parseObject(str, clazz); + } + + + protected JavaType getJavaType(Class clazz) { + return TypeFactory.defaultInstance().constructType(clazz); + } +} \ No newline at end of file diff --git a/server/src/main/java/com/ew/gerocomium/common/config/redis/RedisConfig.java b/server/src/main/java/com/ew/gerocomium/common/config/redis/RedisConfig.java new file mode 100644 index 0000000..78ff5c3 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/redis/RedisConfig.java @@ -0,0 +1,30 @@ +package com.ew.gerocomium.common.config.redis; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +@Configuration +public class RedisConfig { + @Bean + @SuppressWarnings(value = {"unchecked", "rawtypes"}) + public RedisTemplate redisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate template = new RedisTemplate<>(); + template.setConnectionFactory(connectionFactory); + + FastJsonRedisSerializer serializer = new FastJsonRedisSerializer(Object.class); + + // 使用StringRedisSerializer来序列化和反序列化redis的key值 + template.setKeySerializer(new StringRedisSerializer()); + template.setValueSerializer(serializer); + + // Hash的key也采用StringRedisSerializer的序列化方式 + template.setHashKeySerializer(new StringRedisSerializer()); + template.setHashValueSerializer(serializer); + + template.afterPropertiesSet(); + return template; + } +} \ No newline at end of file diff --git a/server/src/main/java/com/ew/gerocomium/common/config/security/config/SecurityConfig.java b/server/src/main/java/com/ew/gerocomium/common/config/security/config/SecurityConfig.java new file mode 100644 index 0000000..22ccf7b --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/security/config/SecurityConfig.java @@ -0,0 +1,81 @@ +package com.ew.gerocomium.common.config.security.config; + +import com.ew.gerocomium.common.config.security.filter.JwtAuthenticationTokenFilter; +import com.ew.gerocomium.common.config.security.handler.PasswordEncoderImpl; +import com.ew.gerocomium.common.util.CommonUtil; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.web.AuthenticationEntryPoint; +import org.springframework.security.web.access.AccessDeniedHandler; +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; + +import javax.annotation.Resource; + +/** + * 自定义全局配置 + */ +@Configuration +@EnableGlobalMethodSecurity(prePostEnabled = true) +public class SecurityConfig extends WebSecurityConfigurerAdapter { + @Resource + private JwtAuthenticationTokenFilter jwtAuthenticationTokenFilter; + @Resource + private UserDetailsService userDetailsService; + @Resource + private PasswordEncoderImpl passwordEncoder; + @Resource + private AuthenticationEntryPoint authenticationEntryPoint; + @Resource + private AccessDeniedHandler accessDeniedHandler; + @Resource + private CommonUtil commonUtil; + + @Override + protected void configure(HttpSecurity http) throws Exception { + http + // 关闭csrf + .csrf().disable() + // 开启跨域以便前端调用接口 + .cors() + .and() + // 禁用session + .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) + .and() + .authorizeRequests() + // 放行登录接口后就不需要登录安全框架自带的登录页面 + // 允许匿名访问的接口(建议是登录和忘记密码接口) + .antMatchers(commonUtil.getIgnoreUrlArray()).anonymous() + // 允许全部放通的接口 + .antMatchers(commonUtil.getIgnoreUrlArray()).permitAll() + // 需要鉴权认证的接口 + .anyRequest().authenticated(); + // 配置过滤器,将jwt认证过滤器添加到UsernamePasswordAuthenticationFilter过滤器之前 + http.addFilterBefore(jwtAuthenticationTokenFilter, UsernamePasswordAuthenticationFilter.class); + // 配置异常处理器 + http.exceptionHandling() + // 配置认证失败处理器 + .authenticationEntryPoint(authenticationEntryPoint) + // 配置授权失败处理器 + .accessDeniedHandler(accessDeniedHandler); + } + + // 指定userDetailsService加密器 + @Override + protected void configure(AuthenticationManagerBuilder auth) throws Exception { + auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder); + } + + // 重写该方法,通过Bean注解暴露 + @Bean + @Override + public AuthenticationManager authenticationManagerBean() throws Exception { + return super.authenticationManagerBean(); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/security/entity/LoginUserDetails.java b/server/src/main/java/com/ew/gerocomium/common/config/security/entity/LoginUserDetails.java new file mode 100644 index 0000000..a3de5e3 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/security/entity/LoginUserDetails.java @@ -0,0 +1,62 @@ +package com.ew.gerocomium.common.config.security.entity; + +import com.ew.gerocomium.dao.vo.LoginUserVo; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.userdetails.UserDetails; + +import java.util.Collection; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class LoginUserDetails implements UserDetails { + private LoginUserVo loginUserVo; + + @Override + public Collection getAuthorities() { + // 把permissions中String类型的权限信息封装成SimpleGrantedAuthority对象 + // 法一 +// List authorityList = new ArrayList<>(); +// for (String permission : permissions) { +// SimpleGrantedAuthority simpleGrantedAuthority = new SimpleGrantedAuthority(permission); +// authorityList.add(simpleGrantedAuthority); +// } + // 法二 +// List authorityList = +// permissions.stream().map(SimpleGrantedAuthority::new).collect(Collectors.toList()); + return null; + } + + @Override + public String getPassword() { + return loginUserVo.getPass(); + } + + @Override + public String getUsername() { + return loginUserVo.getPhone(); + } + + @Override + public boolean isAccountNonExpired() { + return true; + } + + @Override + public boolean isAccountNonLocked() { + return true; + } + + @Override + public boolean isCredentialsNonExpired() { + return true; + } + + @Override + public boolean isEnabled() { + return true; + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/security/filter/JwtAuthenticationTokenFilter.java b/server/src/main/java/com/ew/gerocomium/common/config/security/filter/JwtAuthenticationTokenFilter.java new file mode 100644 index 0000000..3b8aa12 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/security/filter/JwtAuthenticationTokenFilter.java @@ -0,0 +1,91 @@ +package com.ew.gerocomium.common.config.security.filter; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.common.constant.ExceptionEnum; +import com.ew.gerocomium.common.util.*; +import com.ew.gerocomium.dao.vo.LoginUserVo; +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jws; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; +import org.springframework.web.filter.OncePerRequestFilter; + +import javax.annotation.Resource; +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +@Component +public class JwtAuthenticationTokenFilter extends OncePerRequestFilter { + @Resource + private RedisUtil redisUtil; + @Resource + private CommonUtil commonUtil; + + @Override + protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { + // 打印访问日志 + log.info(request.getRequestURL().toString()); + // 获取jwt + String jwt = request.getHeader("token"); + // 获取请求路径 + String requestURI = request.getRequestURI(); + // 验证url是否在白名单之内 + boolean ignore = commonUtil.existFlag(commonUtil.getIgnoreUrlArray(), requestURI); + // jwt为空 且 url在白名单之内 + if (!StringUtils.hasText(jwt) && ignore) { + filterChain.doFilter(request, response); + return; + } + // (jwt为空 但 url未在白名单之内) 或 (jwt不为空 且 url在白名单之内) + boolean accessError = (!StringUtils.hasText(jwt) && !ignore) || (StringUtils.hasText(jwt) && ignore); + if (accessError) { + ResponseUtil.exceptionEnumOut(response, ExceptionEnum.ACCESS_ERROR); + return; + } + // jwt不为空 且 url未在白名单之内 + // 解析jwt获取用户id + String id; + try { + Jws claimsJws = JwtUtil.parseJwt(jwt); + id = claimsJws.getBody().get("id").toString(); + } catch (Exception e) { + e.printStackTrace(); + // token解析出错(非法token/token过期) + ResponseUtil.exceptionEnumOut(response, ExceptionEnum.TOKEN_ERROR); + return; + } + // 从redis获取用户信息 + LoginUserVo loginUserVo = BeanUtil.toBean(redisUtil.getCacheObject(Constant.LOGIN_REDIS + id), LoginUserVo.class); + // 获取redis数据为空 + if (loginUserVo == null) { + ResponseUtil.exceptionEnumOut(response, ExceptionEnum.TOKEN_ERROR); + return; + } + // TODO 存入SecurityContextHolder上下文 + // 获取权限列表并转换 + List authorityList = loginUserVo.getAuthUrlList().stream() + .map(SimpleGrantedAuthority::new) + .collect(Collectors.toList()); + // 认证 + UsernamePasswordAuthenticationToken authenticationToken = + new UsernamePasswordAuthenticationToken(loginUserVo, null, authorityList); + // 存入上下文 + SecurityContextHolder.getContext().setAuthentication(authenticationToken); + // 放行 + filterChain.doFilter(request, response); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/security/handler/AccessDeniedHandlerImpl.java b/server/src/main/java/com/ew/gerocomium/common/config/security/handler/AccessDeniedHandlerImpl.java new file mode 100644 index 0000000..d36a9fc --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/security/handler/AccessDeniedHandlerImpl.java @@ -0,0 +1,23 @@ +package com.ew.gerocomium.common.config.security.handler; + +import com.ew.gerocomium.common.constant.ExceptionEnum; +import com.ew.gerocomium.common.util.ResponseUtil; +import org.springframework.security.access.AccessDeniedException; +import org.springframework.security.web.access.AccessDeniedHandler; +import org.springframework.stereotype.Component; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +/** + * 自定义授权失败处理器 + */ +@Component +public class AccessDeniedHandlerImpl implements AccessDeniedHandler { + @Override + public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException e) throws IOException, ServletException { + ResponseUtil.exceptionEnumOut(response, ExceptionEnum.AUTH_ERROR); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/security/handler/AuthenticationEntryPointImpl.java b/server/src/main/java/com/ew/gerocomium/common/config/security/handler/AuthenticationEntryPointImpl.java new file mode 100644 index 0000000..536542e --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/security/handler/AuthenticationEntryPointImpl.java @@ -0,0 +1,23 @@ +package com.ew.gerocomium.common.config.security.handler; + +import com.ew.gerocomium.common.constant.ExceptionEnum; +import com.ew.gerocomium.common.util.ResponseUtil; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.web.AuthenticationEntryPoint; +import org.springframework.stereotype.Component; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +/** + * 自定义认证失败处理器 + */ +@Component +public class AuthenticationEntryPointImpl implements AuthenticationEntryPoint { + @Override + public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException { + ResponseUtil.exceptionEnumOut(response, ExceptionEnum.CERTIFICATION_ERROR); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/security/handler/AuthorityAssert.java b/server/src/main/java/com/ew/gerocomium/common/config/security/handler/AuthorityAssert.java new file mode 100644 index 0000000..a40e5e1 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/security/handler/AuthorityAssert.java @@ -0,0 +1,36 @@ +package com.ew.gerocomium.common.config.security.handler; + +import cn.hutool.core.util.ObjUtil; +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.vo.LoginUserVo; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Objects; + +/** + * 自定义权限断言 + */ +@Component("AuthorityAssert") +public class AuthorityAssert { + public LoginUserVo getLoginUserInfo() { + // 获取登录用户消息 + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + return ObjUtil.isEmpty(authentication) || Objects.equals(authentication.getPrincipal(), Constant.ANONYMOUS_USER) ? + null : + (LoginUserVo) authentication.getPrincipal(); + } + + public Long getLoginUserId() { + return getLoginUserInfo().getId(); + } + + public Boolean hasAuthority(String authority) { + // 获取当前用户的权限 + List authList = getLoginUserInfo().getAuthUrlList(); + // 判断用户权限集合中是否存在authority + return authList.contains(authority); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/security/handler/PasswordEncoderImpl.java b/server/src/main/java/com/ew/gerocomium/common/config/security/handler/PasswordEncoderImpl.java new file mode 100644 index 0000000..c718146 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/security/handler/PasswordEncoderImpl.java @@ -0,0 +1,21 @@ +package com.ew.gerocomium.common.config.security.handler; + +import com.ew.gerocomium.common.util.AesUtil; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Component; + +/** + * 自定义加密组件 + */ +@Component +public class PasswordEncoderImpl extends AesUtil implements PasswordEncoder { + @Override + public String encode(CharSequence rawPassword) { + return aesEncode(rawPassword.toString()); + } + + @Override + public boolean matches(CharSequence rawPassword, String encodedPassword) { + return aesMatch(rawPassword.toString(), encodedPassword); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/security/service/UserDetailsServiceImpl.java b/server/src/main/java/com/ew/gerocomium/common/config/security/service/UserDetailsServiceImpl.java new file mode 100644 index 0000000..b1b572a --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/security/service/UserDetailsServiceImpl.java @@ -0,0 +1,50 @@ +package com.ew.gerocomium.common.config.security.service; + +import cn.hutool.core.bean.BeanUtil; +import com.ew.gerocomium.common.config.security.entity.LoginUserDetails; +import com.ew.gerocomium.common.constant.ExceptionEnum; +import com.ew.gerocomium.common.util.AssertUtil; +import com.ew.gerocomium.dao.mapper.AuthMapper; +import com.ew.gerocomium.dao.po.Auth; +import com.ew.gerocomium.dao.po.Staff; +import com.ew.gerocomium.dao.vo.LoginUserVo; +import com.ew.gerocomium.service.common.StaffFunc; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * 自定义数据库查询 + */ +@Service +public class UserDetailsServiceImpl implements UserDetailsService { + @Resource + private StaffFunc staffFunc; + @Resource + private AuthMapper authMapper; + + @Override + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { + // 查询基本信息 + Staff staff = staffFunc.getStaffByAccount(username); + // 未查询到数据 + AssertUtil.notNull(staff, ExceptionEnum.CERTIFICATION_ERROR); + // 查询权限信息 + List authIdList = new ArrayList<>(); + List authUrlList = new ArrayList<>(); + for (Auth auth : authMapper.listAuthByRoleId(staff.getRoleId())) { + authIdList.add(auth.getId()); + authUrlList.add(auth.getUrl()); + } + // 把数据封装成UserDetails返回 + LoginUserVo loginUserVo = BeanUtil.toBean(staff, LoginUserVo.class); + loginUserVo.setAuthIdList(authIdList); + loginUserVo.setAuthUrlList(authUrlList); + return new LoginUserDetails(loginUserVo); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/swagger/SwaggerConfig.java b/server/src/main/java/com/ew/gerocomium/common/config/swagger/SwaggerConfig.java new file mode 100644 index 0000000..be5f7ed --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/swagger/SwaggerConfig.java @@ -0,0 +1,40 @@ +package com.ew.gerocomium.common.config.swagger; + +import com.ew.gerocomium.common.constant.Constant; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.env.Environment; +import org.springframework.core.env.Profiles; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Contact; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +@Configuration +@EnableSwagger2 +public class SwaggerConfig { + @Bean + public Docket docket(Environment environment) { + Profiles profiles = Profiles.of("dev", "test", "prod"); + // 判断是否处于自己设置的环境中 + boolean flag = environment.acceptsProfiles(profiles); + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + .enable(flag) + .select() + .apis(RequestHandlerSelectors.basePackage("com.ew.gerocomium.controller")) // 设置扫描路径 + .build(); + } + + public ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("数据服务API") // 标题 + .description("") // 描述 + .version("1.0") // 版本 + .contact(new Contact(Constant.EMPEROR_WEN, "", "")) + .build(); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/config/web/IgnoreConfig.java b/server/src/main/java/com/ew/gerocomium/common/config/web/IgnoreConfig.java new file mode 100644 index 0000000..0c6646e --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/web/IgnoreConfig.java @@ -0,0 +1,15 @@ +package com.ew.gerocomium.common.config.web; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +import java.util.List; + +@Data +@Configuration +@ConfigurationProperties("ignore") +public class IgnoreConfig { + List ignoreUrl; + List tokenUrl; +} \ No newline at end of file diff --git a/server/src/main/java/com/ew/gerocomium/common/config/web/WebMvcConfig.java b/server/src/main/java/com/ew/gerocomium/common/config/web/WebMvcConfig.java new file mode 100644 index 0000000..e936166 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/config/web/WebMvcConfig.java @@ -0,0 +1,46 @@ +package com.ew.gerocomium.common.config.web; + +import com.ew.gerocomium.common.config.file.FileTempPath; +import lombok.AllArgsConstructor; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +@AllArgsConstructor +public class WebMvcConfig implements WebMvcConfigurer { + private final FileTempPath fileTempPath; + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + // swagger资源 + registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("favicon.ico").addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("/v2/api-docs").addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("/swagger-*/**").addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); + // 文件资源 + registry.addResourceHandler("/download/**").addResourceLocations("file:" + fileTempPath.downloadPath()); + registry.addResourceHandler("/upload/img/**").addResourceLocations("file:" + fileTempPath.imgSrcPath()); + registry.addResourceHandler("/upload/video/**").addResourceLocations("file:" + fileTempPath.videoSrcPath()); + registry.addResourceHandler("/upload/file/**").addResourceLocations("file:" + fileTempPath.filePath()); + } + + @Override + public void addCorsMappings(CorsRegistry registry) { + // 设置允许跨域的路径 + registry.addMapping("/**") + // 设置允许跨域请求的域名 + .allowedOriginPatterns("*") + // 是否允许cookie + .allowCredentials(true) + // 设置允许的请求方式 + .allowedMethods("GET", "POST", "PUT", "DELETE") + // 设置允许的header属性 + .allowedHeaders("*") + // 跨域允许时间 + .maxAge(3600); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/constant/AuditEnum.java b/server/src/main/java/com/ew/gerocomium/common/constant/AuditEnum.java new file mode 100644 index 0000000..2d6d9f9 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/constant/AuditEnum.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.common.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum AuditEnum { + PASS("通过"), + NO_PASS("不通过"), + STAY_AUDIT("待审核"), + NOT_PASS("未通过"), + HAVE_PASS("已通过"), + ; + private final String status; +} diff --git a/server/src/main/java/com/ew/gerocomium/common/constant/BedEnum.java b/server/src/main/java/com/ew/gerocomium/common/constant/BedEnum.java new file mode 100644 index 0000000..ebc4ea3 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/constant/BedEnum.java @@ -0,0 +1,15 @@ +package com.ew.gerocomium.common.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum BedEnum { + IDLE("空闲"), + RESERVE("预定"), + ENTER("入住"), + EXIT_AUDIT("退住审核"), + ; + private final String status; +} diff --git a/server/src/main/java/com/ew/gerocomium/common/constant/ChargeEnum.java b/server/src/main/java/com/ew/gerocomium/common/constant/ChargeEnum.java new file mode 100644 index 0000000..cca202e --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/constant/ChargeEnum.java @@ -0,0 +1,14 @@ +package com.ew.gerocomium.common.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum ChargeEnum { + ONCE("按次"), + MONTH("按月"), + ALL("所有"), + ; + private final String method; +} diff --git a/server/src/main/java/com/ew/gerocomium/common/constant/CheckEnum.java b/server/src/main/java/com/ew/gerocomium/common/constant/CheckEnum.java new file mode 100644 index 0000000..a3cc53d --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/constant/CheckEnum.java @@ -0,0 +1,18 @@ +package com.ew.gerocomium.common.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum CheckEnum { + CONSULT("咨询中"), + INTENTION("意向跟进"), + RESERVE("预定"), + ENTER("入住"), + EXIT_AUDIT("退住审核"), + EXIT("已退住"), + FAILURE("已失效"), + ; + private final String status; +} diff --git a/server/src/main/java/com/ew/gerocomium/common/constant/CodeEnum.java b/server/src/main/java/com/ew/gerocomium/common/constant/CodeEnum.java new file mode 100644 index 0000000..c06e95b --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/constant/CodeEnum.java @@ -0,0 +1,14 @@ +package com.ew.gerocomium.common.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum CodeEnum { + SUCCESS(200, "操作成功"), + ERROR(500, "操作失败"), + ; + private final Integer code; + private final String msg; +} diff --git a/server/src/main/java/com/ew/gerocomium/common/constant/Constant.java b/server/src/main/java/com/ew/gerocomium/common/constant/Constant.java new file mode 100644 index 0000000..6823a24 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/constant/Constant.java @@ -0,0 +1,68 @@ +package com.ew.gerocomium.common.constant; + +public interface Constant { + // 项目主题 + String SUBJECT = "敬老院管理系统"; + + // DEVELOPER + // 开发者 + String DEVELOPER = "@developer "; + // 开发者姓名 + String EMPEROR_WEN = "Xxx"; + + // ANONYMOUS + // 匿名用户 + String ANONYMOUS_USER = "anonymousUser"; + + // AES + //偏移量,AES 为16bytes. DES 为8bytes + String IV = "1234567890123456"; + //私钥,AES固定格式为128/192/256 bits.即:16/24/32bytes。DES固定格式为64bits,即8bytes。 + String AES_KEY = "1234567890654321"; + //填充类型,DES加密把前面的AES改成DES即可 + String AES_TYPE = "AES/CBC/PKCS5Padding"; + + // JWT + // 主题 + String TOKEN_SUBJECT = SUBJECT; + // 发行人 + String TOKEN_ISSURE = "Xxx"; + // 签名哈希 + String TOKEN_SECRET = "pX2~tQ4*nP6_gJ0%sY8/iY6.kC3|oE2$nT3,"; + + // EMAIL + // 邮箱地址 + String MAIL_HOST = "smtp.qq.com"; + // 企业邮箱 + String MAIL = "xxxxxxxxxx@qq.com"; + // 企业邮箱 + String PASS = "irzvcvfqkdaecigi"; + + // EXPIRE + // jwt/redis过期时间 + long EXPIRE_TIME = 1000 * 60 * 60 * 24; + + // REGULAR + // 邮箱正则 + String EMAIL_REGULAR = "[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+"; + // 手机号正则 + // String PHONE_REGULAR = "/^1(3d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8d|9[0-35-9])d{8}$/"; + String PHONE_REGULAR = "^1[35789]\\d{9}$"; + + // REDIS + // 登录存入redis前缀 + String LOGIN_REDIS = "login:"; + + // FILE + // 文件 + String STR_DOWNLOAD = "download"; + String STR_UPLOAD_IMG = "upload/img"; + String STR_UPLOAD_FILE = "upload/file"; + String STR_UPLOAD_VIDEO = "upload/video"; + + // OTHER + // 标签总数限制 + Long TOTAL_LIMIT = 10L; + // 符号 + String COMMA = ","; +} diff --git a/server/src/main/java/com/ew/gerocomium/common/constant/ConsumeEnum.java b/server/src/main/java/com/ew/gerocomium/common/constant/ConsumeEnum.java new file mode 100644 index 0000000..7167c50 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/constant/ConsumeEnum.java @@ -0,0 +1,13 @@ +package com.ew.gerocomium.common.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum ConsumeEnum { + NURSE("护理"), + DISHES("点餐"), + ; + private final String type; +} diff --git a/server/src/main/java/com/ew/gerocomium/common/constant/ExceptionEnum.java b/server/src/main/java/com/ew/gerocomium/common/constant/ExceptionEnum.java new file mode 100644 index 0000000..f9c1ff0 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/constant/ExceptionEnum.java @@ -0,0 +1,129 @@ +package com.ew.gerocomium.common.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 异常分类 + */ +@Getter +@AllArgsConstructor +public enum ExceptionEnum { + // common + SYS_ERROR(500, "系统繁忙"), + NOT_EXIST(404, "资源不存在"), + DATA_NOT_EXIST(404, "数据不存在"), + METHOD_ERROR(500, "请求方式错误"), + PARAM_ERROR(500, "请求参数异常"), + ACCESS_ERROR(500, "非法访问"), + TOKEN_ERROR(500, "令牌无效"), + CERTIFICATION_ERROR(500, "认证失败"), + AUTH_ERROR(500, "权限不足"), + // 忘记密码 + ACCOUNT_FORMAT_ERROR(500, "账号格式有误"), + ACCOUNT_NOT_REGISTER(500, "账号未注册"), + PASS_SAME(500, "新密码与原密码相同"), + REPEAT_SEND_CODE(500, "请勿重复发送验证码"), + CODE_EXPIRE(500, "验证码过期"), + CODE_ERROR(500, "验证码错误"), + // 修改密码 + OLD_PASS_ERROR(500, "原密码错误"), + // 上传文件 + UPLOAD_SUFFIX_ERROR(500, "不支持的文件后缀"), + // 老人 + ELDER_ALREADY_DELETE(500, "该老人已被删除"), + ID_NUM_REPEAT(500, "老人身份证号已存在"), + BALANCE_DEFICIENCY(500, "老人余额不足"), + // 标签 + LABEL_TYPE_REPEAT(500, "标签分类已存在"), + LABEL_TYPE_OUT(500, "标签分类总数超过限制"), + LABEL_NOT_NULL(500, "该标签分类存在标签,删除失败"), + LABEL_REPEAT(500, "标签已存在"), + LABEL_OUT(500, "该分类标签总数超过限制"), + // 来源渠道 + SOURCE_REPEAT(500, "来源渠道已存在"), + // 活动分类 + ACTIVE_TYPE_REPEAT(500, "活动分类已存在"), + // 活动 + ACTIVE_REPEAT(500, "活动名称已存在"), + // 节点 + NODE_MARK_NOT_EXIST(500, "该节点标记不存在"), + NODE_BED_NOT_IDLE(500, "该节点有床位被占用,删除失败"), + // 楼栋 + BUILDING_REPEAT(500, "楼栋已存在"), + BUILDING_OUT(500, "楼栋总数超过限制"), + // 楼层 + FLOOR_REPEAT(500, "楼层已存在"), + FLOOR_OUT(500, "楼层总数超过限制"), + // 房间类型 + ROOM_TYPE_REPEAT(500, "房间类型已存在"), + // 房间 + ROOM_REPEAT(500, "房间已存在"), + ROOM_OUT(500, "房间总数超过限制"), + // 床位 + BED_NULL(500, "床位不存在"), + BED_REPEAT(500, "床位已存在"), + BED_OUT(500, "床位总数超过限制"), + BED_OCCUPY(500, "该床位被占用"), + BED_NOT_IDLE(500, "该床位被占用,删除失败"), + // 意向客户 + ALREADY_INTENTION(500, "该老人已是意向客户"), + ALREADY_RESERVE(500, "该老人已预定"), + ALREADY_ENTER(500, "该老人已入住"), + // 回访计划 + VISIT_PLAN_REPEAT(500, "回访计划标题已存在"), + // 预定 + REFUND_REPEAT(500, "请勿重复退款"), + DUE_DATE_EXPIRE(500, "预定已过期"), + // 预存充值 + NOT_ENTER(500, "该老人非入住状态,不予充值"), + // 员工 + PHONE_REPEAT(500, "该手机号已存在"), + EMAIL_REPEAT(500, "该邮箱已存在"), + // 服务 + SERVICE_TYPE_REPEAT(500, "该服务类型已存在"), + SERVICE_TYPE_OUT(500, "服务类型总数超过限制"), + SERVICE_NOT_NULL(500, "该服务类型存在服务,删除失败"), + SERVICE_REPEAT(500, "该服务已存在"), + SERVICE_OUT(500, "该类型服务总数超过限制"), + // 护理等级 + NURSE_GRADE_REPEAT(500, "该护理等级已存在"), + NURSE_GRADE_SELECTED(500, "该护理等级已被选择,删除失败"), + // 菜品 + DISHES_TYPE_REPEAT(500, "该菜品分类已存在"), + DISHES_TYPE_OUT(500, "菜品分类总数超过限制"), + DISHES_NOT_NULL(500, "该菜品分类存在菜品,删除失败"), + DISHES_REPEAT(500, "该菜品已存在"), + // 套餐 + SET_REPEAT(500, "该套餐已存在"), + SET_SELECTED(500, "该套餐已被选择,删除失败"), + // 订单 + ORDER_SUCCESS(500, "该订单已完成"), + // 菜品 + MATERIAL_TYPE_REPEAT(500, "该物资分类已存在"), + MATERIAL_TYPE_OUT(500, "物资分类总数超过限制"), + MATERIAL_NOT_NULL(500, "该物资分类存在物资,删除失败"), + MATERIAL_REPEAT(500, "该物资已存在"), + // 仓库 + WAREHOUSE_REPEAT(500, "该仓库已存在"), + WAREHOUSE_NOT_NULL(500, "该仓库存有物资,删除失败"), + // 出入库管理 + AUDIT_RESULT_ERROR(500, "审核结果非法"), + AUDIT_REPEAT(500, "请勿重复审核"), + OUTBOUND_NUM_ERROR(500, "出库物资数量超过库存量"), + DEL_REPEAT(500, "请勿重复删除"), + // 外出登记 + OUTWARD_REPEAT(500, "请勿重复登记"), + RECORD_ALREADY_DELETE(500, "该登记已被删除"), + ALREADY_RETURN(500, "请勿重复登记返回"), + // 来访登记 + ALREADY_LEAVE(500, "来访人员已登记离开"), + // 退住申请 + ELDER_NOT_ENTER(500, "老人暂未入住"), + APPLY_REPEAT(500, "请勿重复申请"), + // 退住审核 + ELDER_NOT_EXIT_AUDIT(500, "老人暂未申请退住"), + ; + private final int code; + private final String msg; +} diff --git a/server/src/main/java/com/ew/gerocomium/common/constant/MarkEnum.java b/server/src/main/java/com/ew/gerocomium/common/constant/MarkEnum.java new file mode 100644 index 0000000..51307f0 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/constant/MarkEnum.java @@ -0,0 +1,14 @@ +package com.ew.gerocomium.common.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum MarkEnum { + BUILDING("楼栋"), + FLOOR("楼层"), + ROOM("房间"), + ; + private final String mark; +} diff --git a/server/src/main/java/com/ew/gerocomium/common/constant/RecipientEnum.java b/server/src/main/java/com/ew/gerocomium/common/constant/RecipientEnum.java new file mode 100644 index 0000000..9f86e25 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/constant/RecipientEnum.java @@ -0,0 +1,13 @@ +package com.ew.gerocomium.common.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum RecipientEnum { + ELDER("老人"), + STAFF("员工"), + ; + private final String type; +} diff --git a/server/src/main/java/com/ew/gerocomium/common/constant/VisitEnum.java b/server/src/main/java/com/ew/gerocomium/common/constant/VisitEnum.java new file mode 100644 index 0000000..5c4fd4f --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/constant/VisitEnum.java @@ -0,0 +1,13 @@ +package com.ew.gerocomium.common.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum VisitEnum { + STAY_LEAVE("待离开"), + ALREADY_LEAVE("已离开"), + ; + private final String status; +} diff --git a/server/src/main/java/com/ew/gerocomium/common/constant/YesNoEnum.java b/server/src/main/java/com/ew/gerocomium/common/constant/YesNoEnum.java new file mode 100644 index 0000000..240e492 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/constant/YesNoEnum.java @@ -0,0 +1,14 @@ +package com.ew.gerocomium.common.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum YesNoEnum { + YES("是", "Y"), + NO("否", "N"), + ; + private final String name; + private final String code; +} diff --git a/server/src/main/java/com/ew/gerocomium/common/util/AesUtil.java b/server/src/main/java/com/ew/gerocomium/common/util/AesUtil.java new file mode 100644 index 0000000..d38a8ba --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/util/AesUtil.java @@ -0,0 +1,67 @@ +package com.ew.gerocomium.common.util; + +import com.ew.gerocomium.common.constant.Constant; +import org.springframework.security.crypto.codec.Hex; +import org.springframework.stereotype.Component; + +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import java.util.Objects; + +/** + * 自定义密码组件 + */ +@Component +public class AesUtil { + /** + * 加密 + * + * @param encodeStr + * @return + */ + public static String aesEncode(String encodeStr) { + try { + IvParameterSpec ivParameterSpec = new IvParameterSpec(Constant.IV.getBytes()); + SecretKeySpec secretKeySpec = new SecretKeySpec(Constant.AES_KEY.getBytes(), "AES"); + Cipher cipher = Cipher.getInstance(Constant.AES_TYPE); + cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, ivParameterSpec); + byte[] bytes = cipher.doFinal(encodeStr.getBytes()); + return new String(Hex.encode(bytes)); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** + * 解密 + * + * @param decodeStr + * @return + */ + public static String aesDecode(String decodeStr) { + try { + IvParameterSpec ivParameterSpec = new IvParameterSpec(Constant.IV.getBytes()); + SecretKeySpec secretKeySpec = new SecretKeySpec(Constant.AES_KEY.getBytes(), "AES"); + Cipher cipher = Cipher.getInstance(Constant.AES_TYPE); + cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, ivParameterSpec); + byte[] bytes = cipher.doFinal(Hex.decode(decodeStr)); + return new String(bytes); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** + * 校验 + * + * @param needCheckPassword + * @param encodePassword + * @return + */ + public static Boolean aesMatch(String needCheckPassword, String encodePassword) { + return Objects.equals(aesEncode(needCheckPassword), encodePassword); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/util/AssertUtil.java b/server/src/main/java/com/ew/gerocomium/common/util/AssertUtil.java new file mode 100644 index 0000000..78d5997 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/util/AssertUtil.java @@ -0,0 +1,64 @@ +package com.ew.gerocomium.common.util; + +import com.ew.gerocomium.common.config.exception.BusinessRuntimeException; +import com.ew.gerocomium.common.constant.ExceptionEnum; +import org.springframework.util.CollectionUtils; +import org.springframework.util.ObjectUtils; + +import java.util.Collection; + +/** + * 断言工具类 + */ +public class AssertUtil { + public AssertUtil() { + } + + public static void isTrue(boolean expression, ExceptionEnum type) throws BusinessRuntimeException { + if (!expression) { + throw new BusinessRuntimeException(type); + } + } + + public static void notTrue(boolean expression, ExceptionEnum type) throws BusinessRuntimeException { + if (expression) { + throw new BusinessRuntimeException(type); + } + } + + public static void isNull(Object object, ExceptionEnum type) throws BusinessRuntimeException { + if (object != null) { + throw new BusinessRuntimeException(type); + } + } + + public static void notNull(Object object, ExceptionEnum type) throws BusinessRuntimeException { + if (object == null) { + throw new BusinessRuntimeException(type); + } + } + + public static void isEmpty(Object[] array, ExceptionEnum type) throws BusinessRuntimeException { + if (!ObjectUtils.isEmpty(array)) { + throw new BusinessRuntimeException(type); + } + } + + public static void notEmpty(Object[] array, ExceptionEnum type) throws BusinessRuntimeException { + if (ObjectUtils.isEmpty(array)) { + throw new BusinessRuntimeException(type); + } + } + + public static void isEmpty(Collection collection, ExceptionEnum type) throws BusinessRuntimeException { + if (!CollectionUtils.isEmpty(collection)) { + throw new BusinessRuntimeException(type); + } + } + + public static void notEmpty(Collection collection, ExceptionEnum type) throws BusinessRuntimeException { + if (CollectionUtils.isEmpty(collection)) { + throw new BusinessRuntimeException(type); + } + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/util/ClassJavaToTSUtil.java b/server/src/main/java/com/ew/gerocomium/common/util/ClassJavaToTSUtil.java new file mode 100644 index 0000000..30a8992 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/util/ClassJavaToTSUtil.java @@ -0,0 +1,63 @@ +package com.ew.gerocomium.common.util; + +import cn.hutool.core.util.ObjUtil; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.dao.vo.PageNurseReserveByKeyVo; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.math.BigDecimal; + +public class ClassJavaToTSUtil { + public static String convertClassToTS(Class clazz, String returnClassName) { + StringBuilder sb = new StringBuilder(); + sb.append("export interface "); + sb.append(ObjUtil.isNotEmpty(returnClassName) ? returnClassName : getClassName(clazz)); + sb.append(" {\n"); + + Field[] fields = clazz.getDeclaredFields(); + for (Field field : fields) { + if (!Modifier.isStatic(field.getModifiers()) && !isGetterOrSetter(field.getName())) { + sb.append("\t"); + sb.append(field.getName()); + sb.append(": "); + sb.append(convertTypeToTS(field.getType())); + sb.append(";\n"); + } + } + sb.append("}"); + + return sb.toString(); + } + + private static String getClassName(Class clazz) { + String name = clazz.getSimpleName(); + return name.substring(0, 1).toUpperCase() + name.substring(1); + } + + private static String convertTypeToTS(Class type) { + if (type == int.class || type == Integer.class || + type == long.class || type == Long.class || + type == float.class || type == Float.class || + type == double.class || type == Double.class || + type == BigDecimal.class) { + return "number"; + } else if (type == boolean.class || type == Boolean.class) { + return "boolean"; + } else if (type == String.class) { + return "string"; + } else { + return getClassName(type); + } + } + + private static boolean isGetterOrSetter(String fieldName) { + return fieldName.startsWith("get") || + fieldName.startsWith("set") || + fieldName.startsWith("is"); + } + + public static void main(String[] args) { + System.out.println(convertClassToTS(PageNurseReserveByKeyVo.class,null)); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/util/CommonUtil.java b/server/src/main/java/com/ew/gerocomium/common/util/CommonUtil.java new file mode 100644 index 0000000..36b5e34 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/util/CommonUtil.java @@ -0,0 +1,142 @@ +package com.ew.gerocomium.common.util; + +import cn.hutool.core.date.DateUtil; +import com.ew.gerocomium.common.config.web.IgnoreConfig; +import com.ew.gerocomium.dao.vo.ExpireContractVo; +import org.springframework.stereotype.Component; +import org.springframework.util.AntPathMatcher; +import org.springframework.util.PathMatcher; + +import javax.annotation.Resource; +import java.text.DecimalFormat; +import java.util.*; + +@Component +public class CommonUtil { + @Resource + private IgnoreConfig ignoreConfig; + + private final PathMatcher pathMatcher = new AntPathMatcher(); + + /** + * 获取白名单url数组 + * + * @return + */ + public String[] getIgnoreUrlArray() { + return packArray(ignoreConfig.getIgnoreUrl()); + } + + /** + * 获取白名单url数组 + * + * @return + */ + public String[] getIgnoreTokenUrlArray() { + return packArray(ignoreConfig.getTokenUrl()); + } + + /** + * 封装数组 + * + * @param list + * @return + */ + public String[] packArray(List list) { + String[] array = new String[list.size()]; + for (int i = 0; i < list.size(); i++) { + array[i] = list.get(i); + } + return array; + } + + /** + * 字符串数组中是否存在某个字符串 + * + * @param array + * @param url + * @return + */ + public Boolean existFlag(String[] array, String url) { + for (String item : array) { + if (pathMatcher.match(item, url)) { + return true; + } + } + return false; + } + + /** + * 计算比值 + * + * @param molecule + * @param denominator + * @return + */ + public Double getRatio(Double molecule, Double denominator) { + return denominator == 0 ? + 0.00 : + Double.parseDouble(new DecimalFormat("#0.00").format(molecule / denominator)); + } + + /** + * 计算增长率 + * + * @param lastNum + * @param thisNum + * @return + */ + public Double getGrowthRate(Double lastNum, Double thisNum) { + return lastNum == 0 ? + 0.00 : + Double.parseDouble(new DecimalFormat("#0.00").format((thisNum - lastNum) / lastNum)); + } + + /** + * 根据符号拼接字符串 + * + * @param strList + * @param symbol + * @return + */ + public String joinStrBySymbol(List strList, String symbol) { + // 获取迭代器 + Iterator iterator = strList.stream().iterator(); + // 封装返回数据 + StringBuilder resultStr = new StringBuilder(); + int index = 0; + while (iterator.hasNext()) { + if (index > 0) { + resultStr.append(symbol); + } + resultStr.append(iterator.next()); + index++; + } + return resultStr.toString(); + } + + /** + * 组装合同到期发送邮箱文本内容 + * + * @param expireContractVo + * @return + */ + public String joinEmailContent(ExpireContractVo expireContractVo) { + // 获取当前时间和合同到期时间 + Date nowDate = new Date(); + Date expireDate = expireContractVo.getEndDate(); + // 格式化合同到期时间 + String expireDateStr = DateUtilWen.dateToDateStr(expireDate, "yyyy-MM-dd"); + // 获取当前时间和合同到期时间相差天数 + long betweenDay = DateUtil.betweenDay(nowDate, expireDate, true); + betweenDay = nowDate.before(expireDate) ? betweenDay : betweenDay * -1; + // 组装邮箱内容 + String title = "您好,你家老人在敬老院的入住合同" + (betweenDay >= 0 ? "即将到期" : "已到期") + ",请及时续约。\n"; + String name = "老人姓名:" + expireContractVo.getElderName() + "\n"; + String idNum = "老人身份证号:" + expireContractVo.getIdNum() + "\n"; + String expireTime = "合同到期时间:" + expireDateStr + " "; + String expireDetail = betweenDay >= 0 ? "剩余" + betweenDay + "天" : "已到期" + betweenDay * -1 + "天"; + // 返回数据 + return title + name + idNum + expireTime + expireDetail; + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/util/DateUtilWen.java b/server/src/main/java/com/ew/gerocomium/common/util/DateUtilWen.java new file mode 100644 index 0000000..3e0c2ce --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/util/DateUtilWen.java @@ -0,0 +1,256 @@ +package com.ew.gerocomium.common.util; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjUtil; + +import java.util.Calendar; +import java.util.Date; + +public class DateUtilWen { + /** + * Date字符串转Date + * + * @param dateStr + * @return + */ + public static Date dateStrToDate(String dateStr) { + return ObjUtil.isEmpty(dateStr) ? + null : + DateUtil.parseDate(dateStr); + } + + /** + * Date转Date字符串 + * + * @param date + * @param "yyyy/MM/dd hh:mm:ss" + * @return + */ + public static String dateToDateStr(Date date, String formatStr) { + return ObjUtil.isEmpty(date) ? + null : + DateUtil.format(date, formatStr); + } + + /** + * 根据时间获取【前n天】或【后n天】 + * + * @param date + * @param dayBdeforeNum + * @return + */ + public static Date getNowDayAroundTime(Date date, Integer dayBdeforeNum) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.DATE, dayBdeforeNum); + return calendar.getTime(); + } + + /** + * 根据时间获取【前n月】或【后n月】 + * + * @param date + * @param monthBeforeNum + * @return + */ + public static Date getNowMonthAroundTime(Date date, Integer monthBeforeNum) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.MONTH, monthBeforeNum); + return calendar.getTime(); + } + + /** + * 获取时间所对应当天的开始时间 + * + * @param date + * @return + */ + public static Date getDayStartTime(Date date) { + if (date == null) { + return null; + } + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + return calendar.getTime(); + } + + /** + * 获取时间所对应当天的结束时间 + * + * @param date + * @return + */ + public static Date getDayEndTime(Date date) { + if (date == null) { + return null; + } + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + return calendar.getTime(); + } + + /** + * 获取时间所对应月份的第一天 + * + * @param date + * @return + */ + public static Date getMonthFirstDay(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH)); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + return calendar.getTime(); + } + + /** + * 获取时间所对应月份的最后一天 + * + * @param date + * @return + */ + public static Date getMonthLastDay(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + return calendar.getTime(); + } + + /** + * 获取时间所对应年份的第一天 + * + * @param date + * @return + */ + public static Date getYearFirstDay(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.DAY_OF_YEAR, calendar.getActualMinimum(Calendar.DAY_OF_YEAR)); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + return calendar.getTime(); + } + + /** + * 获取时间所对应年份的最后一天 + * + * @param date + * @return + */ + public static Date getYearLastDay(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.DAY_OF_YEAR, calendar.getActualMaximum(Calendar.DAY_OF_YEAR)); + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + return calendar.getTime(); + } + + /** + * 根据时间获取当前月份 + * + * @param date + * @return + */ + public static Integer getMonthNum(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + return calendar.get(Calendar.MONTH) + 1; + } + + /** + * 根据时间获取【年月】的格式化日期 + * + * @param date + * @param symbol + * @return + */ + public static String getYearToMonthFormatDateStr(Date date, String symbol) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + int month = calendar.get(Calendar.MONTH) + 1; + return String.valueOf(calendar.getWeekYear()) + .concat(symbol) + .concat(month < 10 ? "0" + month : String.valueOf(month)); + } + + /** + * 根据出生日期获取年龄 + * + * @param birthday + * @return + */ + public static Integer getAgeByBirthDay(Date birthday) { + //获取当前时间的Calendar对象 + Calendar cal = Calendar.getInstance(); + //获取出生日期的Calendar对象 + Calendar bir = Calendar.getInstance(); + bir.setTime(birthday); + + //如果出生日期大于当前日期,则返回0 + if (cal.before(birthday)) { + return 0; + } + + //取出当前年月日 + int nowYear = cal.get(Calendar.YEAR); + int nowMonth = cal.get(Calendar.MONTH); + int nowDay = cal.get(Calendar.DAY_OF_MONTH); + //取出出生日期的年月日 + int birthYear = bir.get(Calendar.YEAR); + int birthMonth = bir.get(Calendar.MONTH); + int birthDay = bir.get(Calendar.DAY_OF_MONTH); + + //计算年份 + int age = nowYear - birthYear; + + //计算月份和日,看看是否大于当前月日,如果小于则减去一岁 + if (nowMonth < birthMonth || (nowMonth == birthMonth && nowDay < birthDay)) { + age--; + } + return age; + } + + /** + * 获取两时间相差几月零几天 + * + * @param startTime + * @param endTime + */ + public void getBetweenMonthAndDay(Date startTime, Date endTime) { + startTime = getDayStartTime(startTime); + endTime = getDayEndTime(endTime); + Date nowTime = getDayEndTime(new Date()); + endTime = nowTime.before(endTime) ? nowTime : endTime; + + Date temporaryDate; + long month = 0L; + long day = 0L; + while (startTime.before(endTime)) { + temporaryDate = getNowMonthAroundTime(startTime, 1); + if (temporaryDate.before(endTime)) { + month++; + } else { + day = DateUtil.betweenDay(startTime, endTime, true); + } + startTime = temporaryDate; + } + + System.out.println(month); + System.out.println(day); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/util/EntityCodeGeneratorUtil.java b/server/src/main/java/com/ew/gerocomium/common/util/EntityCodeGeneratorUtil.java new file mode 100644 index 0000000..06c954c --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/util/EntityCodeGeneratorUtil.java @@ -0,0 +1,95 @@ +package com.ew.gerocomium.common.util; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.generator.AutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.GlobalConfig; +import com.baomidou.mybatisplus.generator.config.PackageConfig; +import com.baomidou.mybatisplus.generator.config.StrategyConfig; +import com.baomidou.mybatisplus.generator.config.po.TableFill; +import com.baomidou.mybatisplus.generator.config.rules.DateType; +import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; +import com.ew.gerocomium.dao.base.BaseEntity; + +import java.util.ArrayList; + +public class EntityCodeGeneratorUtil { + + public static void main(String[] args) { + // 构建一个代码生成器对象 + AutoGenerator mpg = new AutoGenerator(); + // 配置策略 + // 1、全局配置 + GlobalConfig gc = new GlobalConfig(); + String property = System.getProperty("user.dir"); // 获取当前项目的目录 + gc.setOutputDir(property + "/src/main/java/"); // 设置生成代码的目录 + gc.setAuthor("EmperorWen"); // 生成代码的作者 + gc.setOpen(false); // 生成完成后,打开项目所在windows下的文件夹(false 不打开) + gc.setFileOverride(false); // 是否覆盖原来的文件(false 不覆盖) + gc.setServiceName("%sBaseService"); // 去除IService的I前缀 + gc.setServiceImplName("%sBaseServiceImpl"); // 去除IServiceImpl的I前缀 + gc.setIdType(IdType.AUTO); // 设置pojo类主键策略 + gc.setDateType(DateType.ONLY_DATE); // 设置pojo类data的类型 + gc.setSwagger2(false); // 设置swagger文档 + mpg.setGlobalConfig(gc); // 将配置丢入自动生成器内 + + // 2、设置数据源 + DataSourceConfig dsc = new DataSourceConfig(); + dsc.setUrl("jdbc:mysql://127.0.0.1:3306/gerocomium?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8"); + dsc.setDriverName("com.mysql.cj.jdbc.Driver"); + dsc.setUsername("root"); + dsc.setPassword("242680"); + dsc.setDbType(DbType.MYSQL); // 使用的是mysql + mpg.setDataSource(dsc); + + // 3、包的配置 + PackageConfig pc = new PackageConfig(); + pc.setParent("com.ew.gerocomium"); + pc.setModuleName("dao"); + pc.setEntity("po"); + pc.setMapper("mapper"); + pc.setService("service"); +// pc.setController("controller"); + mpg.setPackageInfo(pc); + + // 4、配置策略 + StrategyConfig strategy = new StrategyConfig(); + strategy.setInclude(); // 设置要映射的表;多个则使用 ”,“ 分割;全部则不设置 + strategy.setNaming(NamingStrategy.underline_to_camel); // 命名规则(下划线转驼峰) + strategy.setColumnNaming(NamingStrategy.underline_to_camel); //列的名字(下划线转驼峰) + strategy.setSuperEntityClass(BaseEntity.class); // 父类实体类 + strategy.setSuperEntityColumns("id","create_id","create_time","update_id","update_time"); // 去掉父类属性 + strategy.setEntityLombokModel(true); // 是否使用lombok开启注解 + + // 设置逻辑删除的别名 + strategy.setLogicDeleteFieldName("deleted"); + + // 设置自动填充配置 + TableFill create_id = new TableFill("create_id", FieldFill.INSERT); + TableFill create_time = new TableFill("create_time", FieldFill.INSERT); + TableFill update_id = new TableFill("update_id", FieldFill.INSERT_UPDATE); + TableFill update_time = new TableFill("update_time", FieldFill.INSERT_UPDATE); + ArrayList tableFiledLists = new ArrayList<>(); + tableFiledLists.add(create_id); + tableFiledLists.add(create_time); + tableFiledLists.add(update_id); + tableFiledLists.add(update_time); + strategy.setTableFillList(tableFiledLists); + + // 乐观锁策略 + strategy.setVersionFieldName("version"); + + // controller 驼峰命名 + strategy.setRestControllerStyle(true); + strategy.setControllerMappingHyphenStyle(true); // requestMapping中使用下划线命名 + + mpg.setStrategy(strategy); + + // 执行 + mpg.execute(); + } + +} + diff --git a/server/src/main/java/com/ew/gerocomium/common/util/ExcelUtil.java b/server/src/main/java/com/ew/gerocomium/common/util/ExcelUtil.java new file mode 100644 index 0000000..f37f5f6 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/util/ExcelUtil.java @@ -0,0 +1,177 @@ +package com.ew.gerocomium.common.util; + +import cn.hutool.core.util.ObjUtil; +import com.ew.gerocomium.common.config.file.FileUploadConfigPropertity; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFCellStyle; +import org.apache.poi.xssf.usermodel.XSSFColor; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.io.ByteArrayOutputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.UUID; +import java.util.concurrent.atomic.AtomicInteger; + +@Component +public class ExcelUtil { + @Resource + private FileUploadConfigPropertity fileUploadConfigPropertity; + + /** + * @param dataList 导出数据列表 + * @param aClass 反射对象 + * @return + * @throws IOException + */ + public String exportExcel(List dataList, Class aClass) throws IOException { + // 生成文件名 + UUID fileName = UUID.randomUUID(); + String filePath = fileUploadConfigPropertity.getWindows() + "/download/" + fileName + ".xlsx"; + String requestPath = fileUploadConfigPropertity.getLocalHead() + "/download/" + fileName + ".xlsx"; + + // 获取表头以及getter名称 + List headerNameList = new ExcelUtil().getHeaderNameList(aClass); + + // 生成excel + Workbook workbook = new XSSFWorkbook(); + Sheet sheet = workbook.createSheet("Sheet1"); + + // 表头样式 + XSSFCellStyle headerStyle = (XSSFCellStyle) workbook.createCellStyle(); + // 设置背景颜色 + headerStyle.setFillForegroundColor(new XSSFColor(new java.awt.Color(177, 179, 184))); + headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + // 设置水平居中 + headerStyle.setAlignment(HorizontalAlignment.CENTER); + // 设置垂直居中 + headerStyle.setVerticalAlignment(VerticalAlignment.CENTER); + // 设置背景颜色为灰色 + headerStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); + + // 表头 + AtomicInteger rowNum = new AtomicInteger(); + Row headerRow = sheet.createRow(rowNum.getAndIncrement()); + sheet.setColumnWidth(0, 10 * 256); + setCell(headerRow, 0, "序号", headerStyle, true); + int headI = 1; + for (Test test : headerNameList) { + setCell(headerRow, headI, test.getHeadName(), headerStyle, true); + headI++; + } + + // 内容 + int contentI = 1; + for (Object item : dataList) { + Row row = sheet.createRow(rowNum.getAndIncrement()); + // 序号 + setCell(row, 0, String.valueOf(contentI), headerStyle, false); + contentI++; + try { +// 直接通过该方法获取整个对象的值 +// Field[] declaredFields = item.getClass().getDeclaredFields(); +// for (Field declaredField : declaredFields) { +// declaredField.setAccessible(true); +// declaredField.getName(); +// Object o = declaredField.get(item); +// System.out.println(o); +// } + int contentJ = 1; + for (Test test : headerNameList) { + // 通过反射对象获取一般方法 + Method method = aClass.getMethod(test.getGetterName()); + // 利用反射的invoke方法激活通过反射调取的方法,里面的参数是实例对象和方法参数 + Object getValue = method.invoke(item); + String value = ObjUtil.isNotEmpty(getValue) ? getValue.toString() : ""; + // 某一行某一格内容 + setCell(row, contentJ, value, headerStyle, false); + if (test.getMaxLength() < value.length()) { + test.setMaxLength(value.length() + 10); + } + contentJ++; + } + } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { + e.printStackTrace(); + } + } + + // 统一设置列宽 + int widthI = 1; + for (Test test : headerNameList) { + sheet.setColumnWidth(widthI, test.getMaxLength() * 256); + widthI++; + } + + // 生成本地文件流 + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + workbook.write(byteArrayOutputStream); + // 保存到本地 + FileOutputStream fos = new FileOutputStream(filePath); + byteArrayOutputStream.writeTo(fos); + fos.close(); + byteArrayOutputStream.close(); + + // 完成 + workbook.close(); + + return requestPath; + } + + // 表格设值 + public void setCell(Row row, Integer i, String value, XSSFCellStyle headerStyle, Boolean headFlag) { + Cell cell = row.createCell(i); + cell.setCellValue(value); + cell.getCellStyle().setWrapText(true); + if (headFlag) { + cell.setCellStyle(headerStyle); + } + } + + // 获取表头 + public List getHeaderNameList(Class aClass) { + List testList = new ArrayList<>(); + + Field[] fields = aClass.getDeclaredFields(); + for (Field field : fields) { + ApiModelProperty apiModelProperty = field.getAnnotation(ApiModelProperty.class); + if (apiModelProperty != null && !Objects.equals(field.getName(), "id")) { + String fieldName = field.getName(); + String apiModelPropertyName = apiModelProperty.value(); + + String getMethodName = "get" + Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1); + Test test = new Test(apiModelPropertyName, getMethodName, 0); + testList.add(test); + } + } + + return testList; + } + + @Data + @AllArgsConstructor + private static class Test { + /** + * 表头名称 + */ + private String headName; + /** + * get方法 + */ + private String getterName; + /** + * 该列值最大长度 + */ + private Integer maxLength; + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/util/JavaToTsConverter.java b/server/src/main/java/com/ew/gerocomium/common/util/JavaToTsConverter.java new file mode 100644 index 0000000..d503958 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/util/JavaToTsConverter.java @@ -0,0 +1,66 @@ +package com.ew.gerocomium.common.util; + +import com.ew.gerocomium.dao.po.Elder; + +import java.lang.reflect.*; + +public class JavaToTsConverter { + + public String convert(Class clazz) { + StringBuilder sb = new StringBuilder(); + + sb.append("interface ").append(clazz.getSimpleName()).append(" {\n"); + + // 处理字段 + Field[] fields = clazz.getDeclaredFields(); + for (Field field : fields) { + sb.append("\t").append(field.getName()).append(": ").append(getTypeScriptType(field.getType())).append(";\n"); + } + + // 处理方法 + Method[] methods = clazz.getDeclaredMethods(); + for (Method method : methods) { + if (Modifier.isPublic(method.getModifiers())) { + sb.append("\t").append(method.getName()).append("("); + + // 处理参数 + Class[] paramTypes = method.getParameterTypes(); + for (int i = 0; i < paramTypes.length; i++) { + if (i > 0) { + sb.append(", "); + } + sb.append("arg").append(i).append(": ").append(getTypeScriptType(paramTypes[i])); + } + + sb.append("): ").append(getTypeScriptType(method.getReturnType())).append(";\n"); + } + } + + sb.append("}"); + + return sb.toString(); + } + + private String getTypeScriptType(Class type) { + if (type == boolean.class || type == Boolean.class) { + return "boolean"; + } else if (type == byte.class || type == Byte.class || + type == short.class || type == Short.class || + type == int.class || type == Integer.class || + type == long.class || type == Long.class || + type == float.class || type == Float.class || + type == double.class || type == Double.class) { + return "number"; + } else if (type == String.class || type == char.class || type == Character.class) { + return "string"; + } else { + return type.getSimpleName(); + } + } + + public static void main(String[] args) { + JavaToTsConverter converter = new JavaToTsConverter(); + String tsCode = converter.convert(Elder.class); + System.out.println(tsCode); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/util/JwtUtil.java b/server/src/main/java/com/ew/gerocomium/common/util/JwtUtil.java new file mode 100644 index 0000000..0172c07 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/util/JwtUtil.java @@ -0,0 +1,53 @@ +package com.ew.gerocomium.common.util; + +import com.ew.gerocomium.common.constant.Constant; +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jws; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; +import io.jsonwebtoken.security.Keys; + +import java.nio.charset.StandardCharsets; +import java.util.Date; + +public class JwtUtil { + /** + * 签发token + * + * @param id 用户id + * @return jwt + */ + public static String createJwt(String id) { + Date signTime = new Date(); + return Jwts.builder() + // 头部 + .setHeaderParam("type", "JWT") + .setHeaderParam("alg", "HS256") + // 主题 + .setSubject(Constant.TOKEN_SUBJECT) + // 发行人 + .setIssuer(Constant.TOKEN_ISSURE) + // 签发时间 + .setIssuedAt(signTime) + // 生效时间 + .setNotBefore(signTime) + // 到期时间 + .setExpiration(new Date(signTime.getTime() + Constant.EXPIRE_TIME)) + // 登录用户id + .claim("id", id) + // 签名哈希 + .signWith(Keys.hmacShaKeyFor(Constant.TOKEN_SECRET.getBytes(StandardCharsets.UTF_8)), SignatureAlgorithm.HS256) + // 签名 + .compact(); + } + + /** + * 解析token + */ + public static Jws parseJwt(String jwt) { + return Jwts.parserBuilder() + .setSigningKey(Keys.hmacShaKeyFor(Constant.TOKEN_SECRET.getBytes(StandardCharsets.UTF_8))) + .build() + .parseClaimsJws(jwt); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/util/PageUtil.java b/server/src/main/java/com/ew/gerocomium/common/util/PageUtil.java new file mode 100644 index 0000000..4be77dd --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/util/PageUtil.java @@ -0,0 +1,71 @@ +package com.ew.gerocomium.common.util; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ew.gerocomium.dao.base.PageResult; +import com.ew.gerocomium.dao.base.Rank; +import org.springframework.stereotype.Component; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@Component +public class PageUtil { + // 分页法一 + public List getPageData(List list, Integer pageNum, Integer pageSize) { + return list.stream() + .skip((long) (pageNum - 1) * pageSize).limit(pageSize) + .collect(Collectors.toList()); + } + + // 分页法二 + public IPage getIPageData(List list, Integer pageNum, Integer pageSize) { + int curIdx = pageNum > 1 ? (pageNum - 1) * pageSize : 0; + List pageList = new ArrayList<>(); + for (int i = 0; i < pageSize && curIdx + i < list.size(); i++) { + pageList.add(list.get(curIdx + i)); + } + IPage page = new Page<>(pageNum, pageSize); + page.setRecords(pageList); + page.setTotal(list.size()); + return page; + } + + // 编序号 + public List rank(List list) { + // public List rank(List list) { + Long[] ranNum = {1L}; + return list.stream() + .peek(item -> { + // 法一 + try { + // 获取反射对象 + Class aClass = item.getClass(); + // 通过反射对象获取一般方法 + Method method = aClass.getMethod("setRank", Long.class); + // 利用反射的invoke方法激活通过反射调取的方法,里面的参数是实例对象和方法参数 + method.invoke(item, ranNum[0]++); + } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { + e.printStackTrace(); + } + // 法二 不可用,需重新设计 +// item.setRank(ranNum[0]++); + }) + .collect(Collectors.toList()); + } + + // 封装分页返回数据 + public PageResult packPageResultData(List list, Integer pageNum, Integer pageSize) { + // 排序 + list = rank(list); + // 获取总条数 + int total = list.size(); + // 截取分页数据 + list = getPageData(list, pageNum, pageSize); + // 封装返回数据 + return new PageResult<>(pageNum, pageSize, (long) total, list); + } +} \ No newline at end of file diff --git a/server/src/main/java/com/ew/gerocomium/common/util/RedisUtil.java b/server/src/main/java/com/ew/gerocomium/common/util/RedisUtil.java new file mode 100644 index 0000000..a970f88 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/util/RedisUtil.java @@ -0,0 +1,218 @@ +package com.ew.gerocomium.common.util; + +import org.springframework.data.redis.core.BoundSetOperations; +import org.springframework.data.redis.core.HashOperations; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ValueOperations; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.*; +import java.util.concurrent.TimeUnit; + +@SuppressWarnings(value = {"unchecked", "rawtypes"}) +@Component +public class RedisUtil { + @Resource + public RedisTemplate redisTemplate; + + /** + * 缓存基本的对象,Integer、String、实体类等 + * + * @param key 缓存的键值 + * @param value 缓存的值 + */ + public void setCacheObject(final String key, final T value) { + redisTemplate.opsForValue().set(key, value); + } + + /** + * 缓存基本的对象,Integer、String、实体类等 + * + * @param key 缓存的键值 + * @param value 缓存的值 + * @param timeout 时间 + * @param timeUnit 时间颗粒度 + */ + public void setCacheObject(final String key, final T value, final Long timeout, final TimeUnit timeUnit) { + redisTemplate.opsForValue().set(key, value, timeout, timeUnit); + } + + /** + * 设置有效时间 + * + * @param key Redis键 + * @param timeout 超时时间 + * @return true=设置成功;false=设置失败 + */ + public boolean expire(final String key, final Long timeout) { + return expire(key, timeout, TimeUnit.SECONDS); + } + + /** + * 设置有效时间 + * + * @param key Redis键 + * @param timeout 超时时间 + * @param unit 时间单位 + * @return true=设置成功;false=设置失败 + */ + public boolean expire(final String key, final Long timeout, final TimeUnit unit) { + return redisTemplate.expire(key, timeout, unit); + } + + /** + * 获得缓存的基本对象。 + * + * @param key 缓存键值 + * @return 缓存键值对应的数据 + */ + public T getCacheObject(final String key) { + ValueOperations operation = redisTemplate.opsForValue(); + return operation.get(key); + } + + /** + * 删除单个对象 + * + * @param key + */ + public boolean deleteObject(final String key) { + return redisTemplate.delete(key); + } + + /** + * 删除集合对象 + * + * @param collection 多个对象 + * @return + */ + public long deleteObject(final Collection collection) { + return redisTemplate.delete(collection); + } + + /** + * 缓存List数据 + * + * @param key 缓存的键值 + * @param dataList 待缓存的List数据 + * @return 缓存的对象 + */ + public long setCacheList(final String key, final List dataList) { + Long count = redisTemplate.opsForList().rightPushAll(key, dataList); + return count == null ? 0 : count; + } + + /** + * 获得缓存的list对象 + * + * @param key 缓存的键值 + * @return 缓存键值对应的数据 + */ + public List getCacheList(final String key) { + return redisTemplate.opsForList().range(key, 0, -1); + } + + /** + * 缓存Set + * + * @param key 缓存键值 + * @param dataSet 缓存的数据 + * @return 缓存数据的对象 + */ + public BoundSetOperations setCacheSet(final String key, final Set dataSet) { + BoundSetOperations setOperation = redisTemplate.boundSetOps(key); + Iterator it = dataSet.iterator(); + while (it.hasNext()) { + setOperation.add(it.next()); + } + return setOperation; + } + + /** + * 获得缓存的set + * + * @param key + * @return + */ + public Set getCacheSet(final String key) { + return redisTemplate.opsForSet().members(key); + } + + /** + * 缓存Map + * + * @param key + * @param dataMap + */ + public void setCacheMap(final String key, final Map dataMap) { + if (dataMap != null) { + redisTemplate.opsForHash().putAll(key, dataMap); + } + } + + /** + * 获得缓存的Map + * + * @param key + * @return + */ + public Map getCacheMap(final String key) { + return redisTemplate.opsForHash().entries(key); + } + + /** + * 往Hash中存入数据 + * + * @param key Redis键 + * @param hKey Hash键 + * @param value 值 + */ + public void setCacheMapValue(final String key, final String hKey, final T value) { + redisTemplate.opsForHash().put(key, hKey, value); + } + + /** + * 获取Hash中的数据 + * + * @param key Redis键 + * @param hKey Hash键 + * @return Hash中的对象 + */ + public T getCacheMapValue(final String key, final String hKey) { + HashOperations opsForHash = redisTemplate.opsForHash(); + return opsForHash.get(key, hKey); + } + + /** + * 删除Hash中的数据 + * + * @param key + * @param hkey + */ + public void delCacheMapValue(final String key, final String hkey) { + HashOperations hashOperations = redisTemplate.opsForHash(); + hashOperations.delete(key, hkey); + } + + /** + * 获取多个Hash中的数据 + * + * @param key Redis键 + * @param hKeys Hash键集合 + * @return Hash对象集合 + */ + public List getMultiCacheMapValue(final String key, final Collection hKeys) { + return redisTemplate.opsForHash().multiGet(key, hKeys); + } + + /** + * 获得缓存的基本对象列表 + * + * @param pattern 字符串前缀 + * @return 对象列表 + */ + public Collection keys(final String pattern) { + return redisTemplate.keys(pattern); + } +} \ No newline at end of file diff --git a/server/src/main/java/com/ew/gerocomium/common/util/ResponseUtil.java b/server/src/main/java/com/ew/gerocomium/common/util/ResponseUtil.java new file mode 100644 index 0000000..85ab587 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/util/ResponseUtil.java @@ -0,0 +1,34 @@ +package com.ew.gerocomium.common.util; + +import cn.hutool.json.JSONUtil; +import com.ew.gerocomium.common.constant.ExceptionEnum; +import com.ew.gerocomium.dao.base.Result; +import lombok.extern.slf4j.Slf4j; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@Slf4j +public class ResponseUtil { + public static void resultOut(HttpServletResponse response, Result result) { + String errorJson = JSONUtil.toJsonStr(result); + out(response, errorJson); + } + + public static void exceptionEnumOut(HttpServletResponse response, ExceptionEnum exceptionEnum) { + String errorJson = JSONUtil.toJsonStr(Result.error(exceptionEnum)); + out(response, errorJson); + } + + private static void out(HttpServletResponse response, String errorJson) { + response.setStatus(200); + response.setContentType("application/json;charset=UTF-8"); + response.addHeader("Content-Type", "application/json;charset=utf-8"); + try { + response.getWriter().write(errorJson); + response.flushBuffer(); + } catch (IOException e) { + log.warn("Write data failed.", e); + } + } +} diff --git a/server/src/main/java/com/ew/gerocomium/common/util/SendEmailUtil.java b/server/src/main/java/com/ew/gerocomium/common/util/SendEmailUtil.java new file mode 100644 index 0000000..cbabe63 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/common/util/SendEmailUtil.java @@ -0,0 +1,37 @@ +package com.ew.gerocomium.common.util; + +import com.ew.gerocomium.common.constant.Constant; +import org.apache.commons.mail.EmailException; +import org.apache.commons.mail.HtmlEmail; + +import java.util.Arrays; +import java.util.List; + +public class SendEmailUtil { + public static void sendEmail(List emailList, String content) { + for (String email : emailList) { + try { + HtmlEmail htmlEmail = new HtmlEmail(); + // 配置发送邮箱的host + htmlEmail.setHostName(Constant.MAIL_HOST); + // 配置发送邮箱和邮箱授权码 + htmlEmail.setAuthentication(Constant.MAIL, Constant.PASS); + // 配置发送方 + htmlEmail.setFrom(Constant.MAIL); + // 配置接收人 + htmlEmail.addTo(email); + // 配置邮箱主题 + htmlEmail.setSubject(Constant.SUBJECT); + // 配置编码格式 + htmlEmail.setCharset("UTF-8"); + // 设置发送的消息 + htmlEmail.setMsg(content); + // 发送 + String send = htmlEmail.send(); + System.out.println(send); + } catch (EmailException e) { + e.printStackTrace(); + } + } + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/AccidentController.java b/server/src/main/java/com/ew/gerocomium/controller/AccidentController.java new file mode 100644 index 0000000..5452571 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/AccidentController.java @@ -0,0 +1,83 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "事故登记") +@RestController +@RequestMapping("/accident") +@PreAuthorize("@AuthorityAssert.hasAuthority('/check-in/accident')") +public class AccidentController { + @Resource + private AccidentService accidentService; + @Resource + private DepositRechargeService depositRechargeService; + @Resource + private NurseReserveService nurseReserveService; + @Resource + private OutwardService outwardService; + + @GetMapping("/pageAccidentByKey") + @ApiOperation(value = "分页查询事故登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageAccidentByKey(@ApiParam(value = "分页查询事故登记请求实体", required = true) PageAccidentByKeyQuery pageAccidentByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return accidentService.pageAccidentByKey(pageAccidentByKeyQuery); + } + + @GetMapping("/pageSearchElderByKey") + @ApiOperation(value = "分页搜索老人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchElderByKey(@ApiParam(value = "分页搜索老人请求实体", required = true) PageSearchElderByKeyQuery pageSearchElderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return depositRechargeService.pageSearchElderByKey(pageSearchElderByKeyQuery); + } + + @GetMapping("/pageSearchStaffByKey") + @ApiOperation(value = "分页搜索护工", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchStaffByKey(@ApiParam(value = "分页搜索护工请求实体", required = true) PageSearchStaffByKeyQuery pageSearchStaffByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outwardService.pageSearchStaffByKey(pageSearchStaffByKeyQuery); + } + + @GetMapping("/listAccidentStaff") + @ApiOperation(value = "获取护工列表", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listOutwardStaff(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseReserveService.listNurseStaff(); + } + + @PostMapping("/addAccident") + @ApiOperation(value = "新增事故登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addOutward(@ApiParam(value = "新增事故登记请求实体", required = true) @RequestBody AddAccidentQuery addAccidentQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return accidentService.addAccident(addAccidentQuery); + } + + @GetMapping("/getAccidentById") + @ApiOperation(value = "根据编号获取事故登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getAccidentById(@ApiParam(value = "根据编号获取事故登记请求参数", required = true) @RequestParam Long accidentId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return accidentService.getAccidentById(accidentId); + } + + @PutMapping("/editAccident") + @ApiOperation(value = "编辑事故登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editAccident(@ApiParam(value = "编辑事故登记请求实体", required = true) @RequestBody EditAccidentQuery editAccidentQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return accidentService.editAccident(editAccidentQuery); + } + + @DeleteMapping("/deleteAccident") + @ApiOperation(value = "删除事故登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteAccident(@ApiParam(value = "删除事故登记请求参数", required = true) @RequestParam Long accidentId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return accidentService.deleteAccident(accidentId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/AccountController.java b/server/src/main/java/com/ew/gerocomium/controller/AccountController.java new file mode 100644 index 0000000..8c3a83c --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/AccountController.java @@ -0,0 +1,54 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.EditQuery; +import com.ew.gerocomium.dao.query.ForgetQuery; +import com.ew.gerocomium.dao.query.LoginQuery; +import com.ew.gerocomium.dao.query.SendCodeQuery; +import com.ew.gerocomium.service.AccountService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "账号管理") +@RestController +@RequestMapping("/account") +public class AccountController { + @Resource + private AccountService accountService; + + @PostMapping("/login") + @ApiOperation(value = "登录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result login(@ApiParam(value = "登录请求参数", required = true) @RequestBody LoginQuery loginQuery) { + return accountService.login(loginQuery); + } + + @GetMapping("/sendCode") + @ApiOperation(value = "发送验证码", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result sendCode(@ApiParam(value = "发送验证码请求参数", required = true) SendCodeQuery sendCodeQuery) { + return accountService.sendCode(sendCodeQuery); + } + + @PutMapping("/forget") + @ApiOperation(value = "忘记密码", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result forget(@ApiParam(value = "忘记密码请求参数", required = true) @RequestBody ForgetQuery forgetQuery) { + return accountService.forget(forgetQuery); + } + + @PutMapping("/edit") + @ApiOperation(value = "修改密码", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result edit(@ApiParam(value = "忘记密码请求参数", required = true) @RequestBody EditQuery editQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return accountService.edit(editQuery); + } + + @DeleteMapping("/logout") + @ApiOperation(value = "登出", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result logout(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return accountService.logout(); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/ActiveController.java b/server/src/main/java/com/ew/gerocomium/controller/ActiveController.java new file mode 100644 index 0000000..df8702f --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/ActiveController.java @@ -0,0 +1,70 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.ActiveService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "活动管理") +@RestController +@RequestMapping("/active") +@PreAuthorize("@AuthorityAssert.hasAuthority('/people/activity')") +public class ActiveController { + @Resource + private ActiveService activeService; + + @GetMapping("/getActiveType") + @ApiOperation(value = "获取活动类型", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getActiveType(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return activeService.getActiveType(); + } + + @GetMapping("/pageActiveByKey") + @ApiOperation(value = "分页查询活动", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageActiveByKey(@ApiParam(value = "分页查询活动请求实体", required = true) PageActiveByKeyQuery pageActiveByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return activeService.pageActiveByKey(pageActiveByKeyQuery); + } + + @GetMapping("/pageSearchElderByKey") + @ApiOperation(value = "分页搜索老人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchElderByKey(@ApiParam(value = "分页搜索老人请求实体", required = true) PageSearchElderByKeyQuery pageSearchElderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return activeService.pageSearchElderByKey(pageSearchElderByKeyQuery); + } + + @PostMapping("/addActive") + @ApiOperation(value = "新增活动", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addActive(@ApiParam(value = "新增活动请求实体", required = true) @RequestBody OperateActiveQuery operateActiveQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return activeService.addActive(operateActiveQuery); + } + + @GetMapping("/getActiveById") + @ApiOperation(value = "根据编号查询活动", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getActiveById(@ApiParam(value = "根据编号查询活动请求参数", required = true) @RequestParam Long activeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return activeService.getActiveById(activeId); + } + + @PutMapping("/editActive") + @ApiOperation(value = "编辑活动", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editActive(@ApiParam(value = "编辑活动请求实体", required = true) @RequestBody OperateActiveQuery operateActiveQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return activeService.editActive(operateActiveQuery); + } + + @DeleteMapping("/deleteActive") + @ApiOperation(value = "删除活动", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteActive(@ApiParam(value = "删除活动请求参数", required = true) @RequestParam Long activeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return activeService.deleteActive(activeId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/ActiveTypeController.java b/server/src/main/java/com/ew/gerocomium/controller/ActiveTypeController.java new file mode 100644 index 0000000..00d747a --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/ActiveTypeController.java @@ -0,0 +1,58 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.OperateActiveTypeQuery; +import com.ew.gerocomium.dao.query.PageActiveTypeByKeyQuery; +import com.ew.gerocomium.service.ActiveTypeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "活动分类") +@RestController +@RequestMapping("/activeType") +@PreAuthorize("@AuthorityAssert.hasAuthority('/base/activity')") +public class ActiveTypeController { + @Resource + private ActiveTypeService activeTypeService; + + @GetMapping("/pageActiveTypeByKey") + @ApiOperation(value = "分页查询活动分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageActiveTypeByKey(@ApiParam(value = "分页查询活动分类请求实体", required = true) PageActiveTypeByKeyQuery pageActiveTypeByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return activeTypeService.pageActiveTypeByKey(pageActiveTypeByKeyQuery); + } + + @PostMapping("/addActiveType") + @ApiOperation(value = "新增活动分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addActiveType(@ApiParam(value = "新增活动分类请求参数", required = true) @RequestParam String activeTypeName, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return activeTypeService.addActiveType(activeTypeName); + } + + @GetMapping("/getActiveTypeById") + @ApiOperation(value = "根据编号获取活动分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getActiveTypeById(@ApiParam(value = "根据编号获取活动分类请求参数", required = true) @RequestParam Long activeTypeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return activeTypeService.getActiveTypeById(activeTypeId); + } + + @PutMapping("/editActiveType") + @ApiOperation(value = "编辑活动分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editActiveType(@ApiParam(value = "编辑活动分类请求实体", required = true) @RequestBody OperateActiveTypeQuery operateActiveTypeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return activeTypeService.editActiveType(operateActiveTypeQuery); + } + + @DeleteMapping("/deleteActiveType") + @ApiOperation(value = "删除活动分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteActiveType(@ApiParam(value = "删除活动分类请求参数", required = true) @RequestParam Long activeTypeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return activeTypeService.deleteActiveType(activeTypeId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/BedPanoramaController.java b/server/src/main/java/com/ew/gerocomium/controller/BedPanoramaController.java new file mode 100644 index 0000000..eb3fc6d --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/BedPanoramaController.java @@ -0,0 +1,43 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.ListRoomByKeyQuery; +import com.ew.gerocomium.service.BedPanoramaService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.apache.ibatis.annotations.Param; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "床位全景") +@RestController +@RequestMapping("/bedPanorama") +@PreAuthorize("@AuthorityAssert.hasAuthority('/check-in/bed')") +public class BedPanoramaController { + @Resource + private BedPanoramaService bedPanoramaService; + + @GetMapping("/listBuilding") + @ApiOperation(value = "获取楼栋列表", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listBuilding(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return bedPanoramaService.listBuilding(); + } + + @GetMapping("/listFloorByBuildingId") + @ApiOperation(value = "获取楼层列表", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listFloorByBuildingId(@ApiParam(value = "获取楼层列表请求参数", required = false) Long buildingId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return bedPanoramaService.listFloorByBuildingId(buildingId); + } + + @GetMapping("/listRoomByKey") + @ApiOperation(value = "获取房间列表", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listRoomByKey(@ApiParam(value = "获取房间列表请求实体", required = true) ListRoomByKeyQuery listRoomByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return bedPanoramaService.listRoomByKey(listRoomByKeyQuery); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/BuildController.java b/server/src/main/java/com/ew/gerocomium/controller/BuildController.java new file mode 100644 index 0000000..03fa696 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/BuildController.java @@ -0,0 +1,139 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.BuildService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "楼栋管理") +@RestController +@RequestMapping("/build") +@PreAuthorize("@AuthorityAssert.hasAuthority('/base/check-in/building')") +public class BuildController { + @Resource + private BuildService buildService; + + @GetMapping("/getNoBedTree") + @ApiOperation(value = "获取楼栋-楼层-房间树", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getNoBedTreeAndPageBedByKey(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.getNoBedTreeAndPageBedByKey(); + } + + @GetMapping("/pageBedByKey") + @ApiOperation(value = "分页查询床位", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageBedByKey(@ApiParam(value = "分页查询床位请求实体", required = true) PageBedByKeyQuery pageBedByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.pageBedByKey(pageBedByKeyQuery); + } + + @PostMapping("/addBuilding") + @ApiOperation(value = "新增楼栋", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addBuilding(@ApiParam(value = "新增楼栋请求实体", required = true) @RequestBody OperateBuildingQuery operateBuildingQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.addBuilding(operateBuildingQuery); + } + + @GetMapping("/getBuildingById") + @ApiOperation(value = "根据编号获取楼栋", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getBuildingById(@ApiParam(value = "根据编号获取楼栋请求参数", required = true) @RequestParam Long buildingId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.getBuildingById(buildingId); + } + + @PutMapping("/editBuilding") + @ApiOperation(value = "编辑楼栋", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editBuilding(@ApiParam(value = "编辑楼栋请求实体", required = true) @RequestBody OperateBuildingQuery operateBuildingQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.editBuilding(operateBuildingQuery); + } + + @PostMapping("/addFloor") + @ApiOperation(value = "新增楼层", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addFloor(@ApiParam(value = "新增楼层请求实体", required = true) @RequestBody OperateFloorQuery operateFloorQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.addFloor(operateFloorQuery); + } + + @GetMapping("/getFloorById") + @ApiOperation(value = "根据编号获取楼层", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getFloorById(@ApiParam(value = "根据编号获取楼层请求参数", required = true) @RequestParam Long floorId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.getFloorById(floorId); + } + + @PutMapping("/editFloor") + @ApiOperation(value = "编辑楼层", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editFloor(@ApiParam(value = "编辑楼层请求实体", required = true) @RequestBody OperateFloorQuery operateFloorQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.editFloor(operateFloorQuery); + } + + @GetMapping("/listRoomType") + @ApiOperation(value = "获取房间类型列表", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listRoomType(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.listRoomType(); + } + + @PostMapping("/addRoom") + @ApiOperation(value = "新增房间", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addRoom(@ApiParam(value = "新增房间请求实体", required = true) @RequestBody OperateRoomQuery operateRoomQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.addRoom(operateRoomQuery); + } + + @GetMapping("/getRoomById") + @ApiOperation(value = "根据编号获取房间", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getRoomById(@ApiParam(value = "根据编号获取房间请求参数", required = true) @RequestParam Long roomId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.getRoomById(roomId); + } + + @PutMapping("/editRoom") + @ApiOperation(value = "编辑房间", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editRoom(@ApiParam(value = "编辑房间请求实体", required = true) @RequestBody OperateRoomQuery operateRoomQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.editRoom(operateRoomQuery); + } + + @DeleteMapping("/deleteNode") + @ApiOperation(value = "删除节点", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteNode(@ApiParam(value = "删除节点请求实体", required = true) DeleteNodeQuery deleteNodeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.deleteNode(deleteNodeQuery); + } + + @PostMapping("/addBed") + @ApiOperation(value = "新增床位", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addBed(@ApiParam(value = "新增床位请求实体", required = true) @RequestBody OperateBedQuery operateBedQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.addBed(operateBedQuery); + } + + @GetMapping("/getBedById") + @ApiOperation(value = "根据编号获取床位", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getBedById(@ApiParam(value = "根据编号获取床位请求参数", required = true) @RequestParam Long bedId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.getBedById(bedId); + } + + @PutMapping("/editBed") + @ApiOperation(value = "编辑床位", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editBed(@ApiParam(value = "编辑床位请求实体", required = true) @RequestBody OperateBedQuery operateBedQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.editBed(operateBedQuery); + } + + @DeleteMapping("/deleteBed") + @ApiOperation(value = "删除床位", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteBed(@ApiParam(value = "删除床位请求参数", required = true) @RequestParam Long bedId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return buildService.deleteBed(bedId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/CateringSetController.java b/server/src/main/java/com/ew/gerocomium/controller/CateringSetController.java new file mode 100644 index 0000000..e38a9b2 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/CateringSetController.java @@ -0,0 +1,76 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.OperateCateringSetQuery; +import com.ew.gerocomium.dao.query.PageCateringSetByKeyQuery; +import com.ew.gerocomium.dao.query.PageDishesByKeyQuery; +import com.ew.gerocomium.service.CateringSetService; +import com.ew.gerocomium.service.DishesService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "餐饮套餐") +@RestController +@RequestMapping("/cateringSet") +@PreAuthorize("@AuthorityAssert.hasAuthority('/food/list')") +public class CateringSetController { + @Resource + private CateringSetService cateringSetService; + @Resource + private DishesService dishesService; + + @GetMapping("/pageCateringSetByKey") + @ApiOperation(value = "分页查询餐饮套餐", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageCateringSetByKey(@ApiParam(value = "分页查询餐饮套餐请求实体", required = true) PageCateringSetByKeyQuery pageCateringSetByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return cateringSetService.pageCateringSetByKey(pageCateringSetByKeyQuery); + } + + @GetMapping("/listDishesType") + @ApiOperation(value = "获取菜品分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listDishesType(@ApiParam(value = "获取菜品分类请求参数", required = false) String dishesTypeName, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.listDishesType(dishesTypeName); + } + + @GetMapping("/pageDishesByKey") + @ApiOperation(value = "分页查询菜品", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageDishesByKey(@ApiParam(value = "分页查询菜品请求实体", required = true) PageDishesByKeyQuery pageDishesByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.pageDishesByKey(pageDishesByKeyQuery); + } + + @PostMapping("/addCateringSet") + @ApiOperation(value = "新增餐饮套餐", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addCateringSet(@ApiParam(value = "新增餐饮套餐请求实体", required = true) @RequestBody OperateCateringSetQuery operateCateringSetQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return cateringSetService.addCateringSet(operateCateringSetQuery); + } + + @GetMapping("/getCateringSetById") + @ApiOperation(value = "根据编号查询餐饮套餐", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getCateringSetById(@ApiParam(value = "根据编号查询餐饮套餐请求参数", required = true) @RequestParam Long setId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return cateringSetService.getCateringSetById(setId); + } + + @PutMapping("/editCateringSet") + @ApiOperation(value = "编辑餐饮套餐", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editCateringSet(@ApiParam(value = "编辑餐饮套餐请求实体", required = true) @RequestBody OperateCateringSetQuery operateCateringSetQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return cateringSetService.editCateringSet(operateCateringSetQuery); + } + + @DeleteMapping("/deleteCateringSet") + @ApiOperation(value = "删除餐饮套餐", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteCateringSet(@ApiParam(value = "删除餐饮套餐请求参数", required = true) @RequestParam Long setId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return cateringSetService.deleteCateringSet(setId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/CheckContractController.java b/server/src/main/java/com/ew/gerocomium/controller/CheckContractController.java new file mode 100644 index 0000000..c7bb3f6 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/CheckContractController.java @@ -0,0 +1,115 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "入住签约") +@RestController +@RequestMapping("/checkContract") +@PreAuthorize("@AuthorityAssert.hasAuthority('/check-in/enter')") +public class CheckContractController { + @Resource + private CheckContractService checkContractService; + @Resource + private NurseGradeService nurseGradeService; + @Resource + private CateringSetService cateringSetService; + @Resource + private ConsultService consultService; + + @GetMapping("/pageCheckContractByKey") + @ApiOperation(value = "分页查询入住签约", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageCheckContractByKey(@ApiParam(value = "分页查询入住签约请求实体", required = true) PageCheckContractByKeyQuery pageCheckContractByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return checkContractService.pageCheckContractByKey(pageCheckContractByKeyQuery); + } + + @GetMapping("/pageSearchElderByKey") + @ApiOperation(value = "分页搜索老人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchElderByKey(@ApiParam(value = "分页搜索老人请求实体", required = true) PageSearchElderByKeyQuery pageSearchElderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return checkContractService.pageSearchElderByKey(pageSearchElderByKeyQuery); + } + + @GetMapping("/listNurseGrade") + @ApiOperation(value = "获取护理等级列表", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listNurseGrade(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return checkContractService.listNurseGrade(); + } + + @GetMapping("/getNurseGradeById") + @ApiOperation(value = "根据编号查询护理等级", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getNurseGradeById(@ApiParam(value = "根据编号查询护理等级请求参数", required = true) @RequestParam Long nurseGradeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseGradeService.getNurseGradeById(nurseGradeId); + } + + @GetMapping("/listCateringSet") + @ApiOperation(value = "获取餐饮套餐列表", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listCateringSet(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return checkContractService.listCateringSet(); + } + + @GetMapping("/getCateringSetById") + @ApiOperation(value = "根据编号查询餐饮套餐", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getCateringSetById(@ApiParam(value = "根据编号查询餐饮套餐请求参数", required = true) @RequestParam Long cateringSetId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return cateringSetService.getCateringSetById(cateringSetId); + } + + @GetMapping("/getBuildTree") + @ApiOperation(value = "获取楼栋树", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getBuildTree(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return checkContractService.getBuildTree(); + } + + @GetMapping("/getBedById") + @ApiOperation(value = "根据编号查询床位", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getBedById(@ApiParam(value = "根据编号查询床位请求参数", required = true) @RequestParam Long bedId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return checkContractService.getBedById(bedId); + } + + @GetMapping("/listReserveStaff") + @ApiOperation(value = "获取营销人员", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listReserveStaff(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return consultService.listConsultStaff(); + } + + @PostMapping("/addCheckContract") + @ApiOperation(value = "新增入住签约", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addCheckContract(@ApiParam(value = "新增入住签约请求实体", required = true) @RequestBody OperateCheckContractQuery operateCheckContractQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return checkContractService.addCheckContract(operateCheckContractQuery); + } + + @GetMapping("/getCheckContractById") + @ApiOperation(value = "根据老人编号查询入住签约", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getCheckContractById(@ApiParam(value = "根据老人编号查询入住签约请求参数", required = true) @RequestParam Long elderId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return checkContractService.getCheckContractById(elderId); + } + + @PutMapping("/editCheckContract") + @ApiOperation(value = "编辑入住签约", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editCheckContract(@ApiParam(value = "编辑入住签约请求实体", required = true) @RequestBody OperateCheckContractQuery operateCheckContractQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return checkContractService.editCheckContract(operateCheckContractQuery); + } + + @DeleteMapping("/deleteCheckContract") + @ApiOperation(value = "删除入住签约", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteCheckContract(@ApiParam(value = "删除入住签约请求参数", required = true) @RequestParam Long elderId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return checkContractService.deleteCheckContract(elderId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/ConsultController.java b/server/src/main/java/com/ew/gerocomium/controller/ConsultController.java new file mode 100644 index 0000000..c2fd675 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/ConsultController.java @@ -0,0 +1,78 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.GetConsultByConsultIdAndElderIdQuery; +import com.ew.gerocomium.dao.query.OperateConsultQuery; +import com.ew.gerocomium.dao.query.PageConsultByKeyQuery; +import com.ew.gerocomium.service.ConsultService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "咨询管理") +@RestController +@RequestMapping("/consult") +@PreAuthorize("@AuthorityAssert.hasAuthority('/soles/counsel')") +public class ConsultController { + @Resource + private ConsultService consultService; + + @GetMapping("/listConsultSource") + @ApiOperation(value = "来源渠道", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listConsultSource(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return consultService.listConsultSource(); + } + + @GetMapping("/listConsultStaff") + @ApiOperation(value = "接待人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listConsultStaff(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return consultService.listConsultStaff(); + } + + @GetMapping("/pageConsultByKey") + @ApiOperation(value = "分页查询咨询", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageConsultByKey(@ApiParam(value = "分页查询咨询请求实体", required = true) PageConsultByKeyQuery pageConsultByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return consultService.pageConsultByKey(pageConsultByKeyQuery); + } + + @PostMapping("/addConsult") + @ApiOperation(value = "新增咨询", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addConsult(@ApiParam(value = "新增咨询请求实体", required = true) @RequestBody OperateConsultQuery operateConsultQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return consultService.addConsult(operateConsultQuery); + } + + @GetMapping("/getConsultByConsultIdAndElderId") + @ApiOperation(value = "根据咨询人编号和老人编号获取咨询信息", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getConsultByConsultIdAndElderId(@ApiParam(value = "根据咨询人编号和老人编号获取咨询信息请求实体", required = true) GetConsultByConsultIdAndElderIdQuery getConsultByConsultIdAndElderIdQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return consultService.getConsultByConsultIdAndElderId(getConsultByConsultIdAndElderIdQuery); + } + + @PutMapping("/editConsult") + @ApiOperation(value = "编辑咨询", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editConsult(@ApiParam(value = "编辑咨询请求实体", required = true) @RequestBody OperateConsultQuery operateConsultQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return consultService.editConsult(operateConsultQuery); + } + + @DeleteMapping("/deleteConsult") + @ApiOperation(value = "删除咨询", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteConsult(@ApiParam(value = "删除咨询请求参数", required = true) @RequestParam Long elderId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return consultService.deleteConsult(elderId); + } + + @PutMapping("/intentionConsult") + @ApiOperation(value = "转为意向客户", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result intentionConsult(@ApiParam(value = "转为意向客户请求参数", required = true) @RequestParam Long elderId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return consultService.intentionConsult(elderId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/ConsumeController.java b/server/src/main/java/com/ew/gerocomium/controller/ConsumeController.java new file mode 100644 index 0000000..f5f3f22 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/ConsumeController.java @@ -0,0 +1,33 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.PageConsumeByKeyQuery; +import com.ew.gerocomium.dao.query.PageDepositRechargeByKeyQuery; +import com.ew.gerocomium.service.ConsumeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags = "消费记录") +@RestController +@RequestMapping("/consume") +@PreAuthorize("@AuthorityAssert.hasAuthority('/fee/record')") +public class ConsumeController { + @Resource + private ConsumeService consumeService; + + @GetMapping("/pageConsumeByKey") + @ApiOperation(value = "分页查询消费记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageConsumeByKey(@ApiParam(value = "分页查询消费记录请求实体", required = true) PageConsumeByKeyQuery pageConsumeByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return consumeService.pageConsumeByKey(pageConsumeByKeyQuery); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/DepositRechargeController.java b/server/src/main/java/com/ew/gerocomium/controller/DepositRechargeController.java new file mode 100644 index 0000000..507febc --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/DepositRechargeController.java @@ -0,0 +1,46 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.PageCheckContractByKeyQuery; +import com.ew.gerocomium.dao.query.PageDepositRechargeByKeyQuery; +import com.ew.gerocomium.dao.query.PageSearchElderByKeyQuery; +import com.ew.gerocomium.dao.query.RechargeQuery; +import com.ew.gerocomium.service.DepositRechargeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "预存充值") +@RestController +@RequestMapping("/depositRecharge") +@PreAuthorize("@AuthorityAssert.hasAuthority('/fee/pay')") +public class DepositRechargeController { + @Resource + private DepositRechargeService depositRechargeService; + + @GetMapping("/pageDepositRechargeByKey") + @ApiOperation(value = "分页查询预存充值", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageDepositRechargeByKey(@ApiParam(value = "分页查询预存充值请求实体", required = true) PageDepositRechargeByKeyQuery pageDepositRechargeByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return depositRechargeService.pageDepositRechargeByKey(pageDepositRechargeByKeyQuery); + } + + @GetMapping("/pageSearchElderByKey") + @ApiOperation(value = "分页搜索老人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchElderByKey(@ApiParam(value = "分页搜索老人请求实体", required = true) PageSearchElderByKeyQuery pageSearchElderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return depositRechargeService.pageSearchElderByKey(pageSearchElderByKeyQuery); + } + + @PutMapping("/recharge") + @ApiOperation(value = "入住老人账户充值", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result recharge(@ApiParam(value = "入住老人账户充值请求实体", required = true) @RequestBody RechargeQuery rechargeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return depositRechargeService.recharge(rechargeQuery); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/DishesController.java b/server/src/main/java/com/ew/gerocomium/controller/DishesController.java new file mode 100644 index 0000000..a5f8f17 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/DishesController.java @@ -0,0 +1,94 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.OperateDishesQuery; +import com.ew.gerocomium.dao.query.OperateDishesTypeQuery; +import com.ew.gerocomium.dao.query.PageDishesByKeyQuery; +import com.ew.gerocomium.service.DishesService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "菜品管理") +@RestController +@RequestMapping("/dishes") +@PreAuthorize("@AuthorityAssert.hasAuthority('/food/dish')") +public class DishesController { + @Resource + private DishesService dishesService; + + @GetMapping("/listDishesType") + @ApiOperation(value = "获取菜品分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listDishesType(@ApiParam(value = "获取菜品分类请求参数", required = false) String dishesTypeName, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.listDishesType(dishesTypeName); + } + + @GetMapping("/pageDishesByKey") + @ApiOperation(value = "分页查询菜品", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageDishesByKey(@ApiParam(value = "分页查询菜品请求实体", required = true) PageDishesByKeyQuery pageDishesByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.pageDishesByKey(pageDishesByKeyQuery); + } + + @PostMapping("/addDishesType") + @ApiOperation(value = "新增菜品分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addDishesType(@ApiParam(value = "新增菜品分类请求实体", required = true) @RequestBody OperateDishesTypeQuery operateDishesTypeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.addDishesType(operateDishesTypeQuery); + } + + @GetMapping("/getDishesTypeById") + @ApiOperation(value = "根据编号查询菜品分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getDishesTypeById(@ApiParam(value = "根据编号查询菜品分类请求参数", required = true) @RequestParam Long dishesTypeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.getDishesTypeById(dishesTypeId); + } + + @PutMapping("/editDishesType") + @ApiOperation(value = "编辑菜品分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editDishesType(@ApiParam(value = "编辑菜品分类请求实体", required = true) @RequestBody OperateDishesTypeQuery operateDishesTypeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.editDishesType(operateDishesTypeQuery); + } + + @DeleteMapping("/deleteDishesType") + @ApiOperation(value = "删除菜品分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteDishesType(@ApiParam(value = "删除菜品分类请求参数", required = true) @RequestParam Long dishesTypeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.deleteDishesType(dishesTypeId); + } + + @PostMapping("/addDishes") + @ApiOperation(value = "新增菜品", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addDishes(@ApiParam(value = "新增菜品请求实体", required = true) @RequestBody OperateDishesQuery operateDishesQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.addDishes(operateDishesQuery); + } + + @GetMapping("/getDishesById") + @ApiOperation(value = "根据编号查询菜品", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getDishesById(@ApiParam(value = "根据编号查询菜品请求参数", required = true) @RequestParam Long dishesId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.getDishesById(dishesId); + } + + @PutMapping("/editDishes") + @ApiOperation(value = "编辑菜品", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editDishes(@ApiParam(value = "编辑菜品请求实体", required = true) @RequestBody OperateDishesQuery operateDishesQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.editDishes(operateDishesQuery); + } + + @DeleteMapping("/deleteDishes") + @ApiOperation(value = "删除菜品", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteDishes(@ApiParam(value = "删除菜品请求参数", required = true) @RequestParam Long dishesId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.deleteDishes(dishesId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/ElderRecordController.java b/server/src/main/java/com/ew/gerocomium/controller/ElderRecordController.java new file mode 100644 index 0000000..facb0f0 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/ElderRecordController.java @@ -0,0 +1,71 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.OperateIntentionQuery; +import com.ew.gerocomium.dao.query.PageElderByKeyQuery; +import com.ew.gerocomium.service.CheckContractService; +import com.ew.gerocomium.service.ElderRecordService; +import com.ew.gerocomium.service.IntentionService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.io.IOException; + +@Api(tags = "长者档案") +@RestController +@RequestMapping("/elderRecord") +@PreAuthorize("@AuthorityAssert.hasAuthority('/people/old')") +public class ElderRecordController { + @Resource + private ElderRecordService elderRecordService; + @Resource + private IntentionService intentionService; + @Resource + private CheckContractService checkContractService; + + @GetMapping("/exportExcel") + @ApiOperation(value = "导出excel", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result exportExcel(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) throws IOException { + return elderRecordService.exportExcel(); + } + + @GetMapping("/pageElderByKey") + @ApiOperation(value = "分页查询长者", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageElderByKey(@ApiParam(value = "分页查询长者请求实体", required = true) PageElderByKeyQuery pageElderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return elderRecordService.pageElderByKey(pageElderByKeyQuery); + } + + @GetMapping("/getElderRecordById") + @ApiOperation(value = "根据编号获取长者档案", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getElderRecordById(@ApiParam(value = "根据编号获取长者档案请求参数", required = true) @RequestParam Long elderId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return elderRecordService.getElderRecordById(elderId); + } + + @GetMapping("/getElderById") + @ApiOperation(value = "根据编号获取长者信息", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getElderById(@ApiParam(value = "根据编号获取长者信息请求参数", required = true) @RequestParam Long elderId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.getIntentById(elderId); + } + + @PutMapping("/editElder") + @ApiOperation(value = "编辑长者", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editElder(@ApiParam(value = "编辑长者请求实体", required = true) @RequestBody OperateIntentionQuery operateIntentionQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.editIntention(operateIntentionQuery); + } + + @DeleteMapping("/deleteElder") + @ApiOperation(value = "删除长者", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteCheckContract(@ApiParam(value = "删除长者请求参数", required = true) @RequestParam Long elderId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return checkContractService.deleteCheckContract(elderId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/FileController.java b/server/src/main/java/com/ew/gerocomium/controller/FileController.java new file mode 100644 index 0000000..453fb41 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/FileController.java @@ -0,0 +1,32 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.service.FileService; +import io.swagger.annotations.*; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; + +@Api(tags = "文件上传") +@RestController +@RequestMapping("/file") +public class FileController { + @Resource + private FileService fileService; + + @PostMapping("/uploadImg") + @ApiOperation(value = "单文件上传-图片", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result uploadImg(@ApiParam(value = "图片文件", required = true) @RequestBody MultipartFile file, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return fileService.save(file, Constant.STR_UPLOAD_IMG); + } + + @PostMapping("/uploadFile") + @ApiOperation(value = "单文件上传-附件", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result uploadFile(@ApiParam(value = "附件文件", required = true) @RequestBody MultipartFile file, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return fileService.save(file, Constant.STR_UPLOAD_FILE); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/HomeController.java b/server/src/main/java/com/ew/gerocomium/controller/HomeController.java new file mode 100644 index 0000000..20bb4d2 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/HomeController.java @@ -0,0 +1,57 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.ClientSourceQuery; +import com.ew.gerocomium.service.HomeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "首页") +@RestController +@RequestMapping("/home") +public class HomeController { + @Resource + private HomeService homeService; + + @GetMapping("/todayOverview") + @ApiOperation(value = "今日概览", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result todayOverview(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return homeService.todayOverview(); + } + + @GetMapping("/availableBed") + @ApiOperation(value = "可售床位", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result availableBed(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return homeService.availableBed(); + } + + @GetMapping("/todaySaleFollow") + @ApiOperation(value = "今日销售跟进", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result todaySaleFollow(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return homeService.todaySaleFollow(); + } + + @GetMapping("/monthPerformanceRank") + @ApiOperation(value = "本月业绩排行", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result monthPerformanceRank(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return homeService.monthPerformanceRank(); + } + + @GetMapping("/clientSource") + @ApiOperation(value = "客户来源渠道", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result clientSource(@ApiParam(value = "接口访问请求头", required = true) ClientSourceQuery clientSourceQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return homeService.clientSource(clientSourceQuery); + } + + @GetMapping("/businessTrend") + @ApiOperation(value = "业务趋势", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result businessTrend(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return homeService.businessTrend(); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/IntentionController.java b/server/src/main/java/com/ew/gerocomium/controller/IntentionController.java new file mode 100644 index 0000000..6b62b5f --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/IntentionController.java @@ -0,0 +1,140 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.IntentionService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "意向客户") +@RestController +@RequestMapping("/intention") +@PreAuthorize("@AuthorityAssert.hasAuthority('/soles/intention')") +public class IntentionController { + @Resource + private IntentionService intentionService; + + @GetMapping("/listLabel") + @ApiOperation(value = "客户标签", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listLabel(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.listLabel(); + } + + @GetMapping("/pageIntentionByKey") + @ApiOperation(value = "分页查询意向客户", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageIntentionByKey(@ApiParam(value = "分页查询意向客户请求实体", required = true) PageIntentionByKeyQuery pageIntentionByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.pageIntentionByKey(pageIntentionByKeyQuery); + } + + @GetMapping("/pageSearchElderByKey") + @ApiOperation(value = "分页搜索老人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchElderByKey(@ApiParam(value = "分页搜索老人请求实体", required = true) PageSearchElderByKeyQuery pageSearchElderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.pageSearchElderByKey(pageSearchElderByKeyQuery); + } + + @PostMapping("/addIntention") + @ApiOperation(value = "新增意向客户", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addIntention(@ApiParam(value = "新增意向客户请求实体", required = true) @RequestBody OperateIntentionQuery operateIntentionQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.addIntention(operateIntentionQuery); + } + + @GetMapping("/getIntentById") + @ApiOperation(value = "根据编号获取意向客户", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getIntentById(@ApiParam(value = "根据编号获取意向客户请求参数", required = true) @RequestParam Long elderId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.getIntentById(elderId); + } + + @GetMapping("/getElderLabelById") + @ApiOperation(value = "根据编号获取意向客户标签", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getElderLabelById(@ApiParam(value = "根据编号获取意向客户标签请求参数", required = true) @RequestParam Long elderId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.getElderLabelById(elderId); + } + + @PutMapping("/editIntention") + @ApiOperation(value = "编辑意向客户", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editIntention(@ApiParam(value = "编辑意向客户请求实体", required = true) @RequestBody OperateIntentionQuery operateIntentionQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.editIntention(operateIntentionQuery); + } + + @GetMapping("/getEditElderLabelById") + @ApiOperation(value = "根据编号获取编辑意向客户标签", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getEditElderLabelById(@ApiParam(value = "根据编号获取编辑意向客户标签请求参数", required = true) @RequestParam Long elderId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.getEditElderLabelById(elderId); + } + + @PutMapping("/editElderLabel") + @ApiOperation(value = "编辑老人标签", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editElderLabel(@ApiParam(value = "编辑老人标签请求实体", required = true) @RequestBody EditElderLabelQuery editElderLabelQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.editElderLabel(editElderLabelQuery); + } + + @GetMapping("/pageVisitPlan") + @ApiOperation(value = "分页查询回访计划", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageVisitPlan(@ApiParam(value = "分页查询回访计划请求实体", required = true) PageVisitPlanQuery pageVisitPlanQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.pageVisitPlan(pageVisitPlanQuery); + } + + @PostMapping("/addVisitPlan") + @ApiOperation(value = "新增回访计划", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addVisitPlan(@ApiParam(value = "新增回访计划请求实体", required = true) @RequestBody AddVisitPlanQuery addVisitPlanQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.addVisitPlan(addVisitPlanQuery); + } + + @PutMapping("/executeVisitPlan") + @ApiOperation(value = "执行回访计划", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result executeVisitPlan(@ApiParam(value = "执行回访计划请求实体", required = true) @RequestBody CompleteVisitPlanQuery completeVisitPlanQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.executeVisitPlan(completeVisitPlanQuery); + } + + @DeleteMapping("/deleteVisitPlan") + @ApiOperation(value = "删除回访计划", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteVisitPlan(@ApiParam(value = "删除回访计划请求参数", required = true) @RequestParam Long visitPlanId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.deleteVisitPlan(visitPlanId); + } + + @GetMapping("/pageCommunicationRecord") + @ApiOperation(value = "分页查询沟通记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageCommunicationRecord(@ApiParam(value = "分页查询沟通记录请求实体", required = true) PageCommunicationRecordQuery pageCommunicationRecordQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.pageCommunicationRecord(pageCommunicationRecordQuery); + } + + @PostMapping("/addCommunicationRecord") + @ApiOperation(value = "新增沟通记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addCommunicationRecord(@ApiParam(value = "新增沟通记录请求实体", required = true) @RequestBody AddCommunicationRecordQuery addCommunicationRecordQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.addCommunicationRecord(addCommunicationRecordQuery); + } + + @PutMapping("/editCommunicationRecord") + @ApiOperation(value = "编辑沟通记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editCommunicationRecord(@ApiParam(value = "编辑沟通记录请求实体", required = true) @RequestBody EditCommunicationRecordQuery editCommunicationRecordQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.editCommunicationRecord(editCommunicationRecordQuery); + } + + @DeleteMapping("/deleteCommunicationRecord") + @ApiOperation(value = "删除沟通记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteCommunicationRecord(@ApiParam(value = "删除沟通记录请求参数", required = true) @RequestParam Long communicationRecordId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return intentionService.deleteCommunicationRecord(communicationRecordId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/InventoryController.java b/server/src/main/java/com/ew/gerocomium/controller/InventoryController.java new file mode 100644 index 0000000..39f6efe --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/InventoryController.java @@ -0,0 +1,41 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.PageInventoryByKeyQuery; +import com.ew.gerocomium.service.InventoryService; +import com.ew.gerocomium.service.WarehouseRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags = "库存查询") +@RestController +@RequestMapping("/inventory") +@PreAuthorize("@AuthorityAssert.hasAuthority('/resource/search')") +public class InventoryController { + @Resource + private InventoryService inventoryService; + @Resource + private WarehouseRecordService warehouseRecordService; + + @GetMapping("/listWarehouse") + @ApiOperation(value = "获取仓库列表", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listWarehouse(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseRecordService.listWarehouse(); + } + + @GetMapping("/pageInventoryByKey") + @ApiOperation(value = "分页查询库存", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageInventoryByKey(@ApiParam(value = "分页查询库存请求实体", required = true) PageInventoryByKeyQuery pageInventoryByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return inventoryService.pageInventoryByKey(pageInventoryByKeyQuery); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/LabelController.java b/server/src/main/java/com/ew/gerocomium/controller/LabelController.java new file mode 100644 index 0000000..ca32e89 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/LabelController.java @@ -0,0 +1,85 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.OperateLabelQuery; +import com.ew.gerocomium.dao.query.OperateLabelTypeQuery; +import com.ew.gerocomium.service.LabelService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "客户标签") +@RestController +@RequestMapping("/label") +@PreAuthorize("@AuthorityAssert.hasAuthority('/base/marketing/tag')") +public class LabelController { + @Resource + private LabelService labelService; + + @GetMapping("/listLabel") + @ApiOperation(value = "获取客户标签列表", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listLabel(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return labelService.listLabel(); + } + + @PostMapping("/addLabelType") + @ApiOperation(value = "新增标签分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addLabelType(@ApiParam(value = "新增标签分类请求实体", required = true) @RequestBody OperateLabelTypeQuery operateLabelTypeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return labelService.addLabelType(operateLabelTypeQuery); + } + + @GetMapping("/getLabelTypeById") + @ApiOperation(value = "根据编号获取标签分类信息", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getLabelTypeById(@ApiParam(value = "根据编号获取标签分类信息请求参数", required = true) @RequestParam Long typeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return labelService.getLabelTypeById(typeId); + } + + @PutMapping("/editLabelType") + @ApiOperation(value = "编辑标签分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editLabelType(@ApiParam(value = "编辑标签分类请求实体", required = true) @RequestBody OperateLabelTypeQuery operateLabelTypeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return labelService.editLabelType(operateLabelTypeQuery); + } + + @DeleteMapping("/deleteLabelType") + @ApiOperation(value = "删除标签分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteLabelType(@ApiParam(value = "删除标签分类请求参数", required = true) @RequestParam Long typeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return labelService.deleteLabelType(typeId); + } + + @PostMapping("/addLabel") + @ApiOperation(value = "新增标签", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addLabel(@ApiParam(value = "新增标签请求实体", required = true) @RequestBody OperateLabelQuery operateLabelQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return labelService.addLabel(operateLabelQuery); + } + + @GetMapping("/getLabelById") + @ApiOperation(value = "根据编号获取标签信息", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getLabelById(@ApiParam(value = "根据编号获取标签信息请求参数", required = true) @RequestParam Long labelId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return labelService.getLabelById(labelId); + } + + @PutMapping("/editLabel") + @ApiOperation(value = "编辑标签", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editLabel(@ApiParam(value = "编辑标签请求实体", required = true) @RequestBody OperateLabelQuery operateLabelQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return labelService.editLabel(operateLabelQuery); + } + + @DeleteMapping("/deleteLabel") + @ApiOperation(value = "删除标签", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteLabel(@ApiParam(value = "删除标签请求参数", required = true) @RequestParam Long labelId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return labelService.deleteLabel(labelId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/MaterialController.java b/server/src/main/java/com/ew/gerocomium/controller/MaterialController.java new file mode 100644 index 0000000..128515f --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/MaterialController.java @@ -0,0 +1,92 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.MaterialService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "物资信息") +@RestController +@RequestMapping("/material") +@PreAuthorize("@AuthorityAssert.hasAuthority('/resource/info')") +public class MaterialController { + @Resource + private MaterialService materialService; + + @GetMapping("/getMaterialType") + @ApiOperation(value = "获取物资分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getMaterialType(@ApiParam(value = "获取物资分类请求参数", required = false) String materialTypeName, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return materialService.getMaterialType(materialTypeName); + } + + @GetMapping("/pageMaterialByKey") + @ApiOperation(value = "分页查询物资", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageMaterialByKey(@ApiParam(value = "分页查询物资请求实体", required = true) PageMaterialByKeyQuery pageMaterialByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return materialService.pageMaterialByKey(pageMaterialByKeyQuery); + } + + @PostMapping("/addMaterialType") + @ApiOperation(value = "新增物资分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addMaterialType(@ApiParam(value = "新增物资分类请求实体", required = true) @RequestBody OperateMaterialTypeQuery operateMaterialTypeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return materialService.addMaterialType(operateMaterialTypeQuery); + } + + @GetMapping("/getMaterialTypeById") + @ApiOperation(value = "根据编号查询物资分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getMaterialTypeById(@ApiParam(value = "根据编号查询物资分类请求参数", required = true) @RequestParam Long materialTypeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return materialService.getMaterialTypeById(materialTypeId); + } + + @PutMapping("/editMaterialType") + @ApiOperation(value = "编辑物资分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editMaterialType(@ApiParam(value = "编辑物资分类请求实体", required = true) @RequestBody OperateMaterialTypeQuery operateMaterialTypeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return materialService.editMaterialType(operateMaterialTypeQuery); + } + + @DeleteMapping("/deleteMaterialType") + @ApiOperation(value = "删除物资分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteMaterialType(@ApiParam(value = "删除物资分类请求参数", required = true) @RequestParam Long materialTypeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return materialService.deleteMaterialType(materialTypeId); + } + + @PostMapping("/addMaterial") + @ApiOperation(value = "新增物资", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addMaterial(@ApiParam(value = "新增物资请求实体", required = true) @RequestBody OperateMaterialQuery operateMaterialQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return materialService.addMaterial(operateMaterialQuery); + } + + @GetMapping("/getMaterialById") + @ApiOperation(value = "根据编号查询物资", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getMaterialById(@ApiParam(value = "根据编号查询物资请求参数", required = true) @RequestParam Long materialId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return materialService.getMaterialById(materialId); + } + + @PutMapping("/editMaterial") + @ApiOperation(value = "编辑物资", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editMaterial(@ApiParam(value = "编辑物资请求实体", required = true) @RequestBody OperateMaterialQuery operateMaterialQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return materialService.editMaterial(operateMaterialQuery); + } + + @DeleteMapping("/deleteMaterial") + @ApiOperation(value = "删除物资", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteMaterial(@ApiParam(value = "删除物资请求参数", required = true) @RequestParam Long materialId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return materialService.deleteMaterial(materialId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/NurseGradeController.java b/server/src/main/java/com/ew/gerocomium/controller/NurseGradeController.java new file mode 100644 index 0000000..d5caafd --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/NurseGradeController.java @@ -0,0 +1,73 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.NurseGradeService; +import com.ew.gerocomium.service.ServiceProjectService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "护理等级") +@RestController +@RequestMapping("/nurseGrade") +@PreAuthorize("@AuthorityAssert.hasAuthority('/service/level')") +public class NurseGradeController { + @Resource + private NurseGradeService nurseGradeService; + @Resource + private ServiceProjectService serviceProjectService; + + @GetMapping("/pageNurseGradeByKey") + @ApiOperation(value = "分页查询护理等级", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageNurseGradeByKey(@ApiParam(value = "分页查询护理等级请求实体", required = true) PageNurseGradeByKeyQuery pageNurseGradeByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseGradeService.pageNurseGradeByKey(pageNurseGradeByKeyQuery); + } + + @GetMapping("/listServiceType") + @ApiOperation(value = "获取服务类型", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listServiceType(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return serviceProjectService.listServiceType(null); + } + + @GetMapping("/pageServiceByKey") + @ApiOperation(value = "分页查询服务", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageServiceByKey(@ApiParam(value = "分页查询服务请求实体", required = true) PageServiceByKeyQuery pageServiceByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseGradeService.pageServiceByKey(pageServiceByKeyQuery); + } + + @PostMapping("/addNurseGrade") + @ApiOperation(value = "新增护理等级", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addNurseGrade(@ApiParam(value = "新增护理等级请求实体", required = true) @RequestBody OperateNurseGradeQuery operateNurseGradeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseGradeService.addNurseGrade(operateNurseGradeQuery); + } + + @GetMapping("/getNurseGradeById") + @ApiOperation(value = "根据编号查询护理等级", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getNurseGradeById(@ApiParam(value = "根据编号查询护理等级请求参数", required = true) @RequestParam Long nurseGradeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseGradeService.getNurseGradeById(nurseGradeId); + } + + @PutMapping("/editNurseGrade") + @ApiOperation(value = "编辑护理等级", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editNurseGrade(@ApiParam(value = "编辑护理等级请求实体", required = true) @RequestBody OperateNurseGradeQuery operateNurseGradeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseGradeService.editNurseGrade(operateNurseGradeQuery); + } + + @DeleteMapping("/deleteNurseGrade") + @ApiOperation(value = "删除护理等级", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteNurseGrade(@ApiParam(value = "删除护理等级请求参数", required = true) @RequestParam Long nurseGradeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseGradeService.deleteNurseGrade(nurseGradeId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/NurseReserveController.java b/server/src/main/java/com/ew/gerocomium/controller/NurseReserveController.java new file mode 100644 index 0000000..ae2800b --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/NurseReserveController.java @@ -0,0 +1,75 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.DepositRechargeService; +import com.ew.gerocomium.service.NurseReserveService; +import com.ew.gerocomium.service.ServiceProjectService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "服务预定") +@RestController +@RequestMapping("/nurseReserve") +@PreAuthorize("@AuthorityAssert.hasAuthority('/service/book')") +public class NurseReserveController { + @Resource + private NurseReserveService nurseReserveService; + @Resource + private DepositRechargeService depositRechargeService; + @Resource + private ServiceProjectService serviceProjectService; + + @GetMapping("/pageNurseReserveByKey") + @ApiOperation(value = "分页查询护理预定", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageNurseReserveByKey(@ApiParam(value = "分页查询护理预定请求实体", required = true) PageNurseReserveByKeyQuery PageNurseReserveByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseReserveService.pageNurseReserveByKey(PageNurseReserveByKeyQuery); + } + + @GetMapping("/pageSearchElderByKey") + @ApiOperation(value = "分页搜索老人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchElderByKey(@ApiParam(value = "分页搜索老人请求实体", required = true) PageSearchElderByKeyQuery pageSearchElderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return depositRechargeService.pageSearchElderByKey(pageSearchElderByKeyQuery); + } + + @GetMapping("/listService") + @ApiOperation(value = "获取服务项目", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listService(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseReserveService.listService(); + } + + @GetMapping("/getServiceById") + @ApiOperation(value = "根据编号查询服务", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getServiceById(@ApiParam(value = "根据编号查询服务请求参数", required = true) @RequestParam Long serviceId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return serviceProjectService.getServiceById(serviceId); + } + + @PostMapping("/addNurseReserve") + @ApiOperation(value = "新增护理预定", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addNurseReserve(@ApiParam(value = "新增护理预定请求实体", required = true) @RequestBody AddNurseReserveQuery addNurseReserveQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseReserveService.addNurseReserve(addNurseReserveQuery); + } + + @GetMapping("/listNurseStaff") + @ApiOperation(value = "护理人员", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listNurseStaff(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseReserveService.listNurseStaff(); + } + + @PutMapping("/executeNurseReserve") + @ApiOperation(value = "执行护理预定", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result executeNurseReserve(@ApiParam(value = "执行护理预定请求实体", required = true) @RequestBody ExecuteNurseReserveQuery executeNurseReserve, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseReserveService.executeNurseReserve(executeNurseReserve); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/OrderController.java b/server/src/main/java/com/ew/gerocomium/controller/OrderController.java new file mode 100644 index 0000000..cd6fcce --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/OrderController.java @@ -0,0 +1,86 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.DepositRechargeService; +import com.ew.gerocomium.service.DishesService; +import com.ew.gerocomium.service.NurseReserveService; +import com.ew.gerocomium.service.OrderService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "点餐") +@RestController +@RequestMapping("/order") +@PreAuthorize("@AuthorityAssert.hasAuthority('/food/order')") +public class OrderController { + @Resource + private OrderService orderService; + @Resource + private DepositRechargeService depositRechargeService; + @Resource + private DishesService dishesService; + @Resource + private NurseReserveService nurseReserveService; + + @GetMapping("/pageOrderByKey") + @ApiOperation(value = "分页查询点餐", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageOrderByKey(@ApiParam(value = "分页查询点餐请求实体", required = true) PageOrderByKeyQuery pageOrderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return orderService.pageOrderByKey(pageOrderByKeyQuery); + } + + @GetMapping("/pageSearchElderByKey") + @ApiOperation(value = "分页搜索老人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchElderByKey(@ApiParam(value = "分页搜索老人请求实体", required = true) PageSearchElderByKeyQuery pageSearchElderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return depositRechargeService.pageSearchElderByKey(pageSearchElderByKeyQuery); + } + + @GetMapping("/listDishesType") + @ApiOperation(value = "获取菜品分类", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listDishesType(@ApiParam(value = "获取菜品分类请求参数", required = false) String dishesTypeName, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.listDishesType(dishesTypeName); + } + + @GetMapping("/pageDishesByKey") + @ApiOperation(value = "分页查询菜品", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageDishesByKey(@ApiParam(value = "分页查询菜品请求实体", required = true) PageDishesByKeyQuery pageDishesByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return dishesService.pageDishesByKey(pageDishesByKeyQuery); + } + + @PostMapping("/addOrder") + @ApiOperation(value = "新增点餐", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addOrder(@ApiParam(value = "新增点餐请求实体", required = true) @RequestBody AddOrderQuery addOrderQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return orderService.addOrder(addOrderQuery); + } + + @GetMapping("/getOrderById") + @ApiOperation(value = "根据编号获取点餐", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getOrderById(@ApiParam(value = "根据编号获取点餐请求参数", required = true) @RequestParam Long orderId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return orderService.getOrderById(orderId); + } + + @GetMapping("/listNurseStaff") + @ApiOperation(value = "护理人员", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listNurseStaff(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return nurseReserveService.listNurseStaff(); + } + + @PutMapping("/sendOrder") + @ApiOperation(value = "送餐", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result sendOrder(@ApiParam(value = "送餐请求实体", required = true) @RequestBody SendOrderQuery sendOrderQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return orderService.sendOrder(sendOrderQuery); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/OutboundRecordController.java b/server/src/main/java/com/ew/gerocomium/controller/OutboundRecordController.java new file mode 100644 index 0000000..b36f1ed --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/OutboundRecordController.java @@ -0,0 +1,99 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.DepositRechargeService; +import com.ew.gerocomium.service.OutboundRecordService; +import com.ew.gerocomium.service.WarehouseRecordService; +import com.ew.gerocomium.service.WarehouseService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "出库管理") +@RestController +@RequestMapping("/outboundRecord") +@PreAuthorize("@AuthorityAssert.hasAuthority('/resource/leave')") +public class OutboundRecordController { + @Resource + private OutboundRecordService outboundRecordService; + @Resource + private DepositRechargeService depositRechargeService; + @Resource + private WarehouseService warehouseService; + @Resource + private WarehouseRecordService warehouseRecordService; + + @GetMapping("/pageOutboundRecordByKey") + @ApiOperation(value = "分页查询出库记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageOutboundRecordByKey(@ApiParam(value = "分页查询出库记录请求实体", required = true) PageOutboundRecordByKeyQuery pageOutboundRecordByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outboundRecordService.pageOutboundRecordByKey(pageOutboundRecordByKeyQuery); + } + + @GetMapping("/pageSearchElderByKey") + @ApiOperation(value = "分页搜索老人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchElderByKey(@ApiParam(value = "分页搜索老人请求实体", required = true) PageSearchElderByKeyQuery pageSearchElderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return depositRechargeService.pageSearchElderByKey(pageSearchElderByKeyQuery); + } + + @GetMapping("/pageSearchStaffByKey") + @ApiOperation(value = "分页搜索员工", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchStaffByKey(@ApiParam(value = "分页搜索员工请求实体", required = true) PageSearchStaffByKeyQuery pageSearchStaffByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outboundRecordService.pageSearchStaffByKey(pageSearchStaffByKeyQuery); + } + + @GetMapping("/listWarehouse") + @ApiOperation(value = "获取仓库列表", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listWarehouse(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseRecordService.listWarehouse(); + } + + @GetMapping("/listWarehouseStaff") + @ApiOperation(value = "获取登记人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listWarehouseStaff(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseService.listWarehouseStaff(); + } + + @GetMapping("/pageWarehouseMaterialByKey") + @ApiOperation(value = "分页查询仓库物资", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageWarehouseMaterialByKey(@ApiParam(value = "分页查询仓库物资请求实体", required = true) PageWarehouseMaterialByKeyQuery pageWarehouseMaterialByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outboundRecordService.pageWarehouseMaterialByKey(pageWarehouseMaterialByKeyQuery); + } + + @PostMapping("/addOutboundRecord") + @ApiOperation(value = "新增出库记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addOutboundRecord(@ApiParam(value = "新增出库记录请求实体", required = true) @RequestBody AddOutboundRecordQuery addOutboundRecordQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outboundRecordService.addOutboundRecord(addOutboundRecordQuery); + } + + @GetMapping("/getOutboundRecordById") + @ApiOperation(value = "根据编号查询出库记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getOutboundRecordById(@ApiParam(value = "根据编号查询出库记录请求参数", required = true) @RequestParam Long outboundRecordId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outboundRecordService.getOutboundRecordById(outboundRecordId); + } + + @PutMapping("/auditOutboundRecord") + @ApiOperation(value = "审核出库记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result auditOutboundRecord(@ApiParam(value = "审核出库记录请求实体", required = true) @RequestBody AuditOutboundRecordQuery auditOutboundRecordQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outboundRecordService.auditOutboundRecord(auditOutboundRecordQuery); + } + + @DeleteMapping("/deleteOutboundRecord") + @ApiOperation(value = "删除出库记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteOutboundRecord(@ApiParam(value = "删除出库记录请求参数", required = true) @RequestParam Long outboundRecordId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outboundRecordService.deleteOutboundRecord(outboundRecordId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/OutwardController.java b/server/src/main/java/com/ew/gerocomium/controller/OutwardController.java new file mode 100644 index 0000000..c95f2bb --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/OutwardController.java @@ -0,0 +1,99 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.OutwardService; +import com.ew.gerocomium.service.RetreatApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "外出登记") +@RestController +@RequestMapping("/outward") +@PreAuthorize("@AuthorityAssert.hasAuthority('/check-in/leave')") +public class OutwardController { + @Resource + private OutwardService outwardService; + + @GetMapping("/pageOutwardByKey") + @ApiOperation(value = "分页查询外出登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageOutwardByKey(@ApiParam(value = "分页查询外出登记请求实体", required = true) PageOutwardByKeyQuery pageOutwardByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outwardService.pageOutwardByKey(pageOutwardByKeyQuery); + } + + @GetMapping("/pageSearchElderByKey") + @ApiOperation(value = "分页搜索老人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchElderByKey(@ApiParam(value = "分页搜索老人请求实体", required = true) PageSearchElderByKeyQuery pageSearchElderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outwardService.pageSearchElderByKey(pageSearchElderByKeyQuery); + } + + @GetMapping("/pageSearchStaffByKey") + @ApiOperation(value = "分页搜索护工", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchStaffByKey(@ApiParam(value = "分页搜索护工请求实体", required = true) PageSearchStaffByKeyQuery pageSearchStaffByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outwardService.pageSearchStaffByKey(pageSearchStaffByKeyQuery); + } + + @GetMapping("/listOutwardStaff") + @ApiOperation(value = "获取护工列表", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listOutwardStaff(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outwardService.listOutwardStaff(); + } + + @GetMapping("/pageEmergencyContact") + @ApiOperation(value = "分页获取紧急联系人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageEmergencyContact(@ApiParam(value = "分页获取紧急联系人请求实体", required = true) PageSearchEmergencyContactQuery pageSearchEmergencyContactQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outwardService.pageEmergencyContact(pageSearchEmergencyContactQuery); + } + + @GetMapping("/listContactByElderId") + @ApiOperation(value = "获取紧急联系人列表", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listContact(@ApiParam(value = "根据编号获取外出登记请求参数", required = true) @RequestParam Long elderId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outwardService.listContactByElderId(elderId); + } + + @PostMapping("/addOutward") + @ApiOperation(value = "新增外出登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addOutward(@ApiParam(value = "新增外出登记请求实体", required = true) @RequestBody AddOutwardQuery addOutwardQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outwardService.addOutward(addOutwardQuery); + } + + @GetMapping("/getOutwardById") + @ApiOperation(value = "根据编号获取外出登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getOutwardById(@ApiParam(value = "根据编号获取外出登记请求参数", required = true) @RequestParam Long outwardId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outwardService.getOutwardById(outwardId); + } + + @PutMapping("/delayReturn") + @ApiOperation(value = "延期返回", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result delayReturn(@ApiParam(value = "延期返回请求实体", required = true) @RequestBody DelayReturnQuery delayReturnQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outwardService.delayReturn(delayReturnQuery); + } + + @PutMapping("/recordReturn") + @ApiOperation(value = "登记返回", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result recordReturn(@ApiParam(value = "登记返回请求实体", required = true) @RequestBody RecordReturnQuery recordReturnQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outwardService.recordReturn(recordReturnQuery); + } + + @DeleteMapping("/deleteOutward") + @ApiOperation(value = "删除外出登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteOutward(@ApiParam(value = "删除外出登记请求参数", required = true) @RequestParam Long outwardId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return outwardService.deleteOutward(outwardId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/ReserveController.java b/server/src/main/java/com/ew/gerocomium/controller/ReserveController.java new file mode 100644 index 0000000..4da77d7 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/ReserveController.java @@ -0,0 +1,72 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.ConsultService; +import com.ew.gerocomium.service.ReserveService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "预定管理") +@RestController +@RequestMapping("/reserve") +@PreAuthorize("@AuthorityAssert.hasAuthority('/soles/booking')") +public class ReserveController { + @Resource + private ReserveService reserveService; + @Resource + private ConsultService consultService; + + @GetMapping("/listReserveStaff") + @ApiOperation(value = "获取营销人员", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listReserveStaff(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return consultService.listConsultStaff(); + } + + @GetMapping("/pageReserveByKey") + @ApiOperation(value = "分页查询预定", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageReserveByKey(@ApiParam(value = "分页查询预定请求实体", required = true) PageReserveByKeyQuery pageReserveByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return reserveService.pageReserveByKey(pageReserveByKeyQuery); + } + + @GetMapping("/pageSearchElderByKey") + @ApiOperation(value = "分页搜索老人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchElderByKey(@ApiParam(value = "分页搜索老人请求实体", required = true) PageSearchElderByKeyQuery pageSearchElderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return reserveService.pageSearchElderByKey(pageSearchElderByKeyQuery); + } + + @GetMapping("/getBuildTree") + @ApiOperation(value = "获取楼栋树", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getBuildTree(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return reserveService.getBuildTree(); + } + + @PostMapping("/addReserve") + @ApiOperation(value = "新增预定", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addReserve(@ApiParam(value = "新增预定请求实体", required = true) @RequestBody AddReserveQuery addReserveQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return reserveService.addReserve(addReserveQuery); + } + + @GetMapping("/getReserveByReserveIdAndElderId") + @ApiOperation(value = "根据预定编号和老人编号获取预定信息", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getReserveByReserveIdAndElderId(@ApiParam(value = "根据预定编号和老人编号获取预定信息请求实体", required = true) GetReserveByReserveIdAndElderIdQuery getReserveByReserveIdAndElderIdQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return reserveService.getReserveByReserveIdAndElderId(getReserveByReserveIdAndElderIdQuery); + } + + @PutMapping("/refund") + @ApiOperation(value = "退款", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result refund(@ApiParam(value = "退款请求参数", required = true) @RequestBody GetReserveByReserveIdAndElderIdQuery getReserveByReserveIdAndElderIdQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return reserveService.refund(getReserveByReserveIdAndElderIdQuery.getReserveId()); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/RetreatApplyController.java b/server/src/main/java/com/ew/gerocomium/controller/RetreatApplyController.java new file mode 100644 index 0000000..5e9fb98 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/RetreatApplyController.java @@ -0,0 +1,45 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.GetReserveByReserveIdAndElderIdQuery; +import com.ew.gerocomium.dao.query.PageRetreatApplyQuery; +import com.ew.gerocomium.dao.query.PageSearchElderByKeyQuery; +import com.ew.gerocomium.service.RetreatApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "退住申请") +@RestController +@RequestMapping("/retreatApply") +@PreAuthorize("@AuthorityAssert.hasAuthority('/check-in/check-out')") +public class RetreatApplyController { + @Resource + private RetreatApplyService retreatApplyService; + + @GetMapping("/pageRetreatApplyByKey") + @ApiOperation(value = "分页查询退住申请", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageRetreatApplyByKey(@ApiParam(value = "分页查询退住申请请求实体", required = true) PageRetreatApplyQuery pageRetreatApplyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return retreatApplyService.pageRetreatApplyByKey(pageRetreatApplyQuery); + } + + @GetMapping("/pageSearchElderByKey") + @ApiOperation(value = "分页搜索老人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchElderByKey(@ApiParam(value = "分页搜索老人请求实体", required = true) PageSearchElderByKeyQuery pageSearchElderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return retreatApplyService.pageSearchElderByKey(pageSearchElderByKeyQuery); + } + + @PostMapping("/addRetreatApply") + @ApiOperation(value = "新增退住申请", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addRetreatApply(@ApiParam(value = "新增退住申请请求参数", required = true) @RequestBody GetReserveByReserveIdAndElderIdQuery getReserveByReserveIdAndElderIdQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return retreatApplyService.addRetreatApply(getReserveByReserveIdAndElderIdQuery.getElderId()); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/RetreatAuditController.java b/server/src/main/java/com/ew/gerocomium/controller/RetreatAuditController.java new file mode 100644 index 0000000..cb7a45c --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/RetreatAuditController.java @@ -0,0 +1,44 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.AuditElderFeeQuery; +import com.ew.gerocomium.dao.query.PageRetreatAuditQuery; +import com.ew.gerocomium.service.RetreatAuditService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "退住费用审核") +@RestController +@RequestMapping("/retreatAudit") +@PreAuthorize("@AuthorityAssert.hasAuthority('/fee/audit')") +public class RetreatAuditController { + @Resource + private RetreatAuditService retreatAuditService; + + @GetMapping("/pageRetreatAuditByKey") + @ApiOperation(value = "分页查询退住审核", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageRetreatAuditByKey(@ApiParam(value = "分页查询退住审核请求实体", required = true) PageRetreatAuditQuery pageRetreatAuditQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return retreatAuditService.pageRetreatAuditByKey(pageRetreatAuditQuery); + } + + @GetMapping("/getElderFeeById") + @ApiOperation(value = "根据编号获取老人费用详情", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getElderFeeById(@ApiParam(value = "根据获取老人费用详情请求参数", required = true) @RequestParam Long elderId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return retreatAuditService.getElderFeeById(elderId); + } + + @PutMapping("/auditElderFee") + @ApiOperation(value = "审核老人费用详情", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result auditElderFee(@ApiParam(value = "审核老人费用详情请求实体", required = true) @RequestBody AuditElderFeeQuery auditElderFeeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return retreatAuditService.auditElderFee(auditElderFeeQuery); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/RoomTypeController.java b/server/src/main/java/com/ew/gerocomium/controller/RoomTypeController.java new file mode 100644 index 0000000..4b32439 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/RoomTypeController.java @@ -0,0 +1,58 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.OperateRoomTypeQuery; +import com.ew.gerocomium.dao.query.PageRoomTypeByKeyQuery; +import com.ew.gerocomium.service.RoomTypeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "房间类型") +@RestController +@RequestMapping("/roomType") +@PreAuthorize("@AuthorityAssert.hasAuthority('/base/check-in/room')") +public class RoomTypeController { + @Resource + private RoomTypeService roomTypeService; + + @GetMapping("/pageRoomTypeByKey") + @ApiOperation(value = "分页查询房间类型", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageRoomTypeByKey(@ApiParam(value = "分页查询房间类型请求实体", required = true) PageRoomTypeByKeyQuery pageRoomTypeByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return roomTypeService.pageRoomTypeByKey(pageRoomTypeByKeyQuery); + } + + @PostMapping("/addRoomType") + @ApiOperation(value = "新增房间类型", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addRoomType(@ApiParam(value = "新增房间类型请求实体", required = true) @RequestBody OperateRoomTypeQuery operateRoomTypeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return roomTypeService.addRoomType(operateRoomTypeQuery); + } + + @GetMapping("/getRoomTypeById") + @ApiOperation(value = "根据编号获取房间类型", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getRoomTypeById(@ApiParam(value = "根据编号获取房间类型请求参数", required = true) @RequestParam Long roomTypeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return roomTypeService.getRoomTypeById(roomTypeId); + } + + @PutMapping("/editRoomType") + @ApiOperation(value = "编辑房间类型", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editRoomType(@ApiParam(value = "编辑房间类型请求实体", required = true) @RequestBody OperateRoomTypeQuery operateRoomTypeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return roomTypeService.editRoomType(operateRoomTypeQuery); + } + + @DeleteMapping("/deleteRoomType") + @ApiOperation(value = "删除房间类型", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteRoomType(@ApiParam(value = "删除房间类型请求参数", required = true) @RequestParam Long roomTypeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return roomTypeService.deleteRoomType(roomTypeId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/ServiceProjectController.java b/server/src/main/java/com/ew/gerocomium/controller/ServiceProjectController.java new file mode 100644 index 0000000..84aafbf --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/ServiceProjectController.java @@ -0,0 +1,92 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.ServiceProjectService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "服务项目") +@RestController +@RequestMapping("/service") +@PreAuthorize("@AuthorityAssert.hasAuthority('/service/project')") +public class ServiceProjectController { + @Resource + private ServiceProjectService serviceProjectService; + + @GetMapping("/getServiceType") + @ApiOperation(value = "获取服务类型", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getServiceType(@ApiParam(value = "获取服务类型请求参数", required = false) String serviceTypeName, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return serviceProjectService.listServiceType(serviceTypeName); + } + + @GetMapping("/pageServiceByKey") + @ApiOperation(value = "分页查询服务", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageServiceByKey(@ApiParam(value = "分页查询服务请求实体", required = true) PageServiceByKeyQuery pageServiceByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return serviceProjectService.pageServiceByKey(pageServiceByKeyQuery); + } + + @PostMapping("/addServiceType") + @ApiOperation(value = "新增服务类型", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addServiceType(@ApiParam(value = "新增服务类型请求实体", required = true) @RequestBody OperateServiceTypeQuery operateServiceTypeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return serviceProjectService.addServiceType(operateServiceTypeQuery); + } + + @GetMapping("/getServiceTypeById") + @ApiOperation(value = "根据编号查询服务类型", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getServiceTypeById(@ApiParam(value = "根据编号查询服务类型请求参数", required = true) @RequestParam Long serviceTypeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return serviceProjectService.getServiceTypeById(serviceTypeId); + } + + @PutMapping("/editServiceType") + @ApiOperation(value = "编辑服务类型", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editServiceType(@ApiParam(value = "编辑服务类型请求实体", required = true) @RequestBody OperateServiceTypeQuery operateServiceTypeQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return serviceProjectService.editServiceType(operateServiceTypeQuery); + } + + @DeleteMapping("/deleteServiceType") + @ApiOperation(value = "删除服务类型", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteServiceType(@ApiParam(value = "删除服务类型请求参数", required = true) @RequestParam Long serviceTypeId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return serviceProjectService.deleteServiceType(serviceTypeId); + } + + @PostMapping("/addService") + @ApiOperation(value = "新增服务", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addService(@ApiParam(value = "新增服务请求实体", required = true) @RequestBody OperateServiceQuery operateServiceQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return serviceProjectService.addService(operateServiceQuery); + } + + @GetMapping("/getServiceById") + @ApiOperation(value = "根据编号查询服务", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getServiceById(@ApiParam(value = "根据编号查询服务请求参数", required = true) @RequestParam Long serviceId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return serviceProjectService.getServiceById(serviceId); + } + + @PutMapping("/editService") + @ApiOperation(value = "编辑服务", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editService(@ApiParam(value = "编辑服务请求实体", required = true) @RequestBody OperateServiceQuery operateServiceQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return serviceProjectService.editService(operateServiceQuery); + } + + @DeleteMapping("/deleteService") + @ApiOperation(value = "删除服务", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteService(@ApiParam(value = "删除服务请求参数", required = true) @RequestParam Long serviceId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return serviceProjectService.deleteService(serviceId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/SourceController.java b/server/src/main/java/com/ew/gerocomium/controller/SourceController.java new file mode 100644 index 0000000..de64f72 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/SourceController.java @@ -0,0 +1,58 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.OperateSourceQuery; +import com.ew.gerocomium.dao.query.PageSourceByKeyQuery; +import com.ew.gerocomium.service.SourceService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "来源渠道") +@RestController +@RequestMapping("/source") +@PreAuthorize("@AuthorityAssert.hasAuthority('/base/marketing/origin')") +public class SourceController { + @Resource + private SourceService sourceService; + + @GetMapping("/pageSourceByKey") + @ApiOperation(value = "分页查询来源渠道", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSourceByKey(@ApiParam(value = "分页查询来源渠道请求实体", required = true) PageSourceByKeyQuery pageSourceByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return sourceService.pageSourceByKey(pageSourceByKeyQuery); + } + + @PostMapping("/addSource") + @ApiOperation(value = "新增来源渠道", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addSource(@ApiParam(value = "新增来源渠道请求参数", required = true) @RequestBody OperateSourceQuery operateSourceQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return sourceService.addSource(operateSourceQuery.getName()); + } + + @GetMapping("/getSourceById") + @ApiOperation(value = "根据编号获取来源渠道", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getSourceById(@ApiParam(value = "根据编号获取来源渠道请求参数", required = true) @RequestParam Long sourceId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return sourceService.getSourceById(sourceId); + } + + @PutMapping("/editSource") + @ApiOperation(value = "编辑来源渠道", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editSource(@ApiParam(value = "编辑来源渠道请求实体", required = true) @RequestBody OperateSourceQuery operateSourceQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return sourceService.editSource(operateSourceQuery); + } + + @DeleteMapping("/deleteSource") + @ApiOperation(value = "删除来源渠道", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteSource(@ApiParam(value = "删除来源渠道请求参数", required = true) @RequestParam Long sourceId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return sourceService.deleteSource(sourceId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/StaffController.java b/server/src/main/java/com/ew/gerocomium/controller/StaffController.java new file mode 100644 index 0000000..9e6aa1a --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/StaffController.java @@ -0,0 +1,65 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.OperateStaffQuery; +import com.ew.gerocomium.dao.query.PageRetreatApplyQuery; +import com.ew.gerocomium.dao.query.PageStaffByKeyQuery; +import com.ew.gerocomium.service.StaffService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "员工管理") +@RestController +@RequestMapping("/staff") +@PreAuthorize("@AuthorityAssert.hasAuthority('/people/staff')") +public class StaffController { + @Resource + private StaffService staffService; + + @GetMapping("/getRole") + @ApiOperation(value = "获取角色", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getRole(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return staffService.getRole(); + } + + @GetMapping("/pageStaffByKey") + @ApiOperation(value = "分页查询员工", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageStaffByKey(@ApiParam(value = "分页查询员工请求实体", required = true) PageStaffByKeyQuery pageStaffByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return staffService.pageStaffByKey(pageStaffByKeyQuery); + } + + @PostMapping("/addStaff") + @ApiOperation(value = "新增员工", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addStaff(@ApiParam(value = "新增员工请求实体", required = true) @RequestBody OperateStaffQuery operateStaffQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return staffService.addStaff(operateStaffQuery); + } + + @GetMapping("/getStaffById") + @ApiOperation(value = "根据编号查询员工", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getStaffById(@ApiParam(value = "根据编号查询员工请求参数", required = true) @RequestParam Long staffId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return staffService.getStaffById(staffId); + } + + @PutMapping("/editStaff") + @ApiOperation(value = "编辑员工", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editStaff(@ApiParam(value = "编辑员工请求实体", required = true) @RequestBody OperateStaffQuery operateStaffQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return staffService.editStaff(operateStaffQuery); + } + + @DeleteMapping("/leaveStaff") + @ApiOperation(value = "离职员工", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result leaveStaff(@ApiParam(value = "离职员工请求参数", required = true) @RequestParam Long staffId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return staffService.leaveStaff(staffId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/VisitController.java b/server/src/main/java/com/ew/gerocomium/controller/VisitController.java new file mode 100644 index 0000000..d628a9a --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/VisitController.java @@ -0,0 +1,74 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.DepositRechargeService; +import com.ew.gerocomium.service.VisitService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "来访登记") +@RestController +@RequestMapping("/visit") +@PreAuthorize("@AuthorityAssert.hasAuthority('/check-in/visit')") +public class VisitController { + @Resource + private VisitService visitService; + @Resource + private DepositRechargeService depositRechargeService; + + @GetMapping("/pageVisitByKey") + @ApiOperation(value = "分页查询来访登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageVisitByKey(@ApiParam(value = "分页查询来访登记请求实体", required = true) PageVisitByKeyQuery pageVisitByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return visitService.pageVisitByKey(pageVisitByKeyQuery); + } + + @GetMapping("/pageSearchElderByKey") + @ApiOperation(value = "分页搜索老人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageSearchElderByKey(@ApiParam(value = "分页搜索老人请求实体", required = true) PageSearchElderByKeyQuery pageSearchElderByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return depositRechargeService.pageSearchElderByKey(pageSearchElderByKeyQuery); + } + + @PostMapping("/addVisit") + @ApiOperation(value = "新增来访登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addOutward(@ApiParam(value = "新增来访登记请求实体", required = true) @RequestBody AddVisitQuery addVisitQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return visitService.addVisit(addVisitQuery); + } + + @GetMapping("/getVisitById") + @ApiOperation(value = "根据编号获取来访登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getVisitById(@ApiParam(value = "根据编号获取来访登记请求参数", required = true) @RequestParam Long visitId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return visitService.getVisitById(visitId); + } + + @PutMapping("/editVisit") + @ApiOperation(value = "编辑来访登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editVisit(@ApiParam(value = "编辑来访登记请求实体", required = true) @RequestBody EditVisitQuery editVisitQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return visitService.editVisit(editVisitQuery); + } + + @PutMapping("/recordLeave") + @ApiOperation(value = "登记离开", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result recordLeave(@ApiParam(value = "登记离开请求实体", required = true) @RequestBody RecordLeaveQuery recordLeaveQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return visitService.recordLeave(recordLeaveQuery); + } + + @DeleteMapping("/deleteVisit") + @ApiOperation(value = "删除来访登记", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteVisit(@ApiParam(value = "删除来访登记请求参数", required = true) @RequestParam Long visitId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return visitService.deleteVisit(visitId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/WarehouseController.java b/server/src/main/java/com/ew/gerocomium/controller/WarehouseController.java new file mode 100644 index 0000000..901f882 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/WarehouseController.java @@ -0,0 +1,64 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.OperateWarehouseQuery; +import com.ew.gerocomium.dao.query.PageWarehouseByKeyQuery; +import com.ew.gerocomium.service.WarehouseService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "仓库设置") +@RestController +@RequestMapping("/warehouse") +@PreAuthorize("@AuthorityAssert.hasAuthority('/resource/set')") +public class WarehouseController { + @Resource + private WarehouseService warehouseService; + + @GetMapping("/pageWarehouseByKey") + @ApiOperation(value = "分页查询仓库", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageWarehouseByKey(@ApiParam(value = "分页查询仓库请求实体", required = true) PageWarehouseByKeyQuery pageWarehouseByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseService.pageWarehouseByKey(pageWarehouseByKeyQuery); + } + + @GetMapping("/listWarehouseStaff") + @ApiOperation(value = "仓库管理员", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listWarehouseStaff(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseService.listWarehouseStaff(); + } + + @PostMapping("/addWarehouse") + @ApiOperation(value = "新增仓库", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addWarehouse(@ApiParam(value = "新增仓库请求实体", required = true) @RequestBody OperateWarehouseQuery operateWarehouseQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseService.addWarehouse(operateWarehouseQuery); + } + + @GetMapping("/getWarehouseById") + @ApiOperation(value = "根据编号查询仓库", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getWarehouseById(@ApiParam(value = "根据编号查询仓库请求参数", required = true) @RequestParam Long warehouseId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseService.getWarehouseById(warehouseId); + } + + @PutMapping("/editWarehouse") + @ApiOperation(value = "编辑仓库", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result editWarehouse(@ApiParam(value = "编辑仓库请求实体", required = true) @RequestBody OperateWarehouseQuery operateWarehouseQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseService.editWarehouse(operateWarehouseQuery); + } + + @DeleteMapping("/deleteWarehouse") + @ApiOperation(value = "删除仓库", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteWarehouse(@ApiParam(value = "删除仓库请求参数", required = true) @RequestParam Long warehouseId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseService.deleteWarehouse(warehouseId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/controller/WarehouseRecordController.java b/server/src/main/java/com/ew/gerocomium/controller/WarehouseRecordController.java new file mode 100644 index 0000000..9a227ed --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/controller/WarehouseRecordController.java @@ -0,0 +1,82 @@ +package com.ew.gerocomium.controller; + +import com.ew.gerocomium.common.constant.Constant; +import com.ew.gerocomium.dao.base.Result; +import com.ew.gerocomium.dao.query.*; +import com.ew.gerocomium.service.MaterialService; +import com.ew.gerocomium.service.WarehouseRecordService; +import com.ew.gerocomium.service.WarehouseService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "入库管理") +@RestController +@RequestMapping("/warehouseRecord") +@PreAuthorize("@AuthorityAssert.hasAuthority('/resource/enter')") +public class WarehouseRecordController { + @Resource + private WarehouseRecordService warehouseRecordService; + @Resource + private WarehouseService warehouseService; + @Resource + private MaterialService materialService; + + @GetMapping("/pageWarehouseRecordByKey") + @ApiOperation(value = "分页查询入库记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageWarehouseRecordByKey(@ApiParam(value = "分页查询入库记录请求实体", required = true) PageWarehouseRecordByKeyQuery pageWarehouseRecordByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseRecordService.pageWarehouseRecordByKey(pageWarehouseRecordByKeyQuery); + } + + @GetMapping("/listWarehouse") + @ApiOperation(value = "获取仓库列表", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listWarehouse(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseRecordService.listWarehouse(); + } + + @GetMapping("/listWarehouseStaff") + @ApiOperation(value = "获取经办人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result listWarehouseStaff(@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseService.listWarehouseStaff(); + } + + @GetMapping("/pageMaterialByKey") + @ApiOperation(value = "分页查询物资", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result pageMaterialByKey(@ApiParam(value = "分页查询物资请求实体", required = true) PageMaterialByKeyQuery pageMaterialByKeyQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return materialService.pageMaterialByKey(pageMaterialByKeyQuery); + } + + @PostMapping("/addWarehouseRecord") + @ApiOperation(value = "新增入库记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result addWarehouseRecord(@ApiParam(value = "新增入库记录请求实体", required = true) @RequestBody AddWarehouseRecordQuery addWarehouseRecordQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseRecordService.addWarehouseRecord(addWarehouseRecordQuery); + } + + @GetMapping("/getWarehouseRecordById") + @ApiOperation(value = "根据编号查询入库记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result getWarehouseRecordById(@ApiParam(value = "根据编号查询入库记录请求参数", required = true) @RequestParam Long warehouseRecordId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseRecordService.getWarehouseRecordById(warehouseRecordId); + } + + @PutMapping("/auditWarehouseRecord") + @ApiOperation(value = "审核入库记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result auditWarehouseRecord(@ApiParam(value = "审核入库记录请求实体", required = true) @RequestBody AuditWarehouseRecordQuery auditWarehouseRecordQuery, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseRecordService.auditWarehouseRecord(auditWarehouseRecordQuery); + } + + @DeleteMapping("/deleteWarehouseRecord") + @ApiOperation(value = "删除入库记录", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN) + public Result deleteWarehouseRecord(@ApiParam(value = "删除入库记录请求参数", required = true) @RequestParam Long warehouseRecordId, + @ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) { + return warehouseRecordService.deleteWarehouseRecord(warehouseRecordId); + } +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/base/BaseEntity.java b/server/src/main/java/com/ew/gerocomium/dao/base/BaseEntity.java new file mode 100644 index 0000000..a5590b3 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/base/BaseEntity.java @@ -0,0 +1,42 @@ +package com.ew.gerocomium.dao.base; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.util.Date; + +@Data +public class BaseEntity { + /** + * ID + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 创建人ID + */ + @TableField(fill = FieldFill.INSERT) + private Long createId; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private Date createTime; + + /** + * 修改人ID + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Long updateId; + + /** + * 修改时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Date updateTime; +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/base/BuildingVo.java b/server/src/main/java/com/ew/gerocomium/dao/base/BuildingVo.java new file mode 100644 index 0000000..677a540 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/base/BuildingVo.java @@ -0,0 +1,63 @@ +package com.ew.gerocomium.dao.base; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "获取楼栋列表响应实体") +public class BuildingVo { + @ApiModelProperty(value = "楼栋编号", example = "1") + private Long id; + @ApiModelProperty(value = "楼栋名称", example = "爱心楼") + private String name; + @ApiModelProperty(value = "楼层数量", example = "5") + private Integer floorNum; + @ApiModelProperty(value = "楼层列表", example = "{}") + private List floorList; + + @Data + @ApiModel(value = "获取楼层列表响应实体") + public static class BuildingItem { + @ApiModelProperty(value = "楼层编号", example = "1") + private Long id; + @ApiModelProperty(value = "楼层名称", example = "爱心楼-1层") + private String name; + @ApiModelProperty(value = "房间数量", example = "5") + private Integer roomNum; + @ApiModelProperty(value = "房间列表", example = "{}") + private List roomList; + + @Data + @ApiModel(value = "获取房间列表响应实体") + public static class FloorItem { + @ApiModelProperty(value = "房间编号", example = "1") + private Long id; + @ApiModelProperty(value = "房间名称", example = "爱心楼-1层-1房") + private String name; + @ApiModelProperty(value = "床位数量", example = "5") + private Integer bedNum; + @ApiModelProperty(value = "床位列表", example = "{}") + private List bedList; + + @Data + @ApiModel(value = "获取床位列表响应实体") + public static class RoomItem { + @ApiModelProperty(value = "床位编号", example = "1") + private Long id; + @ApiModelProperty(value = "床位名称", example = "爱心楼-1层-1房-1床") + private String name; + @ApiModelProperty(value = "床位状态", example = "空闲") + private String bedFlag; + @ApiModelProperty(value = "所住老人", example = "张三") + private String elderName; + @ApiModelProperty(value = "老人性别", example = "男") + private String sex; + @ApiModelProperty(value = "老人年龄", example = "70") + private Integer age; + } + } + } +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/base/DropDown.java b/server/src/main/java/com/ew/gerocomium/dao/base/DropDown.java new file mode 100644 index 0000000..48736d5 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/base/DropDown.java @@ -0,0 +1,14 @@ +package com.ew.gerocomium.dao.base; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "下拉列表响应实体") +public class DropDown { + @ApiModelProperty(value = "编号", example = "1") + private Long id; + @ApiModelProperty(value = "名称", example = "null") + private String name; +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/base/PageResult.java b/server/src/main/java/com/ew/gerocomium/dao/base/PageResult.java new file mode 100644 index 0000000..3d0e565 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/base/PageResult.java @@ -0,0 +1,43 @@ +package com.ew.gerocomium.dao.base; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class PageResult { + + @ApiModelProperty(value = "第几页") + private int pageNum; + + @ApiModelProperty(value = "每页记录数") + private int pageSize; + + @ApiModelProperty(value = "总页数") + private int pages; + + @ApiModelProperty(value = "当前页的数量 <= pageSize,该属性来自ArrayList的size属性") + private int size; + + @ApiModelProperty(value = "总记录数") + private Long total; + + @ApiModelProperty(value = "当前页面的数据列表") + private List list; + + public PageResult(Integer pageNum, Integer pageSize, Long total, List list) { + this.pageNum = pageNum; + this.pageSize = pageSize; + if (total % pageSize == 0) { + this.pages = total.intValue() / pageSize; + } else { + this.pages = total.intValue() / pageSize + 1; + } + this.size = list.size(); + this.total = total; + this.list = list; + } +} \ No newline at end of file diff --git a/server/src/main/java/com/ew/gerocomium/dao/base/Rank.java b/server/src/main/java/com/ew/gerocomium/dao/base/Rank.java new file mode 100644 index 0000000..dce7b99 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/base/Rank.java @@ -0,0 +1,10 @@ +package com.ew.gerocomium.dao.base; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class Rank { + @ApiModelProperty(value = "序号", example = "1") + private Long rank; +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/base/Result.java b/server/src/main/java/com/ew/gerocomium/dao/base/Result.java new file mode 100644 index 0000000..de35463 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/base/Result.java @@ -0,0 +1,69 @@ +package com.ew.gerocomium.dao.base; + +import com.ew.gerocomium.common.constant.CodeEnum; +import com.ew.gerocomium.common.constant.ExceptionEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "请求响应实体") +public class Result { + @ApiModelProperty(value = "响应码", required = true, example = "200") + private Integer code; + @ApiModelProperty(value = "响应消息", required = true, example = "成功") + private String msg; + @ApiModelProperty(value = "响应数据", required = true, example = "null") + private Object data; + + /** + * 成功 + * + * @return + */ + public static Result success() { + return resultData(CodeEnum.SUCCESS.getCode(), CodeEnum.SUCCESS.getMsg(), null); + } + + public static Result success(String msg) { + return resultData(CodeEnum.SUCCESS.getCode(), msg, null); + } + + public static Result success(Object data) { + return resultData(CodeEnum.SUCCESS.getCode(), CodeEnum.SUCCESS.getMsg(), data); + } + + public static Result success(String msg, Object data) { + return resultData(CodeEnum.SUCCESS.getCode(), msg, data); + } + + /** + * 失败 + * + * @return + */ + public static Result error(Integer code, String msg) { + return resultData(code, msg, null); + } + + public static Result error(Integer code, String msg, Object data) { + return resultData(code, msg, data); + } + + public static Result error(ExceptionEnum exceptionEnum) { + return resultData(exceptionEnum.getCode(), exceptionEnum.getMsg(), null); + } + + public static Result error(ExceptionEnum exceptionEnum, Object data) { + return resultData(exceptionEnum.getCode(), exceptionEnum.getMsg(), data); + } + + private static Result resultData(Integer code, String msg, Object data) { + Result result = new Result(); + result.setCode(code); + result.setMsg(msg); + result.setData(data); + return result; + } + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/AccidentMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/AccidentMapper.java new file mode 100644 index 0000000..72f2cb3 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/AccidentMapper.java @@ -0,0 +1,36 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.Accident; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ew.gerocomium.dao.query.PageAccidentByKeyQuery; +import com.ew.gerocomium.dao.vo.GetAccidentByIdVo; +import com.ew.gerocomium.dao.vo.PageAccidentByKeyVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

    + * 事故登记表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface AccidentMapper extends BaseMapper { + /** + * 根据关键字获取事故登记列表 + * + * @param keyQuery + * @return + */ + List listAccidentByKeyVo(@Param("keyQuery") PageAccidentByKeyQuery keyQuery); + + /** + * 根据编号获取事故登记 + * + * @param accidenId + * @return + */ + GetAccidentByIdVo getAccidentById(@Param("accidentId") Long accidenId); +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/ActiveMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/ActiveMapper.java new file mode 100644 index 0000000..adff21a --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/ActiveMapper.java @@ -0,0 +1,32 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.Active; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ew.gerocomium.dao.query.PageActiveByKeyQuery; +import com.ew.gerocomium.dao.vo.PageActiveByKeyVo; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +/** + *

    + * 活动表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface ActiveMapper extends BaseMapper { + /** + * 根据关键词查询活动 + * + * @param keyQuery + * @param startTime + * @param endTime + * @return + */ + List listActiveByKey(@Param("keyQuery") PageActiveByKeyQuery keyQuery, + @Param("startTime") Date startTime, + @Param("endTime") Date endTime); +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/ActiveParticipantMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/ActiveParticipantMapper.java new file mode 100644 index 0000000..fdf6a05 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/ActiveParticipantMapper.java @@ -0,0 +1,26 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.ActiveParticipant; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ew.gerocomium.dao.vo.GetActiveByIdVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

    + * 活动参与者表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface ActiveParticipantMapper extends BaseMapper { + /** + * 根据活动编号获取活动参与老人列表 + * + * @param activeId + * @return + */ + List listParticipateElder(@Param("activeId") Long activeId); +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/ActiveTypeMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/ActiveTypeMapper.java new file mode 100644 index 0000000..ff4230a --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/ActiveTypeMapper.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.ActiveType; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

    + * 活动类型表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface ActiveTypeMapper extends BaseMapper { + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/AuthMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/AuthMapper.java new file mode 100644 index 0000000..4c711ce --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/AuthMapper.java @@ -0,0 +1,25 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.Auth; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

    + * 权限表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface AuthMapper extends BaseMapper { + /** + * 根据角色编号查询权限信息 + * + * @param roleId + * @return + */ + List listAuthByRoleId(@Param("roleId") Long roleId); +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/BaseAttachmentMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/BaseAttachmentMapper.java new file mode 100644 index 0000000..facfff2 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/BaseAttachmentMapper.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.BaseAttachment; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

    + * 附件信息表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface BaseAttachmentMapper extends BaseMapper { + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/BedMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/BedMapper.java new file mode 100644 index 0000000..3b7b069 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/BedMapper.java @@ -0,0 +1,24 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.Bed; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ew.gerocomium.dao.vo.GetBedByIdVo; +import org.apache.ibatis.annotations.Param; + +/** + *

    + * 床位表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface BedMapper extends BaseMapper { + /** + * 根据编号获取床位信息 + * + * @param bedId + * @return + */ + GetBedByIdVo getBedById(@Param("bedId") Long bedId); +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/BuildingMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/BuildingMapper.java new file mode 100644 index 0000000..216def1 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/BuildingMapper.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.Building; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

    + * 楼栋表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface BuildingMapper extends BaseMapper { + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/CateringSetMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/CateringSetMapper.java new file mode 100644 index 0000000..b03c406 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/CateringSetMapper.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.CateringSet; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

    + * 餐饮套餐表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface CateringSetMapper extends BaseMapper { + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/CommunicationRecordMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/CommunicationRecordMapper.java new file mode 100644 index 0000000..cee4219 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/CommunicationRecordMapper.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.CommunicationRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

    + * 沟通记录表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface CommunicationRecordMapper extends BaseMapper { + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/ConsultMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/ConsultMapper.java new file mode 100644 index 0000000..9e19e9f --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/ConsultMapper.java @@ -0,0 +1,42 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.Consult; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ew.gerocomium.dao.query.GetConsultByConsultIdAndElderIdQuery; +import com.ew.gerocomium.dao.query.PageConsultByKeyQuery; +import com.ew.gerocomium.dao.vo.GetConsultByConsultIdAndElderIdVo; +import com.ew.gerocomium.dao.vo.PageConsultByKeyVo; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +/** + *

    + * 咨询人表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface ConsultMapper extends BaseMapper { + /** + * 根据搜索关键字查询咨询信息 + * + * @param keyQuery + * @param startTime + * @param endTime + * @return + */ + List listConsultByKey(@Param("keyQuery") PageConsultByKeyQuery keyQuery, + @Param("startTime") Date startTime, + @Param("endTime") Date endTime); + + /** + * 根据咨询人编号和老人编号查询咨询信息 + * + * @param idQuery + * @return + */ + List getConsultByConsultIdAndElderId(@Param("idQuery") GetConsultByConsultIdAndElderIdQuery idQuery); +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/ConsumeMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/ConsumeMapper.java new file mode 100644 index 0000000..dde019f --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/ConsumeMapper.java @@ -0,0 +1,32 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.Consume; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ew.gerocomium.dao.query.PageConsumeByKeyQuery; +import com.ew.gerocomium.dao.vo.PageConsumeByKeyVo; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +/** + *

    + * 消费记录表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface ConsumeMapper extends BaseMapper { + /** + * 根据搜索关键字获取消费记录 + * + * @param elderName + * @param startTime + * @param endTime + * @return + */ + List listConsumeByKey(@Param("elderName") String elderName, + @Param("startTime") Date startTime, + @Param("endTime") Date endTime); +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/ContractMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/ContractMapper.java new file mode 100644 index 0000000..ca193d9 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/ContractMapper.java @@ -0,0 +1,27 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.Contract; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ew.gerocomium.dao.vo.ExpireContractVo; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +/** + *

    + * 合同表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface ContractMapper extends BaseMapper { + /** + * 获取已过期和即将到期的合同 + * + * @param endTime + * @return + */ + List listExpireContract(@Param("endTime") Date endTime); +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/DepositInfoMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/DepositInfoMapper.java new file mode 100644 index 0000000..b71a4e3 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/DepositInfoMapper.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.DepositInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

    + * 缴存药品信息表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface DepositInfoMapper extends BaseMapper { + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/DishesMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/DishesMapper.java new file mode 100644 index 0000000..72778f2 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/DishesMapper.java @@ -0,0 +1,35 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.Dishes; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ew.gerocomium.dao.query.PageDishesByKeyQuery; +import com.ew.gerocomium.dao.vo.PageDishesByKeyVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

    + * 菜品表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface DishesMapper extends BaseMapper { + /** + * 根据搜索关键字查询菜品 + * + * @param keyQuery + * @return + */ + List listDishesByKey(@Param("keyQuery") PageDishesByKeyQuery keyQuery); + + /** + * 根据老人编号获取该老人所选套餐的菜品列表 + * + * @param elderId + * @return + */ + List listSetDishesByElderId(@Param("elderId") Long elderId); +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/DishesTypeMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/DishesTypeMapper.java new file mode 100644 index 0000000..9deb1c2 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/DishesTypeMapper.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.DishesType; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

    + * 菜品分类表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface DishesTypeMapper extends BaseMapper { + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/DrugDepositMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/DrugDepositMapper.java new file mode 100644 index 0000000..a2a9923 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/DrugDepositMapper.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.DrugDeposit; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

    + * 药品缴存表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface DrugDepositMapper extends BaseMapper { + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/ElderLabelMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/ElderLabelMapper.java new file mode 100644 index 0000000..b8bbc3a --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/ElderLabelMapper.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.ElderLabel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

    + * 老人标签表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface ElderLabelMapper extends BaseMapper { + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/ElderMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/ElderMapper.java new file mode 100644 index 0000000..05019cb --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/ElderMapper.java @@ -0,0 +1,58 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.Elder; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ew.gerocomium.dao.query.PageDepositRechargeByKeyQuery; +import com.ew.gerocomium.dao.query.PageElderByKeyQuery; +import com.ew.gerocomium.dao.vo.PageDepositRechargeByKeyVo; +import com.ew.gerocomium.dao.vo.PageElderByKeyVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

    + * 老人表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface ElderMapper extends BaseMapper { + /** + * 根据搜索关键字查询预存充值信息 + * + * @param keyQuery + * @return + */ + List listDepositRechargeByKey(@Param("keyQuery") PageDepositRechargeByKeyQuery keyQuery); + + /** + * 根据老人编号列表批量取消预定 + * + * @param elderIdList + */ + void cancelReserveByElderIdList(@Param("elderIdList") List elderIdList); + + /** + * 根据编号逻辑删除老人 + * + * @param elderId + */ + void deleteElderById(@Param("elderId") Long elderId); + + /** + * 根据关键字获取长者列表 + * + * @param keyQuery + * @return + */ + List listElderByKey(@Param("keyQuery") PageElderByKeyQuery keyQuery); + + /** + * 根据编号将老人设置退住 + * + * @param elderId + */ + void retreatElderById(@Param("elderId") Long elderId); +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/EmergencyContactMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/EmergencyContactMapper.java new file mode 100644 index 0000000..b7869c1 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/EmergencyContactMapper.java @@ -0,0 +1,26 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.EmergencyContact; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ew.gerocomium.dao.vo.ExpireContractEmergencyContactVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

    + * 紧急联系人表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface EmergencyContactMapper extends BaseMapper { + /** + * 根据老人编号列表获取紧急联系人列表 + * + * @param elderIdList + * @return + */ + List listExpireContractEmergencyContactVoByElderIdList(@Param("elderIdList") List elderIdList); +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/FamilyMemberMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/FamilyMemberMapper.java new file mode 100644 index 0000000..d9fe467 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/FamilyMemberMapper.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.FamilyMember; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

    + * 老人家属表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface FamilyMemberMapper extends BaseMapper { + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/FloorMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/FloorMapper.java new file mode 100644 index 0000000..f6528a7 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/FloorMapper.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.Floor; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

    + * 楼层表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface FloorMapper extends BaseMapper { + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/HealthDataMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/HealthDataMapper.java new file mode 100644 index 0000000..cc0f10f --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/HealthDataMapper.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.HealthData; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

    + * 老人健康数据表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface HealthDataMapper extends BaseMapper { + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/HealthInfoMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/HealthInfoMapper.java new file mode 100644 index 0000000..38d9eef --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/HealthInfoMapper.java @@ -0,0 +1,16 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.HealthInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

    + * 老人健康信息表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface HealthInfoMapper extends BaseMapper { + +} diff --git a/server/src/main/java/com/ew/gerocomium/dao/mapper/LabelMapper.java b/server/src/main/java/com/ew/gerocomium/dao/mapper/LabelMapper.java new file mode 100644 index 0000000..d9248d8 --- /dev/null +++ b/server/src/main/java/com/ew/gerocomium/dao/mapper/LabelMapper.java @@ -0,0 +1,26 @@ +package com.ew.gerocomium.dao.mapper; + +import com.ew.gerocomium.dao.po.Label; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ew.gerocomium.dao.vo.GetElderLabelByIdLabelVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

    + * 标签表 Mapper 接口 + *

    + * + * @author EmperorWen + * @since 2022-12-31 + */ +public interface LabelMapper extends BaseMapper

  • dydjd(ORYWANW;Nk>hn^@h|UuzzqG~E-b_mlHI*5X04|BZlRk2^*`bbEzbz_s#`Y3>d`b$8O&zL|L|PUOQ=JrZxg8JpoX#qhZnz{SdQ9G{8tyef53j7e}nnK0ivd8+aX{7{6U@WK17 z3HWiE%KAQL9%(gI&kJXTy*c{llOq2m(c*(CHGERG80EoC=|@|wjsVBksoa}Xc;|!V zLkcsB>vCjq@1DJXdf#6J*gLfg)EklTTeYWM@xu(T9M@`pM%bT}r^wL|{pb_-@KPb` zv3{=p@%i=m((ggDo7Z-r>7NHpG?8ZKqrb+bV?O4*C&~RduGS~wjZgd$H`2@T^M;(L zX9saR%86sBKD!7Ld3ET!6V|nXL_gRW@aFf!Mm~p4+AX%om6+g))@+#ZRp(%gw}Rbw zK(A|G45`-!?6na_CkS==-`(3Om*vvxol@Yv+wY%9GDn+|r zuWK9)1OrJ!U4lpe4Am|ZG^#>nvmt7kwjp0ic0HubOjHsNRvR@GeTHhuJhLp7EBk1O z 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