diff --git a/examples/mini-program-example/config/index.js b/examples/mini-program-example/config/index.js index 2b6f54f31b44..03f52196110f 100644 --- a/examples/mini-program-example/config/index.js +++ b/examples/mini-program-example/config/index.js @@ -10,7 +10,7 @@ const config = { 828: 1.81 / 2 }, sourceRoot: 'src', - outputRoot: `dist/${process.env.TARO_ENV}`, + outputRoot: `dist/spa/main`, plugins: [], alias: { '@/util': path.resolve(__dirname, '..', 'src/util'), @@ -58,7 +58,7 @@ const config = { } }, h5: { - publicPath: '/', + publicPath: '/spa/main/', staticDirectory: 'static', postcss: { autoprefixer: { diff --git a/examples/mini-program-example/package.json b/examples/mini-program-example/package.json index e41aba143b17..ca5dd7be450e 100644 --- a/examples/mini-program-example/package.json +++ b/examples/mini-program-example/package.json @@ -44,35 +44,36 @@ "author": "", "dependencies": { "@babel/runtime": "^7.14.5", - "@tarojs/components": "3.6.15", - "@tarojs/helper": "3.6.15", - "@tarojs/plugin-platform-weapp": "3.6.15", - "@tarojs/plugin-platform-alipay": "3.6.15", - "@tarojs/plugin-platform-tt": "3.6.15", - "@tarojs/plugin-platform-swan": "3.6.15", - "@tarojs/plugin-platform-jd": "3.6.15", - "@tarojs/plugin-platform-qq": "3.6.15", - "@tarojs/plugin-platform-h5": "3.6.15", + "@tarojs/components": "workspace:*", + "@tarojs/helper": "workspace:*", + "@tarojs/plugin-platform-weapp": "workspace:*", + "@tarojs/plugin-platform-alipay": "workspace:*", + "@tarojs/plugin-platform-tt": "workspace:*", + "@tarojs/plugin-platform-swan": "workspace:*", + "@tarojs/plugin-platform-jd": "workspace:*", + "@tarojs/plugin-platform-qq": "workspace:*", + "@tarojs/plugin-platform-h5": "workspace:*", "@tarojs/plugin-platform-mpharmony": "workspace:*", "@tarojs/plugin-platform-mpandroid": "workspace:*", "@tarojs/components-mpharmony": "workspace:*", - "@tarojs/runtime": "3.6.15", - "@tarojs/shared": "3.6.15", - "@tarojs/taro": "3.6.15", + "@tarojs/taro-mpharmony": "workspace:*", + "@tarojs/runtime": "workspace:*", + "@tarojs/shared": "workspace:*", + "@tarojs/taro": "workspace:*", "@tarojs/plugin-framework-react": "workspace:*", - "@tarojs/react": "3.6.15", + "@tarojs/react": "workspace:*", "react-dom": "^18.2.0", "react": "^18.2.0" }, "devDependencies": { "@babel/core": "^7.8.0", - "@tarojs/cli": "3.6.15", + "@tarojs/cli": "workspace:*", "@types/webpack-env": "^1.13.6", "@types/react": "^18.2.0", "webpack": "5.78.0", - "@tarojs/webpack5-runner": "3.6.15", - "babel-preset-taro": "3.6.15", - "eslint-config-taro": "3.6.15", + "@tarojs/webpack5-runner": "workspace:*", + "babel-preset-taro": "workspace:*", + "eslint-config-taro": "workspace:*", "eslint": "^8.12.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.5", "react-refresh": "^0.11.0", diff --git a/examples/mini-program-example/src/app.config.ts b/examples/mini-program-example/src/app.config.ts index a63bb5ea38a7..abbc20fbd38b 100644 --- a/examples/mini-program-example/src/app.config.ts +++ b/examples/mini-program-example/src/app.config.ts @@ -148,6 +148,7 @@ export default defineAppConfig({ 'pages/api/thirdParty/index', 'pages/api/worker/index', 'pages/api/wxml/index', + 'pages/performance/index/index' ], tabBar: { color: '#7A7E83', diff --git a/examples/mini-program-example/src/app.ts b/examples/mini-program-example/src/app.ts index 24cff04fefaa..2c34853faba7 100644 --- a/examples/mini-program-example/src/app.ts +++ b/examples/mini-program-example/src/app.ts @@ -38,6 +38,14 @@ class App extends React.Component { }) } + componentDidShow(res) { + TestConsole.consoleNormal('App componentDidShow', res) + } + + componentDidHide() { + TestConsole.consoleNormal('App componentDidHide') + } + render() { // this.props.children 是将要会渲染的页面 return this.props.children diff --git a/examples/mini-program-example/src/pages/api/basics/basics/index.tsx b/examples/mini-program-example/src/pages/api/basics/basics/index.tsx index 6ea1eaeb11a3..13f449a39511 100644 --- a/examples/mini-program-example/src/pages/api/basics/basics/index.tsx +++ b/examples/mini-program-example/src/pages/api/basics/basics/index.tsx @@ -71,11 +71,11 @@ export default class Index extends React.Component { '字面量示例3:live-pusher.audio-reverb-type.4----', Taro.canIUse('live-pusher.audio-reverb-type.4') ) - TestConsole.consoleDebug('字面量示例4:checkbox-group----', Taro.canIUse("checkbox-group")) - TestConsole.consoleDebug('字面量示例5:button----', Taro.canIUse("button")) - TestConsole.consoleDebug('字面量示例6:button.size----', Taro.canIUse("button.size")) - TestConsole.consoleDebug('字面量示例7:button.size.mini----', Taro.canIUse("button.size.mini")) - + TestConsole.consoleDebug('字面量示例4:checkbox-group----', Taro.canIUse('checkbox-group')) + TestConsole.consoleDebug('字面量示例5:button----', Taro.canIUse('button')) + TestConsole.consoleDebug('字面量示例6:button.size----', Taro.canIUse('button.size')) + TestConsole.consoleDebug('字面量示例7:button.size.mini----', Taro.canIUse('button.size.mini')) + const apiName1 = 'share-element.rect-tween-type.cubic-bezier(x1,' const apiName2 = 'live-pusher.aspect.9:16' const apiName3 = 'live-pusher.audio-reverb-type.4' diff --git a/examples/mini-program-example/src/pages/api/basics/miniProgram/applicationLevelEvents/index.tsx b/examples/mini-program-example/src/pages/api/basics/miniProgram/applicationLevelEvents/index.tsx index fb7f8ff5d6e4..9fa485cc2b34 100644 --- a/examples/mini-program-example/src/pages/api/basics/miniProgram/applicationLevelEvents/index.tsx +++ b/examples/mini-program-example/src/pages/api/basics/miniProgram/applicationLevelEvents/index.tsx @@ -1,6 +1,6 @@ import React from 'react' import Taro from '@tarojs/taro' -import { View, Text } from '@tarojs/components' +import { View } from '@tarojs/components' import { TestConsole } from '@/util/util' import ButtonList from '@/components/buttonList' @@ -84,20 +84,30 @@ export default class Index extends React.Component { }, { id: 'onAppShow', - func: (apiIndex) => { + func: () => { TestConsole.consoleTest('Taro.onAppShow') - Taro.onAppShow((res) => { - TestConsole.consoleOnCallback.call(this, res, 'onAppShow', apiIndex) - }) + Taro.onAppShow(this.appShow) + }, + }, + { + id: 'onAppShow1', + func: () => { + TestConsole.consoleTest('Taro.onAppShow1') + Taro.onAppShow(this.appShow1) }, }, { id: 'onAppHide', - func: (apiIndex) => { + func: () => { TestConsole.consoleTest('Taro.onAppHide') - Taro.onAppHide((res) => { - TestConsole.consoleOnCallback.call(this, res, 'onAppHide', apiIndex) - }) + Taro.onAppHide(this.appHide) + }, + }, + { + id: 'onAppHide1', + func: () => { + TestConsole.consoleTest('Taro.onAppHide1') + Taro.onAppHide(this.appHide1) }, }, { @@ -150,25 +160,51 @@ export default class Index extends React.Component { }, { id: 'offAppShow', - func: (apiIndex) => { + func: () => { TestConsole.consoleTest('Taro.offAppShow') - Taro.offAppShow((res) => { - TestConsole.consoleOnCallback.call(this, res, 'offAppShow', apiIndex) - }) + Taro.offAppShow(this.appShow) + }, + }, + { + id: 'offAppShow1', + func: () => { + TestConsole.consoleTest('Taro.offAppShow1') + Taro.offAppShow(this.appShow1) }, }, { id: 'offAppHide', - func: (apiIndex) => { + func: () => { TestConsole.consoleTest('Taro.offAppHide') - Taro.offAppHide((res) => { - TestConsole.consoleOnCallback.call(this, res, 'offAppHide', apiIndex) - }) + Taro.offAppHide(this.appHide) + }, + }, + { + id: 'offAppHide1', + func: () => { + TestConsole.consoleTest('Taro.offAppHide1') + Taro.offAppHide(this.appHide1) }, }, ], } + appShow = (res) => { + TestConsole.consoleOnCallback.call(this, res, 'onAppShow', 6) + } + + appShow1 = (res) => { + TestConsole.consoleOnCallback.call(this, res, 'onAppShow1', 7) + } + + appHide = (res) => { + TestConsole.consoleOnCallback.call(this, res, 'onAppHide', 8) + } + + appHide1 = (res) => { + TestConsole.consoleOnCallback.call(this, res, 'onAppHide1', 9) + } + render() { const { list } = this.state return ( diff --git a/examples/mini-program-example/src/pages/api/basics/system/index.tsx b/examples/mini-program-example/src/pages/api/basics/system/index.tsx index 51f248180b7b..96c173834739 100644 --- a/examples/mini-program-example/src/pages/api/basics/system/index.tsx +++ b/examples/mini-program-example/src/pages/api/basics/system/index.tsx @@ -50,7 +50,7 @@ export default class Index extends React.Component { const currentTime = Date.now() const res = Taro.getSystemSetting() const took = Date.now() - currentTime - console.log("getSystemSetting took: ", took) + console.log('getSystemSetting took: ', took) TestConsole.consoleSuccess.call(this, res, apiIndex) }, }, diff --git a/examples/mini-program-example/src/pages/api/canvas/index.scss b/examples/mini-program-example/src/pages/api/canvas/index.scss index 9662aa80d43c..016726d67f77 100644 --- a/examples/mini-program-example/src/pages/api/canvas/index.scss +++ b/examples/mini-program-example/src/pages/api/canvas/index.scss @@ -4,22 +4,20 @@ color: #f5f5f5; background-color: $color-success; } -.api-page{ - padding-top:650px; -} .canvas { width: 305px; height: 280px; background-color: #f7f7f7; } -.canvas-main{ +.canvas-main { position: fixed; - top: 0; - padding-left:20px; + display: flex; + justify-content: center; left:0; width: 100%; background: #fff; z-index: 100; + margin-bottom: 20px; } .hide{ display: none; diff --git a/examples/mini-program-example/src/pages/api/canvas/index.tsx b/examples/mini-program-example/src/pages/api/canvas/index.tsx index 6d22cd927d02..44c053f2314f 100644 --- a/examples/mini-program-example/src/pages/api/canvas/index.tsx +++ b/examples/mini-program-example/src/pages/api/canvas/index.tsx @@ -336,10 +336,7 @@ export default class Index extends React.Component { success: (res) => { this.initCanvas(apiIndex, async () => { context.beginPath() - context.drawImage( - res.path, - ...Object.values(data) - ) + context.drawImage(res.path, ...Object.values(data)) await context.draw() TestConsole.consoleNormal('CanvasContext-drawImage success ', context) }) @@ -388,7 +385,7 @@ export default class Index extends React.Component { * await context.draw() * TestConsole.consoleNormal('CanvasContext-drawImage success ', context) * }) - */ + */ }, }, { @@ -887,8 +884,8 @@ export default class Index extends React.Component { render() { const { list, canvasId, src } = this.state return ( - - + + + Taro.canvasToTempFilePath图片 diff --git a/examples/mini-program-example/src/pages/api/device/scan/index.tsx b/examples/mini-program-example/src/pages/api/device/scan/index.tsx index 6e9fdaecab90..485fb1ef98ea 100644 --- a/examples/mini-program-example/src/pages/api/device/scan/index.tsx +++ b/examples/mini-program-example/src/pages/api/device/scan/index.tsx @@ -2,6 +2,7 @@ import React from 'react' import Taro from '@tarojs/taro' import { View, Text } from '@tarojs/components' import ButtonList from '@/components/buttonList' +import { TestConsole } from '@/util/util' import './index.scss' /** @@ -14,14 +15,58 @@ export default class Index extends React.Component { list: [ { id: 'scanCode', - func: null, + inputData: { + onlyFromCamera: false, + scanType: ['qrCode'] + }, + func: (apiIndex, data) => { + TestConsole.consoleTest('Taro.scanCode') + Taro.scanCode({ + ...data, + success: (res) => { + TestConsole.consoleSuccess.call(this, res, apiIndex) + this.setState({ + scanResult: res + }) + }, + fail: (res) => { + TestConsole.consoleFail.call(this, res, apiIndex) + }, + complete: (res) => { + TestConsole.consoleComplete.call(this, res, apiIndex) + }, + }).then((res) => { + TestConsole.consoleResult.call(this, res, apiIndex) + }).catch((err) => { + TestConsole.consoleDebug('scanCode', err) + }) + }, }, ], + scanResult: {} } - render() { - const { list } = this.state + render () { + const { list, scanResult } = this.state return ( - + + + 扫码结果 + {Object.keys(scanResult).length === 0 && ( + + 未扫描到内容 + + )} + {Object.keys(scanResult).length !== 0 && ( + + + {'扫码的字符集: ' + scanResult?.charSet}
+ {'编码原始数据: ' + scanResult?.rawData}
+ {'所扫码的内容: ' + scanResult?.result}
+ {'所扫码的类型: ' + scanResult?.scanType}
+
+
+ )} +
) diff --git a/examples/mini-program-example/src/pages/api/file/index.tsx b/examples/mini-program-example/src/pages/api/file/index.tsx index 1718c21d4858..a78acd78f351 100644 --- a/examples/mini-program-example/src/pages/api/file/index.tsx +++ b/examples/mini-program-example/src/pages/api/file/index.tsx @@ -469,23 +469,27 @@ export default class Index extends React.Component { { id: 'fileSystem_readFile', inputData: { - filePath: '', - position: 0, - length: 1, encoding: '', + position: 0, + length: 1000, }, func: (apiIndex, data) => { TestConsole.consoleTest('fileSystem_readFile') - fileSystemManager.readFile({ - ...data, + Taro.chooseImage({ success: (res) => { - TestConsole.consoleSuccess.call(this, res, apiIndex) - }, - fail: (res) => { - TestConsole.consoleFail.call(this, res, apiIndex) - }, - complete: (res) => { - TestConsole.consoleComplete.call(this, res, apiIndex) + fileSystemManager.readFile({ + filePath: res.tempFilePaths[0], + ...data, + success: (res) => { + TestConsole.consoleSuccess.call(this, res, apiIndex) + }, + fail: (res) => { + TestConsole.consoleFail.call(this, res, apiIndex) + }, + complete: (res) => { + TestConsole.consoleComplete.call(this, res, apiIndex) + }, + }) }, }) }, @@ -494,33 +498,20 @@ export default class Index extends React.Component { id: 'fileSystem_readFileSync', inputData: { encoding: '', - position: 1, + position: 0, length: 1000, }, func: (apiIndex, data) => { TestConsole.consoleTest('fileSystem_readFileSync') Taro.chooseImage({ success: (res) => { - var tempFilePaths = res.tempFilePaths - Taro.saveFile({ - tempFilePath: tempFilePaths[0], - success: (sucRes) => { - TestConsole.consoleNormal('saveFile success ', sucRes) - const fileContent = fileSystemManager.readFileSync( - sucRes.savedFilePath, - data.encoding, - data.position, - data.length - ) - TestConsole.consoleResult.call(this, fileContent, apiIndex) - }, - fail: (failRes) => { - TestConsole.consoleNormal('saveFile fail ', failRes.errMsg) - }, - complete: (comRes) => { - TestConsole.consoleNormal('saveFile complete ', comRes) - }, - }) + const fileContent = fileSystemManager.readFileSync( + res.tempFilePaths[0], + data.encoding, + data.position, + data.length + ) + TestConsole.consoleResult.call(this, fileContent, apiIndex) }, }) }, diff --git a/examples/mini-program-example/src/pages/api/framework/index.tsx b/examples/mini-program-example/src/pages/api/framework/index.tsx index 5f273e763e47..f1407f681d86 100644 --- a/examples/mini-program-example/src/pages/api/framework/index.tsx +++ b/examples/mini-program-example/src/pages/api/framework/index.tsx @@ -13,15 +13,6 @@ import './index.scss' export default class Index extends React.Component { state = { list: [ - { - id: '触发 onPageNotFound', - func: () => { - TestConsole.consoleTest('触发App.onPageNotFound') - Taro.navigateTo({ - url: '/pages/unexistedpage', - }) - }, - }, { id: '触发 onError', func: () => { @@ -122,12 +113,10 @@ export default class Index extends React.Component { } componentDidShow(res) { - console.log('biggggg show') this.lifeCycleTrigger('componentDidShow', res) } componentDidHide(res) { - console.log('biggggg hide') this.lifeCycleTrigger('componentDidHide', res) } diff --git a/examples/mini-program-example/src/pages/api/interface/animation/index.tsx b/examples/mini-program-example/src/pages/api/interface/animation/index.tsx index c481c8e08a60..822b8c512b4f 100644 --- a/examples/mini-program-example/src/pages/api/interface/animation/index.tsx +++ b/examples/mini-program-example/src/pages/api/interface/animation/index.tsx @@ -38,7 +38,7 @@ export default class Index extends React.Component { func: (apiIndex, data) => { TestConsole.consoleTest('Taro.createAnimation') const animation = Taro.createAnimation(data) - this.setState({ animation, animationData: {}}) + this.setState({ animation, animationData: {} }) TestConsole.consoleResult.call(this, animation, apiIndex) Taro.showToast({ title: '创建动画成功', @@ -263,7 +263,7 @@ export default class Index extends React.Component { height: '300px', border: '1px solid #000', backgroundColor: '#fff', - zIndex: 10, + zIndex: 100, }} > {description} diff --git a/examples/mini-program-example/src/pages/api/location/index.config.ts b/examples/mini-program-example/src/pages/api/location/index.config.ts index 922b8b572409..79b2a8933633 100644 --- a/examples/mini-program-example/src/pages/api/location/index.config.ts +++ b/examples/mini-program-example/src/pages/api/location/index.config.ts @@ -1,3 +1,4 @@ export default { navigationBarTitleText: '位置', + navigationStyle: 'custom' } diff --git a/examples/mini-program-example/src/pages/api/media/image/index.tsx b/examples/mini-program-example/src/pages/api/media/image/index.tsx index cab934058864..641d842d65a1 100644 --- a/examples/mini-program-example/src/pages/api/media/image/index.tsx +++ b/examples/mini-program-example/src/pages/api/media/image/index.tsx @@ -12,79 +12,17 @@ export default class Index extends React.Component { state = { list: [ { - id: 'chooseImage_album', - func: (apiIndex) => { - TestConsole.consoleTest('chooseImage_album') - Taro.chooseImage({ - count: 7, - sizeType: ['original', 'compressed'], - sourceType: ['album'], - success: (res) => { - TestConsole.consoleSuccess.call(this, res, apiIndex) - }, - fail: (res) => { - TestConsole.consoleFail.call(this, res, apiIndex) - }, - complete: (res) => { - TestConsole.consoleComplete.call(this, res, apiIndex) - }, - }).then((res) => { - TestConsole.consoleResult.call(this, res, apiIndex) - }) - }, - }, - { - id: 'chooseImage_camera', - func: (apiIndex) => { - TestConsole.consoleTest('chooseImage_camera') - Taro.chooseImage({ - count: 5, - sizeType: ['original', 'compressed'], - sourceType: ['camera'], - success: (res) => { - TestConsole.consoleSuccess.call(this, res, apiIndex) - }, - fail: (res) => { - TestConsole.consoleFail.call(this, res, apiIndex) - }, - complete: (res) => { - TestConsole.consoleComplete.call(this, res, apiIndex) - }, - }).then((res) => { - TestConsole.consoleResult.call(this, res, apiIndex) - }) - }, - }, - { - id: 'chooseImage_user', - func: (apiIndex) => { - TestConsole.consoleTest('chooseImage_user') - Taro.chooseImage({ - count: 7, - sizeType: ['original', 'compressed'], - sourceType: ['user'], - success: (res) => { - TestConsole.consoleSuccess.call(this, res, apiIndex) - }, - fail: (res) => { - TestConsole.consoleFail.call(this, res, apiIndex) - }, - complete: (res) => { - TestConsole.consoleComplete.call(this, res, apiIndex) - }, - }).then((res) => { - TestConsole.consoleResult.call(this, res, apiIndex) - }) + id: 'chooseImage', + inputData: { + count: 7, + sizeType: ['original'], + sourceType: ['album'], + imageId: '' }, - }, - { - id: 'chooseImage_environment', - func: (apiIndex) => { - TestConsole.consoleTest('chooseImage_environment') + func: (apiIndex, data) => { + TestConsole.consoleTest('chooseImage') Taro.chooseImage({ - count: 5, - sizeType: ['original', 'compressed'], - sourceType: ['environment'], + ...data, success: (res) => { TestConsole.consoleSuccess.call(this, res, apiIndex) }, @@ -376,7 +314,7 @@ export default class Index extends React.Component { }, ], } - render() { + render () { const { list } = this.state return ( diff --git a/examples/mini-program-example/src/pages/api/media/map/index.tsx b/examples/mini-program-example/src/pages/api/media/map/index.tsx index f0bcadac963f..cd11fc3c6571 100644 --- a/examples/mini-program-example/src/pages/api/media/map/index.tsx +++ b/examples/mini-program-example/src/pages/api/media/map/index.tsx @@ -123,9 +123,9 @@ export default class Index extends React.Component { inputData: { markerId: 1, path: [ - { latitude: 38.925, longitude: 115.418 }, - { latitude: 39.925, longitude: 116.414 }, - { latitude: 39.935, longitude: 116.424 }, + { latitude: 39.916263, longitude: 116.403119}, + { latitude: 39.951671, longitude: 116.488781}, + { latitude: 39.968041, longitude: 116.534775}, ], duration: 5000, autoRotate: true, @@ -404,12 +404,12 @@ export default class Index extends React.Component { src: 'https://img0.baidu.com/it/u=2604176863,3349829508&fm=253&fmt=auto&app=138&f=PNG?w=243&h=243', bounds: { southwest: { - latitude: 39.915, - longitude: 116.404, + latitude: 39.90955, + longitude: 116.406616, }, northeast: { - latitude: 39.925, - longitude: 116.414, + latitude: 39.911487, + longitude: 116.408013, }, }, opacity: 1, @@ -562,14 +562,17 @@ export default class Index extends React.Component { handleClickLatitude = async () => { const latitude = this.state.lat - await this.setState({ + await this.setState( + { latitude, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeLongitude = (e) => { @@ -580,14 +583,17 @@ export default class Index extends React.Component { handleClickLongitude = async () => { const longitude = this.state.lng - await this.setState({ + await this.setState( + { longitude, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeRotate = (e) => { @@ -598,14 +604,17 @@ export default class Index extends React.Component { handleClickRotate = async () => { const rotate = this.state.rotated - await this.setState({ + await this.setState( + { rotate, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeSkew = (e) => { @@ -616,14 +625,17 @@ export default class Index extends React.Component { handleClickSkew = async () => { const skew = this.state.Skew - await this.setState({ + await this.setState( + { skew, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeScale = (e) => { @@ -638,14 +650,17 @@ export default class Index extends React.Component { handleClickScale = async () => { const scale = this.state.Scale - await this.setState({ + await this.setState( + { scale, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } render() { @@ -653,7 +668,8 @@ export default class Index extends React.Component { function onTaps(e) { console.log(e.detail) } - const markers = [{ + const markers = [ + { id: 1, latitude: 39.914887, longitude: 116.403694, @@ -668,14 +684,14 @@ export default class Index extends React.Component { color: '#ffffff', fontSize: 20, borderRadius: 24, - borderWidth:10, - borderColor:'#FF0000', - bgColor: '#4294ff', + borderWidth: 10, + borderColor: '#FF0000', + bgColor: 'red', padding: 8, display: 'BYCLICK', textAlign: 'center', - anchorX:-10, - anchorY:-20, + anchorX: -10, + anchorY: -10, }, label: { content: '天安门', @@ -690,9 +706,10 @@ export default class Index extends React.Component { padding: 20, textAlign: 'left', }, - anchor: { x: 0, y: 0 }, + anchor: { x: 0.5, y: 1 }, ariaLabel: '中国首都', - }] + }, + ] return ( {this.state.isShow && ( @@ -772,6 +789,8 @@ export default class Index extends React.Component { enableAutoMaxOverlooking={false} //是否开启最大俯视角 enable3D //是否开启3D onTap={onTaps} + height={'400px'} +            width={'400px'} > )} latitude: diff --git a/examples/mini-program-example/src/pages/api/media/realtimeAudioAndVideo/index.tsx b/examples/mini-program-example/src/pages/api/media/realtimeAudioAndVideo/index.tsx index 6e4ee88fbb9b..ba894c1adf10 100644 --- a/examples/mini-program-example/src/pages/api/media/realtimeAudioAndVideo/index.tsx +++ b/examples/mini-program-example/src/pages/api/media/realtimeAudioAndVideo/index.tsx @@ -1,6 +1,6 @@ import React from 'react' import Taro from '@tarojs/taro' -import { View, Button, Text, ScrollView, LivePlayer } from '@tarojs/components' +import { View, Button, LivePlayer } from '@tarojs/components' import ButtonList from '@/components/buttonList' import { TestConsole } from '@/util/util' import './index.scss' @@ -247,8 +247,9 @@ export default class Index extends React.Component { }, ], src: '', - srcurl: 'https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/flv/xgplayer-demo-480p.flv', + srcurl: 'https://hls-xjhsy.sobeylive.com/xjwlmqapp2019/211_q_live170191539951308.flv', isShow: true, + iscache: false, } handleInputChangeSrc = (e) => { this.setState({ @@ -257,17 +258,18 @@ export default class Index extends React.Component { } handleClickSrc = async () => { let srcurl = this.state.src - await this.setState( - { - srcurl, - isShow: false, - }, - () => { - this.setState({ - isShow: true, - }) - } - ) + await this.setState({ + srcurl, + }) + } + hendleFullScreenChange(e) { + console.log('hendleFullScreenChange', e) + } + updates = async () => { + let iscache = !this.state.iscache + await this.setState({ + iscache, + }) } render() { const { list } = this.state @@ -276,15 +278,18 @@ export default class Index extends React.Component { {this.state.isShow && ( - + )} - src: {' '} - + + src: {' '} + ) } diff --git a/examples/mini-program-example/src/pages/api/media/video/index.tsx b/examples/mini-program-example/src/pages/api/media/video/index.tsx index d876ba8e3ca5..37fe3ef26fb2 100644 --- a/examples/mini-program-example/src/pages/api/media/video/index.tsx +++ b/examples/mini-program-example/src/pages/api/media/video/index.tsx @@ -93,7 +93,7 @@ export default class Index extends React.Component { func: (apiIndex) => { TestConsole.consoleTest('getVideoInfo') Taro.chooseVideo({ - sourceType: ['album', 'camera'], + sourceType: ['album'], maxDuration: 60, camera: 'back', compressed: false, diff --git a/examples/mini-program-example/src/pages/api/network/download/index.tsx b/examples/mini-program-example/src/pages/api/network/download/index.tsx index cdccb202529e..dd508d756c25 100644 --- a/examples/mini-program-example/src/pages/api/network/download/index.tsx +++ b/examples/mini-program-example/src/pages/api/network/download/index.tsx @@ -17,7 +17,8 @@ export default class Index extends React.Component { { id: 'downloadFile', inputData: { - url: 'http://172.20.10.11:3000/static/test.jpg', + url: 'http://192.168.111.106:3000/test.jpg', + filePath: 'internal://cache/test.jpg', withCredentials: false, }, func: (apiIndex, data) => { @@ -27,7 +28,8 @@ export default class Index extends React.Component { { id: 'DownloadTask', inputData: { - url: 'http://172.20.10.11:3000/static/test.jpg', + url: 'http://192.168.111.106:3000/test.zip', + filePath: 'internal://cache/test.zip', withCredentials: false, }, func: (apiIndex, data) => { @@ -63,11 +65,21 @@ export default class Index extends React.Component { }, { id: 'onHeadersReceived', - func: null, + func: () => { + TestConsole.consoleTest('DownloadTask.onHeadersReceived') + if (this.state.task) { + ;(this.state.task as Taro.DownloadTask).onHeadersReceived(this.headersReceived) + } + }, }, { id: 'offHeadersReceived', - func: null, + func: () => { + TestConsole.consoleTest('DownloadTask.offHeadersReceived') + if (this.state.task) { + ;(this.state.task as Taro.DownloadTask).offHeadersReceived(this.headersReceived) + } + }, }, ], } @@ -75,6 +87,10 @@ export default class Index extends React.Component { TestConsole.consoleOnCallback.call(this, res, 'onProgressUpdate', 3) } + headersReceived = (res) => { + TestConsole.consoleOnCallback.call(this, res, 'headersReceived', 5) + } + startDownloadFile(apiIndex, data, testTitle) { TestConsole.consoleTest(testTitle) const task = Taro.downloadFile({ @@ -95,6 +111,7 @@ export default class Index extends React.Component { TestConsole.consoleNormal('DownloadTask', task) this.setState({ task }) task.onProgressUpdate(this.progressUpdate) + task.onHeadersReceived(this.headersReceived) } render() { diff --git a/examples/mini-program-example/src/pages/api/network/request/index.tsx b/examples/mini-program-example/src/pages/api/network/request/index.tsx index 15de637d505d..bde2a1c75ec9 100644 --- a/examples/mini-program-example/src/pages/api/network/request/index.tsx +++ b/examples/mini-program-example/src/pages/api/network/request/index.tsx @@ -17,7 +17,7 @@ export default class Index extends React.Component { { id: 'request', inputData: { - url: 'http://192.168.217.245:3000/hello', + url: 'http://192.168.43.232:3000/hello', dataType: 'json', method: 'POST', data: { name: 'Taro' }, @@ -71,7 +71,7 @@ export default class Index extends React.Component { TestConsole.consoleOnCallback.call(this, res, 'onHeadersReceived', 2) } - startRequest(apiIndex, data, testTitle) { + startRequest = (apiIndex, data, testTitle) => { TestConsole.consoleTest(testTitle) const task = Taro.request({ ...data, @@ -87,7 +87,7 @@ export default class Index extends React.Component { }) this.setState({ task }) TestConsole.consoleNormal('Taro.RequestTask', task) - task.onHeadersReceived(headersReceived) + task.onHeadersReceived(this.headersReceived) } render() { diff --git a/examples/mini-program-example/src/pages/api/network/upload/index.tsx b/examples/mini-program-example/src/pages/api/network/upload/index.tsx index 0d2ded3d273d..6f3f0ca2a598 100644 --- a/examples/mini-program-example/src/pages/api/network/upload/index.tsx +++ b/examples/mini-program-example/src/pages/api/network/upload/index.tsx @@ -25,7 +25,7 @@ export default class Index extends React.Component { { id: 'uploadFile', inputData: { - url: 'http://192.168.217.245:3000/upload', + url: 'http://192.168.111.106:3000/upload', filePath: 'internal://cache/test.jpg', name: 'file', withCredentials: false, @@ -37,7 +37,7 @@ export default class Index extends React.Component { { id: 'UploadTask', inputData: { - url: 'http://192.168.217.245:3000/upload', + url: 'http://192.168.111.106:3000/upload', filePath: 'internal://cache/test.zip', name: 'file', withCredentials: false, diff --git a/examples/mini-program-example/src/pages/api/openAPIS/login/index.tsx b/examples/mini-program-example/src/pages/api/openAPIS/login/index.tsx index 2f5a851234f7..50dc2c03278d 100644 --- a/examples/mini-program-example/src/pages/api/openAPIS/login/index.tsx +++ b/examples/mini-program-example/src/pages/api/openAPIS/login/index.tsx @@ -19,6 +19,7 @@ export default class Index extends React.Component { timeout: 2000, }, func: (apiIndex, data) => { + TestConsole.consoleTest('Taro.login') Taro.login({ ...data, success: (res) => { diff --git a/examples/mini-program-example/src/pages/api/openAPIS/subscribeNews/index.tsx b/examples/mini-program-example/src/pages/api/openAPIS/subscribeNews/index.tsx index b63752133e6c..45fc7721e654 100644 --- a/examples/mini-program-example/src/pages/api/openAPIS/subscribeNews/index.tsx +++ b/examples/mini-program-example/src/pages/api/openAPIS/subscribeNews/index.tsx @@ -16,13 +16,9 @@ export default class Index extends React.Component { { id: 'requestSubscribeMessage', inputData: { - tmplIds: [''], + tmplIds: ['OTHER_TYPES', 'CONTENT_INFORMATION', 'SERVICE_INFORMATION', 'SOCIAL_COMMUNICATION'], }, func: (apiIndex, data) => { - TestConsole.consoleTest('Taro.requestSubscribeMessage') - Taro.requestSubscribeMessage(data).then((res) => { - TestConsole.consoleNormal('requestSubscribeMessage', res) - }) Taro.requestSubscribeMessage({ ...data, success: (res) => { diff --git a/examples/mini-program-example/src/pages/component/live-player/live-player.js b/examples/mini-program-example/src/pages/component/live-player/live-player.js index 40fef4173bef..8458ca80f136 100644 --- a/examples/mini-program-example/src/pages/component/live-player/live-player.js +++ b/examples/mini-program-example/src/pages/component/live-player/live-player.js @@ -10,12 +10,21 @@ export default class PageView extends React.Component { super(props) this.state = { src: '', - srcurl: 'https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/flv/xgplayer-demo-480p.flv', + srcurl: 'https://hls-xjhsy.sobeylive.com/xjwlmqapp2019/211_q_live170191539951308.flv', isShow: true, - minCache: 1, - maxCache: 3, - min: 1, - max: 3, + minCacheOne: 5, + minCacheTwo: -1, + minCacheThree: 0.2, + minCacheFour: -0.2, + maxCacheOne: 8, + maxCacheTwo: 3, + maxCacheThree: 3, + maxCacheFour: 3, + maxOne: 3, + maxTwo: 3, + maxThree: 3, + maxFour: 3, + iscache: false, } } handleInputChangeSrc = (e) => { @@ -23,57 +32,64 @@ export default class PageView extends React.Component { src: e.target.value, }) } - handleInputChangeMin = (e) => { + handleInputChangeMaxOne = (e) => { this.setState({ - min: e.target.value, + maxOne: e.target.value, }) } - handleInputChangeMax = (e) => { + handleInputChangeMaxTwo = (e) => { this.setState({ - max: e.target.value, + maxTwo: e.target.value, + }) + } + handleInputChangeMaxThree = (e) => { + this.setState({ + maxThree: e.target.value, + }) + } + handleInputChangeMaxFour = (e) => { + this.setState({ + maxFour: e.target.value, }) } handleClickSrc = async () => { let srcurl = this.state.src - await this.setState( - { - srcurl, - isShow: false, - }, - () => { - this.setState({ - isShow: true, - }) - } - ) + await this.setState({ + srcurl, + }) } - handleClickMin = async () => { - let minCache = this.state.min - await this.setState( - { - minCache, - isShow: false, - }, - () => { - this.setState({ - isShow: true, - }) - } - ) + handleClickMaxOne = async () => { + let maxCacheOne = this.state.maxOne + await this.setState({ + maxCacheOne, + }) } - handleClickMax = async () => { - let maxCache = this.state.max - await this.setState( - { - maxCache, - isShow: false, - }, - () => { - this.setState({ - isShow: true, - }) - } - ) + handleClickMaxTwo = async () => { + let maxCacheTwo = this.state.maxTwo + await this.setState({ + maxCacheTwo, + }) + } + handleClickMaxThree = async () => { + let maxCacheThree = this.state.maxThree + await this.setState({ + maxCacheThree, + }) + } + handleClickMaxFour = async () => { + let maxCacheFour = this.state.maxFour + await this.setState({ + maxCacheFour, + }) + } + hendleFullScreenChange(e) { + console.log('hendleFullScreenChange', e) + } + updates = async () => { + let iscache = !this.state.iscache + await this.setState({ + iscache, + }) } render() { return ( @@ -87,45 +103,96 @@ export default class PageView extends React.Component { + live min:5,max:8 {this.state.isShow && ( + )} + + 最大缓冲区(数字类型): {' '} + + + live min:-1,max:3 + {this.state.isShow && ( + + )} + + 最大缓冲区(数字类型): {' '} + + + RTC min:0.2,max:0.8 + {this.state.isShow && ( + )} + 最大缓冲区(数字类型): {' '} + + RTC min:-0.2,max:0.8 onFullScreenChange {this.state.isShow && ( )} + 最大缓冲区(数字类型): {' '} + + src: {' '} - 最大缓冲区(数字类型): {' '} - - 最小缓冲区(数字类型): {' '} - diff --git a/examples/mini-program-example/src/pages/component/live-player/live-player.scss b/examples/mini-program-example/src/pages/component/live-player/live-player.scss index eca431efddd6..7c6fd9039b2f 100644 --- a/examples/mini-program-example/src/pages/component/live-player/live-player.scss +++ b/examples/mini-program-example/src/pages/component/live-player/live-player.scss @@ -1,4 +1,3 @@ .example-body{ text-align: center; - margin-top: 200px; } \ No newline at end of file diff --git a/examples/mini-program-example/src/pages/component/map/map.js b/examples/mini-program-example/src/pages/component/map/map.js index 8e29d40df074..87e81b88c285 100644 --- a/examples/mini-program-example/src/pages/component/map/map.js +++ b/examples/mini-program-example/src/pages/component/map/map.js @@ -39,7 +39,8 @@ export default class PageView extends React.Component { enableAutoMaxOverlooking: false, enableTraffic: false, Traffic: false, - markers: [{ + markers: [ + { id: 8888888888, latitude: 39.914887, longitude: 116.403694, @@ -74,7 +75,7 @@ export default class PageView extends React.Component { bgColor: '#fff', padding: 20, }, - anchor: { x: 0, y: 0 }, + anchor: { x: 0.5, y: 1 }, }, { id: 666666666, @@ -112,10 +113,12 @@ export default class PageView extends React.Component { bgColor: '#fff', padding: 20, }, - anchor: { x: 0, y: 0 }, - }], + anchor: { x: 0.5, y: 1 }, + }, + ], - polyline: [{ + polyline: [ + { points: [ { longitude: 120.219375, latitude: 30.25961 }, { longitude: 110.220375, latitude: 30.25961 }, @@ -125,9 +128,11 @@ export default class PageView extends React.Component { color: 'red', // 路线颜色 width: 5, // 路线宽度 dottedLine: false, // 是否为虚线 - }], + }, + ], - circles: [{ + circles: [ + { latitude: 39.90923, longitude: 116.397428, radius: 1000, @@ -142,9 +147,11 @@ export default class PageView extends React.Component { color: 'red', fillColor: 'blue', strokeWidth: 10, - }], - - polygons: [{ + }, + ], + + polygons: [ + { points: [ { latitude: 31.230416, longitude: 121.473701 }, { latitude: 39.938102, longitude: 122.473701 }, @@ -154,7 +161,8 @@ export default class PageView extends React.Component { fillColor: 'yellow', strokeColor: 'pink', strokeWidth: 5, - }], + }, + ], } } handleInputChangeLatitude = (e) => { @@ -164,15 +172,18 @@ export default class PageView extends React.Component { } handleClickLatitude = async () => { - const latitude = /^\d+(\.\d+)?$/.test(this.state.lat) ? this.state.lat : '' - await this.setState({ + const latitude = /^-?\d+(\.\d+)?$/.test(this.state.lat.toString()) || this.state.lat === 0 ? this.state.lat : '' + await this.setState( + { latitude, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeLongitude = (e) => { @@ -182,15 +193,18 @@ export default class PageView extends React.Component { } handleClickLongitude = async () => { - const longitude = /^\d+(\.\d+)?$/.test(this.state.lng) ? this.state.lng : '' - await this.setState({ + const longitude = /^-?\d+(\.\d+)?$/.test(this.state.lng.toString()) || this.state.lng === 0 ? this.state.lng : '' + await this.setState( + { longitude, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeScale = (e) => { @@ -201,14 +215,17 @@ export default class PageView extends React.Component { handleClickScale = async () => { const scale = /^\d+$/.test(this.state.sca) ? this.state.sca : '' - await this.setState({ + await this.setState( + { scale, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeMinScale = (e) => { @@ -219,14 +236,17 @@ export default class PageView extends React.Component { handleClickMinScale = async () => { const minScale = /^\d+$/.test(this.state.min) ? this.state.min : '' - await this.setState({ + await this.setState( + { minScale, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeMaxScale = (e) => { @@ -237,14 +257,17 @@ export default class PageView extends React.Component { handleClickMaxScale = async () => { const maxScale = /^\d+$/.test(this.state.max) ? this.state.max : '' - await this.setState({ + await this.setState( + { maxScale, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeEnableBuilding = (e) => { @@ -255,14 +278,17 @@ export default class PageView extends React.Component { handleClickEnableBuilding = async () => { const enableBuilding = this.state.build === 'false' ? this.state.build : true - await this.setState({ + await this.setState( + { enableBuilding, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeEnable3D = (e) => { @@ -273,14 +299,17 @@ export default class PageView extends React.Component { handleClickEnable3d = async () => { const enable3D = this.state.enable3d === 'true' ? this.state.enable3d : false - await this.setState({ + await this.setState( + { enable3D, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeSkew = (e) => { @@ -291,14 +320,17 @@ export default class PageView extends React.Component { handleClickEnableSkew = async () => { const skew = /^\d+(\.\d+)?$/.test(this.state.sk) ? this.state.sk : '' - await this.setState({ + await this.setState( + { skew, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeEnableOverlooking = (e) => { @@ -309,14 +341,17 @@ export default class PageView extends React.Component { handleClickEnableOverlooking = async () => { const enableOverlooking = this.state.overlooking === 'true' ? this.state.overlooking : false - await this.setState({ + await this.setState( + { enableOverlooking, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeEnableAutoMaxOverlooking = (e) => { @@ -327,14 +362,17 @@ export default class PageView extends React.Component { handleClickEnableAutoMaxOverlooking = async () => { const enableAutoMaxOverlooking = this.state.AutoMaxOverlooking === 'true' ? this.state.AutoMaxOverlooking : false - await this.setState({ + await this.setState( + { enableAutoMaxOverlooking, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeEnableTraffic = (e) => { @@ -345,14 +383,17 @@ export default class PageView extends React.Component { handleClickEnableTraffic = async () => { const enableTraffic = this.state.Traffic === 'true' ? this.state.Traffic : false - this.setState({ + this.setState( + { enableTraffic, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeEnableSatellite = (e) => { @@ -363,14 +404,17 @@ export default class PageView extends React.Component { handleClickEnableSatellite = async () => { const enableSatellite = this.state.Satellite === 'true' ? this.state.Satellite : false - await this.setState({ + await this.setState( + { enableSatellite, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeRotate = (e) => { @@ -381,14 +425,17 @@ export default class PageView extends React.Component { handleClickRotate = async () => { const rotate = /^\d+(\.\d+)?$/.test(this.state.rotated) ? this.state.rotated : '' - await this.setState({ + await this.setState( + { rotate, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeEnableScroll = (e) => { @@ -399,14 +446,17 @@ export default class PageView extends React.Component { handleClickEnableScroll = async () => { const enableScroll = this.state.Scroll === 'false' ? this.state.Scroll : true - await this.setState({ + await this.setState( + { enableScroll, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeShowCompass = (e) => { @@ -417,14 +467,17 @@ export default class PageView extends React.Component { handleClickShowCompass = async () => { const showCompass = this.state.compass === 'true' ? this.state.compass : false - await this.setState({ + await this.setState( + { showCompass, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeEnableZoom = (e) => { @@ -435,14 +488,17 @@ export default class PageView extends React.Component { handleClickEnableZoom = async () => { const enableZoom = this.state.zoom === 'false' ? this.state.zoom : true - await this.setState({ + await this.setState( + { enableZoom, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeSubkey = (e) => { @@ -453,14 +509,17 @@ export default class PageView extends React.Component { handleClickSubkey = async () => { const subkey = this.state.key - await this.setState({ + await this.setState( + { subkey, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, - }) - }) + }) + } + ) } handleInputChangeLayerStyle = (e) => { @@ -471,14 +530,17 @@ export default class PageView extends React.Component { handleClickLayerStyle = async () => { const layerStyle = /^\d+$/.test(this.state.style) ? this.state.style : '' - await this.setState({ + await this.setState( + { layerStyle, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeShowScale = (e) => { @@ -489,62 +551,77 @@ export default class PageView extends React.Component { handleClickShowScale = async () => { const showScale = this.state.ShowScaled === 'true' ? this.state.ShowScaled : false - await this.setState({ + await this.setState( + { showScale, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeMakers = async (e) => { const markers = JSON.parse(e.target.value) - await this.setState({ + await this.setState( + { markers, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangePolyline = async (e) => { const polyline = JSON.parse(e.target.value) - await this.setState({ + await this.setState( + { polyline, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangeCircles = async (e) => { const circles = JSON.parse(e.target.value) - await this.setState({ + await this.setState( + { circles, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } handleInputChangePolygons = async (e) => { const polygons = JSON.parse(e.target.value) - await this.setState({ + await this.setState( + { polygons, isShow: false, - },() => { + }, + () => { this.setState({ isShow: true, }) - }) + } + ) } render() { @@ -585,6 +662,8 @@ export default class PageView extends React.Component { enableAutoMaxOverlooking={this.state.enableAutoMaxOverlooking} enableTraffic={this.state.enableTraffic} onTap={onTaps} + height={'400px'} +            width={'400px'} > )} latitude: diff --git a/examples/mini-program-example/src/pages/component/slider/slider.js b/examples/mini-program-example/src/pages/component/slider/slider.js index 2f8af350fd0c..86a9734fe425 100644 --- a/examples/mini-program-example/src/pages/component/slider/slider.js +++ b/examples/mini-program-example/src/pages/component/slider/slider.js @@ -54,7 +54,7 @@ export default class PageSlider extends React.Component { 设置最小/最大值 - +
diff --git a/examples/mini-program-example/src/pages/index/index.scss b/examples/mini-program-example/src/pages/index/index.scss index ca54c1638ff0..20fe3a04711b 100644 --- a/examples/mini-program-example/src/pages/index/index.scss +++ b/examples/mini-program-example/src/pages/index/index.scss @@ -20,5 +20,5 @@ .buttonStyle { width: 200px; - margin-top: 380px; + margin-top: 100px; } diff --git a/examples/mini-program-example/src/pages/index/index.tsx b/examples/mini-program-example/src/pages/index/index.tsx index fb35e981715e..135869ac3e75 100644 --- a/examples/mini-program-example/src/pages/index/index.tsx +++ b/examples/mini-program-example/src/pages/index/index.tsx @@ -2,6 +2,7 @@ import { View, Button } from '@tarojs/components' import Taro, { useLoad, useDidShow } from '@tarojs/taro' import './index.scss' import { TestConsole } from '@/util/util' +import nativeApi from "@/util/nativeApi"; export default function Index() { useLoad(() => { @@ -37,6 +38,33 @@ export default function Index() { > Api示例 + + +
) } diff --git a/examples/mini-program-example/src/pages/performance/index/index.config.ts b/examples/mini-program-example/src/pages/performance/index/index.config.ts new file mode 100644 index 000000000000..bb4e054d12d8 --- /dev/null +++ b/examples/mini-program-example/src/pages/performance/index/index.config.ts @@ -0,0 +1,7 @@ +export default { + navigationBarTitleText: '性能压测', + enablePullDownRefresh: true, + backgroundTextStyle: 'dark', + onReachBottomDistance: 50, + pageOrientation: 'auto', +} diff --git a/examples/mini-program-example/src/pages/performance/index/index.scss b/examples/mini-program-example/src/pages/performance/index/index.scss new file mode 100644 index 000000000000..42bb2fbda5ef --- /dev/null +++ b/examples/mini-program-example/src/pages/performance/index/index.scss @@ -0,0 +1,15 @@ +@import "@/styles/variables.scss"; + +.test-style { + color: #f5f5f5; + background-color: $color-success; +} + +.callback-content { + display: none; +} + +.performance_result { + font-size: 20px; + margin-top: 5px; +} diff --git a/examples/mini-program-example/src/pages/performance/index/index.tsx b/examples/mini-program-example/src/pages/performance/index/index.tsx new file mode 100644 index 000000000000..84efe0564397 --- /dev/null +++ b/examples/mini-program-example/src/pages/performance/index/index.tsx @@ -0,0 +1,548 @@ +import React from 'react' +import { View, Button, Text } from '@tarojs/components' +// import { TestConsole } from '@/util/util' +import './index.scss' +import Taro from "@tarojs/taro"; + +function methodTime(fun: (endFun: ()=>void)=>void): Promise { + return new Promise((resolve)=>{ + let startTimeTaro: number = Date.now() + fun(()=>{ + const excuteTime = Date.now() - startTimeTaro + resolve(excuteTime) + }) + }) +} + +function taroAndNativeMethodTime(methodName: string, taroFun: (endFun: ()=>void)=>void, nativeFun: (endFun:()=>void)=>void): Promise<{taroTime: number, nativeTime: number, excuteLog: string}>{ + const taroPromise = methodTime(taroFun) + const nativePromise = methodTime(nativeFun) + return Promise.all([taroPromise, nativePromise]).then((result)=>{ + const taroTime = result[0] + const nativeTime = result[1] + const excuteLog = `同步调用${methodName}() 耗时:Taro ${result[0]} ms, Native ${result[1]}ms` + return {taroTime, nativeTime, excuteLog} + }) +} + +function jsFetch(endFun: ()=>void){ + // 定义请求头 + const headers = new Headers(); + headers.append("Content-Type", "application/x-www-form-urlencoded,application/json"); // 替换为实际的访问令牌 + headers.append("scene", '1001'); + headers.append("appCode", '0'); + headers.append("thirdKey", "UPYIu5EGmjPu2pQqHOYUaMLk0j4m5tgt9aK1tboYlYeixxkotYfsTvbyRSPNNNjH"); + headers.append("cateCode", ""); + headers.append("version", "2.2"); + headers.append("wxsysinfo", "eyJicmFuZCI6IkhVQVdFSSIsIm1vZGVsIjoiTk9ILUFOMDAiLCJwaXhlbFJhdGlvIjozLjUsInNjcmVlbldpZHRoIjozODQsInNjcmVlbkhlaWdodCI6NzkyLCJ3aW5kb3dXaWR0aCI6Mzg0LCJ3aW5kb3dIZWlnaHQiOjc5Miwic3RhdHVzQmFySGVpZ2h0IjozOSwibGFuZ3VhZ2UiOiJ6aC1IYW5zIiwidmVyc2lvbiI6IjQuMC4xMC4xMCIsInN5c3RlbSI6Ik9wZW5IYXJtb255LTQuMC4xMC4xMCIsInBsYXRmb3JtIjoiT3Blbkhhcm1vbnkiLCJmb250U2l6ZVNldHRpbmciOjE2LCJTREtWZXJzaW9uIjoiMTAiLCJiZW5jaG1hcmtMZXZlbCI6LTEsImFsYnVtQXV0aG9yaXplZCI6ZmFsc2UsImNhbWVyYUF1dGhvcmaserwefsdgesryhcvbiOmZhbHNlLCJtaWNyb3Bob25lQXV0aG9yaXplZCI6ZmFsc2UsIm5vdGlmaWNhdGlvbkF1dGhvcml6ZWQiOnRydWUsInBob25lQ2FsZW5kYXJBdXRob3JpemVkIjpmYWxzZSwiYmx1ZXRvb3RoRW5hYmxlZCI6dHJ1ZSwibG9jYXRpb25FbmFibGVkIjpmYWxzZSwid2lmaUVuYWJsZerteyrbdfdserytrhbdfgdLCJoZWlnaHQiOjc1MywibGVmdCI6MCwicmlnaHQiOjM4NCwidG9wIjozOSwid2lkdGgiOjM4NH0sImxvY2F0aW9uUmVkdWNlZEFjY3VyYWN5Ijp0cnVlLCJ0aGVtZSI6ImxpZ2h0IiwiaG9zdCI6eyJhcHBJZCI6ImNvbS53dWJhLmxpZmVfQkxQYzZzTlIyNFhpSGFmZExXako4UnErbS9rckNxVXdwV3Bqam1jRGZTRkZKMkNDQlNZTHFOUlBiZmdCeXFlYkl2emw0Q0tKZ2ZQbnBjaTN3VE9leElZPSJ9LCJlbmFibGVEZWJ1ZyI6dHJ1ZSwiZGV2aWNlT3JpZW50YXRpb24iOiJxx3J0cmFpdCJ9"); + headers.append("listName", "bj"); + headers.append("content-type", "application/json"); + headers.append("idxx", "B41CF5FA70F3DD19B1D87389CF045C8A1614CBEE645A9174BDDFDF1265A56129"); + headers.append("Cookie", "PPU=\"\";idxx=sdfergdshrthfbscaswqr;sessionid=sdddgerhfgjntfyjvzserweagergsderty;"); + headers.append("accuracy", ""); + headers.append("geo", ""); + headers.append("abtest", ""); + + // 发起GET请求 + fetch('http://10.253.108.182:9999/api/pressure/feed?app=sdfwef&lon=&lat=&session=sdfwefwefsgrhrjgjtyjkyukyuksdfxsddr×tamp=170442018xx28&mediauid=dfghrhgfjyukhmgertdfbvdfhrtyrtdfg&devidmd5=IMEI&utm_source=xxun&spm=u-2h6kyt1yf988m1ww31.wx_mjh_feed_zhaogongzuo&brand=HUAWEI&os=OpenHarmony&model=NOH-AN00&city=bj&cate=pugongjg&slot=lm_list_template&pn=1&ps=10&url=https%3A%2F%2Fwxzzmp.xx.com%2Flist.shtml%3F-15%3D20&sign=3ccfb781037ed655120d63c4b5e5c391&debug=1', { + method: 'GET', + headers: headers, + }) + .then(response => { + if (!response.ok) { + throw new Error(`Network response was not ok, status: ${response.status}`); + } + return response.json(); + }) + .then(data => { + endFun() + // 在这里处理返回的JSON数据 + // console.log(data); + }) + .catch(error => { + console.error('Error during fetch operation:', error); + }); +} + +export default class Index extends React.Component { + state = { + syncSingleResult: '', + requestSingleResult: '', + requestConcurrentResult: '', + requestHignConcurrentResult: '', + syncResult: '', + requestByJsResult: '' + } + syncSingleTest = ()=>{ + Promise.all([ + methodTime((endFun)=>{ + Taro.getWindowInfo() + endFun() + }), + methodTime((endFun)=>{ + // @ts-ignore + native.getWindowInfo() + endFun() + }), + methodTime((endFun)=>{ + Taro.getScreenBrightness({ + success: function () {endFun()}, + fail: function (){endFun()}, + complete: function () {} + }) + }), + methodTime((endFun)=>{ + // @ts-ignore + native.getScreenBrightness({ + success: function () {endFun()}, + fail: function (){endFun()}, + }) + }) + ]) + .then((result)=>{ + let totalExcuteLog: string[] = [] + totalExcuteLog.push(`同步调用getWindowInfo() 耗时:Taro ${result[0]} ms, Native ${result[1]}ms`) + totalExcuteLog.push(`异步调用getScreenBrightness() 耗时:Taro ${result[2]} ms, Native ${result[3]}ms`) + this.setState({ + syncSingleResult: totalExcuteLog.join('\n') + }) + }) + } + + syncPressureTest = ()=>{ + Promise.all([ + // @ts-ignore + taroAndNativeMethodTime('getSystemInfoSync', (endFun)=>{Taro.getSystemInfoSync();endFun()}, (endFun)=>{native.getSystemInfoSync();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getWindowInfo', (endFun)=>{Taro.getWindowInfo();endFun()}, (endFun)=>{native.getWindowInfo();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getSystemSetting', (endFun)=>{Taro.getSystemSetting();endFun()}, (endFun)=>{native.getSystemSetting();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getAppBaseInfo', (endFun)=>{Taro.getAppBaseInfo();endFun()}, (endFun)=>{native.getAppBaseInfo();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getSystemInfoSync', (endFun)=>{Taro.getSystemInfoSync();endFun()}, (endFun)=>{native.getSystemInfoSync();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getAppAuthorizeSetting', (endFun)=>{Taro.getAppAuthorizeSetting();endFun()}, (endFun)=>{native.getAppAuthorizeSetting();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getSystemInfoSync', (endFun)=>{Taro.getSystemInfoSync();endFun()}, (endFun)=>{native.getSystemInfoSync();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getWindowInfo', (endFun)=>{Taro.getWindowInfo();endFun()}, (endFun)=>{native.getWindowInfo();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getAppBaseInfo', (endFun)=>{Taro.getAppBaseInfo();endFun()}, (endFun)=>{native.getAppBaseInfo();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getSystemInfoSync', (endFun)=>{Taro.getSystemInfoSync();endFun()}, (endFun)=>{native.getSystemInfoSync();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getAppAuthorizeSetting', (endFun)=>{Taro.getAppAuthorizeSetting();endFun()}, (endFun)=>{native.getAppAuthorizeSetting();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getSystemInfoSync', (endFun)=>{Taro.getSystemInfoSync();endFun()}, (endFun)=>{native.getSystemInfoSync();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getWindowInfo', (endFun)=>{Taro.getWindowInfo();endFun()}, (endFun)=>{native.getWindowInfo();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getSystemSetting', (endFun)=>{Taro.getSystemSetting();endFun()}, (endFun)=>{native.getSystemSetting();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getAppBaseInfo', (endFun)=>{Taro.getAppBaseInfo();endFun()}, (endFun)=>{native.getAppBaseInfo();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getSystemInfoSync', (endFun)=>{Taro.getSystemInfoSync();endFun()}, (endFun)=>{native.getSystemInfoSync();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getAppAuthorizeSetting', (endFun)=>{Taro.getAppAuthorizeSetting();endFun()}, (endFun)=>{native.getAppAuthorizeSetting();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getMenuButtonBoundingClientRect', (endFun)=>{Taro.getMenuButtonBoundingClientRect();endFun()}, (endFun)=>{native.getMenuButtonBoundingClientRect();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getSystemInfoSync', (endFun)=>{Taro.getSystemInfoSync();endFun()}, (endFun)=>{native.getSystemInfoSync();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getWindowInfo', (endFun)=>{Taro.getWindowInfo();endFun()}, (endFun)=>{native.getWindowInfo();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getAppBaseInfo', (endFun)=>{Taro.getAppBaseInfo();endFun()}, (endFun)=>{native.getAppBaseInfo();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getSystemInfoSync', (endFun)=>{Taro.getSystemInfoSync();endFun()}, (endFun)=>{native.getSystemInfoSync();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getAppAuthorizeSetting', (endFun)=>{Taro.getAppAuthorizeSetting();endFun()}, (endFun)=>{native.getAppAuthorizeSetting();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getSystemInfoSync', (endFun)=>{Taro.getSystemInfoSync();endFun()}, (endFun)=>{native.getSystemInfoSync();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getWindowInfo', (endFun)=>{Taro.getWindowInfo();endFun()}, (endFun)=>{native.getWindowInfo();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getAppBaseInfo', (endFun)=>{Taro.getAppBaseInfo();endFun()}, (endFun)=>{native.getAppBaseInfo();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getSystemInfoSync', (endFun)=>{Taro.getSystemInfoSync();endFun()}, (endFun)=>{native.getSystemInfoSync();endFun()}), + // @ts-ignore + taroAndNativeMethodTime('getAppAuthorizeSetting', (endFun)=>{Taro.getAppAuthorizeSetting();endFun()}, (endFun)=>{native.getAppAuthorizeSetting();endFun()}), + ]) + .then((result)=>{ + let totalElapsedTimeTaro = 0 + let totalElapsedTimeNative = 0 + const totalExcuteLog: string[] = [] + totalExcuteLog.push('同步方法压测:case构建:冷启动场景,28次同步调用') + result.forEach(({taroTime, nativeTime, excuteLog})=>{ + totalElapsedTimeTaro += taroTime + totalElapsedTimeNative += nativeTime + totalExcuteLog.push(excuteLog) + }) + totalExcuteLog.push(`总计调用 ${result.length}个方法 \n Taro执行总时间 ${totalElapsedTimeTaro} ms,Native执行总时间 ${totalElapsedTimeNative} ms`) + this.setState({ + syncResult: totalExcuteLog.join('\n') + }) + }) + } + requestSingleTest = ()=>{ + Promise.all([ + methodTime((endFun)=>{ + // 日志请求 + Taro.request({ + url: 'http://10.253.108.182:9999/api/pressure/tracklog?wxid=wlfkjwoejfjsdfjowie&uid=slkfjowejfkmofwe&loginUid=undefined&trackURL=%7B%22pagePath%22%3A%22%2Fpages%2Findex%2Findex%22%2C%22refPagePath%22%3A%22%2Fpages%2Fprivacy%2Findex%22%2C%22pageParam%22%3A%22stamp%253DAE%2526%252524taroTimestamp%253D1704420185161%22%2C%22pageType%22%3A%22index%22%2C%22pageName%22%3A%22index%22%2C%22pageInfo%22%3A%22%22%2C%22loadTime%22%3A0%2C%22cateCode%22%3A%22%22%2C%22cate%22%3A%22%22%2C%22xxx_id%22%3A%22%22%2C%22bendiicontype%22%3A%22%22%2C%22currInfoId%22%3A%22%22%2C%22currentCateCode%22%3A%22%22%2C%22scene%22%3A1001%2C%22thirdKey%22%3A%22UPYIu5EGmjPu2pQqHOYUaMLk0j4m5tgt9aK1tboYlYeixxkotYfsTvbyRSPNNNjH%22%2C%22area%22%3A%221%22%2C%22openId%22%3A%22B41CF5FA70F3DD19B1D87389CF045C8A1614CBEE645A9174BDDFDF1265A56129%22%2C%22unionId%22%3A%22C8684F4C3107AD7AA8B19B343D75DDF989D120311D18F9F41EB2320F6FFA66BE%22%2C%22pagetype%22%3A%22index%22%2C%22page%22%3A%22%22%2C%22qudao%22%3A%22weixin%22%2C%22url%22%3A%22%2Fpages%2Findex%2Findex%22%2C%22referrer%22%3A%22%2Fpages%2Fprivacy%2Findex%22%2C%22version%22%3A%222.12.12%22%2C%22spm%22%3A%22%22%2C%22utm_source%22%3A%22%22%2C%22launch_source%22%3A%22%22%2C%22from_userid%22%3A%22%22%2C%22hasuserid%22%3A0%7D&v=1.0.0&rand_id=0.9838634192853211&thirdKey=UPYIu5EGmjPu2pQqHOYUaMLk0j4m5tgt9aK1tboYlYeixxkotYfsTvbyRSPNNNjH&appCode=0&debug=1', + method: 'GET', + data: {}, + header: { + "Content-Type": "application/x-www-form-urlencoded,application/json", + "scene": 1001, + "appCode": "0", + "thirdKey": "sklfmowejfklsmfoijwfjlksdmgvioejrgkdmv;ojdspjrlmsdsvklnsoidjfpwk", + "cateCode": "", + "version": "2.12.12", + "wxsysinfo": "eyJicmFuZCI6IkhVQVdFSSIsIm1vZGVsIjoiTk9ILUFOMDAiLCJwaXhlbFJhdGlvIjozLjUsInNjcmVlbldpZHRoIjozODQsInNjcmVlbkhlaWdodCI6NzkyLCJ3aW5kb3dXaWR0aCI6Mzg0LCJ3aW5kb3dIZWlnaHQiOjc5Miwic3RhdHVzQmFySGVpZ2h0IjozOSwibGFuZ3VhZ2UiOiJ6aC1IYW5zIiwidmVyc2lvbiI6I23123113161RlbSI6Ik9wZW5IYXJtb255LTQuMC4xMC4xMCIsInBsYXRmb3JtIjoiT3Blbkhhcm1vbnkiLCJmb250U2l6ZVNldHRpbmciOjE2LCJTREtWZXJzaW9uIjoiMTAiLCJiZW5jaG1hcmtMZXZlbCI6LTEsImFsYnVtQXV0aG9yaXplZCI6ZmFsc2UsImNhbWVyYUF1dGhvcml6ZWQiOmZhbHNlLCJsb2NhdGlvbkF1dGhvcml6ZWQisdfwefsdgv3Bob25lQXV0aG9yaXplZCI6ZmFsgwegfwegwegsdgfkF1dGhvcml6ZWQiOnRydWUsInBob25lQ2FsZW5kYXJBdXRob3JpemVkIjpmYWxzZSwiYmx1ZXRvb3RoRW5hYmxlZCI6dHJ1ZSwqwrqwdasdafsdfgdfghergewvcxbcvxcvhdfydid2lmaUVuYWJsZWQiOnRydWUsInNhZmVBcmVhIjp7ImJvdHRvbSI6NzkyLCJoZWlnaHQiOjc1MywibGVmdCI6MCwicmlnaHQiOjM4NCwidG9wIjozOSwid2lkdGgiOjM4NH0sImxvY2F0aW9uUmVkdWNlZEFjY3VyYWN5Ijp0cnVlLCJ0aGVtZSI6ImxpZ2h0IiwisefkwoejfowfwecHBJZCI6ImNvbS53dWJhLmxpZmVfQkxQYzZzTlIyNFhpSGFmZExXako4UnErbS9rckNxVXdwV3Bqam1jRGZTRkZKMkNDQlNZTHFOUlBiZmdCeXFlYkl2emw0Q0tKZ2ZQbnBjaTN3VE9leElZPSJ9LCJlbmFibGVEZWJ1ZyI6dHJ1ZSwiZGV2aWNlT3JpZW50YXRpb24iOiJxx3J0cmFpdCJ9", + "listName": "bj" + }, + fail(res){ + console.log('request fail **** ', res) + endFun() + }, + success(res) { + console.log('request result ***** ', res.data) + endFun() + }, + }) + }), + methodTime((endFun)=>{ + // @ts-ignore 日志请求 + native.request({ + url: 'http://10.253.108.182:9999/api/pressure/tracklog?wxid=wlfkjwoejfjsdfjowie&uid=slkfjowejfkmofwe&loginUid=undefined&trackURL=%7B%22pagePath%22%3A%22%2Fpages%2Findex%2Findex%22%2C%22refPagePath%22%3A%22%2Fpages%2Fprivacy%2Findex%22%2C%22pageParam%22%3A%22stamp%253DAE%2526%252524taroTimestamp%253D1704420185161%22%2C%22pageType%22%3A%22index%22%2C%22pageName%22%3A%22index%22%2C%22pageInfo%22%3A%22%22%2C%22loadTime%22%3A0%2C%22cateCode%22%3A%22%22%2C%22cate%22%3A%22%22%2C%22xxx_id%22%3A%22%22%2C%22bendiicontype%22%3A%22%22%2C%22currInfoId%22%3A%22%22%2C%22currentCateCode%22%3A%22%22%2C%22scene%22%3A1001%2C%22thirdKey%22%3A%22UPYIu5EGmjPu2pQqHOYUaMLk0j4m5tgt9aK1tboYlYeixxkotYfsTvbyRSPNNNjH%22%2C%22area%22%3A%221%22%2C%22openId%22%3A%22B41CF5FA70F3DD19B1D87389CF045C8A1614CBEE645A9174BDDFDF1265A56129%22%2C%22unionId%22%3A%22C8684F4C3107AD7AA8B19B343D75DDF989D120311D18F9F41EB2320F6FFA66BE%22%2C%22pagetype%22%3A%22index%22%2C%22page%22%3A%22%22%2C%22qudao%22%3A%22weixin%22%2C%22url%22%3A%22%2Fpages%2Findex%2Findex%22%2C%22referrer%22%3A%22%2Fpages%2Fprivacy%2Findex%22%2C%22version%22%3A%222.12.12%22%2C%22spm%22%3A%22%22%2C%22utm_source%22%3A%22%22%2C%22launch_source%22%3A%22%22%2C%22from_userid%22%3A%22%22%2C%22hasuserid%22%3A0%7D&v=1.0.0&rand_id=0.9838634192853211&thirdKey=UPYIu5EGmjPu2pQqHOYUaMLk0j4m5tgt9aK1tboYlYeixxkotYfsTvbyRSPNNNjH&appCode=0&debug=1', + method: 'GET', + data: {}, + header: { + "Content-Type": "application/x-www-form-urlencoded,application/json", + "scene": 1001, + "appCode": "0", + "thirdKey": "sklfmowejfklsmfoijwfjlksdmgvioejrgkdmv;ojdspjrlmsdsvklnsoidjfpwk", + "cateCode": "", + "version": "2.12.12", + "wxsysinfo": "eyJicmFuZCI6IkhVQVdFSSIsIm1vZGVsIjoiTk9ILUFOMDAiLCJwaXhlbFJhdGlvIjozLjUsInNjcmVlbldpZHRoIjozODQsInNjcmVlbkhlaWdodCI6NzkyLCJ3aW5kb3dXaWR0aCI6Mzg0LCJ3aW5kb3dIZWlnaHQiOjc5Miwic3RhdHVzQmFySGVpZ2h0IjozOSwibGFuZ3VhZ2UiOiJ6aC1IYW5zIiwidmVyc2lvbiI6I23123113161RlbSI6Ik9wZW5IYXJtb255LTQuMC4xMC4xMCIsInBsYXRmb3JtIjoiT3Blbkhhcm1vbnkiLCJmb250U2l6ZVNldHRpbmciOjE2LCJTREtWZXJzaW9uIjoiMTAiLCJiZW5jaG1hcmtMZXZlbCI6LTEsImFsYnVtQXV0aG9yaXplZCI6ZmFsc2UsImNhbWVyYUF1dGhvcml6ZWQiOmZhbHNlLCJsb2NhdGlvbkF1dGhvcml6ZWQisdfwefsdgv3Bob25lQXV0aG9yaXplZCI6ZmFsgwegfwegwegsdgfkF1dGhvcml6ZWQiOnRydWUsInBob25lQ2FsZW5kYXJBdXRob3JpemVkIjpmYWxzZSwiYmx1ZXRvb3RoRW5hYmxlZCI6dHJ1ZSwqwrqwdasdafsdfgdfghergewvcxbcvxcvhdfydid2lmaUVuYWJsZWQiOnRydWUsInNhZmVBcmVhIjp7ImJvdHRvbSI6NzkyLCJoZWlnaHQiOjc1MywibGVmdCI6MCwicmlnaHQiOjM4NCwidG9wIjozOSwid2lkdGgiOjM4NH0sImxvY2F0aW9uUmVkdWNlZEFjY3VyYWN5Ijp0cnVlLCJ0aGVtZSI6ImxpZ2h0IiwisefkwoejfowfwecHBJZCI6ImNvbS53dWJhLmxpZmVfQkxQYzZzTlIyNFhpSGFmZExXako4UnErbS9rckNxVXdwV3Bqam1jRGZTRkZKMkNDQlNZTHFOUlBiZmdCeXFlYkl2emw0Q0tKZ2ZQbnBjaTN3VE9leElZPSJ9LCJlbmFibGVEZWJ1ZyI6dHJ1ZSwiZGV2aWNlT3JpZW50YXRpb24iOiJxx3J0cmFpdCJ9", + "listName": "bj" + }, + fail(res){ + console.log('request fail **** ', res) + endFun() + }, + success(res) { + console.log('request result ***** ', res.data) + endFun() + }, + }) + }), + methodTime((endFun)=>{ + // 日志请求 + Taro.request({ + url: 'http://10.253.108.182:9999/api/pressure/feed?app=sdfwef&lon=&lat=&session=sdfwefwefsgrhrjgjtyjkyukyuksdfxsddr×tamp=170442018xx28&mediauid=dfghrhgfjyukhmgertdfbvdfhrtyrtdfg&devidmd5=IMEI&utm_source=xxun&spm=u-2h6kyt1yf988m1ww31.wx_mjh_feed_zhaogongzuo&brand=HUAWEI&os=OpenHarmony&model=NOH-AN00&city=bj&cate=pugongjg&slot=lm_list_template&pn=1&ps=10&url=https%3A%2F%2Fwxzzmp.xx.com%2Flist.shtml%3F-15%3D20&sign=3ccfb781037ed655120d63c4b5e5c391&debug=1', + method: 'GET', + data: {}, + header: { + "Content-Type": "application/x-www-form-urlencoded,application/json", + "scene": 1001, + "appCode": "0", + "thirdKey": "UPYIu5EGmjPu2pQqHOYUaMLk0j4m5tgt9aK1tboYlYeixxkotYfsTvbyRSPNNNjH", + "cateCode": "", + "version": 2.2, + "wxsysinfo": "eyJicmFuZCI6IkhVQVdFSSIsIm1vZGVsIjoiTk9ILUFOMDAiLCJwaXhlbFJhdGlvIjozLjUsInNjcmVlbldpZHRoIjozODQsInNjcmVlbkhlaWdodCI6NzkyLCJ3aW5kb3dXaWR0aCI6Mzg0LCJ3aW5kb3dIZWlnaHQiOjc5Miwic3RhdHVzQmFySGVpZ2h0IjozOSwibGFuZ3VhZ2UiOiJ6aC1IYW5zIiwidmVyc2lvbiI6IjQuMC4xMC4xMCIsInN5c3RlbSI6Ik9wZW5IYXJtb255LTQuMC4xMC4xMCIsInBsYXRmb3JtIjoiT3Blbkhhcm1vbnkiLCJmb250U2l6ZVNldHRpbmciOjE2LCJTREtWZXJzaW9uIjoiMTAiLCJiZW5jaG1hcmtMZXZlbCI6LTEsImFsYnVtQXV0aG9yaXplZCI6ZmFsc2UsImNhbWVyYUF1dGhvcmaserwefsdgesryhcvbiOmZhbHNlLCJtaWNyb3Bob25lQXV0aG9yaXplZCI6ZmFsc2UsIm5vdGlmaWNhdGlvbkF1dGhvcml6ZWQiOnRydWUsInBob25lQ2FsZW5kYXJBdXRob3JpemVkIjpmYWxzZSwiYmx1ZXRvb3RoRW5hYmxlZCI6dHJ1ZSwibG9jYXRpb25FbmFibGVkIjpmYWxzZSwid2lmaUVuYWJsZerteyrbdfdserytrhbdfgdLCJoZWlnaHQiOjc1MywibGVmdCI6MCwicmlnaHQiOjM4NCwidG9wIjozOSwid2lkdGgiOjM4NH0sImxvY2F0aW9uUmVkdWNlZEFjY3VyYWN5Ijp0cnVlLCJ0aGVtZSI6ImxpZ2h0IiwiaG9zdCI6eyJhcHBJZCI6ImNvbS53dWJhLmxpZmVfQkxQYzZzTlIyNFhpSGFmZExXako4UnErbS9rckNxVXdwV3Bqam1jRGZTRkZKMkNDQlNZTHFOUlBiZmdCeXFlYkl2emw0Q0tKZ2ZQbnBjaTN3VE9leElZPSJ9LCJlbmFibGVEZWJ1ZyI6dHJ1ZSwiZGV2aWNlT3JpZW50YXRpb24iOiJxx3J0cmFpdCJ9", + "listName": "bj", + "content-type": "application/json", + "idxx": "B41CF5FA70F3DD19B1D87389CF045C8A1614CBEE645A9174BDDFDF1265A56129", + "Cookie": "PPU=\"\";idxx=sdfergdshrthfbscaswqr;sessionid=sdddgerhfgjntfyjvzserweagergsderty;", + "accuracy": "", + "geo": "", + "abtest": "" + }, + fail(res){ + console.log('request fail **** ', res) + endFun() + }, + success(res) { + console.log('request result ***** ', JSON.stringify(res.data)) + endFun() + }, + }) + }), + methodTime((endFun)=>{ + // @ts-ignore 日志请求 + native.request({ + url: 'http://10.253.108.182:9999/api/pressure/feed?app=sdfwef&lon=&lat=&session=sdfwefwefsgrhrjgjtyjkyukyuksdfxsddr×tamp=170442018xx28&mediauid=dfghrhgfjyukhmgertdfbvdfhrtyrtdfg&devidmd5=IMEI&utm_source=xxun&spm=u-2h6kyt1yf988m1ww31.wx_mjh_feed_zhaogongzuo&brand=HUAWEI&os=OpenHarmony&model=NOH-AN00&city=bj&cate=pugongjg&slot=lm_list_template&pn=1&ps=10&url=https%3A%2F%2Fwxzzmp.xx.com%2Flist.shtml%3F-15%3D20&sign=3ccfb781037ed655120d63c4b5e5c391&debug=1', + method: 'GET', + data: {}, + header: { + "Content-Type": "application/x-www-form-urlencoded,application/json", + "scene": 1001, + "appCode": "0", + "thirdKey": "UPYIu5EGmjPu2pQqHOYUaMLk0j4m5tgt9aK1tboYlYeixxkotYfsTvbyRSPNNNjH", + "cateCode": "", + "version": 2.2, + "wxsysinfo": "eyJicmFuZCI6IkhVQVdFSSIsIm1vZGVsIjoiTk9ILUFOMDAiLCJwaXhlbFJhdGlvIjozLjUsInNjcmVlbldpZHRoIjozODQsInNjcmVlbkhlaWdodCI6NzkyLCJ3aW5kb3dXaWR0aCI6Mzg0LCJ3aW5kb3dIZWlnaHQiOjc5Miwic3RhdHVzQmFySGVpZ2h0IjozOSwibGFuZ3VhZ2UiOiJ6aC1IYW5zIiwidmVyc2lvbiI6IjQuMC4xMC4xMCIsInN5c3RlbSI6Ik9wZW5IYXJtb255LTQuMC4xMC4xMCIsInBsYXRmb3JtIjoiT3Blbkhhcm1vbnkiLCJmb250U2l6ZVNldHRpbmciOjE2LCJTREtWZXJzaW9uIjoiMTAiLCJiZW5jaG1hcmtMZXZlbCI6LTEsImFsYnVtQXV0aG9yaXplZCI6ZmFsc2UsImNhbWVyYUF1dGhvcmaserwefsdgesryhcvbiOmZhbHNlLCJtaWNyb3Bob25lQXV0aG9yaXplZCI6ZmFsc2UsIm5vdGlmaWNhdGlvbkF1dGhvcml6ZWQiOnRydWUsInBob25lQ2FsZW5kYXJBdXRob3JpemVkIjpmYWxzZSwiYmx1ZXRvb3RoRW5hYmxlZCI6dHJ1ZSwibG9jYXRpb25FbmFibGVkIjpmYWxzZSwid2lmaUVuYWJsZerteyrbdfdserytrhbdfgdLCJoZWlnaHQiOjc1MywibGVmdCI6MCwicmlnaHQiOjM4NCwidG9wIjozOSwid2lkdGgiOjM4NH0sImxvY2F0aW9uUmVkdWNlZEFjY3VyYWN5Ijp0cnVlLCJ0aGVtZSI6ImxpZ2h0IiwiaG9zdCI6eyJhcHBJZCI6ImNvbS53dWJhLmxpZmVfQkxQYzZzTlIyNFhpSGFmZExXako4UnErbS9rckNxVXdwV3Bqam1jRGZTRkZKMkNDQlNZTHFOUlBiZmdCeXFlYkl2emw0Q0tKZ2ZQbnBjaTN3VE9leElZPSJ9LCJlbmFibGVEZWJ1ZyI6dHJ1ZSwiZGV2aWNlT3JpZW50YXRpb24iOiJxx3J0cmFpdCJ9", + "listName": "bj", + "content-type": "application/json", + "idxx": "B41CF5FA70F3DD19B1D87389CF045C8A1614CBEE645A9174BDDFDF1265A56129", + "Cookie": "PPU=\"\";idxx=sdfergdshrthfbscaswqr;sessionid=sdddgerhfgjntfyjvzserweagergsderty;", + "accuracy": "", + "geo": "", + "abtest": "" + }, + fail(res){ + console.log('request fail **** ', res) + endFun() + }, + success(res) { + console.log('request result ***** ', JSON.stringify(res.data)) + endFun() + }, + }) + }) + ]) + .then((result)=>{ + const logs: string[] = [] + logs.push(`tracklog请求耗时:Taro ${result[0]} ms, Native ${result[1]} ms`) + logs.push(`Feed请求耗时:Taro ${result[2]} ms, Native ${result[3]} ms`) + this.setState({ + requestSingleResult: logs.join('\n') + }) + }) + } + requestConcurentTest = ()=>{ + const startTime = Date.now() + const promiseArray:Promise[] = [] + for (let i=1; i <= 5; i++) { + promiseArray.push(methodTime((endFun)=>{ + // 日志请求 + Taro.request({ + url: 'http://10.253.108.182:9999/api/pressure/tracklog?wxid=wlfkjwoejfjsdfjowie&uid=slkfjowejfkmofwe&loginUid=undefined&trackURL=%7B%22pagePath%22%3A%22%2Fpages%2Findex%2Findex%22%2C%22refPagePath%22%3A%22%2Fpages%2Fprivacy%2Findex%22%2C%22pageParam%22%3A%22stamp%253DAE%2526%252524taroTimestamp%253D1704420185161%22%2C%22pageType%22%3A%22index%22%2C%22pageName%22%3A%22index%22%2C%22pageInfo%22%3A%22%22%2C%22loadTime%22%3A0%2C%22cateCode%22%3A%22%22%2C%22cate%22%3A%22%22%2C%22xxx_id%22%3A%22%22%2C%22bendiicontype%22%3A%22%22%2C%22currInfoId%22%3A%22%22%2C%22currentCateCode%22%3A%22%22%2C%22scene%22%3A1001%2C%22thirdKey%22%3A%22UPYIu5EGmjPu2pQqHOYUaMLk0j4m5tgt9aK1tboYlYeixxkotYfsTvbyRSPNNNjH%22%2C%22area%22%3A%221%22%2C%22openId%22%3A%22B41CF5FA70F3DD19B1D87389CF045C8A1614CBEE645A9174BDDFDF1265A56129%22%2C%22unionId%22%3A%22C8684F4C3107AD7AA8B19B343D75DDF989D120311D18F9F41EB2320F6FFA66BE%22%2C%22pagetype%22%3A%22index%22%2C%22page%22%3A%22%22%2C%22qudao%22%3A%22weixin%22%2C%22url%22%3A%22%2Fpages%2Findex%2Findex%22%2C%22referrer%22%3A%22%2Fpages%2Fprivacy%2Findex%22%2C%22version%22%3A%222.12.12%22%2C%22spm%22%3A%22%22%2C%22utm_source%22%3A%22%22%2C%22launch_source%22%3A%22%22%2C%22from_userid%22%3A%22%22%2C%22hasuserid%22%3A0%7D&v=1.0.0&rand_id=0.9838634192853211&thirdKey=UPYIu5EGmjPu2pQqHOYUaMLk0j4m5tgt9aK1tboYlYeixxkotYfsTvbyRSPNNNjH&appCode=0&debug=1', + method: 'GET', + data: {}, + header: { + "Content-Type": "application/x-www-form-urlencoded,application/json", + "scene": 1001, + "appCode": "0", + "thirdKey": "sklfmowejfklsmfoijwfjlksdmgvioejrgkdmv;ojdspjrlmsdsvklnsoidjfpwk", + "cateCode": "", + "version": "2.12.12", + "wxsysinfo": "eyJicmFuZCI6IkhVQVdFSSIsIm1vZGVsIjoiTk9ILUFOMDAiLCJwaXhlbFJhdGlvIjozLjUsInNjcmVlbldpZHRoIjozODQsInNjcmVlbkhlaWdodCI6NzkyLCJ3aW5kb3dXaWR0aCI6Mzg0LCJ3aW5kb3dIZWlnaHQiOjc5Miwic3RhdHVzQmFySGVpZ2h0IjozOSwibGFuZ3VhZ2UiOiJ6aC1IYW5zIiwidmVyc2lvbiI6I23123113161RlbSI6Ik9wZW5IYXJtb255LTQuMC4xMC4xMCIsInBsYXRmb3JtIjoiT3Blbkhhcm1vbnkiLCJmb250U2l6ZVNldHRpbmciOjE2LCJTREtWZXJzaW9uIjoiMTAiLCJiZW5jaG1hcmtMZXZlbCI6LTEsImFsYnVtQXV0aG9yaXplZCI6ZmFsc2UsImNhbWVyYUF1dGhvcml6ZWQiOmZhbHNlLCJsb2NhdGlvbkF1dGhvcml6ZWQisdfwefsdgv3Bob25lQXV0aG9yaXplZCI6ZmFsgwegfwegwegsdgfkF1dGhvcml6ZWQiOnRydWUsInBob25lQ2FsZW5kYXJBdXRob3JpemVkIjpmYWxzZSwiYmx1ZXRvb3RoRW5hYmxlZCI6dHJ1ZSwqwrqwdasdafsdfgdfghergewvcxbcvxcvhdfydid2lmaUVuYWJsZWQiOnRydWUsInNhZmVBcmVhIjp7ImJvdHRvbSI6NzkyLCJoZWlnaHQiOjc1MywibGVmdCI6MCwicmlnaHQiOjM4NCwidG9wIjozOSwid2lkdGgiOjM4NH0sImxvY2F0aW9uUmVkdWNlZEFjY3VyYWN5Ijp0cnVlLCJ0aGVtZSI6ImxpZ2h0IiwisefkwoejfowfwecHBJZCI6ImNvbS53dWJhLmxpZmVfQkxQYzZzTlIyNFhpSGFmZExXako4UnErbS9rckNxVXdwV3Bqam1jRGZTRkZKMkNDQlNZTHFOUlBiZmdCeXFlYkl2emw0Q0tKZ2ZQbnBjaTN3VE9leElZPSJ9LCJlbmFibGVEZWJ1ZyI6dHJ1ZSwiZGV2aWNlT3JpZW50YXRpb24iOiJxx3J0cmFpdCJ9", + "listName": "bj" + }, + fail(res){ + console.log('request fail **** ', res) + endFun() + }, + success(res) { + console.log('request result ***** ', res.data) + endFun() + }, + }) + })) + } + + Promise.all(promiseArray) + .then((result)=>{ + const totalTime = Date.now() - startTime + const logs: string[] = [] + + let serialTime = 0 + result.forEach((value, index)=>{ + logs.push(`请求${index}的耗时: ${value} ms`) + serialTime += value + }) + + logs.push(`并发请求时间:${totalTime}ms,串行请求时间:${serialTime} ms`) + logs.push(`是否为并行执行:${totalTime < serialTime}`) + this.setState({ + requestConcurrentResult: logs.join('\n') + }) + }) + } + requestHignConcurentTest = ()=>{ + const startTime = Date.now() + const promiseArray:Promise[] = [] + for (let i=1; i <= 30; i++) { + promiseArray.push(methodTime((endFun)=>{ + // 日志请求 + Taro.request({ + url: 'http://10.253.108.182:9999/api/pressure/feed?app=sdfwef&lon=&lat=&session=sdfwefwefsgrhrjgjtyjkyukyuksdfxsddr×tamp=170442018xx28&mediauid=dfghrhgfjyukhmgertdfbvdfhrtyrtdfg&devidmd5=IMEI&utm_source=xxun&spm=u-2h6kyt1yf988m1ww31.wx_mjh_feed_zhaogongzuo&brand=HUAWEI&os=OpenHarmony&model=NOH-AN00&city=bj&cate=pugongjg&slot=lm_list_template&pn=1&ps=10&url=https%3A%2F%2Fwxzzmp.xx.com%2Flist.shtml%3F-15%3D20&sign=3ccfb781037ed655120d63c4b5e5c391&debug=1', + method: 'GET', + data: {}, + header: { + "Content-Type": "application/x-www-form-urlencoded,application/json", + "scene": 1001, + "appCode": "0", + "thirdKey": "UPYIu5EGmjPu2pQqHOYUaMLk0j4m5tgt9aK1tboYlYeixxkotYfsTvbyRSPNNNjH", + "cateCode": "", + "version": 2.2, + "wxsysinfo": "eyJicmFuZCI6IkhVQVdFSSIsIm1vZGVsIjoiTk9ILUFOMDAiLCJwaXhlbFJhdGlvIjozLjUsInNjcmVlbldpZHRoIjozODQsInNjcmVlbkhlaWdodCI6NzkyLCJ3aW5kb3dXaWR0aCI6Mzg0LCJ3aW5kb3dIZWlnaHQiOjc5Miwic3RhdHVzQmFySGVpZ2h0IjozOSwibGFuZ3VhZ2UiOiJ6aC1IYW5zIiwidmVyc2lvbiI6IjQuMC4xMC4xMCIsInN5c3RlbSI6Ik9wZW5IYXJtb255LTQuMC4xMC4xMCIsInBsYXRmb3JtIjoiT3Blbkhhcm1vbnkiLCJmb250U2l6ZVNldHRpbmciOjE2LCJTREtWZXJzaW9uIjoiMTAiLCJiZW5jaG1hcmtMZXZlbCI6LTEsImFsYnVtQXV0aG9yaXplZCI6ZmFsc2UsImNhbWVyYUF1dGhvcmaserwefsdgesryhcvbiOmZhbHNlLCJtaWNyb3Bob25lQXV0aG9yaXplZCI6ZmFsc2UsIm5vdGlmaWNhdGlvbkF1dGhvcml6ZWQiOnRydWUsInBob25lQ2FsZW5kYXJBdXRob3JpemVkIjpmYWxzZSwiYmx1ZXRvb3RoRW5hYmxlZCI6dHJ1ZSwibG9jYXRpb25FbmFibGVkIjpmYWxzZSwid2lmaUVuYWJsZerteyrbdfdserytrhbdfgdLCJoZWlnaHQiOjc1MywibGVmdCI6MCwicmlnaHQiOjM4NCwidG9wIjozOSwid2lkdGgiOjM4NH0sImxvY2F0aW9uUmVkdWNlZEFjY3VyYWN5Ijp0cnVlLCJ0aGVtZSI6ImxpZ2h0IiwiaG9zdCI6eyJhcHBJZCI6ImNvbS53dWJhLmxpZmVfQkxQYzZzTlIyNFhpSGFmZExXako4UnErbS9rckNxVXdwV3Bqam1jRGZTRkZKMkNDQlNZTHFOUlBiZmdCeXFlYkl2emw0Q0tKZ2ZQbnBjaTN3VE9leElZPSJ9LCJlbmFibGVEZWJ1ZyI6dHJ1ZSwiZGV2aWNlT3JpZW50YXRpb24iOiJxx3J0cmFpdCJ9", + "listName": "bj", + "content-type": "application/json", + "idxx": "B41CF5FA70F3DD19B1D87389CF045C8A1614CBEE645A9174BDDFDF1265A56129", + "Cookie": "PPU=\"\";idxx=sdfergdshrthfbscaswqr;sessionid=sdddgerhfgjntfyjvzserweagergsderty;", + "accuracy": "", + "geo": "", + "abtest": "" + }, + fail(res){ + console.log('request fail **** ', res) + endFun() + }, + success(res) { + console.log('request result ***** ', JSON.stringify(res.data)) + endFun() + }, + }) + })) + } + + Promise.all(promiseArray) + .then((result)=>{ + const totalTime = Date.now() - startTime + const logs: string[] = [] + + let serialTime = 0 + result.forEach((value, index)=>{ + logs.push(`请求${index}的耗时: ${value} ms`) + serialTime += value + }) + + logs.push(`并发请求时间:${totalTime}ms,串行请求时间:${serialTime} ms`) + logs.push(`可能线程数:${serialTime / totalTime}`) + this.setState({ + requestHignConcurrentResult: logs.join('\n') + }) + }) + } + requestByJsTest=()=>{ + const startTime = Date.now() + const promiseArray:Promise[] = [] + for (let i=1; i <= 30; i++) { + promiseArray.push(methodTime((endFun)=>{jsFetch(endFun)})) + } + Promise.all(promiseArray) + .then((result)=>{ + const totalTime = Date.now() - startTime + const logs: string[] = [] + + let serialTime = 0 + result.forEach((value, index)=>{ + logs.push(`请求${index}的耗时: ${value} ms`) + serialTime += value + }) + + logs.push(`并发请求时间:${totalTime}ms,串行请求时间:${serialTime} ms`) + logs.push(`可能线程数:${serialTime / totalTime}`) + this.setState({ + requestByJsResult: logs.join('\n') + }) + }) + } + render() { + const { syncSingleResult, requestSingleResult,requestConcurrentResult,requestHignConcurrentResult,syncResult, requestByJsResult } = this.state + return ( + + + { + syncSingleResult.split("\n").map((text, index)=>{ + return ( + + {text} +
+
+ ) + }) + } +
+ + + { + syncResult.split("\n").map((text, index)=>{ + return ( + + {text} +
+
+ ) + }) + } +
+ + + { + requestSingleResult.split("\n").map((text, index)=>{ + return ( + + {text} +
+
+ ) + }) + } +
+ + + { + requestConcurrentResult.split("\n").map((text, index)=>{ + return ( + + {text} +
+
+ ) + }) + } +
+ + + { + requestHignConcurrentResult.split("\n").map((text, index)=>{ + return ( + + {text} +
+
+ ) + }) + } +
+ + + { + requestByJsResult.split("\n").map((text, index)=>{ + return ( + + {text} +
+
+ ) + }) + } +
+ +
+ ) + } +} diff --git a/examples/mini-program-example/src/util/nativeApi.ts b/examples/mini-program-example/src/util/nativeApi.ts new file mode 100644 index 000000000000..5ddecd49d9dc --- /dev/null +++ b/examples/mini-program-example/src/util/nativeApi.ts @@ -0,0 +1,11 @@ +// @proxyClassSign('') +class NativeApi { + // @ts-ignore + @window.MethodChannel?.jsBridgeMode({ isAsync: false, autoRelease: true }) + harmonyNavigateTo(options: any) { + return options + } +} + +const nativeApi = new NativeApi() +export default nativeApi diff --git a/examples/mini-program-example/src/util/util.ts b/examples/mini-program-example/src/util/util.ts index 65af56eadb2d..6ac07fed470b 100644 --- a/examples/mini-program-example/src/util/util.ts +++ b/examples/mini-program-example/src/util/util.ts @@ -4,6 +4,14 @@ function setCallbackRes(res, type, apiIndex) { if (apiList[apiIndex].callbackRes == null) { apiList[apiIndex].callbackRes = {} } + if (type === 'success' || type === 'fail') { + if (apiList[apiIndex].callbackRes['success']) { + delete apiList[apiIndex].callbackRes['success'] + } + if (apiList[apiIndex].callbackRes['fail']) { + delete apiList[apiIndex].callbackRes['fail'] + } + } apiList[apiIndex].callbackRes[type] = res this.setState({ list: apiList, @@ -12,50 +20,49 @@ function setCallbackRes(res, type, apiIndex) { } let startTime = NaN -let endTime = NaN -function getCostTime(apiIndex) { - if (!startTime) { - setCallbackRes.call(this, -1, 'costTime', apiIndex) - return - } - endTime = Date.now() - setCallbackRes.call(this, endTime - startTime, 'costTime', apiIndex) +function getCostTime() { + return startTime ? Date.now() - startTime : -1 } export const TestConsole = { consoleTest: (apiName: string) => { startTime = Date.now() - endTime = NaN console.log( `\n%c------------------------------start test [${apiName}]------------------------------`, 'color:blue;font-weight:bold' ) }, consoleSuccess: function (res, apiIndex = -1) { - console.log('%csuccess:\n', 'color:green;font-weight:bold', res) + const costTime = getCostTime() setCallbackRes.call(this, res, 'success', apiIndex) - getCostTime.call(this, apiIndex) + setCallbackRes.call(this, costTime, 'costTime', apiIndex) + console.log('%csuccess:\n', 'color:green;font-weight:bold', { success: res, costTime }) }, consoleFail: function (res, apiIndex = -1) { - console.log('%cfail:\n', 'color:red;font-weight:bold', res) + const costTime = getCostTime() setCallbackRes.call(this, res, 'fail', apiIndex) - getCostTime.call(this, apiIndex) + setCallbackRes.call(this, costTime, 'costTime', apiIndex) + console.log('%cfail:\n', 'color:red;font-weight:bold', { fail: res, costTime }) }, consoleComplete: function (res, apiIndex = -1) { - console.log('%ccomplete:\n', 'color:black;font-weight:bold', res) + const costTime = getCostTime() setCallbackRes.call(this, res, 'complete', apiIndex) - getCostTime.call(this, apiIndex) + setCallbackRes.call(this, costTime, 'costTime', apiIndex) + console.log('%ccomplete:\n', 'color:black;font-weight:bold', { complete: res, costTime }) }, consoleResult: function (res, apiIndex = -1) { - console.log('%cresult:\n', 'color:blue;font-weight:bold', res) + const costTime = getCostTime() + startTime = NaN setCallbackRes.call(this, res, 'result', apiIndex) - getCostTime.call(this, apiIndex) + setCallbackRes.call(this, costTime, 'costTime', apiIndex) + console.log('%cresult:\n', 'color:blue;font-weight:bold', { result: res, costTime }) }, consoleOnCallback: function (res, apiName, apiIndex = -1) { - console.log(`%c${apiName} callback:\n`, 'color:green;font-weight:bold', res) + const costTime = getCostTime() setCallbackRes.call(this, res, 'callback', apiIndex) - getCostTime.call(this, apiIndex) + setCallbackRes.call(this, costTime, 'costTime', apiIndex) + console.log(`%c${apiName} callback:\n`, 'color:green;font-weight:bold', { callback: res, costTime }) }, consoleNormal: (name: string, data?: any) => { if (data) { diff --git a/packages/postcss-unit-transform/__tests__/index.test.ts b/packages/postcss-unit-transform/__tests__/index.test.ts new file mode 100644 index 000000000000..3b4bec9a31c0 --- /dev/null +++ b/packages/postcss-unit-transform/__tests__/index.test.ts @@ -0,0 +1,26 @@ +const Processors = require('postcss') +const unitTransform = require('../index') + +describe('wxss解析', () => { + test('wxss文件样式解析', () => { + const input = ` + .box{ + width: 100px; + height: 200rpx; + border: 0.5px solid red; + margin: 0.5px 100px; + transform: translate(0px, 0rpx); + font-size: 0rpx; + }` + const result = Processors([unitTransform]).process(input) + expect(result.css).toBe(` + .box{ + width: 200px; + height: 200px; + border: 1px solid red; + margin: 1px 200px; + transform: translate(0px, 0px); + font-size: 0px; + }`) + }) +}) \ No newline at end of file diff --git a/packages/postcss-unit-transform/index.js b/packages/postcss-unit-transform/index.js index 244aa943f619..c2f2edd85cf4 100644 --- a/packages/postcss-unit-transform/index.js +++ b/packages/postcss-unit-transform/index.js @@ -7,8 +7,7 @@ function plugin (opts) { root.walkDecls(function (decl) { let value = decl.value value = value.replace(/\b-?(\d+(\.\d+)?)px\b/ig, function (match, size) { - // 绝对值<1的非0数值转十进制后会被转成0,赋值为1 - return Number(size) === 0 ? '0px': parseInt(size, 10) !== 0? (parseInt(size, 10) * 2) + 'px': '1px' + return Number(size) === 0 ? '0px': parseFloat(size) * 2 + 'px' }).replace(/\b-?(\d+(\.\d+)?)rpx\b/ig, function (match, size) { return size + 'px' }) diff --git a/packages/postcss-unit-transform/package.json b/packages/postcss-unit-transform/package.json index 890dec138674..9fa609dcc397 100644 --- a/packages/postcss-unit-transform/package.json +++ b/packages/postcss-unit-transform/package.json @@ -4,7 +4,29 @@ "description": "小程序单位转换", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "jest", + "test:clear": "jest --clearCache", + "test:cov": "jest --coverage", + "test:updateSnapshot": "jest --updateSnapshot", + "test:ci": "cross-env NODE_ENV=test jest --ci -i" + }, + "jest": { + "testEnvironment": "node", + "transform": { + "^.+\\.tsx?$": "ts-jest" + }, + "testRegex": "(/postcss-unit-transform/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$", + "moduleFileExtensions": [ + "ts", + "tsx", + "js", + "jsx", + "json", + "node" + ], + "testPathIgnorePatterns": [ + "/node_modules/" + ] }, "author": "luckyadam", "license": "MIT", @@ -12,5 +34,8 @@ "postcss": "^6.0.21", "typescript": "^4.7.4" }, - "devDependencies": {} + "devDependencies": { + "jest": "^29.7.0", + "ts-jest": "^29.0.5" + } } diff --git a/packages/postcss-unit-transform/tsconfig.json b/packages/postcss-unit-transform/tsconfig.json new file mode 100644 index 000000000000..2f98042715ab --- /dev/null +++ b/packages/postcss-unit-transform/tsconfig.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "esModuleInterop": true + } +} diff --git a/packages/taro-cli-convertor/__tests__/__mocks__/fs-extra.js b/packages/taro-cli-convertor/__tests__/__mocks__/fs-extra.js index 5a9a2b8467b9..0d5628a903ed 100644 --- a/packages/taro-cli-convertor/__tests__/__mocks__/fs-extra.js +++ b/packages/taro-cli-convertor/__tests__/__mocks__/fs-extra.js @@ -2,12 +2,27 @@ const path = require('path') +const fsSystem = jest.requireActual('fs-extra') // 存储文件信息,包括文件路径和对应的内容 const oriFileMap = new Map() // 保存转换后的文件 const resFileMap = new Map() +/** + * 输出模拟文件的所有path结构 + */ +const flatteningFile = (file,path = '',result = {}) => { + for(const filePath in file){ + if(typeof file[filePath] === 'object' && file[filePath] !== null){ + result[path + filePath] = file[filePath] + flatteningFile(file[filePath], path + filePath, result) + } else { + result[path + filePath] = file[filePath] + } + } +} + /** * 保存文件信息 * @@ -15,9 +30,12 @@ const resFileMap = new Map() * @param { map } newMockFiles */ function setMockFiles (root, newMockFiles) { - for (const file in newMockFiles) { - oriFileMap.set(normalizePath(path.join(root, file)), newMockFiles[file]) + const flatteningFileRes = {} + flatteningFile(newMockFiles,'',flatteningFileRes) + for (const file in flatteningFileRes) { + oriFileMap.set(normalizePath(path.join(root, file)), flatteningFileRes[file]) } + oriFileMap.set(root,newMockFiles) } @@ -36,8 +54,10 @@ function getMockFiles () { * @param { map } updateFiles */ function updateMockFiles (root, updateFiles) { - for (const file in updateFiles) { - oriFileMap.set(normalizePath(path.join(root, file)), updateFiles[file]) + const flatteningFileRes = {} + flatteningFile(updateFiles,'',flatteningFileRes) + for (const file in flatteningFileRes) { + oriFileMap.set(normalizePath(path.join(root, file)), flatteningFileRes[file]) } } @@ -70,40 +90,55 @@ function deleteMockFiles (key) { * @param { 文件路径 } path * @returns */ -function readFileSyncMock (path) { +function readFileSyncMock (path, type) { if (path === undefined || path === null || path === '') { throw new Error(`文件路径异常,path:${path}`) } path = normalizePath(path) - + if (!existsSyncMock(path)) { throw new Error(`文件不存在,path:${path}`) } + const fileMap = oriFileMap.has(path) ? oriFileMap : resFileMap + const content = fileMap.get(path) - return oriFileMap.get(path) + return content !== undefined ? content : fsSystem.readFileSync(path,type) } /** * 判断文件是否存在 * */ -function existsSyncMock (path) { - if (typeof path !== 'string' || path === '') { +function existsSyncMock (pathParam) { + /** + * 针对于测试 generateConfigFiles 函数需要,因为 generateConfigFiles 中会查找 taro 子包中的文件 + * jest.requireActual('fs-extra') 操作使用的是真实fs-extra模块,非模拟,所以会查找真实路径 + */ + if(fsSystem.existsSync(pathParam) && path.isAbsolute(pathParam)) return true + + if (typeof pathParam !== 'string' || pathParam === '') { return false } - path = normalizePath(path) + pathParam = normalizePath(pathParam) - const parts = path.split('/') + const parts = pathParam.split('/') // 根据是否有后缀名判断为文件 if (parts[parts.length - 1].includes('.')) { - if (oriFileMap.get(path) === undefined) { - return false + let isFile = true + if (oriFileMap.get(pathParam) === undefined) { + isFile = false + } + if(resFileMap.get(pathParam)){ + isFile = true } + return isFile + } + // 判断文件夹 + if(oriFileMap.get(pathParam) && !parts[parts.length - 1].includes('.')){ return true } - // 文件夹内默认不存在 return false } @@ -122,7 +157,8 @@ function ensureDirSyncMock () { * * @returns 默认存在 */ -function ensureDirMock () { +function ensureDirMock (path) { + resFileMap.set(path,'') return true } @@ -131,7 +167,9 @@ function ensureDirMock () { * * @returns */ -function mkdirSyncMock () { +function mkdirSyncMock (path) { + path = normalizePath(path) + resFileMap.set(path,'') return true } @@ -148,11 +186,11 @@ function appendFileMock (path, appendContent) { } path = normalizePath(path) - if (oriFileMap.get(path)) { - const newContent = oriFileMap.get(path) + appendContent - oriFileMap.set(path, newContent) + if (resFileMap.get(path)) { + const newContent = resFileMap.get(path) + appendContent + resFileMap.set(path, newContent) } - oriFileMap.set(path, appendContent) + resFileMap.set(path, appendContent) } /** @@ -169,6 +207,8 @@ function writeFileSyncMock (path, data) { path = normalizePath(path) + data = Buffer.isBuffer(data) ? Buffer.from(data).toString('utf8') : data + resFileMap.set(path, data) } @@ -228,7 +268,7 @@ function isDir (path) { } /** - * 获取状态 + * 获取文件或目录状态,在处理路径为符号链接时返回链接指向的文件或目录的状态 */ function statSyncMock (path) { if (typeof path !== 'string' || path === '') { @@ -243,14 +283,64 @@ function statSyncMock (path) { } } +/** + * 获取文件或目录状态,在处理路径为符号链接时返回链接自身的文件或目录的状态 + */ +function lstatSyncMock (path) { + if (typeof path !== 'string' || path === '') { + return + } + + path = normalizePath(path) + // 返回包含状态信息的对象 + return { + isFile: () => customIsFile(path), + isDirectory: () => customIsDirectory(path), + isSymbolicLink: () => false + } +} + +/** + * 读取文件夹下的内容 +*/ +function readdirSyncMock (source){ + source = normalizePath(source) + const parts = source.split('/') + if(oriFileMap.get(source) && !parts[parts.length - 1].includes('.')){ + const fileName = [] + Object.keys(oriFileMap.get(source)).forEach((item) => { + fileName.push(item) + }) + return fileName + } else { + return fsSystem.readdirSync(source) + } +} + +/** + * 文件复制 + */ +function copyFileSyncMock (sourcePath, destinationPath){ + resFileMap.set(destinationPath, oriFileMap.get(sourcePath)) +} + +function copyFileMock (sourcePath, destinationPath){ + resFileMap.set(destinationPath, oriFileMap.get(sourcePath)) +} + // 自定义的 isFile 函数 function customIsFile (path) { - return oriFileMap.get(path) + let isFileRes = false + const fileMap = oriFileMap.has(path) ? oriFileMap : resFileMap + if(fileMap.has(path)){ + isFileRes = typeof fileMap.get(path) === 'string' + } + return isFileRes } // 自定义的 isDirectory 函数 function customIsDirectory (path) { - if (typeof path !== 'string' || path === '') { + if (typeof path === 'string' && path.includes('.') && path.indexOf('.') !== 0) { return false } return true @@ -267,16 +357,21 @@ function normalizePath (path) { } module.exports = { - ...jest.requireActual('fs-extra'), - readFileSync: jest.fn((content) => readFileSyncMock(content)), + ...fsSystem, + readFileSync: jest.fn((content,type) => readFileSyncMock(content,type)), existsSync: jest.fn((path) => existsSyncMock(path)), ensureDirSync: jest.fn(() => ensureDirSyncMock()), ensureDir: jest.fn(() => ensureDirMock()), - mkdirSync: jest.fn(() => mkdirSyncMock()), + mkdirSync: jest.fn((path) => mkdirSyncMock(path)), appendFile: jest.fn((path, appendContent) => appendFileMock(path, appendContent)), writeFileSync: jest.fn((path, data) => writeFileSyncMock(path, data)), copySync: jest.fn((from, to) => copySyncMock(from, to)), statSync: jest.fn((path) => statSyncMock(path)), + lstatSync: jest.fn((path) => lstatSyncMock(path)), + readdirSync:jest.fn((source) => readdirSyncMock(source)), + copyFileSync:jest.fn((sourcePath,destinationPath) => copyFileSyncMock(sourcePath,destinationPath)), + copyFile:jest.fn((sourcePath,destinationPath) => copyFileMock(sourcePath,destinationPath)), + writeJSONSync:jest.fn(() => true) } module.exports.setMockFiles = setMockFiles @@ -284,4 +379,6 @@ module.exports.getMockFiles = getMockFiles module.exports.clearMockFiles = clearMockFiles module.exports.getResMapFile = getResMapFile module.exports.updateMockFiles = updateMockFiles -module.exports.deleteMockFiles = deleteMockFiles \ No newline at end of file +module.exports.deleteMockFiles = deleteMockFiles +module.exports.resFileMap = resFileMap +module.exports.normalizePath = normalizePath \ No newline at end of file diff --git a/packages/taro-cli-convertor/__tests__/__mocks__/path.js b/packages/taro-cli-convertor/__tests__/__mocks__/path.js index 6c25d1b1ed4b..703c89e2f28f 100644 --- a/packages/taro-cli-convertor/__tests__/__mocks__/path.js +++ b/packages/taro-cli-convertor/__tests__/__mocks__/path.js @@ -17,11 +17,16 @@ function joinMock (...pathSegments) { // 初始化一个数组用于保存最终路径的各个部分 const finalPathSegments = [] - for (const segment of pathSegments) { + for (let segment of pathSegments) { + // 将路劲中的 `\\` 替换为 `/` (示例:"E:\\code\\taro-16\\packages\\taro-cli") + if(segment.includes(`\\`)){ + segment = segment.replace(/\\/g, '/') + } + // 去掉路径段两端的斜杠并分割路径 const segments = segment.split('/').filter(processPathSegment) - // 处理路径段中的 `..` + // 处理路径段中的 `..` for (const subSegment of segments) { if (subSegment === '..') { // 如果是 `..`,则回退一层 diff --git a/packages/taro-cli-convertor/__tests__/__snapshots__/config.test.ts.snap b/packages/taro-cli-convertor/__tests__/__snapshots__/config.test.ts.snap new file mode 100644 index 000000000000..3014d59dc798 --- /dev/null +++ b/packages/taro-cli-convertor/__tests__/__snapshots__/config.test.ts.snap @@ -0,0 +1,56434 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`小程序转换生成配置文件 配置文件生成 1`] = ` +Map { + /wxProject/taroConvert/package.json => { + "name": "taroConvert", + "version": "1.0.0", + "private": true, + "description": "", + "templateInfo": { + "name": "default", + "typescript": false, + "css": "sass" + }, + "scripts": { + "build:weapp": "taro build --type weapp", + "build:swan": "taro build --type swan", + "build:alipay": "taro build --type alipay", + "build:tt": "taro build --type tt", + "build:h5": "taro build --type h5", + "build:rn": "taro build --type rn", + "build:qq": "taro build --type qq", + "build:jd": "taro build --type jd", + "build:quickapp": "taro build --type quickapp", + "build:mpharmony": "taro build --type mpharmony", + "build:mpandroid": "taro build --type mpandroid", + "dev:weapp": "npm run build:weapp -- --watch", + "dev:swan": "npm run build:swan -- --watch", + "dev:alipay": "npm run build:alipay -- --watch", + "dev:tt": "npm run build:tt -- --watch", + "dev:h5": "npm run build:h5 -- --watch", + "dev:rn": "npm run build:rn -- --watch", + "dev:qq": "npm run build:qq -- --watch", + "dev:jd": "npm run build:jd -- --watch", + "dev:quickapp": "npm run build:quickapp -- --watch", + "dev:mpharmony": "npm run build:mpharmony -- --watch", + "dev:mpandroid": "npm run build:mpandroid -- --watch", + "test": "jest" + }, + "browserslist": [ + "last 3 versions", + "Android >= 4.1", + "ios >= 8" + ], + "author": "", + "dependencies": { + "@babel/runtime": "^7.21.5", + "@tarojs/components": "3.6.15", + "@tarojs/helper": "3.6.15", + "@tarojs/plugin-platform-weapp": "3.6.15", + "@tarojs/plugin-platform-alipay": "3.6.15", + "@tarojs/plugin-platform-tt": "3.6.15", + "@tarojs/plugin-platform-swan": "3.6.15", + "@tarojs/plugin-platform-jd": "3.6.15", + "@tarojs/plugin-platform-qq": "3.6.15", + "@tarojs/plugin-platform-h5": "3.6.15", + "@tarojs/plugin-platform-mpharmony": "3.6.15", + "@tarojs/plugin-platform-mpandroid": "3.6.15", + "@tarojs/runtime": "3.6.15", + "@tarojs/shared": "3.6.15", + "@tarojs/taro": "3.6.15", + "@tarojs/plugin-framework-react": "3.6.15", + "@tarojs/react": "3.6.15", + "react-dom": "^18.0.0", + "react": "^18.0.0" + }, + "devDependencies": { + "@babel/core": "^7.8.0", + "@tarojs/cli": "3.6.15", + "@types/webpack-env": "^1.13.6", + "@tarojs/test-utils-react": "^0.1.1", + "@types/react": "^18.0.0", + "webpack": "5.78.0", + "@tarojs/taro-loader": "3.6.15", + "@tarojs/webpack5-runner": "3.6.15", + "babel-preset-taro": "3.6.15", + "eslint-config-taro": "3.6.15", + "eslint": "^8.12.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.5", + "react-refresh": "^0.11.0", + "eslint-plugin-react": "^7.8.2", + "eslint-plugin-import": "^2.12.0", + "eslint-plugin-react-hooks": "^4.2.0", + "stylelint": "^14.4.0", + "postcss": "^8.4.18", + "ts-node": "^10.9.1", + "@types/node": "^18.15.11", + "@types/jest": "^29.3.1", + "jest": "^29.3.1", + "jest-environment-jsdom": "^29.5.0" + } +} +, +} +`; + +exports[`日志 生成日志 1`] = ` +INFO [taro-cli-convertor] parseAst - 入参 +{"sourceFilePath":"/wxProject/app.js","outputFilePath":"/wxProject/taroConvert/src/app.js","importStylePath":null,"imports":[]} +INFO [taro-cli-convertor] parseAst - 解析ImportDeclaration +import { Block } from "@tarojs/components"; +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/app.js +value: @tarojs/components +INFO [taro-cli-convertor] parseAst - 解析ImportDeclaration +import React from "react"; +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/app.js +value: react +INFO [taro-cli-convertor] parseAst - 解析ImportDeclaration +import Taro from "@tarojs/taro"; +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/app.js +value: @tarojs/taro +INFO [taro-cli-convertor] parseAst - 解析CallExpression +require("@tarojs/with-weapp") +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/app.js +value: @tarojs/with-weapp +INFO [taro-cli-convertor] parseAst - 解析CallExpression +App({}) +INFO [taro-cli-convertor] parseAst - 解析CallExpression +cacheOptions.setOptionsToCache({}) +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +cacheOptions.setOptionsToCache +INFO [taro-cli-convertor] parseAst - 解析ClassDeclaration +@withWeapp(cacheOptions.getOptionsFromCache(), true) +class App extends React.Component { + render() { + return this.props.children; + } +} +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +this.props.children +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +this.props +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +React.Component +INFO [taro-cli-convertor] parseAst - 解析CallExpression +withWeapp(cacheOptions.getOptionsFromCache(), true) +INFO [taro-cli-convertor] parseAst - 解析CallExpression +cacheOptions.getOptionsFromCache() +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +cacheOptions.getOptionsFromCache +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/with-weapp" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/components" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"react" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/taro" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/with-weapp" +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +cacheOptions +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +require("@tarojs/with-weapp") +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +default: withWeapp +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +require("@tarojs/with-weapp") +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +cacheOptions.setOptionsToCache({}) +INFO [taro-cli-convertor] convertToOptional - 解析ClassBody +{ + render() { + return this.props.children; + } +} +INFO [taro-cli-convertor] convertToOptional - 解析MemberExpression +{ + render() { + return this.props.children; + } +} +INFO [taro-cli-convertor] convertToOptional - 解析MemberExpression +{ + render() { + return this.props.children; + } +} +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +withWeapp(cacheOptions.getOptionsFromCache(), true) +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +cacheOptions.getOptionsFromCache() +INFO [taro-cli-convertor] parseAst - 解析VariableDeclaration +const { + cacheOptions +} = require("@tarojs/with-weapp"); +INFO [taro-cli-convertor] parseAst - 解析VariableDeclaration +const { + default: withWeapp +} = require("@tarojs/with-weapp"); +INFO [taro-cli-convertor] traversePages - 开始转换页面 +pages/index/index +INFO [taro-cli-convertor] parseAst - 入参 +{"sourceFilePath":"/wxProject/pages/index/index.js","outputFilePath":"/wxProject/taroConvert/src/pages/index/index.js","importStylePath":null,"depComponents":{},"imports":[],"pluginComponents":{}} +INFO [taro-cli-convertor] parseAst - 解析ImportDeclaration +import { Block, View, Text } from "@tarojs/components"; +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/pages/index/index.js +value: @tarojs/components +INFO [taro-cli-convertor] parseAst - 解析ImportDeclaration +import React from "react"; +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/pages/index/index.js +value: react +INFO [taro-cli-convertor] parseAst - 解析ImportDeclaration +import Taro from "@tarojs/taro"; +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/pages/index/index.js +value: @tarojs/taro +INFO [taro-cli-convertor] parseAst - 解析CallExpression +require("@tarojs/with-weapp") +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/pages/index/index.js +value: @tarojs/with-weapp +INFO [taro-cli-convertor] parseAst - 解析CallExpression +Taro.getApp() +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +Taro.getApp +INFO [taro-cli-convertor] parseAst - 解析CallExpression +Page({ + data: { + motto: 'Hello World' + }, + onLoad() {} +}) +INFO [taro-cli-convertor] parseAst - 解析CallExpression +cacheOptions.setOptionsToCache({ + data: { + motto: 'Hello World' + }, + onLoad() {} +}) +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +cacheOptions.setOptionsToCache +INFO [taro-cli-convertor] parseAst - 解析ClassDeclaration +@withWeapp(cacheOptions.getOptionsFromCache()) +class _C extends React.Component { + render() { + const { + motto + } = this.data; + return {motto}; + } +} +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +this.data +INFO [taro-cli-convertor] parseAst - 解析JSXElement +{motto} +INFO [taro-cli-convertor] parseAst - 解析JSXElement +{motto} +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +React.Component +INFO [taro-cli-convertor] parseAst - 解析CallExpression +withWeapp(cacheOptions.getOptionsFromCache()) +INFO [taro-cli-convertor] parseAst - 解析CallExpression +cacheOptions.getOptionsFromCache() +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +cacheOptions.getOptionsFromCache +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/with-weapp" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/components" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"react" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/taro" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/with-weapp" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +'Hello World' +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +cacheOptions +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +require("@tarojs/with-weapp") +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +default: withWeapp +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +require("@tarojs/with-weapp") +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +Taro.getApp() +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +cacheOptions.setOptionsToCache({ + data: { + motto: 'Hello World' + }, + onLoad() {} +}) +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +data: { + motto: 'Hello World' +} +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +motto: 'Hello World' +INFO [taro-cli-convertor] convertToOptional - 解析ClassBody +{ + render() { + const { + motto + } = this.data; + return {motto}; + } +} +INFO [taro-cli-convertor] convertToOptional - 解析MemberExpression +{ + render() { + const { + motto + } = this.data; + return {motto}; + } +} +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +motto +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +withWeapp(cacheOptions.getOptionsFromCache()) +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +cacheOptions.getOptionsFromCache() +INFO [taro-cli-convertor] parseAst - 解析VariableDeclaration +const { + cacheOptions +} = require("@tarojs/with-weapp"); +INFO [taro-cli-convertor] parseAst - 解析VariableDeclaration +const { + default: withWeapp +} = require("@tarojs/with-weapp"); +INFO [taro-cli-convertor] parseAst - 解析VariableDeclaration +const app = Taro.getApp(); +INFO [taro-cli-convertor] parseAst - 解析VariableDeclaration +const { + motto +} = this.data; + +`; + +exports[`转换报告 生成转换报告文件 1`] = ` +Map { + /wxProject/taroConvert/.convert => , + /wxProject/taroConvert/.convert/convert.log => INFO [taro-cli-convertor] parseAst - 入参 +{"sourceFilePath":"/wxProject/app.js","outputFilePath":"/wxProject/taroConvert/src/app.js","importStylePath":null,"imports":[]} +INFO [taro-cli-convertor] parseAst - 解析ImportDeclaration +import { Block } from "@tarojs/components"; +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/app.js +value: @tarojs/components +INFO [taro-cli-convertor] parseAst - 解析ImportDeclaration +import React from "react"; +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/app.js +value: react +INFO [taro-cli-convertor] parseAst - 解析ImportDeclaration +import Taro from "@tarojs/taro"; +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/app.js +value: @tarojs/taro +INFO [taro-cli-convertor] parseAst - 解析CallExpression +require("@tarojs/with-weapp") +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/app.js +value: @tarojs/with-weapp +INFO [taro-cli-convertor] parseAst - 解析CallExpression +App({}) +INFO [taro-cli-convertor] parseAst - 解析CallExpression +cacheOptions.setOptionsToCache({}) +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +cacheOptions.setOptionsToCache +INFO [taro-cli-convertor] parseAst - 解析ClassDeclaration +@withWeapp(cacheOptions.getOptionsFromCache(), true) +class App extends React.Component { + render() { + return this.props.children; + } +} +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +this.props.children +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +this.props +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +React.Component +INFO [taro-cli-convertor] parseAst - 解析CallExpression +withWeapp(cacheOptions.getOptionsFromCache(), true) +INFO [taro-cli-convertor] parseAst - 解析CallExpression +cacheOptions.getOptionsFromCache() +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +cacheOptions.getOptionsFromCache +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/with-weapp" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/components" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"react" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/taro" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/with-weapp" +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +cacheOptions +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +require("@tarojs/with-weapp") +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +default: withWeapp +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +require("@tarojs/with-weapp") +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +cacheOptions.setOptionsToCache({}) +INFO [taro-cli-convertor] convertToOptional - 解析ClassBody +{ + render() { + return this.props.children; + } +} +INFO [taro-cli-convertor] convertToOptional - 解析MemberExpression +{ + render() { + return this.props.children; + } +} +INFO [taro-cli-convertor] convertToOptional - 解析MemberExpression +{ + render() { + return this.props.children; + } +} +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +withWeapp(cacheOptions.getOptionsFromCache(), true) +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +cacheOptions.getOptionsFromCache() +INFO [taro-cli-convertor] parseAst - 解析VariableDeclaration +const { + cacheOptions +} = require("@tarojs/with-weapp"); +INFO [taro-cli-convertor] parseAst - 解析VariableDeclaration +const { + default: withWeapp +} = require("@tarojs/with-weapp"); +INFO [taro-cli-convertor] traversePages - 开始转换页面 +pages/index/index +INFO [taro-cli-convertor] parseAst - 入参 +{"sourceFilePath":"/wxProject/pages/index/index.js","outputFilePath":"/wxProject/taroConvert/src/pages/index/index.js","importStylePath":null,"depComponents":{},"imports":[],"pluginComponents":{}} +INFO [taro-cli-convertor] parseAst - 解析ImportDeclaration +import { Block, View, Text } from "@tarojs/components"; +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/pages/index/index.js +value: @tarojs/components +INFO [taro-cli-convertor] parseAst - 解析ImportDeclaration +import React from "react"; +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/pages/index/index.js +value: react +INFO [taro-cli-convertor] parseAst - 解析ImportDeclaration +import Taro from "@tarojs/taro"; +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/pages/index/index.js +value: @tarojs/taro +INFO [taro-cli-convertor] parseAst - 解析CallExpression +require("@tarojs/with-weapp") +INFO [taro-cli-convertor] analyzeImportUrl - 入参 +sourceFilePath: /wxProject/pages/index/index.js +value: @tarojs/with-weapp +INFO [taro-cli-convertor] parseAst - 解析CallExpression +Taro.getApp() +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +Taro.getApp +INFO [taro-cli-convertor] parseAst - 解析CallExpression +Page({ + data: { + motto: 'Hello World' + }, + onLoad() {} +}) +INFO [taro-cli-convertor] parseAst - 解析CallExpression +cacheOptions.setOptionsToCache({ + data: { + motto: 'Hello World' + }, + onLoad() {} +}) +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +cacheOptions.setOptionsToCache +INFO [taro-cli-convertor] parseAst - 解析ClassDeclaration +@withWeapp(cacheOptions.getOptionsFromCache()) +class _C extends React.Component { + render() { + const { + motto + } = this.data; + return {motto}; + } +} +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +this.data +INFO [taro-cli-convertor] parseAst - 解析JSXElement +{motto} +INFO [taro-cli-convertor] parseAst - 解析JSXElement +{motto} +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +React.Component +INFO [taro-cli-convertor] parseAst - 解析CallExpression +withWeapp(cacheOptions.getOptionsFromCache()) +INFO [taro-cli-convertor] parseAst - 解析CallExpression +cacheOptions.getOptionsFromCache() +INFO [taro-cli-convertor] parseAst - 解析MemberExpression +cacheOptions.getOptionsFromCache +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/with-weapp" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/components" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"react" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/taro" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +"@tarojs/with-weapp" +INFO [taro-cli-convertor] parseAst - 解析StringLiteral +'Hello World' +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +cacheOptions +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +require("@tarojs/with-weapp") +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +default: withWeapp +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +require("@tarojs/with-weapp") +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +Taro.getApp() +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +cacheOptions.setOptionsToCache({ + data: { + motto: 'Hello World' + }, + onLoad() {} +}) +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +data: { + motto: 'Hello World' +} +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +motto: 'Hello World' +INFO [taro-cli-convertor] convertToOptional - 解析ClassBody +{ + render() { + const { + motto + } = this.data; + return {motto}; + } +} +INFO [taro-cli-convertor] convertToOptional - 解析MemberExpression +{ + render() { + const { + motto + } = this.data; + return {motto}; + } +} +INFO [taro-cli-convertor] convertToOptional - 解析ObjectProperty +motto +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +withWeapp(cacheOptions.getOptionsFromCache()) +INFO [taro-cli-convertor] convertToOptional - 解析CallExpression +cacheOptions.getOptionsFromCache() +INFO [taro-cli-convertor] parseAst - 解析VariableDeclaration +const { + cacheOptions +} = require("@tarojs/with-weapp"); +INFO [taro-cli-convertor] parseAst - 解析VariableDeclaration +const { + default: withWeapp +} = require("@tarojs/with-weapp"); +INFO [taro-cli-convertor] parseAst - 解析VariableDeclaration +const app = Taro.getApp(); +INFO [taro-cli-convertor] parseAst - 解析VariableDeclaration +const { + motto +} = this.data; +, + /wxProject/taroConvert/src/app.js => import withWeapp, { cacheOptions } from "@tarojs/with-weapp"; +import { Block } from "@tarojs/components"; +import React from "react"; +import Taro from "@tarojs/taro"; +cacheOptions.setOptionsToCache({}); +@withWeapp(cacheOptions.getOptionsFromCache(), true) +class App extends React.Component { + render() { + return this.props.children; + } +} +export default App;, + /wxProject/taroConvert/src/app.config.js => export default { pages: ['pages/index/index'] } +, + /wxProject/taroConvert/src/pages/index/index.js => import withWeapp, { cacheOptions } from '@tarojs/with-weapp' +import { Block, View, Text } from '@tarojs/components' +import React from 'react' +import Taro from '@tarojs/taro' +const app = Taro.getApp() +cacheOptions.setOptionsToCache({ + data: { + motto: 'Hello World', + }, + onLoad() {}, +}) +@withWeapp(cacheOptions.getOptionsFromCache()) +class _C extends React.Component { + render() { + const { motto } = this.data + return ( + + {motto} + + ) + } +} +export default _C +, + /wxProject/taroConvert/src/pages/index/index.config.js => export default {} +, + /wxProject/taroConvert/report => , + /wxProject/taroConvert/report/index.html => convert report
, + /wxProject/taroConvert/report/static/js => , + /wxProject/taroConvert/report/static/js/bundle.js => /******/ (function() { / webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 270: +/***/ (function(module, exports) { + +var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http:/jedwatson.github.io/classnames +*/ +/* global define */ + +(function () { + 'use strict'; + + var hasOwn = {}.hasOwnProperty; + var nativeCodeString = '[native code]'; + function classNames() { + var classes = []; + for (var i = 0; i < arguments.length; i++) { + var arg = arguments[i]; + if (!arg) continue; + var argType = typeof arg; + if (argType === 'string' || argType === 'number') { + classes.push(arg); + } else if (Array.isArray(arg)) { + if (arg.length) { + var inner = classNames.apply(null, arg); + if (inner) { + classes.push(inner); + } + } + } else if (argType === 'object') { + if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) { + classes.push(arg.toString()); + continue; + } + for (var key in arg) { + if (hasOwn.call(arg, key) && arg[key]) { + classes.push(key); + } + } + } + } + return classes.join(' '); + } + if ( true && module.exports) { + classNames.default = classNames; + module.exports = classNames; + } else if (true) { + / register as 'classnames', consistent with npm package name + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { + return classNames; + }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else {} +})(); + +/***/ }), + +/***/ 314: +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; +var __webpack_unused_export__; +/** + * @license React + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + +var b = Symbol.for("react.element"), + c = Symbol.for("react.portal"), + d = Symbol.for("react.fragment"), + e = Symbol.for("react.strict_mode"), + f = Symbol.for("react.profiler"), + g = Symbol.for("react.provider"), + h = Symbol.for("react.context"), + k = Symbol.for("react.server_context"), + l = Symbol.for("react.forward_ref"), + m = Symbol.for("react.suspense"), + n = Symbol.for("react.suspense_list"), + p = Symbol.for("react.memo"), + q = Symbol.for("react.lazy"), + t = Symbol.for("react.offscreen"), + u; +u = Symbol.for("react.module.reference"); +function v(a) { + if ("object" === typeof a && null !== a) { + var r = a.$$typeof; + switch (r) { + case b: + switch (a = a.type, a) { + case d: + case f: + case e: + case m: + case n: + return a; + default: + switch (a = a && a.$$typeof, a) { + case k: + case h: + case l: + case q: + case p: + case g: + return a; + default: + return r; + } + } + case c: + return r; + } + } +} +__webpack_unused_export__ = h; +__webpack_unused_export__ = g; +__webpack_unused_export__ = b; +__webpack_unused_export__ = l; +__webpack_unused_export__ = d; +__webpack_unused_export__ = q; +__webpack_unused_export__ = p; +__webpack_unused_export__ = c; +__webpack_unused_export__ = f; +__webpack_unused_export__ = e; +__webpack_unused_export__ = m; +__webpack_unused_export__ = n; +__webpack_unused_export__ = function () { + return !1; +}; +__webpack_unused_export__ = function () { + return !1; +}; +__webpack_unused_export__ = function (a) { + return v(a) === h; +}; +__webpack_unused_export__ = function (a) { + return v(a) === g; +}; +__webpack_unused_export__ = function (a) { + return "object" === typeof a && null !== a && a.$$typeof === b; +}; +__webpack_unused_export__ = function (a) { + return v(a) === l; +}; +exports.isFragment = function (a) { + return v(a) === d; +}; +__webpack_unused_export__ = function (a) { + return v(a) === q; +}; +exports.isMemo = function (a) { + return v(a) === p; +}; +__webpack_unused_export__ = function (a) { + return v(a) === c; +}; +__webpack_unused_export__ = function (a) { + return v(a) === f; +}; +__webpack_unused_export__ = function (a) { + return v(a) === e; +}; +__webpack_unused_export__ = function (a) { + return v(a) === m; +}; +__webpack_unused_export__ = function (a) { + return v(a) === n; +}; +__webpack_unused_export__ = function (a) { + return "string" === typeof a || "function" === typeof a || a === d || a === f || a === e || a === m || a === n || a === t || "object" === typeof a && null !== a && (a.$$typeof === q || a.$$typeof === p || a.$$typeof === g || a.$$typeof === h || a.$$typeof === l || a.$$typeof === u || void 0 !== a.getModuleId) ? !0 : !1; +}; +__webpack_unused_export__ = v; + +/***/ }), + +/***/ 343: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +if (true) { + module.exports = __webpack_require__(314); +} else {} + +/***/ }), + +/***/ 571: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/* + Modernizr 3.0.0pre (Custom Build) | MIT +*/ + + +var aa = __webpack_require__(519), + ca = __webpack_require__(514); +function p(a) { + for (var b = "https:/reactjs.org/docs/error-decoder.html?invariant=" + a, c = 1; c < arguments.length; c++) b += "&args[]=" + encodeURIComponent(arguments[c]); + return "Minified React error #" + a + "; visit " + b + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings."; +} +var da = new Set(), + ea = {}; +function fa(a, b) { + ha(a, b); + ha(a + "Capture", b); +} +function ha(a, b) { + ea[a] = b; + for (a = 0; a < b.length; a++) da.add(b[a]); +} +var ia = !("undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement), + ja = Object.prototype.hasOwnProperty, + ka = /^[:A-Z_a-z/u00C0-/u00D6/u00D8-/u00F6/u00F8-/u02FF/u0370-/u037D/u037F-/u1FFF/u200C-/u200D/u2070-/u218F/u2C00-/u2FEF/u3001-/uD7FF/uF900-/uFDCF/uFDF0-/uFFFD][:A-Z_a-z/u00C0-/u00D6/u00D8-/u00F6/u00F8-/u02FF/u0370-/u037D/u037F-/u1FFF/u200C-/u200D/u2070-/u218F/u2C00-/u2FEF/u3001-/uD7FF/uF900-/uFDCF/uFDF0-/uFFFD/-.0-9/u00B7/u0300-/u036F/u203F-/u2040]*$/, + la = {}, + ma = {}; +function oa(a) { + if (ja.call(ma, a)) return !0; + if (ja.call(la, a)) return !1; + if (ka.test(a)) return ma[a] = !0; + la[a] = !0; + return !1; +} +function pa(a, b, c, d) { + if (null !== c && 0 === c.type) return !1; + switch (typeof b) { + case "function": + case "symbol": + return !0; + case "boolean": + if (d) return !1; + if (null !== c) return !c.acceptsBooleans; + a = a.toLowerCase().slice(0, 5); + return "data-" !== a && "aria-" !== a; + default: + return !1; + } +} +function qa(a, b, c, d) { + if (null === b || "undefined" === typeof b || pa(a, b, c, d)) return !0; + if (d) return !1; + if (null !== c) switch (c.type) { + case 3: + return !b; + case 4: + return !1 === b; + case 5: + return isNaN(b); + case 6: + return isNaN(b) || 1 > b; + } + return !1; +} +function v(a, b, c, d, e, f, g) { + this.acceptsBooleans = 2 === b || 3 === b || 4 === b; + this.attributeName = d; + this.attributeNamespace = e; + this.mustUseProperty = c; + this.propertyName = a; + this.type = b; + this.sanitizeURL = f; + this.removeEmptyString = g; +} +var z = {}; +"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function (a) { + z[a] = new v(a, 0, !1, a, null, !1, !1); +}); +[["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function (a) { + var b = a[0]; + z[b] = new v(b, 1, !1, a[1], null, !1, !1); +}); +["contentEditable", "draggable", "spellCheck", "value"].forEach(function (a) { + z[a] = new v(a, 2, !1, a.toLowerCase(), null, !1, !1); +}); +["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function (a) { + z[a] = new v(a, 2, !1, a, null, !1, !1); +}); +"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function (a) { + z[a] = new v(a, 3, !1, a.toLowerCase(), null, !1, !1); +}); +["checked", "multiple", "muted", "selected"].forEach(function (a) { + z[a] = new v(a, 3, !0, a, null, !1, !1); +}); +["capture", "download"].forEach(function (a) { + z[a] = new v(a, 4, !1, a, null, !1, !1); +}); +["cols", "rows", "size", "span"].forEach(function (a) { + z[a] = new v(a, 6, !1, a, null, !1, !1); +}); +["rowSpan", "start"].forEach(function (a) { + z[a] = new v(a, 5, !1, a.toLowerCase(), null, !1, !1); +}); +var ra = /[/-:]([a-z])/g; +function sa(a) { + return a[1].toUpperCase(); +} +"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function (a) { + var b = a.replace(ra, sa); + z[b] = new v(b, 1, !1, a, null, !1, !1); +}); +"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function (a) { + var b = a.replace(ra, sa); + z[b] = new v(b, 1, !1, a, "http:/www.w3.org/1999/xlink", !1, !1); +}); +["xml:base", "xml:lang", "xml:space"].forEach(function (a) { + var b = a.replace(ra, sa); + z[b] = new v(b, 1, !1, a, "http:/www.w3.org/XML/1998/namespace", !1, !1); +}); +["tabIndex", "crossOrigin"].forEach(function (a) { + z[a] = new v(a, 1, !1, a.toLowerCase(), null, !1, !1); +}); +z.xlinkHref = new v("xlinkHref", 1, !1, "xlink:href", "http:/www.w3.org/1999/xlink", !0, !1); +["src", "href", "action", "formAction"].forEach(function (a) { + z[a] = new v(a, 1, !1, a.toLowerCase(), null, !0, !0); +}); +function ta(a, b, c, d) { + var e = z.hasOwnProperty(b) ? z[b] : null; + if (null !== e ? 0 !== e.type : d || !(2 < b.length) || "o" !== b[0] && "O" !== b[0] || "n" !== b[1] && "N" !== b[1]) qa(b, c, e, d) && (c = null), d || null === e ? oa(b) && (null === c ? a.removeAttribute(b) : a.setAttribute(b, "" + c)) : e.mustUseProperty ? a[e.propertyName] = null === c ? 3 === e.type ? !1 : "" : c : (b = e.attributeName, d = e.attributeNamespace, null === c ? a.removeAttribute(b) : (e = e.type, c = 3 === e || 4 === e && !0 === c ? "" : "" + c, d ? a.setAttributeNS(d, b, c) : a.setAttribute(b, c))); +} +var ua = aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, + va = Symbol.for("react.element"), + wa = Symbol.for("react.portal"), + ya = Symbol.for("react.fragment"), + za = Symbol.for("react.strict_mode"), + Aa = Symbol.for("react.profiler"), + Ba = Symbol.for("react.provider"), + Ca = Symbol.for("react.context"), + Da = Symbol.for("react.forward_ref"), + Ea = Symbol.for("react.suspense"), + Fa = Symbol.for("react.suspense_list"), + Ga = Symbol.for("react.memo"), + Ha = Symbol.for("react.lazy"); +Symbol.for("react.scope"); +Symbol.for("react.debug_trace_mode"); +var Ia = Symbol.for("react.offscreen"); +Symbol.for("react.legacy_hidden"); +Symbol.for("react.cache"); +Symbol.for("react.tracing_marker"); +var Ja = Symbol.iterator; +function Ka(a) { + if (null === a || "object" !== typeof a) return null; + a = Ja && a[Ja] || a["@@iterator"]; + return "function" === typeof a ? a : null; +} +var A = Object.assign, + La; +function Ma(a) { + if (void 0 === La) try { + throw Error(); + } catch (c) { + var b = c.stack.trim().match(/n( *(at )?)/); + La = b && b[1] || ""; + } + return "/n" + La + a; +} +var Na = !1; +function Oa(a, b) { + if (!a || Na) return ""; + Na = !0; + var c = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + try { + if (b) { + if (b = function b() { + throw Error(); + }, Object.defineProperty(b.prototype, "props", { + set: function set() { + throw Error(); + } + }), "object" === typeof Reflect && Reflect.construct) { + try { + Reflect.construct(b, []); + } catch (l) { + var d = l; + } + Reflect.construct(a, [], b); + } else { + try { + b.call(); + } catch (l) { + d = l; + } + a.call(b.prototype); + } + } else { + try { + throw Error(); + } catch (l) { + d = l; + } + a(); + } + } catch (l) { + if (l && d && "string" === typeof l.stack) { + for (var e = l.stack.split("/n"), f = d.stack.split("/n"), g = e.length - 1, h = f.length - 1; 1 <= g && 0 <= h && e[g] !== f[h];) h--; + for (; 1 <= g && 0 <= h; g--, h--) if (e[g] !== f[h]) { + if (1 !== g || 1 !== h) { + do if (g--, h--, 0 > h || e[g] !== f[h]) { + var k = "/n" + e[g].replace(" at new ", " at "); + a.displayName && k.includes("") && (k = k.replace("", a.displayName)); + return k; + } while (1 <= g && 0 <= h); + } + break; + } + } + } finally { + Na = !1, Error.prepareStackTrace = c; + } + return (a = a ? a.displayName || a.name : "") ? Ma(a) : ""; +} +function Pa(a) { + switch (a.tag) { + case 5: + return Ma(a.type); + case 16: + return Ma("Lazy"); + case 13: + return Ma("Suspense"); + case 19: + return Ma("SuspenseList"); + case 0: + case 2: + case 15: + return a = Oa(a.type, !1), a; + case 11: + return a = Oa(a.type.render, !1), a; + case 1: + return a = Oa(a.type, !0), a; + default: + return ""; + } +} +function Qa(a) { + if (null == a) return null; + if ("function" === typeof a) return a.displayName || a.name || null; + if ("string" === typeof a) return a; + switch (a) { + case ya: + return "Fragment"; + case wa: + return "Portal"; + case Aa: + return "Profiler"; + case za: + return "StrictMode"; + case Ea: + return "Suspense"; + case Fa: + return "SuspenseList"; + } + if ("object" === typeof a) switch (a.$$typeof) { + case Ca: + return (a.displayName || "Context") + ".Consumer"; + case Ba: + return (a._context.displayName || "Context") + ".Provider"; + case Da: + var b = a.render; + a = a.displayName; + a || (a = b.displayName || b.name || "", a = "" !== a ? "ForwardRef(" + a + ")" : "ForwardRef"); + return a; + case Ga: + return b = a.displayName || null, null !== b ? b : Qa(a.type) || "Memo"; + case Ha: + b = a._payload; + a = a._init; + try { + return Qa(a(b)); + } catch (c) {} + } + return null; +} +function Ra(a) { + var b = a.type; + switch (a.tag) { + case 24: + return "Cache"; + case 9: + return (b.displayName || "Context") + ".Consumer"; + case 10: + return (b._context.displayName || "Context") + ".Provider"; + case 18: + return "DehydratedFragment"; + case 11: + return a = b.render, a = a.displayName || a.name || "", b.displayName || ("" !== a ? "ForwardRef(" + a + ")" : "ForwardRef"); + case 7: + return "Fragment"; + case 5: + return b; + case 4: + return "Portal"; + case 3: + return "Root"; + case 6: + return "Text"; + case 16: + return Qa(b); + case 8: + return b === za ? "StrictMode" : "Mode"; + case 22: + return "Offscreen"; + case 12: + return "Profiler"; + case 21: + return "Scope"; + case 13: + return "Suspense"; + case 19: + return "SuspenseList"; + case 25: + return "TracingMarker"; + case 1: + case 0: + case 17: + case 2: + case 14: + case 15: + if ("function" === typeof b) return b.displayName || b.name || null; + if ("string" === typeof b) return b; + } + return null; +} +function Sa(a) { + switch (typeof a) { + case "boolean": + case "number": + case "string": + case "undefined": + return a; + case "object": + return a; + default: + return ""; + } +} +function Ta(a) { + var b = a.type; + return (a = a.nodeName) && "input" === a.toLowerCase() && ("checkbox" === b || "radio" === b); +} +function Ua(a) { + var b = Ta(a) ? "checked" : "value", + c = Object.getOwnPropertyDescriptor(a.constructor.prototype, b), + d = "" + a[b]; + if (!a.hasOwnProperty(b) && "undefined" !== typeof c && "function" === typeof c.get && "function" === typeof c.set) { + var e = c.get, + f = c.set; + Object.defineProperty(a, b, { + configurable: !0, + get: function get() { + return e.call(this); + }, + set: function set(a) { + d = "" + a; + f.call(this, a); + } + }); + Object.defineProperty(a, b, { + enumerable: c.enumerable + }); + return { + getValue: function getValue() { + return d; + }, + setValue: function setValue(a) { + d = "" + a; + }, + stopTracking: function stopTracking() { + a._valueTracker = null; + delete a[b]; + } + }; + } +} +function Va(a) { + a._valueTracker || (a._valueTracker = Ua(a)); +} +function Wa(a) { + if (!a) return !1; + var b = a._valueTracker; + if (!b) return !0; + var c = b.getValue(); + var d = ""; + a && (d = Ta(a) ? a.checked ? "true" : "false" : a.value); + a = d; + return a !== c ? (b.setValue(a), !0) : !1; +} +function Xa(a) { + a = a || ("undefined" !== typeof document ? document : void 0); + if ("undefined" === typeof a) return null; + try { + return a.activeElement || a.body; + } catch (b) { + return a.body; + } +} +function Ya(a, b) { + var c = b.checked; + return A({}, b, { + defaultChecked: void 0, + defaultValue: void 0, + value: void 0, + checked: null != c ? c : a._wrapperState.initialChecked + }); +} +function Za(a, b) { + var c = null == b.defaultValue ? "" : b.defaultValue, + d = null != b.checked ? b.checked : b.defaultChecked; + c = Sa(null != b.value ? b.value : c); + a._wrapperState = { + initialChecked: d, + initialValue: c, + controlled: "checkbox" === b.type || "radio" === b.type ? null != b.checked : null != b.value + }; +} +function ab(a, b) { + b = b.checked; + null != b && ta(a, "checked", b, !1); +} +function bb(a, b) { + ab(a, b); + var c = Sa(b.value), + d = b.type; + if (null != c) { + if ("number" === d) { + if (0 === c && "" === a.value || a.value != c) a.value = "" + c; + } else a.value !== "" + c && (a.value = "" + c); + } else if ("submit" === d || "reset" === d) { + a.removeAttribute("value"); + return; + } + b.hasOwnProperty("value") ? cb(a, b.type, c) : b.hasOwnProperty("defaultValue") && cb(a, b.type, Sa(b.defaultValue)); + null == b.checked && null != b.defaultChecked && (a.defaultChecked = !!b.defaultChecked); +} +function db(a, b, c) { + if (b.hasOwnProperty("value") || b.hasOwnProperty("defaultValue")) { + var d = b.type; + if (!("submit" !== d && "reset" !== d || void 0 !== b.value && null !== b.value)) return; + b = "" + a._wrapperState.initialValue; + c || b === a.value || (a.value = b); + a.defaultValue = b; + } + c = a.name; + "" !== c && (a.name = ""); + a.defaultChecked = !!a._wrapperState.initialChecked; + "" !== c && (a.name = c); +} +function cb(a, b, c) { + if ("number" !== b || Xa(a.ownerDocument) !== a) null == c ? a.defaultValue = "" + a._wrapperState.initialValue : a.defaultValue !== "" + c && (a.defaultValue = "" + c); +} +var eb = Array.isArray; +function fb(a, b, c, d) { + a = a.options; + if (b) { + b = {}; + for (var e = 0; e < c.length; e++) b["$" + c[e]] = !0; + for (c = 0; c < a.length; c++) e = b.hasOwnProperty("$" + a[c].value), a[c].selected !== e && (a[c].selected = e), e && d && (a[c].defaultSelected = !0); + } else { + c = "" + Sa(c); + b = null; + for (e = 0; e < a.length; e++) { + if (a[e].value === c) { + a[e].selected = !0; + d && (a[e].defaultSelected = !0); + return; + } + null !== b || a[e].disabled || (b = a[e]); + } + null !== b && (b.selected = !0); + } +} +function gb(a, b) { + if (null != b.dangerouslySetInnerHTML) throw Error(p(91)); + return A({}, b, { + value: void 0, + defaultValue: void 0, + children: "" + a._wrapperState.initialValue + }); +} +function hb(a, b) { + var c = b.value; + if (null == c) { + c = b.children; + b = b.defaultValue; + if (null != c) { + if (null != b) throw Error(p(92)); + if (eb(c)) { + if (1 < c.length) throw Error(p(93)); + c = c[0]; + } + b = c; + } + null == b && (b = ""); + c = b; + } + a._wrapperState = { + initialValue: Sa(c) + }; +} +function ib(a, b) { + var c = Sa(b.value), + d = Sa(b.defaultValue); + null != c && (c = "" + c, c !== a.value && (a.value = c), null == b.defaultValue && a.defaultValue !== c && (a.defaultValue = c)); + null != d && (a.defaultValue = "" + d); +} +function jb(a) { + var b = a.textContent; + b === a._wrapperState.initialValue && "" !== b && null !== b && (a.value = b); +} +function kb(a) { + switch (a) { + case "svg": + return "http:/www.w3.org/2000/svg"; + case "math": + return "http:/www.w3.org/1998/Math/MathML"; + default: + return "http:/www.w3.org/1999/xhtml"; + } +} +function lb(a, b) { + return null == a || "http:/www.w3.org/1999/xhtml" === a ? kb(b) : "http:/www.w3.org/2000/svg" === a && "foreignObject" === b ? "http:/www.w3.org/1999/xhtml" : a; +} +var mb, + nb = function (a) { + return "undefined" !== typeof MSApp && MSApp.execUnsafeLocalFunction ? function (b, c, d, e) { + MSApp.execUnsafeLocalFunction(function () { + return a(b, c, d, e); + }); + } : a; + }(function (a, b) { + if ("http:/www.w3.org/2000/svg" !== a.namespaceURI || "innerHTML" in a) a.innerHTML = b;else { + mb = mb || document.createElement("div"); + mb.innerHTML = "" + b.valueOf().toString() + ""; + for (b = mb.firstChild; a.firstChild;) a.removeChild(a.firstChild); + for (; b.firstChild;) a.appendChild(b.firstChild); + } + }); +function ob(a, b) { + if (b) { + var c = a.firstChild; + if (c && c === a.lastChild && 3 === c.nodeType) { + c.nodeValue = b; + return; + } + } + a.textContent = b; +} +var pb = { + animationIterationCount: !0, + aspectRatio: !0, + borderImageOutset: !0, + borderImageSlice: !0, + borderImageWidth: !0, + boxFlex: !0, + boxFlexGroup: !0, + boxOrdinalGroup: !0, + columnCount: !0, + columns: !0, + flex: !0, + flexGrow: !0, + flexPositive: !0, + flexShrink: !0, + flexNegative: !0, + flexOrder: !0, + gridArea: !0, + gridRow: !0, + gridRowEnd: !0, + gridRowSpan: !0, + gridRowStart: !0, + gridColumn: !0, + gridColumnEnd: !0, + gridColumnSpan: !0, + gridColumnStart: !0, + fontWeight: !0, + lineClamp: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + tabSize: !0, + widows: !0, + zIndex: !0, + zoom: !0, + fillOpacity: !0, + floodOpacity: !0, + stopOpacity: !0, + strokeDasharray: !0, + strokeDashoffset: !0, + strokeMiterlimit: !0, + strokeOpacity: !0, + strokeWidth: !0 + }, + qb = ["Webkit", "ms", "Moz", "O"]; +Object.keys(pb).forEach(function (a) { + qb.forEach(function (b) { + b = b + a.charAt(0).toUpperCase() + a.substring(1); + pb[b] = pb[a]; + }); +}); +function rb(a, b, c) { + return null == b || "boolean" === typeof b || "" === b ? "" : c || "number" !== typeof b || 0 === b || pb.hasOwnProperty(a) && pb[a] ? ("" + b).trim() : b + "px"; +} +function sb(a, b) { + a = a.style; + for (var c in b) if (b.hasOwnProperty(c)) { + var d = 0 === c.indexOf("--"), + e = rb(c, b[c], d); + "float" === c && (c = "cssFloat"); + d ? a.setProperty(c, e) : a[c] = e; + } +} +var tb = A({ + menuitem: !0 +}, { + area: !0, + base: !0, + br: !0, + col: !0, + embed: !0, + hr: !0, + img: !0, + input: !0, + keygen: !0, + link: !0, + meta: !0, + param: !0, + source: !0, + track: !0, + wbr: !0 +}); +function ub(a, b) { + if (b) { + if (tb[a] && (null != b.children || null != b.dangerouslySetInnerHTML)) throw Error(p(137, a)); + if (null != b.dangerouslySetInnerHTML) { + if (null != b.children) throw Error(p(60)); + if ("object" !== typeof b.dangerouslySetInnerHTML || !("__html" in b.dangerouslySetInnerHTML)) throw Error(p(61)); + } + if (null != b.style && "object" !== typeof b.style) throw Error(p(62)); + } +} +function vb(a, b) { + if (-1 === a.indexOf("-")) return "string" === typeof b.is; + switch (a) { + case "annotation-xml": + case "color-profile": + case "font-face": + case "font-face-src": + case "font-face-uri": + case "font-face-format": + case "font-face-name": + case "missing-glyph": + return !1; + default: + return !0; + } +} +var wb = null; +function xb(a) { + a = a.target || a.srcElement || window; + a.correspondingUseElement && (a = a.correspondingUseElement); + return 3 === a.nodeType ? a.parentNode : a; +} +var yb = null, + zb = null, + Ab = null; +function Bb(a) { + if (a = Cb(a)) { + if ("function" !== typeof yb) throw Error(p(280)); + var b = a.stateNode; + b && (b = Db(b), yb(a.stateNode, a.type, b)); + } +} +function Eb(a) { + zb ? Ab ? Ab.push(a) : Ab = [a] : zb = a; +} +function Fb() { + if (zb) { + var a = zb, + b = Ab; + Ab = zb = null; + Bb(a); + if (b) for (a = 0; a < b.length; a++) Bb(b[a]); + } +} +function Gb(a, b) { + return a(b); +} +function Hb() {} +var Ib = !1; +function Jb(a, b, c) { + if (Ib) return a(b, c); + Ib = !0; + try { + return Gb(a, b, c); + } finally { + if (Ib = !1, null !== zb || null !== Ab) Hb(), Fb(); + } +} +function Kb(a, b) { + var c = a.stateNode; + if (null === c) return null; + var d = Db(c); + if (null === d) return null; + c = d[b]; + a: switch (b) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + case "onMouseEnter": + (d = !d.disabled) || (a = a.type, d = !("button" === a || "input" === a || "select" === a || "textarea" === a)); + a = !d; + break a; + default: + a = !1; + } + if (a) return null; + if (c && "function" !== typeof c) throw Error(p(231, b, typeof c)); + return c; +} +var Lb = !1; +if (ia) try { + var Mb = {}; + Object.defineProperty(Mb, "passive", { + get: function get() { + Lb = !0; + } + }); + window.addEventListener("test", Mb, Mb); + window.removeEventListener("test", Mb, Mb); +} catch (a) { + Lb = !1; +} +function Nb(a, b, c, d, e, f, g, h, k) { + var l = Array.prototype.slice.call(arguments, 3); + try { + b.apply(c, l); + } catch (m) { + this.onError(m); + } +} +var Ob = !1, + Pb = null, + Qb = !1, + Rb = null, + Sb = { + onError: function onError(a) { + Ob = !0; + Pb = a; + } + }; +function Tb(a, b, c, d, e, f, g, h, k) { + Ob = !1; + Pb = null; + Nb.apply(Sb, arguments); +} +function Ub(a, b, c, d, e, f, g, h, k) { + Tb.apply(this, arguments); + if (Ob) { + if (Ob) { + var l = Pb; + Ob = !1; + Pb = null; + } else throw Error(p(198)); + Qb || (Qb = !0, Rb = l); + } +} +function Vb(a) { + var b = a, + c = a; + if (a.alternate) for (; b.return;) b = b.return;else { + a = b; + do b = a, 0 !== (b.flags & 4098) && (c = b.return), a = b.return; while (a); + } + return 3 === b.tag ? c : null; +} +function Wb(a) { + if (13 === a.tag) { + var b = a.memoizedState; + null === b && (a = a.alternate, null !== a && (b = a.memoizedState)); + if (null !== b) return b.dehydrated; + } + return null; +} +function Xb(a) { + if (Vb(a) !== a) throw Error(p(188)); +} +function Yb(a) { + var b = a.alternate; + if (!b) { + b = Vb(a); + if (null === b) throw Error(p(188)); + return b !== a ? null : a; + } + for (var c = a, d = b;;) { + var e = c.return; + if (null === e) break; + var f = e.alternate; + if (null === f) { + d = e.return; + if (null !== d) { + c = d; + continue; + } + break; + } + if (e.child === f.child) { + for (f = e.child; f;) { + if (f === c) return Xb(e), a; + if (f === d) return Xb(e), b; + f = f.sibling; + } + throw Error(p(188)); + } + if (c.return !== d.return) c = e, d = f;else { + for (var g = !1, h = e.child; h;) { + if (h === c) { + g = !0; + c = e; + d = f; + break; + } + if (h === d) { + g = !0; + d = e; + c = f; + break; + } + h = h.sibling; + } + if (!g) { + for (h = f.child; h;) { + if (h === c) { + g = !0; + c = f; + d = e; + break; + } + if (h === d) { + g = !0; + d = f; + c = e; + break; + } + h = h.sibling; + } + if (!g) throw Error(p(189)); + } + } + if (c.alternate !== d) throw Error(p(190)); + } + if (3 !== c.tag) throw Error(p(188)); + return c.stateNode.current === c ? a : b; +} +function Zb(a) { + a = Yb(a); + return null !== a ? $b(a) : null; +} +function $b(a) { + if (5 === a.tag || 6 === a.tag) return a; + for (a = a.child; null !== a;) { + var b = $b(a); + if (null !== b) return b; + a = a.sibling; + } + return null; +} +var ac = ca.unstable_scheduleCallback, + bc = ca.unstable_cancelCallback, + cc = ca.unstable_shouldYield, + dc = ca.unstable_requestPaint, + B = ca.unstable_now, + ec = ca.unstable_getCurrentPriorityLevel, + fc = ca.unstable_ImmediatePriority, + gc = ca.unstable_UserBlockingPriority, + hc = ca.unstable_NormalPriority, + ic = ca.unstable_LowPriority, + jc = ca.unstable_IdlePriority, + kc = null, + lc = null; +function mc(a) { + if (lc && "function" === typeof lc.onCommitFiberRoot) try { + lc.onCommitFiberRoot(kc, a, void 0, 128 === (a.current.flags & 128)); + } catch (b) {} +} +var oc = Math.clz32 ? Math.clz32 : nc, + pc = Math.log, + qc = Math.LN2; +function nc(a) { + a >>>= 0; + return 0 === a ? 32 : 31 - (pc(a) / qc | 0) | 0; +} +var rc = 64, + sc = 4194304; +function tc(a) { + switch (a & -a) { + case 1: + return 1; + case 2: + return 2; + case 4: + return 4; + case 8: + return 8; + case 16: + return 16; + case 32: + return 32; + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return a & 4194240; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + case 67108864: + return a & 130023424; + case 134217728: + return 134217728; + case 268435456: + return 268435456; + case 536870912: + return 536870912; + case 1073741824: + return 1073741824; + default: + return a; + } +} +function uc(a, b) { + var c = a.pendingLanes; + if (0 === c) return 0; + var d = 0, + e = a.suspendedLanes, + f = a.pingedLanes, + g = c & 268435455; + if (0 !== g) { + var h = g & ~e; + 0 !== h ? d = tc(h) : (f &= g, 0 !== f && (d = tc(f))); + } else g = c & ~e, 0 !== g ? d = tc(g) : 0 !== f && (d = tc(f)); + if (0 === d) return 0; + if (0 !== b && b !== d && 0 === (b & e) && (e = d & -d, f = b & -b, e >= f || 16 === e && 0 !== (f & 4194240))) return b; + 0 !== (d & 4) && (d |= c & 16); + b = a.entangledLanes; + if (0 !== b) for (a = a.entanglements, b &= d; 0 < b;) c = 31 - oc(b), e = 1 << c, d |= a[c], b &= ~e; + return d; +} +function vc(a, b) { + switch (a) { + case 1: + case 2: + case 4: + return b + 250; + case 8: + case 16: + case 32: + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return b + 5E3; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + case 67108864: + return -1; + case 134217728: + case 268435456: + case 536870912: + case 1073741824: + return -1; + default: + return -1; + } +} +function wc(a, b) { + for (var c = a.suspendedLanes, d = a.pingedLanes, e = a.expirationTimes, f = a.pendingLanes; 0 < f;) { + var g = 31 - oc(f), + h = 1 << g, + k = e[g]; + if (-1 === k) { + if (0 === (h & c) || 0 !== (h & d)) e[g] = vc(h, b); + } else k <= b && (a.expiredLanes |= h); + f &= ~h; + } +} +function xc(a) { + a = a.pendingLanes & -1073741825; + return 0 !== a ? a : a & 1073741824 ? 1073741824 : 0; +} +function yc() { + var a = rc; + rc <<= 1; + 0 === (rc & 4194240) && (rc = 64); + return a; +} +function zc(a) { + for (var b = [], c = 0; 31 > c; c++) b.push(a); + return b; +} +function Ac(a, b, c) { + a.pendingLanes |= b; + 536870912 !== b && (a.suspendedLanes = 0, a.pingedLanes = 0); + a = a.eventTimes; + b = 31 - oc(b); + a[b] = c; +} +function Bc(a, b) { + var c = a.pendingLanes & ~b; + a.pendingLanes = b; + a.suspendedLanes = 0; + a.pingedLanes = 0; + a.expiredLanes &= b; + a.mutableReadLanes &= b; + a.entangledLanes &= b; + b = a.entanglements; + var d = a.eventTimes; + for (a = a.expirationTimes; 0 < c;) { + var e = 31 - oc(c), + f = 1 << e; + b[e] = 0; + d[e] = -1; + a[e] = -1; + c &= ~f; + } +} +function Cc(a, b) { + var c = a.entangledLanes |= b; + for (a = a.entanglements; c;) { + var d = 31 - oc(c), + e = 1 << d; + e & b | a[d] & b && (a[d] |= b); + c &= ~e; + } +} +var C = 0; +function Dc(a) { + a &= -a; + return 1 < a ? 4 < a ? 0 !== (a & 268435455) ? 16 : 536870912 : 4 : 1; +} +var Ec, + Fc, + Gc, + Hc, + Ic, + Jc = !1, + Kc = [], + Lc = null, + Mc = null, + Nc = null, + Oc = new Map(), + Pc = new Map(), + Qc = [], + Rc = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" "); +function Sc(a, b) { + switch (a) { + case "focusin": + case "focusout": + Lc = null; + break; + case "dragenter": + case "dragleave": + Mc = null; + break; + case "mouseover": + case "mouseout": + Nc = null; + break; + case "pointerover": + case "pointerout": + Oc.delete(b.pointerId); + break; + case "gotpointercapture": + case "lostpointercapture": + Pc.delete(b.pointerId); + } +} +function Tc(a, b, c, d, e, f) { + if (null === a || a.nativeEvent !== f) return a = { + blockedOn: b, + domEventName: c, + eventSystemFlags: d, + nativeEvent: f, + targetContainers: [e] + }, null !== b && (b = Cb(b), null !== b && Fc(b)), a; + a.eventSystemFlags |= d; + b = a.targetContainers; + null !== e && -1 === b.indexOf(e) && b.push(e); + return a; +} +function Uc(a, b, c, d, e) { + switch (b) { + case "focusin": + return Lc = Tc(Lc, a, b, c, d, e), !0; + case "dragenter": + return Mc = Tc(Mc, a, b, c, d, e), !0; + case "mouseover": + return Nc = Tc(Nc, a, b, c, d, e), !0; + case "pointerover": + var f = e.pointerId; + Oc.set(f, Tc(Oc.get(f) || null, a, b, c, d, e)); + return !0; + case "gotpointercapture": + return f = e.pointerId, Pc.set(f, Tc(Pc.get(f) || null, a, b, c, d, e)), !0; + } + return !1; +} +function Vc(a) { + var b = Wc(a.target); + if (null !== b) { + var c = Vb(b); + if (null !== c) if (b = c.tag, 13 === b) { + if (b = Wb(c), null !== b) { + a.blockedOn = b; + Ic(a.priority, function () { + Gc(c); + }); + return; + } + } else if (3 === b && c.stateNode.current.memoizedState.isDehydrated) { + a.blockedOn = 3 === c.tag ? c.stateNode.containerInfo : null; + return; + } + } + a.blockedOn = null; +} +function Xc(a) { + if (null !== a.blockedOn) return !1; + for (var b = a.targetContainers; 0 < b.length;) { + var c = Yc(a.domEventName, a.eventSystemFlags, b[0], a.nativeEvent); + if (null === c) { + c = a.nativeEvent; + var d = new c.constructor(c.type, c); + wb = d; + c.target.dispatchEvent(d); + wb = null; + } else return b = Cb(c), null !== b && Fc(b), a.blockedOn = c, !1; + b.shift(); + } + return !0; +} +function Zc(a, b, c) { + Xc(a) && c.delete(b); +} +function $c() { + Jc = !1; + null !== Lc && Xc(Lc) && (Lc = null); + null !== Mc && Xc(Mc) && (Mc = null); + null !== Nc && Xc(Nc) && (Nc = null); + Oc.forEach(Zc); + Pc.forEach(Zc); +} +function ad(a, b) { + a.blockedOn === b && (a.blockedOn = null, Jc || (Jc = !0, ca.unstable_scheduleCallback(ca.unstable_NormalPriority, $c))); +} +function bd(a) { + function b(b) { + return ad(b, a); + } + if (0 < Kc.length) { + ad(Kc[0], a); + for (var c = 1; c < Kc.length; c++) { + var d = Kc[c]; + d.blockedOn === a && (d.blockedOn = null); + } + } + null !== Lc && ad(Lc, a); + null !== Mc && ad(Mc, a); + null !== Nc && ad(Nc, a); + Oc.forEach(b); + Pc.forEach(b); + for (c = 0; c < Qc.length; c++) d = Qc[c], d.blockedOn === a && (d.blockedOn = null); + for (; 0 < Qc.length && (c = Qc[0], null === c.blockedOn);) Vc(c), null === c.blockedOn && Qc.shift(); +} +var cd = ua.ReactCurrentBatchConfig, + dd = !0; +function ed(a, b, c, d) { + var e = C, + f = cd.transition; + cd.transition = null; + try { + C = 1, fd(a, b, c, d); + } finally { + C = e, cd.transition = f; + } +} +function gd(a, b, c, d) { + var e = C, + f = cd.transition; + cd.transition = null; + try { + C = 4, fd(a, b, c, d); + } finally { + C = e, cd.transition = f; + } +} +function fd(a, b, c, d) { + if (dd) { + var e = Yc(a, b, c, d); + if (null === e) hd(a, b, d, id, c), Sc(a, d);else if (Uc(e, a, b, c, d)) d.stopPropagation();else if (Sc(a, d), b & 4 && -1 < Rc.indexOf(a)) { + for (; null !== e;) { + var f = Cb(e); + null !== f && Ec(f); + f = Yc(a, b, c, d); + null === f && hd(a, b, d, id, c); + if (f === e) break; + e = f; + } + null !== e && d.stopPropagation(); + } else hd(a, b, d, null, c); + } +} +var id = null; +function Yc(a, b, c, d) { + id = null; + a = xb(d); + a = Wc(a); + if (null !== a) if (b = Vb(a), null === b) a = null;else if (c = b.tag, 13 === c) { + a = Wb(b); + if (null !== a) return a; + a = null; + } else if (3 === c) { + if (b.stateNode.current.memoizedState.isDehydrated) return 3 === b.tag ? b.stateNode.containerInfo : null; + a = null; + } else b !== a && (a = null); + id = a; + return null; +} +function jd(a) { + switch (a) { + case "cancel": + case "click": + case "close": + case "contextmenu": + case "copy": + case "cut": + case "auxclick": + case "dblclick": + case "dragend": + case "dragstart": + case "drop": + case "focusin": + case "focusout": + case "input": + case "invalid": + case "keydown": + case "keypress": + case "keyup": + case "mousedown": + case "mouseup": + case "paste": + case "pause": + case "play": + case "pointercancel": + case "pointerdown": + case "pointerup": + case "ratechange": + case "reset": + case "resize": + case "seeked": + case "submit": + case "touchcancel": + case "touchend": + case "touchstart": + case "volumechange": + case "change": + case "selectionchange": + case "textInput": + case "compositionstart": + case "compositionend": + case "compositionupdate": + case "beforeblur": + case "afterblur": + case "beforeinput": + case "blur": + case "fullscreenchange": + case "focus": + case "hashchange": + case "popstate": + case "select": + case "selectstart": + return 1; + case "drag": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "mousemove": + case "mouseout": + case "mouseover": + case "pointermove": + case "pointerout": + case "pointerover": + case "scroll": + case "toggle": + case "touchmove": + case "wheel": + case "mouseenter": + case "mouseleave": + case "pointerenter": + case "pointerleave": + return 4; + case "message": + switch (ec()) { + case fc: + return 1; + case gc: + return 4; + case hc: + case ic: + return 16; + case jc: + return 536870912; + default: + return 16; + } + default: + return 16; + } +} +var kd = null, + ld = null, + md = null; +function nd() { + if (md) return md; + var a, + b = ld, + c = b.length, + d, + e = "value" in kd ? kd.value : kd.textContent, + f = e.length; + for (a = 0; a < c && b[a] === e[a]; a++); + var g = c - a; + for (d = 1; d <= g && b[c - d] === e[f - d]; d++); + return md = e.slice(a, 1 < d ? 1 - d : void 0); +} +function od(a) { + var b = a.keyCode; + "charCode" in a ? (a = a.charCode, 0 === a && 13 === b && (a = 13)) : a = b; + 10 === a && (a = 13); + return 32 <= a || 13 === a ? a : 0; +} +function pd() { + return !0; +} +function qd() { + return !1; +} +function rd(a) { + function b(b, d, e, f, g) { + this._reactName = b; + this._targetInst = e; + this.type = d; + this.nativeEvent = f; + this.target = g; + this.currentTarget = null; + for (var c in a) a.hasOwnProperty(c) && (b = a[c], this[c] = b ? b(f) : f[c]); + this.isDefaultPrevented = (null != f.defaultPrevented ? f.defaultPrevented : !1 === f.returnValue) ? pd : qd; + this.isPropagationStopped = qd; + return this; + } + A(b.prototype, { + preventDefault: function preventDefault() { + this.defaultPrevented = !0; + var a = this.nativeEvent; + a && (a.preventDefault ? a.preventDefault() : "unknown" !== typeof a.returnValue && (a.returnValue = !1), this.isDefaultPrevented = pd); + }, + stopPropagation: function stopPropagation() { + var a = this.nativeEvent; + a && (a.stopPropagation ? a.stopPropagation() : "unknown" !== typeof a.cancelBubble && (a.cancelBubble = !0), this.isPropagationStopped = pd); + }, + persist: function persist() {}, + isPersistent: pd + }); + return b; +} +var sd = { + eventPhase: 0, + bubbles: 0, + cancelable: 0, + timeStamp: function timeStamp(a) { + return a.timeStamp || Date.now(); + }, + defaultPrevented: 0, + isTrusted: 0 + }, + td = rd(sd), + ud = A({}, sd, { + view: 0, + detail: 0 + }), + vd = rd(ud), + wd, + xd, + yd, + Ad = A({}, ud, { + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0, + pageX: 0, + pageY: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + getModifierState: zd, + button: 0, + buttons: 0, + relatedTarget: function relatedTarget(a) { + return void 0 === a.relatedTarget ? a.fromElement === a.srcElement ? a.toElement : a.fromElement : a.relatedTarget; + }, + movementX: function movementX(a) { + if ("movementX" in a) return a.movementX; + a !== yd && (yd && "mousemove" === a.type ? (wd = a.screenX - yd.screenX, xd = a.screenY - yd.screenY) : xd = wd = 0, yd = a); + return wd; + }, + movementY: function movementY(a) { + return "movementY" in a ? a.movementY : xd; + } + }), + Bd = rd(Ad), + Cd = A({}, Ad, { + dataTransfer: 0 + }), + Dd = rd(Cd), + Ed = A({}, ud, { + relatedTarget: 0 + }), + Fd = rd(Ed), + Gd = A({}, sd, { + animationName: 0, + elapsedTime: 0, + pseudoElement: 0 + }), + Hd = rd(Gd), + Id = A({}, sd, { + clipboardData: function clipboardData(a) { + return "clipboardData" in a ? a.clipboardData : window.clipboardData; + } + }), + Jd = rd(Id), + Kd = A({}, sd, { + data: 0 + }), + Ld = rd(Kd), + Md = { + Esc: "Escape", + Spacebar: " ", + Left: "ArrowLeft", + Up: "ArrowUp", + Right: "ArrowRight", + Down: "ArrowDown", + Del: "Delete", + Win: "OS", + Menu: "ContextMenu", + Apps: "ContextMenu", + Scroll: "ScrollLock", + MozPrintableKey: "Unidentified" + }, + Nd = { + 8: "Backspace", + 9: "Tab", + 12: "Clear", + 13: "Enter", + 16: "Shift", + 17: "Control", + 18: "Alt", + 19: "Pause", + 20: "CapsLock", + 27: "Escape", + 32: " ", + 33: "PageUp", + 34: "PageDown", + 35: "End", + 36: "Home", + 37: "ArrowLeft", + 38: "ArrowUp", + 39: "ArrowRight", + 40: "ArrowDown", + 45: "Insert", + 46: "Delete", + 112: "F1", + 113: "F2", + 114: "F3", + 115: "F4", + 116: "F5", + 117: "F6", + 118: "F7", + 119: "F8", + 120: "F9", + 121: "F10", + 122: "F11", + 123: "F12", + 144: "NumLock", + 145: "ScrollLock", + 224: "Meta" + }, + Od = { + Alt: "altKey", + Control: "ctrlKey", + Meta: "metaKey", + Shift: "shiftKey" + }; +function Pd(a) { + var b = this.nativeEvent; + return b.getModifierState ? b.getModifierState(a) : (a = Od[a]) ? !!b[a] : !1; +} +function zd() { + return Pd; +} +var Qd = A({}, ud, { + key: function key(a) { + if (a.key) { + var b = Md[a.key] || a.key; + if ("Unidentified" !== b) return b; + } + return "keypress" === a.type ? (a = od(a), 13 === a ? "Enter" : String.fromCharCode(a)) : "keydown" === a.type || "keyup" === a.type ? Nd[a.keyCode] || "Unidentified" : ""; + }, + code: 0, + location: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + repeat: 0, + locale: 0, + getModifierState: zd, + charCode: function charCode(a) { + return "keypress" === a.type ? od(a) : 0; + }, + keyCode: function keyCode(a) { + return "keydown" === a.type || "keyup" === a.type ? a.keyCode : 0; + }, + which: function which(a) { + return "keypress" === a.type ? od(a) : "keydown" === a.type || "keyup" === a.type ? a.keyCode : 0; + } + }), + Rd = rd(Qd), + Sd = A({}, Ad, { + pointerId: 0, + width: 0, + height: 0, + pressure: 0, + tangentialPressure: 0, + tiltX: 0, + tiltY: 0, + twist: 0, + pointerType: 0, + isPrimary: 0 + }), + Td = rd(Sd), + Ud = A({}, ud, { + touches: 0, + targetTouches: 0, + changedTouches: 0, + altKey: 0, + metaKey: 0, + ctrlKey: 0, + shiftKey: 0, + getModifierState: zd + }), + Vd = rd(Ud), + Wd = A({}, sd, { + propertyName: 0, + elapsedTime: 0, + pseudoElement: 0 + }), + Xd = rd(Wd), + Yd = A({}, Ad, { + deltaX: function deltaX(a) { + return "deltaX" in a ? a.deltaX : "wheelDeltaX" in a ? -a.wheelDeltaX : 0; + }, + deltaY: function deltaY(a) { + return "deltaY" in a ? a.deltaY : "wheelDeltaY" in a ? -a.wheelDeltaY : "wheelDelta" in a ? -a.wheelDelta : 0; + }, + deltaZ: 0, + deltaMode: 0 + }), + Zd = rd(Yd), + $d = [9, 13, 27, 32], + ae = ia && "CompositionEvent" in window, + be = null; +ia && "documentMode" in document && (be = document.documentMode); +var ce = ia && "TextEvent" in window && !be, + de = ia && (!ae || be && 8 < be && 11 >= be), + ee = String.fromCharCode(32), + fe = !1; +function ge(a, b) { + switch (a) { + case "keyup": + return -1 !== $d.indexOf(b.keyCode); + case "keydown": + return 229 !== b.keyCode; + case "keypress": + case "mousedown": + case "focusout": + return !0; + default: + return !1; + } +} +function he(a) { + a = a.detail; + return "object" === typeof a && "data" in a ? a.data : null; +} +var ie = !1; +function je(a, b) { + switch (a) { + case "compositionend": + return he(b); + case "keypress": + if (32 !== b.which) return null; + fe = !0; + return ee; + case "textInput": + return a = b.data, a === ee && fe ? null : a; + default: + return null; + } +} +function ke(a, b) { + if (ie) return "compositionend" === a || !ae && ge(a, b) ? (a = nd(), md = ld = kd = null, ie = !1, a) : null; + switch (a) { + case "paste": + return null; + case "keypress": + if (!(b.ctrlKey || b.altKey || b.metaKey) || b.ctrlKey && b.altKey) { + if (b.char && 1 < b.char.length) return b.char; + if (b.which) return String.fromCharCode(b.which); + } + return null; + case "compositionend": + return de && "ko" !== b.locale ? null : b.data; + default: + return null; + } +} +var le = { + color: !0, + date: !0, + datetime: !0, + "datetime-local": !0, + email: !0, + month: !0, + number: !0, + password: !0, + range: !0, + search: !0, + tel: !0, + text: !0, + time: !0, + url: !0, + week: !0 +}; +function me(a) { + var b = a && a.nodeName && a.nodeName.toLowerCase(); + return "input" === b ? !!le[a.type] : "textarea" === b ? !0 : !1; +} +function ne(a, b, c, d) { + Eb(d); + b = oe(b, "onChange"); + 0 < b.length && (c = new td("onChange", "change", null, c, d), a.push({ + event: c, + listeners: b + })); +} +var pe = null, + qe = null; +function re(a) { + se(a, 0); +} +function te(a) { + var b = ue(a); + if (Wa(b)) return a; +} +function ve(a, b) { + if ("change" === a) return b; +} +var we = !1; +if (ia) { + var xe; + if (ia) { + var ye = ("oninput" in document); + if (!ye) { + var ze = document.createElement("div"); + ze.setAttribute("oninput", "return;"); + ye = "function" === typeof ze.oninput; + } + xe = ye; + } else xe = !1; + we = xe && (!document.documentMode || 9 < document.documentMode); +} +function Ae() { + pe && (pe.detachEvent("onpropertychange", Be), qe = pe = null); +} +function Be(a) { + if ("value" === a.propertyName && te(qe)) { + var b = []; + ne(b, qe, a, xb(a)); + Jb(re, b); + } +} +function Ce(a, b, c) { + "focusin" === a ? (Ae(), pe = b, qe = c, pe.attachEvent("onpropertychange", Be)) : "focusout" === a && Ae(); +} +function De(a) { + if ("selectionchange" === a || "keyup" === a || "keydown" === a) return te(qe); +} +function Ee(a, b) { + if ("click" === a) return te(b); +} +function Fe(a, b) { + if ("input" === a || "change" === a) return te(b); +} +function Ge(a, b) { + return a === b && (0 !== a || 1 / a === 1 / b) || a !== a && b !== b; +} +var He = "function" === typeof Object.is ? Object.is : Ge; +function Ie(a, b) { + if (He(a, b)) return !0; + if ("object" !== typeof a || null === a || "object" !== typeof b || null === b) return !1; + var c = Object.keys(a), + d = Object.keys(b); + if (c.length !== d.length) return !1; + for (d = 0; d < c.length; d++) { + var e = c[d]; + if (!ja.call(b, e) || !He(a[e], b[e])) return !1; + } + return !0; +} +function Je(a) { + for (; a && a.firstChild;) a = a.firstChild; + return a; +} +function Ke(a, b) { + var c = Je(a); + a = 0; + for (var d; c;) { + if (3 === c.nodeType) { + d = a + c.textContent.length; + if (a <= b && d >= b) return { + node: c, + offset: b - a + }; + a = d; + } + a: { + for (; c;) { + if (c.nextSibling) { + c = c.nextSibling; + break a; + } + c = c.parentNode; + } + c = void 0; + } + c = Je(c); + } +} +function Le(a, b) { + return a && b ? a === b ? !0 : a && 3 === a.nodeType ? !1 : b && 3 === b.nodeType ? Le(a, b.parentNode) : "contains" in a ? a.contains(b) : a.compareDocumentPosition ? !!(a.compareDocumentPosition(b) & 16) : !1 : !1; +} +function Me() { + for (var a = window, b = Xa(); b instanceof a.HTMLIFrameElement;) { + try { + var c = "string" === typeof b.contentWindow.location.href; + } catch (d) { + c = !1; + } + if (c) a = b.contentWindow;else break; + b = Xa(a.document); + } + return b; +} +function Ne(a) { + var b = a && a.nodeName && a.nodeName.toLowerCase(); + return b && ("input" === b && ("text" === a.type || "search" === a.type || "tel" === a.type || "url" === a.type || "password" === a.type) || "textarea" === b || "true" === a.contentEditable); +} +function Oe(a) { + var b = Me(), + c = a.focusedElem, + d = a.selectionRange; + if (b !== c && c && c.ownerDocument && Le(c.ownerDocument.documentElement, c)) { + if (null !== d && Ne(c)) if (b = d.start, a = d.end, void 0 === a && (a = b), "selectionStart" in c) c.selectionStart = b, c.selectionEnd = Math.min(a, c.value.length);else if (a = (b = c.ownerDocument || document) && b.defaultView || window, a.getSelection) { + a = a.getSelection(); + var e = c.textContent.length, + f = Math.min(d.start, e); + d = void 0 === d.end ? f : Math.min(d.end, e); + !a.extend && f > d && (e = d, d = f, f = e); + e = Ke(c, f); + var g = Ke(c, d); + e && g && (1 !== a.rangeCount || a.anchorNode !== e.node || a.anchorOffset !== e.offset || a.focusNode !== g.node || a.focusOffset !== g.offset) && (b = b.createRange(), b.setStart(e.node, e.offset), a.removeAllRanges(), f > d ? (a.addRange(b), a.extend(g.node, g.offset)) : (b.setEnd(g.node, g.offset), a.addRange(b))); + } + b = []; + for (a = c; a = a.parentNode;) 1 === a.nodeType && b.push({ + element: a, + left: a.scrollLeft, + top: a.scrollTop + }); + "function" === typeof c.focus && c.focus(); + for (c = 0; c < b.length; c++) a = b[c], a.element.scrollLeft = a.left, a.element.scrollTop = a.top; + } +} +var Pe = ia && "documentMode" in document && 11 >= document.documentMode, + Qe = null, + Re = null, + Se = null, + Te = !1; +function Ue(a, b, c) { + var d = c.window === c ? c.document : 9 === c.nodeType ? c : c.ownerDocument; + Te || null == Qe || Qe !== Xa(d) || (d = Qe, "selectionStart" in d && Ne(d) ? d = { + start: d.selectionStart, + end: d.selectionEnd + } : (d = (d.ownerDocument && d.ownerDocument.defaultView || window).getSelection(), d = { + anchorNode: d.anchorNode, + anchorOffset: d.anchorOffset, + focusNode: d.focusNode, + focusOffset: d.focusOffset + }), Se && Ie(Se, d) || (Se = d, d = oe(Re, "onSelect"), 0 < d.length && (b = new td("onSelect", "select", null, b, c), a.push({ + event: b, + listeners: d + }), b.target = Qe))); +} +function Ve(a, b) { + var c = {}; + c[a.toLowerCase()] = b.toLowerCase(); + c["Webkit" + a] = "webkit" + b; + c["Moz" + a] = "moz" + b; + return c; +} +var We = { + animationend: Ve("Animation", "AnimationEnd"), + animationiteration: Ve("Animation", "AnimationIteration"), + animationstart: Ve("Animation", "AnimationStart"), + transitionend: Ve("Transition", "TransitionEnd") + }, + Xe = {}, + Ye = {}; +ia && (Ye = document.createElement("div").style, "AnimationEvent" in window || (delete We.animationend.animation, delete We.animationiteration.animation, delete We.animationstart.animation), "TransitionEvent" in window || delete We.transitionend.transition); +function Ze(a) { + if (Xe[a]) return Xe[a]; + if (!We[a]) return a; + var b = We[a], + c; + for (c in b) if (b.hasOwnProperty(c) && c in Ye) return Xe[a] = b[c]; + return a; +} +var $e = Ze("animationend"), + af = Ze("animationiteration"), + bf = Ze("animationstart"), + cf = Ze("transitionend"), + df = new Map(), + ef = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" "); +function ff(a, b) { + df.set(a, b); + fa(b, [a]); +} +for (var gf = 0; gf < ef.length; gf++) { + var hf = ef[gf], + jf = hf.toLowerCase(), + kf = hf[0].toUpperCase() + hf.slice(1); + ff(jf, "on" + kf); +} +ff($e, "onAnimationEnd"); +ff(af, "onAnimationIteration"); +ff(bf, "onAnimationStart"); +ff("dblclick", "onDoubleClick"); +ff("focusin", "onFocus"); +ff("focusout", "onBlur"); +ff(cf, "onTransitionEnd"); +ha("onMouseEnter", ["mouseout", "mouseover"]); +ha("onMouseLeave", ["mouseout", "mouseover"]); +ha("onPointerEnter", ["pointerout", "pointerover"]); +ha("onPointerLeave", ["pointerout", "pointerover"]); +fa("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" ")); +fa("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")); +fa("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]); +fa("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" ")); +fa("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" ")); +fa("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" ")); +var lf = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), + mf = new Set("cancel close invalid load scroll toggle".split(" ").concat(lf)); +function nf(a, b, c) { + var d = a.type || "unknown-event"; + a.currentTarget = c; + Ub(d, b, void 0, a); + a.currentTarget = null; +} +function se(a, b) { + b = 0 !== (b & 4); + for (var c = 0; c < a.length; c++) { + var d = a[c], + e = d.event; + d = d.listeners; + a: { + var f = void 0; + if (b) for (var g = d.length - 1; 0 <= g; g--) { + var h = d[g], + k = h.instance, + l = h.currentTarget; + h = h.listener; + if (k !== f && e.isPropagationStopped()) break a; + nf(e, h, l); + f = k; + } else for (g = 0; g < d.length; g++) { + h = d[g]; + k = h.instance; + l = h.currentTarget; + h = h.listener; + if (k !== f && e.isPropagationStopped()) break a; + nf(e, h, l); + f = k; + } + } + } + if (Qb) throw a = Rb, Qb = !1, Rb = null, a; +} +function D(a, b) { + var c = b[of]; + void 0 === c && (c = b[of] = new Set()); + var d = a + "__bubble"; + c.has(d) || (pf(b, a, 2, !1), c.add(d)); +} +function qf(a, b, c) { + var d = 0; + b && (d |= 4); + pf(c, a, d, b); +} +var rf = "_reactListening" + Math.random().toString(36).slice(2); +function sf(a) { + if (!a[rf]) { + a[rf] = !0; + da.forEach(function (b) { + "selectionchange" !== b && (mf.has(b) || qf(b, !1, a), qf(b, !0, a)); + }); + var b = 9 === a.nodeType ? a : a.ownerDocument; + null === b || b[rf] || (b[rf] = !0, qf("selectionchange", !1, b)); + } +} +function pf(a, b, c, d) { + switch (jd(b)) { + case 1: + var e = ed; + break; + case 4: + e = gd; + break; + default: + e = fd; + } + c = e.bind(null, b, c, a); + e = void 0; + !Lb || "touchstart" !== b && "touchmove" !== b && "wheel" !== b || (e = !0); + d ? void 0 !== e ? a.addEventListener(b, c, { + capture: !0, + passive: e + }) : a.addEventListener(b, c, !0) : void 0 !== e ? a.addEventListener(b, c, { + passive: e + }) : a.addEventListener(b, c, !1); +} +function hd(a, b, c, d, e) { + var f = d; + if (0 === (b & 1) && 0 === (b & 2) && null !== d) a: for (;;) { + if (null === d) return; + var g = d.tag; + if (3 === g || 4 === g) { + var h = d.stateNode.containerInfo; + if (h === e || 8 === h.nodeType && h.parentNode === e) break; + if (4 === g) for (g = d.return; null !== g;) { + var k = g.tag; + if (3 === k || 4 === k) if (k = g.stateNode.containerInfo, k === e || 8 === k.nodeType && k.parentNode === e) return; + g = g.return; + } + for (; null !== h;) { + g = Wc(h); + if (null === g) return; + k = g.tag; + if (5 === k || 6 === k) { + d = f = g; + continue a; + } + h = h.parentNode; + } + } + d = d.return; + } + Jb(function () { + var d = f, + e = xb(c), + g = []; + a: { + var h = df.get(a); + if (void 0 !== h) { + var k = td, + n = a; + switch (a) { + case "keypress": + if (0 === od(c)) break a; + case "keydown": + case "keyup": + k = Rd; + break; + case "focusin": + n = "focus"; + k = Fd; + break; + case "focusout": + n = "blur"; + k = Fd; + break; + case "beforeblur": + case "afterblur": + k = Fd; + break; + case "click": + if (2 === c.button) break a; + case "auxclick": + case "dblclick": + case "mousedown": + case "mousemove": + case "mouseup": + case "mouseout": + case "mouseover": + case "contextmenu": + k = Bd; + break; + case "drag": + case "dragend": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "dragstart": + case "drop": + k = Dd; + break; + case "touchcancel": + case "touchend": + case "touchmove": + case "touchstart": + k = Vd; + break; + case $e: + case af: + case bf: + k = Hd; + break; + case cf: + k = Xd; + break; + case "scroll": + k = vd; + break; + case "wheel": + k = Zd; + break; + case "copy": + case "cut": + case "paste": + k = Jd; + break; + case "gotpointercapture": + case "lostpointercapture": + case "pointercancel": + case "pointerdown": + case "pointermove": + case "pointerout": + case "pointerover": + case "pointerup": + k = Td; + } + var t = 0 !== (b & 4), + J = !t && "scroll" === a, + x = t ? null !== h ? h + "Capture" : null : h; + t = []; + for (var w = d, u; null !== w;) { + u = w; + var F = u.stateNode; + 5 === u.tag && null !== F && (u = F, null !== x && (F = Kb(w, x), null != F && t.push(tf(w, F, u)))); + if (J) break; + w = w.return; + } + 0 < t.length && (h = new k(h, n, null, c, e), g.push({ + event: h, + listeners: t + })); + } + } + if (0 === (b & 7)) { + a: { + h = "mouseover" === a || "pointerover" === a; + k = "mouseout" === a || "pointerout" === a; + if (h && c !== wb && (n = c.relatedTarget || c.fromElement) && (Wc(n) || n[uf])) break a; + if (k || h) { + h = e.window === e ? e : (h = e.ownerDocument) ? h.defaultView || h.parentWindow : window; + if (k) { + if (n = c.relatedTarget || c.toElement, k = d, n = n ? Wc(n) : null, null !== n && (J = Vb(n), n !== J || 5 !== n.tag && 6 !== n.tag)) n = null; + } else k = null, n = d; + if (k !== n) { + t = Bd; + F = "onMouseLeave"; + x = "onMouseEnter"; + w = "mouse"; + if ("pointerout" === a || "pointerover" === a) t = Td, F = "onPointerLeave", x = "onPointerEnter", w = "pointer"; + J = null == k ? h : ue(k); + u = null == n ? h : ue(n); + h = new t(F, w + "leave", k, c, e); + h.target = J; + h.relatedTarget = u; + F = null; + Wc(e) === d && (t = new t(x, w + "enter", n, c, e), t.target = u, t.relatedTarget = J, F = t); + J = F; + if (k && n) b: { + t = k; + x = n; + w = 0; + for (u = t; u; u = vf(u)) w++; + u = 0; + for (F = x; F; F = vf(F)) u++; + for (; 0 < w - u;) t = vf(t), w--; + for (; 0 < u - w;) x = vf(x), u--; + for (; w--;) { + if (t === x || null !== x && t === x.alternate) break b; + t = vf(t); + x = vf(x); + } + t = null; + } else t = null; + null !== k && wf(g, h, k, t, !1); + null !== n && null !== J && wf(g, J, n, t, !0); + } + } + } + a: { + h = d ? ue(d) : window; + k = h.nodeName && h.nodeName.toLowerCase(); + if ("select" === k || "input" === k && "file" === h.type) var na = ve;else if (me(h)) { + if (we) na = Fe;else { + na = De; + var xa = Ce; + } + } else (k = h.nodeName) && "input" === k.toLowerCase() && ("checkbox" === h.type || "radio" === h.type) && (na = Ee); + if (na && (na = na(a, d))) { + ne(g, na, c, e); + break a; + } + xa && xa(a, h, d); + "focusout" === a && (xa = h._wrapperState) && xa.controlled && "number" === h.type && cb(h, "number", h.value); + } + xa = d ? ue(d) : window; + switch (a) { + case "focusin": + if (me(xa) || "true" === xa.contentEditable) Qe = xa, Re = d, Se = null; + break; + case "focusout": + Se = Re = Qe = null; + break; + case "mousedown": + Te = !0; + break; + case "contextmenu": + case "mouseup": + case "dragend": + Te = !1; + Ue(g, c, e); + break; + case "selectionchange": + if (Pe) break; + case "keydown": + case "keyup": + Ue(g, c, e); + } + var $a; + if (ae) b: { + switch (a) { + case "compositionstart": + var ba = "onCompositionStart"; + break b; + case "compositionend": + ba = "onCompositionEnd"; + break b; + case "compositionupdate": + ba = "onCompositionUpdate"; + break b; + } + ba = void 0; + } else ie ? ge(a, c) && (ba = "onCompositionEnd") : "keydown" === a && 229 === c.keyCode && (ba = "onCompositionStart"); + ba && (de && "ko" !== c.locale && (ie || "onCompositionStart" !== ba ? "onCompositionEnd" === ba && ie && ($a = nd()) : (kd = e, ld = "value" in kd ? kd.value : kd.textContent, ie = !0)), xa = oe(d, ba), 0 < xa.length && (ba = new Ld(ba, a, null, c, e), g.push({ + event: ba, + listeners: xa + }), $a ? ba.data = $a : ($a = he(c), null !== $a && (ba.data = $a)))); + if ($a = ce ? je(a, c) : ke(a, c)) d = oe(d, "onBeforeInput"), 0 < d.length && (e = new Ld("onBeforeInput", "beforeinput", null, c, e), g.push({ + event: e, + listeners: d + }), e.data = $a); + } + se(g, b); + }); +} +function tf(a, b, c) { + return { + instance: a, + listener: b, + currentTarget: c + }; +} +function oe(a, b) { + for (var c = b + "Capture", d = []; null !== a;) { + var e = a, + f = e.stateNode; + 5 === e.tag && null !== f && (e = f, f = Kb(a, c), null != f && d.unshift(tf(a, f, e)), f = Kb(a, b), null != f && d.push(tf(a, f, e))); + a = a.return; + } + return d; +} +function vf(a) { + if (null === a) return null; + do a = a.return; while (a && 5 !== a.tag); + return a ? a : null; +} +function wf(a, b, c, d, e) { + for (var f = b._reactName, g = []; null !== c && c !== d;) { + var h = c, + k = h.alternate, + l = h.stateNode; + if (null !== k && k === d) break; + 5 === h.tag && null !== l && (h = l, e ? (k = Kb(c, f), null != k && g.unshift(tf(c, k, h))) : e || (k = Kb(c, f), null != k && g.push(tf(c, k, h)))); + c = c.return; + } + 0 !== g.length && a.push({ + event: b, + listeners: g + }); +} +var xf = /r/n?/g, + yf = /u0000|/uFFFD/g; +function zf(a) { + return ("string" === typeof a ? a : "" + a).replace(xf, "/n").replace(yf, ""); +} +function Af(a, b, c) { + b = zf(b); + if (zf(a) !== b && c) throw Error(p(425)); +} +function Bf() {} +var Cf = null, + Df = null; +function Ef(a, b) { + return "textarea" === a || "noscript" === a || "string" === typeof b.children || "number" === typeof b.children || "object" === typeof b.dangerouslySetInnerHTML && null !== b.dangerouslySetInnerHTML && null != b.dangerouslySetInnerHTML.__html; +} +var Ff = "function" === typeof setTimeout ? setTimeout : void 0, + Gf = "function" === typeof clearTimeout ? clearTimeout : void 0, + Hf = "function" === typeof Promise ? Promise : void 0, + Jf = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof Hf ? function (a) { + return Hf.resolve(null).then(a).catch(If); + } : Ff; +function If(a) { + setTimeout(function () { + throw a; + }); +} +function Kf(a, b) { + var c = b, + d = 0; + do { + var e = c.nextSibling; + a.removeChild(c); + if (e && 8 === e.nodeType) if (c = e.data, "/$" === c) { + if (0 === d) { + a.removeChild(e); + bd(b); + return; + } + d--; + } else "$" !== c && "$?" !== c && "$!" !== c || d++; + c = e; + } while (c); + bd(b); +} +function Lf(a) { + for (; null != a; a = a.nextSibling) { + var b = a.nodeType; + if (1 === b || 3 === b) break; + if (8 === b) { + b = a.data; + if ("$" === b || "$!" === b || "$?" === b) break; + if ("/$" === b) return null; + } + } + return a; +} +function Mf(a) { + a = a.previousSibling; + for (var b = 0; a;) { + if (8 === a.nodeType) { + var c = a.data; + if ("$" === c || "$!" === c || "$?" === c) { + if (0 === b) return a; + b--; + } else "/$" === c && b++; + } + a = a.previousSibling; + } + return null; +} +var Nf = Math.random().toString(36).slice(2), + Of = "__reactFiber$" + Nf, + Pf = "__reactProps$" + Nf, + uf = "__reactContainer$" + Nf, + of = "__reactEvents$" + Nf, + Qf = "__reactListeners$" + Nf, + Rf = "__reactHandles$" + Nf; +function Wc(a) { + var b = a[Of]; + if (b) return b; + for (var c = a.parentNode; c;) { + if (b = c[uf] || c[Of]) { + c = b.alternate; + if (null !== b.child || null !== c && null !== c.child) for (a = Mf(a); null !== a;) { + if (c = a[Of]) return c; + a = Mf(a); + } + return b; + } + a = c; + c = a.parentNode; + } + return null; +} +function Cb(a) { + a = a[Of] || a[uf]; + return !a || 5 !== a.tag && 6 !== a.tag && 13 !== a.tag && 3 !== a.tag ? null : a; +} +function ue(a) { + if (5 === a.tag || 6 === a.tag) return a.stateNode; + throw Error(p(33)); +} +function Db(a) { + return a[Pf] || null; +} +var Sf = [], + Tf = -1; +function Uf(a) { + return { + current: a + }; +} +function E(a) { + 0 > Tf || (a.current = Sf[Tf], Sf[Tf] = null, Tf--); +} +function G(a, b) { + Tf++; + Sf[Tf] = a.current; + a.current = b; +} +var Vf = {}, + H = Uf(Vf), + Wf = Uf(!1), + Xf = Vf; +function Yf(a, b) { + var c = a.type.contextTypes; + if (!c) return Vf; + var d = a.stateNode; + if (d && d.__reactInternalMemoizedUnmaskedChildContext === b) return d.__reactInternalMemoizedMaskedChildContext; + var e = {}, + f; + for (f in c) e[f] = b[f]; + d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = b, a.__reactInternalMemoizedMaskedChildContext = e); + return e; +} +function Zf(a) { + a = a.childContextTypes; + return null !== a && void 0 !== a; +} +function $f() { + E(Wf); + E(H); +} +function ag(a, b, c) { + if (H.current !== Vf) throw Error(p(168)); + G(H, b); + G(Wf, c); +} +function bg(a, b, c) { + var d = a.stateNode; + b = b.childContextTypes; + if ("function" !== typeof d.getChildContext) return c; + d = d.getChildContext(); + for (var e in d) if (!(e in b)) throw Error(p(108, Ra(a) || "Unknown", e)); + return A({}, c, d); +} +function cg(a) { + a = (a = a.stateNode) && a.__reactInternalMemoizedMergedChildContext || Vf; + Xf = H.current; + G(H, a); + G(Wf, Wf.current); + return !0; +} +function dg(a, b, c) { + var d = a.stateNode; + if (!d) throw Error(p(169)); + c ? (a = bg(a, b, Xf), d.__reactInternalMemoizedMergedChildContext = a, E(Wf), E(H), G(H, a)) : E(Wf); + G(Wf, c); +} +var eg = null, + fg = !1, + gg = !1; +function hg(a) { + null === eg ? eg = [a] : eg.push(a); +} +function ig(a) { + fg = !0; + hg(a); +} +function jg() { + if (!gg && null !== eg) { + gg = !0; + var a = 0, + b = C; + try { + var c = eg; + for (C = 1; a < c.length; a++) { + var d = c[a]; + do d = d(!0); while (null !== d); + } + eg = null; + fg = !1; + } catch (e) { + throw null !== eg && (eg = eg.slice(a + 1)), ac(fc, jg), e; + } finally { + C = b, gg = !1; + } + } + return null; +} +var kg = [], + lg = 0, + mg = null, + ng = 0, + og = [], + pg = 0, + qg = null, + rg = 1, + sg = ""; +function tg(a, b) { + kg[lg++] = ng; + kg[lg++] = mg; + mg = a; + ng = b; +} +function ug(a, b, c) { + og[pg++] = rg; + og[pg++] = sg; + og[pg++] = qg; + qg = a; + var d = rg; + a = sg; + var e = 32 - oc(d) - 1; + d &= ~(1 << e); + c += 1; + var f = 32 - oc(b) + e; + if (30 < f) { + var g = e - e % 5; + f = (d & (1 << g) - 1).toString(32); + d >>= g; + e -= g; + rg = 1 << 32 - oc(b) + e | c << e | d; + sg = f + a; + } else rg = 1 << f | c << e | d, sg = a; +} +function vg(a) { + null !== a.return && (tg(a, 1), ug(a, 1, 0)); +} +function wg(a) { + for (; a === mg;) mg = kg[--lg], kg[lg] = null, ng = kg[--lg], kg[lg] = null; + for (; a === qg;) qg = og[--pg], og[pg] = null, sg = og[--pg], og[pg] = null, rg = og[--pg], og[pg] = null; +} +var xg = null, + yg = null, + I = !1, + zg = null; +function Ag(a, b) { + var c = Bg(5, null, null, 0); + c.elementType = "DELETED"; + c.stateNode = b; + c.return = a; + b = a.deletions; + null === b ? (a.deletions = [c], a.flags |= 16) : b.push(c); +} +function Cg(a, b) { + switch (a.tag) { + case 5: + var c = a.type; + b = 1 !== b.nodeType || c.toLowerCase() !== b.nodeName.toLowerCase() ? null : b; + return null !== b ? (a.stateNode = b, xg = a, yg = Lf(b.firstChild), !0) : !1; + case 6: + return b = "" === a.pendingProps || 3 !== b.nodeType ? null : b, null !== b ? (a.stateNode = b, xg = a, yg = null, !0) : !1; + case 13: + return b = 8 !== b.nodeType ? null : b, null !== b ? (c = null !== qg ? { + id: rg, + overflow: sg + } : null, a.memoizedState = { + dehydrated: b, + treeContext: c, + retryLane: 1073741824 + }, c = Bg(18, null, null, 0), c.stateNode = b, c.return = a, a.child = c, xg = a, yg = null, !0) : !1; + default: + return !1; + } +} +function Dg(a) { + return 0 !== (a.mode & 1) && 0 === (a.flags & 128); +} +function Eg(a) { + if (I) { + var b = yg; + if (b) { + var c = b; + if (!Cg(a, b)) { + if (Dg(a)) throw Error(p(418)); + b = Lf(c.nextSibling); + var d = xg; + b && Cg(a, b) ? Ag(d, c) : (a.flags = a.flags & -4097 | 2, I = !1, xg = a); + } + } else { + if (Dg(a)) throw Error(p(418)); + a.flags = a.flags & -4097 | 2; + I = !1; + xg = a; + } + } +} +function Fg(a) { + for (a = a.return; null !== a && 5 !== a.tag && 3 !== a.tag && 13 !== a.tag;) a = a.return; + xg = a; +} +function Gg(a) { + if (a !== xg) return !1; + if (!I) return Fg(a), I = !0, !1; + var b; + (b = 3 !== a.tag) && !(b = 5 !== a.tag) && (b = a.type, b = "head" !== b && "body" !== b && !Ef(a.type, a.memoizedProps)); + if (b && (b = yg)) { + if (Dg(a)) throw Hg(), Error(p(418)); + for (; b;) Ag(a, b), b = Lf(b.nextSibling); + } + Fg(a); + if (13 === a.tag) { + a = a.memoizedState; + a = null !== a ? a.dehydrated : null; + if (!a) throw Error(p(317)); + a: { + a = a.nextSibling; + for (b = 0; a;) { + if (8 === a.nodeType) { + var c = a.data; + if ("/$" === c) { + if (0 === b) { + yg = Lf(a.nextSibling); + break a; + } + b--; + } else "$" !== c && "$!" !== c && "$?" !== c || b++; + } + a = a.nextSibling; + } + yg = null; + } + } else yg = xg ? Lf(a.stateNode.nextSibling) : null; + return !0; +} +function Hg() { + for (var a = yg; a;) a = Lf(a.nextSibling); +} +function Ig() { + yg = xg = null; + I = !1; +} +function Jg(a) { + null === zg ? zg = [a] : zg.push(a); +} +var Kg = ua.ReactCurrentBatchConfig; +function Lg(a, b) { + if (a && a.defaultProps) { + b = A({}, b); + a = a.defaultProps; + for (var c in a) void 0 === b[c] && (b[c] = a[c]); + return b; + } + return b; +} +var Mg = Uf(null), + Ng = null, + Og = null, + Pg = null; +function Qg() { + Pg = Og = Ng = null; +} +function Rg(a) { + var b = Mg.current; + E(Mg); + a._currentValue = b; +} +function Sg(a, b, c) { + for (; null !== a;) { + var d = a.alternate; + (a.childLanes & b) !== b ? (a.childLanes |= b, null !== d && (d.childLanes |= b)) : null !== d && (d.childLanes & b) !== b && (d.childLanes |= b); + if (a === c) break; + a = a.return; + } +} +function Tg(a, b) { + Ng = a; + Pg = Og = null; + a = a.dependencies; + null !== a && null !== a.firstContext && (0 !== (a.lanes & b) && (Ug = !0), a.firstContext = null); +} +function Vg(a) { + var b = a._currentValue; + if (Pg !== a) if (a = { + context: a, + memoizedValue: b, + next: null + }, null === Og) { + if (null === Ng) throw Error(p(308)); + Og = a; + Ng.dependencies = { + lanes: 0, + firstContext: a + }; + } else Og = Og.next = a; + return b; +} +var Wg = null; +function Xg(a) { + null === Wg ? Wg = [a] : Wg.push(a); +} +function Yg(a, b, c, d) { + var e = b.interleaved; + null === e ? (c.next = c, Xg(b)) : (c.next = e.next, e.next = c); + b.interleaved = c; + return Zg(a, d); +} +function Zg(a, b) { + a.lanes |= b; + var c = a.alternate; + null !== c && (c.lanes |= b); + c = a; + for (a = a.return; null !== a;) a.childLanes |= b, c = a.alternate, null !== c && (c.childLanes |= b), c = a, a = a.return; + return 3 === c.tag ? c.stateNode : null; +} +var $g = !1; +function ah(a) { + a.updateQueue = { + baseState: a.memoizedState, + firstBaseUpdate: null, + lastBaseUpdate: null, + shared: { + pending: null, + interleaved: null, + lanes: 0 + }, + effects: null + }; +} +function bh(a, b) { + a = a.updateQueue; + b.updateQueue === a && (b.updateQueue = { + baseState: a.baseState, + firstBaseUpdate: a.firstBaseUpdate, + lastBaseUpdate: a.lastBaseUpdate, + shared: a.shared, + effects: a.effects + }); +} +function ch(a, b) { + return { + eventTime: a, + lane: b, + tag: 0, + payload: null, + callback: null, + next: null + }; +} +function dh(a, b, c) { + var d = a.updateQueue; + if (null === d) return null; + d = d.shared; + if (0 !== (K & 2)) { + var e = d.pending; + null === e ? b.next = b : (b.next = e.next, e.next = b); + d.pending = b; + return Zg(a, c); + } + e = d.interleaved; + null === e ? (b.next = b, Xg(d)) : (b.next = e.next, e.next = b); + d.interleaved = b; + return Zg(a, c); +} +function eh(a, b, c) { + b = b.updateQueue; + if (null !== b && (b = b.shared, 0 !== (c & 4194240))) { + var d = b.lanes; + d &= a.pendingLanes; + c |= d; + b.lanes = c; + Cc(a, c); + } +} +function fh(a, b) { + var c = a.updateQueue, + d = a.alternate; + if (null !== d && (d = d.updateQueue, c === d)) { + var e = null, + f = null; + c = c.firstBaseUpdate; + if (null !== c) { + do { + var g = { + eventTime: c.eventTime, + lane: c.lane, + tag: c.tag, + payload: c.payload, + callback: c.callback, + next: null + }; + null === f ? e = f = g : f = f.next = g; + c = c.next; + } while (null !== c); + null === f ? e = f = b : f = f.next = b; + } else e = f = b; + c = { + baseState: d.baseState, + firstBaseUpdate: e, + lastBaseUpdate: f, + shared: d.shared, + effects: d.effects + }; + a.updateQueue = c; + return; + } + a = c.lastBaseUpdate; + null === a ? c.firstBaseUpdate = b : a.next = b; + c.lastBaseUpdate = b; +} +function gh(a, b, c, d) { + var e = a.updateQueue; + $g = !1; + var f = e.firstBaseUpdate, + g = e.lastBaseUpdate, + h = e.shared.pending; + if (null !== h) { + e.shared.pending = null; + var k = h, + l = k.next; + k.next = null; + null === g ? f = l : g.next = l; + g = k; + var m = a.alternate; + null !== m && (m = m.updateQueue, h = m.lastBaseUpdate, h !== g && (null === h ? m.firstBaseUpdate = l : h.next = l, m.lastBaseUpdate = k)); + } + if (null !== f) { + var q = e.baseState; + g = 0; + m = l = k = null; + h = f; + do { + var r = h.lane, + y = h.eventTime; + if ((d & r) === r) { + null !== m && (m = m.next = { + eventTime: y, + lane: 0, + tag: h.tag, + payload: h.payload, + callback: h.callback, + next: null + }); + a: { + var n = a, + t = h; + r = b; + y = c; + switch (t.tag) { + case 1: + n = t.payload; + if ("function" === typeof n) { + q = n.call(y, q, r); + break a; + } + q = n; + break a; + case 3: + n.flags = n.flags & -65537 | 128; + case 0: + n = t.payload; + r = "function" === typeof n ? n.call(y, q, r) : n; + if (null === r || void 0 === r) break a; + q = A({}, q, r); + break a; + case 2: + $g = !0; + } + } + null !== h.callback && 0 !== h.lane && (a.flags |= 64, r = e.effects, null === r ? e.effects = [h] : r.push(h)); + } else y = { + eventTime: y, + lane: r, + tag: h.tag, + payload: h.payload, + callback: h.callback, + next: null + }, null === m ? (l = m = y, k = q) : m = m.next = y, g |= r; + h = h.next; + if (null === h) if (h = e.shared.pending, null === h) break;else r = h, h = r.next, r.next = null, e.lastBaseUpdate = r, e.shared.pending = null; + } while (1); + null === m && (k = q); + e.baseState = k; + e.firstBaseUpdate = l; + e.lastBaseUpdate = m; + b = e.shared.interleaved; + if (null !== b) { + e = b; + do g |= e.lane, e = e.next; while (e !== b); + } else null === f && (e.shared.lanes = 0); + hh |= g; + a.lanes = g; + a.memoizedState = q; + } +} +function ih(a, b, c) { + a = b.effects; + b.effects = null; + if (null !== a) for (b = 0; b < a.length; b++) { + var d = a[b], + e = d.callback; + if (null !== e) { + d.callback = null; + d = c; + if ("function" !== typeof e) throw Error(p(191, e)); + e.call(d); + } + } +} +var jh = new aa.Component().refs; +function kh(a, b, c, d) { + b = a.memoizedState; + c = c(d, b); + c = null === c || void 0 === c ? b : A({}, b, c); + a.memoizedState = c; + 0 === a.lanes && (a.updateQueue.baseState = c); +} +var nh = { + isMounted: function isMounted(a) { + return (a = a._reactInternals) ? Vb(a) === a : !1; + }, + enqueueSetState: function enqueueSetState(a, b, c) { + a = a._reactInternals; + var d = L(), + e = lh(a), + f = ch(d, e); + f.payload = b; + void 0 !== c && null !== c && (f.callback = c); + b = dh(a, f, e); + null !== b && (mh(b, a, e, d), eh(b, a, e)); + }, + enqueueReplaceState: function enqueueReplaceState(a, b, c) { + a = a._reactInternals; + var d = L(), + e = lh(a), + f = ch(d, e); + f.tag = 1; + f.payload = b; + void 0 !== c && null !== c && (f.callback = c); + b = dh(a, f, e); + null !== b && (mh(b, a, e, d), eh(b, a, e)); + }, + enqueueForceUpdate: function enqueueForceUpdate(a, b) { + a = a._reactInternals; + var c = L(), + d = lh(a), + e = ch(c, d); + e.tag = 2; + void 0 !== b && null !== b && (e.callback = b); + b = dh(a, e, d); + null !== b && (mh(b, a, d, c), eh(b, a, d)); + } +}; +function oh(a, b, c, d, e, f, g) { + a = a.stateNode; + return "function" === typeof a.shouldComponentUpdate ? a.shouldComponentUpdate(d, f, g) : b.prototype && b.prototype.isPureReactComponent ? !Ie(c, d) || !Ie(e, f) : !0; +} +function ph(a, b, c) { + var d = !1, + e = Vf; + var f = b.contextType; + "object" === typeof f && null !== f ? f = Vg(f) : (e = Zf(b) ? Xf : H.current, d = b.contextTypes, f = (d = null !== d && void 0 !== d) ? Yf(a, e) : Vf); + b = new b(c, f); + a.memoizedState = null !== b.state && void 0 !== b.state ? b.state : null; + b.updater = nh; + a.stateNode = b; + b._reactInternals = a; + d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = e, a.__reactInternalMemoizedMaskedChildContext = f); + return b; +} +function qh(a, b, c, d) { + a = b.state; + "function" === typeof b.componentWillReceiveProps && b.componentWillReceiveProps(c, d); + "function" === typeof b.UNSAFE_componentWillReceiveProps && b.UNSAFE_componentWillReceiveProps(c, d); + b.state !== a && nh.enqueueReplaceState(b, b.state, null); +} +function rh(a, b, c, d) { + var e = a.stateNode; + e.props = c; + e.state = a.memoizedState; + e.refs = jh; + ah(a); + var f = b.contextType; + "object" === typeof f && null !== f ? e.context = Vg(f) : (f = Zf(b) ? Xf : H.current, e.context = Yf(a, f)); + e.state = a.memoizedState; + f = b.getDerivedStateFromProps; + "function" === typeof f && (kh(a, b, f, c), e.state = a.memoizedState); + "function" === typeof b.getDerivedStateFromProps || "function" === typeof e.getSnapshotBeforeUpdate || "function" !== typeof e.UNSAFE_componentWillMount && "function" !== typeof e.componentWillMount || (b = e.state, "function" === typeof e.componentWillMount && e.componentWillMount(), "function" === typeof e.UNSAFE_componentWillMount && e.UNSAFE_componentWillMount(), b !== e.state && nh.enqueueReplaceState(e, e.state, null), gh(a, c, e, d), e.state = a.memoizedState); + "function" === typeof e.componentDidMount && (a.flags |= 4194308); +} +function sh(a, b, c) { + a = c.ref; + if (null !== a && "function" !== typeof a && "object" !== typeof a) { + if (c._owner) { + c = c._owner; + if (c) { + if (1 !== c.tag) throw Error(p(309)); + var d = c.stateNode; + } + if (!d) throw Error(p(147, a)); + var e = d, + f = "" + a; + if (null !== b && null !== b.ref && "function" === typeof b.ref && b.ref._stringRef === f) return b.ref; + b = function b(a) { + var b = e.refs; + b === jh && (b = e.refs = {}); + null === a ? delete b[f] : b[f] = a; + }; + b._stringRef = f; + return b; + } + if ("string" !== typeof a) throw Error(p(284)); + if (!c._owner) throw Error(p(290, a)); + } + return a; +} +function th(a, b) { + a = Object.prototype.toString.call(b); + throw Error(p(31, "[object Object]" === a ? "object with keys {" + Object.keys(b).join(", ") + "}" : a)); +} +function uh(a) { + var b = a._init; + return b(a._payload); +} +function vh(a) { + function b(b, c) { + if (a) { + var d = b.deletions; + null === d ? (b.deletions = [c], b.flags |= 16) : d.push(c); + } + } + function c(c, d) { + if (!a) return null; + for (; null !== d;) b(c, d), d = d.sibling; + return null; + } + function d(a, b) { + for (a = new Map(); null !== b;) null !== b.key ? a.set(b.key, b) : a.set(b.index, b), b = b.sibling; + return a; + } + function e(a, b) { + a = wh(a, b); + a.index = 0; + a.sibling = null; + return a; + } + function f(b, c, d) { + b.index = d; + if (!a) return b.flags |= 1048576, c; + d = b.alternate; + if (null !== d) return d = d.index, d < c ? (b.flags |= 2, c) : d; + b.flags |= 2; + return c; + } + function g(b) { + a && null === b.alternate && (b.flags |= 2); + return b; + } + function h(a, b, c, d) { + if (null === b || 6 !== b.tag) return b = xh(c, a.mode, d), b.return = a, b; + b = e(b, c); + b.return = a; + return b; + } + function k(a, b, c, d) { + var f = c.type; + if (f === ya) return m(a, b, c.props.children, d, c.key); + if (null !== b && (b.elementType === f || "object" === typeof f && null !== f && f.$$typeof === Ha && uh(f) === b.type)) return d = e(b, c.props), d.ref = sh(a, b, c), d.return = a, d; + d = yh(c.type, c.key, c.props, null, a.mode, d); + d.ref = sh(a, b, c); + d.return = a; + return d; + } + function l(a, b, c, d) { + if (null === b || 4 !== b.tag || b.stateNode.containerInfo !== c.containerInfo || b.stateNode.implementation !== c.implementation) return b = zh(c, a.mode, d), b.return = a, b; + b = e(b, c.children || []); + b.return = a; + return b; + } + function m(a, b, c, d, f) { + if (null === b || 7 !== b.tag) return b = Ah(c, a.mode, d, f), b.return = a, b; + b = e(b, c); + b.return = a; + return b; + } + function q(a, b, c) { + if ("string" === typeof b && "" !== b || "number" === typeof b) return b = xh("" + b, a.mode, c), b.return = a, b; + if ("object" === typeof b && null !== b) { + switch (b.$$typeof) { + case va: + return c = yh(b.type, b.key, b.props, null, a.mode, c), c.ref = sh(a, null, b), c.return = a, c; + case wa: + return b = zh(b, a.mode, c), b.return = a, b; + case Ha: + var d = b._init; + return q(a, d(b._payload), c); + } + if (eb(b) || Ka(b)) return b = Ah(b, a.mode, c, null), b.return = a, b; + th(a, b); + } + return null; + } + function r(a, b, c, d) { + var e = null !== b ? b.key : null; + if ("string" === typeof c && "" !== c || "number" === typeof c) return null !== e ? null : h(a, b, "" + c, d); + if ("object" === typeof c && null !== c) { + switch (c.$$typeof) { + case va: + return c.key === e ? k(a, b, c, d) : null; + case wa: + return c.key === e ? l(a, b, c, d) : null; + case Ha: + return e = c._init, r(a, b, e(c._payload), d); + } + if (eb(c) || Ka(c)) return null !== e ? null : m(a, b, c, d, null); + th(a, c); + } + return null; + } + function y(a, b, c, d, e) { + if ("string" === typeof d && "" !== d || "number" === typeof d) return a = a.get(c) || null, h(b, a, "" + d, e); + if ("object" === typeof d && null !== d) { + switch (d.$$typeof) { + case va: + return a = a.get(null === d.key ? c : d.key) || null, k(b, a, d, e); + case wa: + return a = a.get(null === d.key ? c : d.key) || null, l(b, a, d, e); + case Ha: + var f = d._init; + return y(a, b, c, f(d._payload), e); + } + if (eb(d) || Ka(d)) return a = a.get(c) || null, m(b, a, d, e, null); + th(b, d); + } + return null; + } + function n(e, g, h, k) { + for (var l = null, m = null, u = g, w = g = 0, x = null; null !== u && w < h.length; w++) { + u.index > w ? (x = u, u = null) : x = u.sibling; + var n = r(e, u, h[w], k); + if (null === n) { + null === u && (u = x); + break; + } + a && u && null === n.alternate && b(e, u); + g = f(n, g, w); + null === m ? l = n : m.sibling = n; + m = n; + u = x; + } + if (w === h.length) return c(e, u), I && tg(e, w), l; + if (null === u) { + for (; w < h.length; w++) u = q(e, h[w], k), null !== u && (g = f(u, g, w), null === m ? l = u : m.sibling = u, m = u); + I && tg(e, w); + return l; + } + for (u = d(e, u); w < h.length; w++) x = y(u, e, w, h[w], k), null !== x && (a && null !== x.alternate && u.delete(null === x.key ? w : x.key), g = f(x, g, w), null === m ? l = x : m.sibling = x, m = x); + a && u.forEach(function (a) { + return b(e, a); + }); + I && tg(e, w); + return l; + } + function t(e, g, h, k) { + var l = Ka(h); + if ("function" !== typeof l) throw Error(p(150)); + h = l.call(h); + if (null == h) throw Error(p(151)); + for (var u = l = null, m = g, w = g = 0, x = null, n = h.next(); null !== m && !n.done; w++, n = h.next()) { + m.index > w ? (x = m, m = null) : x = m.sibling; + var t = r(e, m, n.value, k); + if (null === t) { + null === m && (m = x); + break; + } + a && m && null === t.alternate && b(e, m); + g = f(t, g, w); + null === u ? l = t : u.sibling = t; + u = t; + m = x; + } + if (n.done) return c(e, m), I && tg(e, w), l; + if (null === m) { + for (; !n.done; w++, n = h.next()) n = q(e, n.value, k), null !== n && (g = f(n, g, w), null === u ? l = n : u.sibling = n, u = n); + I && tg(e, w); + return l; + } + for (m = d(e, m); !n.done; w++, n = h.next()) n = y(m, e, w, n.value, k), null !== n && (a && null !== n.alternate && m.delete(null === n.key ? w : n.key), g = f(n, g, w), null === u ? l = n : u.sibling = n, u = n); + a && m.forEach(function (a) { + return b(e, a); + }); + I && tg(e, w); + return l; + } + function J(a, d, f, h) { + "object" === typeof f && null !== f && f.type === ya && null === f.key && (f = f.props.children); + if ("object" === typeof f && null !== f) { + switch (f.$$typeof) { + case va: + a: { + for (var k = f.key, l = d; null !== l;) { + if (l.key === k) { + k = f.type; + if (k === ya) { + if (7 === l.tag) { + c(a, l.sibling); + d = e(l, f.props.children); + d.return = a; + a = d; + break a; + } + } else if (l.elementType === k || "object" === typeof k && null !== k && k.$$typeof === Ha && uh(k) === l.type) { + c(a, l.sibling); + d = e(l, f.props); + d.ref = sh(a, l, f); + d.return = a; + a = d; + break a; + } + c(a, l); + break; + } else b(a, l); + l = l.sibling; + } + f.type === ya ? (d = Ah(f.props.children, a.mode, h, f.key), d.return = a, a = d) : (h = yh(f.type, f.key, f.props, null, a.mode, h), h.ref = sh(a, d, f), h.return = a, a = h); + } + return g(a); + case wa: + a: { + for (l = f.key; null !== d;) { + if (d.key === l) { + if (4 === d.tag && d.stateNode.containerInfo === f.containerInfo && d.stateNode.implementation === f.implementation) { + c(a, d.sibling); + d = e(d, f.children || []); + d.return = a; + a = d; + break a; + } else { + c(a, d); + break; + } + } else b(a, d); + d = d.sibling; + } + d = zh(f, a.mode, h); + d.return = a; + a = d; + } + return g(a); + case Ha: + return l = f._init, J(a, d, l(f._payload), h); + } + if (eb(f)) return n(a, d, f, h); + if (Ka(f)) return t(a, d, f, h); + th(a, f); + } + return "string" === typeof f && "" !== f || "number" === typeof f ? (f = "" + f, null !== d && 6 === d.tag ? (c(a, d.sibling), d = e(d, f), d.return = a, a = d) : (c(a, d), d = xh(f, a.mode, h), d.return = a, a = d), g(a)) : c(a, d); + } + return J; +} +var Bh = vh(!0), + Ch = vh(!1), + Dh = {}, + Eh = Uf(Dh), + Fh = Uf(Dh), + Gh = Uf(Dh); +function Hh(a) { + if (a === Dh) throw Error(p(174)); + return a; +} +function Ih(a, b) { + G(Gh, b); + G(Fh, a); + G(Eh, Dh); + a = b.nodeType; + switch (a) { + case 9: + case 11: + b = (b = b.documentElement) ? b.namespaceURI : lb(null, ""); + break; + default: + a = 8 === a ? b.parentNode : b, b = a.namespaceURI || null, a = a.tagName, b = lb(b, a); + } + E(Eh); + G(Eh, b); +} +function Jh() { + E(Eh); + E(Fh); + E(Gh); +} +function Kh(a) { + Hh(Gh.current); + var b = Hh(Eh.current); + var c = lb(b, a.type); + b !== c && (G(Fh, a), G(Eh, c)); +} +function Lh(a) { + Fh.current === a && (E(Eh), E(Fh)); +} +var M = Uf(0); +function Mh(a) { + for (var b = a; null !== b;) { + if (13 === b.tag) { + var c = b.memoizedState; + if (null !== c && (c = c.dehydrated, null === c || "$?" === c.data || "$!" === c.data)) return b; + } else if (19 === b.tag && void 0 !== b.memoizedProps.revealOrder) { + if (0 !== (b.flags & 128)) return b; + } else if (null !== b.child) { + b.child.return = b; + b = b.child; + continue; + } + if (b === a) break; + for (; null === b.sibling;) { + if (null === b.return || b.return === a) return null; + b = b.return; + } + b.sibling.return = b.return; + b = b.sibling; + } + return null; +} +var Nh = []; +function Oh() { + for (var a = 0; a < Nh.length; a++) Nh[a]._workInProgressVersionPrimary = null; + Nh.length = 0; +} +var Ph = ua.ReactCurrentDispatcher, + Qh = ua.ReactCurrentBatchConfig, + Rh = 0, + N = null, + O = null, + P = null, + Sh = !1, + Th = !1, + Uh = 0, + Vh = 0; +function Q() { + throw Error(p(321)); +} +function Wh(a, b) { + if (null === b) return !1; + for (var c = 0; c < b.length && c < a.length; c++) if (!He(a[c], b[c])) return !1; + return !0; +} +function Xh(a, b, c, d, e, f) { + Rh = f; + N = b; + b.memoizedState = null; + b.updateQueue = null; + b.lanes = 0; + Ph.current = null === a || null === a.memoizedState ? Yh : Zh; + a = c(d, e); + if (Th) { + f = 0; + do { + Th = !1; + Uh = 0; + if (25 <= f) throw Error(p(301)); + f += 1; + P = O = null; + b.updateQueue = null; + Ph.current = $h; + a = c(d, e); + } while (Th); + } + Ph.current = ai; + b = null !== O && null !== O.next; + Rh = 0; + P = O = N = null; + Sh = !1; + if (b) throw Error(p(300)); + return a; +} +function bi() { + var a = 0 !== Uh; + Uh = 0; + return a; +} +function ci() { + var a = { + memoizedState: null, + baseState: null, + baseQueue: null, + queue: null, + next: null + }; + null === P ? N.memoizedState = P = a : P = P.next = a; + return P; +} +function di() { + if (null === O) { + var a = N.alternate; + a = null !== a ? a.memoizedState : null; + } else a = O.next; + var b = null === P ? N.memoizedState : P.next; + if (null !== b) P = b, O = a;else { + if (null === a) throw Error(p(310)); + O = a; + a = { + memoizedState: O.memoizedState, + baseState: O.baseState, + baseQueue: O.baseQueue, + queue: O.queue, + next: null + }; + null === P ? N.memoizedState = P = a : P = P.next = a; + } + return P; +} +function ei(a, b) { + return "function" === typeof b ? b(a) : b; +} +function fi(a) { + var b = di(), + c = b.queue; + if (null === c) throw Error(p(311)); + c.lastRenderedReducer = a; + var d = O, + e = d.baseQueue, + f = c.pending; + if (null !== f) { + if (null !== e) { + var g = e.next; + e.next = f.next; + f.next = g; + } + d.baseQueue = e = f; + c.pending = null; + } + if (null !== e) { + f = e.next; + d = d.baseState; + var h = g = null, + k = null, + l = f; + do { + var m = l.lane; + if ((Rh & m) === m) null !== k && (k = k.next = { + lane: 0, + action: l.action, + hasEagerState: l.hasEagerState, + eagerState: l.eagerState, + next: null + }), d = l.hasEagerState ? l.eagerState : a(d, l.action);else { + var q = { + lane: m, + action: l.action, + hasEagerState: l.hasEagerState, + eagerState: l.eagerState, + next: null + }; + null === k ? (h = k = q, g = d) : k = k.next = q; + N.lanes |= m; + hh |= m; + } + l = l.next; + } while (null !== l && l !== f); + null === k ? g = d : k.next = h; + He(d, b.memoizedState) || (Ug = !0); + b.memoizedState = d; + b.baseState = g; + b.baseQueue = k; + c.lastRenderedState = d; + } + a = c.interleaved; + if (null !== a) { + e = a; + do f = e.lane, N.lanes |= f, hh |= f, e = e.next; while (e !== a); + } else null === e && (c.lanes = 0); + return [b.memoizedState, c.dispatch]; +} +function gi(a) { + var b = di(), + c = b.queue; + if (null === c) throw Error(p(311)); + c.lastRenderedReducer = a; + var d = c.dispatch, + e = c.pending, + f = b.memoizedState; + if (null !== e) { + c.pending = null; + var g = e = e.next; + do f = a(f, g.action), g = g.next; while (g !== e); + He(f, b.memoizedState) || (Ug = !0); + b.memoizedState = f; + null === b.baseQueue && (b.baseState = f); + c.lastRenderedState = f; + } + return [f, d]; +} +function hi() {} +function ii(a, b) { + var c = N, + d = di(), + e = b(), + f = !He(d.memoizedState, e); + f && (d.memoizedState = e, Ug = !0); + d = d.queue; + ji(ki.bind(null, c, d, a), [a]); + if (d.getSnapshot !== b || f || null !== P && P.memoizedState.tag & 1) { + c.flags |= 2048; + li(9, mi.bind(null, c, d, e, b), void 0, null); + if (null === R) throw Error(p(349)); + 0 !== (Rh & 30) || ni(c, b, e); + } + return e; +} +function ni(a, b, c) { + a.flags |= 16384; + a = { + getSnapshot: b, + value: c + }; + b = N.updateQueue; + null === b ? (b = { + lastEffect: null, + stores: null + }, N.updateQueue = b, b.stores = [a]) : (c = b.stores, null === c ? b.stores = [a] : c.push(a)); +} +function mi(a, b, c, d) { + b.value = c; + b.getSnapshot = d; + oi(b) && pi(a); +} +function ki(a, b, c) { + return c(function () { + oi(b) && pi(a); + }); +} +function oi(a) { + var b = a.getSnapshot; + a = a.value; + try { + var c = b(); + return !He(a, c); + } catch (d) { + return !0; + } +} +function pi(a) { + var b = Zg(a, 1); + null !== b && mh(b, a, 1, -1); +} +function qi(a) { + var b = ci(); + "function" === typeof a && (a = a()); + b.memoizedState = b.baseState = a; + a = { + pending: null, + interleaved: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: ei, + lastRenderedState: a + }; + b.queue = a; + a = a.dispatch = ri.bind(null, N, a); + return [b.memoizedState, a]; +} +function li(a, b, c, d) { + a = { + tag: a, + create: b, + destroy: c, + deps: d, + next: null + }; + b = N.updateQueue; + null === b ? (b = { + lastEffect: null, + stores: null + }, N.updateQueue = b, b.lastEffect = a.next = a) : (c = b.lastEffect, null === c ? b.lastEffect = a.next = a : (d = c.next, c.next = a, a.next = d, b.lastEffect = a)); + return a; +} +function si() { + return di().memoizedState; +} +function ti(a, b, c, d) { + var e = ci(); + N.flags |= a; + e.memoizedState = li(1 | b, c, void 0, void 0 === d ? null : d); +} +function ui(a, b, c, d) { + var e = di(); + d = void 0 === d ? null : d; + var f = void 0; + if (null !== O) { + var g = O.memoizedState; + f = g.destroy; + if (null !== d && Wh(d, g.deps)) { + e.memoizedState = li(b, c, f, d); + return; + } + } + N.flags |= a; + e.memoizedState = li(1 | b, c, f, d); +} +function vi(a, b) { + return ti(8390656, 8, a, b); +} +function ji(a, b) { + return ui(2048, 8, a, b); +} +function wi(a, b) { + return ui(4, 2, a, b); +} +function xi(a, b) { + return ui(4, 4, a, b); +} +function yi(a, b) { + if ("function" === typeof b) return a = a(), b(a), function () { + b(null); + }; + if (null !== b && void 0 !== b) return a = a(), b.current = a, function () { + b.current = null; + }; +} +function zi(a, b, c) { + c = null !== c && void 0 !== c ? c.concat([a]) : null; + return ui(4, 4, yi.bind(null, b, a), c); +} +function Ai() {} +function Bi(a, b) { + var c = di(); + b = void 0 === b ? null : b; + var d = c.memoizedState; + if (null !== d && null !== b && Wh(b, d[1])) return d[0]; + c.memoizedState = [a, b]; + return a; +} +function Ci(a, b) { + var c = di(); + b = void 0 === b ? null : b; + var d = c.memoizedState; + if (null !== d && null !== b && Wh(b, d[1])) return d[0]; + a = a(); + c.memoizedState = [a, b]; + return a; +} +function Di(a, b, c) { + if (0 === (Rh & 21)) return a.baseState && (a.baseState = !1, Ug = !0), a.memoizedState = c; + He(c, b) || (c = yc(), N.lanes |= c, hh |= c, a.baseState = !0); + return b; +} +function Ei(a, b) { + var c = C; + C = 0 !== c && 4 > c ? c : 4; + a(!0); + var d = Qh.transition; + Qh.transition = {}; + try { + a(!1), b(); + } finally { + C = c, Qh.transition = d; + } +} +function Fi() { + return di().memoizedState; +} +function Gi(a, b, c) { + var d = lh(a); + c = { + lane: d, + action: c, + hasEagerState: !1, + eagerState: null, + next: null + }; + if (Hi(a)) Ii(b, c);else if (c = Yg(a, b, c, d), null !== c) { + var e = L(); + mh(c, a, d, e); + Ji(c, b, d); + } +} +function ri(a, b, c) { + var d = lh(a), + e = { + lane: d, + action: c, + hasEagerState: !1, + eagerState: null, + next: null + }; + if (Hi(a)) Ii(b, e);else { + var f = a.alternate; + if (0 === a.lanes && (null === f || 0 === f.lanes) && (f = b.lastRenderedReducer, null !== f)) try { + var g = b.lastRenderedState, + h = f(g, c); + e.hasEagerState = !0; + e.eagerState = h; + if (He(h, g)) { + var k = b.interleaved; + null === k ? (e.next = e, Xg(b)) : (e.next = k.next, k.next = e); + b.interleaved = e; + return; + } + } catch (l) {} finally {} + c = Yg(a, b, e, d); + null !== c && (e = L(), mh(c, a, d, e), Ji(c, b, d)); + } +} +function Hi(a) { + var b = a.alternate; + return a === N || null !== b && b === N; +} +function Ii(a, b) { + Th = Sh = !0; + var c = a.pending; + null === c ? b.next = b : (b.next = c.next, c.next = b); + a.pending = b; +} +function Ji(a, b, c) { + if (0 !== (c & 4194240)) { + var d = b.lanes; + d &= a.pendingLanes; + c |= d; + b.lanes = c; + Cc(a, c); + } +} +var ai = { + readContext: Vg, + useCallback: Q, + useContext: Q, + useEffect: Q, + useImperativeHandle: Q, + useInsertionEffect: Q, + useLayoutEffect: Q, + useMemo: Q, + useReducer: Q, + useRef: Q, + useState: Q, + useDebugValue: Q, + useDeferredValue: Q, + useTransition: Q, + useMutableSource: Q, + useSyncExternalStore: Q, + useId: Q, + unstable_isNewReconciler: !1 + }, + Yh = { + readContext: Vg, + useCallback: function useCallback(a, b) { + ci().memoizedState = [a, void 0 === b ? null : b]; + return a; + }, + useContext: Vg, + useEffect: vi, + useImperativeHandle: function useImperativeHandle(a, b, c) { + c = null !== c && void 0 !== c ? c.concat([a]) : null; + return ti(4194308, 4, yi.bind(null, b, a), c); + }, + useLayoutEffect: function useLayoutEffect(a, b) { + return ti(4194308, 4, a, b); + }, + useInsertionEffect: function useInsertionEffect(a, b) { + return ti(4, 2, a, b); + }, + useMemo: function useMemo(a, b) { + var c = ci(); + b = void 0 === b ? null : b; + a = a(); + c.memoizedState = [a, b]; + return a; + }, + useReducer: function useReducer(a, b, c) { + var d = ci(); + b = void 0 !== c ? c(b) : b; + d.memoizedState = d.baseState = b; + a = { + pending: null, + interleaved: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: a, + lastRenderedState: b + }; + d.queue = a; + a = a.dispatch = Gi.bind(null, N, a); + return [d.memoizedState, a]; + }, + useRef: function useRef(a) { + var b = ci(); + a = { + current: a + }; + return b.memoizedState = a; + }, + useState: qi, + useDebugValue: Ai, + useDeferredValue: function useDeferredValue(a) { + return ci().memoizedState = a; + }, + useTransition: function useTransition() { + var a = qi(!1), + b = a[0]; + a = Ei.bind(null, a[1]); + ci().memoizedState = a; + return [b, a]; + }, + useMutableSource: function useMutableSource() {}, + useSyncExternalStore: function useSyncExternalStore(a, b, c) { + var d = N, + e = ci(); + if (I) { + if (void 0 === c) throw Error(p(407)); + c = c(); + } else { + c = b(); + if (null === R) throw Error(p(349)); + 0 !== (Rh & 30) || ni(d, b, c); + } + e.memoizedState = c; + var f = { + value: c, + getSnapshot: b + }; + e.queue = f; + vi(ki.bind(null, d, f, a), [a]); + d.flags |= 2048; + li(9, mi.bind(null, d, f, c, b), void 0, null); + return c; + }, + useId: function useId() { + var a = ci(), + b = R.identifierPrefix; + if (I) { + var c = sg; + var d = rg; + c = (d & ~(1 << 32 - oc(d) - 1)).toString(32) + c; + b = ":" + b + "R" + c; + c = Uh++; + 0 < c && (b += "H" + c.toString(32)); + b += ":"; + } else c = Vh++, b = ":" + b + "r" + c.toString(32) + ":"; + return a.memoizedState = b; + }, + unstable_isNewReconciler: !1 + }, + Zh = { + readContext: Vg, + useCallback: Bi, + useContext: Vg, + useEffect: ji, + useImperativeHandle: zi, + useInsertionEffect: wi, + useLayoutEffect: xi, + useMemo: Ci, + useReducer: fi, + useRef: si, + useState: function useState() { + return fi(ei); + }, + useDebugValue: Ai, + useDeferredValue: function useDeferredValue(a) { + var b = di(); + return Di(b, O.memoizedState, a); + }, + useTransition: function useTransition() { + var a = fi(ei)[0], + b = di().memoizedState; + return [a, b]; + }, + useMutableSource: hi, + useSyncExternalStore: ii, + useId: Fi, + unstable_isNewReconciler: !1 + }, + $h = { + readContext: Vg, + useCallback: Bi, + useContext: Vg, + useEffect: ji, + useImperativeHandle: zi, + useInsertionEffect: wi, + useLayoutEffect: xi, + useMemo: Ci, + useReducer: gi, + useRef: si, + useState: function useState() { + return gi(ei); + }, + useDebugValue: Ai, + useDeferredValue: function useDeferredValue(a) { + var b = di(); + return null === O ? b.memoizedState = a : Di(b, O.memoizedState, a); + }, + useTransition: function useTransition() { + var a = gi(ei)[0], + b = di().memoizedState; + return [a, b]; + }, + useMutableSource: hi, + useSyncExternalStore: ii, + useId: Fi, + unstable_isNewReconciler: !1 + }; +function Ki(a, b) { + try { + var c = "", + d = b; + do c += Pa(d), d = d.return; while (d); + var e = c; + } catch (f) { + e = "/nError generating stack: " + f.message + "/n" + f.stack; + } + return { + value: a, + source: b, + stack: e, + digest: null + }; +} +function Li(a, b, c) { + return { + value: a, + source: null, + stack: null != c ? c : null, + digest: null != b ? b : null + }; +} +function Mi(a, b) { + try { + console.error(b.value); + } catch (c) { + setTimeout(function () { + throw c; + }); + } +} +var Ni = "function" === typeof WeakMap ? WeakMap : Map; +function Oi(a, b, c) { + c = ch(-1, c); + c.tag = 3; + c.payload = { + element: null + }; + var d = b.value; + c.callback = function () { + Pi || (Pi = !0, Qi = d); + Mi(a, b); + }; + return c; +} +function Ri(a, b, c) { + c = ch(-1, c); + c.tag = 3; + var d = a.type.getDerivedStateFromError; + if ("function" === typeof d) { + var e = b.value; + c.payload = function () { + return d(e); + }; + c.callback = function () { + Mi(a, b); + }; + } + var f = a.stateNode; + null !== f && "function" === typeof f.componentDidCatch && (c.callback = function () { + Mi(a, b); + "function" !== typeof d && (null === Si ? Si = new Set([this]) : Si.add(this)); + var c = b.stack; + this.componentDidCatch(b.value, { + componentStack: null !== c ? c : "" + }); + }); + return c; +} +function Ti(a, b, c) { + var d = a.pingCache; + if (null === d) { + d = a.pingCache = new Ni(); + var e = new Set(); + d.set(b, e); + } else e = d.get(b), void 0 === e && (e = new Set(), d.set(b, e)); + e.has(c) || (e.add(c), a = Ui.bind(null, a, b, c), b.then(a, a)); +} +function Vi(a) { + do { + var b; + if (b = 13 === a.tag) b = a.memoizedState, b = null !== b ? null !== b.dehydrated ? !0 : !1 : !0; + if (b) return a; + a = a.return; + } while (null !== a); + return null; +} +function Wi(a, b, c, d, e) { + if (0 === (a.mode & 1)) return a === b ? a.flags |= 65536 : (a.flags |= 128, c.flags |= 131072, c.flags &= -52805, 1 === c.tag && (null === c.alternate ? c.tag = 17 : (b = ch(-1, 1), b.tag = 2, dh(c, b, 1))), c.lanes |= 1), a; + a.flags |= 65536; + a.lanes = e; + return a; +} +var Xi = ua.ReactCurrentOwner, + Ug = !1; +function Yi(a, b, c, d) { + b.child = null === a ? Ch(b, null, c, d) : Bh(b, a.child, c, d); +} +function Zi(a, b, c, d, e) { + c = c.render; + var f = b.ref; + Tg(b, e); + d = Xh(a, b, c, d, f, e); + c = bi(); + if (null !== a && !Ug) return b.updateQueue = a.updateQueue, b.flags &= -2053, a.lanes &= ~e, $i(a, b, e); + I && c && vg(b); + b.flags |= 1; + Yi(a, b, d, e); + return b.child; +} +function aj(a, b, c, d, e) { + if (null === a) { + var f = c.type; + if ("function" === typeof f && !bj(f) && void 0 === f.defaultProps && null === c.compare && void 0 === c.defaultProps) return b.tag = 15, b.type = f, cj(a, b, f, d, e); + a = yh(c.type, null, d, b, b.mode, e); + a.ref = b.ref; + a.return = b; + return b.child = a; + } + f = a.child; + if (0 === (a.lanes & e)) { + var g = f.memoizedProps; + c = c.compare; + c = null !== c ? c : Ie; + if (c(g, d) && a.ref === b.ref) return $i(a, b, e); + } + b.flags |= 1; + a = wh(f, d); + a.ref = b.ref; + a.return = b; + return b.child = a; +} +function cj(a, b, c, d, e) { + if (null !== a) { + var f = a.memoizedProps; + if (Ie(f, d) && a.ref === b.ref) if (Ug = !1, b.pendingProps = d = f, 0 !== (a.lanes & e)) 0 !== (a.flags & 131072) && (Ug = !0);else return b.lanes = a.lanes, $i(a, b, e); + } + return dj(a, b, c, d, e); +} +function ej(a, b, c) { + var d = b.pendingProps, + e = d.children, + f = null !== a ? a.memoizedState : null; + if ("hidden" === d.mode) { + if (0 === (b.mode & 1)) b.memoizedState = { + baseLanes: 0, + cachePool: null, + transitions: null + }, G(fj, gj), gj |= c;else { + if (0 === (c & 1073741824)) return a = null !== f ? f.baseLanes | c : c, b.lanes = b.childLanes = 1073741824, b.memoizedState = { + baseLanes: a, + cachePool: null, + transitions: null + }, b.updateQueue = null, G(fj, gj), gj |= a, null; + b.memoizedState = { + baseLanes: 0, + cachePool: null, + transitions: null + }; + d = null !== f ? f.baseLanes : c; + G(fj, gj); + gj |= d; + } + } else null !== f ? (d = f.baseLanes | c, b.memoizedState = null) : d = c, G(fj, gj), gj |= d; + Yi(a, b, e, c); + return b.child; +} +function hj(a, b) { + var c = b.ref; + if (null === a && null !== c || null !== a && a.ref !== c) b.flags |= 512, b.flags |= 2097152; +} +function dj(a, b, c, d, e) { + var f = Zf(c) ? Xf : H.current; + f = Yf(b, f); + Tg(b, e); + c = Xh(a, b, c, d, f, e); + d = bi(); + if (null !== a && !Ug) return b.updateQueue = a.updateQueue, b.flags &= -2053, a.lanes &= ~e, $i(a, b, e); + I && d && vg(b); + b.flags |= 1; + Yi(a, b, c, e); + return b.child; +} +function ij(a, b, c, d, e) { + if (Zf(c)) { + var f = !0; + cg(b); + } else f = !1; + Tg(b, e); + if (null === b.stateNode) jj(a, b), ph(b, c, d), rh(b, c, d, e), d = !0;else if (null === a) { + var g = b.stateNode, + h = b.memoizedProps; + g.props = h; + var k = g.context, + l = c.contextType; + "object" === typeof l && null !== l ? l = Vg(l) : (l = Zf(c) ? Xf : H.current, l = Yf(b, l)); + var m = c.getDerivedStateFromProps, + q = "function" === typeof m || "function" === typeof g.getSnapshotBeforeUpdate; + q || "function" !== typeof g.UNSAFE_componentWillReceiveProps && "function" !== typeof g.componentWillReceiveProps || (h !== d || k !== l) && qh(b, g, d, l); + $g = !1; + var r = b.memoizedState; + g.state = r; + gh(b, d, g, e); + k = b.memoizedState; + h !== d || r !== k || Wf.current || $g ? ("function" === typeof m && (kh(b, c, m, d), k = b.memoizedState), (h = $g || oh(b, c, h, d, r, k, l)) ? (q || "function" !== typeof g.UNSAFE_componentWillMount && "function" !== typeof g.componentWillMount || ("function" === typeof g.componentWillMount && g.componentWillMount(), "function" === typeof g.UNSAFE_componentWillMount && g.UNSAFE_componentWillMount()), "function" === typeof g.componentDidMount && (b.flags |= 4194308)) : ("function" === typeof g.componentDidMount && (b.flags |= 4194308), b.memoizedProps = d, b.memoizedState = k), g.props = d, g.state = k, g.context = l, d = h) : ("function" === typeof g.componentDidMount && (b.flags |= 4194308), d = !1); + } else { + g = b.stateNode; + bh(a, b); + h = b.memoizedProps; + l = b.type === b.elementType ? h : Lg(b.type, h); + g.props = l; + q = b.pendingProps; + r = g.context; + k = c.contextType; + "object" === typeof k && null !== k ? k = Vg(k) : (k = Zf(c) ? Xf : H.current, k = Yf(b, k)); + var y = c.getDerivedStateFromProps; + (m = "function" === typeof y || "function" === typeof g.getSnapshotBeforeUpdate) || "function" !== typeof g.UNSAFE_componentWillReceiveProps && "function" !== typeof g.componentWillReceiveProps || (h !== q || r !== k) && qh(b, g, d, k); + $g = !1; + r = b.memoizedState; + g.state = r; + gh(b, d, g, e); + var n = b.memoizedState; + h !== q || r !== n || Wf.current || $g ? ("function" === typeof y && (kh(b, c, y, d), n = b.memoizedState), (l = $g || oh(b, c, l, d, r, n, k) || !1) ? (m || "function" !== typeof g.UNSAFE_componentWillUpdate && "function" !== typeof g.componentWillUpdate || ("function" === typeof g.componentWillUpdate && g.componentWillUpdate(d, n, k), "function" === typeof g.UNSAFE_componentWillUpdate && g.UNSAFE_componentWillUpdate(d, n, k)), "function" === typeof g.componentDidUpdate && (b.flags |= 4), "function" === typeof g.getSnapshotBeforeUpdate && (b.flags |= 1024)) : ("function" !== typeof g.componentDidUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 4), "function" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 1024), b.memoizedProps = d, b.memoizedState = n), g.props = d, g.state = n, g.context = k, d = l) : ("function" !== typeof g.componentDidUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 4), "function" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 1024), d = !1); + } + return kj(a, b, c, d, f, e); +} +function kj(a, b, c, d, e, f) { + hj(a, b); + var g = 0 !== (b.flags & 128); + if (!d && !g) return e && dg(b, c, !1), $i(a, b, f); + d = b.stateNode; + Xi.current = b; + var h = g && "function" !== typeof c.getDerivedStateFromError ? null : d.render(); + b.flags |= 1; + null !== a && g ? (b.child = Bh(b, a.child, null, f), b.child = Bh(b, null, h, f)) : Yi(a, b, h, f); + b.memoizedState = d.state; + e && dg(b, c, !0); + return b.child; +} +function lj(a) { + var b = a.stateNode; + b.pendingContext ? ag(a, b.pendingContext, b.pendingContext !== b.context) : b.context && ag(a, b.context, !1); + Ih(a, b.containerInfo); +} +function mj(a, b, c, d, e) { + Ig(); + Jg(e); + b.flags |= 256; + Yi(a, b, c, d); + return b.child; +} +var nj = { + dehydrated: null, + treeContext: null, + retryLane: 0 +}; +function oj(a) { + return { + baseLanes: a, + cachePool: null, + transitions: null + }; +} +function pj(a, b, c) { + var d = b.pendingProps, + e = M.current, + f = !1, + g = 0 !== (b.flags & 128), + h; + (h = g) || (h = null !== a && null === a.memoizedState ? !1 : 0 !== (e & 2)); + if (h) f = !0, b.flags &= -129;else if (null === a || null !== a.memoizedState) e |= 1; + G(M, e & 1); + if (null === a) { + Eg(b); + a = b.memoizedState; + if (null !== a && (a = a.dehydrated, null !== a)) return 0 === (b.mode & 1) ? b.lanes = 1 : "$!" === a.data ? b.lanes = 8 : b.lanes = 1073741824, null; + g = d.children; + a = d.fallback; + return f ? (d = b.mode, f = b.child, g = { + mode: "hidden", + children: g + }, 0 === (d & 1) && null !== f ? (f.childLanes = 0, f.pendingProps = g) : f = qj(g, d, 0, null), a = Ah(a, d, c, null), f.return = b, a.return = b, f.sibling = a, b.child = f, b.child.memoizedState = oj(c), b.memoizedState = nj, a) : rj(b, g); + } + e = a.memoizedState; + if (null !== e && (h = e.dehydrated, null !== h)) return sj(a, b, g, d, h, e, c); + if (f) { + f = d.fallback; + g = b.mode; + e = a.child; + h = e.sibling; + var k = { + mode: "hidden", + children: d.children + }; + 0 === (g & 1) && b.child !== e ? (d = b.child, d.childLanes = 0, d.pendingProps = k, b.deletions = null) : (d = wh(e, k), d.subtreeFlags = e.subtreeFlags & 14680064); + null !== h ? f = wh(h, f) : (f = Ah(f, g, c, null), f.flags |= 2); + f.return = b; + d.return = b; + d.sibling = f; + b.child = d; + d = f; + f = b.child; + g = a.child.memoizedState; + g = null === g ? oj(c) : { + baseLanes: g.baseLanes | c, + cachePool: null, + transitions: g.transitions + }; + f.memoizedState = g; + f.childLanes = a.childLanes & ~c; + b.memoizedState = nj; + return d; + } + f = a.child; + a = f.sibling; + d = wh(f, { + mode: "visible", + children: d.children + }); + 0 === (b.mode & 1) && (d.lanes = c); + d.return = b; + d.sibling = null; + null !== a && (c = b.deletions, null === c ? (b.deletions = [a], b.flags |= 16) : c.push(a)); + b.child = d; + b.memoizedState = null; + return d; +} +function rj(a, b) { + b = qj({ + mode: "visible", + children: b + }, a.mode, 0, null); + b.return = a; + return a.child = b; +} +function tj(a, b, c, d) { + null !== d && Jg(d); + Bh(b, a.child, null, c); + a = rj(b, b.pendingProps.children); + a.flags |= 2; + b.memoizedState = null; + return a; +} +function sj(a, b, c, d, e, f, g) { + if (c) { + if (b.flags & 256) return b.flags &= -257, d = Li(Error(p(422))), tj(a, b, g, d); + if (null !== b.memoizedState) return b.child = a.child, b.flags |= 128, null; + f = d.fallback; + e = b.mode; + d = qj({ + mode: "visible", + children: d.children + }, e, 0, null); + f = Ah(f, e, g, null); + f.flags |= 2; + d.return = b; + f.return = b; + d.sibling = f; + b.child = d; + 0 !== (b.mode & 1) && Bh(b, a.child, null, g); + b.child.memoizedState = oj(g); + b.memoizedState = nj; + return f; + } + if (0 === (b.mode & 1)) return tj(a, b, g, null); + if ("$!" === e.data) { + d = e.nextSibling && e.nextSibling.dataset; + if (d) var h = d.dgst; + d = h; + f = Error(p(419)); + d = Li(f, d, void 0); + return tj(a, b, g, d); + } + h = 0 !== (g & a.childLanes); + if (Ug || h) { + d = R; + if (null !== d) { + switch (g & -g) { + case 4: + e = 2; + break; + case 16: + e = 8; + break; + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + case 4194304: + case 8388608: + case 16777216: + case 33554432: + case 67108864: + e = 32; + break; + case 536870912: + e = 268435456; + break; + default: + e = 0; + } + e = 0 !== (e & (d.suspendedLanes | g)) ? 0 : e; + 0 !== e && e !== f.retryLane && (f.retryLane = e, Zg(a, e), mh(d, a, e, -1)); + } + uj(); + d = Li(Error(p(421))); + return tj(a, b, g, d); + } + if ("$?" === e.data) return b.flags |= 128, b.child = a.child, b = vj.bind(null, a), e._reactRetry = b, null; + a = f.treeContext; + yg = Lf(e.nextSibling); + xg = b; + I = !0; + zg = null; + null !== a && (og[pg++] = rg, og[pg++] = sg, og[pg++] = qg, rg = a.id, sg = a.overflow, qg = b); + b = rj(b, d.children); + b.flags |= 4096; + return b; +} +function wj(a, b, c) { + a.lanes |= b; + var d = a.alternate; + null !== d && (d.lanes |= b); + Sg(a.return, b, c); +} +function xj(a, b, c, d, e) { + var f = a.memoizedState; + null === f ? a.memoizedState = { + isBackwards: b, + rendering: null, + renderingStartTime: 0, + last: d, + tail: c, + tailMode: e + } : (f.isBackwards = b, f.rendering = null, f.renderingStartTime = 0, f.last = d, f.tail = c, f.tailMode = e); +} +function yj(a, b, c) { + var d = b.pendingProps, + e = d.revealOrder, + f = d.tail; + Yi(a, b, d.children, c); + d = M.current; + if (0 !== (d & 2)) d = d & 1 | 2, b.flags |= 128;else { + if (null !== a && 0 !== (a.flags & 128)) a: for (a = b.child; null !== a;) { + if (13 === a.tag) null !== a.memoizedState && wj(a, c, b);else if (19 === a.tag) wj(a, c, b);else if (null !== a.child) { + a.child.return = a; + a = a.child; + continue; + } + if (a === b) break a; + for (; null === a.sibling;) { + if (null === a.return || a.return === b) break a; + a = a.return; + } + a.sibling.return = a.return; + a = a.sibling; + } + d &= 1; + } + G(M, d); + if (0 === (b.mode & 1)) b.memoizedState = null;else switch (e) { + case "forwards": + c = b.child; + for (e = null; null !== c;) a = c.alternate, null !== a && null === Mh(a) && (e = c), c = c.sibling; + c = e; + null === c ? (e = b.child, b.child = null) : (e = c.sibling, c.sibling = null); + xj(b, !1, e, c, f); + break; + case "backwards": + c = null; + e = b.child; + for (b.child = null; null !== e;) { + a = e.alternate; + if (null !== a && null === Mh(a)) { + b.child = e; + break; + } + a = e.sibling; + e.sibling = c; + c = e; + e = a; + } + xj(b, !0, c, null, f); + break; + case "together": + xj(b, !1, null, null, void 0); + break; + default: + b.memoizedState = null; + } + return b.child; +} +function jj(a, b) { + 0 === (b.mode & 1) && null !== a && (a.alternate = null, b.alternate = null, b.flags |= 2); +} +function $i(a, b, c) { + null !== a && (b.dependencies = a.dependencies); + hh |= b.lanes; + if (0 === (c & b.childLanes)) return null; + if (null !== a && b.child !== a.child) throw Error(p(153)); + if (null !== b.child) { + a = b.child; + c = wh(a, a.pendingProps); + b.child = c; + for (c.return = b; null !== a.sibling;) a = a.sibling, c = c.sibling = wh(a, a.pendingProps), c.return = b; + c.sibling = null; + } + return b.child; +} +function zj(a, b, c) { + switch (b.tag) { + case 3: + lj(b); + Ig(); + break; + case 5: + Kh(b); + break; + case 1: + Zf(b.type) && cg(b); + break; + case 4: + Ih(b, b.stateNode.containerInfo); + break; + case 10: + var d = b.type._context, + e = b.memoizedProps.value; + G(Mg, d._currentValue); + d._currentValue = e; + break; + case 13: + d = b.memoizedState; + if (null !== d) { + if (null !== d.dehydrated) return G(M, M.current & 1), b.flags |= 128, null; + if (0 !== (c & b.child.childLanes)) return pj(a, b, c); + G(M, M.current & 1); + a = $i(a, b, c); + return null !== a ? a.sibling : null; + } + G(M, M.current & 1); + break; + case 19: + d = 0 !== (c & b.childLanes); + if (0 !== (a.flags & 128)) { + if (d) return yj(a, b, c); + b.flags |= 128; + } + e = b.memoizedState; + null !== e && (e.rendering = null, e.tail = null, e.lastEffect = null); + G(M, M.current); + if (d) break;else return null; + case 22: + case 23: + return b.lanes = 0, ej(a, b, c); + } + return $i(a, b, c); +} +var Aj, Bj, Cj, Dj; +Aj = function Aj(a, b) { + for (var c = b.child; null !== c;) { + if (5 === c.tag || 6 === c.tag) a.appendChild(c.stateNode);else if (4 !== c.tag && null !== c.child) { + c.child.return = c; + c = c.child; + continue; + } + if (c === b) break; + for (; null === c.sibling;) { + if (null === c.return || c.return === b) return; + c = c.return; + } + c.sibling.return = c.return; + c = c.sibling; + } +}; +Bj = function Bj() {}; +Cj = function Cj(a, b, c, d) { + var e = a.memoizedProps; + if (e !== d) { + a = b.stateNode; + Hh(Eh.current); + var f = null; + switch (c) { + case "input": + e = Ya(a, e); + d = Ya(a, d); + f = []; + break; + case "select": + e = A({}, e, { + value: void 0 + }); + d = A({}, d, { + value: void 0 + }); + f = []; + break; + case "textarea": + e = gb(a, e); + d = gb(a, d); + f = []; + break; + default: + "function" !== typeof e.onClick && "function" === typeof d.onClick && (a.onclick = Bf); + } + ub(c, d); + var g; + c = null; + for (l in e) if (!d.hasOwnProperty(l) && e.hasOwnProperty(l) && null != e[l]) if ("style" === l) { + var h = e[l]; + for (g in h) h.hasOwnProperty(g) && (c || (c = {}), c[g] = ""); + } else "dangerouslySetInnerHTML" !== l && "children" !== l && "suppressContentEditableWarning" !== l && "suppressHydrationWarning" !== l && "autoFocus" !== l && (ea.hasOwnProperty(l) ? f || (f = []) : (f = f || []).push(l, null)); + for (l in d) { + var k = d[l]; + h = null != e ? e[l] : void 0; + if (d.hasOwnProperty(l) && k !== h && (null != k || null != h)) if ("style" === l) { + if (h) { + for (g in h) !h.hasOwnProperty(g) || k && k.hasOwnProperty(g) || (c || (c = {}), c[g] = ""); + for (g in k) k.hasOwnProperty(g) && h[g] !== k[g] && (c || (c = {}), c[g] = k[g]); + } else c || (f || (f = []), f.push(l, c)), c = k; + } else "dangerouslySetInnerHTML" === l ? (k = k ? k.__html : void 0, h = h ? h.__html : void 0, null != k && h !== k && (f = f || []).push(l, k)) : "children" === l ? "string" !== typeof k && "number" !== typeof k || (f = f || []).push(l, "" + k) : "suppressContentEditableWarning" !== l && "suppressHydrationWarning" !== l && (ea.hasOwnProperty(l) ? (null != k && "onScroll" === l && D("scroll", a), f || h === k || (f = [])) : (f = f || []).push(l, k)); + } + c && (f = f || []).push("style", c); + var l = f; + if (b.updateQueue = l) b.flags |= 4; + } +}; +Dj = function Dj(a, b, c, d) { + c !== d && (b.flags |= 4); +}; +function Ej(a, b) { + if (!I) switch (a.tailMode) { + case "hidden": + b = a.tail; + for (var c = null; null !== b;) null !== b.alternate && (c = b), b = b.sibling; + null === c ? a.tail = null : c.sibling = null; + break; + case "collapsed": + c = a.tail; + for (var d = null; null !== c;) null !== c.alternate && (d = c), c = c.sibling; + null === d ? b || null === a.tail ? a.tail = null : a.tail.sibling = null : d.sibling = null; + } +} +function S(a) { + var b = null !== a.alternate && a.alternate.child === a.child, + c = 0, + d = 0; + if (b) for (var e = a.child; null !== e;) c |= e.lanes | e.childLanes, d |= e.subtreeFlags & 14680064, d |= e.flags & 14680064, e.return = a, e = e.sibling;else for (e = a.child; null !== e;) c |= e.lanes | e.childLanes, d |= e.subtreeFlags, d |= e.flags, e.return = a, e = e.sibling; + a.subtreeFlags |= d; + a.childLanes = c; + return b; +} +function Fj(a, b, c) { + var d = b.pendingProps; + wg(b); + switch (b.tag) { + case 2: + case 16: + case 15: + case 0: + case 11: + case 7: + case 8: + case 12: + case 9: + case 14: + return S(b), null; + case 1: + return Zf(b.type) && $f(), S(b), null; + case 3: + d = b.stateNode; + Jh(); + E(Wf); + E(H); + Oh(); + d.pendingContext && (d.context = d.pendingContext, d.pendingContext = null); + if (null === a || null === a.child) Gg(b) ? b.flags |= 4 : null === a || a.memoizedState.isDehydrated && 0 === (b.flags & 256) || (b.flags |= 1024, null !== zg && (Gj(zg), zg = null)); + Bj(a, b); + S(b); + return null; + case 5: + Lh(b); + var e = Hh(Gh.current); + c = b.type; + if (null !== a && null != b.stateNode) Cj(a, b, c, d, e), a.ref !== b.ref && (b.flags |= 512, b.flags |= 2097152);else { + if (!d) { + if (null === b.stateNode) throw Error(p(166)); + S(b); + return null; + } + a = Hh(Eh.current); + if (Gg(b)) { + d = b.stateNode; + c = b.type; + var f = b.memoizedProps; + d[Of] = b; + d[Pf] = f; + a = 0 !== (b.mode & 1); + switch (c) { + case "dialog": + D("cancel", d); + D("close", d); + break; + case "iframe": + case "object": + case "embed": + D("load", d); + break; + case "video": + case "audio": + for (e = 0; e < lf.length; e++) D(lf[e], d); + break; + case "source": + D("error", d); + break; + case "img": + case "image": + case "link": + D("error", d); + D("load", d); + break; + case "details": + D("toggle", d); + break; + case "input": + Za(d, f); + D("invalid", d); + break; + case "select": + d._wrapperState = { + wasMultiple: !!f.multiple + }; + D("invalid", d); + break; + case "textarea": + hb(d, f), D("invalid", d); + } + ub(c, f); + e = null; + for (var g in f) if (f.hasOwnProperty(g)) { + var h = f[g]; + "children" === g ? "string" === typeof h ? d.textContent !== h && (!0 !== f.suppressHydrationWarning && Af(d.textContent, h, a), e = ["children", h]) : "number" === typeof h && d.textContent !== "" + h && (!0 !== f.suppressHydrationWarning && Af(d.textContent, h, a), e = ["children", "" + h]) : ea.hasOwnProperty(g) && null != h && "onScroll" === g && D("scroll", d); + } + switch (c) { + case "input": + Va(d); + db(d, f, !0); + break; + case "textarea": + Va(d); + jb(d); + break; + case "select": + case "option": + break; + default: + "function" === typeof f.onClick && (d.onclick = Bf); + } + d = e; + b.updateQueue = d; + null !== d && (b.flags |= 4); + } else { + g = 9 === e.nodeType ? e : e.ownerDocument; + "http:/www.w3.org/1999/xhtml" === a && (a = kb(c)); + "http:/www.w3.org/1999/xhtml" === a ? "script" === c ? (a = g.createElement("div"), a.innerHTML = "
\ No newline at end of file diff --git a/packages/taro-cli-convertor/report/report.html b/packages/taro-cli-convertor/report/report.html deleted file mode 100644 index 7f20758b2b6c..000000000000 --- a/packages/taro-cli-convertor/report/report.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - taro convertor report - - - - -
- - - \ No newline at end of file diff --git a/packages/taro-cli-convertor/report/static/css/main.css b/packages/taro-cli-convertor/report/static/css/main.css new file mode 100644 index 000000000000..ab47b3cdc1ce --- /dev/null +++ b/packages/taro-cli-convertor/report/static/css/main.css @@ -0,0 +1,491 @@ +@font-face { + font-family: 'HarmonyOS_Sans_SC'; + src: url(../../static/media/HarmonyOS_Sans_SC_Medium.ttf); + font-weight: normal; +} + +@font-face { + font-family: 'HarmonyOS_Sans_SC'; + src: url(../../static/media/HarmonyOS_Sans_SC_Bold.ttf); + font-weight: bold; +} + +* { + margin: 0; + padding: 0; + font-family: 'HarmonyOS_Sans_SC'; + font-weight: normal; +} + +#root { + height: 100vh; +} + +.project-detail-card { + padding: 20px 20px 24px 20px; + color: #252b3a; +} + +.project-detail-title { + font-size: 16px; + line-height: 24px; + font-weight: bold; +} + +.project-detail-wrapper { + margin-top: 20px; + display: flex; +} + +.project-detail { + font-size: 14px; + width: 30%; +} + +.project-detail:first-child { + font-size: 14px; + width: 40%; +} + +.project-detail-basic { + display: flex; + line-height: 22px; +} + +.project-detail-label { + color: #575d6c; + margin: 0 20px 12px 0; +} + +.project-detail-data { + font-size: 18px; +} + +.report-message-title { + padding: 20px; + font-size: 16px; + color: #252b3a; + line-height: 24px; + font-weight: bold; +} + +.report-message-detail { + font-size: 14px; + color: #252b3a; + line-height: 22px; + cursor: pointer; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.menu-group-wrapper { + width: 296px; + min-height: 36px; + line-height: 36px; + border-radius: 4px; + background: #ffffff; + font-family: 'HarmonyOS_Sans_SC'; + box-shadow: 0 1px 4px 0 rgba(37, 43, 58, 0.1); + margin-bottom: 10px; + cursor: pointer; +} + +.menu-label { + padding-left: 16px; + border-radius: 4px; + font-weight: bold; + color: #252b3a; + transition: 0.3s; +} + +.menu-label-selected { + background-color: #e9edfa; +} + +.projectDirectory-menu-open { + border-bottom: 1px solid #eef0f5; +} + +.projectDirectory-menu-open .menu-label-selected { + border-radius: 4px 4px 0 0; +} + +.sub-menu-label { + margin: 6px 16px; + border-radius: 2px; + overflow: hidden; + transition: 0.3s; + color: #252b3a; + display: flex; + flex-wrap: nowrap; +} + +.sub-menu-label:hover { + background-color: #e9edfa66; +} + +.sub-menu-label-name { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.sub-menu-icon { + height: 16px; + margin: 4px; +} + +.sub-menu-icon img { + height: 16px; + width: 16px; +} + +.sub-menu-arrow img { + height: 8px; + width: 8px; + transition: 0.3s; +} + +.menu-arrow-open { + -webkit-transform: rotate(0); + transform: rotate(0); +} + +.menu-arrow-close { + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); +} + +.sub-menu-selected { + font-weight: bold; + background-color: #e9edfa; +} + +.sub-menu { + transition: 0.5s; + overflow: hidden; +} + +.sub-menu-open { + min-height: 36px; +} + +.sub-menu-close { + height: 0; +} + +.sub-menu-hidden { + height: 0; + transition: 0.3s; + overflow: hidden; +} + +.code-card-wrapper { + margin-top: 24px; +} + +.code-card-describe-wrapper { + display: flex; + align-items: center; +} + +.describe-arrow { + width: 12px; + margin: 0 12px 0 4px; +} + +.code-card-describe { + font-size: 14px; + color: #252b3a; + line-height: 22px; +} + +.code-card-content { + background: #ffffff; + border: 1px solid #f2f2f380; + border-radius: 8px; + box-shadow: 0 2px 6px 0 rgba(27, 43, 58, 0.12); + margin-top: 12px; + display: flex; + overflow: hidden; +} + +.code-card { + width: 50.5%; + box-sizing: border-box; +} + +.code-card-only-before { + width: 100%; + box-sizing: border-box; +} + +.code-card:first-child { + width: 49.5%; + border-right: 1px solid #dfe1e6; +} + +.code-card-title { + padding: 5px 14px; + font-size: 14px; + color: #252b3a; + line-height: 22px; + display: flex; + justify-content: space-between; + background-image: linear-gradient(180deg, #e1e8ff73 0%, #d9e2ffff 100%); +} + +.title-before-convert { + background-image: linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%); + position: relative; +} + +.title-before-convert::after { + content: ''; + height: 0; + width: 0; + border: 16px solid transparent; + border-left: 13px solid #fbfbfb; + border-right: 0; + position: absolute; + right: -13px; + top: 0; +} + +.title-before-convert::before { + content: ''; + height: 0; + width: 0; + border: 16px solid transparent; + border-left: 13px solid #dfe1e6; + border-right: 0; + position: absolute; + right: -14px; + top: 0; +} + +.title-after-convert { + padding-left: 27px; +} + +.code-card-path { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + margin-right: 10px; +} + +.code-card-location { + font-size: 12px; + white-space: nowrap; +} + +.code-detail { + padding: 14px; + font-size: 12px; + line-height: 20px; + color: #252b3a; + white-space: pre-wrap; + letter-spacing: 0.5px; + word-spacing: 2px; +} + +.suggestion-wrapper { + margin: 12px 26px; +} + +.suggestion-title-wrapper, +.suggestion-demo-wrapper { + margin-bottom: 30px; +} +.suggestion-title { + font-size: 18px; + line-height: 22px; + color: #252b3a; +} + +.suggestion-message { + margin-top: 13px; + font-size: 14px; + line-height: 22px; + color: #71757f; +} + +.suggestion-demo-title { + font-size: 14px; + line-height: 22px; + color: #252b3a; +} + +.suggestion-demo { + background: #1e1e1e; + border-radius: 8px; + margin-top: 12px; + padding: 12px; + font-size: 12px; + letter-spacing: 0.5px; + word-spacing: 2px; + line-height: 20px; + color: #ffffff; + white-space: pre-wrap; +} + +.message-detail-card { + position: relative; + padding: 19px 25px 21px 25px; + margin-right: 0; + min-width: 840px; + transition: 0.3s; +} + +.message-detail-header { + width: 100%; + box-sizing: border-box; +} + +.message-detail-title { + font-size: 18px; + color: #252b3a; + line-height: 22px; + font-weight: normal; +} + +.message-detail-path { + font-size: 14px; + color: #71757f; + line-height: 22px; + margin-top: 6px; +} + +.show-suggestion-button-wrapper { + position: absolute; + right: 24px; + top: 28px; +} + +.show-suggestion-button { + background-image: linear-gradient(74deg, #fc85b0 0%, #a97af9 81%); + border-radius: 4px; + font-size: 14px; + color: #ffffff; + line-height: 22px; + border: none; + padding: 4px 23px; + box-shadow: 0 2px 6px 0 rgba(27, 43, 58, 0.12); +} + +.show-suggestion-button:hover { + opacity: 0.8; +} + +.show-suggestion-button:active { + opacity: 1; +} + +.message-detail-describe { + margin: 24px 0; + color: #252b3a; + line-height: 22px; +} + +.message-suggestion-wrapper-background { + height: 100vh; + background: #ffffff; + width: 463px; + position: fixed; + top: 0; + transition: 0.3s; + box-shadow: 0 2px 6px 0 rgba(37, 43, 58, 0.12); +} + +.message-suggestion-wrapper { + height: 100%; + width: 100%; + background-image: linear-gradient(44deg, #75fc3800 0%, #b98ed521 31%, #36d1e70f 100%, #36d1e80f 100%); +} + +.message-suggestion-name-wrapper { + display: flex; + padding: 18px 21px; +} + +.message-suggestion-icon-wrapper { + margin-right: 20px; +} + +.message-suggestion-icon { + background-image: linear-gradient(0deg, #fc85b0 0%, #a97af9 100%); + width: 20px; + height: 20px; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); +} + +.message-suggestion-name { + font-size: 18px; + color: #252b3a; + line-height: 22px; + white-space: nowrap; + flex: 1 1; +} + +.message-suggestion-close-wrapper { + cursor: pointer; +} + +.message-suggestion-close { + height: 16px; + width: 16px; +} + +.report-wrapper { + background: #f6f6f8; + min-height: 100%; +} + +.menu-wrapper { + padding: 16px 29px 0 27px; + z-index: 999; +} + +.convertor-report-title { + display: flex; + align-items: center; + margin-bottom: 24px; +} + +.convertor-report-icon { + height: 48px; + width: 48px; + border-radius: 8px; + background-image: linear-gradient(134deg, #4ac7e0 0%, #3c5cca 100%); + display: flex; + justify-content: center; + align-items: center; +} + +.convertor-report-name { + margin: 9px 12px; + font-weight: bold; + font-size: 18px; + color: #252b3a; +} + +.breadcrumb-wrapper { + margin: 26px 0 16px 26px; + font-size: 18px; +} + +.report-message-content { + padding: 12px 26px; +} + +.report-message-card { + background: #ffffff; + box-shadow: 0 2px 6px 0 rgba(37, 43, 58, 0.12); + border-radius: 8px; +} + + +/*# sourceMappingURL=main.css.map*/ \ No newline at end of file diff --git a/packages/taro-cli-convertor/report/static/css/main.css.map b/packages/taro-cli-convertor/report/static/css/main.css.map new file mode 100644 index 000000000000..38667bec27ba --- /dev/null +++ b/packages/taro-cli-convertor/report/static/css/main.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.css","mappings":"AAAA;EACE,gCAAgC;EAChC,4CAAqE;EACrE,mBAAmB;AACrB;;AAEA;EACE,gCAAgC;EAChC,4CAAmE;EACnE,iBAAiB;AACnB;;AAEA;EACE,SAAS;EACT,UAAU;EACV,gCAAgC;EAChC,mBAAmB;AACrB;;AAEA;EACE,aAAa;AACf;;ACrBA;EACE,4BAA4B;EAC5B,cAAc;AAChB;;AAEA;EACE,eAAe;EACf,iBAAiB;EACjB,iBAAiB;AACnB;;AAEA;EACE,gBAAgB;EAChB,aAAa;AACf;;AAEA;EACE,eAAe;EACf,UAAU;AACZ;;AAEA;EACE,eAAe;EACf,UAAU;AACZ;;AAEA;EACE,aAAa;EACb,iBAAiB;AACnB;;AAEA;EACE,cAAc;EACd,qBAAqB;AACvB;;AAEA;EACE,eAAe;AACjB;;ACtCA;EACE,aAAa;EACb,eAAe;EACf,cAAc;EACd,iBAAiB;EACjB,iBAAiB;AACnB;;AAEA;EACE,eAAe;EACf,cAAc;EACd,iBAAiB;EACjB,eAAe;EACf,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;AACzB;;AChBA;EACE,YAAY;EACZ,gBAAgB;EAChB,iBAAiB;EACjB,kBAAkB;EAClB,mBAAmB;EACnB,gCAAgC;EAChC,6CAA6C;EAC7C,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,kBAAkB;EAClB,kBAAkB;EAClB,iBAAiB;EACjB,cAAc;EACd,gBAAgB;AAClB;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,cAAc;EACd,aAAa;EACb,iBAAiB;AACnB;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;;AAEA;EACE,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,WAAW;EACX,UAAU;EACV,gBAAgB;AAClB;;AAEA;EACE,4BAAoB;UAApB,oBAAoB;AACtB;;AAEA;EACE,iCAAyB;UAAzB,yBAAyB;AAC3B;;AAEA;EACE,iBAAiB;EACjB,yBAAyB;AAC3B;;AAEA;EACE,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,SAAS;AACX;;AAEA;EACE,SAAS;EACT,gBAAgB;EAChB,gBAAgB;AAClB;;AClGA;EACE,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,WAAW;EACX,oBAAoB;AACtB;;AAEA;EACE,eAAe;EACf,cAAc;EACd,iBAAiB;AACnB;;AAEA;EACE,mBAAmB;EACnB,2BAA2B;EAC3B,kBAAkB;EAClB,8CAA8C;EAC9C,gBAAgB;EAChB,aAAa;EACb,gBAAgB;AAClB;;AAEA;EACE,YAAY;EACZ,sBAAsB;AACxB;;AAEA;EACE,WAAW;EACX,sBAAsB;AACxB;;AAEA;EACE,YAAY;EACZ,+BAA+B;AACjC;;AAEA;EACE,iBAAiB;EACjB,eAAe;EACf,cAAc;EACd,iBAAiB;EACjB,aAAa;EACb,8BAA8B;EAC9B,uEAAuE;AACzE;;AAEA;EACE,mEAAmE;EACnE,kBAAkB;AACpB;;AAEA;EACE,WAAW;EACX,SAAS;EACT,QAAQ;EACR,8BAA8B;EAC9B,+BAA+B;EAC/B,eAAe;EACf,kBAAkB;EAClB,YAAY;EACZ,MAAM;AACR;;AAEA;EACE,WAAW;EACX,SAAS;EACT,QAAQ;EACR,8BAA8B;EAC9B,+BAA+B;EAC/B,eAAe;EACf,kBAAkB;EAClB,YAAY;EACZ,MAAM;AACR;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;AACpB;;AAEA;EACE,eAAe;EACf,mBAAmB;AACrB;;AAEA;EACE,aAAa;EACb,eAAe;EACf,iBAAiB;EACjB,cAAc;EACd,qBAAqB;EACrB,qBAAqB;EACrB,iBAAiB;AACnB;;AC5GA;EACE,iBAAiB;AACnB;;AAEA;;EAEE,mBAAmB;AACrB;AACA;EACE,eAAe;EACf,iBAAiB;EACjB,cAAc;AAChB;;AAEA;EACE,gBAAgB;EAChB,eAAe;EACf,iBAAiB;EACjB,cAAc;AAChB;;AAEA;EACE,eAAe;EACf,iBAAiB;EACjB,cAAc;AAChB;;AAEA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,gBAAgB;EAChB,aAAa;EACb,eAAe;EACf,qBAAqB;EACrB,iBAAiB;EACjB,iBAAiB;EACjB,cAAc;EACd,qBAAqB;AACvB;;ACtCA;EACE,kBAAkB;EAClB,4BAA4B;EAC5B,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,WAAW;EACX,sBAAsB;AACxB;;AAEA;EACE,eAAe;EACf,cAAc;EACd,iBAAiB;EACjB,mBAAmB;AACrB;;AAEA;EACE,eAAe;EACf,cAAc;EACd,iBAAiB;EACjB,eAAe;AACjB;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;AACX;;AAEA;EACE,iEAAiE;EACjE,kBAAkB;EAClB,eAAe;EACf,cAAc;EACd,iBAAiB;EACjB,YAAY;EACZ,iBAAiB;EACjB,8CAA8C;AAChD;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,cAAc;EACd,cAAc;EACd,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,YAAY;EACZ,eAAe;EACf,MAAM;EACN,gBAAgB;EAChB,8CAA8C;AAChD;;AAEA;EACE,YAAY;EACZ,WAAW;EACX,qGAAqG;AACvG;;AAEA;EACE,aAAa;EACb,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,iEAAiE;EACjE,WAAW;EACX,YAAY;EACZ,gCAAwB;UAAxB,wBAAwB;AAC1B;;AAEA;EACE,eAAe;EACf,cAAc;EACd,iBAAiB;EACjB,mBAAmB;EACnB,SAAO;AACT;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,YAAY;EACZ,WAAW;AACb;;ACzGA;EACE,mBAAmB;EACnB,gBAAgB;AAClB;;AAEA;EACE,yBAAyB;EACzB,YAAY;AACd;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;AACrB;;AAEA;EACE,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,mEAAmE;EACnE,aAAa;EACb,uBAAuB;EACvB,mBAAmB;AACrB;;AAEA;EACE,gBAAgB;EAChB,iBAAiB;EACjB,eAAe;EACf,cAAc;AAChB;;AAEA;EACE,wBAAwB;EACxB,eAAe;AACjB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,mBAAmB;EACnB,8CAA8C;EAC9C,kBAAkB;AACpB","sources":["index.css","components/ProjectDetail/ProjectDetail.css","components/MessageContent/MessageContent.css","components/Menu/Menu.css","components/CodeCard/CodeCard.css","components/Suggestion/Suggestion.css","components/MessageDetail/MessageDetail.css","App.css"],"sourcesContent":["@font-face {\r\n font-family: 'HarmonyOS_Sans_SC';\r\n src: url('./resource/HarmonyOS_Sans_SC/HarmonyOS_Sans_SC_Medium.ttf');\r\n font-weight: normal;\r\n}\r\n\r\n@font-face {\r\n font-family: 'HarmonyOS_Sans_SC';\r\n src: url('./resource/HarmonyOS_Sans_SC/HarmonyOS_Sans_SC_Bold.ttf');\r\n font-weight: bold;\r\n}\r\n\r\n* {\r\n margin: 0;\r\n padding: 0;\r\n font-family: 'HarmonyOS_Sans_SC';\r\n font-weight: normal;\r\n}\r\n\r\n#root {\r\n height: 100vh;\r\n}\r\n",".project-detail-card {\r\n padding: 20px 20px 24px 20px;\r\n color: #252b3a;\r\n}\r\n\r\n.project-detail-title {\r\n font-size: 16px;\r\n line-height: 24px;\r\n font-weight: bold;\r\n}\r\n\r\n.project-detail-wrapper {\r\n margin-top: 20px;\r\n display: flex;\r\n}\r\n\r\n.project-detail {\r\n font-size: 14px;\r\n width: 30%;\r\n}\r\n\r\n.project-detail:first-child {\r\n font-size: 14px;\r\n width: 40%;\r\n}\r\n\r\n.project-detail-basic {\r\n display: flex;\r\n line-height: 22px;\r\n}\r\n\r\n.project-detail-label {\r\n color: #575d6c;\r\n margin: 0 20px 12px 0;\r\n}\r\n\r\n.project-detail-data {\r\n font-size: 18px;\r\n}\r\n",".report-message-title {\r\n padding: 20px;\r\n font-size: 16px;\r\n color: #252b3a;\r\n line-height: 24px;\r\n font-weight: bold;\r\n}\r\n\r\n.report-message-detail {\r\n font-size: 14px;\r\n color: #252b3a;\r\n line-height: 22px;\r\n cursor: pointer;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n",".menu-group-wrapper {\r\n width: 296px;\r\n min-height: 36px;\r\n line-height: 36px;\r\n border-radius: 4px;\r\n background: #ffffff;\r\n font-family: 'HarmonyOS_Sans_SC';\r\n box-shadow: 0 1px 4px 0 rgba(37, 43, 58, 0.1);\r\n margin-bottom: 10px;\r\n cursor: pointer;\r\n}\r\n\r\n.menu-label {\r\n padding-left: 16px;\r\n border-radius: 4px;\r\n font-weight: bold;\r\n color: #252b3a;\r\n transition: 0.3s;\r\n}\r\n\r\n.menu-label-selected {\r\n background-color: #e9edfa;\r\n}\r\n\r\n.projectDirectory-menu-open {\r\n border-bottom: 1px solid #eef0f5;\r\n}\r\n\r\n.projectDirectory-menu-open .menu-label-selected {\r\n border-radius: 4px 4px 0 0;\r\n}\r\n\r\n.sub-menu-label {\r\n margin: 6px 16px;\r\n border-radius: 2px;\r\n overflow: hidden;\r\n transition: 0.3s;\r\n color: #252b3a;\r\n display: flex;\r\n flex-wrap: nowrap;\r\n}\r\n\r\n.sub-menu-label:hover {\r\n background-color: #e9edfa66;\r\n}\r\n\r\n.sub-menu-label-name {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n}\r\n\r\n.sub-menu-icon {\r\n height: 16px;\r\n margin: 4px;\r\n}\r\n\r\n.sub-menu-icon img {\r\n height: 16px;\r\n width: 16px;\r\n}\r\n\r\n.sub-menu-arrow img {\r\n height: 8px;\r\n width: 8px;\r\n transition: 0.3s;\r\n}\r\n\r\n.menu-arrow-open {\r\n transform: rotate(0);\r\n}\r\n\r\n.menu-arrow-close {\r\n transform: rotate(-90deg);\r\n}\r\n\r\n.sub-menu-selected {\r\n font-weight: bold;\r\n background-color: #e9edfa;\r\n}\r\n\r\n.sub-menu {\r\n transition: 0.5s;\r\n overflow: hidden;\r\n}\r\n\r\n.sub-menu-open {\r\n min-height: 36px;\r\n}\r\n\r\n.sub-menu-close {\r\n height: 0;\r\n}\r\n\r\n.sub-menu-hidden {\r\n height: 0;\r\n transition: 0.3s;\r\n overflow: hidden;\r\n}\r\n",".code-card-wrapper {\r\n margin-top: 24px;\r\n}\r\n\r\n.code-card-describe-wrapper {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.describe-arrow {\r\n width: 12px;\r\n margin: 0 12px 0 4px;\r\n}\r\n\r\n.code-card-describe {\r\n font-size: 14px;\r\n color: #252b3a;\r\n line-height: 22px;\r\n}\r\n\r\n.code-card-content {\r\n background: #ffffff;\r\n border: 1px solid #f2f2f380;\r\n border-radius: 8px;\r\n box-shadow: 0 2px 6px 0 rgba(27, 43, 58, 0.12);\r\n margin-top: 12px;\r\n display: flex;\r\n overflow: hidden;\r\n}\r\n\r\n.code-card {\r\n width: 50.5%;\r\n box-sizing: border-box;\r\n}\r\n\r\n.code-card-only-before {\r\n width: 100%;\r\n box-sizing: border-box;\r\n}\r\n\r\n.code-card:first-child {\r\n width: 49.5%;\r\n border-right: 1px solid #dfe1e6;\r\n}\r\n\r\n.code-card-title {\r\n padding: 5px 14px;\r\n font-size: 14px;\r\n color: #252b3a;\r\n line-height: 22px;\r\n display: flex;\r\n justify-content: space-between;\r\n background-image: linear-gradient(180deg, #e1e8ff73 0%, #d9e2ffff 100%);\r\n}\r\n\r\n.title-before-convert {\r\n background-image: linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%);\r\n position: relative;\r\n}\r\n\r\n.title-before-convert::after {\r\n content: '';\r\n height: 0;\r\n width: 0;\r\n border: 16px solid transparent;\r\n border-left: 13px solid #fbfbfb;\r\n border-right: 0;\r\n position: absolute;\r\n right: -13px;\r\n top: 0;\r\n}\r\n\r\n.title-before-convert::before {\r\n content: '';\r\n height: 0;\r\n width: 0;\r\n border: 16px solid transparent;\r\n border-left: 13px solid #dfe1e6;\r\n border-right: 0;\r\n position: absolute;\r\n right: -14px;\r\n top: 0;\r\n}\r\n\r\n.title-after-convert {\r\n padding-left: 27px;\r\n}\r\n\r\n.code-card-path {\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n margin-right: 10px;\r\n}\r\n\r\n.code-card-location {\r\n font-size: 12px;\r\n white-space: nowrap;\r\n}\r\n\r\n.code-detail {\r\n padding: 14px;\r\n font-size: 12px;\r\n line-height: 20px;\r\n color: #252b3a;\r\n white-space: pre-wrap;\r\n letter-spacing: 0.5px;\r\n word-spacing: 2px;\r\n}\r\n",".suggestion-wrapper {\r\n margin: 12px 26px;\r\n}\r\n\r\n.suggestion-title-wrapper,\r\n.suggestion-demo-wrapper {\r\n margin-bottom: 30px;\r\n}\r\n.suggestion-title {\r\n font-size: 18px;\r\n line-height: 22px;\r\n color: #252b3a;\r\n}\r\n\r\n.suggestion-message {\r\n margin-top: 13px;\r\n font-size: 14px;\r\n line-height: 22px;\r\n color: #71757f;\r\n}\r\n\r\n.suggestion-demo-title {\r\n font-size: 14px;\r\n line-height: 22px;\r\n color: #252b3a;\r\n}\r\n\r\n.suggestion-demo {\r\n background: #1e1e1e;\r\n border-radius: 8px;\r\n margin-top: 12px;\r\n padding: 12px;\r\n font-size: 12px;\r\n letter-spacing: 0.5px;\r\n word-spacing: 2px;\r\n line-height: 20px;\r\n color: #ffffff;\r\n white-space: pre-wrap;\r\n}\r\n",".message-detail-card {\r\n position: relative;\r\n padding: 19px 25px 21px 25px;\r\n margin-right: 0;\r\n min-width: 840px;\r\n transition: 0.3s;\r\n}\r\n\r\n.message-detail-header {\r\n width: 100%;\r\n box-sizing: border-box;\r\n}\r\n\r\n.message-detail-title {\r\n font-size: 18px;\r\n color: #252b3a;\r\n line-height: 22px;\r\n font-weight: normal;\r\n}\r\n\r\n.message-detail-path {\r\n font-size: 14px;\r\n color: #71757f;\r\n line-height: 22px;\r\n margin-top: 6px;\r\n}\r\n\r\n.show-suggestion-button-wrapper {\r\n position: absolute;\r\n right: 24px;\r\n top: 28px;\r\n}\r\n\r\n.show-suggestion-button {\r\n background-image: linear-gradient(74deg, #fc85b0 0%, #a97af9 81%);\r\n border-radius: 4px;\r\n font-size: 14px;\r\n color: #ffffff;\r\n line-height: 22px;\r\n border: none;\r\n padding: 4px 23px;\r\n box-shadow: 0 2px 6px 0 rgba(27, 43, 58, 0.12);\r\n}\r\n\r\n.show-suggestion-button:hover {\r\n opacity: 0.8;\r\n}\r\n\r\n.show-suggestion-button:active {\r\n opacity: 1;\r\n}\r\n\r\n.message-detail-describe {\r\n margin: 24px 0;\r\n color: #252b3a;\r\n line-height: 22px;\r\n}\r\n\r\n.message-suggestion-wrapper-background {\r\n height: 100vh;\r\n background: #ffffff;\r\n width: 463px;\r\n position: fixed;\r\n top: 0;\r\n transition: 0.3s;\r\n box-shadow: 0 2px 6px 0 rgba(37, 43, 58, 0.12);\r\n}\r\n\r\n.message-suggestion-wrapper {\r\n height: 100%;\r\n width: 100%;\r\n background-image: linear-gradient(44deg, #75fc3800 0%, #b98ed521 31%, #36d1e70f 100%, #36d1e80f 100%);\r\n}\r\n\r\n.message-suggestion-name-wrapper {\r\n display: flex;\r\n padding: 18px 21px;\r\n}\r\n\r\n.message-suggestion-icon-wrapper {\r\n margin-right: 20px;\r\n}\r\n\r\n.message-suggestion-icon {\r\n background-image: linear-gradient(0deg, #fc85b0 0%, #a97af9 100%);\r\n width: 20px;\r\n height: 20px;\r\n transform: rotate(45deg);\r\n}\r\n\r\n.message-suggestion-name {\r\n font-size: 18px;\r\n color: #252b3a;\r\n line-height: 22px;\r\n white-space: nowrap;\r\n flex: 1;\r\n}\r\n\r\n.message-suggestion-close-wrapper {\r\n cursor: pointer;\r\n}\r\n\r\n.message-suggestion-close {\r\n height: 16px;\r\n width: 16px;\r\n}\r\n",".report-wrapper {\r\n background: #f6f6f8;\r\n min-height: 100%;\r\n}\r\n\r\n.menu-wrapper {\r\n padding: 16px 29px 0 27px;\r\n z-index: 999;\r\n}\r\n\r\n.convertor-report-title {\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 24px;\r\n}\r\n\r\n.convertor-report-icon {\r\n height: 48px;\r\n width: 48px;\r\n border-radius: 8px;\r\n background-image: linear-gradient(134deg, #4ac7e0 0%, #3c5cca 100%);\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.convertor-report-name {\r\n margin: 9px 12px;\r\n font-weight: bold;\r\n font-size: 18px;\r\n color: #252b3a;\r\n}\r\n\r\n.breadcrumb-wrapper {\r\n margin: 26px 0 16px 26px;\r\n font-size: 18px;\r\n}\r\n\r\n.report-message-content {\r\n padding: 12px 26px;\r\n}\r\n\r\n.report-message-card {\r\n background: #ffffff;\r\n box-shadow: 0 2px 6px 0 rgba(37, 43, 58, 0.12);\r\n border-radius: 8px;\r\n}\r\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/packages/taro-cli-convertor/report/static/js/bundle.js b/packages/taro-cli-convertor/report/static/js/bundle.js new file mode 100644 index 000000000000..a78dff2380fe --- /dev/null +++ b/packages/taro-cli-convertor/report/static/js/bundle.js @@ -0,0 +1,55316 @@ +/******/ (function() { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 270: +/***/ (function(module, exports) { + +var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/* global define */ + +(function () { + 'use strict'; + + var hasOwn = {}.hasOwnProperty; + var nativeCodeString = '[native code]'; + function classNames() { + var classes = []; + for (var i = 0; i < arguments.length; i++) { + var arg = arguments[i]; + if (!arg) continue; + var argType = typeof arg; + if (argType === 'string' || argType === 'number') { + classes.push(arg); + } else if (Array.isArray(arg)) { + if (arg.length) { + var inner = classNames.apply(null, arg); + if (inner) { + classes.push(inner); + } + } + } else if (argType === 'object') { + if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) { + classes.push(arg.toString()); + continue; + } + for (var key in arg) { + if (hasOwn.call(arg, key) && arg[key]) { + classes.push(key); + } + } + } + } + return classes.join(' '); + } + if ( true && module.exports) { + classNames.default = classNames; + module.exports = classNames; + } else if (true) { + // register as 'classnames', consistent with npm package name + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { + return classNames; + }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else {} +})(); + +/***/ }), + +/***/ 314: +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; +var __webpack_unused_export__; +/** + * @license React + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + +var b = Symbol.for("react.element"), + c = Symbol.for("react.portal"), + d = Symbol.for("react.fragment"), + e = Symbol.for("react.strict_mode"), + f = Symbol.for("react.profiler"), + g = Symbol.for("react.provider"), + h = Symbol.for("react.context"), + k = Symbol.for("react.server_context"), + l = Symbol.for("react.forward_ref"), + m = Symbol.for("react.suspense"), + n = Symbol.for("react.suspense_list"), + p = Symbol.for("react.memo"), + q = Symbol.for("react.lazy"), + t = Symbol.for("react.offscreen"), + u; +u = Symbol.for("react.module.reference"); +function v(a) { + if ("object" === typeof a && null !== a) { + var r = a.$$typeof; + switch (r) { + case b: + switch (a = a.type, a) { + case d: + case f: + case e: + case m: + case n: + return a; + default: + switch (a = a && a.$$typeof, a) { + case k: + case h: + case l: + case q: + case p: + case g: + return a; + default: + return r; + } + } + case c: + return r; + } + } +} +__webpack_unused_export__ = h; +__webpack_unused_export__ = g; +__webpack_unused_export__ = b; +__webpack_unused_export__ = l; +__webpack_unused_export__ = d; +__webpack_unused_export__ = q; +__webpack_unused_export__ = p; +__webpack_unused_export__ = c; +__webpack_unused_export__ = f; +__webpack_unused_export__ = e; +__webpack_unused_export__ = m; +__webpack_unused_export__ = n; +__webpack_unused_export__ = function () { + return !1; +}; +__webpack_unused_export__ = function () { + return !1; +}; +__webpack_unused_export__ = function (a) { + return v(a) === h; +}; +__webpack_unused_export__ = function (a) { + return v(a) === g; +}; +__webpack_unused_export__ = function (a) { + return "object" === typeof a && null !== a && a.$$typeof === b; +}; +__webpack_unused_export__ = function (a) { + return v(a) === l; +}; +exports.isFragment = function (a) { + return v(a) === d; +}; +__webpack_unused_export__ = function (a) { + return v(a) === q; +}; +exports.isMemo = function (a) { + return v(a) === p; +}; +__webpack_unused_export__ = function (a) { + return v(a) === c; +}; +__webpack_unused_export__ = function (a) { + return v(a) === f; +}; +__webpack_unused_export__ = function (a) { + return v(a) === e; +}; +__webpack_unused_export__ = function (a) { + return v(a) === m; +}; +__webpack_unused_export__ = function (a) { + return v(a) === n; +}; +__webpack_unused_export__ = function (a) { + return "string" === typeof a || "function" === typeof a || a === d || a === f || a === e || a === m || a === n || a === t || "object" === typeof a && null !== a && (a.$$typeof === q || a.$$typeof === p || a.$$typeof === g || a.$$typeof === h || a.$$typeof === l || a.$$typeof === u || void 0 !== a.getModuleId) ? !0 : !1; +}; +__webpack_unused_export__ = v; + +/***/ }), + +/***/ 343: +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +if (true) { + module.exports = __webpack_require__(314); +} else {} + +/***/ }), + +/***/ 571: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/* + Modernizr 3.0.0pre (Custom Build) | MIT +*/ + + +var aa = __webpack_require__(519), + ca = __webpack_require__(514); +function p(a) { + for (var b = "https://reactjs.org/docs/error-decoder.html?invariant=" + a, c = 1; c < arguments.length; c++) b += "&args[]=" + encodeURIComponent(arguments[c]); + return "Minified React error #" + a + "; visit " + b + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings."; +} +var da = new Set(), + ea = {}; +function fa(a, b) { + ha(a, b); + ha(a + "Capture", b); +} +function ha(a, b) { + ea[a] = b; + for (a = 0; a < b.length; a++) da.add(b[a]); +} +var ia = !("undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement), + ja = Object.prototype.hasOwnProperty, + ka = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, + la = {}, + ma = {}; +function oa(a) { + if (ja.call(ma, a)) return !0; + if (ja.call(la, a)) return !1; + if (ka.test(a)) return ma[a] = !0; + la[a] = !0; + return !1; +} +function pa(a, b, c, d) { + if (null !== c && 0 === c.type) return !1; + switch (typeof b) { + case "function": + case "symbol": + return !0; + case "boolean": + if (d) return !1; + if (null !== c) return !c.acceptsBooleans; + a = a.toLowerCase().slice(0, 5); + return "data-" !== a && "aria-" !== a; + default: + return !1; + } +} +function qa(a, b, c, d) { + if (null === b || "undefined" === typeof b || pa(a, b, c, d)) return !0; + if (d) return !1; + if (null !== c) switch (c.type) { + case 3: + return !b; + case 4: + return !1 === b; + case 5: + return isNaN(b); + case 6: + return isNaN(b) || 1 > b; + } + return !1; +} +function v(a, b, c, d, e, f, g) { + this.acceptsBooleans = 2 === b || 3 === b || 4 === b; + this.attributeName = d; + this.attributeNamespace = e; + this.mustUseProperty = c; + this.propertyName = a; + this.type = b; + this.sanitizeURL = f; + this.removeEmptyString = g; +} +var z = {}; +"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function (a) { + z[a] = new v(a, 0, !1, a, null, !1, !1); +}); +[["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function (a) { + var b = a[0]; + z[b] = new v(b, 1, !1, a[1], null, !1, !1); +}); +["contentEditable", "draggable", "spellCheck", "value"].forEach(function (a) { + z[a] = new v(a, 2, !1, a.toLowerCase(), null, !1, !1); +}); +["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function (a) { + z[a] = new v(a, 2, !1, a, null, !1, !1); +}); +"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function (a) { + z[a] = new v(a, 3, !1, a.toLowerCase(), null, !1, !1); +}); +["checked", "multiple", "muted", "selected"].forEach(function (a) { + z[a] = new v(a, 3, !0, a, null, !1, !1); +}); +["capture", "download"].forEach(function (a) { + z[a] = new v(a, 4, !1, a, null, !1, !1); +}); +["cols", "rows", "size", "span"].forEach(function (a) { + z[a] = new v(a, 6, !1, a, null, !1, !1); +}); +["rowSpan", "start"].forEach(function (a) { + z[a] = new v(a, 5, !1, a.toLowerCase(), null, !1, !1); +}); +var ra = /[\-:]([a-z])/g; +function sa(a) { + return a[1].toUpperCase(); +} +"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function (a) { + var b = a.replace(ra, sa); + z[b] = new v(b, 1, !1, a, null, !1, !1); +}); +"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function (a) { + var b = a.replace(ra, sa); + z[b] = new v(b, 1, !1, a, "http://www.w3.org/1999/xlink", !1, !1); +}); +["xml:base", "xml:lang", "xml:space"].forEach(function (a) { + var b = a.replace(ra, sa); + z[b] = new v(b, 1, !1, a, "http://www.w3.org/XML/1998/namespace", !1, !1); +}); +["tabIndex", "crossOrigin"].forEach(function (a) { + z[a] = new v(a, 1, !1, a.toLowerCase(), null, !1, !1); +}); +z.xlinkHref = new v("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/xlink", !0, !1); +["src", "href", "action", "formAction"].forEach(function (a) { + z[a] = new v(a, 1, !1, a.toLowerCase(), null, !0, !0); +}); +function ta(a, b, c, d) { + var e = z.hasOwnProperty(b) ? z[b] : null; + if (null !== e ? 0 !== e.type : d || !(2 < b.length) || "o" !== b[0] && "O" !== b[0] || "n" !== b[1] && "N" !== b[1]) qa(b, c, e, d) && (c = null), d || null === e ? oa(b) && (null === c ? a.removeAttribute(b) : a.setAttribute(b, "" + c)) : e.mustUseProperty ? a[e.propertyName] = null === c ? 3 === e.type ? !1 : "" : c : (b = e.attributeName, d = e.attributeNamespace, null === c ? a.removeAttribute(b) : (e = e.type, c = 3 === e || 4 === e && !0 === c ? "" : "" + c, d ? a.setAttributeNS(d, b, c) : a.setAttribute(b, c))); +} +var ua = aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, + va = Symbol.for("react.element"), + wa = Symbol.for("react.portal"), + ya = Symbol.for("react.fragment"), + za = Symbol.for("react.strict_mode"), + Aa = Symbol.for("react.profiler"), + Ba = Symbol.for("react.provider"), + Ca = Symbol.for("react.context"), + Da = Symbol.for("react.forward_ref"), + Ea = Symbol.for("react.suspense"), + Fa = Symbol.for("react.suspense_list"), + Ga = Symbol.for("react.memo"), + Ha = Symbol.for("react.lazy"); +Symbol.for("react.scope"); +Symbol.for("react.debug_trace_mode"); +var Ia = Symbol.for("react.offscreen"); +Symbol.for("react.legacy_hidden"); +Symbol.for("react.cache"); +Symbol.for("react.tracing_marker"); +var Ja = Symbol.iterator; +function Ka(a) { + if (null === a || "object" !== typeof a) return null; + a = Ja && a[Ja] || a["@@iterator"]; + return "function" === typeof a ? a : null; +} +var A = Object.assign, + La; +function Ma(a) { + if (void 0 === La) try { + throw Error(); + } catch (c) { + var b = c.stack.trim().match(/\n( *(at )?)/); + La = b && b[1] || ""; + } + return "\n" + La + a; +} +var Na = !1; +function Oa(a, b) { + if (!a || Na) return ""; + Na = !0; + var c = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + try { + if (b) { + if (b = function b() { + throw Error(); + }, Object.defineProperty(b.prototype, "props", { + set: function set() { + throw Error(); + } + }), "object" === typeof Reflect && Reflect.construct) { + try { + Reflect.construct(b, []); + } catch (l) { + var d = l; + } + Reflect.construct(a, [], b); + } else { + try { + b.call(); + } catch (l) { + d = l; + } + a.call(b.prototype); + } + } else { + try { + throw Error(); + } catch (l) { + d = l; + } + a(); + } + } catch (l) { + if (l && d && "string" === typeof l.stack) { + for (var e = l.stack.split("\n"), f = d.stack.split("\n"), g = e.length - 1, h = f.length - 1; 1 <= g && 0 <= h && e[g] !== f[h];) h--; + for (; 1 <= g && 0 <= h; g--, h--) if (e[g] !== f[h]) { + if (1 !== g || 1 !== h) { + do if (g--, h--, 0 > h || e[g] !== f[h]) { + var k = "\n" + e[g].replace(" at new ", " at "); + a.displayName && k.includes("") && (k = k.replace("", a.displayName)); + return k; + } while (1 <= g && 0 <= h); + } + break; + } + } + } finally { + Na = !1, Error.prepareStackTrace = c; + } + return (a = a ? a.displayName || a.name : "") ? Ma(a) : ""; +} +function Pa(a) { + switch (a.tag) { + case 5: + return Ma(a.type); + case 16: + return Ma("Lazy"); + case 13: + return Ma("Suspense"); + case 19: + return Ma("SuspenseList"); + case 0: + case 2: + case 15: + return a = Oa(a.type, !1), a; + case 11: + return a = Oa(a.type.render, !1), a; + case 1: + return a = Oa(a.type, !0), a; + default: + return ""; + } +} +function Qa(a) { + if (null == a) return null; + if ("function" === typeof a) return a.displayName || a.name || null; + if ("string" === typeof a) return a; + switch (a) { + case ya: + return "Fragment"; + case wa: + return "Portal"; + case Aa: + return "Profiler"; + case za: + return "StrictMode"; + case Ea: + return "Suspense"; + case Fa: + return "SuspenseList"; + } + if ("object" === typeof a) switch (a.$$typeof) { + case Ca: + return (a.displayName || "Context") + ".Consumer"; + case Ba: + return (a._context.displayName || "Context") + ".Provider"; + case Da: + var b = a.render; + a = a.displayName; + a || (a = b.displayName || b.name || "", a = "" !== a ? "ForwardRef(" + a + ")" : "ForwardRef"); + return a; + case Ga: + return b = a.displayName || null, null !== b ? b : Qa(a.type) || "Memo"; + case Ha: + b = a._payload; + a = a._init; + try { + return Qa(a(b)); + } catch (c) {} + } + return null; +} +function Ra(a) { + var b = a.type; + switch (a.tag) { + case 24: + return "Cache"; + case 9: + return (b.displayName || "Context") + ".Consumer"; + case 10: + return (b._context.displayName || "Context") + ".Provider"; + case 18: + return "DehydratedFragment"; + case 11: + return a = b.render, a = a.displayName || a.name || "", b.displayName || ("" !== a ? "ForwardRef(" + a + ")" : "ForwardRef"); + case 7: + return "Fragment"; + case 5: + return b; + case 4: + return "Portal"; + case 3: + return "Root"; + case 6: + return "Text"; + case 16: + return Qa(b); + case 8: + return b === za ? "StrictMode" : "Mode"; + case 22: + return "Offscreen"; + case 12: + return "Profiler"; + case 21: + return "Scope"; + case 13: + return "Suspense"; + case 19: + return "SuspenseList"; + case 25: + return "TracingMarker"; + case 1: + case 0: + case 17: + case 2: + case 14: + case 15: + if ("function" === typeof b) return b.displayName || b.name || null; + if ("string" === typeof b) return b; + } + return null; +} +function Sa(a) { + switch (typeof a) { + case "boolean": + case "number": + case "string": + case "undefined": + return a; + case "object": + return a; + default: + return ""; + } +} +function Ta(a) { + var b = a.type; + return (a = a.nodeName) && "input" === a.toLowerCase() && ("checkbox" === b || "radio" === b); +} +function Ua(a) { + var b = Ta(a) ? "checked" : "value", + c = Object.getOwnPropertyDescriptor(a.constructor.prototype, b), + d = "" + a[b]; + if (!a.hasOwnProperty(b) && "undefined" !== typeof c && "function" === typeof c.get && "function" === typeof c.set) { + var e = c.get, + f = c.set; + Object.defineProperty(a, b, { + configurable: !0, + get: function get() { + return e.call(this); + }, + set: function set(a) { + d = "" + a; + f.call(this, a); + } + }); + Object.defineProperty(a, b, { + enumerable: c.enumerable + }); + return { + getValue: function getValue() { + return d; + }, + setValue: function setValue(a) { + d = "" + a; + }, + stopTracking: function stopTracking() { + a._valueTracker = null; + delete a[b]; + } + }; + } +} +function Va(a) { + a._valueTracker || (a._valueTracker = Ua(a)); +} +function Wa(a) { + if (!a) return !1; + var b = a._valueTracker; + if (!b) return !0; + var c = b.getValue(); + var d = ""; + a && (d = Ta(a) ? a.checked ? "true" : "false" : a.value); + a = d; + return a !== c ? (b.setValue(a), !0) : !1; +} +function Xa(a) { + a = a || ("undefined" !== typeof document ? document : void 0); + if ("undefined" === typeof a) return null; + try { + return a.activeElement || a.body; + } catch (b) { + return a.body; + } +} +function Ya(a, b) { + var c = b.checked; + return A({}, b, { + defaultChecked: void 0, + defaultValue: void 0, + value: void 0, + checked: null != c ? c : a._wrapperState.initialChecked + }); +} +function Za(a, b) { + var c = null == b.defaultValue ? "" : b.defaultValue, + d = null != b.checked ? b.checked : b.defaultChecked; + c = Sa(null != b.value ? b.value : c); + a._wrapperState = { + initialChecked: d, + initialValue: c, + controlled: "checkbox" === b.type || "radio" === b.type ? null != b.checked : null != b.value + }; +} +function ab(a, b) { + b = b.checked; + null != b && ta(a, "checked", b, !1); +} +function bb(a, b) { + ab(a, b); + var c = Sa(b.value), + d = b.type; + if (null != c) { + if ("number" === d) { + if (0 === c && "" === a.value || a.value != c) a.value = "" + c; + } else a.value !== "" + c && (a.value = "" + c); + } else if ("submit" === d || "reset" === d) { + a.removeAttribute("value"); + return; + } + b.hasOwnProperty("value") ? cb(a, b.type, c) : b.hasOwnProperty("defaultValue") && cb(a, b.type, Sa(b.defaultValue)); + null == b.checked && null != b.defaultChecked && (a.defaultChecked = !!b.defaultChecked); +} +function db(a, b, c) { + if (b.hasOwnProperty("value") || b.hasOwnProperty("defaultValue")) { + var d = b.type; + if (!("submit" !== d && "reset" !== d || void 0 !== b.value && null !== b.value)) return; + b = "" + a._wrapperState.initialValue; + c || b === a.value || (a.value = b); + a.defaultValue = b; + } + c = a.name; + "" !== c && (a.name = ""); + a.defaultChecked = !!a._wrapperState.initialChecked; + "" !== c && (a.name = c); +} +function cb(a, b, c) { + if ("number" !== b || Xa(a.ownerDocument) !== a) null == c ? a.defaultValue = "" + a._wrapperState.initialValue : a.defaultValue !== "" + c && (a.defaultValue = "" + c); +} +var eb = Array.isArray; +function fb(a, b, c, d) { + a = a.options; + if (b) { + b = {}; + for (var e = 0; e < c.length; e++) b["$" + c[e]] = !0; + for (c = 0; c < a.length; c++) e = b.hasOwnProperty("$" + a[c].value), a[c].selected !== e && (a[c].selected = e), e && d && (a[c].defaultSelected = !0); + } else { + c = "" + Sa(c); + b = null; + for (e = 0; e < a.length; e++) { + if (a[e].value === c) { + a[e].selected = !0; + d && (a[e].defaultSelected = !0); + return; + } + null !== b || a[e].disabled || (b = a[e]); + } + null !== b && (b.selected = !0); + } +} +function gb(a, b) { + if (null != b.dangerouslySetInnerHTML) throw Error(p(91)); + return A({}, b, { + value: void 0, + defaultValue: void 0, + children: "" + a._wrapperState.initialValue + }); +} +function hb(a, b) { + var c = b.value; + if (null == c) { + c = b.children; + b = b.defaultValue; + if (null != c) { + if (null != b) throw Error(p(92)); + if (eb(c)) { + if (1 < c.length) throw Error(p(93)); + c = c[0]; + } + b = c; + } + null == b && (b = ""); + c = b; + } + a._wrapperState = { + initialValue: Sa(c) + }; +} +function ib(a, b) { + var c = Sa(b.value), + d = Sa(b.defaultValue); + null != c && (c = "" + c, c !== a.value && (a.value = c), null == b.defaultValue && a.defaultValue !== c && (a.defaultValue = c)); + null != d && (a.defaultValue = "" + d); +} +function jb(a) { + var b = a.textContent; + b === a._wrapperState.initialValue && "" !== b && null !== b && (a.value = b); +} +function kb(a) { + switch (a) { + case "svg": + return "http://www.w3.org/2000/svg"; + case "math": + return "http://www.w3.org/1998/Math/MathML"; + default: + return "http://www.w3.org/1999/xhtml"; + } +} +function lb(a, b) { + return null == a || "http://www.w3.org/1999/xhtml" === a ? kb(b) : "http://www.w3.org/2000/svg" === a && "foreignObject" === b ? "http://www.w3.org/1999/xhtml" : a; +} +var mb, + nb = function (a) { + return "undefined" !== typeof MSApp && MSApp.execUnsafeLocalFunction ? function (b, c, d, e) { + MSApp.execUnsafeLocalFunction(function () { + return a(b, c, d, e); + }); + } : a; + }(function (a, b) { + if ("http://www.w3.org/2000/svg" !== a.namespaceURI || "innerHTML" in a) a.innerHTML = b;else { + mb = mb || document.createElement("div"); + mb.innerHTML = "" + b.valueOf().toString() + ""; + for (b = mb.firstChild; a.firstChild;) a.removeChild(a.firstChild); + for (; b.firstChild;) a.appendChild(b.firstChild); + } + }); +function ob(a, b) { + if (b) { + var c = a.firstChild; + if (c && c === a.lastChild && 3 === c.nodeType) { + c.nodeValue = b; + return; + } + } + a.textContent = b; +} +var pb = { + animationIterationCount: !0, + aspectRatio: !0, + borderImageOutset: !0, + borderImageSlice: !0, + borderImageWidth: !0, + boxFlex: !0, + boxFlexGroup: !0, + boxOrdinalGroup: !0, + columnCount: !0, + columns: !0, + flex: !0, + flexGrow: !0, + flexPositive: !0, + flexShrink: !0, + flexNegative: !0, + flexOrder: !0, + gridArea: !0, + gridRow: !0, + gridRowEnd: !0, + gridRowSpan: !0, + gridRowStart: !0, + gridColumn: !0, + gridColumnEnd: !0, + gridColumnSpan: !0, + gridColumnStart: !0, + fontWeight: !0, + lineClamp: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + tabSize: !0, + widows: !0, + zIndex: !0, + zoom: !0, + fillOpacity: !0, + floodOpacity: !0, + stopOpacity: !0, + strokeDasharray: !0, + strokeDashoffset: !0, + strokeMiterlimit: !0, + strokeOpacity: !0, + strokeWidth: !0 + }, + qb = ["Webkit", "ms", "Moz", "O"]; +Object.keys(pb).forEach(function (a) { + qb.forEach(function (b) { + b = b + a.charAt(0).toUpperCase() + a.substring(1); + pb[b] = pb[a]; + }); +}); +function rb(a, b, c) { + return null == b || "boolean" === typeof b || "" === b ? "" : c || "number" !== typeof b || 0 === b || pb.hasOwnProperty(a) && pb[a] ? ("" + b).trim() : b + "px"; +} +function sb(a, b) { + a = a.style; + for (var c in b) if (b.hasOwnProperty(c)) { + var d = 0 === c.indexOf("--"), + e = rb(c, b[c], d); + "float" === c && (c = "cssFloat"); + d ? a.setProperty(c, e) : a[c] = e; + } +} +var tb = A({ + menuitem: !0 +}, { + area: !0, + base: !0, + br: !0, + col: !0, + embed: !0, + hr: !0, + img: !0, + input: !0, + keygen: !0, + link: !0, + meta: !0, + param: !0, + source: !0, + track: !0, + wbr: !0 +}); +function ub(a, b) { + if (b) { + if (tb[a] && (null != b.children || null != b.dangerouslySetInnerHTML)) throw Error(p(137, a)); + if (null != b.dangerouslySetInnerHTML) { + if (null != b.children) throw Error(p(60)); + if ("object" !== typeof b.dangerouslySetInnerHTML || !("__html" in b.dangerouslySetInnerHTML)) throw Error(p(61)); + } + if (null != b.style && "object" !== typeof b.style) throw Error(p(62)); + } +} +function vb(a, b) { + if (-1 === a.indexOf("-")) return "string" === typeof b.is; + switch (a) { + case "annotation-xml": + case "color-profile": + case "font-face": + case "font-face-src": + case "font-face-uri": + case "font-face-format": + case "font-face-name": + case "missing-glyph": + return !1; + default: + return !0; + } +} +var wb = null; +function xb(a) { + a = a.target || a.srcElement || window; + a.correspondingUseElement && (a = a.correspondingUseElement); + return 3 === a.nodeType ? a.parentNode : a; +} +var yb = null, + zb = null, + Ab = null; +function Bb(a) { + if (a = Cb(a)) { + if ("function" !== typeof yb) throw Error(p(280)); + var b = a.stateNode; + b && (b = Db(b), yb(a.stateNode, a.type, b)); + } +} +function Eb(a) { + zb ? Ab ? Ab.push(a) : Ab = [a] : zb = a; +} +function Fb() { + if (zb) { + var a = zb, + b = Ab; + Ab = zb = null; + Bb(a); + if (b) for (a = 0; a < b.length; a++) Bb(b[a]); + } +} +function Gb(a, b) { + return a(b); +} +function Hb() {} +var Ib = !1; +function Jb(a, b, c) { + if (Ib) return a(b, c); + Ib = !0; + try { + return Gb(a, b, c); + } finally { + if (Ib = !1, null !== zb || null !== Ab) Hb(), Fb(); + } +} +function Kb(a, b) { + var c = a.stateNode; + if (null === c) return null; + var d = Db(c); + if (null === d) return null; + c = d[b]; + a: switch (b) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + case "onMouseEnter": + (d = !d.disabled) || (a = a.type, d = !("button" === a || "input" === a || "select" === a || "textarea" === a)); + a = !d; + break a; + default: + a = !1; + } + if (a) return null; + if (c && "function" !== typeof c) throw Error(p(231, b, typeof c)); + return c; +} +var Lb = !1; +if (ia) try { + var Mb = {}; + Object.defineProperty(Mb, "passive", { + get: function get() { + Lb = !0; + } + }); + window.addEventListener("test", Mb, Mb); + window.removeEventListener("test", Mb, Mb); +} catch (a) { + Lb = !1; +} +function Nb(a, b, c, d, e, f, g, h, k) { + var l = Array.prototype.slice.call(arguments, 3); + try { + b.apply(c, l); + } catch (m) { + this.onError(m); + } +} +var Ob = !1, + Pb = null, + Qb = !1, + Rb = null, + Sb = { + onError: function onError(a) { + Ob = !0; + Pb = a; + } + }; +function Tb(a, b, c, d, e, f, g, h, k) { + Ob = !1; + Pb = null; + Nb.apply(Sb, arguments); +} +function Ub(a, b, c, d, e, f, g, h, k) { + Tb.apply(this, arguments); + if (Ob) { + if (Ob) { + var l = Pb; + Ob = !1; + Pb = null; + } else throw Error(p(198)); + Qb || (Qb = !0, Rb = l); + } +} +function Vb(a) { + var b = a, + c = a; + if (a.alternate) for (; b.return;) b = b.return;else { + a = b; + do b = a, 0 !== (b.flags & 4098) && (c = b.return), a = b.return; while (a); + } + return 3 === b.tag ? c : null; +} +function Wb(a) { + if (13 === a.tag) { + var b = a.memoizedState; + null === b && (a = a.alternate, null !== a && (b = a.memoizedState)); + if (null !== b) return b.dehydrated; + } + return null; +} +function Xb(a) { + if (Vb(a) !== a) throw Error(p(188)); +} +function Yb(a) { + var b = a.alternate; + if (!b) { + b = Vb(a); + if (null === b) throw Error(p(188)); + return b !== a ? null : a; + } + for (var c = a, d = b;;) { + var e = c.return; + if (null === e) break; + var f = e.alternate; + if (null === f) { + d = e.return; + if (null !== d) { + c = d; + continue; + } + break; + } + if (e.child === f.child) { + for (f = e.child; f;) { + if (f === c) return Xb(e), a; + if (f === d) return Xb(e), b; + f = f.sibling; + } + throw Error(p(188)); + } + if (c.return !== d.return) c = e, d = f;else { + for (var g = !1, h = e.child; h;) { + if (h === c) { + g = !0; + c = e; + d = f; + break; + } + if (h === d) { + g = !0; + d = e; + c = f; + break; + } + h = h.sibling; + } + if (!g) { + for (h = f.child; h;) { + if (h === c) { + g = !0; + c = f; + d = e; + break; + } + if (h === d) { + g = !0; + d = f; + c = e; + break; + } + h = h.sibling; + } + if (!g) throw Error(p(189)); + } + } + if (c.alternate !== d) throw Error(p(190)); + } + if (3 !== c.tag) throw Error(p(188)); + return c.stateNode.current === c ? a : b; +} +function Zb(a) { + a = Yb(a); + return null !== a ? $b(a) : null; +} +function $b(a) { + if (5 === a.tag || 6 === a.tag) return a; + for (a = a.child; null !== a;) { + var b = $b(a); + if (null !== b) return b; + a = a.sibling; + } + return null; +} +var ac = ca.unstable_scheduleCallback, + bc = ca.unstable_cancelCallback, + cc = ca.unstable_shouldYield, + dc = ca.unstable_requestPaint, + B = ca.unstable_now, + ec = ca.unstable_getCurrentPriorityLevel, + fc = ca.unstable_ImmediatePriority, + gc = ca.unstable_UserBlockingPriority, + hc = ca.unstable_NormalPriority, + ic = ca.unstable_LowPriority, + jc = ca.unstable_IdlePriority, + kc = null, + lc = null; +function mc(a) { + if (lc && "function" === typeof lc.onCommitFiberRoot) try { + lc.onCommitFiberRoot(kc, a, void 0, 128 === (a.current.flags & 128)); + } catch (b) {} +} +var oc = Math.clz32 ? Math.clz32 : nc, + pc = Math.log, + qc = Math.LN2; +function nc(a) { + a >>>= 0; + return 0 === a ? 32 : 31 - (pc(a) / qc | 0) | 0; +} +var rc = 64, + sc = 4194304; +function tc(a) { + switch (a & -a) { + case 1: + return 1; + case 2: + return 2; + case 4: + return 4; + case 8: + return 8; + case 16: + return 16; + case 32: + return 32; + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return a & 4194240; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + case 67108864: + return a & 130023424; + case 134217728: + return 134217728; + case 268435456: + return 268435456; + case 536870912: + return 536870912; + case 1073741824: + return 1073741824; + default: + return a; + } +} +function uc(a, b) { + var c = a.pendingLanes; + if (0 === c) return 0; + var d = 0, + e = a.suspendedLanes, + f = a.pingedLanes, + g = c & 268435455; + if (0 !== g) { + var h = g & ~e; + 0 !== h ? d = tc(h) : (f &= g, 0 !== f && (d = tc(f))); + } else g = c & ~e, 0 !== g ? d = tc(g) : 0 !== f && (d = tc(f)); + if (0 === d) return 0; + if (0 !== b && b !== d && 0 === (b & e) && (e = d & -d, f = b & -b, e >= f || 16 === e && 0 !== (f & 4194240))) return b; + 0 !== (d & 4) && (d |= c & 16); + b = a.entangledLanes; + if (0 !== b) for (a = a.entanglements, b &= d; 0 < b;) c = 31 - oc(b), e = 1 << c, d |= a[c], b &= ~e; + return d; +} +function vc(a, b) { + switch (a) { + case 1: + case 2: + case 4: + return b + 250; + case 8: + case 16: + case 32: + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return b + 5E3; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + case 67108864: + return -1; + case 134217728: + case 268435456: + case 536870912: + case 1073741824: + return -1; + default: + return -1; + } +} +function wc(a, b) { + for (var c = a.suspendedLanes, d = a.pingedLanes, e = a.expirationTimes, f = a.pendingLanes; 0 < f;) { + var g = 31 - oc(f), + h = 1 << g, + k = e[g]; + if (-1 === k) { + if (0 === (h & c) || 0 !== (h & d)) e[g] = vc(h, b); + } else k <= b && (a.expiredLanes |= h); + f &= ~h; + } +} +function xc(a) { + a = a.pendingLanes & -1073741825; + return 0 !== a ? a : a & 1073741824 ? 1073741824 : 0; +} +function yc() { + var a = rc; + rc <<= 1; + 0 === (rc & 4194240) && (rc = 64); + return a; +} +function zc(a) { + for (var b = [], c = 0; 31 > c; c++) b.push(a); + return b; +} +function Ac(a, b, c) { + a.pendingLanes |= b; + 536870912 !== b && (a.suspendedLanes = 0, a.pingedLanes = 0); + a = a.eventTimes; + b = 31 - oc(b); + a[b] = c; +} +function Bc(a, b) { + var c = a.pendingLanes & ~b; + a.pendingLanes = b; + a.suspendedLanes = 0; + a.pingedLanes = 0; + a.expiredLanes &= b; + a.mutableReadLanes &= b; + a.entangledLanes &= b; + b = a.entanglements; + var d = a.eventTimes; + for (a = a.expirationTimes; 0 < c;) { + var e = 31 - oc(c), + f = 1 << e; + b[e] = 0; + d[e] = -1; + a[e] = -1; + c &= ~f; + } +} +function Cc(a, b) { + var c = a.entangledLanes |= b; + for (a = a.entanglements; c;) { + var d = 31 - oc(c), + e = 1 << d; + e & b | a[d] & b && (a[d] |= b); + c &= ~e; + } +} +var C = 0; +function Dc(a) { + a &= -a; + return 1 < a ? 4 < a ? 0 !== (a & 268435455) ? 16 : 536870912 : 4 : 1; +} +var Ec, + Fc, + Gc, + Hc, + Ic, + Jc = !1, + Kc = [], + Lc = null, + Mc = null, + Nc = null, + Oc = new Map(), + Pc = new Map(), + Qc = [], + Rc = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" "); +function Sc(a, b) { + switch (a) { + case "focusin": + case "focusout": + Lc = null; + break; + case "dragenter": + case "dragleave": + Mc = null; + break; + case "mouseover": + case "mouseout": + Nc = null; + break; + case "pointerover": + case "pointerout": + Oc.delete(b.pointerId); + break; + case "gotpointercapture": + case "lostpointercapture": + Pc.delete(b.pointerId); + } +} +function Tc(a, b, c, d, e, f) { + if (null === a || a.nativeEvent !== f) return a = { + blockedOn: b, + domEventName: c, + eventSystemFlags: d, + nativeEvent: f, + targetContainers: [e] + }, null !== b && (b = Cb(b), null !== b && Fc(b)), a; + a.eventSystemFlags |= d; + b = a.targetContainers; + null !== e && -1 === b.indexOf(e) && b.push(e); + return a; +} +function Uc(a, b, c, d, e) { + switch (b) { + case "focusin": + return Lc = Tc(Lc, a, b, c, d, e), !0; + case "dragenter": + return Mc = Tc(Mc, a, b, c, d, e), !0; + case "mouseover": + return Nc = Tc(Nc, a, b, c, d, e), !0; + case "pointerover": + var f = e.pointerId; + Oc.set(f, Tc(Oc.get(f) || null, a, b, c, d, e)); + return !0; + case "gotpointercapture": + return f = e.pointerId, Pc.set(f, Tc(Pc.get(f) || null, a, b, c, d, e)), !0; + } + return !1; +} +function Vc(a) { + var b = Wc(a.target); + if (null !== b) { + var c = Vb(b); + if (null !== c) if (b = c.tag, 13 === b) { + if (b = Wb(c), null !== b) { + a.blockedOn = b; + Ic(a.priority, function () { + Gc(c); + }); + return; + } + } else if (3 === b && c.stateNode.current.memoizedState.isDehydrated) { + a.blockedOn = 3 === c.tag ? c.stateNode.containerInfo : null; + return; + } + } + a.blockedOn = null; +} +function Xc(a) { + if (null !== a.blockedOn) return !1; + for (var b = a.targetContainers; 0 < b.length;) { + var c = Yc(a.domEventName, a.eventSystemFlags, b[0], a.nativeEvent); + if (null === c) { + c = a.nativeEvent; + var d = new c.constructor(c.type, c); + wb = d; + c.target.dispatchEvent(d); + wb = null; + } else return b = Cb(c), null !== b && Fc(b), a.blockedOn = c, !1; + b.shift(); + } + return !0; +} +function Zc(a, b, c) { + Xc(a) && c.delete(b); +} +function $c() { + Jc = !1; + null !== Lc && Xc(Lc) && (Lc = null); + null !== Mc && Xc(Mc) && (Mc = null); + null !== Nc && Xc(Nc) && (Nc = null); + Oc.forEach(Zc); + Pc.forEach(Zc); +} +function ad(a, b) { + a.blockedOn === b && (a.blockedOn = null, Jc || (Jc = !0, ca.unstable_scheduleCallback(ca.unstable_NormalPriority, $c))); +} +function bd(a) { + function b(b) { + return ad(b, a); + } + if (0 < Kc.length) { + ad(Kc[0], a); + for (var c = 1; c < Kc.length; c++) { + var d = Kc[c]; + d.blockedOn === a && (d.blockedOn = null); + } + } + null !== Lc && ad(Lc, a); + null !== Mc && ad(Mc, a); + null !== Nc && ad(Nc, a); + Oc.forEach(b); + Pc.forEach(b); + for (c = 0; c < Qc.length; c++) d = Qc[c], d.blockedOn === a && (d.blockedOn = null); + for (; 0 < Qc.length && (c = Qc[0], null === c.blockedOn);) Vc(c), null === c.blockedOn && Qc.shift(); +} +var cd = ua.ReactCurrentBatchConfig, + dd = !0; +function ed(a, b, c, d) { + var e = C, + f = cd.transition; + cd.transition = null; + try { + C = 1, fd(a, b, c, d); + } finally { + C = e, cd.transition = f; + } +} +function gd(a, b, c, d) { + var e = C, + f = cd.transition; + cd.transition = null; + try { + C = 4, fd(a, b, c, d); + } finally { + C = e, cd.transition = f; + } +} +function fd(a, b, c, d) { + if (dd) { + var e = Yc(a, b, c, d); + if (null === e) hd(a, b, d, id, c), Sc(a, d);else if (Uc(e, a, b, c, d)) d.stopPropagation();else if (Sc(a, d), b & 4 && -1 < Rc.indexOf(a)) { + for (; null !== e;) { + var f = Cb(e); + null !== f && Ec(f); + f = Yc(a, b, c, d); + null === f && hd(a, b, d, id, c); + if (f === e) break; + e = f; + } + null !== e && d.stopPropagation(); + } else hd(a, b, d, null, c); + } +} +var id = null; +function Yc(a, b, c, d) { + id = null; + a = xb(d); + a = Wc(a); + if (null !== a) if (b = Vb(a), null === b) a = null;else if (c = b.tag, 13 === c) { + a = Wb(b); + if (null !== a) return a; + a = null; + } else if (3 === c) { + if (b.stateNode.current.memoizedState.isDehydrated) return 3 === b.tag ? b.stateNode.containerInfo : null; + a = null; + } else b !== a && (a = null); + id = a; + return null; +} +function jd(a) { + switch (a) { + case "cancel": + case "click": + case "close": + case "contextmenu": + case "copy": + case "cut": + case "auxclick": + case "dblclick": + case "dragend": + case "dragstart": + case "drop": + case "focusin": + case "focusout": + case "input": + case "invalid": + case "keydown": + case "keypress": + case "keyup": + case "mousedown": + case "mouseup": + case "paste": + case "pause": + case "play": + case "pointercancel": + case "pointerdown": + case "pointerup": + case "ratechange": + case "reset": + case "resize": + case "seeked": + case "submit": + case "touchcancel": + case "touchend": + case "touchstart": + case "volumechange": + case "change": + case "selectionchange": + case "textInput": + case "compositionstart": + case "compositionend": + case "compositionupdate": + case "beforeblur": + case "afterblur": + case "beforeinput": + case "blur": + case "fullscreenchange": + case "focus": + case "hashchange": + case "popstate": + case "select": + case "selectstart": + return 1; + case "drag": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "mousemove": + case "mouseout": + case "mouseover": + case "pointermove": + case "pointerout": + case "pointerover": + case "scroll": + case "toggle": + case "touchmove": + case "wheel": + case "mouseenter": + case "mouseleave": + case "pointerenter": + case "pointerleave": + return 4; + case "message": + switch (ec()) { + case fc: + return 1; + case gc: + return 4; + case hc: + case ic: + return 16; + case jc: + return 536870912; + default: + return 16; + } + default: + return 16; + } +} +var kd = null, + ld = null, + md = null; +function nd() { + if (md) return md; + var a, + b = ld, + c = b.length, + d, + e = "value" in kd ? kd.value : kd.textContent, + f = e.length; + for (a = 0; a < c && b[a] === e[a]; a++); + var g = c - a; + for (d = 1; d <= g && b[c - d] === e[f - d]; d++); + return md = e.slice(a, 1 < d ? 1 - d : void 0); +} +function od(a) { + var b = a.keyCode; + "charCode" in a ? (a = a.charCode, 0 === a && 13 === b && (a = 13)) : a = b; + 10 === a && (a = 13); + return 32 <= a || 13 === a ? a : 0; +} +function pd() { + return !0; +} +function qd() { + return !1; +} +function rd(a) { + function b(b, d, e, f, g) { + this._reactName = b; + this._targetInst = e; + this.type = d; + this.nativeEvent = f; + this.target = g; + this.currentTarget = null; + for (var c in a) a.hasOwnProperty(c) && (b = a[c], this[c] = b ? b(f) : f[c]); + this.isDefaultPrevented = (null != f.defaultPrevented ? f.defaultPrevented : !1 === f.returnValue) ? pd : qd; + this.isPropagationStopped = qd; + return this; + } + A(b.prototype, { + preventDefault: function preventDefault() { + this.defaultPrevented = !0; + var a = this.nativeEvent; + a && (a.preventDefault ? a.preventDefault() : "unknown" !== typeof a.returnValue && (a.returnValue = !1), this.isDefaultPrevented = pd); + }, + stopPropagation: function stopPropagation() { + var a = this.nativeEvent; + a && (a.stopPropagation ? a.stopPropagation() : "unknown" !== typeof a.cancelBubble && (a.cancelBubble = !0), this.isPropagationStopped = pd); + }, + persist: function persist() {}, + isPersistent: pd + }); + return b; +} +var sd = { + eventPhase: 0, + bubbles: 0, + cancelable: 0, + timeStamp: function timeStamp(a) { + return a.timeStamp || Date.now(); + }, + defaultPrevented: 0, + isTrusted: 0 + }, + td = rd(sd), + ud = A({}, sd, { + view: 0, + detail: 0 + }), + vd = rd(ud), + wd, + xd, + yd, + Ad = A({}, ud, { + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0, + pageX: 0, + pageY: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + getModifierState: zd, + button: 0, + buttons: 0, + relatedTarget: function relatedTarget(a) { + return void 0 === a.relatedTarget ? a.fromElement === a.srcElement ? a.toElement : a.fromElement : a.relatedTarget; + }, + movementX: function movementX(a) { + if ("movementX" in a) return a.movementX; + a !== yd && (yd && "mousemove" === a.type ? (wd = a.screenX - yd.screenX, xd = a.screenY - yd.screenY) : xd = wd = 0, yd = a); + return wd; + }, + movementY: function movementY(a) { + return "movementY" in a ? a.movementY : xd; + } + }), + Bd = rd(Ad), + Cd = A({}, Ad, { + dataTransfer: 0 + }), + Dd = rd(Cd), + Ed = A({}, ud, { + relatedTarget: 0 + }), + Fd = rd(Ed), + Gd = A({}, sd, { + animationName: 0, + elapsedTime: 0, + pseudoElement: 0 + }), + Hd = rd(Gd), + Id = A({}, sd, { + clipboardData: function clipboardData(a) { + return "clipboardData" in a ? a.clipboardData : window.clipboardData; + } + }), + Jd = rd(Id), + Kd = A({}, sd, { + data: 0 + }), + Ld = rd(Kd), + Md = { + Esc: "Escape", + Spacebar: " ", + Left: "ArrowLeft", + Up: "ArrowUp", + Right: "ArrowRight", + Down: "ArrowDown", + Del: "Delete", + Win: "OS", + Menu: "ContextMenu", + Apps: "ContextMenu", + Scroll: "ScrollLock", + MozPrintableKey: "Unidentified" + }, + Nd = { + 8: "Backspace", + 9: "Tab", + 12: "Clear", + 13: "Enter", + 16: "Shift", + 17: "Control", + 18: "Alt", + 19: "Pause", + 20: "CapsLock", + 27: "Escape", + 32: " ", + 33: "PageUp", + 34: "PageDown", + 35: "End", + 36: "Home", + 37: "ArrowLeft", + 38: "ArrowUp", + 39: "ArrowRight", + 40: "ArrowDown", + 45: "Insert", + 46: "Delete", + 112: "F1", + 113: "F2", + 114: "F3", + 115: "F4", + 116: "F5", + 117: "F6", + 118: "F7", + 119: "F8", + 120: "F9", + 121: "F10", + 122: "F11", + 123: "F12", + 144: "NumLock", + 145: "ScrollLock", + 224: "Meta" + }, + Od = { + Alt: "altKey", + Control: "ctrlKey", + Meta: "metaKey", + Shift: "shiftKey" + }; +function Pd(a) { + var b = this.nativeEvent; + return b.getModifierState ? b.getModifierState(a) : (a = Od[a]) ? !!b[a] : !1; +} +function zd() { + return Pd; +} +var Qd = A({}, ud, { + key: function key(a) { + if (a.key) { + var b = Md[a.key] || a.key; + if ("Unidentified" !== b) return b; + } + return "keypress" === a.type ? (a = od(a), 13 === a ? "Enter" : String.fromCharCode(a)) : "keydown" === a.type || "keyup" === a.type ? Nd[a.keyCode] || "Unidentified" : ""; + }, + code: 0, + location: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + repeat: 0, + locale: 0, + getModifierState: zd, + charCode: function charCode(a) { + return "keypress" === a.type ? od(a) : 0; + }, + keyCode: function keyCode(a) { + return "keydown" === a.type || "keyup" === a.type ? a.keyCode : 0; + }, + which: function which(a) { + return "keypress" === a.type ? od(a) : "keydown" === a.type || "keyup" === a.type ? a.keyCode : 0; + } + }), + Rd = rd(Qd), + Sd = A({}, Ad, { + pointerId: 0, + width: 0, + height: 0, + pressure: 0, + tangentialPressure: 0, + tiltX: 0, + tiltY: 0, + twist: 0, + pointerType: 0, + isPrimary: 0 + }), + Td = rd(Sd), + Ud = A({}, ud, { + touches: 0, + targetTouches: 0, + changedTouches: 0, + altKey: 0, + metaKey: 0, + ctrlKey: 0, + shiftKey: 0, + getModifierState: zd + }), + Vd = rd(Ud), + Wd = A({}, sd, { + propertyName: 0, + elapsedTime: 0, + pseudoElement: 0 + }), + Xd = rd(Wd), + Yd = A({}, Ad, { + deltaX: function deltaX(a) { + return "deltaX" in a ? a.deltaX : "wheelDeltaX" in a ? -a.wheelDeltaX : 0; + }, + deltaY: function deltaY(a) { + return "deltaY" in a ? a.deltaY : "wheelDeltaY" in a ? -a.wheelDeltaY : "wheelDelta" in a ? -a.wheelDelta : 0; + }, + deltaZ: 0, + deltaMode: 0 + }), + Zd = rd(Yd), + $d = [9, 13, 27, 32], + ae = ia && "CompositionEvent" in window, + be = null; +ia && "documentMode" in document && (be = document.documentMode); +var ce = ia && "TextEvent" in window && !be, + de = ia && (!ae || be && 8 < be && 11 >= be), + ee = String.fromCharCode(32), + fe = !1; +function ge(a, b) { + switch (a) { + case "keyup": + return -1 !== $d.indexOf(b.keyCode); + case "keydown": + return 229 !== b.keyCode; + case "keypress": + case "mousedown": + case "focusout": + return !0; + default: + return !1; + } +} +function he(a) { + a = a.detail; + return "object" === typeof a && "data" in a ? a.data : null; +} +var ie = !1; +function je(a, b) { + switch (a) { + case "compositionend": + return he(b); + case "keypress": + if (32 !== b.which) return null; + fe = !0; + return ee; + case "textInput": + return a = b.data, a === ee && fe ? null : a; + default: + return null; + } +} +function ke(a, b) { + if (ie) return "compositionend" === a || !ae && ge(a, b) ? (a = nd(), md = ld = kd = null, ie = !1, a) : null; + switch (a) { + case "paste": + return null; + case "keypress": + if (!(b.ctrlKey || b.altKey || b.metaKey) || b.ctrlKey && b.altKey) { + if (b.char && 1 < b.char.length) return b.char; + if (b.which) return String.fromCharCode(b.which); + } + return null; + case "compositionend": + return de && "ko" !== b.locale ? null : b.data; + default: + return null; + } +} +var le = { + color: !0, + date: !0, + datetime: !0, + "datetime-local": !0, + email: !0, + month: !0, + number: !0, + password: !0, + range: !0, + search: !0, + tel: !0, + text: !0, + time: !0, + url: !0, + week: !0 +}; +function me(a) { + var b = a && a.nodeName && a.nodeName.toLowerCase(); + return "input" === b ? !!le[a.type] : "textarea" === b ? !0 : !1; +} +function ne(a, b, c, d) { + Eb(d); + b = oe(b, "onChange"); + 0 < b.length && (c = new td("onChange", "change", null, c, d), a.push({ + event: c, + listeners: b + })); +} +var pe = null, + qe = null; +function re(a) { + se(a, 0); +} +function te(a) { + var b = ue(a); + if (Wa(b)) return a; +} +function ve(a, b) { + if ("change" === a) return b; +} +var we = !1; +if (ia) { + var xe; + if (ia) { + var ye = ("oninput" in document); + if (!ye) { + var ze = document.createElement("div"); + ze.setAttribute("oninput", "return;"); + ye = "function" === typeof ze.oninput; + } + xe = ye; + } else xe = !1; + we = xe && (!document.documentMode || 9 < document.documentMode); +} +function Ae() { + pe && (pe.detachEvent("onpropertychange", Be), qe = pe = null); +} +function Be(a) { + if ("value" === a.propertyName && te(qe)) { + var b = []; + ne(b, qe, a, xb(a)); + Jb(re, b); + } +} +function Ce(a, b, c) { + "focusin" === a ? (Ae(), pe = b, qe = c, pe.attachEvent("onpropertychange", Be)) : "focusout" === a && Ae(); +} +function De(a) { + if ("selectionchange" === a || "keyup" === a || "keydown" === a) return te(qe); +} +function Ee(a, b) { + if ("click" === a) return te(b); +} +function Fe(a, b) { + if ("input" === a || "change" === a) return te(b); +} +function Ge(a, b) { + return a === b && (0 !== a || 1 / a === 1 / b) || a !== a && b !== b; +} +var He = "function" === typeof Object.is ? Object.is : Ge; +function Ie(a, b) { + if (He(a, b)) return !0; + if ("object" !== typeof a || null === a || "object" !== typeof b || null === b) return !1; + var c = Object.keys(a), + d = Object.keys(b); + if (c.length !== d.length) return !1; + for (d = 0; d < c.length; d++) { + var e = c[d]; + if (!ja.call(b, e) || !He(a[e], b[e])) return !1; + } + return !0; +} +function Je(a) { + for (; a && a.firstChild;) a = a.firstChild; + return a; +} +function Ke(a, b) { + var c = Je(a); + a = 0; + for (var d; c;) { + if (3 === c.nodeType) { + d = a + c.textContent.length; + if (a <= b && d >= b) return { + node: c, + offset: b - a + }; + a = d; + } + a: { + for (; c;) { + if (c.nextSibling) { + c = c.nextSibling; + break a; + } + c = c.parentNode; + } + c = void 0; + } + c = Je(c); + } +} +function Le(a, b) { + return a && b ? a === b ? !0 : a && 3 === a.nodeType ? !1 : b && 3 === b.nodeType ? Le(a, b.parentNode) : "contains" in a ? a.contains(b) : a.compareDocumentPosition ? !!(a.compareDocumentPosition(b) & 16) : !1 : !1; +} +function Me() { + for (var a = window, b = Xa(); b instanceof a.HTMLIFrameElement;) { + try { + var c = "string" === typeof b.contentWindow.location.href; + } catch (d) { + c = !1; + } + if (c) a = b.contentWindow;else break; + b = Xa(a.document); + } + return b; +} +function Ne(a) { + var b = a && a.nodeName && a.nodeName.toLowerCase(); + return b && ("input" === b && ("text" === a.type || "search" === a.type || "tel" === a.type || "url" === a.type || "password" === a.type) || "textarea" === b || "true" === a.contentEditable); +} +function Oe(a) { + var b = Me(), + c = a.focusedElem, + d = a.selectionRange; + if (b !== c && c && c.ownerDocument && Le(c.ownerDocument.documentElement, c)) { + if (null !== d && Ne(c)) if (b = d.start, a = d.end, void 0 === a && (a = b), "selectionStart" in c) c.selectionStart = b, c.selectionEnd = Math.min(a, c.value.length);else if (a = (b = c.ownerDocument || document) && b.defaultView || window, a.getSelection) { + a = a.getSelection(); + var e = c.textContent.length, + f = Math.min(d.start, e); + d = void 0 === d.end ? f : Math.min(d.end, e); + !a.extend && f > d && (e = d, d = f, f = e); + e = Ke(c, f); + var g = Ke(c, d); + e && g && (1 !== a.rangeCount || a.anchorNode !== e.node || a.anchorOffset !== e.offset || a.focusNode !== g.node || a.focusOffset !== g.offset) && (b = b.createRange(), b.setStart(e.node, e.offset), a.removeAllRanges(), f > d ? (a.addRange(b), a.extend(g.node, g.offset)) : (b.setEnd(g.node, g.offset), a.addRange(b))); + } + b = []; + for (a = c; a = a.parentNode;) 1 === a.nodeType && b.push({ + element: a, + left: a.scrollLeft, + top: a.scrollTop + }); + "function" === typeof c.focus && c.focus(); + for (c = 0; c < b.length; c++) a = b[c], a.element.scrollLeft = a.left, a.element.scrollTop = a.top; + } +} +var Pe = ia && "documentMode" in document && 11 >= document.documentMode, + Qe = null, + Re = null, + Se = null, + Te = !1; +function Ue(a, b, c) { + var d = c.window === c ? c.document : 9 === c.nodeType ? c : c.ownerDocument; + Te || null == Qe || Qe !== Xa(d) || (d = Qe, "selectionStart" in d && Ne(d) ? d = { + start: d.selectionStart, + end: d.selectionEnd + } : (d = (d.ownerDocument && d.ownerDocument.defaultView || window).getSelection(), d = { + anchorNode: d.anchorNode, + anchorOffset: d.anchorOffset, + focusNode: d.focusNode, + focusOffset: d.focusOffset + }), Se && Ie(Se, d) || (Se = d, d = oe(Re, "onSelect"), 0 < d.length && (b = new td("onSelect", "select", null, b, c), a.push({ + event: b, + listeners: d + }), b.target = Qe))); +} +function Ve(a, b) { + var c = {}; + c[a.toLowerCase()] = b.toLowerCase(); + c["Webkit" + a] = "webkit" + b; + c["Moz" + a] = "moz" + b; + return c; +} +var We = { + animationend: Ve("Animation", "AnimationEnd"), + animationiteration: Ve("Animation", "AnimationIteration"), + animationstart: Ve("Animation", "AnimationStart"), + transitionend: Ve("Transition", "TransitionEnd") + }, + Xe = {}, + Ye = {}; +ia && (Ye = document.createElement("div").style, "AnimationEvent" in window || (delete We.animationend.animation, delete We.animationiteration.animation, delete We.animationstart.animation), "TransitionEvent" in window || delete We.transitionend.transition); +function Ze(a) { + if (Xe[a]) return Xe[a]; + if (!We[a]) return a; + var b = We[a], + c; + for (c in b) if (b.hasOwnProperty(c) && c in Ye) return Xe[a] = b[c]; + return a; +} +var $e = Ze("animationend"), + af = Ze("animationiteration"), + bf = Ze("animationstart"), + cf = Ze("transitionend"), + df = new Map(), + ef = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" "); +function ff(a, b) { + df.set(a, b); + fa(b, [a]); +} +for (var gf = 0; gf < ef.length; gf++) { + var hf = ef[gf], + jf = hf.toLowerCase(), + kf = hf[0].toUpperCase() + hf.slice(1); + ff(jf, "on" + kf); +} +ff($e, "onAnimationEnd"); +ff(af, "onAnimationIteration"); +ff(bf, "onAnimationStart"); +ff("dblclick", "onDoubleClick"); +ff("focusin", "onFocus"); +ff("focusout", "onBlur"); +ff(cf, "onTransitionEnd"); +ha("onMouseEnter", ["mouseout", "mouseover"]); +ha("onMouseLeave", ["mouseout", "mouseover"]); +ha("onPointerEnter", ["pointerout", "pointerover"]); +ha("onPointerLeave", ["pointerout", "pointerover"]); +fa("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" ")); +fa("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")); +fa("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]); +fa("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" ")); +fa("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" ")); +fa("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" ")); +var lf = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), + mf = new Set("cancel close invalid load scroll toggle".split(" ").concat(lf)); +function nf(a, b, c) { + var d = a.type || "unknown-event"; + a.currentTarget = c; + Ub(d, b, void 0, a); + a.currentTarget = null; +} +function se(a, b) { + b = 0 !== (b & 4); + for (var c = 0; c < a.length; c++) { + var d = a[c], + e = d.event; + d = d.listeners; + a: { + var f = void 0; + if (b) for (var g = d.length - 1; 0 <= g; g--) { + var h = d[g], + k = h.instance, + l = h.currentTarget; + h = h.listener; + if (k !== f && e.isPropagationStopped()) break a; + nf(e, h, l); + f = k; + } else for (g = 0; g < d.length; g++) { + h = d[g]; + k = h.instance; + l = h.currentTarget; + h = h.listener; + if (k !== f && e.isPropagationStopped()) break a; + nf(e, h, l); + f = k; + } + } + } + if (Qb) throw a = Rb, Qb = !1, Rb = null, a; +} +function D(a, b) { + var c = b[of]; + void 0 === c && (c = b[of] = new Set()); + var d = a + "__bubble"; + c.has(d) || (pf(b, a, 2, !1), c.add(d)); +} +function qf(a, b, c) { + var d = 0; + b && (d |= 4); + pf(c, a, d, b); +} +var rf = "_reactListening" + Math.random().toString(36).slice(2); +function sf(a) { + if (!a[rf]) { + a[rf] = !0; + da.forEach(function (b) { + "selectionchange" !== b && (mf.has(b) || qf(b, !1, a), qf(b, !0, a)); + }); + var b = 9 === a.nodeType ? a : a.ownerDocument; + null === b || b[rf] || (b[rf] = !0, qf("selectionchange", !1, b)); + } +} +function pf(a, b, c, d) { + switch (jd(b)) { + case 1: + var e = ed; + break; + case 4: + e = gd; + break; + default: + e = fd; + } + c = e.bind(null, b, c, a); + e = void 0; + !Lb || "touchstart" !== b && "touchmove" !== b && "wheel" !== b || (e = !0); + d ? void 0 !== e ? a.addEventListener(b, c, { + capture: !0, + passive: e + }) : a.addEventListener(b, c, !0) : void 0 !== e ? a.addEventListener(b, c, { + passive: e + }) : a.addEventListener(b, c, !1); +} +function hd(a, b, c, d, e) { + var f = d; + if (0 === (b & 1) && 0 === (b & 2) && null !== d) a: for (;;) { + if (null === d) return; + var g = d.tag; + if (3 === g || 4 === g) { + var h = d.stateNode.containerInfo; + if (h === e || 8 === h.nodeType && h.parentNode === e) break; + if (4 === g) for (g = d.return; null !== g;) { + var k = g.tag; + if (3 === k || 4 === k) if (k = g.stateNode.containerInfo, k === e || 8 === k.nodeType && k.parentNode === e) return; + g = g.return; + } + for (; null !== h;) { + g = Wc(h); + if (null === g) return; + k = g.tag; + if (5 === k || 6 === k) { + d = f = g; + continue a; + } + h = h.parentNode; + } + } + d = d.return; + } + Jb(function () { + var d = f, + e = xb(c), + g = []; + a: { + var h = df.get(a); + if (void 0 !== h) { + var k = td, + n = a; + switch (a) { + case "keypress": + if (0 === od(c)) break a; + case "keydown": + case "keyup": + k = Rd; + break; + case "focusin": + n = "focus"; + k = Fd; + break; + case "focusout": + n = "blur"; + k = Fd; + break; + case "beforeblur": + case "afterblur": + k = Fd; + break; + case "click": + if (2 === c.button) break a; + case "auxclick": + case "dblclick": + case "mousedown": + case "mousemove": + case "mouseup": + case "mouseout": + case "mouseover": + case "contextmenu": + k = Bd; + break; + case "drag": + case "dragend": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "dragstart": + case "drop": + k = Dd; + break; + case "touchcancel": + case "touchend": + case "touchmove": + case "touchstart": + k = Vd; + break; + case $e: + case af: + case bf: + k = Hd; + break; + case cf: + k = Xd; + break; + case "scroll": + k = vd; + break; + case "wheel": + k = Zd; + break; + case "copy": + case "cut": + case "paste": + k = Jd; + break; + case "gotpointercapture": + case "lostpointercapture": + case "pointercancel": + case "pointerdown": + case "pointermove": + case "pointerout": + case "pointerover": + case "pointerup": + k = Td; + } + var t = 0 !== (b & 4), + J = !t && "scroll" === a, + x = t ? null !== h ? h + "Capture" : null : h; + t = []; + for (var w = d, u; null !== w;) { + u = w; + var F = u.stateNode; + 5 === u.tag && null !== F && (u = F, null !== x && (F = Kb(w, x), null != F && t.push(tf(w, F, u)))); + if (J) break; + w = w.return; + } + 0 < t.length && (h = new k(h, n, null, c, e), g.push({ + event: h, + listeners: t + })); + } + } + if (0 === (b & 7)) { + a: { + h = "mouseover" === a || "pointerover" === a; + k = "mouseout" === a || "pointerout" === a; + if (h && c !== wb && (n = c.relatedTarget || c.fromElement) && (Wc(n) || n[uf])) break a; + if (k || h) { + h = e.window === e ? e : (h = e.ownerDocument) ? h.defaultView || h.parentWindow : window; + if (k) { + if (n = c.relatedTarget || c.toElement, k = d, n = n ? Wc(n) : null, null !== n && (J = Vb(n), n !== J || 5 !== n.tag && 6 !== n.tag)) n = null; + } else k = null, n = d; + if (k !== n) { + t = Bd; + F = "onMouseLeave"; + x = "onMouseEnter"; + w = "mouse"; + if ("pointerout" === a || "pointerover" === a) t = Td, F = "onPointerLeave", x = "onPointerEnter", w = "pointer"; + J = null == k ? h : ue(k); + u = null == n ? h : ue(n); + h = new t(F, w + "leave", k, c, e); + h.target = J; + h.relatedTarget = u; + F = null; + Wc(e) === d && (t = new t(x, w + "enter", n, c, e), t.target = u, t.relatedTarget = J, F = t); + J = F; + if (k && n) b: { + t = k; + x = n; + w = 0; + for (u = t; u; u = vf(u)) w++; + u = 0; + for (F = x; F; F = vf(F)) u++; + for (; 0 < w - u;) t = vf(t), w--; + for (; 0 < u - w;) x = vf(x), u--; + for (; w--;) { + if (t === x || null !== x && t === x.alternate) break b; + t = vf(t); + x = vf(x); + } + t = null; + } else t = null; + null !== k && wf(g, h, k, t, !1); + null !== n && null !== J && wf(g, J, n, t, !0); + } + } + } + a: { + h = d ? ue(d) : window; + k = h.nodeName && h.nodeName.toLowerCase(); + if ("select" === k || "input" === k && "file" === h.type) var na = ve;else if (me(h)) { + if (we) na = Fe;else { + na = De; + var xa = Ce; + } + } else (k = h.nodeName) && "input" === k.toLowerCase() && ("checkbox" === h.type || "radio" === h.type) && (na = Ee); + if (na && (na = na(a, d))) { + ne(g, na, c, e); + break a; + } + xa && xa(a, h, d); + "focusout" === a && (xa = h._wrapperState) && xa.controlled && "number" === h.type && cb(h, "number", h.value); + } + xa = d ? ue(d) : window; + switch (a) { + case "focusin": + if (me(xa) || "true" === xa.contentEditable) Qe = xa, Re = d, Se = null; + break; + case "focusout": + Se = Re = Qe = null; + break; + case "mousedown": + Te = !0; + break; + case "contextmenu": + case "mouseup": + case "dragend": + Te = !1; + Ue(g, c, e); + break; + case "selectionchange": + if (Pe) break; + case "keydown": + case "keyup": + Ue(g, c, e); + } + var $a; + if (ae) b: { + switch (a) { + case "compositionstart": + var ba = "onCompositionStart"; + break b; + case "compositionend": + ba = "onCompositionEnd"; + break b; + case "compositionupdate": + ba = "onCompositionUpdate"; + break b; + } + ba = void 0; + } else ie ? ge(a, c) && (ba = "onCompositionEnd") : "keydown" === a && 229 === c.keyCode && (ba = "onCompositionStart"); + ba && (de && "ko" !== c.locale && (ie || "onCompositionStart" !== ba ? "onCompositionEnd" === ba && ie && ($a = nd()) : (kd = e, ld = "value" in kd ? kd.value : kd.textContent, ie = !0)), xa = oe(d, ba), 0 < xa.length && (ba = new Ld(ba, a, null, c, e), g.push({ + event: ba, + listeners: xa + }), $a ? ba.data = $a : ($a = he(c), null !== $a && (ba.data = $a)))); + if ($a = ce ? je(a, c) : ke(a, c)) d = oe(d, "onBeforeInput"), 0 < d.length && (e = new Ld("onBeforeInput", "beforeinput", null, c, e), g.push({ + event: e, + listeners: d + }), e.data = $a); + } + se(g, b); + }); +} +function tf(a, b, c) { + return { + instance: a, + listener: b, + currentTarget: c + }; +} +function oe(a, b) { + for (var c = b + "Capture", d = []; null !== a;) { + var e = a, + f = e.stateNode; + 5 === e.tag && null !== f && (e = f, f = Kb(a, c), null != f && d.unshift(tf(a, f, e)), f = Kb(a, b), null != f && d.push(tf(a, f, e))); + a = a.return; + } + return d; +} +function vf(a) { + if (null === a) return null; + do a = a.return; while (a && 5 !== a.tag); + return a ? a : null; +} +function wf(a, b, c, d, e) { + for (var f = b._reactName, g = []; null !== c && c !== d;) { + var h = c, + k = h.alternate, + l = h.stateNode; + if (null !== k && k === d) break; + 5 === h.tag && null !== l && (h = l, e ? (k = Kb(c, f), null != k && g.unshift(tf(c, k, h))) : e || (k = Kb(c, f), null != k && g.push(tf(c, k, h)))); + c = c.return; + } + 0 !== g.length && a.push({ + event: b, + listeners: g + }); +} +var xf = /\r\n?/g, + yf = /\u0000|\uFFFD/g; +function zf(a) { + return ("string" === typeof a ? a : "" + a).replace(xf, "\n").replace(yf, ""); +} +function Af(a, b, c) { + b = zf(b); + if (zf(a) !== b && c) throw Error(p(425)); +} +function Bf() {} +var Cf = null, + Df = null; +function Ef(a, b) { + return "textarea" === a || "noscript" === a || "string" === typeof b.children || "number" === typeof b.children || "object" === typeof b.dangerouslySetInnerHTML && null !== b.dangerouslySetInnerHTML && null != b.dangerouslySetInnerHTML.__html; +} +var Ff = "function" === typeof setTimeout ? setTimeout : void 0, + Gf = "function" === typeof clearTimeout ? clearTimeout : void 0, + Hf = "function" === typeof Promise ? Promise : void 0, + Jf = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof Hf ? function (a) { + return Hf.resolve(null).then(a).catch(If); + } : Ff; +function If(a) { + setTimeout(function () { + throw a; + }); +} +function Kf(a, b) { + var c = b, + d = 0; + do { + var e = c.nextSibling; + a.removeChild(c); + if (e && 8 === e.nodeType) if (c = e.data, "/$" === c) { + if (0 === d) { + a.removeChild(e); + bd(b); + return; + } + d--; + } else "$" !== c && "$?" !== c && "$!" !== c || d++; + c = e; + } while (c); + bd(b); +} +function Lf(a) { + for (; null != a; a = a.nextSibling) { + var b = a.nodeType; + if (1 === b || 3 === b) break; + if (8 === b) { + b = a.data; + if ("$" === b || "$!" === b || "$?" === b) break; + if ("/$" === b) return null; + } + } + return a; +} +function Mf(a) { + a = a.previousSibling; + for (var b = 0; a;) { + if (8 === a.nodeType) { + var c = a.data; + if ("$" === c || "$!" === c || "$?" === c) { + if (0 === b) return a; + b--; + } else "/$" === c && b++; + } + a = a.previousSibling; + } + return null; +} +var Nf = Math.random().toString(36).slice(2), + Of = "__reactFiber$" + Nf, + Pf = "__reactProps$" + Nf, + uf = "__reactContainer$" + Nf, + of = "__reactEvents$" + Nf, + Qf = "__reactListeners$" + Nf, + Rf = "__reactHandles$" + Nf; +function Wc(a) { + var b = a[Of]; + if (b) return b; + for (var c = a.parentNode; c;) { + if (b = c[uf] || c[Of]) { + c = b.alternate; + if (null !== b.child || null !== c && null !== c.child) for (a = Mf(a); null !== a;) { + if (c = a[Of]) return c; + a = Mf(a); + } + return b; + } + a = c; + c = a.parentNode; + } + return null; +} +function Cb(a) { + a = a[Of] || a[uf]; + return !a || 5 !== a.tag && 6 !== a.tag && 13 !== a.tag && 3 !== a.tag ? null : a; +} +function ue(a) { + if (5 === a.tag || 6 === a.tag) return a.stateNode; + throw Error(p(33)); +} +function Db(a) { + return a[Pf] || null; +} +var Sf = [], + Tf = -1; +function Uf(a) { + return { + current: a + }; +} +function E(a) { + 0 > Tf || (a.current = Sf[Tf], Sf[Tf] = null, Tf--); +} +function G(a, b) { + Tf++; + Sf[Tf] = a.current; + a.current = b; +} +var Vf = {}, + H = Uf(Vf), + Wf = Uf(!1), + Xf = Vf; +function Yf(a, b) { + var c = a.type.contextTypes; + if (!c) return Vf; + var d = a.stateNode; + if (d && d.__reactInternalMemoizedUnmaskedChildContext === b) return d.__reactInternalMemoizedMaskedChildContext; + var e = {}, + f; + for (f in c) e[f] = b[f]; + d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = b, a.__reactInternalMemoizedMaskedChildContext = e); + return e; +} +function Zf(a) { + a = a.childContextTypes; + return null !== a && void 0 !== a; +} +function $f() { + E(Wf); + E(H); +} +function ag(a, b, c) { + if (H.current !== Vf) throw Error(p(168)); + G(H, b); + G(Wf, c); +} +function bg(a, b, c) { + var d = a.stateNode; + b = b.childContextTypes; + if ("function" !== typeof d.getChildContext) return c; + d = d.getChildContext(); + for (var e in d) if (!(e in b)) throw Error(p(108, Ra(a) || "Unknown", e)); + return A({}, c, d); +} +function cg(a) { + a = (a = a.stateNode) && a.__reactInternalMemoizedMergedChildContext || Vf; + Xf = H.current; + G(H, a); + G(Wf, Wf.current); + return !0; +} +function dg(a, b, c) { + var d = a.stateNode; + if (!d) throw Error(p(169)); + c ? (a = bg(a, b, Xf), d.__reactInternalMemoizedMergedChildContext = a, E(Wf), E(H), G(H, a)) : E(Wf); + G(Wf, c); +} +var eg = null, + fg = !1, + gg = !1; +function hg(a) { + null === eg ? eg = [a] : eg.push(a); +} +function ig(a) { + fg = !0; + hg(a); +} +function jg() { + if (!gg && null !== eg) { + gg = !0; + var a = 0, + b = C; + try { + var c = eg; + for (C = 1; a < c.length; a++) { + var d = c[a]; + do d = d(!0); while (null !== d); + } + eg = null; + fg = !1; + } catch (e) { + throw null !== eg && (eg = eg.slice(a + 1)), ac(fc, jg), e; + } finally { + C = b, gg = !1; + } + } + return null; +} +var kg = [], + lg = 0, + mg = null, + ng = 0, + og = [], + pg = 0, + qg = null, + rg = 1, + sg = ""; +function tg(a, b) { + kg[lg++] = ng; + kg[lg++] = mg; + mg = a; + ng = b; +} +function ug(a, b, c) { + og[pg++] = rg; + og[pg++] = sg; + og[pg++] = qg; + qg = a; + var d = rg; + a = sg; + var e = 32 - oc(d) - 1; + d &= ~(1 << e); + c += 1; + var f = 32 - oc(b) + e; + if (30 < f) { + var g = e - e % 5; + f = (d & (1 << g) - 1).toString(32); + d >>= g; + e -= g; + rg = 1 << 32 - oc(b) + e | c << e | d; + sg = f + a; + } else rg = 1 << f | c << e | d, sg = a; +} +function vg(a) { + null !== a.return && (tg(a, 1), ug(a, 1, 0)); +} +function wg(a) { + for (; a === mg;) mg = kg[--lg], kg[lg] = null, ng = kg[--lg], kg[lg] = null; + for (; a === qg;) qg = og[--pg], og[pg] = null, sg = og[--pg], og[pg] = null, rg = og[--pg], og[pg] = null; +} +var xg = null, + yg = null, + I = !1, + zg = null; +function Ag(a, b) { + var c = Bg(5, null, null, 0); + c.elementType = "DELETED"; + c.stateNode = b; + c.return = a; + b = a.deletions; + null === b ? (a.deletions = [c], a.flags |= 16) : b.push(c); +} +function Cg(a, b) { + switch (a.tag) { + case 5: + var c = a.type; + b = 1 !== b.nodeType || c.toLowerCase() !== b.nodeName.toLowerCase() ? null : b; + return null !== b ? (a.stateNode = b, xg = a, yg = Lf(b.firstChild), !0) : !1; + case 6: + return b = "" === a.pendingProps || 3 !== b.nodeType ? null : b, null !== b ? (a.stateNode = b, xg = a, yg = null, !0) : !1; + case 13: + return b = 8 !== b.nodeType ? null : b, null !== b ? (c = null !== qg ? { + id: rg, + overflow: sg + } : null, a.memoizedState = { + dehydrated: b, + treeContext: c, + retryLane: 1073741824 + }, c = Bg(18, null, null, 0), c.stateNode = b, c.return = a, a.child = c, xg = a, yg = null, !0) : !1; + default: + return !1; + } +} +function Dg(a) { + return 0 !== (a.mode & 1) && 0 === (a.flags & 128); +} +function Eg(a) { + if (I) { + var b = yg; + if (b) { + var c = b; + if (!Cg(a, b)) { + if (Dg(a)) throw Error(p(418)); + b = Lf(c.nextSibling); + var d = xg; + b && Cg(a, b) ? Ag(d, c) : (a.flags = a.flags & -4097 | 2, I = !1, xg = a); + } + } else { + if (Dg(a)) throw Error(p(418)); + a.flags = a.flags & -4097 | 2; + I = !1; + xg = a; + } + } +} +function Fg(a) { + for (a = a.return; null !== a && 5 !== a.tag && 3 !== a.tag && 13 !== a.tag;) a = a.return; + xg = a; +} +function Gg(a) { + if (a !== xg) return !1; + if (!I) return Fg(a), I = !0, !1; + var b; + (b = 3 !== a.tag) && !(b = 5 !== a.tag) && (b = a.type, b = "head" !== b && "body" !== b && !Ef(a.type, a.memoizedProps)); + if (b && (b = yg)) { + if (Dg(a)) throw Hg(), Error(p(418)); + for (; b;) Ag(a, b), b = Lf(b.nextSibling); + } + Fg(a); + if (13 === a.tag) { + a = a.memoizedState; + a = null !== a ? a.dehydrated : null; + if (!a) throw Error(p(317)); + a: { + a = a.nextSibling; + for (b = 0; a;) { + if (8 === a.nodeType) { + var c = a.data; + if ("/$" === c) { + if (0 === b) { + yg = Lf(a.nextSibling); + break a; + } + b--; + } else "$" !== c && "$!" !== c && "$?" !== c || b++; + } + a = a.nextSibling; + } + yg = null; + } + } else yg = xg ? Lf(a.stateNode.nextSibling) : null; + return !0; +} +function Hg() { + for (var a = yg; a;) a = Lf(a.nextSibling); +} +function Ig() { + yg = xg = null; + I = !1; +} +function Jg(a) { + null === zg ? zg = [a] : zg.push(a); +} +var Kg = ua.ReactCurrentBatchConfig; +function Lg(a, b) { + if (a && a.defaultProps) { + b = A({}, b); + a = a.defaultProps; + for (var c in a) void 0 === b[c] && (b[c] = a[c]); + return b; + } + return b; +} +var Mg = Uf(null), + Ng = null, + Og = null, + Pg = null; +function Qg() { + Pg = Og = Ng = null; +} +function Rg(a) { + var b = Mg.current; + E(Mg); + a._currentValue = b; +} +function Sg(a, b, c) { + for (; null !== a;) { + var d = a.alternate; + (a.childLanes & b) !== b ? (a.childLanes |= b, null !== d && (d.childLanes |= b)) : null !== d && (d.childLanes & b) !== b && (d.childLanes |= b); + if (a === c) break; + a = a.return; + } +} +function Tg(a, b) { + Ng = a; + Pg = Og = null; + a = a.dependencies; + null !== a && null !== a.firstContext && (0 !== (a.lanes & b) && (Ug = !0), a.firstContext = null); +} +function Vg(a) { + var b = a._currentValue; + if (Pg !== a) if (a = { + context: a, + memoizedValue: b, + next: null + }, null === Og) { + if (null === Ng) throw Error(p(308)); + Og = a; + Ng.dependencies = { + lanes: 0, + firstContext: a + }; + } else Og = Og.next = a; + return b; +} +var Wg = null; +function Xg(a) { + null === Wg ? Wg = [a] : Wg.push(a); +} +function Yg(a, b, c, d) { + var e = b.interleaved; + null === e ? (c.next = c, Xg(b)) : (c.next = e.next, e.next = c); + b.interleaved = c; + return Zg(a, d); +} +function Zg(a, b) { + a.lanes |= b; + var c = a.alternate; + null !== c && (c.lanes |= b); + c = a; + for (a = a.return; null !== a;) a.childLanes |= b, c = a.alternate, null !== c && (c.childLanes |= b), c = a, a = a.return; + return 3 === c.tag ? c.stateNode : null; +} +var $g = !1; +function ah(a) { + a.updateQueue = { + baseState: a.memoizedState, + firstBaseUpdate: null, + lastBaseUpdate: null, + shared: { + pending: null, + interleaved: null, + lanes: 0 + }, + effects: null + }; +} +function bh(a, b) { + a = a.updateQueue; + b.updateQueue === a && (b.updateQueue = { + baseState: a.baseState, + firstBaseUpdate: a.firstBaseUpdate, + lastBaseUpdate: a.lastBaseUpdate, + shared: a.shared, + effects: a.effects + }); +} +function ch(a, b) { + return { + eventTime: a, + lane: b, + tag: 0, + payload: null, + callback: null, + next: null + }; +} +function dh(a, b, c) { + var d = a.updateQueue; + if (null === d) return null; + d = d.shared; + if (0 !== (K & 2)) { + var e = d.pending; + null === e ? b.next = b : (b.next = e.next, e.next = b); + d.pending = b; + return Zg(a, c); + } + e = d.interleaved; + null === e ? (b.next = b, Xg(d)) : (b.next = e.next, e.next = b); + d.interleaved = b; + return Zg(a, c); +} +function eh(a, b, c) { + b = b.updateQueue; + if (null !== b && (b = b.shared, 0 !== (c & 4194240))) { + var d = b.lanes; + d &= a.pendingLanes; + c |= d; + b.lanes = c; + Cc(a, c); + } +} +function fh(a, b) { + var c = a.updateQueue, + d = a.alternate; + if (null !== d && (d = d.updateQueue, c === d)) { + var e = null, + f = null; + c = c.firstBaseUpdate; + if (null !== c) { + do { + var g = { + eventTime: c.eventTime, + lane: c.lane, + tag: c.tag, + payload: c.payload, + callback: c.callback, + next: null + }; + null === f ? e = f = g : f = f.next = g; + c = c.next; + } while (null !== c); + null === f ? e = f = b : f = f.next = b; + } else e = f = b; + c = { + baseState: d.baseState, + firstBaseUpdate: e, + lastBaseUpdate: f, + shared: d.shared, + effects: d.effects + }; + a.updateQueue = c; + return; + } + a = c.lastBaseUpdate; + null === a ? c.firstBaseUpdate = b : a.next = b; + c.lastBaseUpdate = b; +} +function gh(a, b, c, d) { + var e = a.updateQueue; + $g = !1; + var f = e.firstBaseUpdate, + g = e.lastBaseUpdate, + h = e.shared.pending; + if (null !== h) { + e.shared.pending = null; + var k = h, + l = k.next; + k.next = null; + null === g ? f = l : g.next = l; + g = k; + var m = a.alternate; + null !== m && (m = m.updateQueue, h = m.lastBaseUpdate, h !== g && (null === h ? m.firstBaseUpdate = l : h.next = l, m.lastBaseUpdate = k)); + } + if (null !== f) { + var q = e.baseState; + g = 0; + m = l = k = null; + h = f; + do { + var r = h.lane, + y = h.eventTime; + if ((d & r) === r) { + null !== m && (m = m.next = { + eventTime: y, + lane: 0, + tag: h.tag, + payload: h.payload, + callback: h.callback, + next: null + }); + a: { + var n = a, + t = h; + r = b; + y = c; + switch (t.tag) { + case 1: + n = t.payload; + if ("function" === typeof n) { + q = n.call(y, q, r); + break a; + } + q = n; + break a; + case 3: + n.flags = n.flags & -65537 | 128; + case 0: + n = t.payload; + r = "function" === typeof n ? n.call(y, q, r) : n; + if (null === r || void 0 === r) break a; + q = A({}, q, r); + break a; + case 2: + $g = !0; + } + } + null !== h.callback && 0 !== h.lane && (a.flags |= 64, r = e.effects, null === r ? e.effects = [h] : r.push(h)); + } else y = { + eventTime: y, + lane: r, + tag: h.tag, + payload: h.payload, + callback: h.callback, + next: null + }, null === m ? (l = m = y, k = q) : m = m.next = y, g |= r; + h = h.next; + if (null === h) if (h = e.shared.pending, null === h) break;else r = h, h = r.next, r.next = null, e.lastBaseUpdate = r, e.shared.pending = null; + } while (1); + null === m && (k = q); + e.baseState = k; + e.firstBaseUpdate = l; + e.lastBaseUpdate = m; + b = e.shared.interleaved; + if (null !== b) { + e = b; + do g |= e.lane, e = e.next; while (e !== b); + } else null === f && (e.shared.lanes = 0); + hh |= g; + a.lanes = g; + a.memoizedState = q; + } +} +function ih(a, b, c) { + a = b.effects; + b.effects = null; + if (null !== a) for (b = 0; b < a.length; b++) { + var d = a[b], + e = d.callback; + if (null !== e) { + d.callback = null; + d = c; + if ("function" !== typeof e) throw Error(p(191, e)); + e.call(d); + } + } +} +var jh = new aa.Component().refs; +function kh(a, b, c, d) { + b = a.memoizedState; + c = c(d, b); + c = null === c || void 0 === c ? b : A({}, b, c); + a.memoizedState = c; + 0 === a.lanes && (a.updateQueue.baseState = c); +} +var nh = { + isMounted: function isMounted(a) { + return (a = a._reactInternals) ? Vb(a) === a : !1; + }, + enqueueSetState: function enqueueSetState(a, b, c) { + a = a._reactInternals; + var d = L(), + e = lh(a), + f = ch(d, e); + f.payload = b; + void 0 !== c && null !== c && (f.callback = c); + b = dh(a, f, e); + null !== b && (mh(b, a, e, d), eh(b, a, e)); + }, + enqueueReplaceState: function enqueueReplaceState(a, b, c) { + a = a._reactInternals; + var d = L(), + e = lh(a), + f = ch(d, e); + f.tag = 1; + f.payload = b; + void 0 !== c && null !== c && (f.callback = c); + b = dh(a, f, e); + null !== b && (mh(b, a, e, d), eh(b, a, e)); + }, + enqueueForceUpdate: function enqueueForceUpdate(a, b) { + a = a._reactInternals; + var c = L(), + d = lh(a), + e = ch(c, d); + e.tag = 2; + void 0 !== b && null !== b && (e.callback = b); + b = dh(a, e, d); + null !== b && (mh(b, a, d, c), eh(b, a, d)); + } +}; +function oh(a, b, c, d, e, f, g) { + a = a.stateNode; + return "function" === typeof a.shouldComponentUpdate ? a.shouldComponentUpdate(d, f, g) : b.prototype && b.prototype.isPureReactComponent ? !Ie(c, d) || !Ie(e, f) : !0; +} +function ph(a, b, c) { + var d = !1, + e = Vf; + var f = b.contextType; + "object" === typeof f && null !== f ? f = Vg(f) : (e = Zf(b) ? Xf : H.current, d = b.contextTypes, f = (d = null !== d && void 0 !== d) ? Yf(a, e) : Vf); + b = new b(c, f); + a.memoizedState = null !== b.state && void 0 !== b.state ? b.state : null; + b.updater = nh; + a.stateNode = b; + b._reactInternals = a; + d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = e, a.__reactInternalMemoizedMaskedChildContext = f); + return b; +} +function qh(a, b, c, d) { + a = b.state; + "function" === typeof b.componentWillReceiveProps && b.componentWillReceiveProps(c, d); + "function" === typeof b.UNSAFE_componentWillReceiveProps && b.UNSAFE_componentWillReceiveProps(c, d); + b.state !== a && nh.enqueueReplaceState(b, b.state, null); +} +function rh(a, b, c, d) { + var e = a.stateNode; + e.props = c; + e.state = a.memoizedState; + e.refs = jh; + ah(a); + var f = b.contextType; + "object" === typeof f && null !== f ? e.context = Vg(f) : (f = Zf(b) ? Xf : H.current, e.context = Yf(a, f)); + e.state = a.memoizedState; + f = b.getDerivedStateFromProps; + "function" === typeof f && (kh(a, b, f, c), e.state = a.memoizedState); + "function" === typeof b.getDerivedStateFromProps || "function" === typeof e.getSnapshotBeforeUpdate || "function" !== typeof e.UNSAFE_componentWillMount && "function" !== typeof e.componentWillMount || (b = e.state, "function" === typeof e.componentWillMount && e.componentWillMount(), "function" === typeof e.UNSAFE_componentWillMount && e.UNSAFE_componentWillMount(), b !== e.state && nh.enqueueReplaceState(e, e.state, null), gh(a, c, e, d), e.state = a.memoizedState); + "function" === typeof e.componentDidMount && (a.flags |= 4194308); +} +function sh(a, b, c) { + a = c.ref; + if (null !== a && "function" !== typeof a && "object" !== typeof a) { + if (c._owner) { + c = c._owner; + if (c) { + if (1 !== c.tag) throw Error(p(309)); + var d = c.stateNode; + } + if (!d) throw Error(p(147, a)); + var e = d, + f = "" + a; + if (null !== b && null !== b.ref && "function" === typeof b.ref && b.ref._stringRef === f) return b.ref; + b = function b(a) { + var b = e.refs; + b === jh && (b = e.refs = {}); + null === a ? delete b[f] : b[f] = a; + }; + b._stringRef = f; + return b; + } + if ("string" !== typeof a) throw Error(p(284)); + if (!c._owner) throw Error(p(290, a)); + } + return a; +} +function th(a, b) { + a = Object.prototype.toString.call(b); + throw Error(p(31, "[object Object]" === a ? "object with keys {" + Object.keys(b).join(", ") + "}" : a)); +} +function uh(a) { + var b = a._init; + return b(a._payload); +} +function vh(a) { + function b(b, c) { + if (a) { + var d = b.deletions; + null === d ? (b.deletions = [c], b.flags |= 16) : d.push(c); + } + } + function c(c, d) { + if (!a) return null; + for (; null !== d;) b(c, d), d = d.sibling; + return null; + } + function d(a, b) { + for (a = new Map(); null !== b;) null !== b.key ? a.set(b.key, b) : a.set(b.index, b), b = b.sibling; + return a; + } + function e(a, b) { + a = wh(a, b); + a.index = 0; + a.sibling = null; + return a; + } + function f(b, c, d) { + b.index = d; + if (!a) return b.flags |= 1048576, c; + d = b.alternate; + if (null !== d) return d = d.index, d < c ? (b.flags |= 2, c) : d; + b.flags |= 2; + return c; + } + function g(b) { + a && null === b.alternate && (b.flags |= 2); + return b; + } + function h(a, b, c, d) { + if (null === b || 6 !== b.tag) return b = xh(c, a.mode, d), b.return = a, b; + b = e(b, c); + b.return = a; + return b; + } + function k(a, b, c, d) { + var f = c.type; + if (f === ya) return m(a, b, c.props.children, d, c.key); + if (null !== b && (b.elementType === f || "object" === typeof f && null !== f && f.$$typeof === Ha && uh(f) === b.type)) return d = e(b, c.props), d.ref = sh(a, b, c), d.return = a, d; + d = yh(c.type, c.key, c.props, null, a.mode, d); + d.ref = sh(a, b, c); + d.return = a; + return d; + } + function l(a, b, c, d) { + if (null === b || 4 !== b.tag || b.stateNode.containerInfo !== c.containerInfo || b.stateNode.implementation !== c.implementation) return b = zh(c, a.mode, d), b.return = a, b; + b = e(b, c.children || []); + b.return = a; + return b; + } + function m(a, b, c, d, f) { + if (null === b || 7 !== b.tag) return b = Ah(c, a.mode, d, f), b.return = a, b; + b = e(b, c); + b.return = a; + return b; + } + function q(a, b, c) { + if ("string" === typeof b && "" !== b || "number" === typeof b) return b = xh("" + b, a.mode, c), b.return = a, b; + if ("object" === typeof b && null !== b) { + switch (b.$$typeof) { + case va: + return c = yh(b.type, b.key, b.props, null, a.mode, c), c.ref = sh(a, null, b), c.return = a, c; + case wa: + return b = zh(b, a.mode, c), b.return = a, b; + case Ha: + var d = b._init; + return q(a, d(b._payload), c); + } + if (eb(b) || Ka(b)) return b = Ah(b, a.mode, c, null), b.return = a, b; + th(a, b); + } + return null; + } + function r(a, b, c, d) { + var e = null !== b ? b.key : null; + if ("string" === typeof c && "" !== c || "number" === typeof c) return null !== e ? null : h(a, b, "" + c, d); + if ("object" === typeof c && null !== c) { + switch (c.$$typeof) { + case va: + return c.key === e ? k(a, b, c, d) : null; + case wa: + return c.key === e ? l(a, b, c, d) : null; + case Ha: + return e = c._init, r(a, b, e(c._payload), d); + } + if (eb(c) || Ka(c)) return null !== e ? null : m(a, b, c, d, null); + th(a, c); + } + return null; + } + function y(a, b, c, d, e) { + if ("string" === typeof d && "" !== d || "number" === typeof d) return a = a.get(c) || null, h(b, a, "" + d, e); + if ("object" === typeof d && null !== d) { + switch (d.$$typeof) { + case va: + return a = a.get(null === d.key ? c : d.key) || null, k(b, a, d, e); + case wa: + return a = a.get(null === d.key ? c : d.key) || null, l(b, a, d, e); + case Ha: + var f = d._init; + return y(a, b, c, f(d._payload), e); + } + if (eb(d) || Ka(d)) return a = a.get(c) || null, m(b, a, d, e, null); + th(b, d); + } + return null; + } + function n(e, g, h, k) { + for (var l = null, m = null, u = g, w = g = 0, x = null; null !== u && w < h.length; w++) { + u.index > w ? (x = u, u = null) : x = u.sibling; + var n = r(e, u, h[w], k); + if (null === n) { + null === u && (u = x); + break; + } + a && u && null === n.alternate && b(e, u); + g = f(n, g, w); + null === m ? l = n : m.sibling = n; + m = n; + u = x; + } + if (w === h.length) return c(e, u), I && tg(e, w), l; + if (null === u) { + for (; w < h.length; w++) u = q(e, h[w], k), null !== u && (g = f(u, g, w), null === m ? l = u : m.sibling = u, m = u); + I && tg(e, w); + return l; + } + for (u = d(e, u); w < h.length; w++) x = y(u, e, w, h[w], k), null !== x && (a && null !== x.alternate && u.delete(null === x.key ? w : x.key), g = f(x, g, w), null === m ? l = x : m.sibling = x, m = x); + a && u.forEach(function (a) { + return b(e, a); + }); + I && tg(e, w); + return l; + } + function t(e, g, h, k) { + var l = Ka(h); + if ("function" !== typeof l) throw Error(p(150)); + h = l.call(h); + if (null == h) throw Error(p(151)); + for (var u = l = null, m = g, w = g = 0, x = null, n = h.next(); null !== m && !n.done; w++, n = h.next()) { + m.index > w ? (x = m, m = null) : x = m.sibling; + var t = r(e, m, n.value, k); + if (null === t) { + null === m && (m = x); + break; + } + a && m && null === t.alternate && b(e, m); + g = f(t, g, w); + null === u ? l = t : u.sibling = t; + u = t; + m = x; + } + if (n.done) return c(e, m), I && tg(e, w), l; + if (null === m) { + for (; !n.done; w++, n = h.next()) n = q(e, n.value, k), null !== n && (g = f(n, g, w), null === u ? l = n : u.sibling = n, u = n); + I && tg(e, w); + return l; + } + for (m = d(e, m); !n.done; w++, n = h.next()) n = y(m, e, w, n.value, k), null !== n && (a && null !== n.alternate && m.delete(null === n.key ? w : n.key), g = f(n, g, w), null === u ? l = n : u.sibling = n, u = n); + a && m.forEach(function (a) { + return b(e, a); + }); + I && tg(e, w); + return l; + } + function J(a, d, f, h) { + "object" === typeof f && null !== f && f.type === ya && null === f.key && (f = f.props.children); + if ("object" === typeof f && null !== f) { + switch (f.$$typeof) { + case va: + a: { + for (var k = f.key, l = d; null !== l;) { + if (l.key === k) { + k = f.type; + if (k === ya) { + if (7 === l.tag) { + c(a, l.sibling); + d = e(l, f.props.children); + d.return = a; + a = d; + break a; + } + } else if (l.elementType === k || "object" === typeof k && null !== k && k.$$typeof === Ha && uh(k) === l.type) { + c(a, l.sibling); + d = e(l, f.props); + d.ref = sh(a, l, f); + d.return = a; + a = d; + break a; + } + c(a, l); + break; + } else b(a, l); + l = l.sibling; + } + f.type === ya ? (d = Ah(f.props.children, a.mode, h, f.key), d.return = a, a = d) : (h = yh(f.type, f.key, f.props, null, a.mode, h), h.ref = sh(a, d, f), h.return = a, a = h); + } + return g(a); + case wa: + a: { + for (l = f.key; null !== d;) { + if (d.key === l) { + if (4 === d.tag && d.stateNode.containerInfo === f.containerInfo && d.stateNode.implementation === f.implementation) { + c(a, d.sibling); + d = e(d, f.children || []); + d.return = a; + a = d; + break a; + } else { + c(a, d); + break; + } + } else b(a, d); + d = d.sibling; + } + d = zh(f, a.mode, h); + d.return = a; + a = d; + } + return g(a); + case Ha: + return l = f._init, J(a, d, l(f._payload), h); + } + if (eb(f)) return n(a, d, f, h); + if (Ka(f)) return t(a, d, f, h); + th(a, f); + } + return "string" === typeof f && "" !== f || "number" === typeof f ? (f = "" + f, null !== d && 6 === d.tag ? (c(a, d.sibling), d = e(d, f), d.return = a, a = d) : (c(a, d), d = xh(f, a.mode, h), d.return = a, a = d), g(a)) : c(a, d); + } + return J; +} +var Bh = vh(!0), + Ch = vh(!1), + Dh = {}, + Eh = Uf(Dh), + Fh = Uf(Dh), + Gh = Uf(Dh); +function Hh(a) { + if (a === Dh) throw Error(p(174)); + return a; +} +function Ih(a, b) { + G(Gh, b); + G(Fh, a); + G(Eh, Dh); + a = b.nodeType; + switch (a) { + case 9: + case 11: + b = (b = b.documentElement) ? b.namespaceURI : lb(null, ""); + break; + default: + a = 8 === a ? b.parentNode : b, b = a.namespaceURI || null, a = a.tagName, b = lb(b, a); + } + E(Eh); + G(Eh, b); +} +function Jh() { + E(Eh); + E(Fh); + E(Gh); +} +function Kh(a) { + Hh(Gh.current); + var b = Hh(Eh.current); + var c = lb(b, a.type); + b !== c && (G(Fh, a), G(Eh, c)); +} +function Lh(a) { + Fh.current === a && (E(Eh), E(Fh)); +} +var M = Uf(0); +function Mh(a) { + for (var b = a; null !== b;) { + if (13 === b.tag) { + var c = b.memoizedState; + if (null !== c && (c = c.dehydrated, null === c || "$?" === c.data || "$!" === c.data)) return b; + } else if (19 === b.tag && void 0 !== b.memoizedProps.revealOrder) { + if (0 !== (b.flags & 128)) return b; + } else if (null !== b.child) { + b.child.return = b; + b = b.child; + continue; + } + if (b === a) break; + for (; null === b.sibling;) { + if (null === b.return || b.return === a) return null; + b = b.return; + } + b.sibling.return = b.return; + b = b.sibling; + } + return null; +} +var Nh = []; +function Oh() { + for (var a = 0; a < Nh.length; a++) Nh[a]._workInProgressVersionPrimary = null; + Nh.length = 0; +} +var Ph = ua.ReactCurrentDispatcher, + Qh = ua.ReactCurrentBatchConfig, + Rh = 0, + N = null, + O = null, + P = null, + Sh = !1, + Th = !1, + Uh = 0, + Vh = 0; +function Q() { + throw Error(p(321)); +} +function Wh(a, b) { + if (null === b) return !1; + for (var c = 0; c < b.length && c < a.length; c++) if (!He(a[c], b[c])) return !1; + return !0; +} +function Xh(a, b, c, d, e, f) { + Rh = f; + N = b; + b.memoizedState = null; + b.updateQueue = null; + b.lanes = 0; + Ph.current = null === a || null === a.memoizedState ? Yh : Zh; + a = c(d, e); + if (Th) { + f = 0; + do { + Th = !1; + Uh = 0; + if (25 <= f) throw Error(p(301)); + f += 1; + P = O = null; + b.updateQueue = null; + Ph.current = $h; + a = c(d, e); + } while (Th); + } + Ph.current = ai; + b = null !== O && null !== O.next; + Rh = 0; + P = O = N = null; + Sh = !1; + if (b) throw Error(p(300)); + return a; +} +function bi() { + var a = 0 !== Uh; + Uh = 0; + return a; +} +function ci() { + var a = { + memoizedState: null, + baseState: null, + baseQueue: null, + queue: null, + next: null + }; + null === P ? N.memoizedState = P = a : P = P.next = a; + return P; +} +function di() { + if (null === O) { + var a = N.alternate; + a = null !== a ? a.memoizedState : null; + } else a = O.next; + var b = null === P ? N.memoizedState : P.next; + if (null !== b) P = b, O = a;else { + if (null === a) throw Error(p(310)); + O = a; + a = { + memoizedState: O.memoizedState, + baseState: O.baseState, + baseQueue: O.baseQueue, + queue: O.queue, + next: null + }; + null === P ? N.memoizedState = P = a : P = P.next = a; + } + return P; +} +function ei(a, b) { + return "function" === typeof b ? b(a) : b; +} +function fi(a) { + var b = di(), + c = b.queue; + if (null === c) throw Error(p(311)); + c.lastRenderedReducer = a; + var d = O, + e = d.baseQueue, + f = c.pending; + if (null !== f) { + if (null !== e) { + var g = e.next; + e.next = f.next; + f.next = g; + } + d.baseQueue = e = f; + c.pending = null; + } + if (null !== e) { + f = e.next; + d = d.baseState; + var h = g = null, + k = null, + l = f; + do { + var m = l.lane; + if ((Rh & m) === m) null !== k && (k = k.next = { + lane: 0, + action: l.action, + hasEagerState: l.hasEagerState, + eagerState: l.eagerState, + next: null + }), d = l.hasEagerState ? l.eagerState : a(d, l.action);else { + var q = { + lane: m, + action: l.action, + hasEagerState: l.hasEagerState, + eagerState: l.eagerState, + next: null + }; + null === k ? (h = k = q, g = d) : k = k.next = q; + N.lanes |= m; + hh |= m; + } + l = l.next; + } while (null !== l && l !== f); + null === k ? g = d : k.next = h; + He(d, b.memoizedState) || (Ug = !0); + b.memoizedState = d; + b.baseState = g; + b.baseQueue = k; + c.lastRenderedState = d; + } + a = c.interleaved; + if (null !== a) { + e = a; + do f = e.lane, N.lanes |= f, hh |= f, e = e.next; while (e !== a); + } else null === e && (c.lanes = 0); + return [b.memoizedState, c.dispatch]; +} +function gi(a) { + var b = di(), + c = b.queue; + if (null === c) throw Error(p(311)); + c.lastRenderedReducer = a; + var d = c.dispatch, + e = c.pending, + f = b.memoizedState; + if (null !== e) { + c.pending = null; + var g = e = e.next; + do f = a(f, g.action), g = g.next; while (g !== e); + He(f, b.memoizedState) || (Ug = !0); + b.memoizedState = f; + null === b.baseQueue && (b.baseState = f); + c.lastRenderedState = f; + } + return [f, d]; +} +function hi() {} +function ii(a, b) { + var c = N, + d = di(), + e = b(), + f = !He(d.memoizedState, e); + f && (d.memoizedState = e, Ug = !0); + d = d.queue; + ji(ki.bind(null, c, d, a), [a]); + if (d.getSnapshot !== b || f || null !== P && P.memoizedState.tag & 1) { + c.flags |= 2048; + li(9, mi.bind(null, c, d, e, b), void 0, null); + if (null === R) throw Error(p(349)); + 0 !== (Rh & 30) || ni(c, b, e); + } + return e; +} +function ni(a, b, c) { + a.flags |= 16384; + a = { + getSnapshot: b, + value: c + }; + b = N.updateQueue; + null === b ? (b = { + lastEffect: null, + stores: null + }, N.updateQueue = b, b.stores = [a]) : (c = b.stores, null === c ? b.stores = [a] : c.push(a)); +} +function mi(a, b, c, d) { + b.value = c; + b.getSnapshot = d; + oi(b) && pi(a); +} +function ki(a, b, c) { + return c(function () { + oi(b) && pi(a); + }); +} +function oi(a) { + var b = a.getSnapshot; + a = a.value; + try { + var c = b(); + return !He(a, c); + } catch (d) { + return !0; + } +} +function pi(a) { + var b = Zg(a, 1); + null !== b && mh(b, a, 1, -1); +} +function qi(a) { + var b = ci(); + "function" === typeof a && (a = a()); + b.memoizedState = b.baseState = a; + a = { + pending: null, + interleaved: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: ei, + lastRenderedState: a + }; + b.queue = a; + a = a.dispatch = ri.bind(null, N, a); + return [b.memoizedState, a]; +} +function li(a, b, c, d) { + a = { + tag: a, + create: b, + destroy: c, + deps: d, + next: null + }; + b = N.updateQueue; + null === b ? (b = { + lastEffect: null, + stores: null + }, N.updateQueue = b, b.lastEffect = a.next = a) : (c = b.lastEffect, null === c ? b.lastEffect = a.next = a : (d = c.next, c.next = a, a.next = d, b.lastEffect = a)); + return a; +} +function si() { + return di().memoizedState; +} +function ti(a, b, c, d) { + var e = ci(); + N.flags |= a; + e.memoizedState = li(1 | b, c, void 0, void 0 === d ? null : d); +} +function ui(a, b, c, d) { + var e = di(); + d = void 0 === d ? null : d; + var f = void 0; + if (null !== O) { + var g = O.memoizedState; + f = g.destroy; + if (null !== d && Wh(d, g.deps)) { + e.memoizedState = li(b, c, f, d); + return; + } + } + N.flags |= a; + e.memoizedState = li(1 | b, c, f, d); +} +function vi(a, b) { + return ti(8390656, 8, a, b); +} +function ji(a, b) { + return ui(2048, 8, a, b); +} +function wi(a, b) { + return ui(4, 2, a, b); +} +function xi(a, b) { + return ui(4, 4, a, b); +} +function yi(a, b) { + if ("function" === typeof b) return a = a(), b(a), function () { + b(null); + }; + if (null !== b && void 0 !== b) return a = a(), b.current = a, function () { + b.current = null; + }; +} +function zi(a, b, c) { + c = null !== c && void 0 !== c ? c.concat([a]) : null; + return ui(4, 4, yi.bind(null, b, a), c); +} +function Ai() {} +function Bi(a, b) { + var c = di(); + b = void 0 === b ? null : b; + var d = c.memoizedState; + if (null !== d && null !== b && Wh(b, d[1])) return d[0]; + c.memoizedState = [a, b]; + return a; +} +function Ci(a, b) { + var c = di(); + b = void 0 === b ? null : b; + var d = c.memoizedState; + if (null !== d && null !== b && Wh(b, d[1])) return d[0]; + a = a(); + c.memoizedState = [a, b]; + return a; +} +function Di(a, b, c) { + if (0 === (Rh & 21)) return a.baseState && (a.baseState = !1, Ug = !0), a.memoizedState = c; + He(c, b) || (c = yc(), N.lanes |= c, hh |= c, a.baseState = !0); + return b; +} +function Ei(a, b) { + var c = C; + C = 0 !== c && 4 > c ? c : 4; + a(!0); + var d = Qh.transition; + Qh.transition = {}; + try { + a(!1), b(); + } finally { + C = c, Qh.transition = d; + } +} +function Fi() { + return di().memoizedState; +} +function Gi(a, b, c) { + var d = lh(a); + c = { + lane: d, + action: c, + hasEagerState: !1, + eagerState: null, + next: null + }; + if (Hi(a)) Ii(b, c);else if (c = Yg(a, b, c, d), null !== c) { + var e = L(); + mh(c, a, d, e); + Ji(c, b, d); + } +} +function ri(a, b, c) { + var d = lh(a), + e = { + lane: d, + action: c, + hasEagerState: !1, + eagerState: null, + next: null + }; + if (Hi(a)) Ii(b, e);else { + var f = a.alternate; + if (0 === a.lanes && (null === f || 0 === f.lanes) && (f = b.lastRenderedReducer, null !== f)) try { + var g = b.lastRenderedState, + h = f(g, c); + e.hasEagerState = !0; + e.eagerState = h; + if (He(h, g)) { + var k = b.interleaved; + null === k ? (e.next = e, Xg(b)) : (e.next = k.next, k.next = e); + b.interleaved = e; + return; + } + } catch (l) {} finally {} + c = Yg(a, b, e, d); + null !== c && (e = L(), mh(c, a, d, e), Ji(c, b, d)); + } +} +function Hi(a) { + var b = a.alternate; + return a === N || null !== b && b === N; +} +function Ii(a, b) { + Th = Sh = !0; + var c = a.pending; + null === c ? b.next = b : (b.next = c.next, c.next = b); + a.pending = b; +} +function Ji(a, b, c) { + if (0 !== (c & 4194240)) { + var d = b.lanes; + d &= a.pendingLanes; + c |= d; + b.lanes = c; + Cc(a, c); + } +} +var ai = { + readContext: Vg, + useCallback: Q, + useContext: Q, + useEffect: Q, + useImperativeHandle: Q, + useInsertionEffect: Q, + useLayoutEffect: Q, + useMemo: Q, + useReducer: Q, + useRef: Q, + useState: Q, + useDebugValue: Q, + useDeferredValue: Q, + useTransition: Q, + useMutableSource: Q, + useSyncExternalStore: Q, + useId: Q, + unstable_isNewReconciler: !1 + }, + Yh = { + readContext: Vg, + useCallback: function useCallback(a, b) { + ci().memoizedState = [a, void 0 === b ? null : b]; + return a; + }, + useContext: Vg, + useEffect: vi, + useImperativeHandle: function useImperativeHandle(a, b, c) { + c = null !== c && void 0 !== c ? c.concat([a]) : null; + return ti(4194308, 4, yi.bind(null, b, a), c); + }, + useLayoutEffect: function useLayoutEffect(a, b) { + return ti(4194308, 4, a, b); + }, + useInsertionEffect: function useInsertionEffect(a, b) { + return ti(4, 2, a, b); + }, + useMemo: function useMemo(a, b) { + var c = ci(); + b = void 0 === b ? null : b; + a = a(); + c.memoizedState = [a, b]; + return a; + }, + useReducer: function useReducer(a, b, c) { + var d = ci(); + b = void 0 !== c ? c(b) : b; + d.memoizedState = d.baseState = b; + a = { + pending: null, + interleaved: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: a, + lastRenderedState: b + }; + d.queue = a; + a = a.dispatch = Gi.bind(null, N, a); + return [d.memoizedState, a]; + }, + useRef: function useRef(a) { + var b = ci(); + a = { + current: a + }; + return b.memoizedState = a; + }, + useState: qi, + useDebugValue: Ai, + useDeferredValue: function useDeferredValue(a) { + return ci().memoizedState = a; + }, + useTransition: function useTransition() { + var a = qi(!1), + b = a[0]; + a = Ei.bind(null, a[1]); + ci().memoizedState = a; + return [b, a]; + }, + useMutableSource: function useMutableSource() {}, + useSyncExternalStore: function useSyncExternalStore(a, b, c) { + var d = N, + e = ci(); + if (I) { + if (void 0 === c) throw Error(p(407)); + c = c(); + } else { + c = b(); + if (null === R) throw Error(p(349)); + 0 !== (Rh & 30) || ni(d, b, c); + } + e.memoizedState = c; + var f = { + value: c, + getSnapshot: b + }; + e.queue = f; + vi(ki.bind(null, d, f, a), [a]); + d.flags |= 2048; + li(9, mi.bind(null, d, f, c, b), void 0, null); + return c; + }, + useId: function useId() { + var a = ci(), + b = R.identifierPrefix; + if (I) { + var c = sg; + var d = rg; + c = (d & ~(1 << 32 - oc(d) - 1)).toString(32) + c; + b = ":" + b + "R" + c; + c = Uh++; + 0 < c && (b += "H" + c.toString(32)); + b += ":"; + } else c = Vh++, b = ":" + b + "r" + c.toString(32) + ":"; + return a.memoizedState = b; + }, + unstable_isNewReconciler: !1 + }, + Zh = { + readContext: Vg, + useCallback: Bi, + useContext: Vg, + useEffect: ji, + useImperativeHandle: zi, + useInsertionEffect: wi, + useLayoutEffect: xi, + useMemo: Ci, + useReducer: fi, + useRef: si, + useState: function useState() { + return fi(ei); + }, + useDebugValue: Ai, + useDeferredValue: function useDeferredValue(a) { + var b = di(); + return Di(b, O.memoizedState, a); + }, + useTransition: function useTransition() { + var a = fi(ei)[0], + b = di().memoizedState; + return [a, b]; + }, + useMutableSource: hi, + useSyncExternalStore: ii, + useId: Fi, + unstable_isNewReconciler: !1 + }, + $h = { + readContext: Vg, + useCallback: Bi, + useContext: Vg, + useEffect: ji, + useImperativeHandle: zi, + useInsertionEffect: wi, + useLayoutEffect: xi, + useMemo: Ci, + useReducer: gi, + useRef: si, + useState: function useState() { + return gi(ei); + }, + useDebugValue: Ai, + useDeferredValue: function useDeferredValue(a) { + var b = di(); + return null === O ? b.memoizedState = a : Di(b, O.memoizedState, a); + }, + useTransition: function useTransition() { + var a = gi(ei)[0], + b = di().memoizedState; + return [a, b]; + }, + useMutableSource: hi, + useSyncExternalStore: ii, + useId: Fi, + unstable_isNewReconciler: !1 + }; +function Ki(a, b) { + try { + var c = "", + d = b; + do c += Pa(d), d = d.return; while (d); + var e = c; + } catch (f) { + e = "\nError generating stack: " + f.message + "\n" + f.stack; + } + return { + value: a, + source: b, + stack: e, + digest: null + }; +} +function Li(a, b, c) { + return { + value: a, + source: null, + stack: null != c ? c : null, + digest: null != b ? b : null + }; +} +function Mi(a, b) { + try { + console.error(b.value); + } catch (c) { + setTimeout(function () { + throw c; + }); + } +} +var Ni = "function" === typeof WeakMap ? WeakMap : Map; +function Oi(a, b, c) { + c = ch(-1, c); + c.tag = 3; + c.payload = { + element: null + }; + var d = b.value; + c.callback = function () { + Pi || (Pi = !0, Qi = d); + Mi(a, b); + }; + return c; +} +function Ri(a, b, c) { + c = ch(-1, c); + c.tag = 3; + var d = a.type.getDerivedStateFromError; + if ("function" === typeof d) { + var e = b.value; + c.payload = function () { + return d(e); + }; + c.callback = function () { + Mi(a, b); + }; + } + var f = a.stateNode; + null !== f && "function" === typeof f.componentDidCatch && (c.callback = function () { + Mi(a, b); + "function" !== typeof d && (null === Si ? Si = new Set([this]) : Si.add(this)); + var c = b.stack; + this.componentDidCatch(b.value, { + componentStack: null !== c ? c : "" + }); + }); + return c; +} +function Ti(a, b, c) { + var d = a.pingCache; + if (null === d) { + d = a.pingCache = new Ni(); + var e = new Set(); + d.set(b, e); + } else e = d.get(b), void 0 === e && (e = new Set(), d.set(b, e)); + e.has(c) || (e.add(c), a = Ui.bind(null, a, b, c), b.then(a, a)); +} +function Vi(a) { + do { + var b; + if (b = 13 === a.tag) b = a.memoizedState, b = null !== b ? null !== b.dehydrated ? !0 : !1 : !0; + if (b) return a; + a = a.return; + } while (null !== a); + return null; +} +function Wi(a, b, c, d, e) { + if (0 === (a.mode & 1)) return a === b ? a.flags |= 65536 : (a.flags |= 128, c.flags |= 131072, c.flags &= -52805, 1 === c.tag && (null === c.alternate ? c.tag = 17 : (b = ch(-1, 1), b.tag = 2, dh(c, b, 1))), c.lanes |= 1), a; + a.flags |= 65536; + a.lanes = e; + return a; +} +var Xi = ua.ReactCurrentOwner, + Ug = !1; +function Yi(a, b, c, d) { + b.child = null === a ? Ch(b, null, c, d) : Bh(b, a.child, c, d); +} +function Zi(a, b, c, d, e) { + c = c.render; + var f = b.ref; + Tg(b, e); + d = Xh(a, b, c, d, f, e); + c = bi(); + if (null !== a && !Ug) return b.updateQueue = a.updateQueue, b.flags &= -2053, a.lanes &= ~e, $i(a, b, e); + I && c && vg(b); + b.flags |= 1; + Yi(a, b, d, e); + return b.child; +} +function aj(a, b, c, d, e) { + if (null === a) { + var f = c.type; + if ("function" === typeof f && !bj(f) && void 0 === f.defaultProps && null === c.compare && void 0 === c.defaultProps) return b.tag = 15, b.type = f, cj(a, b, f, d, e); + a = yh(c.type, null, d, b, b.mode, e); + a.ref = b.ref; + a.return = b; + return b.child = a; + } + f = a.child; + if (0 === (a.lanes & e)) { + var g = f.memoizedProps; + c = c.compare; + c = null !== c ? c : Ie; + if (c(g, d) && a.ref === b.ref) return $i(a, b, e); + } + b.flags |= 1; + a = wh(f, d); + a.ref = b.ref; + a.return = b; + return b.child = a; +} +function cj(a, b, c, d, e) { + if (null !== a) { + var f = a.memoizedProps; + if (Ie(f, d) && a.ref === b.ref) if (Ug = !1, b.pendingProps = d = f, 0 !== (a.lanes & e)) 0 !== (a.flags & 131072) && (Ug = !0);else return b.lanes = a.lanes, $i(a, b, e); + } + return dj(a, b, c, d, e); +} +function ej(a, b, c) { + var d = b.pendingProps, + e = d.children, + f = null !== a ? a.memoizedState : null; + if ("hidden" === d.mode) { + if (0 === (b.mode & 1)) b.memoizedState = { + baseLanes: 0, + cachePool: null, + transitions: null + }, G(fj, gj), gj |= c;else { + if (0 === (c & 1073741824)) return a = null !== f ? f.baseLanes | c : c, b.lanes = b.childLanes = 1073741824, b.memoizedState = { + baseLanes: a, + cachePool: null, + transitions: null + }, b.updateQueue = null, G(fj, gj), gj |= a, null; + b.memoizedState = { + baseLanes: 0, + cachePool: null, + transitions: null + }; + d = null !== f ? f.baseLanes : c; + G(fj, gj); + gj |= d; + } + } else null !== f ? (d = f.baseLanes | c, b.memoizedState = null) : d = c, G(fj, gj), gj |= d; + Yi(a, b, e, c); + return b.child; +} +function hj(a, b) { + var c = b.ref; + if (null === a && null !== c || null !== a && a.ref !== c) b.flags |= 512, b.flags |= 2097152; +} +function dj(a, b, c, d, e) { + var f = Zf(c) ? Xf : H.current; + f = Yf(b, f); + Tg(b, e); + c = Xh(a, b, c, d, f, e); + d = bi(); + if (null !== a && !Ug) return b.updateQueue = a.updateQueue, b.flags &= -2053, a.lanes &= ~e, $i(a, b, e); + I && d && vg(b); + b.flags |= 1; + Yi(a, b, c, e); + return b.child; +} +function ij(a, b, c, d, e) { + if (Zf(c)) { + var f = !0; + cg(b); + } else f = !1; + Tg(b, e); + if (null === b.stateNode) jj(a, b), ph(b, c, d), rh(b, c, d, e), d = !0;else if (null === a) { + var g = b.stateNode, + h = b.memoizedProps; + g.props = h; + var k = g.context, + l = c.contextType; + "object" === typeof l && null !== l ? l = Vg(l) : (l = Zf(c) ? Xf : H.current, l = Yf(b, l)); + var m = c.getDerivedStateFromProps, + q = "function" === typeof m || "function" === typeof g.getSnapshotBeforeUpdate; + q || "function" !== typeof g.UNSAFE_componentWillReceiveProps && "function" !== typeof g.componentWillReceiveProps || (h !== d || k !== l) && qh(b, g, d, l); + $g = !1; + var r = b.memoizedState; + g.state = r; + gh(b, d, g, e); + k = b.memoizedState; + h !== d || r !== k || Wf.current || $g ? ("function" === typeof m && (kh(b, c, m, d), k = b.memoizedState), (h = $g || oh(b, c, h, d, r, k, l)) ? (q || "function" !== typeof g.UNSAFE_componentWillMount && "function" !== typeof g.componentWillMount || ("function" === typeof g.componentWillMount && g.componentWillMount(), "function" === typeof g.UNSAFE_componentWillMount && g.UNSAFE_componentWillMount()), "function" === typeof g.componentDidMount && (b.flags |= 4194308)) : ("function" === typeof g.componentDidMount && (b.flags |= 4194308), b.memoizedProps = d, b.memoizedState = k), g.props = d, g.state = k, g.context = l, d = h) : ("function" === typeof g.componentDidMount && (b.flags |= 4194308), d = !1); + } else { + g = b.stateNode; + bh(a, b); + h = b.memoizedProps; + l = b.type === b.elementType ? h : Lg(b.type, h); + g.props = l; + q = b.pendingProps; + r = g.context; + k = c.contextType; + "object" === typeof k && null !== k ? k = Vg(k) : (k = Zf(c) ? Xf : H.current, k = Yf(b, k)); + var y = c.getDerivedStateFromProps; + (m = "function" === typeof y || "function" === typeof g.getSnapshotBeforeUpdate) || "function" !== typeof g.UNSAFE_componentWillReceiveProps && "function" !== typeof g.componentWillReceiveProps || (h !== q || r !== k) && qh(b, g, d, k); + $g = !1; + r = b.memoizedState; + g.state = r; + gh(b, d, g, e); + var n = b.memoizedState; + h !== q || r !== n || Wf.current || $g ? ("function" === typeof y && (kh(b, c, y, d), n = b.memoizedState), (l = $g || oh(b, c, l, d, r, n, k) || !1) ? (m || "function" !== typeof g.UNSAFE_componentWillUpdate && "function" !== typeof g.componentWillUpdate || ("function" === typeof g.componentWillUpdate && g.componentWillUpdate(d, n, k), "function" === typeof g.UNSAFE_componentWillUpdate && g.UNSAFE_componentWillUpdate(d, n, k)), "function" === typeof g.componentDidUpdate && (b.flags |= 4), "function" === typeof g.getSnapshotBeforeUpdate && (b.flags |= 1024)) : ("function" !== typeof g.componentDidUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 4), "function" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 1024), b.memoizedProps = d, b.memoizedState = n), g.props = d, g.state = n, g.context = k, d = l) : ("function" !== typeof g.componentDidUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 4), "function" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 1024), d = !1); + } + return kj(a, b, c, d, f, e); +} +function kj(a, b, c, d, e, f) { + hj(a, b); + var g = 0 !== (b.flags & 128); + if (!d && !g) return e && dg(b, c, !1), $i(a, b, f); + d = b.stateNode; + Xi.current = b; + var h = g && "function" !== typeof c.getDerivedStateFromError ? null : d.render(); + b.flags |= 1; + null !== a && g ? (b.child = Bh(b, a.child, null, f), b.child = Bh(b, null, h, f)) : Yi(a, b, h, f); + b.memoizedState = d.state; + e && dg(b, c, !0); + return b.child; +} +function lj(a) { + var b = a.stateNode; + b.pendingContext ? ag(a, b.pendingContext, b.pendingContext !== b.context) : b.context && ag(a, b.context, !1); + Ih(a, b.containerInfo); +} +function mj(a, b, c, d, e) { + Ig(); + Jg(e); + b.flags |= 256; + Yi(a, b, c, d); + return b.child; +} +var nj = { + dehydrated: null, + treeContext: null, + retryLane: 0 +}; +function oj(a) { + return { + baseLanes: a, + cachePool: null, + transitions: null + }; +} +function pj(a, b, c) { + var d = b.pendingProps, + e = M.current, + f = !1, + g = 0 !== (b.flags & 128), + h; + (h = g) || (h = null !== a && null === a.memoizedState ? !1 : 0 !== (e & 2)); + if (h) f = !0, b.flags &= -129;else if (null === a || null !== a.memoizedState) e |= 1; + G(M, e & 1); + if (null === a) { + Eg(b); + a = b.memoizedState; + if (null !== a && (a = a.dehydrated, null !== a)) return 0 === (b.mode & 1) ? b.lanes = 1 : "$!" === a.data ? b.lanes = 8 : b.lanes = 1073741824, null; + g = d.children; + a = d.fallback; + return f ? (d = b.mode, f = b.child, g = { + mode: "hidden", + children: g + }, 0 === (d & 1) && null !== f ? (f.childLanes = 0, f.pendingProps = g) : f = qj(g, d, 0, null), a = Ah(a, d, c, null), f.return = b, a.return = b, f.sibling = a, b.child = f, b.child.memoizedState = oj(c), b.memoizedState = nj, a) : rj(b, g); + } + e = a.memoizedState; + if (null !== e && (h = e.dehydrated, null !== h)) return sj(a, b, g, d, h, e, c); + if (f) { + f = d.fallback; + g = b.mode; + e = a.child; + h = e.sibling; + var k = { + mode: "hidden", + children: d.children + }; + 0 === (g & 1) && b.child !== e ? (d = b.child, d.childLanes = 0, d.pendingProps = k, b.deletions = null) : (d = wh(e, k), d.subtreeFlags = e.subtreeFlags & 14680064); + null !== h ? f = wh(h, f) : (f = Ah(f, g, c, null), f.flags |= 2); + f.return = b; + d.return = b; + d.sibling = f; + b.child = d; + d = f; + f = b.child; + g = a.child.memoizedState; + g = null === g ? oj(c) : { + baseLanes: g.baseLanes | c, + cachePool: null, + transitions: g.transitions + }; + f.memoizedState = g; + f.childLanes = a.childLanes & ~c; + b.memoizedState = nj; + return d; + } + f = a.child; + a = f.sibling; + d = wh(f, { + mode: "visible", + children: d.children + }); + 0 === (b.mode & 1) && (d.lanes = c); + d.return = b; + d.sibling = null; + null !== a && (c = b.deletions, null === c ? (b.deletions = [a], b.flags |= 16) : c.push(a)); + b.child = d; + b.memoizedState = null; + return d; +} +function rj(a, b) { + b = qj({ + mode: "visible", + children: b + }, a.mode, 0, null); + b.return = a; + return a.child = b; +} +function tj(a, b, c, d) { + null !== d && Jg(d); + Bh(b, a.child, null, c); + a = rj(b, b.pendingProps.children); + a.flags |= 2; + b.memoizedState = null; + return a; +} +function sj(a, b, c, d, e, f, g) { + if (c) { + if (b.flags & 256) return b.flags &= -257, d = Li(Error(p(422))), tj(a, b, g, d); + if (null !== b.memoizedState) return b.child = a.child, b.flags |= 128, null; + f = d.fallback; + e = b.mode; + d = qj({ + mode: "visible", + children: d.children + }, e, 0, null); + f = Ah(f, e, g, null); + f.flags |= 2; + d.return = b; + f.return = b; + d.sibling = f; + b.child = d; + 0 !== (b.mode & 1) && Bh(b, a.child, null, g); + b.child.memoizedState = oj(g); + b.memoizedState = nj; + return f; + } + if (0 === (b.mode & 1)) return tj(a, b, g, null); + if ("$!" === e.data) { + d = e.nextSibling && e.nextSibling.dataset; + if (d) var h = d.dgst; + d = h; + f = Error(p(419)); + d = Li(f, d, void 0); + return tj(a, b, g, d); + } + h = 0 !== (g & a.childLanes); + if (Ug || h) { + d = R; + if (null !== d) { + switch (g & -g) { + case 4: + e = 2; + break; + case 16: + e = 8; + break; + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + case 4194304: + case 8388608: + case 16777216: + case 33554432: + case 67108864: + e = 32; + break; + case 536870912: + e = 268435456; + break; + default: + e = 0; + } + e = 0 !== (e & (d.suspendedLanes | g)) ? 0 : e; + 0 !== e && e !== f.retryLane && (f.retryLane = e, Zg(a, e), mh(d, a, e, -1)); + } + uj(); + d = Li(Error(p(421))); + return tj(a, b, g, d); + } + if ("$?" === e.data) return b.flags |= 128, b.child = a.child, b = vj.bind(null, a), e._reactRetry = b, null; + a = f.treeContext; + yg = Lf(e.nextSibling); + xg = b; + I = !0; + zg = null; + null !== a && (og[pg++] = rg, og[pg++] = sg, og[pg++] = qg, rg = a.id, sg = a.overflow, qg = b); + b = rj(b, d.children); + b.flags |= 4096; + return b; +} +function wj(a, b, c) { + a.lanes |= b; + var d = a.alternate; + null !== d && (d.lanes |= b); + Sg(a.return, b, c); +} +function xj(a, b, c, d, e) { + var f = a.memoizedState; + null === f ? a.memoizedState = { + isBackwards: b, + rendering: null, + renderingStartTime: 0, + last: d, + tail: c, + tailMode: e + } : (f.isBackwards = b, f.rendering = null, f.renderingStartTime = 0, f.last = d, f.tail = c, f.tailMode = e); +} +function yj(a, b, c) { + var d = b.pendingProps, + e = d.revealOrder, + f = d.tail; + Yi(a, b, d.children, c); + d = M.current; + if (0 !== (d & 2)) d = d & 1 | 2, b.flags |= 128;else { + if (null !== a && 0 !== (a.flags & 128)) a: for (a = b.child; null !== a;) { + if (13 === a.tag) null !== a.memoizedState && wj(a, c, b);else if (19 === a.tag) wj(a, c, b);else if (null !== a.child) { + a.child.return = a; + a = a.child; + continue; + } + if (a === b) break a; + for (; null === a.sibling;) { + if (null === a.return || a.return === b) break a; + a = a.return; + } + a.sibling.return = a.return; + a = a.sibling; + } + d &= 1; + } + G(M, d); + if (0 === (b.mode & 1)) b.memoizedState = null;else switch (e) { + case "forwards": + c = b.child; + for (e = null; null !== c;) a = c.alternate, null !== a && null === Mh(a) && (e = c), c = c.sibling; + c = e; + null === c ? (e = b.child, b.child = null) : (e = c.sibling, c.sibling = null); + xj(b, !1, e, c, f); + break; + case "backwards": + c = null; + e = b.child; + for (b.child = null; null !== e;) { + a = e.alternate; + if (null !== a && null === Mh(a)) { + b.child = e; + break; + } + a = e.sibling; + e.sibling = c; + c = e; + e = a; + } + xj(b, !0, c, null, f); + break; + case "together": + xj(b, !1, null, null, void 0); + break; + default: + b.memoizedState = null; + } + return b.child; +} +function jj(a, b) { + 0 === (b.mode & 1) && null !== a && (a.alternate = null, b.alternate = null, b.flags |= 2); +} +function $i(a, b, c) { + null !== a && (b.dependencies = a.dependencies); + hh |= b.lanes; + if (0 === (c & b.childLanes)) return null; + if (null !== a && b.child !== a.child) throw Error(p(153)); + if (null !== b.child) { + a = b.child; + c = wh(a, a.pendingProps); + b.child = c; + for (c.return = b; null !== a.sibling;) a = a.sibling, c = c.sibling = wh(a, a.pendingProps), c.return = b; + c.sibling = null; + } + return b.child; +} +function zj(a, b, c) { + switch (b.tag) { + case 3: + lj(b); + Ig(); + break; + case 5: + Kh(b); + break; + case 1: + Zf(b.type) && cg(b); + break; + case 4: + Ih(b, b.stateNode.containerInfo); + break; + case 10: + var d = b.type._context, + e = b.memoizedProps.value; + G(Mg, d._currentValue); + d._currentValue = e; + break; + case 13: + d = b.memoizedState; + if (null !== d) { + if (null !== d.dehydrated) return G(M, M.current & 1), b.flags |= 128, null; + if (0 !== (c & b.child.childLanes)) return pj(a, b, c); + G(M, M.current & 1); + a = $i(a, b, c); + return null !== a ? a.sibling : null; + } + G(M, M.current & 1); + break; + case 19: + d = 0 !== (c & b.childLanes); + if (0 !== (a.flags & 128)) { + if (d) return yj(a, b, c); + b.flags |= 128; + } + e = b.memoizedState; + null !== e && (e.rendering = null, e.tail = null, e.lastEffect = null); + G(M, M.current); + if (d) break;else return null; + case 22: + case 23: + return b.lanes = 0, ej(a, b, c); + } + return $i(a, b, c); +} +var Aj, Bj, Cj, Dj; +Aj = function Aj(a, b) { + for (var c = b.child; null !== c;) { + if (5 === c.tag || 6 === c.tag) a.appendChild(c.stateNode);else if (4 !== c.tag && null !== c.child) { + c.child.return = c; + c = c.child; + continue; + } + if (c === b) break; + for (; null === c.sibling;) { + if (null === c.return || c.return === b) return; + c = c.return; + } + c.sibling.return = c.return; + c = c.sibling; + } +}; +Bj = function Bj() {}; +Cj = function Cj(a, b, c, d) { + var e = a.memoizedProps; + if (e !== d) { + a = b.stateNode; + Hh(Eh.current); + var f = null; + switch (c) { + case "input": + e = Ya(a, e); + d = Ya(a, d); + f = []; + break; + case "select": + e = A({}, e, { + value: void 0 + }); + d = A({}, d, { + value: void 0 + }); + f = []; + break; + case "textarea": + e = gb(a, e); + d = gb(a, d); + f = []; + break; + default: + "function" !== typeof e.onClick && "function" === typeof d.onClick && (a.onclick = Bf); + } + ub(c, d); + var g; + c = null; + for (l in e) if (!d.hasOwnProperty(l) && e.hasOwnProperty(l) && null != e[l]) if ("style" === l) { + var h = e[l]; + for (g in h) h.hasOwnProperty(g) && (c || (c = {}), c[g] = ""); + } else "dangerouslySetInnerHTML" !== l && "children" !== l && "suppressContentEditableWarning" !== l && "suppressHydrationWarning" !== l && "autoFocus" !== l && (ea.hasOwnProperty(l) ? f || (f = []) : (f = f || []).push(l, null)); + for (l in d) { + var k = d[l]; + h = null != e ? e[l] : void 0; + if (d.hasOwnProperty(l) && k !== h && (null != k || null != h)) if ("style" === l) { + if (h) { + for (g in h) !h.hasOwnProperty(g) || k && k.hasOwnProperty(g) || (c || (c = {}), c[g] = ""); + for (g in k) k.hasOwnProperty(g) && h[g] !== k[g] && (c || (c = {}), c[g] = k[g]); + } else c || (f || (f = []), f.push(l, c)), c = k; + } else "dangerouslySetInnerHTML" === l ? (k = k ? k.__html : void 0, h = h ? h.__html : void 0, null != k && h !== k && (f = f || []).push(l, k)) : "children" === l ? "string" !== typeof k && "number" !== typeof k || (f = f || []).push(l, "" + k) : "suppressContentEditableWarning" !== l && "suppressHydrationWarning" !== l && (ea.hasOwnProperty(l) ? (null != k && "onScroll" === l && D("scroll", a), f || h === k || (f = [])) : (f = f || []).push(l, k)); + } + c && (f = f || []).push("style", c); + var l = f; + if (b.updateQueue = l) b.flags |= 4; + } +}; +Dj = function Dj(a, b, c, d) { + c !== d && (b.flags |= 4); +}; +function Ej(a, b) { + if (!I) switch (a.tailMode) { + case "hidden": + b = a.tail; + for (var c = null; null !== b;) null !== b.alternate && (c = b), b = b.sibling; + null === c ? a.tail = null : c.sibling = null; + break; + case "collapsed": + c = a.tail; + for (var d = null; null !== c;) null !== c.alternate && (d = c), c = c.sibling; + null === d ? b || null === a.tail ? a.tail = null : a.tail.sibling = null : d.sibling = null; + } +} +function S(a) { + var b = null !== a.alternate && a.alternate.child === a.child, + c = 0, + d = 0; + if (b) for (var e = a.child; null !== e;) c |= e.lanes | e.childLanes, d |= e.subtreeFlags & 14680064, d |= e.flags & 14680064, e.return = a, e = e.sibling;else for (e = a.child; null !== e;) c |= e.lanes | e.childLanes, d |= e.subtreeFlags, d |= e.flags, e.return = a, e = e.sibling; + a.subtreeFlags |= d; + a.childLanes = c; + return b; +} +function Fj(a, b, c) { + var d = b.pendingProps; + wg(b); + switch (b.tag) { + case 2: + case 16: + case 15: + case 0: + case 11: + case 7: + case 8: + case 12: + case 9: + case 14: + return S(b), null; + case 1: + return Zf(b.type) && $f(), S(b), null; + case 3: + d = b.stateNode; + Jh(); + E(Wf); + E(H); + Oh(); + d.pendingContext && (d.context = d.pendingContext, d.pendingContext = null); + if (null === a || null === a.child) Gg(b) ? b.flags |= 4 : null === a || a.memoizedState.isDehydrated && 0 === (b.flags & 256) || (b.flags |= 1024, null !== zg && (Gj(zg), zg = null)); + Bj(a, b); + S(b); + return null; + case 5: + Lh(b); + var e = Hh(Gh.current); + c = b.type; + if (null !== a && null != b.stateNode) Cj(a, b, c, d, e), a.ref !== b.ref && (b.flags |= 512, b.flags |= 2097152);else { + if (!d) { + if (null === b.stateNode) throw Error(p(166)); + S(b); + return null; + } + a = Hh(Eh.current); + if (Gg(b)) { + d = b.stateNode; + c = b.type; + var f = b.memoizedProps; + d[Of] = b; + d[Pf] = f; + a = 0 !== (b.mode & 1); + switch (c) { + case "dialog": + D("cancel", d); + D("close", d); + break; + case "iframe": + case "object": + case "embed": + D("load", d); + break; + case "video": + case "audio": + for (e = 0; e < lf.length; e++) D(lf[e], d); + break; + case "source": + D("error", d); + break; + case "img": + case "image": + case "link": + D("error", d); + D("load", d); + break; + case "details": + D("toggle", d); + break; + case "input": + Za(d, f); + D("invalid", d); + break; + case "select": + d._wrapperState = { + wasMultiple: !!f.multiple + }; + D("invalid", d); + break; + case "textarea": + hb(d, f), D("invalid", d); + } + ub(c, f); + e = null; + for (var g in f) if (f.hasOwnProperty(g)) { + var h = f[g]; + "children" === g ? "string" === typeof h ? d.textContent !== h && (!0 !== f.suppressHydrationWarning && Af(d.textContent, h, a), e = ["children", h]) : "number" === typeof h && d.textContent !== "" + h && (!0 !== f.suppressHydrationWarning && Af(d.textContent, h, a), e = ["children", "" + h]) : ea.hasOwnProperty(g) && null != h && "onScroll" === g && D("scroll", d); + } + switch (c) { + case "input": + Va(d); + db(d, f, !0); + break; + case "textarea": + Va(d); + jb(d); + break; + case "select": + case "option": + break; + default: + "function" === typeof f.onClick && (d.onclick = Bf); + } + d = e; + b.updateQueue = d; + null !== d && (b.flags |= 4); + } else { + g = 9 === e.nodeType ? e : e.ownerDocument; + "http://www.w3.org/1999/xhtml" === a && (a = kb(c)); + "http://www.w3.org/1999/xhtml" === a ? "script" === c ? (a = g.createElement("div"), a.innerHTML = "