Repository: yacan8/valentine
Branch: master
Commit: 61cca8651f0b
Files: 19
Total size: 159.0 KB
Directory structure:
gitextract_f7xtjmkz/
├── .gitignore
├── README.md
├── babel.config.js
├── dist/
│ ├── index.html
│ ├── main.css
│ └── main.js
├── index.html
├── package.json
├── src/
│ ├── app.js
│ ├── heart.js
│ ├── heartRain.js
│ ├── index.less
│ ├── main.js
│ └── styleEditor.js
└── webpack/
├── postcss.config.js
├── webpack.base.config.js
├── webpack.config.js
├── webpack.less.config.js
└── webpack.react.config.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
.idea/
node_modules
.vscode
.DS_Store
================================================
FILE: README.md
================================================
# valentine
七夕快乐!😝
在线演示:[https://yacan8.github.io/valentine/](https://yacan8.github.io/valentine/)
================================================
FILE: babel.config.js
================================================
module.exports = {
presets: [
['@babel/env', {
useBuiltIns: false
}, '@babel/preset-react']
],
plugins: [
['@babel/plugin-proposal-decorators', {legacy: true}],
['@babel/plugin-proposal-class-properties', {
loose: true
}],
'@babel/plugin-transform-runtime',
'@babel/plugin-transform-react-jsx',
'react-hot-loader/babel'
]
};
================================================
FILE: dist/index.html
================================================
Hi。宝贝!
================================================
FILE: dist/main.css
================================================
*{box-sizing:border-box}body,html{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.styleEditor{backface-visibility:hidden;-webkit-backface-visibility:hidden}.rain{position:absolute}
================================================
FILE: dist/main.js
================================================
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="./",n(n.s=15)}([function(e,t,n){"use strict";e.exports=n(16)},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(e,t){for(var n=0;ne.length)return;if(!(w instanceof o)){if(g&&b!=t.length-1){if(f.lastIndex=k,!(S=f.exec(e)))break;for(var C=S.index+(h?S[1].length:0),E=S.index+S[0].length,x=b,P=k,T=t.length;x=(P+=t[x].length)&&(++b,k=P);if(t[b]instanceof o)continue;_=x-b,w=e.slice(k,P),S.index-=k}else{f.lastIndex=0;var S=f.exec(w),_=1}if(S){h&&(m=S[1]?S[1].length:0);E=(C=S.index+m)+(S=S[0].slice(m)).length;var N=w.slice(0,C),A=w.slice(E),F=[b,_];N&&(++b,k+=N.length,F.push(N));var O=new o(s,d?r.tokenize(S,d):S,y,S,g);if(F.push(O),A&&F.push(A),Array.prototype.splice.apply(t,F),1!=_&&r.matchGrammar(e,t,n,b,k,!0,s),l)break}else if(l)break}}}}},tokenize:function(e,t){var n=[e],o=t.rest;if(o){for(var a in o)t[a]=o[a];delete t.rest}return r.matchGrammar(e,n,t,0,0,!1),n},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var o,a=0;o=n[a++];)o(t)}},Token:o};function o(e,t,n,r,o){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!o}if(e.Prism=r,o.stringify=function(e,t){if("string"==typeof e)return e;if(Array.isArray(e))return e.map(function(e){return o.stringify(e,t)}).join("");var n={type:e.type,content:o.stringify(e.content,t),tag:"span",classes:["token",e.type],attributes:{},language:t};if(e.alias){var a=Array.isArray(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(n.classes,a)}r.hooks.run("wrap",n);var i=Object.keys(n.attributes).map(function(e){return e+'="'+(n.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+n.tag+' class="'+n.classes.join(" ")+'"'+(i?" "+i:"")+">"+n.content+""+n.tag+">"},!e.document)return e.addEventListener?(r.disableWorkerMessageHandler||e.addEventListener("message",function(t){var n=JSON.parse(t.data),o=n.language,a=n.code,i=n.immediateClose;e.postMessage(r.highlight(a,r.languages[o],o)),i&&e.close()},!1),r):r;var a=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return a&&(r.filename=a.src,r.manual||a.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(r.highlightAll):window.setTimeout(r.highlightAll,16):document.addEventListener("DOMContentLoaded",r.highlightAll))),r}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=n),void 0!==t&&(t.Prism=n),n.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/?[\da-z]{1,8};/i},n.languages.markup.tag.inside["attr-value"].inside.entity=n.languages.markup.entity,n.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(n.languages.markup.tag,"addInlined",{value:function(e,t){var r={};r["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:n.languages[t]},r.cdata=/^$/i;var o={"included-cdata":{pattern://i,inside:r}};o["language-"+t]={pattern:/[\s\S]+/,inside:n.languages[t]};var a={};a[e]={pattern:RegExp(/(<__[\s\S]*?>)(?:\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g,e),"i"),lookbehind:!0,greedy:!0,inside:o},n.languages.insertBefore("markup","cdata",a)}}),n.languages.xml=n.languages.extend("markup",{}),n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/@[\w-]+/}},url:{pattern:RegExp("url\\((?:"+t.source+"|[^\n\r()]*)\\)","i"),inside:{function:/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+t.source+")*?(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:e.languages.css}},alias:"language-css"}},n.tag))}(n),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{"class-name":[n.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),n.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,n.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:n.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:n.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:n.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:n.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),n.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&n.languages.markup.tag.addInlined("script","javascript"),n.languages.js=n.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(e){e=e||document;var t={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(e.querySelectorAll("pre[data-src]")).forEach(function(e){if(!e.hasAttribute("data-src-loaded")){for(var r,o=e.getAttribute("data-src"),a=e,i=/\blang(?:uage)?-([\w-]+)\b/i;a&&!i.test(a.className);)a=a.parentNode;if(a&&(r=(e.className.match(i)||[,""])[1]),!r){var l=(o.match(/\.(\w+)$/)||[,""])[1];r=t[l]||l}var u=document.createElement("code");u.className="language-"+r,e.textContent="",u.textContent="Loading…",e.appendChild(u);var s=new XMLHttpRequest;s.open("GET",o,!0),s.onreadystatechange=function(){4==s.readyState&&(s.status<400&&s.responseText?(u.textContent=s.responseText,n.highlightElement(u),e.setAttribute("data-src-loaded","")):s.status>=400?u.textContent="✖ Error "+s.status+" while fetching file: "+s.statusText:u.textContent="✖ Error: File does not exist or is empty")},s.send(null)}}),n.plugins.toolbar&&n.plugins.toolbar.registerButton("download-file",function(e){var t=e.element.parentNode;if(t&&/pre/i.test(t.nodeName)&&t.hasAttribute("data-src")&&t.hasAttribute("data-download-link")){var n=t.getAttribute("data-src"),r=document.createElement("a");return r.textContent=t.getAttribute("data-download-link-label")||"Download",r.setAttribute("download",""),r.href=n,r}})},document.addEventListener("DOMContentLoaded",function(){self.Prism.fileHighlight()}))}).call(this,n(30))},function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,i,l=function(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),u=1;uE.length&&E.push(e)}function T(e,t,n,r){var o=typeof e;if("undefined"!==o&&"boolean"!==o||(e=null),null===e||"string"===o||"number"===o||"object"===o&&e.$$typeof===w)return n(r,e,""===t?"."+S(e,0):t),1;var a=0;if(t=""===t?".":t+":",Array.isArray(e))for(var l=0;l=(i={attributeName:i,attributeNamespace:null,propertyName:a,mutationMethod:null,mustUseProperty:P(l,t.MUST_USE_PROPERTY),hasBooleanValue:P(l,t.HAS_BOOLEAN_VALUE),hasNumericValue:P(l,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:P(l,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:P(l,t.HAS_OVERLOADED_BOOLEAN_VALUE),hasStringBooleanValue:P(l,t.HAS_STRING_BOOLEAN_VALUE)}).hasBooleanValue+i.hasNumericValue+i.hasOverloadedBooleanValue||d("50",a),o.hasOwnProperty(a)&&(i.attributeName=o[a]),r.hasOwnProperty(a)&&(i.attributeNamespace=r[a]),e.hasOwnProperty(a)&&(i.mutationMethod=e[a]),S.properties[a]=i}}},S={ID_ATTRIBUTE_NAME:"data-reactid",ROOT_ATTRIBUTE_NAME:"data-reactroot",ATTRIBUTE_NAME_START_CHAR:":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",ATTRIBUTE_NAME_CHAR:":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",properties:{},shouldSetAttribute:function(e,t){if(S.isReservedProp(e)||!("o"!==e[0]&&"O"!==e[0]||"n"!==e[1]&&"N"!==e[1]))return!1;if(null===t)return!0;switch(typeof t){case"boolean":return S.shouldAttributeAcceptBooleanValue(e);case"undefined":case"number":case"string":case"object":return!0;default:return!1}},getPropertyInfo:function(e){return S.properties.hasOwnProperty(e)?S.properties[e]:null},shouldAttributeAcceptBooleanValue:function(e){if(S.isReservedProp(e))return!0;var t=S.getPropertyInfo(e);return t?t.hasBooleanValue||t.hasStringBooleanValue||t.hasOverloadedBooleanValue:"data-"===(e=e.toLowerCase().slice(0,5))||"aria-"===e},isReservedProp:function(e){return x.hasOwnProperty(e)},injection:T},_=S,N=0,A=1,F=2,O=3,I=4,L=5,D=6,R=7,M=8,U=9,j=10,H=1,B=3,V=8,W=9,z=11,$=L,K=D,q=H,Y=V,G=_.ID_ATTRIBUTE_NAME,Q={hasCachedChildNodes:1},Z=Math.random().toString(36).slice(2),X="__reactInternalInstance$"+Z,J="__reactEventHandlers$"+Z;function ee(e){for(var t;t=e._renderedComponent;)e=t;return e}function te(e,t){(e=ee(e))._hostNode=t,t[X]=e}function ne(e,t){if(!(e._flags&Q.hasCachedChildNodes)){var n,r=e._renderedChildren;t=t.firstChild;e:for(n in r)if(r.hasOwnProperty(n)){var o=r[n],a=ee(o)._domID;if(0!==a){for(;null!==t;t=t.nextSibling){var i=t,l=a;if(i.nodeType===q&&i.getAttribute(G)===""+l||i.nodeType===Y&&i.nodeValue===" react-text: "+l+" "||i.nodeType===Y&&i.nodeValue===" react-empty: "+l+" "){te(o,t);continue e}}d("32",a)}}e._flags|=Q.hasCachedChildNodes}}function re(e){if(e[X])return e[X];for(var t=[];!e[X];){if(t.push(e),!e.parentNode)return null;e=e.parentNode}var n=e[X];if(n.tag===$||n.tag===K)return n;for(;e&&(n=e[X]);e=t.pop()){var r=n;t.length&&ne(n,e)}return r}var oe={getClosestInstanceFromNode:re,getInstanceFromNode:function(e){var t=e[X];return t?t.tag===$||t.tag===K?t:t._hostNode===e?t:null:null!=(t=re(e))&&t._hostNode===e?t:null},getNodeFromInstance:function(e){if(e.tag===$||e.tag===K)return e.stateNode;if(void 0===e._hostNode&&d("33"),e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent||d("34"),e=e._hostParent;for(;t.length;e=t.pop())ne(e,e._hostNode);return e._hostNode},precacheChildNodes:ne,precacheNode:te,uncacheNode:function(e){var t=e._hostNode;t&&(delete t[X],e._hostNode=null)},precacheFiberNode:function(e,t){t[X]=e},getFiberCurrentPropsFromNode:function(e){return e[J]||null},updateFiberProps:function(e,t){e[J]=t}},ae={remove:function(e){e._reactInternalFiber=void 0},get:function(e){return e._reactInternalFiber},has:function(e){return void 0!==e._reactInternalFiber},set:function(e,t){e._reactInternalFiber=t}},ie={ReactCurrentOwner:r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner};function le(e){if("function"==typeof e.getName)return e.getName();if("number"==typeof e.tag){if("string"==typeof(e=e.type))return e;if("function"==typeof e)return e.displayName||e.name}return null}var ue=0,se=1,ce=2,pe=4,fe=6,de=8,he=16,ge=32,me=64,ye=128,ve=L,be=O,ke=I,we=D,Ce=ue,Ee=ce;function xe(e){var t=e;if(e.alternate)for(;t.return;)t=t.return;else{if((t.effectTag&Ee)!==Ce)return 1;for(;t.return;)if(((t=t.return).effectTag&Ee)!==Ce)return 1}return t.tag===be?2:3}function Pe(e){2!==xe(e)&&d("188")}function Te(e){var t=e.alternate;if(!t)return 3===(t=xe(e))&&d("188"),1===t?null:e;for(var n=e,r=t;;){var o=n.return,a=o?o.alternate:null;if(!o||!a)break;if(o.child===a.child){for(var i=o.child;i;){if(i===n)return Pe(o),e;if(i===r)return Pe(o),t;i=i.sibling}d("188")}if(n.return!==r.return)n=o,r=a;else{i=!1;for(var l=o.child;l;){if(l===n){i=!0,n=o,r=a;break}if(l===r){i=!0,r=o,n=a;break}l=l.sibling}if(!i){for(l=a.child;l;){if(l===n){i=!0,n=a,r=o;break}if(l===r){i=!0,r=a,n=o;break}l=l.sibling}i||d("189")}}n.alternate!==r&&d("190")}return n.tag!==be&&d("188"),n.stateNode.current===n?e:t}var Se=function(e){return 2===xe(e)},_e=function(e){return!!(e=ae.get(e))&&2===xe(e)},Ne=function(e){if(!(e=Te(e)))return null;for(var t=e;;){if(t.tag===ve||t.tag===we)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null},Ae=function(e){if(!(e=Te(e)))return null;for(var t=e;;){if(t.tag===ve||t.tag===we)return t;if(t.child&&t.tag!==ke)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null},Fe={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,injection:{injectErrorUtils:function(e){"function"!=typeof e.invokeGuardedCallback&&d("197"),Oe=e.invokeGuardedCallback}},invokeGuardedCallback:function(e,t,n,r,o,a,i,l,u){Oe.apply(Fe,arguments)},invokeGuardedCallbackAndCatchFirstError:function(e,t,n,r,o,a,i,l,u){if(Fe.invokeGuardedCallback.apply(this,arguments),Fe.hasCaughtError()){var s=Fe.clearCaughtError();Fe._hasRethrowError||(Fe._hasRethrowError=!0,Fe._rethrowError=s)}},rethrowCaughtError:function(){return function(){if(Fe._hasRethrowError){var e=Fe._rethrowError;throw Fe._rethrowError=null,Fe._hasRethrowError=!1,e}}.apply(Fe,arguments)},hasCaughtError:function(){return Fe._hasCaughtError},clearCaughtError:function(){if(Fe._hasCaughtError){var e=Fe._caughtError;return Fe._caughtError=null,Fe._hasCaughtError=!1,e}d("198")}};function Oe(e,t,n,r,o,a,i,l,u){Fe._hasCaughtError=!1,Fe._caughtError=null;var s=Array.prototype.slice.call(arguments,3);try{t.apply(n,s)}catch(e){Fe._caughtError=e,Fe._hasCaughtError=!0}}var Ie,Le=Fe;function De(e,t,n,r){t=e.type||"unknown-event",e.currentTarget=Re.getNodeFromInstance(r),Le.invokeGuardedCallbackAndCatchFirstError(t,n,void 0,e),e.currentTarget=null}var Re={isEndish:function(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e},isMoveish:function(e){return"topMouseMove"===e||"topTouchMove"===e},isStartish:function(e){return"topMouseDown"===e||"topTouchStart"===e},executeDirectDispatch:function(e){var t=e._dispatchListeners,n=e._dispatchInstances;return Array.isArray(t)&&d("103"),e.currentTarget=t?Re.getNodeFromInstance(n):null,t=t?t(e):null,e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,t},executeDispatchesInOrder:function(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;oZe.length&&Ze.push(e)}}}},et=Je;function tt(e,t){return null==t&&d("30"),null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function nt(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var rt=null;function ot(e,t){e&&(Me.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))}function at(e){return ot(e,!0)}function it(e){return ot(e,!1)}function lt(e,t,n){switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":return!(!n.disabled||"button"!==t&&"input"!==t&&"select"!==t&&"textarea"!==t);default:return!1}}var ut,st={injection:{injectEventPluginOrder:E.injectEventPluginOrder,injectEventPluginsByName:E.injectEventPluginsByName},getListener:function(e,t){if("number"==typeof e.tag){var n=e.stateNode;if(!n)return null;var r=Me.getFiberCurrentPropsFromNode(n);if(!r)return null;if(n=r[t],lt(t,e.type,r))return null}else{if("string"==typeof(r=e._currentElement)||"number"==typeof r||!e._rootNodeID)return null;if(n=(e=r.props)[t],lt(t,r.type,e))return null}return n&&"function"!=typeof n&&d("231",t,typeof n),n},extractEvents:function(e,t,n,r){for(var o,a=E.plugins,i=0;in||r.hasOverloadedBooleanValue&&!1===n?Ot.deleteValueForProperty(e,t):r.mustUseProperty?e[r.propertyName]=n:(t=r.attributeName,(o=r.attributeNamespace)?e.setAttributeNS(o,t,""+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&!0===n?e.setAttribute(t,""):e.setAttribute(t,""+n))}else Ot.setValueForAttribute(e,t,_.shouldSetAttribute(t,n)?n:null)},setValueForAttribute:function(e,t,n){(function(e){return!!Ft.hasOwnProperty(e)||!At.hasOwnProperty(e)&&(Nt.test(e)?Ft[e]=!0:(At[e]=!0,!1))})(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))},deleteValueForAttribute:function(e,t){e.removeAttribute(t)},deleteValueForProperty:function(e,t){var n=_.getPropertyInfo(t);n?(t=n.mutationMethod)?t(e,void 0):n.mustUseProperty?e[n.propertyName]=!n.hasBooleanValue&&"":e.removeAttribute(n.attributeName):e.removeAttribute(t)}},It=Ot,Lt=ie.ReactDebugCurrentFrame;function Dt(){return null}var Rt={current:null,phase:null,resetCurrentFiber:function(){Lt.getCurrentStack=null,Rt.current=null,Rt.phase=null},setCurrentFiber:function(e,t){Lt.getCurrentStack=Dt,Rt.current=e,Rt.phase=t},getCurrentFiberOwnerName:function(){return null},getCurrentFiberStackAddendum:Dt},Mt=Rt,Ut={getHostProps:function(e,t){var n=t.value,r=t.checked;return a({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked})},initWrapperState:function(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}},updateWrapper:function(e,t){var n=t.checked;null!=n&&It.setValueForProperty(e,"checked",n||!1),null!=(n=t.value)?0===n&&""===e.value?e.value="0":"number"===t.type?(n!=(t=parseFloat(e.value)||0)||n==t&&e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n):(null==t.value&&null!=t.defaultValue&&e.defaultValue!==""+t.defaultValue&&(e.defaultValue=""+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked))},postMountWrapper:function(e,t){switch(t.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":e.value="",e.value=e.defaultValue;break;default:e.value=e.value}""!==(t=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!e.defaultChecked,""!==t&&(e.name=t)},restoreControlledState:function(e,t){Ut.updateWrapper(e,t);var n=t.name;if("radio"===t.type&&null!=n){for(t=e;t.parentNode;)t=t.parentNode;for(n=t.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),t=0;t=t.length||d("93"),t=t[0]),n=""+t),null==n&&(n=""),r=n),e._wrapperState={initialValue:""+r}},updateWrapper:function(e,t){var n=t.value;null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&(e.defaultValue=n)),null!=t.defaultValue&&(e.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)},restoreControlledState:function(e,t){Gt.updateWrapper(e,t)}},Qt=Gt,Zt=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 Xt(e,t){t&&(Zt[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&d("137",e,""),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&d("60"),"object"==typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML||d("61")),null!=t.style&&"object"!=typeof t.style&&d("62",""))}function Jt(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}var en={_getTrackerFromNode:function(e){return e._valueTracker},track:function(e){e._valueTracker||(e._valueTracker=function(e){var t=Jt(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"function"==typeof n.get&&"function"==typeof n.set)return Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:!0,get:function(){return n.get.call(this)},set:function(e){r=""+e,n.set.call(this,e)}}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}(e))},updateValueIfChanged:function(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Jt(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)},stopTracking:function(e){(e=e._valueTracker)&&e.stopTracking()}};function tn(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){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 nn,rn,on=g,an=(rn=function(e,t){if(e.namespaceURI!==on.svg||"innerHTML"in e)e.innerHTML=t;else for((nn=nn||document.createElement("div")).innerHTML="",t=nn.firstChild;t.firstChild;)e.appendChild(t.firstChild)},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction(function(){return rn(e,t)})}:rn),ln=/["'&<>]/,un=B;function sn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===un)return void(n.nodeValue=t)}e.textContent=t}o.canUseDOM&&("textContent"in document.documentElement||(sn=function(e,t){if(e.nodeType===un)e.nodeValue=t;else{if("boolean"==typeof t||"number"==typeof t)t=""+t;else{t=""+t;var n=ln.exec(t);if(n){var r,o="",a=0;for(r=n.index;r<\/script>",e=e.removeChild(e.firstChild)):e="string"==typeof t.is?n.createElement(e,{is:t.is}):n.createElement(e):e=n.createElementNS(r,e),e},createTextNode:function(e,t){return(t.nodeType===pn?t:t.ownerDocument).createTextNode(e)},setInitialProperties:function(e,t,n,r){var o=tn(t,n);switch(t){case"iframe":case"object":wt.trapBubbledEvent("topLoad","load",e);var a=n;break;case"video":case"audio":for(a in vn)vn.hasOwnProperty(a)&&wt.trapBubbledEvent(a,vn[a],e);a=n;break;case"source":wt.trapBubbledEvent("topError","error",e),a=n;break;case"img":case"image":wt.trapBubbledEvent("topError","error",e),wt.trapBubbledEvent("topLoad","load",e),a=n;break;case"form":wt.trapBubbledEvent("topReset","reset",e),wt.trapBubbledEvent("topSubmit","submit",e),a=n;break;case"details":wt.trapBubbledEvent("topToggle","toggle",e),a=n;break;case"input":jt.initWrapperState(e,n),a=jt.getHostProps(e,n),wt.trapBubbledEvent("topInvalid","invalid",e),yn(r,"onChange");break;case"option":Ht(e,n),a=Vt(e,n);break;case"select":$t(e,n),a=zt(e,n),wt.trapBubbledEvent("topInvalid","invalid",e),yn(r,"onChange");break;case"textarea":Qt.initWrapperState(e,n),a=Qt.getHostProps(e,n),wt.trapBubbledEvent("topInvalid","invalid",e),yn(r,"onChange");break;default:a=n}Xt(t,a);var i,u=a;for(i in u)if(u.hasOwnProperty(i)){var s=u[i];"style"===i?_t(e,s):"dangerouslySetInnerHTML"===i?null!=(s=s?s.__html:void 0)&&an(e,s):"children"===i?"string"==typeof s?cn(e,s):"number"==typeof s&&cn(e,""+s):"suppressContentEditableWarning"!==i&&(hn.hasOwnProperty(i)?null!=s&&yn(r,i):o?It.setValueForAttribute(e,i,s):null!=s&&It.setValueForProperty(e,i,s))}switch(t){case"input":en.track(e),jt.postMountWrapper(e,n);break;case"textarea":en.track(e),Qt.postMountWrapper(e,n);break;case"option":Bt(e,n);break;case"select":Kt(e,n);break;default:"function"==typeof a.onClick&&(e.onclick=l)}},diffProperties:function(e,t,n,r,o){var a,i,u=null;switch(t){case"input":n=jt.getHostProps(e,n),r=jt.getHostProps(e,r),u=[];break;case"option":n=Vt(e,n),r=Vt(e,r),u=[];break;case"select":n=zt(e,n),r=zt(e,r),u=[];break;case"textarea":n=Qt.getHostProps(e,n),r=Qt.getHostProps(e,r),u=[];break;default:"function"!=typeof n.onClick&&"function"==typeof r.onClick&&(e.onclick=l)}for(a in Xt(t,r),e=null,n)if(!r.hasOwnProperty(a)&&n.hasOwnProperty(a)&&null!=n[a])if("style"===a)for(i in t=n[a])t.hasOwnProperty(i)&&(e||(e={}),e[i]="");else"dangerouslySetInnerHTML"!==a&&"children"!==a&&"suppressContentEditableWarning"!==a&&(hn.hasOwnProperty(a)?u||(u=[]):(u=u||[]).push(a,null));for(a in r){var s=r[a];if(t=null!=n?n[a]:void 0,r.hasOwnProperty(a)&&s!==t&&(null!=s||null!=t))if("style"===a)if(t){for(i in t)!t.hasOwnProperty(i)||s&&s.hasOwnProperty(i)||(e||(e={}),e[i]="");for(i in s)s.hasOwnProperty(i)&&t[i]!==s[i]&&(e||(e={}),e[i]=s[i])}else e||(u||(u=[]),u.push(a,e)),e=s;else"dangerouslySetInnerHTML"===a?(s=s?s.__html:void 0,t=t?t.__html:void 0,null!=s&&t!==s&&(u=u||[]).push(a,""+s)):"children"===a?t===s||"string"!=typeof s&&"number"!=typeof s||(u=u||[]).push(a,""+s):"suppressContentEditableWarning"!==a&&(hn.hasOwnProperty(a)?(null!=s&&yn(o,a),u||t===s||(u=[])):(u=u||[]).push(a,s))}return e&&(u=u||[]).push("style",e),u},updateProperties:function(e,t,n,r,o){tn(n,r),r=tn(n,o);for(var a=0;at&&(t=8),Sn=t=qn(e.last.priorityLevel,t))n=e.last;else for(e=e.first;null!==e&&0>=qn(e.priorityLevel,t);)n=e,e=e.next;return n}function Qn(e,t){var n=e.alternate,r=e.updateQueue;null===r&&(r=e.updateQueue={first:null,last:null,hasForceUpdate:!1,callbackList:null}),null!==n?null===(e=n.updateQueue)&&(e=n.updateQueue={first:null,last:null,hasForceUpdate:!1,callbackList:null}):e=null;var o=$n=r;n=Kn=e!==r?e:null;var a=Gn(o,t),i=null!==a?a.next:o.first;return null===n?(Yn(o,t,a,i),null):(e=null!==(r=Gn(n,t))?r.next:n.first,Yn(o,t,a,i),i===e&&null!==i||a===r&&null!==a?(null===r&&(n.first=t),null===e&&(n.last=null),null):(Yn(n,t={priorityLevel:t.priorityLevel,partialState:t.partialState,callback:t.callback,isReplace:t.isReplace,isForced:t.isForced,isTopLevelUnmount:t.isTopLevelUnmount,next:null},r,e),t))}function Zn(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}var Xn=function(e,t,n,r){Qn(e,{priorityLevel:r,partialState:t,callback:n,isReplace:!1,isForced:!1,isTopLevelUnmount:!1,next:null})},Jn=function(e,t,n,r){Qn(e,{priorityLevel:r,partialState:t,callback:n,isReplace:!0,isForced:!1,isTopLevelUnmount:!1,next:null})},er=function(e,t,n){Qn(e,{priorityLevel:n,partialState:null,callback:t,isReplace:!1,isForced:!0,isTopLevelUnmount:!1,next:null})},tr=function(e){var t=e.updateQueue;return null===t||e.tag!==Wn&&e.tag!==zn?Hn:null!==t.first?t.first.priorityLevel:Hn},nr=function(e,t,n,r){var o=null===t.element;e=Qn(e,t={priorityLevel:r,partialState:t,callback:n,isReplace:!1,isForced:!1,isTopLevelUnmount:o,next:null}),o&&(n=Kn,null!==(o=$n)&&null!==t.next&&(t.next=null,o.last=t),null!==n&&null!==e&&null!==e.next&&(e.next=null,n.last=t))},rr=function(e,t,n,r,o,i,l){null!==e&&e.updateQueue===n&&(n=t.updateQueue={first:n.first,last:n.last,callbackList:null,hasForceUpdate:!1}),e=n.callbackList;for(var u=n.hasForceUpdate,s=!0,c=n.first;null!==c&&0>=qn(c.priorityLevel,l);){var p;n.first=c.next,null===n.first&&(n.last=null),c.isReplace?(o=Zn(c,r,o,i),s=!0):(p=Zn(c,r,o,i))&&(o=s?a({},o,p):a(o,p),s=!1),c.isForced&&(u=!0),null===c.callback||c.isTopLevelUnmount&&null!==c.next||((e=null!==e?e:[]).push(c.callback),t.effectTag|=jn),c=c.next}return n.callbackList=e,n.hasForceUpdate=u,null!==n.first||null!==e||u||(t.updateQueue=null),o},or=function(e,t,n){if(null!==(e=t.callbackList))for(t.callbackList=null,t=0;tir||(e.current=ar[ir],ar[ir]=null,ir--)},sr=function(e,t){ar[++ir]=e.current,e.current=t},cr=function(){for(;-1e)?e:t},so=function(){return new Qr(Hr,null,Yr)},co=N,po=A,fo=F,ho=L;"function"==typeof Symbol&&Symbol.for?(Xr=Symbol.for("react.coroutine"),Jr=Symbol.for("react.yield")):(Xr=60104,Jr=60105);var go={createCoroutine:function(e,t,n){var r=3f?(d=p,p=null):d=p.sibling;var h=m(e,p,l[f],u);if(null===h){null===p&&(p=d);break}t&&p&&null===h.alternate&&n(e,p),a=i(h,a,f),null===c?s=h:c.sibling=h,c=h,p=d}if(f===l.length)return r(e,p),s;if(null===p){for(;ff?(h=p,p=null):h=p.sibling;var b=m(e,p,v.value,u);if(null===b){p||(p=h);break}t&&p&&null===b.alternate&&n(e,p),a=i(b,a,f),null===c?s=b:c.sibling=b,c=b,p=h}if(v.done)return r(e,p),s;if(null===p){for(;!v.done;f++,v=l.next())null!==(v=g(e,v.value,u))&&(a=i(v,a,f),null===c?s=v:c.sibling=v,c=v);return s}for(p=o(e,p);!v.done;f++,v=l.next())null!==(v=y(p,e,f,v.value,u))&&(t&&null!==v.alternate&&p.delete(null===v.key?f:v.key),a=i(v,a,f),null===c?s=v:c.sibling=v,c=v);return t&&p.forEach(function(t){return n(e,t)}),s}return function(e,t,o,i){var u="object"==typeof o&&null!==o;if(u)switch(o.$$typeof){case Ho:e:{var s=o.key;for(u=t;null!==u;){if(u.key===s){if(u.type===o.type){r(e,u.sibling),(t=a(u,i)).ref=Vo(u,o),t.pendingProps=o.props,t.return=e,e=t;break e}r(e,u);break}n(e,u),u=u.sibling}(i=Co(o,e.internalContextTag,i)).ref=Vo(t,o),i.return=e,e=i}return l(e);case vo:e:{for(u=o.key;null!==t;){if(t.key===u){if(t.tag===Io){r(e,t.sibling),(t=a(t,i)).pendingProps=o,t.return=e,e=t;break e}r(e,t);break}n(e,t),t=t.sibling}(o=Po(o,e.internalContextTag,i)).return=e,e=o}return l(e);case bo:e:{if(null!==t){if(t.tag===Lo){r(e,t.sibling),(t=a(t,i)).type=o.value,t.return=e,e=t;break e}r(e,t)}(t=To(o,e.internalContextTag,i)).type=o.value,t.return=e,e=t}return l(e);case ko:e:{for(u=o.key;null!==t;){if(t.key===u){if(t.tag===Oo&&t.stateNode.containerInfo===o.containerInfo&&t.stateNode.implementation===o.implementation){r(e,t.sibling),(t=a(t,i)).pendingProps=o.children||[],t.return=e,e=t;break e}r(e,t);break}n(e,t),t=t.sibling}(o=So(o,e.internalContextTag,i)).return=e,e=o}return l(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==t&&t.tag===Fo?(r(e,t.sibling),(t=a(t,i)).pendingProps=o,t.return=e,e=t):(r(e,t),(o=xo(o,e.internalContextTag,i)).return=e,e=o),l(e);if(_o(o))return v(e,t,o,i);if(Bo(o))return b(e,t,o,i);if(u&&Wo(e,o),void 0===o)switch(e.tag){case Ao:case No:d("152",(o=e.type).displayName||o.name||"Component")}return r(e,t)}}var $o={reconcileChildFibers:zo(!0,!0),reconcileChildFibersInPlace:zo(!1,!0),mountChildFibersInPlace:zo(!1,!1),cloneChildFibers:function(e,t){if(null!==e&&t.child!==e.child&&d("153"),null!==t.child){e=t.child;var n=wo(e,e.pendingWorkPriority);for(n.pendingProps=e.pendingProps,t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=wo(e,e.pendingWorkPriority)).pendingProps=e.pendingProps,n.return=t;n.sibling=null}}},Ko=pe,qo=Mr,Yo=xr,Go=Pr,Qo=Er,Zo=Sr,Xo=Xn,Jo=Jn,ea=er,ta=rr,na=Tr,ra=_e;var oa=$o.mountChildFibersInPlace,aa=$o.reconcileChildFibers,ia=$o.reconcileChildFibersInPlace,la=$o.cloneChildFibers,ua=rr,sa=Pr,ca=Er,pa=Tr,fa=Ir,da=Fr,ha=Lr,ga=N,ma=A,ya=F,va=O,ba=L,ka=D,wa=I,Ca=R,Ea=M,xa=U,Pa=j,Ta=In,Sa=Un,_a=se,Na=ce,Aa=he,Fa=me,Oa=ye,Ia=ie.ReactCurrentOwner;function La(e,t,n,r,o){function a(e,t,n){i(e,t,n,t.pendingWorkPriority)}function i(e,t,n,r){t.child=null===e?oa(t,t.child,n,r):e.child===t.child?aa(t,t.child,n,r):ia(t,t.child,n,r)}function l(e,t){var n=t.ref;null===n||e&&e.ref===n||(t.effectTag|=Oa)}function c(e,t,n,r){if(l(e,t),!n)return r&&ha(t,!1),f(e,t);n=t.stateNode,Ia.current=t;var o=n.render();return t.effectTag|=_a,a(e,t,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&ha(t,!0),t.child}function p(e){var t=e.stateNode;t.pendingContext?da(e,t.pendingContext,t.pendingContext!==t.context):t.context&&da(e,t.context,!1),b(e,t.containerInfo)}function f(e,t){return la(e,t),t.child}function h(e,t){switch(t.tag){case va:p(t);break;case ya:fa(t);break;case wa:b(t,t.stateNode.containerInfo)}return null}var g=e.shouldSetTextContent,m=e.useSyncScheduling,y=e.shouldDeprioritizeSubtree,v=t.pushHostContext,b=t.pushHostContainer,k=n.enterHydrationState,w=n.resetHydrationState,C=n.tryToClaimNextHydratableInstance,E=(e=function(e,t,n,r){function o(e,t){t.updater=a,e.stateNode=t,ae.set(t,e)}var a={isMounted:ra,enqueueSetState:function(n,r,o){n=ae.get(n);var a=t(n,!1);Xo(n,r,void 0===o?null:o,a),e(n,a)},enqueueReplaceState:function(n,r,o){n=ae.get(n);var a=t(n,!1);Jo(n,r,void 0===o?null:o,a),e(n,a)},enqueueForceUpdate:function(n,r){n=ae.get(n);var o=t(n,!1);ea(n,void 0===r?null:r,o),e(n,o)}};return{adoptClassInstance:o,constructClassInstance:function(e,t){var n=e.type,r=Qo(e),a=Zo(e),i=a?Go(e,r):u;return o(e,t=new n(t,i)),a&&Yo(e,r,i),t},mountClassInstance:function(e,t){var n=e.alternate,r=e.stateNode,o=r.state||null,i=e.pendingProps;i||d("158");var l=Qo(e);r.props=i,r.state=o,r.refs=u,r.context=Go(e,l),On.enableAsyncSubtreeAPI&&null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent&&(e.internalContextTag|=qo),"function"==typeof r.componentWillMount&&(l=r.state,r.componentWillMount(),l!==r.state&&a.enqueueReplaceState(r,r.state,null),null!==(l=e.updateQueue)&&(r.state=ta(n,e,l,r,o,i,t))),"function"==typeof r.componentDidMount&&(e.effectTag|=Ko)},updateClassInstance:function(e,t,o){var i=t.stateNode;i.props=t.memoizedProps,i.state=t.memoizedState;var l=t.memoizedProps,u=t.pendingProps;u||null==(u=l)&&d("159");var c=i.context,p=Qo(t);if(p=Go(t,p),"function"!=typeof i.componentWillReceiveProps||l===u&&c===p||(c=i.state,i.componentWillReceiveProps(u,p),i.state!==c&&a.enqueueReplaceState(i,i.state,null)),c=t.memoizedState,o=null!==t.updateQueue?ta(e,t,t.updateQueue,i,c,u,o):c,!(l!==u||c!==o||na()||null!==t.updateQueue&&t.updateQueue.hasForceUpdate))return"function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=Ko),!1;var f=u;if(null===l||null!==t.updateQueue&&t.updateQueue.hasForceUpdate)f=!0;else{var h=t.stateNode,g=t.type;f="function"==typeof h.shouldComponentUpdate?h.shouldComponentUpdate(f,o,p):!(g.prototype&&g.prototype.isPureReactComponent&&s(l,f)&&s(c,o))}return f?("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(u,o,p),"function"==typeof i.componentDidUpdate&&(t.effectTag|=Ko)):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=Ko),n(t,u),r(t,o)),i.props=u,i.state=o,i.context=p,f}}}(r,o,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t})).adoptClassInstance,x=e.constructClassInstance,P=e.mountClassInstance,T=e.updateClassInstance;return{beginWork:function(e,t,n){if(t.pendingWorkPriority===Ta||t.pendingWorkPriority>n)return h(0,t);switch(t.tag){case ga:null!==e&&d("155");var r=t.type,o=t.pendingProps,i=ca(t);return r=r(o,i=sa(t,i)),t.effectTag|=_a,"object"==typeof r&&null!==r&&"function"==typeof r.render?(t.tag=ya,o=fa(t),E(t,r),P(t,n),t=c(e,t,!0,o)):(t.tag=ma,a(e,t,r),t.memoizedProps=o,t=t.child),t;case ma:e:{if(o=t.type,n=t.pendingProps,r=t.memoizedProps,pa())null===n&&(n=r);else if(null===n||r===n){t=f(e,t);break e}r=ca(t),o=o(n,r=sa(t,r)),t.effectTag|=_a,a(e,t,o),t.memoizedProps=n,t=t.child}return t;case ya:return o=fa(t),r=void 0,null===e?t.stateNode?d("153"):(x(t,t.pendingProps),P(t,n),r=!0):r=T(e,t,n),c(e,t,r,o);case va:return p(t),null!==(r=t.updateQueue)?(o=t.memoizedState)===(r=ua(e,t,r,null,o,null,n))?(w(),t=f(e,t)):(o=r.element,null!==e&&null!==e.child||!k(t)?(w(),a(e,t,o)):(t.effectTag|=Na,t.child=oa(t,t.child,o,n)),t.memoizedState=r,t=t.child):(w(),t=f(e,t)),t;case ba:v(t),null===e&&C(t),o=t.type;var u=t.memoizedProps;return null===(r=t.pendingProps)&&(null===(r=u)&&d("154")),i=null!==e?e.memoizedProps:null,pa()||null!==r&&u!==r?(u=r.children,g(o,r)?u=null:i&&g(o,i)&&(t.effectTag|=Aa),l(e,t),n!==Sa&&!m&&y(o,r)?(t.pendingWorkPriority=Sa,t=null):(a(e,t,u),t.memoizedProps=r,t=t.child)):t=f(e,t),t;case ka:return null===e&&C(t),null===(e=t.pendingProps)&&(e=t.memoizedProps),t.memoizedProps=e,null;case Ea:t.tag=Ca;case Ca:return n=t.pendingProps,pa()?null===n&&(null===(n=e&&e.memoizedProps)&&d("154")):null!==n&&t.memoizedProps!==n||(n=t.memoizedProps),o=n.children,r=t.pendingWorkPriority,t.stateNode=null===e?oa(t,t.stateNode,o,r):e.child===t.child?aa(t,t.stateNode,o,r):ia(t,t.stateNode,o,r),t.memoizedProps=n,t.stateNode;case xa:return null;case wa:e:{if(b(t,t.stateNode.containerInfo),n=t.pendingWorkPriority,o=t.pendingProps,pa())null===o&&(null==(o=e&&e.memoizedProps)&&d("154"));else if(null===o||t.memoizedProps===o){t=f(e,t);break e}null===e?t.child=ia(t,t.child,o,n):a(e,t,o),t.memoizedProps=o,t=t.child}return t;case Pa:e:{if(n=t.pendingProps,pa())null===n&&(n=t.memoizedProps);else if(null===n||t.memoizedProps===n){t=f(e,t);break e}a(e,t,n),t.memoizedProps=n,t=t.child}return t;default:d("156")}},beginFailedWork:function(e,t,n){switch(t.tag){case ya:fa(t);break;case va:p(t);break;default:d("157")}return t.effectTag|=Fa,null===e?t.child=null:t.child!==e.child&&(t.child=e.child),t.pendingWorkPriority===Ta||t.pendingWorkPriority>n?h(0,t):(t.firstEffect=null,t.lastEffect=null,i(e,t,null,n),t.tag===ya&&(e=t.stateNode,t.memoizedProps=e.props,t.memoizedState=e.state),t.child)}}}var Da=$o.reconcileChildFibers,Ra=Nr,Ma=Ar,Ua=N,ja=A,Ha=F,Ba=O,Va=L,Wa=D,za=I,$a=R,Ka=M,qa=U,Ya=j,Ga=ce,Qa=ye,Za=pe,Xa=Un;var Ja=null,ei=null;function ti(e){return function(t){try{return e(t)}catch(e){}}}var ni=function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!t.supportsFiber)return!0;try{var n=t.inject(e);Ja=ti(function(e){return t.onCommitFiberRoot(n,e)}),ei=ti(function(e){return t.onCommitFiberUnmount(n,e)})}catch(e){}return!0},ri=F,oi=O,ai=L,ii=D,li=I,ui=R,si=or,ci=function(e){"function"==typeof ei&&ei(e)},pi=ce,fi=pe,di=ge,hi=he;var gi=lr,mi=ur,yi=sr,vi={};var bi=L,ki=D,wi=O,Ci=de,Ei=ce,xi=oo;var Pi=Nr,Ti=cr,Si=ie.ReactCurrentOwner,_i=eo,Ni=uo,Ai=function(e){"function"==typeof Ja&&Ja(e)},Fi=In,Oi=Ln,Ii=Dn,Li=Rn,Di=Mn,Ri=Un,Mi=Mr,Ui=se,ji=ce,Hi=pe,Bi=fe,Vi=de,Wi=he,zi=ge,$i=me,Ki=ye,qi=O,Yi=L,Gi=I,Qi=F,Zi=tr,Xi=Dr;function Ji(e){function t(){for(;null!==$&&$.current.pendingWorkPriority===Fi;){$.isScheduled=!1;var e=$.nextScheduledRoot;if($.nextScheduledRoot=null,$===K)return K=$=null,V=Fi,null;$=e}e=$;for(var t=null,n=Fi;null!==e;)e.current.pendingWorkPriority!==Fi&&(n===Fi||n>e.current.pendingWorkPriority)&&(n=e.current.pendingWorkPriority,t=e),e=e.nextScheduledRoot;null!==t?(V=n,Ti(),Xi(),w(),B=_i(t.current,n),t!==re&&(ne=0,re=t)):(V=Fi,re=B=null)}function n(n){J=!0,z=null;var r=n.stateNode;if(r.current===n&&d("177"),V!==Oi&&V!==Ii||ne++,Si.current=null,n.effectTag>Ui)if(null!==n.lastEffect){n.lastEffect.nextEffect=n;var o=n.firstEffect}else o=n;else o=n.firstEffect;for(L(),W=o;null!==W;){var a=!1,i=void 0;try{for(;null!==W;){var l=W.effectTag;if(l&Wi&&e.resetTextContent(W.stateNode),l&Ki){var u=W.alternate;null!==u&&F(u)}switch(l&~(zi|$i|Wi|Ki|Ui)){case ji:T(W),W.effectTag&=~ji;break;case Bi:T(W),W.effectTag&=~ji,_(W.alternate,W);break;case Hi:_(W.alternate,W);break;case Vi:ee=!0,S(W),ee=!1}W=W.nextEffect}}catch(e){a=!0,i=e}a&&(null===W&&d("178"),c(W,i),null!==W&&(W=W.nextEffect))}for(D(),r.current=n,W=o;null!==W;){r=!1,o=void 0;try{for(;null!==W;){var s=W.effectTag;if(s&(Hi|zi)&&N(W.alternate,W),s&Ki&&A(W),s&$i)switch(a=W,i=void 0,null!==Y&&(i=Y.get(a),Y.delete(a),null==i&&null!==a.alternate&&(a=a.alternate,i=Y.get(a),Y.delete(a))),null==i&&d("184"),a.tag){case Qi:a.stateNode.componentDidCatch(i.error,{componentStack:i.componentStack});break;case qi:null===Z&&(Z=i.error);break;default:d("157")}var p=W.nextEffect;W.nextEffect=null,W=p}}catch(e){r=!0,o=e}r&&(null===W&&d("178"),c(W,o),null!==W&&(W=W.nextEffect))}J=!1,"function"==typeof Ai&&Ai(n.stateNode),Q&&(Q.forEach(m),Q=null),t()}function r(e){for(;;){var t=P(e.alternate,e,V),n=e.return,r=e.sibling,o=e;if(!(o.pendingWorkPriority!==Fi&&o.pendingWorkPriority>V)){for(var a=Zi(o),i=o.child;null!==i;)a=Ni(a,i.pendingWorkPriority),i=i.sibling;o.pendingWorkPriority=a}if(null!==t)return t;if(null!==n&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),e.effectTag>Ui&&(null!==n.lastEffect?n.lastEffect.nextEffect=e:n.firstEffect=e,n.lastEffect=e)),null!==r)return r;if(null===n){z=e;break}e=n}return null}function o(e){var t=E(e.alternate,e,V);return null===t&&(t=r(e)),Si.current=null,t}function a(e){var t=x(e.alternate,e,V);return null===t&&(t=r(e)),Si.current=null,t}function i(e){s(Ri,e)}function l(){if(null!==Y&&0e)){R=V;e:for(;;){if(V<=Ii)for(;null!==B&&!(null===(B=o(B))&&(null===z&&d("179"),R=Ii,n(z),R=V,l(),V===Fi||V>e||V>Ii)););else if(null!==r)for(;null!==B&&!U;)if(1e||VIi&&!q&&(O(i),q=!0),e=Z,X=U=M=!1,re=G=Y=Z=null,ne=0,null!==e)throw e}function c(e,t){var n=Si.current=null,r=!1,o=!1,a=null;if(e.tag===qi)n=e,p(e)&&(X=!0);else for(var i=e.return;null!==i&&null===n;){if(i.tag===Qi?"function"==typeof i.stateNode.componentDidCatch&&(r=!0,a=le(i),n=i,o=!0):i.tag===qi&&(n=i),p(i)){if(ee||null!==Q&&(Q.has(i)||null!==i.alternate&&Q.has(i.alternate)))return null;n=null,o=!1}i=i.return}if(null!==n){null===G&&(G=new Set),G.add(n);var l="";i=e;do{e:switch(i.tag){case co:case po:case fo:case ho:var u=i._debugOwner,s=i._debugSource,c=le(i),f=null;u&&(f=le(u)),u=s,c="\n in "+(c||"Unknown")+(u?" (at "+u.fileName.replace(/^.*[\\\/]/,"")+":"+u.lineNumber+")":f?" (created by "+f+")":"");break e;default:c=""}l+=c,i=i.return}while(i);i=l,e=le(e),null===Y&&(Y=new Map),t={componentName:e,componentStack:i,error:t,errorBoundary:r?n.stateNode:null,errorBoundaryFound:r,errorBoundaryName:a,willRetry:o},Y.set(n,t);try{console.error(t.error)}catch(e){console.error(e)}return J?(null===Q&&(Q=new Set),Q.add(n)):m(n),n}return null===Z&&(Z=t),null}function p(e){return null!==G&&(G.has(e)||null!==e.alternate&&G.has(e.alternate))}function f(e,t){return h(e,t)}function h(e,t){ne>te&&(X=!0,d("185")),!M&&t<=V&&(B=null);for(var n=!0;null!==e&&n;){if(n=!1,(e.pendingWorkPriority===Fi||e.pendingWorkPriority>t)&&(n=!0,e.pendingWorkPriority=t),null!==e.alternate&&(e.alternate.pendingWorkPriority===Fi||e.alternate.pendingWorkPriority>t)&&(n=!0,e.alternate.pendingWorkPriority=t),null===e.return){if(e.tag!==qi)break;var r=e.stateNode;if(t===Fi||r.isScheduled||(r.isScheduled=!0,K?K.nextScheduledRoot=r:$=r,K=r),!M)switch(t){case Oi:s(H?Oi:Ii,null);break;case Ii:j||d("186");break;default:q||(O(i),q=!0)}}e=e.return}}function g(e,t){var n=R;return n===Fi&&(n=!I||e.internalContextTag&Mi||t?Di:Oi),n===Oi&&(M||j)?Ii:n}function m(e){h(e,Ii)}var y=function(e){function t(e){return e===vi&&d("174"),e}var n=e.getChildHostContext,r=e.getRootHostContext,o=gi(vi),a=gi(vi),i=gi(vi);return{getHostContext:function(){return t(o.current)},getRootHostContainer:function(){return t(i.current)},popHostContainer:function(e){mi(o,e),mi(a,e),mi(i,e)},popHostContext:function(e){a.current===e&&(mi(o,e),mi(a,e))},pushHostContainer:function(e,t){yi(i,t,e),t=r(t),yi(a,e,e),yi(o,t,e)},pushHostContext:function(e){var r=t(i.current),l=t(o.current);l!==(r=n(l,e.type,r))&&(yi(a,e,e),yi(o,r,e))},resetHostContainer:function(){o.current=vi,i.current=vi}}}(e),v=function(e){function t(e,t){var n=xi();n.stateNode=t,n.return=e,n.effectTag=Ci,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case bi:return a(t,e.type,e.pendingProps);case ki:return i(t,e.pendingProps);default:return!1}}function r(e){for(e=e.return;null!==e&&e.tag!==bi&&e.tag!==wi;)e=e.return;h=e}var o=e.shouldSetTextContent,a=e.canHydrateInstance,i=e.canHydrateTextInstance,l=e.getNextHydratableSibling,u=e.getFirstHydratableChild,s=e.hydrateInstance,c=e.hydrateTextInstance,p=e.didNotHydrateInstance,f=e.didNotFindHydratableInstance;if(e=e.didNotFindHydratableTextInstance,!(a&&i&&l&&u&&s&&c&&p&&f&&e))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){d("175")},prepareToHydrateHostTextInstance:function(){d("176")},popHydrationState:function(){return!1}};var h=null,g=null,m=!1;return{enterHydrationState:function(e){return g=u(e.stateNode.containerInfo),h=e,m=!0},resetHydrationState:function(){g=h=null,m=!1},tryToClaimNextHydratableInstance:function(e){if(m){var r=g;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=Ei,m=!1,void(h=e);t(h,g)}e.stateNode=r,h=e,g=u(r)}else e.effectTag|=Ei,m=!1,h=e}},prepareToHydrateHostInstance:function(e,t,n){return t=s(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return c(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==h)return!1;if(!m)return r(e),m=!0,!1;var n=e.type;if(e.tag!==bi||"head"!==n&&"body"!==n&&!o(n,e.memoizedProps))for(n=g;n;)t(e,n),n=l(n);return r(e),g=h?l(e.stateNode):null,!0}}}(e),b=y.popHostContainer,k=y.popHostContext,w=y.resetHostContainer,C=La(e,y,v,f,g),E=C.beginWork,x=C.beginFailedWork,P=function(e,t,n){var r=e.createInstance,o=e.createTextInstance,a=e.appendInitialChild,i=e.finalizeInitialChildren,l=e.prepareUpdate,u=t.getRootHostContainer,s=t.popHostContext,c=t.getHostContext,p=t.popHostContainer,f=n.prepareToHydrateHostInstance,h=n.prepareToHydrateHostTextInstance,g=n.popHydrationState;return{completeWork:function(e,t,n){var m=t.pendingProps;switch(null===m?m=t.memoizedProps:t.pendingWorkPriority===Xa&&n!==Xa||(t.pendingProps=null),t.tag){case ja:return null;case Ha:return Ra(t),null;case Ba:return p(t),Ma(t),(m=t.stateNode).pendingContext&&(m.context=m.pendingContext,m.pendingContext=null),null!==e&&null!==e.child||(g(t),t.effectTag&=~Ga),null;case Va:s(t),n=u();var y=t.type;if(null!==e&&null!=t.stateNode){var v=e.memoizedProps,b=t.stateNode,k=c();m=l(b,y,v,m,n,k),(t.updateQueue=m)&&(t.effectTag|=Za),e.ref!==t.ref&&(t.effectTag|=Qa)}else{if(!m)return null===t.stateNode&&d("166"),null;if(e=c(),g(t))f(t,n,e)&&(t.effectTag|=Za);else{e=r(y,m,n,e,t);e:for(v=t.child;null!==v;){if(v.tag===Va||v.tag===Wa)a(e,v.stateNode);else if(v.tag!==za&&null!==v.child){v=v.child;continue}if(v===t)break e;for(;null===v.sibling;){if(null===v.return||v.return===t)break e;v=v.return}v=v.sibling}i(e,y,m,n)&&(t.effectTag|=Za),t.stateNode=e}null!==t.ref&&(t.effectTag|=Qa)}return null;case Wa:if(e&&null!=t.stateNode)e.memoizedProps!==m&&(t.effectTag|=Za);else{if("string"!=typeof m)return null===t.stateNode&&d("166"),null;e=u(),n=c(),g(t)?h(t)&&(t.effectTag|=Za):t.stateNode=o(m,e,n,t)}return null;case $a:(m=t.memoizedProps)||d("165"),t.tag=Ka,n=[];e:for((y=t.stateNode)&&(y.return=t);null!==y;){if(y.tag===Va||y.tag===Wa||y.tag===za)d("164");else if(y.tag===qa)n.push(y.type);else if(null!==y.child){y.child.return=y,y=y.child;continue}for(;null===y.sibling;){if(null===y.return||y.return===t)break e;y=y.return}y.sibling.return=y.return,y=y.sibling}return m=(y=m.handler)(m.props,n),t.child=Da(t,null!==e?e.child:null,m,t.pendingWorkPriority),t.child;case Ka:return t.tag=$a,null;case qa:case Ya:return null;case za:return t.effectTag|=Za,p(t),null;case Ua:d("167");default:d("156")}}}}(e,y,v).completeWork,T=(y=function(e,t){function n(e){var n=e.ref;if(null!==n)try{n(null)}catch(n){t(e,n)}}function r(e){return e.tag===ai||e.tag===oi||e.tag===li}function o(e){for(var t=e;;)if(i(t),null!==t.child&&t.tag!==li)t.child.return=t,t=t.child;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}}function a(e){for(var t=e,n=!1,r=void 0,a=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&d("160"),n.tag){case ai:r=n.stateNode,a=!1;break e;case oi:case li:r=n.stateNode.containerInfo,a=!0;break e}n=n.return}n=!0}if(t.tag===ai||t.tag===ii)o(t),a?y(r,t.stateNode):m(r,t.stateNode);else if(t.tag===li?r=t.stateNode.containerInfo:i(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;(t=t.return).tag===li&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}function i(e){switch("function"==typeof ci&&ci(e),e.tag){case ri:n(e);var r=e.stateNode;if("function"==typeof r.componentWillUnmount)try{r.props=e.memoizedProps,r.state=e.memoizedState,r.componentWillUnmount()}catch(n){t(e,n)}break;case ai:n(e);break;case ui:o(e.stateNode);break;case li:a(e)}}var l=e.commitMount,u=e.commitUpdate,s=e.resetTextContent,c=e.commitTextUpdate,p=e.appendChild,f=e.appendChildToContainer,h=e.insertBefore,g=e.insertInContainerBefore,m=e.removeChild,y=e.removeChildFromContainer,v=e.getPublicInstance;return{commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(r(t)){var n=t;break e}t=t.return}d("160"),n=void 0}var o=t=void 0;switch(n.tag){case ai:t=n.stateNode,o=!1;break;case oi:case li:t=n.stateNode.containerInfo,o=!0;break;default:d("161")}n.effectTag&hi&&(s(t),n.effectTag&=~hi);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||r(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==ai&&n.tag!==ii;){if(n.effectTag&pi)continue t;if(null===n.child||n.tag===li)continue t;n.child.return=n,n=n.child}if(!(n.effectTag&pi)){n=n.stateNode;break e}}for(var a=e;;){if(a.tag===ai||a.tag===ii)n?o?g(t,a.stateNode,n):h(t,a.stateNode,n):o?f(t,a.stateNode):p(t,a.stateNode);else if(a.tag!==li&&null!==a.child){a.child.return=a,a=a.child;continue}if(a===e)break;for(;null===a.sibling;){if(null===a.return||a.return===e)return;a=a.return}a.sibling.return=a.return,a=a.sibling}},commitDeletion:function(e){a(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case ri:break;case ai:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var o=t.type,a=t.updateQueue;t.updateQueue=null,null!==a&&u(n,a,o,e,r,t)}break;case ii:null===t.stateNode&&d("162"),n=t.memoizedProps,c(t.stateNode,null!==e?e.memoizedProps:n,n);break;case oi:case li:break;default:d("163")}},commitLifeCycles:function(e,t){switch(t.tag){case ri:var n=t.stateNode;if(t.effectTag&fi)if(null===e)n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidMount();else{var r=e.memoizedProps;e=e.memoizedState,n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidUpdate(r,e)}t.effectTag&di&&null!==t.updateQueue&&si(t,t.updateQueue,n);break;case oi:null!==(e=t.updateQueue)&&si(t,e,t.child&&t.child.stateNode);break;case ai:n=t.stateNode,null===e&&t.effectTag&fi&&l(n,t.type,t.memoizedProps,t);break;case ii:case li:break;default:d("163")}},commitAttachRef:function(e){var t=e.ref;if(null!==t){var n=e.stateNode;switch(e.tag){case ai:t(v(n));break;default:t(n)}}},commitDetachRef:function(e){null!==(e=e.ref)&&e(null)}}}(e,c)).commitPlacement,S=y.commitDeletion,_=y.commitWork,N=y.commitLifeCycles,A=y.commitAttachRef,F=y.commitDetachRef,O=e.scheduleDeferredCallback,I=e.useSyncScheduling,L=e.prepareForCommit,D=e.resetAfterCommit,R=Fi,M=!1,U=!1,j=!1,H=!1,B=null,V=Fi,W=null,z=null,$=null,K=null,q=!1,Y=null,G=null,Q=null,Z=null,X=!1,J=!1,ee=!1,te=1e3,ne=0,re=null;return{scheduleUpdate:f,getPriorityContext:g,batchedUpdates:function(e,t){var n=j;j=!0;try{return e(t)}finally{j=n,M||j||s(Ii,null)}},unbatchedUpdates:function(e){var t=H,n=j;H=j,j=!1;try{return e()}finally{j=n,H=t}},flushSync:function(e){var t=j,n=R;j=!0,R=Oi;try{return e()}finally{j=t,R=n,M&&d("187"),s(Ii,null)}},deferredUpdates:function(e){var t=R;R=Di;try{return e()}finally{R=t}}}}function el(){d("196")}function tl(e){return e?"number"==typeof(e=ae.get(e)).tag?el(e):e._processChildContext(e._context):u}tl._injectFiber=function(e){el=e};var nl=nr,rl=Rr,ol=_r,al=Or,il=L,ll=Ne,ul=Ae;tl._injectFiber(function(e){var t=rl(e);return ol(e)?al(e,t,!1):t});var sl=B;function cl(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function pl(e,t){var n,r=cl(e);for(e=0;r;){if(r.nodeType===sl){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cl(r)}}var fl=null;function dl(){return!fl&&o.canUseDOM&&(fl="textContent"in document.documentElement?"textContent":"innerText"),fl}var hl=function(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,r=t.anchorOffset,o=t.focusNode,a=t.focusOffset,i=t.getRangeAt(0);try{i.startContainer.nodeType,i.endContainer.nodeType}catch(e){return null}t=t.anchorNode===t.focusNode&&t.anchorOffset===t.focusOffset?0:i.toString().length;var l=i.cloneRange();return l.selectNodeContents(e),l.setEnd(i.startContainer,i.startOffset),i=(e=l.startContainer===l.endContainer&&l.startOffset===l.endOffset?0:l.toString().length)+t,(t=document.createRange()).setStart(n,r),t.setEnd(o,a),{start:(n=t.collapsed)?i:e,end:n?e:i}},gl=function(e,t){if(window.getSelection){var n=window.getSelection(),r=e[dl()].length,o=Math.min(t.start,r);if(t=void 0===t.end?o:Math.min(t.end,r),!n.extend&&o>t&&(r=t,t=o,o=r),r=pl(e,o),e=pl(e,t),r&&e){var a=document.createRange();a.setStart(r.node,r.offset),n.removeAllRanges(),o>t?(n.addRange(a),n.extend(e.node,e.offset)):(a.setEnd(e.node,e.offset),n.addRange(a))}}},ml=H,yl={hasSelectionCapabilities:function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)},getSelectionInformation:function(){var e=f();return{focusedElem:e,selectionRange:yl.hasSelectionCapabilities(e)?yl.getSelection(e):null}},restoreSelection:function(e){var t=f(),n=e.focusedElem;if(e=e.selectionRange,t!==n&&c(document.documentElement,n)){for(yl.hasSelectionCapabilities(n)&&yl.setSelection(n,e),t=[],e=n;e=e.parentNode;)e.nodeType===ml&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(p(n),n=0;nthis.eventPool.length&&this.eventPool.push(e)}function Vl(e){e.eventPool=[],e.getPooled=Hl,e.release=Bl}function Wl(e,t,n,r){return jl.call(this,e,t,n,r)}function zl(e,t,n,r){return jl.call(this,e,t,n,r)}a(jl.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=l.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=l.thatReturnsTrue)},persist:function(){this.isPersistent=l.thatReturnsTrue},isPersistent:l.thatReturnsFalse,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;for(t=0;t=parseInt(Gl.version(),10))}var Ql=$l,Zl=o.canUseDOM&&(!ql||Yl&&8=Yl),Xl=String.fromCharCode(32),Jl={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")}},eu=!1;function tu(e,t){switch(e){case"topKeyUp":return-1!==Kl.indexOf(t.keyCode);case"topKeyDown":return 229!==t.keyCode;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function nu(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var ru=!1;var ou={eventTypes:Jl,extractEvents:function(e,t,n,r){var o;if(ql)e:{switch(e){case"topCompositionStart":var a=Jl.compositionStart;break e;case"topCompositionEnd":a=Jl.compositionEnd;break e;case"topCompositionUpdate":a=Jl.compositionUpdate;break e}a=void 0}else ru?tu(e,n)&&(a=Jl.compositionEnd):"topKeyDown"===e&&229===n.keyCode&&(a=Jl.compositionStart);return a?(Zl&&(ru||a!==Jl.compositionStart?a===Jl.compositionEnd&&ru&&(o=Rl.getData()):ru=Rl.initialize(r)),a=Wl.getPooled(a,t,n,r),o?a.data=o:null!==(o=nu(n))&&(a.data=o),Il.accumulateTwoPhaseDispatches(a),o=a):o=null,(e=Ql?function(e,t){switch(e){case"topCompositionEnd":return nu(t);case"topKeyPress":return 32!==t.which?null:(eu=!0,Xl);case"topTextInput":return(e=t.data)===Xl&&eu?null:e;default:return null}}(e,n):function(e,t){if(ru)return"topCompositionEnd"===e||!ql&&tu(e,t)?(e=Rl.getData(),Rl.reset(),ru=!1,e):null;switch(e){case"topPaste":return null;case"topKeyPress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=document.documentMode,Fu={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange".split(" ")}},Ou=null,Iu=null,Lu=null,Du=!1,Ru=wt.isListeningToAllDependencies;function Mu(e,t){if(Du||null==Ou||Ou!==f())return null;var n=Ou;return"selectionStart"in n&&vl.hasSelectionCapabilities(n)?n={start:n.selectionStart,end:n.selectionEnd}:window.getSelection?n={anchorNode:(n=window.getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}:n=void 0,Lu&&s(Lu,n)?null:(Lu=n,(e=jl.getPooled(Fu.select,Iu,e,t)).type="select",e.target=Ou,Il.accumulateTwoPhaseDispatches(e),e)}var Uu={eventTypes:Fu,extractEvents:function(e,t,n,r){var o=r.window===r?r.document:r.nodeType===Nu?r:r.ownerDocument;if(!o||!Ru("onSelect",o))return null;switch(o=t?oe.getNodeFromInstance(t):window,e){case"topFocus":(iu(o)||"true"===o.contentEditable)&&(Ou=o,Iu=t,Lu=null);break;case"topBlur":Lu=Iu=Ou=null;break;case"topMouseDown":Du=!0;break;case"topContextMenu":case"topMouseUp":return Du=!1,Mu(n,r);case"topSelectionChange":if(Au)break;case"topKeyDown":case"topKeyUp":return Mu(n,r)}return null}};function ju(e,t,n,r){return jl.call(this,e,t,n,r)}function Hu(e,t,n,r){return jl.call(this,e,t,n,r)}function Bu(e,t,n,r){return jl.call(this,e,t,n,r)}function Vu(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,32<=e||13===e?e:0}jl.augmentClass(ju,{animationName:null,elapsedTime:null,pseudoElement:null}),jl.augmentClass(Hu,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Cu.augmentClass(Bu,{relatedTarget:null});var Wu={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},zu={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"};function $u(e,t,n,r){return jl.call(this,e,t,n,r)}function Ku(e,t,n,r){return jl.call(this,e,t,n,r)}function qu(e,t,n,r){return jl.call(this,e,t,n,r)}function Yu(e,t,n,r){return jl.call(this,e,t,n,r)}function Gu(e,t,n,r){return jl.call(this,e,t,n,r)}Cu.augmentClass($u,{key:function(e){if(e.key){var t=Wu[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=Vu(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?zu[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Pu,charCode:function(e){return"keypress"===e.type?Vu(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?Vu(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Tu.augmentClass(Ku,{dataTransfer:null}),Cu.augmentClass(qu,{touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Pu}),jl.augmentClass(Yu,{propertyName:null,elapsedTime:null,pseudoElement:null}),Tu.augmentClass(Gu,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null});var Qu={},Zu={};"abort animationEnd animationIteration animationStart blur cancel canPlay canPlayThrough click close contextMenu copy cut doubleClick drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error focus input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing progress rateChange reset scroll seeked seeking stalled submit suspend timeUpdate toggle touchCancel touchEnd touchMove touchStart transitionEnd volumeChange waiting wheel".split(" ").forEach(function(e){var t=e[0].toUpperCase()+e.slice(1),n="on"+t;n={phasedRegistrationNames:{bubbled:n,captured:n+"Capture"},dependencies:[t="top"+t]},Qu[e]=n,Zu[t]=n});var Xu={eventTypes:Qu,extractEvents:function(e,t,n,r){var o=Zu[e];if(!o)return null;switch(e){case"topAbort":case"topCancel":case"topCanPlay":case"topCanPlayThrough":case"topClose":case"topDurationChange":case"topEmptied":case"topEncrypted":case"topEnded":case"topError":case"topInput":case"topInvalid":case"topLoad":case"topLoadedData":case"topLoadedMetadata":case"topLoadStart":case"topPause":case"topPlay":case"topPlaying":case"topProgress":case"topRateChange":case"topReset":case"topSeeked":case"topSeeking":case"topStalled":case"topSubmit":case"topSuspend":case"topTimeUpdate":case"topToggle":case"topVolumeChange":case"topWaiting":var a=jl;break;case"topKeyPress":if(0===Vu(n))return null;case"topKeyDown":case"topKeyUp":a=$u;break;case"topBlur":case"topFocus":a=Bu;break;case"topClick":if(2===n.button)return null;case"topDoubleClick":case"topMouseDown":case"topMouseMove":case"topMouseUp":case"topMouseOut":case"topMouseOver":case"topContextMenu":a=Tu;break;case"topDrag":case"topDragEnd":case"topDragEnter":case"topDragExit":case"topDragLeave":case"topDragOver":case"topDragStart":case"topDrop":a=Ku;break;case"topTouchCancel":case"topTouchEnd":case"topTouchMove":case"topTouchStart":a=qu;break;case"topAnimationEnd":case"topAnimationIteration":case"topAnimationStart":a=ju;break;case"topTransitionEnd":a=Yu;break;case"topScroll":a=Cu;break;case"topWheel":a=Gu;break;case"topCopy":case"topCut":case"topPaste":a=Hu}return a||d("86",e),e=a.getPooled(o,t,n,r),Il.accumulateTwoPhaseDispatches(e),e}};et.setHandleTopLevel(wt.handleTopLevel),st.injection.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),Me.injection.injectComponentTree(oe),st.injection.injectEventPluginsByName({SimpleEventPlugin:Xu,EnterLeaveEventPlugin:_u,ChangeEventPlugin:wu,SelectEventPlugin:Uu,BeforeInputEventPlugin:ou});var Ju=_.injection.MUST_USE_PROPERTY,es=_.injection.HAS_BOOLEAN_VALUE,ts=_.injection.HAS_NUMERIC_VALUE,ns=_.injection.HAS_POSITIVE_NUMERIC_VALUE,rs=_.injection.HAS_STRING_BOOLEAN_VALUE,os={Properties:{allowFullScreen:es,allowTransparency:rs,async:es,autoPlay:es,capture:es,checked:Ju|es,cols:ns,contentEditable:rs,controls:es,default:es,defer:es,disabled:es,download:_.injection.HAS_OVERLOADED_BOOLEAN_VALUE,draggable:rs,formNoValidate:es,hidden:es,loop:es,multiple:Ju|es,muted:Ju|es,noValidate:es,open:es,playsInline:es,readOnly:es,required:es,reversed:es,rows:ns,rowSpan:ts,scoped:es,seamless:es,selected:Ju|es,size:ns,start:ts,span:ns,spellCheck:rs,style:0,itemScope:es,acceptCharset:0,className:0,htmlFor:0,httpEquiv:0,value:rs},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMMutationMethods:{value:function(e,t){if(null==t)return e.removeAttribute("value");"number"!==e.type||!1===e.hasAttribute("value")?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t)}}},as=_.injection.HAS_STRING_BOOLEAN_VALUE,is="http://www.w3.org/1999/xlink",ls="http://www.w3.org/XML/1998/namespace",us={Properties:{autoReverse:as,externalResourcesRequired:as,preserveAlpha:as},DOMAttributeNames:{autoReverse:"autoReverse",externalResourcesRequired:"externalResourcesRequired",preserveAlpha:"preserveAlpha"},DOMAttributeNamespaces:{xlinkActuate:is,xlinkArcrole:is,xlinkHref:is,xlinkRole:is,xlinkShow:is,xlinkTitle:is,xlinkType:is,xmlBase:ls,xmlLang:ls,xmlSpace:ls}},ss=/[\-\:]([a-z])/g;function cs(e){return e[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 x-height xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xmlns:xlink xml:lang xml:space".split(" ").forEach(function(e){var t=e.replace(ss,cs);us.Properties[t]=0,us.DOMAttributeNames[t]=e}),_.injection.injectDOMPropertyConfig(os),_.injection.injectDOMPropertyConfig(us);var ps=ni,fs=H,ds=B,hs=V,gs=W,ms=z,ys=_.ROOT_ATTRIBUTE_NAME,vs=y,bs=bn.createElement,ks=bn.createTextNode,ws=bn.setInitialProperties,Cs=bn.diffProperties,Es=bn.updateProperties,xs=bn.diffHydratedProperties,Ps=bn.diffHydratedText,Ts=bn.warnForDeletedHydratableElement,Ss=bn.warnForDeletedHydratableText,_s=bn.warnForInsertedHydratedElement,Ns=bn.warnForInsertedHydratedText,As=oe.precacheFiberNode,Fs=oe.updateFiberProps;Ve.injection.injectFiberControlledHostComponent(bn),Cl._injectFiber(function(e){return Ds.findHostInstance(e)});var Os=null,Is=null;function Ls(e){return!(!e||e.nodeType!==fs&&e.nodeType!==gs&&e.nodeType!==ms&&(e.nodeType!==hs||" react-mount-point-unstable "!==e.nodeValue))}var Ds=function(e){var t=e.getPublicInstance,n=(e=Ji(e)).scheduleUpdate,r=e.getPriorityContext;return{createContainer:function(e){var t=so();return e={current:t,containerInfo:e,isScheduled:!1,nextScheduledRoot:null,context:null,pendingContext:null},t.stateNode=e},updateContainer:function(e,t,o,a){var i=t.current;o=tl(o),null===t.context?t.context=o:t.pendingContext=o,t=a,a=r(i,On.enableAsyncSubtreeAPI&&null!=e&&null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent),nl(i,e={element:e},void 0===t?null:t,a),n(i,a)},batchedUpdates:e.batchedUpdates,unbatchedUpdates:e.unbatchedUpdates,deferredUpdates:e.deferredUpdates,flushSync:e.flushSync,getPublicRootInstance:function(e){if(!(e=e.current).child)return null;switch(e.child.tag){case il:return t(e.child.stateNode);default:return e.child.stateNode}},findHostInstance:function(e){return null===(e=ll(e))?null:e.stateNode},findHostInstanceWithNoPortals:function(e){return null===(e=ul(e))?null:e.stateNode}}}({getRootHostContext:function(e){if(e.nodeType===gs)e=(e=e.documentElement)?e.namespaceURI:vs(null,"");else{var t=e.nodeType===hs?e.parentNode:e;e=t.namespaceURI||null,t=t.tagName,e=vs(e,t)}return e},getChildHostContext:function(e,t){return vs(e,t)},getPublicInstance:function(e){return e},prepareForCommit:function(){Os=wt.isEnabled(),Is=vl.getSelectionInformation(),wt.setEnabled(!1)},resetAfterCommit:function(){vl.restoreSelection(Is),Is=null,wt.setEnabled(Os),Os=null},createInstance:function(e,t,n,r,o){return e=bs(e,t,n,r),As(o,e),Fs(e,t),e},appendInitialChild:function(e,t){e.appendChild(t)},finalizeInitialChildren:function(e,t,n,r){ws(e,t,n,r);e:{switch(t){case"button":case"input":case"select":case"textarea":e=!!n.autoFocus;break e}e=!1}return e},prepareUpdate:function(e,t,n,r,o){return Cs(e,t,n,r,o)},commitMount:function(e){e.focus()},commitUpdate:function(e,t,n,r,o){Fs(e,o),Es(e,t,n,r,o)},shouldSetTextContent:function(e,t){return"textarea"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&"string"==typeof t.dangerouslySetInnerHTML.__html},resetTextContent:function(e){e.textContent=""},shouldDeprioritizeSubtree:function(e,t){return!!t.hidden},createTextInstance:function(e,t,n,r){return e=ks(e,t),As(r,e),e},commitTextUpdate:function(e,t,n){e.nodeValue=n},appendChild:function(e,t){e.appendChild(t)},appendChildToContainer:function(e,t){e.nodeType===hs?e.parentNode.insertBefore(t,e):e.appendChild(t)},insertBefore:function(e,t,n){e.insertBefore(t,n)},insertInContainerBefore:function(e,t,n){e.nodeType===hs?e.parentNode.insertBefore(t,n):e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},removeChildFromContainer:function(e,t){e.nodeType===hs?e.parentNode.removeChild(t):e.removeChild(t)},canHydrateInstance:function(e,t){return e.nodeType===fs&&t===e.nodeName.toLowerCase()},canHydrateTextInstance:function(e,t){return""!==t&&e.nodeType===ds},getNextHydratableSibling:function(e){for(e=e.nextSibling;e&&e.nodeType!==fs&&e.nodeType!==ds;)e=e.nextSibling;return e},getFirstHydratableChild:function(e){for(e=e.firstChild;e&&e.nodeType!==fs&&e.nodeType!==ds;)e=e.nextSibling;return e},hydrateInstance:function(e,t,n,r,o,a){return As(a,e),Fs(e,n),xs(e,t,n,o,r)},hydrateTextInstance:function(e,t,n){return As(n,e),Ps(e,t)},didNotHydrateInstance:function(e,t){1===t.nodeType?Ts(e,t):Ss(e,t)},didNotFindHydratableInstance:function(e,t,n){_s(e,t,n)},didNotFindHydratableTextInstance:function(e,t){Ns(e,t)},scheduleDeferredCallback:Fn.rIC,useSyncScheduling:!0});function Rs(e,t,n,r,o){Ls(n)||d("200");var a=n._reactRootContainer;if(a)Ds.updateContainer(t,a,e,o);else{if(!r&&!function(e){return!(!(e=e?e.nodeType===gs?e.documentElement:e.firstChild:null)||e.nodeType!==fs||!e.hasAttribute(ys))}(n))for(r=void 0;r=n.lastChild;)n.removeChild(r);var i=Ds.createContainer(n);a=n._reactRootContainer=i,Ds.unbatchedUpdates(function(){Ds.updateContainer(t,i,e,o)})}return Ds.getPublicRootInstance(a)}function Ms(e,t){var n=2=0;--a){var i=this.tryEntries[a],l=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(u&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;T(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:_(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),h}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(t){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=r=function(e){return n(e)}:e.exports=r=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":n(e)},r(t)}e.exports=r},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){e.exports={styleEditor:"styleEditor",rain:"rain"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=(r=n(0))&&"object"==typeof r&&"default"in r?r.default:r;function a(e){return a.warnAboutHMRDisabled&&(a.warnAboutHMRDisabled=!0,console.error("React-Hot-Loader: misconfiguration detected, using production version in non-production environment."),console.error("React-Hot-Loader: Hot Module Replacement is not enabled.")),o.Children.only(e.children)}a.warnAboutHMRDisabled=!1;var i=function e(){return e.shouldWrapWithAppContainer?function(e){return function(t){return o.createElement(a,null,o.createElement(e,t))}}:function(e){return e}};i.shouldWrapWithAppContainer=!1;t.AppContainer=a,t.hot=i,t.areComponentsEqual=function(e,t){return e===t},t.setConfig=function(){},t.cold=function(e){return e},t.configureComponent=function(){}},function(e,t,n){"use strict";n.r(t);var r=n(0),o=n.n(r),a=n(6),i=n.n(a),l=n(14),u=n(7),s=n.n(u),c=n(9),p=n.n(c),f=n(1),d=n.n(f),h=n(2),g=n.n(h),m=n(3),y=n.n(m),v=n(4),b=n.n(v),k=n(5),w=n.n(k),C=n(10),E=n.n(C),x=function(e){function t(){var e,n;d()(this,t);for(var r=arguments.length,o=new Array(r),a=0;a0){n=!1;break}return n}(),F=function(e){function t(){var e,n;d()(this,t);for(var r=arguments.length,o=new Array(r),a=0;a5500)&&(e.push({time:t,rainNum:30}),n.setState({heartRains:e}),setTimeout(function(){n.removeRain(t)},11e3))},n}return w()(t,e),g()(t,[{key:"progressiveShowStyle",value:function(){var e=p()(s.a.mark(function e(){var t,n,r,o,a=this,i=arguments;return s.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=i.length>0&&void 0!==i[0]?i[0]:0,n=this.interval,r=this.fullStyle,o=function e(o){return new Promise(function(i){var l=r[t],u=l[o];if(l&&u){var s=a.state.currentStyleCode;s+=u,a.setState({currentStyleCode:s}),"\n"===u&&a.styleEditor&&a.styleEditor.toBottom(),setTimeout(function(){i(e(o+1))},n)}else i()})},e.abrupt("return",o(0));case 4:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"componentDidMount",value:function(){var e=p()(s.a.mark(function e(){return s.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.progressiveShowStyle(0);case 2:this.setState({finished:!0}),this.rain();case 4:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"removeRain",value:function(e){var t=this.state.heartRains;t=t.filter(function(t){return t.time!==e}),this.setState({heartRains:t})}},{key:"render",value:function(){var e=this.state,t=e.currentStyleCode,n=e.finished,r=e.heartRains;return o.a.createElement("div",null,o.a.createElement("div",{style:{display:A?"flex":""}},o.a.createElement(x,{ref:this.saveStyleEditorRef,code:t}),o.a.createElement(P,{click:n?this.rain:null})),r.map(function(e){return o.a.createElement(N,{num:e.rainNum,key:e.time})}))}}]),t}(o.a.Component);n(31);S=F,i.a.render(o.a.createElement(l.AppContainer,null,o.a.createElement(S,null)),document.getElementById("app"))}]);
================================================
FILE: index.html
================================================
Hi。宝贝!
================================================
FILE: package.json
================================================
{
"name": "valentine",
"version": "1.0.0",
"description": "情人节",
"main": "index.js",
"scripts": {
"start": "cross-env NODE_ENV=development webpack-dev-server --config ./webpack/webpack.config.js",
"build": "cross-env NODE_ENV=production webpack --config ./webpack/webpack.config.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/yacan8/valentine.git"
},
"author": "can.yang",
"license": "ISC",
"bugs": {
"url": "https://github.com/yacan8/valentine/issues"
},
"homepage": "https://github.com/yacan8/valentine#readme",
"dependencies": {
"prismjs": "^1.17.1",
"react": "16.0",
"react-dom": "16.0"
},
"devDependencies": {
"@babel/core": "^7.5.5",
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@babel/plugin-proposal-decorators": "^7.4.4",
"@babel/plugin-transform-react-jsx": "^7.3.0",
"@babel/plugin-transform-runtime": "^7.5.5",
"@babel/polyfill": "^7.4.4",
"@babel/preset-env": "^7.5.5",
"@babel/runtime": "^7.5.5",
"autoprefixer": "^9.1.0",
"babel-loader": "^8.0.6",
"babel-preset-react": "^6.24.1",
"clean-webpack-plugin": "^0.1.17",
"cross-env": "^5.2.0",
"css-loader": "^1.0.0",
"cssnano": "^4.0.5",
"file-loader": "^2.0.0",
"happypack": "^5.0.0",
"html-webpack-plugin": "^3.2.0",
"less": "^3.8.1",
"less-loader": "^4.1.0",
"mini-css-extract-plugin": "^0.4.1",
"optimize-css-assets-webpack-plugin": "^5.0.0",
"pixrem": "^4.0.1",
"postcss-discard-duplicates": "^4.0.0",
"postcss-flexibility": "^2.0.0",
"postcss-loader": "2.1.5",
"postcss-nested": "^3.0.0",
"progress-bar-webpack-plugin": "^1.11.0",
"react-hot-loader": "^4.12.8",
"style-loader": "^0.22.1",
"uglifyjs-webpack-plugin": "^1.2.7",
"url-loader": "^1.0.1",
"webpack": "^4.17.1",
"webpack-cli": "^3.1.0",
"webpack-dev-server": "^3.1.5",
"webpack-merge": "^4.1.4"
}
}
================================================
FILE: src/app.js
================================================
import React from 'react';
import StyleEditor from './styleEditor';
import Heart from './heart';
import HeartRain from './heartRain';
const isPc = (function () {
var userAgentInfo = navigator.userAgent;
var Agents = ["Android", "iPhone",
"SymbianOS", "Windows Phone",
"iPad", "iPod"
];
var flag = true;
for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
}());
export default class App extends React.Component {
fullStyle = [
`/*
* Hi。宝贝!
* 这么久了。还没和宝贝说过我的工作呢!
* 我是个前端工程师。俗称程序员。网页相关。
* 如这个页面。就是个什么也没有的网页。
* 我的工作就是给这种空白的页面加点儿东西。
* 嗯。说起来手机和电脑还得区分一下。
* 你现在用的是。。。${isPc ? '电脑' : '手机'}
*/
/* 首先给所有元素加上过渡效果 */
* {
-webkit-transition: all .5s;
transition: all .5s;
}
/* 白色背景太单调了。来点背景 */
body, html {
color: #fff;
background-color: darkslategray;
}
/* 文字太近了 */
.styleEditor {
overflow: auto;
${ isPc ? `width: 48vw;
height: 96vh;` : `width: 96vw;
height: 48vh;` }
border: 1px solid;
font-size: 14px;
line-height: 1.5;
padding: 10px;
}
/* 这些代码颜色都一样。加点儿高亮区别来 */
.token.selector{ color: rgb(133,153,0) }
.token.property{ color: rgb(187,137,0) }
.token.punctuation{ color: yellow }
.token.function{ color: rgb(42,161,152) }
.token.comment{ color: rgb(177,177,177) }
/* 加个 3D 效果 */
html{
perspective: 1000px;
-webkit-perspective: 1000px;
}
.styleEditor {
${ isPc ? `transform: rotateY(10deg) translateZ(-100px) ;
-webkit-transform: rotateY(10deg) translateZ(-100px);` : `transform: rotateX(-10deg) translateZ(-100px);
-webkit-transform: rotateX(-10deg) translateZ(-100px);` } ${ isPc ? '' : `
transform-origin: 50% 0% 0;
-webkit-transform-origin: 50% 0% 0;` }
}
/*
* 宝贝,今天教你写代码。
* 用代码画一个爱心。
*/
/* 首先,来一个画板 */
.heartWrapper {
${ isPc ? `width: 48vw;
height: 96vh;` : `width: 96vw;
height: 48vh;`}
position: relative;
border: 1px solid;
background-color: white;
${ isPc ?
`transform: rotateY(-10deg) translateZ(-100px);
-webkit-transform: rotateY(-10deg) translateZ(-100px);` :
`transform: rotateX(10deg) translateZ(-100px);
-webkit-transform: rotateX(10deg) translateZ(-100px);`}${ isPc ? '' :`
transform-origin: 50% 0% 0;
-webkit-transform-origin: 50% 0% 0;`}
}
/* 画一个方块,当左心室和右心室 */
.heart {
width: 100px;
height: 100px;
position: absolute;
top: 50%;
left: 50%;
margin: -50px 0 0 -50px;
border-radius: 20px;
background: #E88D8D;
transform: rotate(45deg);
}
/* 画上左心房 */
.heart::before {
content: '';
background: #E88D8D;
border-radius: 50%;
width: 100px;
height: 100px;
position: absolute;
left: -38px;
top: 1px;
}
/* 再画上右心房 */
.heart::after {
content: '';
background: #E88D8D;
border-radius: 50%;
width: 100px;
height: 100px;
position: absolute;
right: -1px;
top: -38px;
}
/* 太单调了,让心跳动起来 */
@keyframes throb {
0% {
transform: scale(1) rotate(45deg);
opacity: 1;
}
100% {
transform: scale(1.65) rotate(45deg);
opacity: 0
}
}
.bounce {
opacity: 0.2;
animation: throb 1s infinite linear;
}
/*
* Ok,完成!
* 宝贝,七夕快乐!
*/
`
]
state = {
currentStyleCode: '',
finished: false,
heartRains: []
}
interval = 30;
// interval = 0;
async progressiveShowStyle(n = 0) {
const {
interval,
fullStyle
} = this;
const showStyle = i => new Promise((resolve) => {
const style = fullStyle[n];
const char = style[i];
if (!style || !char) {
resolve();
return;
}
let {
currentStyleCode
} = this.state;
currentStyleCode += char;
this.setState({
currentStyleCode
});
if (char === '\n' && this.styleEditor) {
this.styleEditor.toBottom();
}
setTimeout(() => {
resolve(showStyle(i + 1))
}, interval);
});
return showStyle(0);
}
async componentDidMount() {
await this.progressiveShowStyle(0);
this.setState({finished: true});
this.rain();
}
saveStyleEditorRef = child => this.styleEditor = child;
rain = () => {
let { heartRains } = this.state;
const rainNum = 30;
const stayTime = rainNum * 200 + 1000 + 4000;
const time = (new Date()).getTime();
if (!heartRains.length || (time - heartRains[heartRains.length - 1].time > (stayTime / 2))) {
heartRains.push({time, rainNum});
this.setState({heartRains});
setTimeout(() => {
this.removeRain(time);
}, stayTime);
}
}
removeRain(time) {
let { heartRains } = this.state;
heartRains = heartRains.filter(item => item.time !== time);
this.setState({heartRains});
}
render() {
const { currentStyleCode, finished, heartRains } = this.state;
return
{
heartRains.map(item =>
)
}
;
}
}
================================================
FILE: src/heart.js
================================================
import React from 'react';
export default class Heart extends React.Component {
onClick = () => {
const { click } = this.props
click && click();
}
render() {
return
}
}
================================================
FILE: src/heartRain.js
================================================
import React from 'react';
import ReactDOM from 'react-dom';
function randomNumber(start, end) {
return start + Math.random() * (end - start);
}
class Rain extends React.Component {
start = [0, 0];
end = [0, 0];
endTime = 0;
init() {
const { innerWidth, innerHeight } = window;
const startX = randomNumber(0, innerWidth);
const startY = -30;
this.start = [startX, startY];
const endX = randomNumber(0, innerWidth);
const endY = innerHeight + 30;
this.end = [endX, endY];
this.endTime = randomNumber(3, 3.5) * 1000;
}
componentWillMount() {
this.init();
}
componentDidMount() {
const { delay } = this.props;
setTimeout(() => {
if (this.dom) {
const { end } = this;
this.dom.style.left = `${end[0]}px`;
this.dom.style.top = `${end[1]}px`;
}
setTimeout(() => {
if (this.dom) {
this.dom.style.display = 'none';
}
}, this.endTime);
}, delay);
}
saveRef = c => this.dom = c;
render() {
const { start, endTime } = this;
return
❤️
}
}
export default class HeartRain extends React.Component {
queue = [];
container = null;
componentWillMount() {
this.init();
}
init() {
const rainNum = this.props.num;
for (let i = 0; i < rainNum; i++) {
const delay = randomNumber(i * 200, i * 200 + 1000)
this.queue.push();
}
const container = document.createElement('div');
this.container = container;
document.body.append(container);
}
componentDidMount() {
ReactDOM.render(
{this.queue}
,
this.container
);
}
componentWillUnmount() {
if (this.container) {
ReactDOM.unmountComponentAtNode(this.container);
document.body.removeChild(this.container);
this.container = null;
this.queue = null;
}
}
render() {
return null;
}
}
================================================
FILE: src/index.less
================================================
* {
box-sizing: border-box;
}
html,
body {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
// height: 100vh;
// overflow: hidden;
}
.styleEditor {
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
}
.rain {
position: absolute;
}
// .styleEditor {
// overflow: scroll;
// max-height: 50vh;
// padding: 15px;
// border: 1px solid rgba(255, 255, 255, .5);
// box-sizing: border-box;
// }
// .heartWrapper {
// width: 48vw;
// height: 96vh;
// position: relative;
// }
================================================
FILE: src/main.js
================================================
import React from 'react';
import ReactDOM from 'react-dom';
import { AppContainer } from 'react-hot-loader';
import App from './app';
import './index.less';
//热更新实现
const render = Component => {
ReactDOM.render(
,
document.getElementById('app'),
)
}
render(App);
// Webpack Hot Module Replacement API
if (module.hot) {
module.hot.accept('./app', () => {
render(App);
})
}
================================================
FILE: src/styleEditor.js
================================================
import React from 'react';
import Prism from 'prismjs'
export default class StyleEditor extends React.Component {
toBottom = () => {
if (this.styleWrapper) {
this.styleWrapper.scrollTop = 1000000;
}
}
saveRef = child => this.styleWrapper = child;
render() {
const { code } = this.props;
const highlightCode = Prism.highlight(code, Prism.languages.css);
return
}
}
================================================
FILE: webpack/postcss.config.js
================================================
module.exports = {
plugins: () => {
return [
require('postcss-nested')(), // 用于解开 @media, @supports, @font-face 和 @document 等css规则
require('pixrem')(), // 为 rem 单位添加像素转化
require('autoprefixer')({ // 添加内核前缀
browsers: ['last 2 versions', 'Firefox ESR', '> 1%', 'ie >= 8']
}),
require('postcss-flexibility')(), // 添加 flex 布局 polyfill
require('postcss-discard-duplicates')() // 去除css中的重复规则
]
}
}
================================================
FILE: webpack/webpack.base.config.js
================================================
const path = require('path');
const ProgressBarPlugin = require('progress-bar-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const webpack = require('webpack');
const isDebug = process.env.NODE_ENV !== 'production';
const host = '0.0.0.0';
const port = 8080;
const releasePath = path.resolve(__dirname, '../dist');
const base = {
entry: [path.join(process.cwd(), 'src/main')],
mode: isDebug ? 'development' : 'production',
output: {
publicPath: './',
path: releasePath,
chunkFilename: '[name].[chunkhash].chunk.js'
},
devServer: {
contentBase: [path.join(process.cwd(), './vendor-dev/'), path.join(process.cwd(), './vendor/')],
hot: true,
compress: false,
historyApiFallback: true,
open: true,
host: host,
port: port,
disableHostCheck: true,
stats: { colors: true },
filename: '[name].chunk.js',
headers: { 'Access-Control-Allow-Origin': '*' }
},
resolve: {
extensions: [".js", ".json"],
},
module: {
rules: [{
test: /\.(woff|woff2|ttf|eot|png|jpg|jpeg|gif|svg)(\?v=\d+\.\d+\.\d+)?$/i, // 图片加载
loader: 'url-loader',
query: {
limit: 10000
}
}]
},
optimization: {
minimize: !isDebug,
minimizer: !isDebug ? [new UglifyJsPlugin({
cache: true,
parallel: true,
sourceMap: true,
uglifyOptions: {
comments: false,
warnings: false,
compress: {
unused: true,
dead_code: true,
collapse_vars: true,
reduce_vars: true
},
output: {
comments: false
}
}
})] : []
},
plugins: [
new ProgressBarPlugin(),
new HtmlWebpackPlugin({
filename: 'index.html',
template: path.resolve(process.cwd(), './index.html')
})
]
};
if (isDebug) {
base.entry.unshift('react-hot-loader/patch', `webpack-dev-server/client?http://${host}:${port}`, 'webpack/hot/dev-server');
base.plugins.unshift(new webpack.HotModuleReplacementPlugin());
base.devtool = 'source-map';
} else {
base.plugins.push(new CleanWebpackPlugin(
"*",
{
root: releasePath, //根目录
verbose: true, //开启在控制台输出信息
dry: false //启用删除文件
}
))
}
module.exports = base;
================================================
FILE: webpack/webpack.config.js
================================================
const merge = require('webpack-merge');
const baseConfig = require('./webpack.base.config');
const reactConfig = require('./webpack.react.config');
const lessConfig = require('./webpack.less.config');
const config = merge(baseConfig, reactConfig, lessConfig);
module.exports = config;
================================================
FILE: webpack/webpack.less.config.js
================================================
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const HappyPack = require('happypack');
const os = require('os');
const happyThreadPool = HappyPack.ThreadPool({ size: os.cpus().length });
const lessHappyLoaderId = 'happypack-for-less-loader';
const cssHappyLoaderId = 'happypack-for-css-loader';
const isDebug = process.env.NODE_ENV !== 'production';
const cssLoader = {
loader: `css-loader`,
options: {
sourceMap: isDebug,
modules: true,
localIdentName: '[local]',
}
}
const postcssLoader = {
loader: 'postcss-loader',
options: {
config: {
path: __dirname
}
}
}
const lessLoader = {
loader: 'less-loader',
options: {
sourceMap: isDebug,
javascriptEnabled: true // 支持内联JavaScript
}
}
const lessConfig = {
module: {
rules: []
},
plugins: [],
optimization: {
minimizer: [new OptimizeCssAssetsPlugin({ // 使用 OptimizeCssAssetsPlugin 对css进行压缩
cssProcessor: require('cssnano'), // css 压缩优化器
cssProcessorOptions: { discardComments: { removeAll: true } } // 去除所有注释
})]
}
};
let loaders = [];
let plugins = [];
if (isDebug) {
loaders = [{
test: /\.less$/,
loader: 'happypack/loader',
query: {id: lessHappyLoaderId}
}, {
test: /\.css$/,
loader: 'happypack/loader',
query: {id: cssHappyLoaderId}
}]
plugins = [new HappyPack({
id: lessHappyLoaderId,
threadPool: happyThreadPool,
loaders: ['style-loader', cssLoader, postcssLoader, lessLoader ]
}), new HappyPack({
id: cssHappyLoaderId,
threadPool: happyThreadPool,
loaders: ['style-loader', cssLoader, postcssLoader ]
})]
} else {
loaders = [{
test: /\.less$/,
use: [MiniCssExtractPlugin.loader, {
loader: 'happypack/loader',
query: {id: lessHappyLoaderId}
}]
}, {
test: /\.css/,
use: [MiniCssExtractPlugin.loader, {
loader: 'happypack/loader',
query: {id: cssHappyLoaderId}
}]
}]
plugins = [new MiniCssExtractPlugin({
filename: '[name].css',
// chunkFilename: "[id].css"
}), new HappyPack({
id: lessHappyLoaderId,
loaders: [
cssLoader,
postcssLoader,
lessLoader
],
threadPool: happyThreadPool
}), new HappyPack({
id: cssHappyLoaderId,
loaders: [
cssLoader,
postcssLoader
],
threadPool: happyThreadPool
})]
}
lessConfig.module.rules = lessConfig.module.rules.concat(loaders);
lessConfig.plugins = lessConfig.plugins.concat(plugins);
module.exports = lessConfig;
================================================
FILE: webpack/webpack.react.config.js
================================================
const path = require('path');
const HappyPack = require('happypack');
const os = require('os');
const happyThreadPool = HappyPack.ThreadPool({ size: os.cpus().length });
const happyLoaderId = 'happypack-for-react-babel-loader';
const babelLoader = {
test: /\.jsx?$/,
loader: 'babel-loader',
include: [path.resolve(process.cwd(), 'src')]
}
const reactConfig = {
module: {
rules: [{
test: babelLoader.test,
loader: 'happypack/loader',
query: {
id: happyLoaderId
},
include: babelLoader.include
}]
},
plugins: [new HappyPack({
id: happyLoaderId,
threadPool: happyThreadPool,
loaders: [babelLoader]
})]
}
delete babelLoader.test;
delete babelLoader.include;
module.exports = reactConfig;