diff --git a/.babelrc b/.babelrc
deleted file mode 100644
index 53ba16a..0000000
--- a/.babelrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "presets": ["env", "react"]
-}
\ No newline at end of file
diff --git a/.clasp.json b/.clasp.json
index 513c054..6b69c99 100644
--- a/.clasp.json
+++ b/.clasp.json
@@ -1,4 +1,4 @@
{
"rootDir": "dist",
- "scriptId":"*** scriptId from GAS Script Editor, File -> Project properties ***"
+ "scriptId":"17yhkDaoyccM467KaeWLmLG3DndMgoeUCawf9SEkMq1-AogZ6l1c9e3Qe"
}
\ No newline at end of file
diff --git a/.eslintrc.json b/.eslintrc.json
deleted file mode 100644
index 148fe23..0000000
--- a/.eslintrc.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "root": true,
- "parser": "babel-eslint",
- "extends": ["eslint:recommended", "google", "plugin:prettier/recommended"],
- "plugins": ["prettier", "googleappsscript"],
- "env": {
- "googleappsscript/googleappsscript": true
- },
- "globals": {
- },
- "rules": {
- "prettier/prettier": "error",
- "import/prefer-default-export": 0,
- "no-console": 0
- }
-}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index b512c09..a0fa763 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
-node_modules
\ No newline at end of file
+node_modules
+.clasp.json
\ No newline at end of file
diff --git a/.prettierrc b/.prettierrc
deleted file mode 100644
index 3f584f6..0000000
--- a/.prettierrc
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "printWidth": 120,
- "singleQuote": true
-}
diff --git a/.tern-project b/.tern-project
new file mode 100644
index 0000000..cd6a2f2
--- /dev/null
+++ b/.tern-project
@@ -0,0 +1,15 @@
+{
+ "ecmaVersion": 7,
+ "libs": [
+ ],
+ "plugins": {
+ "complete_strings": {},
+ "googleappsscript": {},
+ "es_modules": {},
+ "node": {},
+ "doc_comment": {
+ "fullDocs": true,
+ "strong": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index 907f1b6..d8d49c3 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,14 @@
-#React + Google Apps Script#
+## React + Google Apps Script
+*Use this repo as your boilerplate React app for use with HTML dialogs in Google Sheets, Docs and Forms.*
-Use this repo as your boilerplate React app for use with Google Apps Script html dialogs.
+This project uses labnol's excellent [apps-script-starter](https://github.com/labnol/apps-script-starter) as a starting point, adding support for client-side dialogs built with React. It demonstrates how easy it is to build React apps that interact with Google Apps server-side scripts.
-It uses labnol's excellent [apps-script-starter](https://github.com/labnol/apps-script-starter) project as a starting point, but adds support for client-side dialogs built with React, and shows how React pages can interact with Google Apps server-side script.
-
-**Installation**
+## Installation
Set up the sample project:
```
mkdir my-gas-react-app && cd my-gas-react-app
-clone https://github.com/enuchi/React-Google-Apps-Script.git
+git clone https://github.com/enuchi/React-Google-Apps-Script.git
npm install
```
Create a new Google Sheets spreadsheet. Open the Script Editor (Tools --> Script Editor) and copy the ScriptId (File --> Project properties).
@@ -17,17 +16,72 @@ Create a new Google Sheets spreadsheet. Open the Script Editor (Tools --> Script
Add the ScriptId to the .clasp.json file:
```
// .clasp.json
-{
- "rootDir": "dist",
- "scriptId":"...paste scriptId here..."
-}
+{"rootDir": "dist",
+ "scriptId":"...paste scriptId here..."}
```
-Log into CLASP, which lets you develop Apps Script projects locally, and follow the authorization flow:
+Log into CLASP, a tool that lets you develop Apps Script projects locally, and follow the authorization flow:
```
npx clasp login
```
-Build and deploy the app!
+Modify your server-side and client-side code in the `src` folder using ES6/7 and React. Change the scopes in `appsscript.json`. When you're ready, build the app!
```
npm run build
-npm run deploy
```
+Webpack will bundle your files in `dist`. Push your files to Google's servers using CLASP:
+```
+clasp push
+```
+
+
+## The sample app
+Insert new sheets and delete sheets through a simple dialog, built with React:
+
+## How it works
+Code is written in the `src` directory and bundled into the `dist` directory when `npm run build` is run. CLASP pushes files from `dist` to Script Editor files.
+
+Multiple Webpack entry points are used to generate code that is compatible with the Google Apps Script environment on both server and client. On the server side that means ending up as (basically) ES5. On the client side, the challenge is that GAS does not easily support multiple pages, so a single HTML page is created. This is done with the help of some Webpack plugins that use HTML templates and add the necessary CSS and JavaScript/React assets inline. (You'll see the original output bundle, `main.js`, in the `dist` directory, but it's ignored through .clasp.ignore). The appsscript.json manifest file is simply copied into `dist`.
+
+## Features
+- Support for JSX syntax:
+```
+render() {
+ return (
Add a sheet:
+
+
);
+}
+```
+- Support for npm packages. Simply install with npm and `import`:
+```
+import React from "react";
+import ReactDOM from "react-dom";
+import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
+```
+- `import` CSS from another file:
+```
+import "./styles.css";
+```
+ - Shows how server calls are made in React using `google.script.run`:
+ ```
+componentDidMount() {
+ google.script.run
+ .withSuccessHandler((data) => this.setState({names: data}))
+ .withFailureHandler((error) => alert(error))
+ .getSheetsData()
+}
+ ```
+
+## Extending this app
+- You can split up server-side code into multiple files and folders . Simply use `import` and `export`.
+- Make sure to expose all public functions (functions called from the client with `google.script.run`) as well as onOpen using e.g.:
+```
+const onOpen = () => {
+ SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
+ .createMenu('Dialog')
+ .addItem('Add sheets', 'openDialog')
+ .addToUi();
+}
+
+global.onOpen = onOpen
+```
\ No newline at end of file
diff --git a/dist/code.js b/dist/code.js
index bea9515..d2f630d 100644
--- a/dist/code.js
+++ b/dist/code.js
@@ -7,175 +7,112 @@ function getSheetsData() {
function addSheet() {
}
function deleteSheet() {
-}/******/ (function(modules) { // webpackBootstrap
-/******/ // The module cache
-/******/ var installedModules = {};
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId]) {
-/******/ return installedModules[moduleId].exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ i: moduleId,
-/******/ l: false,
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ // Flag the module as loaded
-/******/ module.l = true;
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/******/
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-/******/
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-/******/
-/******/ // define getter function for harmony exports
-/******/ __webpack_require__.d = function(exports, name, getter) {
-/******/ if(!__webpack_require__.o(exports, name)) {
-/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ }
-/******/ };
-/******/
-/******/ // define __esModule on exports
-/******/ __webpack_require__.r = function(exports) {
-/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ }
-/******/ Object.defineProperty(exports, '__esModule', { value: true });
-/******/ };
-/******/
-/******/ // create a fake namespace object
-/******/ // mode & 1: value is a module id, require it
-/******/ // mode & 2: merge all properties of value into the ns
-/******/ // mode & 4: return value when already ns object
-/******/ // mode & 8|1: behave like require
-/******/ __webpack_require__.t = function(value, mode) {
-/******/ if(mode & 1) value = __webpack_require__(value);
-/******/ if(mode & 8) return value;
-/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ var ns = Object.create(null);
-/******/ __webpack_require__.r(ns);
-/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ return ns;
-/******/ };
-/******/
-/******/ // getDefaultExport function for compatibility with non-harmony modules
-/******/ __webpack_require__.n = function(module) {
-/******/ var getter = module && module.__esModule ?
-/******/ function getDefault() { return module['default']; } :
-/******/ function getModuleExports() { return module; };
-/******/ __webpack_require__.d(getter, 'a', getter);
-/******/ return getter;
-/******/ };
-/******/
-/******/ // Object.prototype.hasOwnProperty.call
-/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "";
-/******/
-/******/
-/******/ // Load entry module and return exports
-/******/ return __webpack_require__(__webpack_require__.s = 0);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(global) {
-
-// Use ES6/7 code
-var onOpen = function onOpen() {
- SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
- .createMenu('Dialog').addItem('Add sheets', 'openDialog').addToUi();
-};
-
-var openDialog = function openDialog() {
- var html = HtmlService.createHtmlOutputFromFile('dialog');
- SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
- .showModalDialog(html, 'Sheet Editor');
-};
-
-var getSheets = function getSheets() {
- return SpreadsheetApp.getActive().getSheets();
-};
-
-var getActiveSheetName = function getActiveSheetName() {
- return SpreadsheetApp.getActive().getSheetName();
-};
-
-var getSheetsData = function getSheetsData() {
- var activeSheetName = getActiveSheetName();
- return getSheets().map(function (sheet, index) {
- var sheetName = sheet.getName();
- return {
- text: sheetName,
- sheetIndex: index,
- isActive: sheetName === activeSheetName
- };
- });
-};
-
-var addSheet = function addSheet(sheetTitle) {
- SpreadsheetApp.getActive().insertSheet(sheetTitle);
- return getSheetsData();
-};
-
-var deleteSheet = function deleteSheet(sheetIndex) {
- var sheets = getSheets();
- SpreadsheetApp.getActive().deleteSheet(sheets[sheetIndex]);
- return getSheetsData();
-};
-
-//Must expose public functions
-global.onOpen = onOpen;
-global.openDialog = openDialog;
-global.getSheetsData = getSheetsData;
-global.addSheet = addSheet;
-global.deleteSheet = deleteSheet;
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)))
-
-/***/ }),
-/* 1 */
-/***/ (function(module, exports) {
-
-var g;
-
-// This works in non-strict mode
-g = (function() {
- return this;
-})();
-
-try {
- // This works if eval is allowed (see CSP)
- g = g || Function("return this")() || (1, eval)("this");
-} catch (e) {
- // This works if the window reference is available
- if (typeof window === "object") g = window;
}
-
-// g can still be undefined, but nothing to do about it...
-// We return undefined, instead of nothing here, so it's
-// easier to handle this case. if(!global) { ...}
-
-module.exports = g;
-
-
-/***/ })
-/******/ ]);
\ No newline at end of file
+function setActiveSheet() {
+}!function(e, a) {
+ for (var i in a) e[i] = a[i];
+}(this, function(modules) {
+ var installedModules = {};
+ function __webpack_require__(moduleId) {
+ if (installedModules[moduleId]) return installedModules[moduleId].exports;
+ var module = installedModules[moduleId] = {
+ i: moduleId,
+ l: !1,
+ exports: {}
+ };
+ return modules[moduleId].call(module.exports, module, module.exports, __webpack_require__),
+ module.l = !0, module.exports;
+ }
+ return __webpack_require__.m = modules, __webpack_require__.c = installedModules,
+ __webpack_require__.d = function(exports, name, getter) {
+ __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {
+ enumerable: !0,
+ get: getter
+ });
+ }, __webpack_require__.r = function(exports) {
+ "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {
+ value: "Module"
+ }), Object.defineProperty(exports, "__esModule", {
+ value: !0
+ });
+ }, __webpack_require__.t = function(value, mode) {
+ if (1 & mode && (value = __webpack_require__(value)), 8 & mode) return value;
+ if (4 & mode && "object" == typeof value && value && value.__esModule) return value;
+ var ns = Object.create(null);
+ if (__webpack_require__.r(ns), Object.defineProperty(ns, "default", {
+ enumerable: !0,
+ value: value
+ }), 2 & mode && "string" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {
+ return value[key];
+ }.bind(null, key));
+ return ns;
+ }, __webpack_require__.n = function(module) {
+ var getter = module && module.__esModule ? function() {
+ return module["default"];
+ } : function() {
+ return module;
+ };
+ return __webpack_require__.d(getter, "a", getter), getter;
+ }, __webpack_require__.o = function(object, property) {
+ return Object.prototype.hasOwnProperty.call(object, property);
+ }, __webpack_require__.p = "", __webpack_require__(__webpack_require__.s = 1);
+}([ function(module, __webpack_exports__, __webpack_require__) {
+ "use strict";
+ __webpack_require__.d(__webpack_exports__, "d", function() {
+ return onOpen;
+ }), __webpack_require__.d(__webpack_exports__, "e", function() {
+ return openDialog;
+ }), __webpack_require__.d(__webpack_exports__, "c", function() {
+ return getSheetsData;
+ }), __webpack_require__.d(__webpack_exports__, "a", function() {
+ return addSheet;
+ }), __webpack_require__.d(__webpack_exports__, "b", function() {
+ return deleteSheet;
+ }), __webpack_require__.d(__webpack_exports__, "f", function() {
+ return setActiveSheet;
+ });
+ var onOpen = function() {
+ SpreadsheetApp.getUi().createMenu("Custom scripts").addItem("Edit sheets [sample React project]", "openDialog").addToUi();
+ }, openDialog = function() {
+ var html = HtmlService.createHtmlOutputFromFile("dialog").setWidth(400).setHeight(600);
+ SpreadsheetApp.getUi().showModalDialog(html, "Sheet Editor");
+ }, getSheets = function() {
+ return SpreadsheetApp.getActive().getSheets();
+ }, getSheetsData = function() {
+ var activeSheetName = SpreadsheetApp.getActive().getSheetName();
+ return getSheets().map(function(sheet, index) {
+ var sheetName = sheet.getName();
+ return {
+ text: sheetName,
+ sheetIndex: index,
+ isActive: sheetName === activeSheetName
+ };
+ });
+ }, addSheet = function(sheetTitle) {
+ return SpreadsheetApp.getActive().insertSheet(sheetTitle), getSheetsData();
+ }, deleteSheet = function(sheetIndex) {
+ var sheets = getSheets();
+ return SpreadsheetApp.getActive().deleteSheet(sheets[sheetIndex]), getSheetsData();
+ }, setActiveSheet = function(sheetName) {
+ return SpreadsheetApp.getActive().getSheetByName(sheetName).activate(), getSheetsData();
+ };
+}, function(module, __webpack_exports__, __webpack_require__) {
+ "use strict";
+ __webpack_require__.r(__webpack_exports__), function(global) {
+ var _sheets_utilities_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+ global.onOpen = _sheets_utilities_js__WEBPACK_IMPORTED_MODULE_0__["d"], global.openDialog = _sheets_utilities_js__WEBPACK_IMPORTED_MODULE_0__["e"],
+ global.getSheetsData = _sheets_utilities_js__WEBPACK_IMPORTED_MODULE_0__["c"], global.addSheet = _sheets_utilities_js__WEBPACK_IMPORTED_MODULE_0__["a"],
+ global.deleteSheet = _sheets_utilities_js__WEBPACK_IMPORTED_MODULE_0__["b"], global.setActiveSheet = _sheets_utilities_js__WEBPACK_IMPORTED_MODULE_0__["f"];
+ }.call(this, __webpack_require__(2));
+}, function(module, exports) {
+ var g;
+ g = function() {
+ return this;
+ }();
+ try {
+ g = g || Function("return this")() || (0, eval)("this");
+ } catch (e) {
+ "object" == typeof window && (g = window);
+ }
+ module.exports = g;
+} ]));
\ No newline at end of file
diff --git a/dist/dialog.html b/dist/dialog.html
index d5b18d7..e99b471 100644
--- a/dist/dialog.html
+++ b/dist/dialog.html
@@ -4,33 +4,5132 @@
+
+
+
+
- -->
+ default:
+ a = !1;
+ }
+ return a ? null : (c && "function" != typeof c && A("231", b, typeof c), c);
+ }
+ function Ia(a, b) {
+ null !== a && (Ca = Aa(Ca, a)), a = Ca, Ca = null, a && (Ba(a, b ? Ea : Fa), Ca && A("95"),
+ B.rethrowCaughtError());
+ }
+ function Ja(a, b, c, d) {
+ for (var e = null, f = 0; f < oa.length; f++) {
+ var g = oa[f];
+ g && (g = g.extractEvents(a, b, c, d)) && (e = Aa(e, g));
+ }
+ Ia(e, !1);
+ }
+ var Ka = {
+ injection: Ga,
+ getListener: Ha,
+ runEventsInBatch: Ia,
+ runExtractedEventsInBatch: Ja
+ }, La = Math.random().toString(36).slice(2), C = "__reactInternalInstance$" + La, Ma = "__reactEventHandlers$" + La;
+ function Na(a) {
+ if (a[C]) return a[C];
+ for (;!a[C]; ) {
+ if (!a.parentNode) return null;
+ a = a.parentNode;
+ }
+ return 5 === (a = a[C]).tag || 6 === a.tag ? a : null;
+ }
+ function Oa(a) {
+ if (5 === a.tag || 6 === a.tag) return a.stateNode;
+ A("33");
+ }
+ function Pa(a) {
+ return a[Ma] || null;
+ }
+ var Qa = {
+ precacheFiberNode: function(a, b) {
+ b[C] = a;
+ },
+ getClosestInstanceFromNode: Na,
+ getInstanceFromNode: function(a) {
+ return !(a = a[C]) || 5 !== a.tag && 6 !== a.tag ? null : a;
+ },
+ getNodeFromInstance: Oa,
+ getFiberCurrentPropsFromNode: Pa,
+ updateFiberProps: function(a, b) {
+ a[Ma] = b;
+ }
+ };
+ function F(a) {
+ do {
+ a = a["return"];
+ } while (a && 5 !== a.tag);
+ return a || null;
+ }
+ function Ra(a, b, c) {
+ for (var d = []; a; ) d.push(a), a = F(a);
+ for (a = d.length; 0 < a--; ) b(d[a], "captured", c);
+ for (a = 0; a < d.length; a++) b(d[a], "bubbled", c);
+ }
+ function Sa(a, b, c) {
+ (b = Ha(a, c.dispatchConfig.phasedRegistrationNames[b])) && (c._dispatchListeners = Aa(c._dispatchListeners, b),
+ c._dispatchInstances = Aa(c._dispatchInstances, a));
+ }
+ function Ta(a) {
+ a && a.dispatchConfig.phasedRegistrationNames && Ra(a._targetInst, Sa, a);
+ }
+ function Ua(a) {
+ if (a && a.dispatchConfig.phasedRegistrationNames) {
+ var b = a._targetInst;
+ Ra(b = b ? F(b) : null, Sa, a);
+ }
+ }
+ function Va(a, b, c) {
+ a && c && c.dispatchConfig.registrationName && (b = Ha(a, c.dispatchConfig.registrationName)) && (c._dispatchListeners = Aa(c._dispatchListeners, b),
+ c._dispatchInstances = Aa(c._dispatchInstances, a));
+ }
+ function Xa(a) {
+ a && a.dispatchConfig.registrationName && Va(a._targetInst, null, a);
+ }
+ function Ya(a) {
+ Ba(a, Ta);
+ }
+ function Za(a, b, c, d) {
+ if (c && d) a: {
+ for (var e = c, f = d, g = 0, h = e; h; h = F(h)) g++;
+ h = 0;
+ for (var k = f; k; k = F(k)) h++;
+ for (;0 < g - h; ) e = F(e), g--;
+ for (;0 < h - g; ) f = F(f), h--;
+ for (;g--; ) {
+ if (e === f || e === f.alternate) break a;
+ e = F(e), f = F(f);
+ }
+ e = null;
+ } else e = null;
+ for (f = e, e = []; c && c !== f && (null === (g = c.alternate) || g !== f); ) e.push(c),
+ c = F(c);
+ for (c = []; d && d !== f && (null === (g = d.alternate) || g !== f); ) c.push(d),
+ d = F(d);
+ for (d = 0; d < e.length; d++) Va(e[d], "bubbled", a);
+ for (a = c.length; 0 < a--; ) Va(c[a], "captured", b);
+ }
+ var $a = {
+ accumulateTwoPhaseDispatches: Ya,
+ accumulateTwoPhaseDispatchesSkipTarget: function(a) {
+ Ba(a, Ua);
+ },
+ accumulateEnterLeaveDispatches: Za,
+ accumulateDirectDispatches: function(a) {
+ Ba(a, Xa);
+ }
+ };
+ function ab(a, b) {
+ var c = {};
+ return c[a.toLowerCase()] = b.toLowerCase(), c["Webkit" + a] = "webkit" + b, c["Moz" + a] = "moz" + b,
+ c["ms" + a] = "MS" + b, c["O" + a] = "o" + b.toLowerCase(), c;
+ }
+ var bb = {
+ animationend: ab("Animation", "AnimationEnd"),
+ animationiteration: ab("Animation", "AnimationIteration"),
+ animationstart: ab("Animation", "AnimationStart"),
+ transitionend: ab("Transition", "TransitionEnd")
+ }, cb = {}, db = {};
+ function eb(a) {
+ if (cb[a]) return cb[a];
+ if (!bb[a]) return a;
+ var c, b = bb[a];
+ for (c in b) if (b.hasOwnProperty(c) && c in db) return cb[a] = b[c];
+ return a;
+ }
+ m.canUseDOM && (db = document.createElement("div").style, "AnimationEvent" in window || (delete bb.animationend.animation,
+ delete bb.animationiteration.animation, delete bb.animationstart.animation), "TransitionEvent" in window || delete bb.transitionend.transition);
+ var fb = eb("animationend"), gb = eb("animationiteration"), hb = eb("animationstart"), ib = eb("transitionend"), jb = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), kb = null;
+ function lb() {
+ return !kb && m.canUseDOM && (kb = "textContent" in document.documentElement ? "textContent" : "innerText"),
+ kb;
+ }
+ var G = {
+ _root: null,
+ _startText: null,
+ _fallbackText: null
+ };
+ function mb() {
+ if (G._fallbackText) return G._fallbackText;
+ var a, d, b = G._startText, c = b.length, e = nb(), 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 G._fallbackText = e.slice(a, 1 < d ? 1 - d : void 0), G._fallbackText;
+ }
+ function nb() {
+ return "value" in G._root ? G._root.value : G._root[lb()];
+ }
+ var ob = "dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances".split(" "), pb = {
+ type: null,
+ target: null,
+ currentTarget: v.thatReturnsNull,
+ eventPhase: null,
+ bubbles: null,
+ cancelable: null,
+ timeStamp: function(a) {
+ return a.timeStamp || Date.now();
+ },
+ defaultPrevented: null,
+ isTrusted: null
+ };
+ function H(a, b, c, d) {
+ for (var e in this.dispatchConfig = a, this._targetInst = b, this.nativeEvent = c,
+ a = this.constructor.Interface) a.hasOwnProperty(e) && ((b = a[e]) ? this[e] = b(c) : "target" === e ? this.target = d : this[e] = c[e]);
+ return this.isDefaultPrevented = (null != c.defaultPrevented ? c.defaultPrevented : !1 === c.returnValue) ? v.thatReturnsTrue : v.thatReturnsFalse,
+ this.isPropagationStopped = v.thatReturnsFalse, this;
+ }
+ function rb(a, b, c, d) {
+ if (this.eventPool.length) {
+ var e = this.eventPool.pop();
+ return this.call(e, a, b, c, d), e;
+ }
+ return new this(a, b, c, d);
+ }
+ function sb(a) {
+ a instanceof this || A("223"), a.destructor(), 10 > this.eventPool.length && this.eventPool.push(a);
+ }
+ function qb(a) {
+ a.eventPool = [], a.getPooled = rb, a.release = sb;
+ }
+ p(H.prototype, {
+ preventDefault: function() {
+ this.defaultPrevented = !0;
+ var a = this.nativeEvent;
+ a && (a.preventDefault ? a.preventDefault() : "unknown" != typeof a.returnValue && (a.returnValue = !1),
+ this.isDefaultPrevented = v.thatReturnsTrue);
+ },
+ stopPropagation: function() {
+ var a = this.nativeEvent;
+ a && (a.stopPropagation ? a.stopPropagation() : "unknown" != typeof a.cancelBubble && (a.cancelBubble = !0),
+ this.isPropagationStopped = v.thatReturnsTrue);
+ },
+ persist: function() {
+ this.isPersistent = v.thatReturnsTrue;
+ },
+ isPersistent: v.thatReturnsFalse,
+ destructor: function() {
+ var b, a = this.constructor.Interface;
+ for (b in a) this[b] = null;
+ for (a = 0; a < ob.length; a++) this[ob[a]] = null;
+ }
+ }), H.Interface = pb, H.extend = function(a) {
+ function b() {}
+ function c() {
+ return d.apply(this, arguments);
+ }
+ var d = this;
+ b.prototype = d.prototype;
+ var e = new b();
+ return p(e, c.prototype), c.prototype = e, c.prototype.constructor = c, c.Interface = p({}, d.Interface, a),
+ c.extend = d.extend, qb(c), c;
+ }, qb(H);
+ var tb = H.extend({
+ data: null
+ }), ub = H.extend({
+ data: null
+ }), vb = [ 9, 13, 27, 32 ], wb = m.canUseDOM && "CompositionEvent" in window, xb = null;
+ m.canUseDOM && "documentMode" in document && (xb = document.documentMode);
+ var yb = m.canUseDOM && "TextEvent" in window && !xb, zb = m.canUseDOM && (!wb || xb && 8 < xb && 11 >= xb), Ab = String.fromCharCode(32), Bb = {
+ beforeInput: {
+ phasedRegistrationNames: {
+ bubbled: "onBeforeInput",
+ captured: "onBeforeInputCapture"
+ },
+ dependencies: [ "compositionend", "keypress", "textInput", "paste" ]
+ },
+ compositionEnd: {
+ phasedRegistrationNames: {
+ bubbled: "onCompositionEnd",
+ captured: "onCompositionEndCapture"
+ },
+ dependencies: "blur compositionend keydown keypress keyup mousedown".split(" ")
+ },
+ compositionStart: {
+ phasedRegistrationNames: {
+ bubbled: "onCompositionStart",
+ captured: "onCompositionStartCapture"
+ },
+ dependencies: "blur compositionstart keydown keypress keyup mousedown".split(" ")
+ },
+ compositionUpdate: {
+ phasedRegistrationNames: {
+ bubbled: "onCompositionUpdate",
+ captured: "onCompositionUpdateCapture"
+ },
+ dependencies: "blur compositionupdate keydown keypress keyup mousedown".split(" ")
+ }
+ }, Cb = !1;
+ function Db(a, b) {
+ switch (a) {
+ case "keyup":
+ return -1 !== vb.indexOf(b.keyCode);
-
-
+ case "keydown":
+ return 229 !== b.keyCode;
+
+ case "keypress":
+ case "mousedown":
+ case "blur":
+ return !0;
+
+ default:
+ return !1;
+ }
+ }
+ function Eb(a) {
+ return "object" == typeof (a = a.detail) && "data" in a ? a.data : null;
+ }
+ var Fb = !1;
+ var Ib = {
+ eventTypes: Bb,
+ extractEvents: function(a, b, c, d) {
+ var e = void 0, f = void 0;
+ if (wb) b: {
+ switch (a) {
+ case "compositionstart":
+ e = Bb.compositionStart;
+ break b;
+
+ case "compositionend":
+ e = Bb.compositionEnd;
+ break b;
+
+ case "compositionupdate":
+ e = Bb.compositionUpdate;
+ break b;
+ }
+ e = void 0;
+ } else Fb ? Db(a, c) && (e = Bb.compositionEnd) : "keydown" === a && 229 === c.keyCode && (e = Bb.compositionStart);
+ return e ? (zb && (Fb || e !== Bb.compositionStart ? e === Bb.compositionEnd && Fb && (f = mb()) : (G._root = d,
+ G._startText = nb(), Fb = !0)), e = tb.getPooled(e, b, c, d), f ? e.data = f : null !== (f = Eb(c)) && (e.data = f),
+ Ya(e), f = e) : f = null, (a = yb ? function(a, b) {
+ switch (a) {
+ case "compositionend":
+ return Eb(b);
+
+ case "keypress":
+ return 32 !== b.which ? null : (Cb = !0, Ab);
+
+ case "textInput":
+ return (a = b.data) === Ab && Cb ? null : a;
+
+ default:
+ return null;
+ }
+ }(a, c) : function(a, b) {
+ if (Fb) return "compositionend" === a || !wb && Db(a, b) ? (a = mb(), G._root = null,
+ G._startText = null, G._fallbackText = null, Fb = !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 zb ? null : b.data;
+
+ default:
+ return null;
+ }
+ }(a, c)) ? ((b = ub.getPooled(Bb.beforeInput, b, c, d)).data = a, Ya(b)) : b = null,
+ null === f ? b : null === b ? f : [ f, b ];
+ }
+ }, Jb = null, Kb = {
+ injectFiberControlledHostComponent: function(a) {
+ Jb = a;
+ }
+ }, Lb = null, Mb = null;
+ function Nb(a) {
+ if (a = xa(a)) {
+ Jb && "function" == typeof Jb.restoreControlledState || A("194");
+ var b = wa(a.stateNode);
+ Jb.restoreControlledState(a.stateNode, a.type, b);
+ }
+ }
+ function Ob(a) {
+ Lb ? Mb ? Mb.push(a) : Mb = [ a ] : Lb = a;
+ }
+ function Pb() {
+ return null !== Lb || null !== Mb;
+ }
+ function Qb() {
+ if (Lb) {
+ var a = Lb, b = Mb;
+ if (Mb = Lb = null, Nb(a), b) for (a = 0; a < b.length; a++) Nb(b[a]);
+ }
+ }
+ var Rb = {
+ injection: Kb,
+ enqueueStateRestore: Ob,
+ needsStateRestore: Pb,
+ restoreStateIfNeeded: Qb
+ };
+ function Sb(a, b) {
+ return a(b);
+ }
+ function Tb(a, b, c) {
+ return a(b, c);
+ }
+ function Ub() {}
+ var Vb = !1;
+ function Wb(a, b) {
+ if (Vb) return a(b);
+ Vb = !0;
+ try {
+ return Sb(a, b);
+ } finally {
+ Vb = !1, Pb() && (Ub(), Qb());
+ }
+ }
+ var Xb = {
+ 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 Yb(a) {
+ var b = a && a.nodeName && a.nodeName.toLowerCase();
+ return "input" === b ? !!Xb[a.type] : "textarea" === b;
+ }
+ function Zb(a) {
+ return (a = a.target || a.srcElement || window).correspondingUseElement && (a = a.correspondingUseElement),
+ 3 === a.nodeType ? a.parentNode : a;
+ }
+ function $b(a, b) {
+ return !(!m.canUseDOM || b && !("addEventListener" in document)) && ((b = (a = "on" + a) in document) || ((b = document.createElement("div")).setAttribute(a, "return;"),
+ b = "function" == typeof b[a]), b);
+ }
+ function ac(a) {
+ var b = a.type;
+ return (a = a.nodeName) && "input" === a.toLowerCase() && ("checkbox" === b || "radio" === b);
+ }
+ function cc(a) {
+ a._valueTracker || (a._valueTracker = function(a) {
+ var b = ac(a) ? "checked" : "value", c = Object.getOwnPropertyDescriptor(a.constructor.prototype, b), d = "" + a[b];
+ if (!a.hasOwnProperty(b) && void 0 !== c && "function" == typeof c.get && "function" == typeof c.set) {
+ var e = c.get, f = c.set;
+ return Object.defineProperty(a, b, {
+ configurable: !0,
+ get: function() {
+ return e.call(this);
+ },
+ set: function(a) {
+ d = "" + a, f.call(this, a);
+ }
+ }), Object.defineProperty(a, b, {
+ enumerable: c.enumerable
+ }), {
+ getValue: function() {
+ return d;
+ },
+ setValue: function(a) {
+ d = "" + a;
+ },
+ stopTracking: function() {
+ a._valueTracker = null, delete a[b];
+ }
+ };
+ }
+ }(a));
+ }
+ function dc(a) {
+ if (!a) return !1;
+ var b = a._valueTracker;
+ if (!b) return !0;
+ var c = b.getValue(), d = "";
+ return a && (d = ac(a) ? a.checked ? "true" : "false" : a.value), (a = d) !== c && (b.setValue(a),
+ !0);
+ }
+ var ec = ba.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, fc = "function" == typeof Symbol && Symbol["for"], gc = fc ? Symbol["for"]("react.element") : 60103, hc = fc ? Symbol["for"]("react.portal") : 60106, ic = fc ? Symbol["for"]("react.fragment") : 60107, jc = fc ? Symbol["for"]("react.strict_mode") : 60108, kc = fc ? Symbol["for"]("react.profiler") : 60114, lc = fc ? Symbol["for"]("react.provider") : 60109, mc = fc ? Symbol["for"]("react.context") : 60110, pc = fc ? Symbol["for"]("react.async_mode") : 60111, qc = fc ? Symbol["for"]("react.forward_ref") : 60112, rc = fc ? Symbol["for"]("react.timeout") : 60113, sc = "function" == typeof Symbol && Symbol.iterator;
+ function tc(a) {
+ return null === a || void 0 === a ? null : "function" == typeof (a = sc && a[sc] || a["@@iterator"]) ? a : null;
+ }
+ function uc(a) {
+ var b = a.type;
+ if ("function" == typeof b) return b.displayName || b.name;
+ if ("string" == typeof b) return b;
+ switch (b) {
+ case pc:
+ return "AsyncMode";
+
+ case mc:
+ return "Context.Consumer";
+
+ case ic:
+ return "ReactFragment";
+
+ case hc:
+ return "ReactPortal";
+
+ case kc:
+ return "Profiler(" + a.pendingProps.id + ")";
+
+ case lc:
+ return "Context.Provider";
+
+ case jc:
+ return "StrictMode";
+
+ case rc:
+ return "Timeout";
+ }
+ if ("object" == typeof b && null !== b) switch (b.$$typeof) {
+ case qc:
+ return "" !== (a = b.render.displayName || b.render.name || "") ? "ForwardRef(" + a + ")" : "ForwardRef";
+ }
+ return null;
+ }
+ function vc(a) {
+ var b = "";
+ do {
+ a: switch (a.tag) {
+ case 0:
+ case 1:
+ case 2:
+ case 5:
+ var c = a._debugOwner, d = a._debugSource, e = uc(a), f = null;
+ c && (f = uc(c)), c = d, e = "\n in " + (e || "Unknown") + (c ? " (at " + c.fileName.replace(/^.*[\\\/]/, "") + ":" + c.lineNumber + ")" : f ? " (created by " + f + ")" : "");
+ break a;
+
+ default:
+ e = "";
+ }
+ b += e, a = a["return"];
+ } while (a);
+ return b;
+ }
+ var wc = /^[: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]*$/, xc = Object.prototype.hasOwnProperty, zc = {}, Ac = {};
+ function I(a, b, c, d, e) {
+ this.acceptsBooleans = 2 === b || 3 === b || 4 === b, this.attributeName = d, this.attributeNamespace = e,
+ this.mustUseProperty = c, this.propertyName = a, this.type = b;
+ }
+ var J = {};
+ "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a) {
+ J[a] = new I(a, 0, !1, a, null);
+ }), [ [ "acceptCharset", "accept-charset" ], [ "className", "class" ], [ "htmlFor", "for" ], [ "httpEquiv", "http-equiv" ] ].forEach(function(a) {
+ var b = a[0];
+ J[b] = new I(b, 1, !1, a[1], null);
+ }), [ "contentEditable", "draggable", "spellCheck", "value" ].forEach(function(a) {
+ J[a] = new I(a, 2, !1, a.toLowerCase(), null);
+ }), [ "autoReverse", "externalResourcesRequired", "preserveAlpha" ].forEach(function(a) {
+ J[a] = new I(a, 2, !1, a, null);
+ }), "allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a) {
+ J[a] = new I(a, 3, !1, a.toLowerCase(), null);
+ }), [ "checked", "multiple", "muted", "selected" ].forEach(function(a) {
+ J[a] = new I(a, 3, !0, a.toLowerCase(), null);
+ }), [ "capture", "download" ].forEach(function(a) {
+ J[a] = new I(a, 4, !1, a.toLowerCase(), null);
+ }), [ "cols", "rows", "size", "span" ].forEach(function(a) {
+ J[a] = new I(a, 6, !1, a.toLowerCase(), null);
+ }), [ "rowSpan", "start" ].forEach(function(a) {
+ J[a] = new I(a, 5, !1, a.toLowerCase(), null);
+ });
+ var Ec = /[\-:]([a-z])/g;
+ function Fc(a) {
+ return a[1].toUpperCase();
+ }
+ function Gc(a, b, c, d) {
+ var e = J.hasOwnProperty(b) ? J[b] : null;
+ (null !== e ? 0 === e.type : !d && (2 < b.length && ("o" === b[0] || "O" === b[0]) && ("n" === b[1] || "N" === b[1]))) || (function(a, b, c, d) {
+ if (null === b || void 0 === b || function(a, b, c, d) {
+ if (null !== c && 0 === c.type) return !1;
+ switch (typeof b) {
+ case "function":
+ case "symbol":
+ return !0;
+
+ case "boolean":
+ return !d && (null !== c ? !c.acceptsBooleans : "data-" !== (a = a.toLowerCase().slice(0, 5)) && "aria-" !== a);
+
+ default:
+ return !1;
+ }
+ }(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;
+ }(b, c, e, d) && (c = null), d || null === e ? function(a) {
+ return !!xc.call(Ac, a) || !xc.call(zc, a) && (wc.test(a) ? Ac[a] = !0 : (zc[a] = !0,
+ !1));
+ }(b) && (null === c ? a.removeAttribute(b) : a.setAttribute(b, "" + c)) : e.mustUseProperty ? a[e.propertyName] = null === c ? 3 !== e.type && "" : c : (b = e.attributeName,
+ d = e.attributeNamespace, null === c ? a.removeAttribute(b) : (c = 3 === (e = e.type) || 4 === e && !0 === c ? "" : "" + c,
+ d ? a.setAttributeNS(d, b, c) : a.setAttribute(b, c))));
+ }
+ function Hc(a, b) {
+ var c = b.checked;
+ return p({}, b, {
+ defaultChecked: void 0,
+ defaultValue: void 0,
+ value: void 0,
+ checked: null != c ? c : a._wrapperState.initialChecked
+ });
+ }
+ function Ic(a, b) {
+ var c = null == b.defaultValue ? "" : b.defaultValue, d = null != b.checked ? b.checked : b.defaultChecked;
+ c = Jc(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 Kc(a, b) {
+ null != (b = b.checked) && Gc(a, "checked", b, !1);
+ }
+ function Lc(a, b) {
+ Kc(a, b);
+ var c = Jc(b.value);
+ null != c && ("number" === b.type ? (0 === c && "" === a.value || a.value != c) && (a.value = "" + c) : a.value !== "" + c && (a.value = "" + c)),
+ b.hasOwnProperty("value") ? Mc(a, b.type, c) : b.hasOwnProperty("defaultValue") && Mc(a, b.type, Jc(b.defaultValue)),
+ null == b.checked && null != b.defaultChecked && (a.defaultChecked = !!b.defaultChecked);
+ }
+ function Nc(a, b, c) {
+ if (b.hasOwnProperty("value") || b.hasOwnProperty("defaultValue")) {
+ b = "" + a._wrapperState.initialValue;
+ var d = a.value;
+ c || b === d || (a.value = b), a.defaultValue = b;
+ }
+ "" !== (c = a.name) && (a.name = ""), a.defaultChecked = !a.defaultChecked, a.defaultChecked = !a.defaultChecked,
+ "" !== c && (a.name = c);
+ }
+ function Mc(a, b, c) {
+ "number" === b && a.ownerDocument.activeElement === a || (null == c ? a.defaultValue = "" + a._wrapperState.initialValue : a.defaultValue !== "" + c && (a.defaultValue = "" + c));
+ }
+ function Jc(a) {
+ switch (typeof a) {
+ case "boolean":
+ case "number":
+ case "object":
+ case "string":
+ case "undefined":
+ return a;
+
+ default:
+ return "";
+ }
+ }
+ "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(Ec, Fc);
+ J[b] = new I(b, 1, !1, a, null);
+ }), "xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a) {
+ var b = a.replace(Ec, Fc);
+ J[b] = new I(b, 1, !1, a, "http://www.w3.org/1999/xlink");
+ }), [ "xml:base", "xml:lang", "xml:space" ].forEach(function(a) {
+ var b = a.replace(Ec, Fc);
+ J[b] = new I(b, 1, !1, a, "http://www.w3.org/XML/1998/namespace");
+ }), J.tabIndex = new I("tabIndex", 1, !1, "tabindex", null);
+ var Oc = {
+ change: {
+ phasedRegistrationNames: {
+ bubbled: "onChange",
+ captured: "onChangeCapture"
+ },
+ dependencies: "blur change click focus input keydown keyup selectionchange".split(" ")
+ }
+ };
+ function Pc(a, b, c) {
+ return (a = H.getPooled(Oc.change, a, b, c)).type = "change", Ob(c), Ya(a), a;
+ }
+ var Qc = null, Rc = null;
+ function Sc(a) {
+ Ia(a, !1);
+ }
+ function Tc(a) {
+ if (dc(Oa(a))) return a;
+ }
+ function Uc(a, b) {
+ if ("change" === a) return b;
+ }
+ var Vc = !1;
+ function Wc() {
+ Qc && (Qc.detachEvent("onpropertychange", Xc), Rc = Qc = null);
+ }
+ function Xc(a) {
+ "value" === a.propertyName && Tc(Rc) && Wb(Sc, a = Pc(Rc, a, Zb(a)));
+ }
+ function Yc(a, b, c) {
+ "focus" === a ? (Wc(), Rc = c, (Qc = b).attachEvent("onpropertychange", Xc)) : "blur" === a && Wc();
+ }
+ function Zc(a) {
+ if ("selectionchange" === a || "keyup" === a || "keydown" === a) return Tc(Rc);
+ }
+ function $c(a, b) {
+ if ("click" === a) return Tc(b);
+ }
+ function ad(a, b) {
+ if ("input" === a || "change" === a) return Tc(b);
+ }
+ m.canUseDOM && (Vc = $b("input") && (!document.documentMode || 9 < document.documentMode));
+ var bd = {
+ eventTypes: Oc,
+ _isInputEventSupported: Vc,
+ extractEvents: function(a, b, c, d) {
+ var e = b ? Oa(b) : window, f = void 0, g = void 0, h = e.nodeName && e.nodeName.toLowerCase();
+ if ("select" === h || "input" === h && "file" === e.type ? f = Uc : Yb(e) ? Vc ? f = ad : (f = Zc,
+ g = Yc) : (h = e.nodeName) && "input" === h.toLowerCase() && ("checkbox" === e.type || "radio" === e.type) && (f = $c),
+ f && (f = f(a, b))) return Pc(f, c, d);
+ g && g(a, e, b), "blur" === a && (a = e._wrapperState) && a.controlled && "number" === e.type && Mc(e, "number", e.value);
+ }
+ }, cd = H.extend({
+ view: null,
+ detail: null
+ }), dd = {
+ Alt: "altKey",
+ Control: "ctrlKey",
+ Meta: "metaKey",
+ Shift: "shiftKey"
+ };
+ function ed(a) {
+ var b = this.nativeEvent;
+ return b.getModifierState ? b.getModifierState(a) : !!(a = dd[a]) && !!b[a];
+ }
+ function fd() {
+ return ed;
+ }
+ var gd = cd.extend({
+ screenX: null,
+ screenY: null,
+ clientX: null,
+ clientY: null,
+ pageX: null,
+ pageY: null,
+ ctrlKey: null,
+ shiftKey: null,
+ altKey: null,
+ metaKey: null,
+ getModifierState: fd,
+ button: null,
+ buttons: null,
+ relatedTarget: function(a) {
+ return a.relatedTarget || (a.fromElement === a.srcElement ? a.toElement : a.fromElement);
+ }
+ }), hd = gd.extend({
+ pointerId: null,
+ width: null,
+ height: null,
+ pressure: null,
+ tiltX: null,
+ tiltY: null,
+ pointerType: null,
+ isPrimary: null
+ }), id = {
+ mouseEnter: {
+ registrationName: "onMouseEnter",
+ dependencies: [ "mouseout", "mouseover" ]
+ },
+ mouseLeave: {
+ registrationName: "onMouseLeave",
+ dependencies: [ "mouseout", "mouseover" ]
+ },
+ pointerEnter: {
+ registrationName: "onPointerEnter",
+ dependencies: [ "pointerout", "pointerover" ]
+ },
+ pointerLeave: {
+ registrationName: "onPointerLeave",
+ dependencies: [ "pointerout", "pointerover" ]
+ }
+ }, jd = {
+ eventTypes: id,
+ extractEvents: function(a, b, c, d) {
+ var e = "mouseover" === a || "pointerover" === a, f = "mouseout" === a || "pointerout" === a;
+ if (e && (c.relatedTarget || c.fromElement) || !f && !e) return null;
+ if (e = d.window === d ? d : (e = d.ownerDocument) ? e.defaultView || e.parentWindow : window,
+ f ? (f = b, b = (b = c.relatedTarget || c.toElement) ? Na(b) : null) : f = null,
+ f === b) return null;
+ var g = void 0, h = void 0, k = void 0, n = void 0;
+ return "mouseout" === a || "mouseover" === a ? (g = gd, h = id.mouseLeave, k = id.mouseEnter,
+ n = "mouse") : "pointerout" !== a && "pointerover" !== a || (g = hd, h = id.pointerLeave,
+ k = id.pointerEnter, n = "pointer"), a = null == f ? e : Oa(f), e = null == b ? e : Oa(b),
+ (h = g.getPooled(h, f, c, d)).type = n + "leave", h.target = a, h.relatedTarget = e,
+ (c = g.getPooled(k, b, c, d)).type = n + "enter", c.target = e, c.relatedTarget = a,
+ Za(h, c, f, b), [ h, c ];
+ }
+ };
+ function kd(a) {
+ var b = a;
+ if (a.alternate) for (;b["return"]; ) b = b["return"]; else {
+ if (0 != (2 & b.effectTag)) return 1;
+ for (;b["return"]; ) if (0 != (2 & (b = b["return"]).effectTag)) return 1;
+ }
+ return 3 === b.tag ? 2 : 3;
+ }
+ function ld(a) {
+ 2 !== kd(a) && A("188");
+ }
+ function md(a) {
+ var b = a.alternate;
+ if (!b) return 3 === (b = kd(a)) && A("188"), 1 === b ? null : a;
+ for (var c = a, d = b; ;) {
+ var e = c["return"], f = e ? e.alternate : null;
+ if (!e || !f) break;
+ if (e.child === f.child) {
+ for (var g = e.child; g; ) {
+ if (g === c) return ld(e), a;
+ if (g === d) return ld(e), b;
+ g = g.sibling;
+ }
+ A("188");
+ }
+ if (c["return"] !== d["return"]) c = e, d = f; else {
+ g = !1;
+ for (var 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;
+ }
+ g || A("189");
+ }
+ }
+ c.alternate !== d && A("190");
+ }
+ return 3 !== c.tag && A("188"), c.stateNode.current === c ? a : b;
+ }
+ function nd(a) {
+ if (!(a = md(a))) return null;
+ for (var b = a; ;) {
+ if (5 === b.tag || 6 === b.tag) return b;
+ if (b.child) b.child["return"] = b, b = b.child; else {
+ if (b === a) break;
+ for (;!b.sibling; ) {
+ if (!b["return"] || b["return"] === a) return null;
+ b = b["return"];
+ }
+ b.sibling["return"] = b["return"], b = b.sibling;
+ }
+ }
+ return null;
+ }
+ var pd = H.extend({
+ animationName: null,
+ elapsedTime: null,
+ pseudoElement: null
+ }), qd = H.extend({
+ clipboardData: function(a) {
+ return "clipboardData" in a ? a.clipboardData : window.clipboardData;
+ }
+ }), rd = cd.extend({
+ relatedTarget: null
+ });
+ function sd(a) {
+ var b = a.keyCode;
+ return "charCode" in a ? 0 === (a = a.charCode) && 13 === b && (a = 13) : a = b,
+ 10 === a && (a = 13), 32 <= a || 13 === a ? a : 0;
+ }
+ var td = {
+ Esc: "Escape",
+ Spacebar: " ",
+ Left: "ArrowLeft",
+ Up: "ArrowUp",
+ Right: "ArrowRight",
+ Down: "ArrowDown",
+ Del: "Delete",
+ Win: "OS",
+ Menu: "ContextMenu",
+ Apps: "ContextMenu",
+ Scroll: "ScrollLock",
+ MozPrintableKey: "Unidentified"
+ }, ud = {
+ 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"
+ }, vd = cd.extend({
+ key: function(a) {
+ if (a.key) {
+ var b = td[a.key] || a.key;
+ if ("Unidentified" !== b) return b;
+ }
+ return "keypress" === a.type ? 13 === (a = sd(a)) ? "Enter" : String.fromCharCode(a) : "keydown" === a.type || "keyup" === a.type ? ud[a.keyCode] || "Unidentified" : "";
+ },
+ location: null,
+ ctrlKey: null,
+ shiftKey: null,
+ altKey: null,
+ metaKey: null,
+ repeat: null,
+ locale: null,
+ getModifierState: fd,
+ charCode: function(a) {
+ return "keypress" === a.type ? sd(a) : 0;
+ },
+ keyCode: function(a) {
+ return "keydown" === a.type || "keyup" === a.type ? a.keyCode : 0;
+ },
+ which: function(a) {
+ return "keypress" === a.type ? sd(a) : "keydown" === a.type || "keyup" === a.type ? a.keyCode : 0;
+ }
+ }), wd = gd.extend({
+ dataTransfer: null
+ }), xd = cd.extend({
+ touches: null,
+ targetTouches: null,
+ changedTouches: null,
+ altKey: null,
+ metaKey: null,
+ ctrlKey: null,
+ shiftKey: null,
+ getModifierState: fd
+ }), yd = H.extend({
+ propertyName: null,
+ elapsedTime: null,
+ pseudoElement: null
+ }), zd = gd.extend({
+ deltaX: function(a) {
+ return "deltaX" in a ? a.deltaX : "wheelDeltaX" in a ? -a.wheelDeltaX : 0;
+ },
+ deltaY: function(a) {
+ return "deltaY" in a ? a.deltaY : "wheelDeltaY" in a ? -a.wheelDeltaY : "wheelDelta" in a ? -a.wheelDelta : 0;
+ },
+ deltaZ: null,
+ deltaMode: null
+ }), Ad = [ [ "abort", "abort" ], [ fb, "animationEnd" ], [ gb, "animationIteration" ], [ hb, "animationStart" ], [ "canplay", "canPlay" ], [ "canplaythrough", "canPlayThrough" ], [ "drag", "drag" ], [ "dragenter", "dragEnter" ], [ "dragexit", "dragExit" ], [ "dragleave", "dragLeave" ], [ "dragover", "dragOver" ], [ "durationchange", "durationChange" ], [ "emptied", "emptied" ], [ "encrypted", "encrypted" ], [ "ended", "ended" ], [ "error", "error" ], [ "gotpointercapture", "gotPointerCapture" ], [ "load", "load" ], [ "loadeddata", "loadedData" ], [ "loadedmetadata", "loadedMetadata" ], [ "loadstart", "loadStart" ], [ "lostpointercapture", "lostPointerCapture" ], [ "mousemove", "mouseMove" ], [ "mouseout", "mouseOut" ], [ "mouseover", "mouseOver" ], [ "playing", "playing" ], [ "pointermove", "pointerMove" ], [ "pointerout", "pointerOut" ], [ "pointerover", "pointerOver" ], [ "progress", "progress" ], [ "scroll", "scroll" ], [ "seeking", "seeking" ], [ "stalled", "stalled" ], [ "suspend", "suspend" ], [ "timeupdate", "timeUpdate" ], [ "toggle", "toggle" ], [ "touchmove", "touchMove" ], [ ib, "transitionEnd" ], [ "waiting", "waiting" ], [ "wheel", "wheel" ] ], Bd = {}, Cd = {};
+ function Dd(a, b) {
+ var c = a[0], d = "on" + ((a = a[1])[0].toUpperCase() + a.slice(1));
+ b = {
+ phasedRegistrationNames: {
+ bubbled: d,
+ captured: d + "Capture"
+ },
+ dependencies: [ c ],
+ isInteractive: b
+ }, Bd[a] = b, Cd[c] = b;
+ }
+ [ [ "blur", "blur" ], [ "cancel", "cancel" ], [ "click", "click" ], [ "close", "close" ], [ "contextmenu", "contextMenu" ], [ "copy", "copy" ], [ "cut", "cut" ], [ "dblclick", "doubleClick" ], [ "dragend", "dragEnd" ], [ "dragstart", "dragStart" ], [ "drop", "drop" ], [ "focus", "focus" ], [ "input", "input" ], [ "invalid", "invalid" ], [ "keydown", "keyDown" ], [ "keypress", "keyPress" ], [ "keyup", "keyUp" ], [ "mousedown", "mouseDown" ], [ "mouseup", "mouseUp" ], [ "paste", "paste" ], [ "pause", "pause" ], [ "play", "play" ], [ "pointercancel", "pointerCancel" ], [ "pointerdown", "pointerDown" ], [ "pointerup", "pointerUp" ], [ "ratechange", "rateChange" ], [ "reset", "reset" ], [ "seeked", "seeked" ], [ "submit", "submit" ], [ "touchcancel", "touchCancel" ], [ "touchend", "touchEnd" ], [ "touchstart", "touchStart" ], [ "volumechange", "volumeChange" ] ].forEach(function(a) {
+ Dd(a, !0);
+ }), Ad.forEach(function(a) {
+ Dd(a, !1);
+ });
+ var Ed = {
+ eventTypes: Bd,
+ isInteractiveTopLevelEventType: function(a) {
+ return void 0 !== (a = Cd[a]) && !0 === a.isInteractive;
+ },
+ extractEvents: function(a, b, c, d) {
+ var e = Cd[a];
+ if (!e) return null;
+ switch (a) {
+ case "keypress":
+ if (0 === sd(c)) return null;
+
+ case "keydown":
+ case "keyup":
+ a = vd;
+ break;
+
+ case "blur":
+ case "focus":
+ a = rd;
+ break;
+
+ case "click":
+ if (2 === c.button) return null;
+
+ case "dblclick":
+ case "mousedown":
+ case "mousemove":
+ case "mouseup":
+ case "mouseout":
+ case "mouseover":
+ case "contextmenu":
+ a = gd;
+ break;
+
+ case "drag":
+ case "dragend":
+ case "dragenter":
+ case "dragexit":
+ case "dragleave":
+ case "dragover":
+ case "dragstart":
+ case "drop":
+ a = wd;
+ break;
+
+ case "touchcancel":
+ case "touchend":
+ case "touchmove":
+ case "touchstart":
+ a = xd;
+ break;
+
+ case fb:
+ case gb:
+ case hb:
+ a = pd;
+ break;
+
+ case ib:
+ a = yd;
+ break;
+
+ case "scroll":
+ a = cd;
+ break;
+
+ case "wheel":
+ a = zd;
+ break;
+
+ case "copy":
+ case "cut":
+ case "paste":
+ a = qd;
+ break;
+
+ case "gotpointercapture":
+ case "lostpointercapture":
+ case "pointercancel":
+ case "pointerdown":
+ case "pointermove":
+ case "pointerout":
+ case "pointerover":
+ case "pointerup":
+ a = hd;
+ break;
+
+ default:
+ a = H;
+ }
+ return Ya(b = a.getPooled(e, b, c, d)), b;
+ }
+ }, Fd = Ed.isInteractiveTopLevelEventType, Gd = [];
+ function Hd(a) {
+ var b = a.targetInst;
+ do {
+ if (!b) {
+ a.ancestors.push(b);
+ break;
+ }
+ var c;
+ for (c = b; c["return"]; ) c = c["return"];
+ if (!(c = 3 !== c.tag ? null : c.stateNode.containerInfo)) break;
+ a.ancestors.push(b), b = Na(c);
+ } while (b);
+ for (c = 0; c < a.ancestors.length; c++) b = a.ancestors[c], Ja(a.topLevelType, b, a.nativeEvent, Zb(a.nativeEvent));
+ }
+ var Id = !0;
+ function Kd(a) {
+ Id = !!a;
+ }
+ function K(a, b) {
+ if (!b) return null;
+ var c = (Fd(a) ? Ld : Md).bind(null, a);
+ b.addEventListener(a, c, !1);
+ }
+ function Nd(a, b) {
+ if (!b) return null;
+ var c = (Fd(a) ? Ld : Md).bind(null, a);
+ b.addEventListener(a, c, !0);
+ }
+ function Ld(a, b) {
+ Tb(Md, a, b);
+ }
+ function Md(a, b) {
+ if (Id) {
+ var c = Zb(b);
+ if (null === (c = Na(c)) || "number" != typeof c.tag || 2 === kd(c) || (c = null),
+ Gd.length) {
+ var d = Gd.pop();
+ d.topLevelType = a, d.nativeEvent = b, d.targetInst = c, a = d;
+ } else a = {
+ topLevelType: a,
+ nativeEvent: b,
+ targetInst: c,
+ ancestors: []
+ };
+ try {
+ Wb(Hd, a);
+ } finally {
+ a.topLevelType = null, a.nativeEvent = null, a.targetInst = null, a.ancestors.length = 0,
+ 10 > Gd.length && Gd.push(a);
+ }
+ }
+ }
+ var Od = {
+ get _enabled() {
+ return Id;
+ },
+ setEnabled: Kd,
+ isEnabled: function() {
+ return Id;
+ },
+ trapBubbledEvent: K,
+ trapCapturedEvent: Nd,
+ dispatchEvent: Md
+ }, Pd = {}, Qd = 0, Rd = "_reactListenersID" + ("" + Math.random()).slice(2);
+ function Sd(a) {
+ return Object.prototype.hasOwnProperty.call(a, Rd) || (a[Rd] = Qd++, Pd[a[Rd]] = {}),
+ Pd[a[Rd]];
+ }
+ function Td(a) {
+ for (;a && a.firstChild; ) a = a.firstChild;
+ return a;
+ }
+ function Ud(a, b) {
+ var d, c = Td(a);
+ for (a = 0; c; ) {
+ if (3 === c.nodeType) {
+ if (d = a + c.textContent.length, 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 = Td(c);
+ }
+ }
+ function Vd(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);
+ }
+ var Wd = m.canUseDOM && "documentMode" in document && 11 >= document.documentMode, Xd = {
+ select: {
+ phasedRegistrationNames: {
+ bubbled: "onSelect",
+ captured: "onSelectCapture"
+ },
+ dependencies: "blur contextmenu focus keydown keyup mousedown mouseup selectionchange".split(" ")
+ }
+ }, Yd = null, Zd = null, $d = null, ae = !1;
+ function be(a, b) {
+ if (ae || null == Yd || Yd !== da()) return null;
+ var c = Yd;
+ return "selectionStart" in c && Vd(c) ? c = {
+ start: c.selectionStart,
+ end: c.selectionEnd
+ } : window.getSelection ? c = {
+ anchorNode: (c = window.getSelection()).anchorNode,
+ anchorOffset: c.anchorOffset,
+ focusNode: c.focusNode,
+ focusOffset: c.focusOffset
+ } : c = void 0, $d && ea($d, c) ? null : ($d = c, (a = H.getPooled(Xd.select, Zd, a, b)).type = "select",
+ a.target = Yd, Ya(a), a);
+ }
+ var ce = {
+ eventTypes: Xd,
+ extractEvents: function(a, b, c, d) {
+ var f, e = d.window === d ? d.document : 9 === d.nodeType ? d : d.ownerDocument;
+ if (!(f = !e)) {
+ a: {
+ e = Sd(e), f = sa.onSelect;
+ for (var g = 0; g < f.length; g++) {
+ var h = f[g];
+ if (!e.hasOwnProperty(h) || !e[h]) {
+ e = !1;
+ break a;
+ }
+ }
+ e = !0;
+ }
+ f = !e;
+ }
+ if (f) return null;
+ switch (e = b ? Oa(b) : window, a) {
+ case "focus":
+ (Yb(e) || "true" === e.contentEditable) && (Yd = e, Zd = b, $d = null);
+ break;
+
+ case "blur":
+ $d = Zd = Yd = null;
+ break;
+
+ case "mousedown":
+ ae = !0;
+ break;
+
+ case "contextmenu":
+ case "mouseup":
+ return ae = !1, be(c, d);
+
+ case "selectionchange":
+ if (Wd) break;
+
+ case "keydown":
+ case "keyup":
+ return be(c, d);
+ }
+ return null;
+ }
+ };
+ Ga.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),
+ wa = Qa.getFiberCurrentPropsFromNode, xa = Qa.getInstanceFromNode, ya = Qa.getNodeFromInstance,
+ Ga.injectEventPluginsByName({
+ SimpleEventPlugin: Ed,
+ EnterLeaveEventPlugin: jd,
+ ChangeEventPlugin: bd,
+ SelectEventPlugin: ce,
+ BeforeInputEventPlugin: Ib
+ });
+ var de = "function" == typeof requestAnimationFrame ? requestAnimationFrame : void 0, ee = Date, fe = setTimeout, ge = clearTimeout, he = void 0;
+ if ("object" == typeof performance && "function" == typeof performance.now) {
+ var ie = performance;
+ he = function() {
+ return ie.now();
+ };
+ } else he = function() {
+ return ee.now();
+ };
+ var je = void 0, ke = void 0;
+ if (m.canUseDOM) {
+ var le = "function" == typeof de ? de : function() {
+ A("276");
+ }, L = null, me = null, ne = -1, oe = !1, pe = !1, qe = 0, re = 33, se = 33, te = {
+ didTimeout: !1,
+ timeRemaining: function() {
+ var a = qe - he();
+ return 0 < a ? a : 0;
+ }
+ }, ve = function(a, b) {
+ var c = a.scheduledCallback, d = !1;
+ try {
+ c(b), d = !0;
+ } finally {
+ ke(a), d || (oe = !0, window.postMessage(ue, "*"));
+ }
+ }, ue = "__reactIdleCallback$" + Math.random().toString(36).slice(2);
+ window.addEventListener("message", function(a) {
+ if (a.source === window && a.data === ue && (oe = !1, null !== L)) {
+ if (null !== L) {
+ var b = he();
+ if (!(-1 === ne || ne > b)) {
+ a = -1;
+ for (var c = [], d = L; null !== d; ) {
+ var e = d.timeoutTime;
+ -1 !== e && e <= b ? c.push(d) : -1 !== e && (-1 === a || e < a) && (a = e), d = d.next;
+ }
+ if (0 < c.length) for (te.didTimeout = !0, b = 0, d = c.length; b < d; b++) ve(c[b], te);
+ ne = a;
+ }
+ }
+ for (a = he(); 0 < qe - a && null !== L; ) a = L, te.didTimeout = !1, ve(a, te),
+ a = he();
+ null === L || pe || (pe = !0, le(we));
+ }
+ }, !1);
+ var we = function(a) {
+ pe = !1;
+ var b = a - qe + se;
+ b < se && re < se ? (8 > b && (b = 8), se = b < re ? re : b) : re = b, qe = a + se,
+ oe || (oe = !0, window.postMessage(ue, "*"));
+ };
+ je = function(a, b) {
+ var c = -1;
+ return null != b && "number" == typeof b.timeout && (c = he() + b.timeout), (-1 === ne || -1 !== c && c < ne) && (ne = c),
+ a = {
+ scheduledCallback: a,
+ timeoutTime: c,
+ prev: null,
+ next: null
+ }, null === L ? L = a : null !== (b = a.prev = me) && (b.next = a), me = a, pe || (pe = !0,
+ le(we)), a;
+ }, ke = function(a) {
+ if (null !== a.prev || L === a) {
+ var b = a.next, c = a.prev;
+ a.next = null, a.prev = null, null !== b ? null !== c ? (c.next = b, b.prev = c) : (b.prev = null,
+ L = b) : null !== c ? (c.next = null, me = c) : me = L = null;
+ }
+ };
+ } else {
+ var xe = new Map();
+ je = function(a) {
+ var b = {
+ scheduledCallback: a,
+ timeoutTime: 0,
+ next: null,
+ prev: null
+ }, c = fe(function() {
+ a({
+ timeRemaining: function() {
+ return Infinity;
+ },
+ didTimeout: !1
+ });
+ });
+ return xe.set(a, c), b;
+ }, ke = function(a) {
+ var b = xe.get(a.scheduledCallback);
+ xe["delete"](a), ge(b);
+ };
+ }
+ function ze(a, b) {
+ return a = p({
+ children: void 0
+ }, b), (b = function(a) {
+ var b = "";
+ return ba.Children.forEach(a, function(a) {
+ null == a || "string" != typeof a && "number" != typeof a || (b += a);
+ }), b;
+ }(b.children)) && (a.children = b), a;
+ }
+ function Ae(a, b, c, d) {
+ if (a = a.options, 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 {
+ for (c = "" + c, b = null, e = 0; e < a.length; e++) {
+ if (a[e].value === c) return a[e].selected = !0, void (d && (a[e].defaultSelected = !0));
+ null !== b || a[e].disabled || (b = a[e]);
+ }
+ null !== b && (b.selected = !0);
+ }
+ }
+ function Be(a, b) {
+ var c = b.value;
+ a._wrapperState = {
+ initialValue: null != c ? c : b.defaultValue,
+ wasMultiple: !!b.multiple
+ };
+ }
+ function Ce(a, b) {
+ return null != b.dangerouslySetInnerHTML && A("91"), p({}, b, {
+ value: void 0,
+ defaultValue: void 0,
+ children: "" + a._wrapperState.initialValue
+ });
+ }
+ function De(a, b) {
+ var c = b.value;
+ null == c && (c = b.defaultValue, null != (b = b.children) && (null != c && A("92"),
+ Array.isArray(b) && (1 >= b.length || A("93"), b = b[0]), c = "" + b), null == c && (c = "")),
+ a._wrapperState = {
+ initialValue: "" + c
+ };
+ }
+ function Ee(a, b) {
+ var c = b.value;
+ null != c && ((c = "" + c) !== a.value && (a.value = c), null == b.defaultValue && (a.defaultValue = c)),
+ null != b.defaultValue && (a.defaultValue = b.defaultValue);
+ }
+ function Fe(a) {
+ var b = a.textContent;
+ b === a._wrapperState.initialValue && (a.value = b);
+ }
+ var Ge = {
+ html: "http://www.w3.org/1999/xhtml",
+ mathml: "http://www.w3.org/1998/Math/MathML",
+ svg: "http://www.w3.org/2000/svg"
+ };
+ function He(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 Ie(a, b) {
+ return null == a || "http://www.w3.org/1999/xhtml" === a ? He(b) : "http://www.w3.org/2000/svg" === a && "foreignObject" === b ? "http://www.w3.org/1999/xhtml" : a;
+ }
+ var a, Je = void 0, Ke = (a = function(a, b) {
+ if (a.namespaceURI !== Ge.svg || "innerHTML" in a) a.innerHTML = b; else {
+ for ((Je = Je || document.createElement("div")).innerHTML = "",
+ b = Je.firstChild; a.firstChild; ) a.removeChild(a.firstChild);
+ for (;b.firstChild; ) a.appendChild(b.firstChild);
+ }
+ }, "undefined" != typeof MSApp && MSApp.execUnsafeLocalFunction ? function(b, c, d, e) {
+ MSApp.execUnsafeLocalFunction(function() {
+ return a(b, c);
+ });
+ } : a);
+ function Le(a, b) {
+ if (b) {
+ var c = a.firstChild;
+ if (c && c === a.lastChild && 3 === c.nodeType) return void (c.nodeValue = b);
+ }
+ a.textContent = b;
+ }
+ var Me = {
+ animationIterationCount: !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,
+ 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
+ }, Ne = [ "Webkit", "ms", "Moz", "O" ];
+ function Oe(a, b) {
+ for (var c in a = a.style, b) if (b.hasOwnProperty(c)) {
+ var d = 0 === c.indexOf("--"), e = c, f = b[c];
+ e = null == f || "boolean" == typeof f || "" === f ? "" : d || "number" != typeof f || 0 === f || Me.hasOwnProperty(e) && Me[e] ? ("" + f).trim() : f + "px",
+ "float" === c && (c = "cssFloat"), d ? a.setProperty(c, e) : a[c] = e;
+ }
+ }
+ Object.keys(Me).forEach(function(a) {
+ Ne.forEach(function(b) {
+ b = b + a.charAt(0).toUpperCase() + a.substring(1), Me[b] = Me[a];
+ });
+ });
+ var Pe = p({
+ 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 Qe(a, b, c) {
+ b && (Pe[a] && (null != b.children || null != b.dangerouslySetInnerHTML) && A("137", a, c()),
+ null != b.dangerouslySetInnerHTML && (null != b.children && A("60"), "object" == typeof b.dangerouslySetInnerHTML && "__html" in b.dangerouslySetInnerHTML || A("61")),
+ null != b.style && "object" != typeof b.style && A("62", c()));
+ }
+ function Re(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 Se = v.thatReturns("");
+ function Te(a, b) {
+ var c = Sd(a = 9 === a.nodeType || 11 === a.nodeType ? a : a.ownerDocument);
+ b = sa[b];
+ for (var d = 0; d < b.length; d++) {
+ var e = b[d];
+ if (!c.hasOwnProperty(e) || !c[e]) {
+ switch (e) {
+ case "scroll":
+ Nd("scroll", a);
+ break;
+
+ case "focus":
+ case "blur":
+ Nd("focus", a), Nd("blur", a), c.blur = !0, c.focus = !0;
+ break;
+
+ case "cancel":
+ case "close":
+ $b(e, !0) && Nd(e, a);
+ break;
+
+ case "invalid":
+ case "submit":
+ case "reset":
+ break;
+
+ default:
+ -1 === jb.indexOf(e) && K(e, a);
+ }
+ c[e] = !0;
+ }
+ }
+ }
+ function Ue(a, b, c, d) {
+ return c = 9 === c.nodeType ? c : c.ownerDocument, d === Ge.html && (d = He(a)),
+ d === Ge.html ? "script" === a ? ((a = c.createElement("div")).innerHTML = "