diff --git a/.gitignore b/.gitignore index e43b0f9889..38b19796e3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,26 @@ +<<<<<<< HEAD +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + + + +# misc .DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* +======= +.DS_Store +>>>>>>> 9375bb04f6e3ec94c87619f85a2995001fe2a578 diff --git a/README.md b/README.md index 3298804c3a..190dfa76d0 100644 --- a/README.md +++ b/README.md @@ -1,100 +1,37 @@ -# Would You Rather Project +# Would You Rather -This is the starter code for the final assessment project for Udacity's React & Redux course. +Would You Rather is a web application that allows users to be able to vote preferred option for a question. The app allows the user the following: -The `_DATA.js` file represents a fake database and methods that let you access the data. The only thing you need to edit in the ` _DATA.js` file is the value of `avatarURL`. Each user should have an avatar, so you’ll need to add the path to each user’s avatar. +- Sign in +- View all polls +- Select a particular poll and view its details +- Vote for a particular option in a poll +- Create a poll +- View the leaderboard -Using the provided starter code, you'll build a React/Redux front end for the application. We recommend using the [Create React App](https://github.com/facebook/create-react-app) to bootstrap the project. +![Home page polls](./sample_images/home.png) +![Leaderboard page](./sample_images/leaderboard.png) +![New Poll page](./sample_images/new-poll.png) +![Answered Poll](./sample_images/answered.png) +![Vote page](./sample_images/vote.png) -## Data +## Installation -There are two types of objects stored in our database: +- install all project dependencies with `npm install` -* Users -* Questions +- start the development server with `npm start` -### Users +``` +npm install +npm start +``` -Users include: +## Resources Used -| Attribute | Type | Description | -|-----------------|------------------|------------------- | -| id | String | The user’s unique identifier | -| name | String | The user’s first name and last name | -| avatarURL | String | The path to the image file | -| questions | Array | A list of ids of the polling questions this user created| -| answers | Object | The object's keys are the ids of each question this user answered. The value of each key is the answer the user selected. It can be either `'optionOne'` or `'optionTwo'` since each question has two options. +I learnt how to use create protected routes from [ Implementing Protected Route and Authentication in React-JS](https://dev.to/olumidesamuel_/implementing-protected-route-and-authentication-in-react-js-3cl4) by [Olumide Samuel](https://dev.to/olumidesamuel_) -### Questions +I also benefitted from the guidance of a friend [Qasim-Yusuf](https://github.com/Qausim) who tried as much as possible to make sure I stop doubting myself and just write code. Plus also making fun of me as us. -Questions include: +## Comments & Collaboration -| Attribute | Type | Description | -|-----------------|------------------|-------------------| -| id | String | The question’s unique identifier | -| author | String | The author’s unique identifier | -| timestamp | String | The time when the question was created| -| optionOne | Object | The first voting option| -| optionTwo | Object | The second voting option| - -### Voting Options - -Voting options are attached to questions. They include: - -| Attribute | Type | Description | -|-----------------|------------------|-------------------| -| votes | Array | A list that contains the id of each user who voted for that option| -| text | String | The text of the option | - -Your code will talk to the database via 4 methods: - -* `_getUsers()` -* `_getQuestions()` -* `_saveQuestion(question)` -* `_saveQuestionAnswer(object)` - -1) `_getUsers()` Method - -*Description*: Get all of the existing users from the database. -*Return Value*: Object where the key is the user’s id and the value is the user object. - -2) `_getQuestions()` Method - -*Description*: Get all of the existing questions from the database. -*Return Value*: Object where the key is the question’s id and the value is the question object. - -3) `_saveQuestion(question)` Method - -*Description*: Save the polling question in the database. -*Parameters*: Object that includes the following properties: `author`, `optionOneText`, and `optionTwoText`. More details about these properties: - -| Attribute | Type | Description | -|-----------------|------------------|-------------------| -| author | String | The id of the user who posted the question| -| optionOneText| String | The text of the first option | -| optionTwoText | String | The text of the second option | - -*Return Value*: An object that has the following properties: `id`, `author`, `optionOne`, `optionTwo`, `timestamp`. More details about these properties: - -| Attribute | Type | Description | -|-----------------|------------------|-------------------| -| id | String | The id of the question that was posted| -| author | String | The id of the user who posted the question| -| optionOne | Object | The object has a text property and a votes property, which stores an array of the ids of the users who voted for that option| -| optionTwo | Object | The object has a text property and a votes property, which stores an array of the ids of the users who voted for that option| -|timestamp|String | The time when the question was created| - -4) `_saveQuestionAnswer(object)` Method - -*Description*: Save the answer to a particular polling question in the database. -*Parameters*: Object that contains the following properties: `authedUser`, `qid`, and `answer`. More details about these properties: - -| Attribute | Type | Description | -|-----------------|------------------|-------------------| -| authedUser | String | The id of the user who answered the question| -| qid | String | The id of the question that was answered| -| answer | String | The option the user selected. The value should be either `"optionOne"` or `"optionTwo"`| - -## Contributing - -This repository is the starter code for *all* Udacity students. Therefore, we most likely will not accept pull requests. For details, check out [CONTRIBUTING.md](https://github.com/udacity/reactnd-project-would-you-rather-starter/blob/master/CONTRIBUTING.md). +For comments, suggestions and collaboration all you can reach me on LinkedIn [Adedeji-Adelanwa](https://www.linkedin.com/in/adelanwaadedeji/) diff --git a/_DATA.js b/_DATA.js deleted file mode 100755 index d1b26cb30c..0000000000 --- a/_DATA.js +++ /dev/null @@ -1,202 +0,0 @@ -let users = { - sarahedo: { - id: 'sarahedo', - name: 'Sarah Edo', - avatarURL: , - answers: { - "8xf0y6ziyjabvozdd253nd": 'optionOne', - "6ni6ok3ym7mf1p33lnez": 'optionTwo', - "am8ehyc8byjqgar0jgpub9": 'optionTwo', - "loxhs1bqm25b708cmbf3g": 'optionTwo' - }, - questions: ['8xf0y6ziyjabvozdd253nd', 'am8ehyc8byjqgar0jgpub9'] - }, - tylermcginnis: { - id: 'tylermcginnis', - name: 'Tyler McGinnis', - avatarURL: , - answers: { - "vthrdm985a262al8qx3do": 'optionOne', - "xj352vofupe1dqz9emx13r": 'optionTwo', - }, - questions: ['loxhs1bqm25b708cmbf3g', 'vthrdm985a262al8qx3do'], - }, - johndoe: { - id: 'johndoe', - name: 'John Doe', - avatarURL: , - answers: { - "xj352vofupe1dqz9emx13r": 'optionOne', - "vthrdm985a262al8qx3do": 'optionTwo', - "6ni6ok3ym7mf1p33lnez": 'optionTwo' - }, - questions: ['6ni6ok3ym7mf1p33lnez', 'xj352vofupe1dqz9emx13r'], - } -} - -let questions = { - "8xf0y6ziyjabvozdd253nd": { - id: '8xf0y6ziyjabvozdd253nd', - author: 'sarahedo', - timestamp: 1467166872634, - optionOne: { - votes: ['sarahedo'], - text: 'have horrible short term memory', - }, - optionTwo: { - votes: [], - text: 'have horrible long term memory' - } - }, - "6ni6ok3ym7mf1p33lnez": { - id: '6ni6ok3ym7mf1p33lnez', - author: 'johndoe', - timestamp: 1468479767190, - optionOne: { - votes: [], - text: 'become a superhero', - }, - optionTwo: { - votes: ['johndoe', 'sarahedo'], - text: 'become a supervillain' - } - }, - "am8ehyc8byjqgar0jgpub9": { - id: 'am8ehyc8byjqgar0jgpub9', - author: 'sarahedo', - timestamp: 1488579767190, - optionOne: { - votes: [], - text: 'be telekinetic', - }, - optionTwo: { - votes: ['sarahedo'], - text: 'be telepathic' - } - }, - "loxhs1bqm25b708cmbf3g": { - id: 'loxhs1bqm25b708cmbf3g', - author: 'tylermcginnis', - timestamp: 1482579767190, - optionOne: { - votes: [], - text: 'be a front-end developer', - }, - optionTwo: { - votes: ['sarahedo'], - text: 'be a back-end developer' - } - }, - "vthrdm985a262al8qx3do": { - id: 'vthrdm985a262al8qx3do', - author: 'tylermcginnis', - timestamp: 1489579767190, - optionOne: { - votes: ['tylermcginnis'], - text: 'find $50 yourself', - }, - optionTwo: { - votes: ['johndoe'], - text: 'have your best friend find $500' - } - }, - "xj352vofupe1dqz9emx13r": { - id: 'xj352vofupe1dqz9emx13r', - author: 'johndoe', - timestamp: 1493579767190, - optionOne: { - votes: ['johndoe'], - text: 'write JavaScript', - }, - optionTwo: { - votes: ['tylermcginnis'], - text: 'write Swift' - } - }, -} - -function generateUID () { - return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15) -} - -export function _getUsers () { - return new Promise((res, rej) => { - setTimeout(() => res({...users}), 1000) - }) -} - -export function _getQuestions () { - return new Promise((res, rej) => { - setTimeout(() => res({...questions}), 1000) - }) -} - -function formatQuestion ({ optionOneText, optionTwoText, author }) { - return { - id: generateUID(), - timestamp: Date.now(), - author, - optionOne: { - votes: [], - text: optionOneText, - }, - optionTwo: { - votes: [], - text: optionTwoText, - } - } -} - -export function _saveQuestion (question) { - return new Promise((res, rej) => { - const authedUser = question.author; - const formattedQuestion = formatQuestion(question); - - setTimeout(() => { - questions = { - ...questions, - [formattedQuestion.id]: formattedQuestion - } - - users = { - ...users, - [authedUser]: { - ...users[authedUser], - questions: users[authedUser].questions.concat([formattedQuestion.id]) - } - } - - res(formattedQuestion) - }, 1000) - }) -} - -export function _saveQuestionAnswer ({ authedUser, qid, answer }) { - return new Promise((res, rej) => { - setTimeout(() => { - users = { - ...users, - [authedUser]: { - ...users[authedUser], - answers: { - ...users[authedUser].answers, - [qid]: answer - } - } - } - - questions = { - ...questions, - [qid]: { - ...questions[qid], - [answer]: { - ...questions[qid][answer], - votes: questions[qid][answer].votes.concat([authedUser]) - } - } - } - - res() - }, 500) - }) -} diff --git a/build/asset-manifest.json b/build/asset-manifest.json new file mode 100644 index 0000000000..47a54ce35c --- /dev/null +++ b/build/asset-manifest.json @@ -0,0 +1,23 @@ +{ + "files": { + "main.css": "/static/css/main.ff576dba.chunk.css", + "main.js": "/static/js/main.0be6fe67.chunk.js", + "main.js.map": "/static/js/main.0be6fe67.chunk.js.map", + "runtime-main.js": "/static/js/runtime-main.e451e4ca.js", + "runtime-main.js.map": "/static/js/runtime-main.e451e4ca.js.map", + "static/css/2.27175f2b.chunk.css": "/static/css/2.27175f2b.chunk.css", + "static/js/2.727437a6.chunk.js": "/static/js/2.727437a6.chunk.js", + "static/js/2.727437a6.chunk.js.map": "/static/js/2.727437a6.chunk.js.map", + "index.html": "/index.html", + "static/css/2.27175f2b.chunk.css.map": "/static/css/2.27175f2b.chunk.css.map", + "static/css/main.ff576dba.chunk.css.map": "/static/css/main.ff576dba.chunk.css.map", + "static/js/2.727437a6.chunk.js.LICENSE.txt": "/static/js/2.727437a6.chunk.js.LICENSE.txt" + }, + "entrypoints": [ + "static/js/runtime-main.e451e4ca.js", + "static/css/2.27175f2b.chunk.css", + "static/js/2.727437a6.chunk.js", + "static/css/main.ff576dba.chunk.css", + "static/js/main.0be6fe67.chunk.js" + ] +} \ No newline at end of file diff --git a/build/assets/danabramov.jpeg b/build/assets/danabramov.jpeg new file mode 100644 index 0000000000..25fae6e99e Binary files /dev/null and b/build/assets/danabramov.jpeg differ diff --git a/build/assets/saraedo.jpeg b/build/assets/saraedo.jpeg new file mode 100644 index 0000000000..838f9ed771 Binary files /dev/null and b/build/assets/saraedo.jpeg differ diff --git a/build/assets/tylermcginis.jpeg b/build/assets/tylermcginis.jpeg new file mode 100644 index 0000000000..d278a9bf09 Binary files /dev/null and b/build/assets/tylermcginis.jpeg differ diff --git a/build/favicon.ico b/build/favicon.ico new file mode 100644 index 0000000000..a11777cc47 Binary files /dev/null and b/build/favicon.ico differ diff --git a/build/index.html b/build/index.html new file mode 100644 index 0000000000..cf334da217 --- /dev/null +++ b/build/index.html @@ -0,0 +1 @@ +React App
\ No newline at end of file diff --git a/build/logo192.png b/build/logo192.png new file mode 100644 index 0000000000..fc44b0a379 Binary files /dev/null and b/build/logo192.png differ diff --git a/build/logo512.png b/build/logo512.png new file mode 100644 index 0000000000..a4e47a6545 Binary files /dev/null and b/build/logo512.png differ diff --git a/build/manifest.json b/build/manifest.json new file mode 100644 index 0000000000..080d6c77ac --- /dev/null +++ b/build/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/build/robots.txt b/build/robots.txt new file mode 100644 index 0000000000..e9e57dc4d4 --- /dev/null +++ b/build/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/build/static/css/2.27175f2b.chunk.css b/build/static/css/2.27175f2b.chunk.css new file mode 100644 index 0000000000..b692ca3df2 --- /dev/null +++ b/build/static/css/2.27175f2b.chunk.css @@ -0,0 +1,2 @@ +.react-tabs{-webkit-tap-highlight-color:transparent}.react-tabs__tab-list{border-bottom:1px solid #aaa;margin:0 0 10px;padding:0}.react-tabs__tab{display:inline-block;border:1px solid transparent;border-bottom:none;bottom:-1px;position:relative;list-style:none;padding:6px 12px;cursor:pointer}.react-tabs__tab--selected{background:#fff;border-color:#aaa;color:#000;border-radius:5px 5px 0 0}.react-tabs__tab--disabled{color:GrayText;cursor:default}.react-tabs__tab:focus{box-shadow:0 0 5px #0188fe;border-color:#0188fe;outline:none}.react-tabs__tab:focus:after{content:"";position:absolute;height:5px;left:-4px;right:-4px;bottom:-5px;background:#fff}.react-tabs__tab-panel{display:none}.react-tabs__tab-panel--selected{display:block} +/*# sourceMappingURL=2.27175f2b.chunk.css.map */ \ No newline at end of file diff --git a/build/static/css/2.27175f2b.chunk.css.map b/build/static/css/2.27175f2b.chunk.css.map new file mode 100644 index 0000000000..d6ce142c2d --- /dev/null +++ b/build/static/css/2.27175f2b.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://node_modules/react-tabs/style/react-tabs.css"],"names":[],"mappings":"AAAA,YACE,uCACF,CAEA,sBACE,4BAA6B,CAC7B,eAAgB,CAChB,SACF,CAEA,iBACE,oBAAqB,CAErB,4BAAmB,CAAnB,kBAAmB,CACnB,WAAY,CACZ,iBAAkB,CAClB,eAAgB,CAChB,gBAAiB,CACjB,cACF,CAEA,2BACE,eAAgB,CAChB,iBAAkB,CAClB,UAAY,CACZ,yBACF,CAEA,2BACE,cAAe,CACf,cACF,CAEA,uBACE,0BAAsC,CACtC,oBAAgC,CAChC,YACF,CAEA,6BACE,UAAW,CACX,iBAAkB,CAClB,UAAW,CACX,SAAU,CACV,UAAW,CACX,WAAY,CACZ,eACF,CAEA,uBACE,YACF,CAEA,iCACE,aACF","file":"2.27175f2b.chunk.css","sourcesContent":[".react-tabs {\n -webkit-tap-highlight-color: transparent;\n}\n\n.react-tabs__tab-list {\n border-bottom: 1px solid #aaa;\n margin: 0 0 10px;\n padding: 0;\n}\n\n.react-tabs__tab {\n display: inline-block;\n border: 1px solid transparent;\n border-bottom: none;\n bottom: -1px;\n position: relative;\n list-style: none;\n padding: 6px 12px;\n cursor: pointer;\n}\n\n.react-tabs__tab--selected {\n background: #fff;\n border-color: #aaa;\n color: black;\n border-radius: 5px 5px 0 0;\n}\n\n.react-tabs__tab--disabled {\n color: GrayText;\n cursor: default;\n}\n\n.react-tabs__tab:focus {\n box-shadow: 0 0 5px hsl(208, 99%, 50%);\n border-color: hsl(208, 99%, 50%);\n outline: none;\n}\n\n.react-tabs__tab:focus:after {\n content: \"\";\n position: absolute;\n height: 5px;\n left: -4px;\n right: -4px;\n bottom: -5px;\n background: #fff;\n}\n\n.react-tabs__tab-panel {\n display: none;\n}\n\n.react-tabs__tab-panel--selected {\n display: block;\n}\n"]} \ No newline at end of file diff --git a/build/static/css/main.ff576dba.chunk.css b/build/static/css/main.ff576dba.chunk.css new file mode 100644 index 0000000000..6eaa514408 --- /dev/null +++ b/build/static/css/main.ff576dba.chunk.css @@ -0,0 +1,2 @@ +body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} +/*# sourceMappingURL=main.ff576dba.chunk.css.map */ \ No newline at end of file diff --git a/build/static/css/main.ff576dba.chunk.css.map b/build/static/css/main.ff576dba.chunk.css.map new file mode 100644 index 0000000000..4cf0a611af --- /dev/null +++ b/build/static/css/main.ff576dba.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://src/index.css"],"names":[],"mappings":"AAAA,KACE,QAAS,CACT,mJAEY,CACZ,kCAAmC,CACnC,iCACF","file":"main.ff576dba.chunk.css","sourcesContent":["body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n"]} \ No newline at end of file diff --git a/build/static/js/2.727437a6.chunk.js b/build/static/js/2.727437a6.chunk.js new file mode 100644 index 0000000000..cd51f91141 --- /dev/null +++ b/build/static/js/2.727437a6.chunk.js @@ -0,0 +1,3 @@ +/*! For license information please see 2.727437a6.chunk.js.LICENSE.txt */ +(this["webpackJsonpwould-you-rather"]=this["webpackJsonpwould-you-rather"]||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(44)},function(e,t,n){"use strict";e.exports=n(52)},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(8);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t1?t-1:0),r=1;r0?" Args: "+n.join(", "):""))}var x=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)(o<<=1)<0&&O(16,""+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var a=r;a=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,a=r;a=P&&(P=t+1),_.set(e,t),C.set(t,e)},R="style["+k+'][data-styled-version="5.3.1"]',A=new RegExp("^"+k+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),L=function(e,t,n){for(var r,o=n.split(","),a=0,i=o.length;a=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(k))return r}}(n),a=void 0!==o?o.nextSibling:null;r.setAttribute(k,"active"),r.setAttribute("data-styled-version","5.3.1");var i=D();return i&&r.setAttribute("nonce",i),n.insertBefore(r,a),r},M=function(){function e(e){var t=this.element=z(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e0&&(c+=e+",")})),r+=""+l+u+'{content:"'+c+'"}/*!sc*/\n'}}}return r}(this)},e}(),H=/(a)(d)/gi,V=function(e){return String.fromCharCode(e+(e>25?39:97))};function K(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=V(t%52)+n;return(V(t%52)+n).replace(H,"$1-$2")}var Q=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},q=function(e){return Q(5381,e)};function Y(e){for(var t=0;t>>0);if(!t.hasNameForId(r,i)){var l=n(a,"."+i,void 0,r);t.insertRules(r,i,l)}o.push(i),this.staticRulesId=i}else{for(var u=this.rules.length,c=Q(this.baseHash,n.hash),s="",f=0;f>>0);if(!t.hasNameForId(r,v)){var y=n(s,"."+v,void 0,r);t.insertRules(r,v,y)}o.push(v)}}return o.join(" ")},e}(),J=/^\s*\/\/.*$/gm,Z=[":","[",".","#"];function ee(e){var t,n,r,o,a=void 0===e?m:e,i=a.options,l=void 0===i?m:i,c=a.plugins,s=void 0===c?y:c,f=new u.a(l),d=[],p=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(n,r,o,a,i,l,u,c,s,f){switch(n){case 1:if(0===s&&64===r.charCodeAt(0))return e(r+";"),"";break;case 2:if(0===c)return r+"/*|*/";break;case 3:switch(c){case 102:case 112:return e(o[0]+r),"";default:return r+(0===f?"/*|*/":"")}case-2:r.split("/*|*/}").forEach(t)}}}((function(e){d.push(e)})),h=function(e,r,a){return 0===r&&-1!==Z.indexOf(a[n.length])||a.match(o)?e:"."+t};function v(e,a,i,l){void 0===l&&(l="&");var u=e.replace(J,""),c=a&&i?i+" "+a+" { "+u+" }":u;return t=l,n=a,r=new RegExp("\\"+n+"\\b","g"),o=new RegExp("(\\"+n+"\\b){2,}"),f(i||!a?"":a,c)}return f.use([].concat(s,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(n)>0&&(o[0]=o[0].replace(r,h))},p,function(e){if(-2===e){var t=d;return d=[],t}}])),v.hash=s.length?s.reduce((function(e,t){return t.name||O(15),Q(e,t.name)}),5381).toString():"",v}var te=a.a.createContext(),ne=(te.Consumer,a.a.createContext()),re=(ne.Consumer,new B),oe=ee();function ae(){return Object(o.useContext)(te)||re}function ie(){return Object(o.useContext)(ne)||oe}function le(e){var t=Object(o.useState)(e.stylisPlugins),n=t[0],r=t[1],i=ae(),u=Object(o.useMemo)((function(){var t=i;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),c=Object(o.useMemo)((function(){return ee({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return Object(o.useEffect)((function(){l()(n,e.stylisPlugins)||r(e.stylisPlugins)}),[e.stylisPlugins]),a.a.createElement(te.Provider,{value:u},a.a.createElement(ne.Provider,{value:c},e.children))}var ue=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=oe);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.toString=function(){return O(12,String(n.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=oe),this.name+e.hash},e}(),ce=/([A-Z])/,se=/([A-Z])/g,fe=/^ms-/,de=function(e){return"-"+e.toLowerCase()};function pe(e){return ce.test(e)?e.replace(se,de).replace(fe,"-ms-"):e}var he=function(e){return null==e||!1===e||""===e};function ve(e,t,n,r){if(Array.isArray(e)){for(var o,a=[],i=0,l=e.length;i1?t-1:0),r=1;r?@[\\\]^`{|}~-]+/g,we=/(^-|-$)/g;function ke(e){return e.replace(be,"-").replace(we,"")}var Se=function(e){return K(q(e)>>>0)};function Ee(e){return"string"==typeof e&&!0}var Oe=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},xe=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function _e(e,t,n){var r=e[n];Oe(t)&&Oe(r)?Ce(r,t):e[n]=t}function Ce(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r=0||(o[n]=e[n]);return o}(t,["componentId"]),a=r&&r+"-"+(Ee(e)?e:ke(b(e)));return je(e,p({},o,{attrs:S,componentId:a}),n)},Object.defineProperty(O,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=r?Ce({},e.defaultProps,t):t}}),O.toString=function(){return"."+O.styledComponentId},i&&d()(O,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),O}var Ne=function(e){return function e(t,n,o){if(void 0===o&&(o=m),!Object(r.isValidElementType)(n))return O(1,String(n));var a=function(){return t(n,o,me.apply(void 0,arguments))};return a.withConfig=function(r){return e(t,n,p({},o,{},r))},a.attrs=function(r){return e(t,n,p({},o,{attrs:Array.prototype.concat(o.attrs,r).filter(Boolean)}))},a}(je,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(e){Ne[e]=Ne(e)}));!function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Y(e),B.registerId(this.componentId+1)}var t=e.prototype;t.createStyles=function(e,t,n,r){var o=r(ve(this.rules,t,n,r).join(""),""),a=this.componentId+e;n.insertRules(a,a,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&B.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)}}();!function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=D();return""},this.getStyleTags=function(){return e.sealed?O(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return O(2);var n=((t={})[k]="",t["data-styled-version"]="5.3.1",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),r=D();return r&&(n.nonce=r),[a.a.createElement("style",p({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new B({isServer:!0}),this.sealed=!1}var t=e.prototype;t.collectStyles=function(e){return this.sealed?O(2):a.a.createElement(le,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return O(3)}}();t.a=Ne}).call(this,n(55))},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return T})),n.d(t,"d",(function(){return N})),n.d(t,"c",(function(){return v})),n.d(t,"f",(function(){return y})),n.d(t,"e",(function(){return h}));var r=n(5);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;d--){var p=i[d];"."===p?a(i,d):".."===p?(a(i,d),f++):f&&(a(i,d),f--)}if(!c)for(;f--;f)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function l(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var u=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"===typeof t||"object"===typeof n){var r=l(t),o=l(n);return r!==t||o!==n?e(r,o):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},c=n(11);function s(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function d(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function p(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function v(e,t,n,o){var a;"string"===typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=Object(r.a)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function y(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&u(e.state,t.state)}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"===typeof e?e(t,n):e;"string"===typeof a?"function"===typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),f({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=v(e,t,d(),w.location);s.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,f({action:r,location:o}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=w.index+e;return t>=0&&t=this.getTabsCount())){var n=this.props;(0,n.onSelect)(e,n.selectedIndex,t)}},c.getNextTab=function(e){for(var t=this.getTabsCount(),n=e+1;ne;)if(!S(this.getTab(t)))return t;return e},c.getFirstTab=function(){for(var e=this.getTabsCount(),t=0;t=0||(o[n]=e[n]);return o}(t,["children","className","disabledTabClassName","domRef","focus","forceRenderTabPanel","onSelect","selectedIndex","selectedTabClassName","selectedTabPanelClassName","environment","disableUpDownKeys"]));return o.a.createElement("div",g({},a,{className:h(n),onClick:this.handleClick,onKeyDown:this.handleKeyDown,ref:function(t){e.node=t,r&&r(t)},"data-tabs":!0}),this.getChildren())},a}(r.Component);function O(e,t){return O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},O(e,t)}E.defaultProps={className:"react-tabs",focus:!1},E.propTypes={};var x=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).handleSelected=function(e,t,r){var o=n.props.onSelect,a=n.state.mode;if("function"!==typeof o||!1!==o(e,t,r)){var i={focus:"keydown"===r.type};1===a&&(i.selectedIndex=e),n.setState(i)}},n.state=r.copyPropsToState(n.props,{},t.defaultFocus),n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,O(t,n),r.getDerivedStateFromProps=function(e,t){return r.copyPropsToState(e,t)},r.getModeFromProps=function(e){return null===e.selectedIndex?1:0},r.copyPropsToState=function(e,t,n){void 0===n&&(n=!1);var o={focus:n,mode:r.getModeFromProps(e)};if(1===o.mode){var a=Math.max(0,m(e.children)-1),i=null;i=null!=t.selectedIndex?Math.min(t.selectedIndex,a):e.defaultIndex||0,o.selectedIndex=i}return o},r.prototype.render=function(){var e=this.props,t=e.children,n=(e.defaultIndex,e.defaultFocus,function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["children","defaultIndex","defaultFocus"])),r=this.state,a=r.focus,i=r.selectedIndex;return n.focus=a,n.onSelect=this.handleSelected,null!=i&&(n.selectedIndex=i),o.a.createElement(E,n,t)},r}(r.Component);function _(){return _=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,["children","className"]);return o.a.createElement("ul",_({},r,{className:h(n),role:"tablist"}),t)},r}(r.Component);function T(){return T=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(n,["children","className","disabled","disabledClassName","focus","id","panelId","selected","selectedClassName","tabIndex","tabRef"]);return o.a.createElement("li",T({},v,{className:h(a,(e={},e[f]=s,e[l]=i,e)),ref:function(e){t.node=e,p&&p(e)},role:"tab",id:u,"aria-selected":s?"true":"false","aria-disabled":i?"true":"false","aria-controls":c,tabIndex:d||(s?"0":null)}),r)},r}(r.Component);function A(){return A=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(t,["children","className","forceRender","id","selected","selectedClassName","tabId"]);return o.a.createElement("div",A({},s,{className:h(r,(e={},e[u]=l,e)),role:"tabpanel",id:i,"aria-labelledby":c}),a||l?n:null)},r}(r.Component);D.defaultProps={className:I,forceRender:!1,selectedClassName:"react-tabs__tab-panel--selected"},D.propTypes={},D.tabsRole="TabPanel"},function(e,t,n){"use strict";function r(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(c){return void n(c)}l.done?t(u):Promise.resolve(u).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(o,a){var i=e.apply(t,n);function l(e){r(i,o,a,l,u,"next",e)}function u(e){r(i,o,a,l,u,"throw",e)}l(void 0)}))}}n.d(t,"a",(function(){return o}))},function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function E(e,t){var n=void 0!==e.version?e.version:-1,c=(e.debug,void 0===e.stateReconciler?p:e.stateReconciler),s=e.getStoredState||y,f=void 0!==e.timeout?e.timeout:5e3,d=null,v=!1,m=!0,b=function(e){return e._persist.rehydrated&&d&&!m&&d.update(e),e};return function(p,y){var k=p||{},E=k._persist,O=S(k,["_persist"]);if(y.type===l){var x=!1,_=function(t,n){x||(y.rehydrate(e.key,t,n),x=!0)};if(f&&setTimeout((function(){!x&&_(void 0,new Error('redux-persist: persist timed out for persist key "'.concat(e.key,'"')))}),f),m=!1,d||(d=h(e)),E)return w({},t(O,y),{_persist:E});if("function"!==typeof y.rehydrate||"function"!==typeof y.register)throw new Error("redux-persist: either rehydrate or register is not a function on the PERSIST action. This can happen if the action is being replayed. This is an unexplored use case, please open an issue and we will figure out a resolution.");return y.register(e.key),s(e).then((function(t){(e.migrate||function(e,t){return Promise.resolve(e)})(t,n).then((function(e){_(e)}),(function(e){_(void 0,e)}))}),(function(e){_(void 0,e)})),w({},t(O,y),{_persist:{version:n,rehydrated:!1}})}if(y.type===u)return v=!0,y.result(function(e){var t=e.storage,n="".concat(void 0!==e.keyPrefix?e.keyPrefix:r).concat(e.key);return t.removeItem(n,g)}(e)),w({},t(O,y),{_persist:E});if(y.type===o)return y.result(d&&d.flush()),w({},t(O,y),{_persist:E});if(y.type===i)m=!0;else if(y.type===a){if(v)return w({},O,{_persist:w({},E,{rehydrated:!0})});if(y.key===e.key){var C=t(O,y),P=y.payload,T=w({},!1!==c&&void 0!==P?c(P,p,C,e):C,{_persist:w({},E,{rehydrated:!0})});return b(T)}}if(!E)return t(p,y);var j=t(O,y);return j===O?p:b(w({},j,{_persist:E}))}}var O=n(14);function x(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:T,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case c:return C({},e,{registry:[].concat(x(e.registry),[t.key])});case a:var n=e.registry.indexOf(t.key),r=x(e.registry);return r.splice(n,1),C({},e,{registry:r,bootstrapped:0===r.length});default:return e}};function N(e,t,n){var r=n||!1,s=Object(O.createStore)(j,T,t&&t.enhancer?t.enhancer:void 0),f=function(e){s.dispatch({type:c,key:e})},d=function(t,n,o){var i={type:a,payload:n,err:o,key:t};e.dispatch(i),s.dispatch(i),r&&p.getState().bootstrapped&&(r(),r=!1)},p=C({},s,{purge:function(){var t=[];return e.dispatch({type:u,result:function(e){t.push(e)}}),Promise.all(t)},flush:function(){var t=[];return e.dispatch({type:o,result:function(e){t.push(e)}}),Promise.all(t)},pause:function(){e.dispatch({type:i})},persist:function(){e.dispatch({type:l,register:f,rehydrate:d})}});return t&&t.manualPersist||p.persist(),p}},function(e,t,n){"use strict";var r=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,o=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}((function(e){return r.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91}));t.a=o},function(e,t,n){"use strict";(function(e){var r=n(0),o=n.n(r),a=n(12),i=n(13),l=n.n(i),u=1073741823,c="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof window?window:"undefined"!==typeof e?e:{};function s(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter((function(t){return t!==e}))},get:function(){return e},set:function(n,r){e=n,t.forEach((function(t){return t(e,r)}))}}}var f=o.a.createContext||function(e,t){var n,o,i="__create-react-context-"+function(){var e="__global_unique_id__";return c[e]=(c[e]||0)+1}()+"__",f=function(e){function n(){var t;return(t=e.apply(this,arguments)||this).emitter=s(t.props.value),t}Object(a.a)(n,e);var r=n.prototype;return r.getChildContext=function(){var e;return(e={})[i]=this.emitter,e},r.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,o=e.value;((a=r)===(i=o)?0!==a||1/a===1/i:a!==a&&i!==i)?n=0:(n="function"===typeof t?t(r,o):u,0!==(n|=0)&&this.emitter.set(e.value,n))}var a,i},r.render=function(){return this.props.children},n}(r.Component);f.childContextTypes=((n={})[i]=l.a.object.isRequired,n);var d=function(t){function n(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,n){0!==((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}Object(a.a)(n,t);var r=n.prototype;return r.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=void 0===t||null===t?u:t},r.componentDidMount=function(){this.context[i]&&this.context[i].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=void 0===e||null===e?u:e},r.componentWillUnmount=function(){this.context[i]&&this.context[i].off(this.onUpdate)},r.getValue=function(){return this.context[i]?this.context[i].get():e},r.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(r.Component);return d.contextTypes=((o={})[i]=l.a.object,o),{Provider:f,Consumer:d}};t.a=f}).call(this,n(53))},function(e,t){e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!==typeof e||!e||"object"!==typeof t||!t)return!1;var a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(t),u=0;up)&&(F=(W=W.replace(" ",":")).length),0r&&(r=(t=t.trim()).charCodeAt(0)),r){case 38:return t.replace(y,"$1"+e.trim());case 58:return e.trim()+t.replace(y,"$1"+e.trim());default:if(0<1*n&&0u.charCodeAt(8))break;case 115:i=i.replace(u,"-webkit-"+u)+";"+i;break;case 207:case 102:i=i.replace(u,"-webkit-"+(102r.charCodeAt(0)&&(r=r.trim()),r=[r],0=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){return r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(e,t)}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}n.d(t,"a",(function(){return o}))},function(e,t,n){"use strict";var r=n(26),o=60103,a=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var i=60109,l=60110,u=60112;t.Suspense=60113;var c=60115,s=60116;if("function"===typeof Symbol&&Symbol.for){var f=Symbol.for;o=f("react.element"),a=f("react.portal"),t.Fragment=f("react.fragment"),t.StrictMode=f("react.strict_mode"),t.Profiler=f("react.profiler"),i=f("react.provider"),l=f("react.context"),u=f("react.forward_ref"),t.Suspense=f("react.suspense"),c=f("react.memo"),s=f("react.lazy")}var d="function"===typeof Symbol&&Symbol.iterator;function p(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n