From 9da132d9dc01285aac180855261298f7ad698dbf Mon Sep 17 00:00:00 2001 From: Imen Chermiti Date: Mon, 8 Jul 2024 17:49:40 +0200 Subject: [PATCH] feat: Upgrade client packages --- src/client/package.json | 9 +- .../stylesheets/scss/_reactWidgets.scss | 19 +- src/client/src/assets/stylesheets/styles.css | 1505 ++++++++++++++++- src/client/src/components/App/App.js | 427 +++-- .../src/components/App/Footer/Footer.js | 1 - .../src/components/App/Header/Header.js | 5 +- src/client/src/components/App/ScrollToTop.js | 20 +- .../Enterprise/Header/EnterpriseHeader.js | 4 +- .../Enterprise/Infos/EnterpriseInfos.js | 4 +- .../Establishment/Activity/Activite.js | 12 +- .../Establishment/Activity/EffectifsDsn.js | 9 +- .../Establishment/Activity/EffectifsEtp.js | 11 +- .../Establishment/Activity/EffectifsGraph.js | 9 +- .../Establishment/Agreements/Agrements.js | 2 +- .../Agreements/OrganismeFormation.js | 11 +- .../Establishment/Dashboard/Dashboard.js | 16 +- .../Establishment/Direccte/Controles.js | 9 +- .../Sections/Establishment/Establishment.js | 15 +- .../Establishment/Header/EntrepriseName.js | 12 +- .../Header/EstablishmentHeader.js | 18 +- .../Establishment/Header/HeaderInfoBloc.jsx | 4 +- .../Helps/Subcategory/Apprentissage.js | 9 +- .../Relationship/EstablishmentRelationship.js | 14 +- .../ListEstablishmentsResult.jsx | 8 +- .../Sections/SharedComponents/Data/Data.js | 2 + .../EstablishmentTable/EstablishmentTable.jsx | 6 +- .../PaginationTable/PaginationTable.jsx | 2 +- .../ScrollToTopButton/ScrollToTopButton.jsx | 2 +- .../EstablishmentsItems.js | 3 +- .../components/DataSheets/Sidebar/Sidebar.js | 20 +- .../src/components/HomePage/HomePage.js | 4 +- .../SearchAwesomeTable/SearchAwesomeTable.js | 5 +- .../components/SearchResults/SearchResults.js | 4 +- .../src/containers/Association/Association.js | 11 +- .../src/containers/Enterprise/Enterprise.js | 14 +- .../containers/Enterprise/Establishment.js | 7 +- .../containers/Enterprise/LegacyEnterprise.js | 12 +- .../Enterprise/LegacyEtablissement.js | 15 +- .../Enterprise/ListEtablissements.jsx | 11 +- src/client/src/containers/Login/Login.js | 18 +- src/client/src/helpers/hoc/renderIfSiret.js | 6 +- .../helpers/hooks/useScrollToLocationHash.js | 29 +- src/client/src/index.js | 38 +- .../services/PrivateRoute/CustomLayout.jsx | 23 +- .../src/services/PrivateRoute/PrivateRoute.js | 16 +- src/client/yarn.lock | 428 +++-- 46 files changed, 2200 insertions(+), 629 deletions(-) diff --git a/src/client/package.json b/src/client/package.json index 10dfe6ecc..5dcf3fcac 100644 --- a/src/client/package.json +++ b/src/client/package.json @@ -34,22 +34,21 @@ "p-debounce": "^4.0.0", "piwik-react-router": "^0.12.1", "prop-types": "^15.7.2", - "react": "^16.13.0", + "react": "^18.0.0", "react-accessible-accordion": "^3.0.1", "react-app-polyfill": "^1.0.6", "react-chartjs-2": "^5.2.0", - "react-dom": "^16.13.0", + "react-dom": "^18.0.0", "react-helmet": "^6.1.0", "react-markdown": "^8.0.2", "react-redux": "^7.2.0", "react-router": "^5.1.2", - "react-router-dom": "^5.1.2", + "react-router-dom": "^6.23.0", "react-router-hash-link": "^2.4.0", "react-scrollspy": "^3.4.2", - "react-select": "^3.1.0", + "react-select": "^5.8.0", "react-toggle": "^4.1.1", "react-transition-group": "^4.4.1", - "react-widgets": "^4.5.0", "recompose": "^0.30.0", "redux": "^4.0.5", "redux-persist": "^6.0.0", diff --git a/src/client/src/assets/stylesheets/scss/_reactWidgets.scss b/src/client/src/assets/stylesheets/scss/_reactWidgets.scss index 6b853cbf8..f83334d8c 100644 --- a/src/client/src/assets/stylesheets/scss/_reactWidgets.scss +++ b/src/client/src/assets/stylesheets/scss/_reactWidgets.scss @@ -1,15 +1,10 @@ -$font-path: "~react-widgets/lib/fonts"; -$img-path: "~react-widgets/lib/img"; - -@import "react-widgets/lib/scss/react-widgets"; - .rw-multiselect { - .rw-widget-container { - input { - padding-top: 0.3em; + .rw-widget-container { + input { + padding-top: 0.3em; + } + .rw-multiselect-tag { + margin-left: 0.857em; + } } - .rw-multiselect-tag { - margin-left: 0.857em; - } - } } diff --git a/src/client/src/assets/stylesheets/styles.css b/src/client/src/assets/stylesheets/styles.css index 56d81f994..a6f5c9a5e 100644 --- a/src/client/src/assets/stylesheets/styles.css +++ b/src/client/src/assets/stylesheets/styles.css @@ -1,3 +1,1504 @@ -.rw-btn,.rw-input-reset,.rw-input,.rw-dropdown-list-autofill,.rw-filter-input{color:inherit;padding:0;margin:0;border:none;box-shadow:none;background:none;background-image:none;font-family:inherit;font-size:inherit;line-height:inherit;-ms-touch-action:manipulation;touch-action:manipulation}.rw-btn::-moz-focus-inner{padding:0;border:0}select.rw-input,select.rw-dropdown-list-autofill,select.rw-filter-input{text-transform:none}html input[type="button"].rw-input,html input.rw-dropdown-list-autofill[type="button"],html input.rw-filter-input[type="button"]{-webkit-appearance:button;cursor:pointer}textarea.rw-input,textarea.rw-dropdown-list-autofill,textarea.rw-filter-input{overflow:auto;resize:vertical}button[disabled].rw-input,button.rw-dropdown-list-autofill[disabled],button.rw-filter-input[disabled],fieldset[disabled] .rw-input,fieldset[disabled] .rw-dropdown-list-autofill,fieldset[disabled] .rw-filter-input,html input[disabled].rw-input,html input.rw-dropdown-list-autofill[disabled],html input.rw-filter-input[disabled]{cursor:not-allowed}button.rw-input::-moz-focus-inner,button.rw-dropdown-list-autofill::-moz-focus-inner,button.rw-filter-input::-moz-focus-inner,input.rw-input::-moz-focus-inner,input.rw-dropdown-list-autofill::-moz-focus-inner,input.rw-filter-input::-moz-focus-inner{border:0;padding:0}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}@font-face{font-family:'RwWidgets';font-weight:normal;font-style:normal;src:url("~react-widgets/lib/fonts/rw-widgets.eot?v=4.1.0");src:url("~react-widgets/lib/fonts/rw-widgets.eot?#iefix&v=4.1.0") format("embedded-opentype"),url("~react-widgets/lib/fonts/rw-widgets.woff?v=4.1.0") format("woff"),url("~react-widgets/lib/fonts/rw-widgets.ttf?v=4.1.0") format("truetype"),url("~react-widgets/lib/fonts/rw-widgets.svg?v=4.1.0#fontawesomeregular") format("svg")}.rw-i{display:inline-block;color:inherit;font-family:RwWidgets;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.rw-i-caret-down:before{content:'\e803'}.rw-i-caret-up:before{content:'\e800'}.rw-i-chevron-left:before{content:'\f104'}.rw-i-chevron-right:before{content:'\f105'}.rw-i-clock-o:before{content:'\e805'}.rw-i-calendar:before{content:'\e804'}.rw-i-search:before{content:'\e801'}.rw-btn{position:relative;color:#333;display:inline-block;text-align:center;vertical-align:middle;border:1px solid transparent;cursor:pointer;outline:none}.rw-state-readonly .rw-btn,.rw-state-disabled .rw-btn{cursor:not-allowed}.rw-btn-select{opacity:.75;filter:alpha(opacity=75);transition:opacity 150ms ease-in}.rw-btn-select:hover,.rw-state-focus .rw-btn-select,:hover>.rw-btn-select{opacity:1;filter:alpha(opacity=100)}.rw-btn-primary{width:100%;white-space:normal;line-height:2em}.rw-btn-primary:hover{background-color:#e6e6e6}.rw-btn-select[disabled],.rw-btn-primary[disabled],fieldset[disabled] .rw-btn-select,fieldset[disabled] .rw-btn-primary{box-shadow:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);pointer-events:none}@keyframes react-widgets-autofill-start{from{}to{}}@keyframes react-widgets-autofill-cancel{from{}to{}}.rw-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.rw-widget{background-clip:border-box;border:none;color:#333;font-size:1em;font-family:inherit;outline:none;position:relative}.rw-widget,.rw-widget *{box-sizing:border-box}.rw-widget:before,.rw-widget *:before,.rw-widget:after,.rw-widget *:after{box-sizing:border-box}.rw-widget>.rw-widget-container{width:100%;margin:0}.rw-widget-container{background-color:#fff;border:#ccc 1px solid;border-radius:4px}.rw-widget-container.rw-state-focus,.rw-widget-container.rw-state-focus:hover,.rw-state-focus>.rw-widget-container,.rw-state-focus>.rw-widget-container:hover{background-color:#fff;border-color:#66afe9;box-shadow:0 0 8px rgba(102,175,233,0.6)}.rw-widget-container.rw-state-readonly,.rw-state-readonly>.rw-widget-container{cursor:not-allowed}.rw-widget-container.rw-state-disabled,.rw-widget-container.rw-state-disabled:hover,.rw-widget-container.rw-state-disabled:active,.rw-state-disabled>.rw-widget-container,.rw-state-disabled>.rw-widget-container:hover,.rw-state-disabled>.rw-widget-container:active,fieldset[disabled] .rw-widget-container,fieldset[disabled] .rw-widget-container:hover,fieldset[disabled] .rw-widget-container:active{box-shadow:none;box-shadow:none;cursor:not-allowed}.rw-widget-picker{position:relative;overflow:hidden;border-collapse:separate;display:inline-table;height:2.429em}.rw-widget-picker>*{position:relative;border:none;outline:none;width:100%;height:100%;display:table-cell}.rw-widget-picker>.rw-select{width:1%;white-space:nowrap}.rw-open>.rw-widget-picker{border-bottom-right-radius:0;border-bottom-left-radius:0}.rw-open-up>.rw-widget-picker{border-top-right-radius:0;border-top-left-radius:0}fieldset[disabled] .rw-widget-picker,.rw-state-disabled>.rw-widget-picker{background-color:#eee}.rw-select{cursor:pointer}.rw-select>*{width:1.9em;height:100%}.rw-state-readonly .rw-select,.rw-state-disabled .rw-select{cursor:not-allowed}.rw-select-bordered{cursor:pointer;border:none;border-left:#ccc 1px solid}.rw-select-bordered:hover,.rw-select-bordered:active{background-color:#e6e6e6}.rw-select-bordered:active{box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.rw-state-disabled .rw-select-bordered,.rw-state-disabled .rw-select-bordered:hover,.rw-state-disabled .rw-select-bordered:active,.rw-state-readonly .rw-select-bordered,.rw-state-readonly .rw-select-bordered:hover,.rw-state-readonly .rw-select-bordered:active,fieldset[disabled] .rw-select-bordered,fieldset[disabled] .rw-select-bordered:hover,fieldset[disabled] .rw-select-bordered:active{cursor:not-allowed;background-color:inherit;background-image:none;box-shadow:none}.rw-rtl .rw-select-bordered{border-right:#ccc 1px solid;border-left:none}.rw-rtl{direction:rtl}.rw-input-reset,.rw-input,.rw-dropdown-list-autofill,.rw-filter-input{outline:0}.rw-input-reset::-moz-placeholder,.rw-input::-moz-placeholder,.rw-dropdown-list-autofill::-moz-placeholder,.rw-filter-input::-moz-placeholder{color:#999;opacity:1}.rw-input-reset:-ms-input-placeholder,.rw-input:-ms-input-placeholder,.rw-dropdown-list-autofill:-ms-input-placeholder,.rw-filter-input:-ms-input-placeholder{color:#999}.rw-input-reset::-webkit-input-placeholder,.rw-input::-webkit-input-placeholder,.rw-dropdown-list-autofill::-webkit-input-placeholder,.rw-filter-input::-webkit-input-placeholder{color:#999}.rw-input,.rw-dropdown-list-autofill,.rw-filter-input{color:#555;padding:0 .857em;background-color:#fff}.rw-input[type='text']::-ms-clear,.rw-dropdown-list-autofill[type='text']::-ms-clear,.rw-filter-input[type='text']::-ms-clear{display:none}.rw-input[disabled],.rw-dropdown-list-autofill[disabled],.rw-filter-input[disabled],fieldset[disabled] .rw-input,fieldset[disabled] .rw-dropdown-list-autofill,fieldset[disabled] .rw-filter-input{box-shadow:none;cursor:not-allowed;opacity:1;background-color:#eee;border-color:#ccc}.rw-input[readonly],.rw-dropdown-list-autofill[readonly],.rw-filter-input[readonly]{cursor:not-allowed}.rw-i.rw-loading{display:block;background:url("~react-widgets/lib/img/loading.gif") no-repeat center;min-width:16px;width:1.9em;height:16px}.rw-i.rw-loading:before{content:''}.rw-placeholder{color:#999}.rw-detect-autofill:-webkit-autofill{animation-name:react-widgets-autofill-start;transition:background-color 50000s ease-in-out 0s}.rw-detect-autofill:not(:-webkit-autofill){animation-name:react-widgets-autofill-cancel}.rw-webkit-autofill .rw-widget-container,.rw-input:-webkit-autofill,.rw-dropdown-list-autofill:-webkit-autofill,.rw-filter-input:-webkit-autofill{background-color:#faffbd !important;background-image:none !important;color:#000 !important}.rw-widget-input,.rw-filter-input{box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.rw-widget-input.rw-state-focus,.rw-state-focus.rw-filter-input{box-shadow:0 0 8px rgba(102,175,233,0.6),inset 0 1px 1px rgba(0,0,0,0.075)}.rw-list{margin:0;padding:0;list-style:none;font-size:1em;outline:0;overflow:auto;max-height:200px}.rw-list-option{user-select:none;color:#333;cursor:pointer;border:1px solid transparent}.rw-list-option.rw-state-focus,.rw-list-option.rw-state-focus:hover{background-color:rgba(0,0,0,0);border-color:#66afe9;color:#333}.rw-list-option:hover,.rw-list-option:hover.rw-state-focus{background-color:#e6e6e6;border-color:#e6e6e6;color:#333}.rw-list-option.rw-state-selected,.rw-list-option.rw-state-selected:hover{background-color:#337ab7;border-color:#337ab7;color:#fff}fieldset[disabled] .rw-list-option,.rw-list-option.rw-state-disabled,.rw-list-option.rw-state-readonly{box-shadow:none;cursor:not-allowed;color:#999;filter:alpha(opacity=7);opacity:.7}fieldset[disabled] .rw-list-option:hover,.rw-list-option.rw-state-disabled:hover,.rw-list-option.rw-state-readonly:hover{background:none;border-color:transparent}.rw-list-empty,.rw-list-option,.rw-list-optgroup{padding:.143em .75em;outline:0}.rw-list-optgroup{font-weight:bold;padding-top:7px}.rw-list-option-create{border-top:1px #ccc solid}.rw-dropdown-list-autofill{padding:0}.rw-dropdown-list-input{background-color:transparent;vertical-align:middle;padding-right:0}.rw-dropdown-list-input{max-width:1px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rw-rtl .rw-dropdown-list-input{padding-right:.857em;padding-left:0}.rw-filter-input{position:relative;margin:4px;padding-right:0}.rw-filter-input .rw-rtl{padding-right:.857em;padding-left:0}.rw-filter-input .rw-select,.rw-filter-input .rw-btn{opacity:.75;filter:alpha(opacity=75);cursor:text}.rw-filter-input>.rw-select,.rw-filter-input>.rw-select:active,.rw-filter-input>.rw-select:hover{background:none;cursor:initial;box-shadow:none}.rw-number-picker .rw-btn{cursor:pointer;height:calc(1.2145em - 1px);margin-top:-1px\9;height:1.2145em\9;line-height:1.2145em;line-height:calc(1.2145em - 1px);display:block;border:none}.rw-number-picker .rw-btn:hover,.rw-number-picker .rw-btn:active{background-color:#e6e6e6}.rw-number-picker .rw-btn:active{box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.rw-state-disabled .rw-number-picker .rw-btn,.rw-state-disabled .rw-number-picker .rw-btn:hover,.rw-state-disabled .rw-number-picker .rw-btn:active,.rw-state-readonly .rw-number-picker .rw-btn,.rw-state-readonly .rw-number-picker .rw-btn:hover,.rw-state-readonly .rw-number-picker .rw-btn:active,fieldset[disabled] .rw-number-picker .rw-btn,fieldset[disabled] .rw-number-picker .rw-btn:hover,fieldset[disabled] .rw-number-picker .rw-btn:active{cursor:not-allowed;background-color:inherit;background-image:none;box-shadow:none}.rw-number-picker .rw-select{vertical-align:middle}.rw-number-picker .rw-select,.rw-number-picker .rw-select:hover,.rw-number-picker .rw-select:active{box-shadow:none}.rw-calendar-popup{right:auto;min-width:0;width:18em}.rw-calendar{border-radius:4px;background-color:#fff;border:#ccc 1px solid;overflow:hidden}.rw-calendar.rw-popup{border-color:#ccc}.rw-calendar-now{font-weight:bold}.rw-calendar-btn-left,.rw-calendar-btn-right{width:12.5%}.rw-calendar-btn-view{width:75%}.rw-calendar-footer{border-top:1px solid #ccc}.rw-calendar-grid{outline:none;height:200 / 14em;table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;background-color:#fff}.rw-head-cell{text-align:center;border-bottom:1px solid #ccc;padding:.25em}.rw-cell{color:#333;border-radius:4px;cursor:pointer;line-height:normal;text-align:center;border:1px solid transparent;padding:.25em}.rw-cell:hover{background-color:#e6e6e6;border-color:#e6e6e6;color:#333}.rw-cell.rw-state-focus,.rw-cell.rw-state-focus:hover{background-color:rgba(0,0,0,0);border-color:#66afe9;color:#333}.rw-cell.rw-state-selected,.rw-cell.rw-state-selected:hover{background-color:#337ab7;border-color:#337ab7;color:#fff}.rw-cell.rw-state-disabled{color:#999;filter:alpha(opacity=7);opacity:.7}.rw-cell.rw-state-disabled:hover{background:none;border-color:transparent}.rw-calendar-month .rw-cell{text-align:center}.rw-cell-off-range{color:#999}.rw-calendar-transition-group{position:relative}.rw-calendar-transition{transition:transform 300ms;overflow:hidden}.rw-calendar-transition-top{transform:translateY(-100%)}.rw-calendar-transition-bottom{transform:translateY(100%)}.rw-calendar-transition-right{transform:translateX(-100%)}.rw-calendar-transition-left{transform:translateX(100%)}.rw-calendar-transition-entering.rw-calendar-transition-top,.rw-calendar-transition-entering.rw-calendar-transition-bottom,.rw-calendar-transition-entered.rw-calendar-transition-top,.rw-calendar-transition-entered.rw-calendar-transition-bottom{transform:translateY(0)}.rw-calendar-transition-entering.rw-calendar-transition-right,.rw-calendar-transition-entering.rw-calendar-transition-left,.rw-calendar-transition-entered.rw-calendar-transition-right,.rw-calendar-transition-entered.rw-calendar-transition-left{transform:translateX(0)}.rw-calendar-transition-exiting.rw-calendar-transition-top{transform:translateY(100%)}.rw-calendar-transition-exiting.rw-calendar-transition-bottom{transform:translateY(-100%)}.rw-calendar-transition-exiting.rw-calendar-transition-right{transform:translateX(100%)}.rw-calendar-transition-exiting.rw-calendar-transition-left{transform:translateX(-100%)}.rw-select-list{overflow:auto;position:relative}.rw-select-list .rw-list{max-height:none;font-size:1em}.rw-select-list-label{display:block;position:relative;font-weight:normal;cursor:inherit;padding-left:20px;margin:0}.rw-rtl .rw-select-list-label{padding-left:0;padding-right:20px}input.rw-select-list-input{position:absolute;left:0;top:50%;transform:translateY(-50%);top:0.1em /9;margin:0;line-height:normal;cursor:inherit}.rw-rtl input.rw-select-list-input{left:auto;right:0}.rw-loading-mask{content:'';background:url("~react-widgets/lib/img/loader-big.gif") no-repeat center;position:absolute;background-color:#fff;border-radius:4px;opacity:.7;filter:alpha(opacity=70);top:0;left:0;height:100%;width:100%}.rw-multiselect{cursor:text}.rw-multiselect .rw-input-reset,.rw-multiselect .rw-input,.rw-multiselect .rw-dropdown-list-autofill,.rw-multiselect .rw-filter-input{height:calc(2.429em - 2px);margin-top:-2px\9;height:2.429em\9;border-width:0;width:auto;max-width:100%;padding:0 .857em}.rw-multiselect .rw-select,.rw-multiselect .rw-select:hover,.rw-multiselect .rw-select:active{box-shadow:none;background:none}.rw-multiselect-taglist{margin:0;padding:0;list-style:none;display:inline;outline:none}.rw-multiselect-tag{display:inline-table;color:inherit;padding:0 .35em 0 .35em;margin-left:calc(.27933em - 1px);margin-top:.27933em;margin-top:calc(.27933em - 1px);height:1.87033em;border-radius:3px;background-color:#eee;border:1px solid #ccc;cursor:default;vertical-align:top;text-align:center;overflow:hidden;max-width:100%}.rw-multiselect-tag>*{display:table-cell;vertical-align:middle;height:100%}.rw-rtl .rw-multiselect-tag{margin-left:0;margin-right:calc(.27933em - 1px);padding:0 .35em 0 .35em}.rw-multiselect-tag.rw-state-focus,.rw-multiselect-tag.rw-state-focus:hover{background-color:rgba(0,0,0,0);border-color:#66afe9;color:#333}.rw-multiselect-tag.rw-state-readonly,.rw-multiselect-tag.rw-state-disabled,.rw-state-readonly .rw-multiselect-tag,.rw-state-disabled .rw-multiselect-tag,fieldset[disabled] .rw-multiselect-tag{cursor:not-allowed}.rw-multiselect-tag.rw-state-disabled,.rw-state-disabled .rw-multiselect-tag,fieldset[disabled] .rw-multiselect-tag{opacity:.65;filter:alpha(opacity=65)}fieldset[disabled] .rw-multiselect-tag{box-shadow:none;cursor:not-allowed}.rw-multiselect-tag-btn{color:inherit;margin-left:0.25em}.rw-rtl .rw-multiselect-tag-btn{margin-left:0;margin-right:0.25em}.rw-autocomplete .rw-select{position:absolute;display:block;width:auto;top:0;bottom:0;right:0}.rw-popup-container{position:absolute;z-index:1005;top:100%;left:-6px;right:-6px}.rw-popup-container.rw-dropup{top:auto;bottom:100%}.rw-state-focus .rw-popup-container{z-index:1006}.rw-popup-transition{width:100%;margin-bottom:6px;padding:0 6px}.rw-dropup>.rw-popup-transition{margin-bottom:0;margin-top:6px}.rw-popup{border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;box-shadow:0 5px 6px rgba(0,0,0,0.2);border:#ccc 1px solid;background:#fff}.rw-dropup .rw-popup{border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:3px;border-top-left-radius:3px;box-shadow:0 -2px 6px rgba(0,0,0,0.2)}.rw-popup-transition{transition:transform 200ms}.rw-popup-transition-entering{overflow:hidden}.rw-popup-transition-entering .rw-popup-transition{transform:translateY(0);transition-timing-function:ease-out}.rw-popup-transition-exiting .rw-popup-transition{transition-timing-function:ease-in}.rw-popup-transition-exiting,.rw-popup-transition-exited{overflow:hidden}.rw-popup-transition-exiting .rw-popup-transition,.rw-popup-transition-exited .rw-popup-transition{transform:translateY(-100%)}.rw-popup-transition-exiting.rw-dropup .rw-popup-transition,.rw-popup-transition-exited.rw-dropup .rw-popup-transition{transform:translateY(100%)}.rw-popup-transition-exited{display:none}.rw-state-disabled{box-shadow:none;cursor:not-allowed}.rw-multiselect .rw-widget-container input{padding-top:0.3em}.rw-multiselect .rw-widget-container .rw-multiselect-tag{margin-left:0.857em}.ReactTable{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border:1px solid rgba(0,0,0,0.1)}.ReactTable *{box-sizing:border-box}.ReactTable .rt-table{-webkit-box-flex:1;-ms-flex:auto 1;flex:auto 1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%;border-collapse:collapse;overflow:auto}.ReactTable .rt-thead{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ReactTable .rt-thead.-headerGroups{background:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.05)}.ReactTable .rt-thead.-filters{border-bottom:1px solid rgba(0,0,0,0.05)}.ReactTable .rt-thead.-filters input,.ReactTable .rt-thead.-filters select{border:1px solid rgba(0,0,0,0.1);background:#fff;padding:5px 7px;font-size:inherit;border-radius:3px;font-weight:normal;outline:none}.ReactTable .rt-thead.-filters .rt-th{border-right:1px solid rgba(0,0,0,0.02)}.ReactTable .rt-thead.-header{box-shadow:0 2px 15px 0 rgba(0,0,0,0.15)}.ReactTable .rt-thead .rt-tr{text-align:center}.ReactTable .rt-thead .rt-th,.ReactTable .rt-thead .rt-td{padding:5px 5px;line-height:normal;position:relative;border-right:1px solid rgba(0,0,0,0.05);transition:box-shadow 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);box-shadow:inset 0 0 0 0 transparent}.ReactTable .rt-thead .rt-th.-sort-asc,.ReactTable .rt-thead .rt-td.-sort-asc{box-shadow:inset 0 3px 0 0 rgba(0,0,0,0.6)}.ReactTable .rt-thead .rt-th.-sort-desc,.ReactTable .rt-thead .rt-td.-sort-desc{box-shadow:inset 0 -3px 0 0 rgba(0,0,0,0.6)}.ReactTable .rt-thead .rt-th.-cursor-pointer,.ReactTable .rt-thead .rt-td.-cursor-pointer{cursor:pointer}.ReactTable .rt-thead .rt-th:last-child,.ReactTable .rt-thead .rt-td:last-child{border-right:0}.ReactTable .rt-thead .rt-resizable-header{overflow:visible}.ReactTable .rt-thead .rt-resizable-header:last-child{overflow:hidden}.ReactTable .rt-thead .rt-resizable-header-content{overflow:hidden;text-overflow:ellipsis}.ReactTable .rt-thead .rt-header-pivot{border-right-color:#f7f7f7}.ReactTable .rt-thead .rt-header-pivot:after,.ReactTable .rt-thead .rt-header-pivot:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.ReactTable .rt-thead .rt-header-pivot:after{border-color:rgba(255,255,255,0);border-left-color:#fff;border-width:8px;margin-top:-8px}.ReactTable .rt-thead .rt-header-pivot:before{border-color:rgba(102,102,102,0);border-left-color:#f7f7f7;border-width:10px;margin-top:-10px}.ReactTable .rt-tbody{-webkit-box-flex:99999;-ms-flex:99999 1 auto;flex:99999 1 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:auto}.ReactTable .rt-tbody .rt-tr-group{border-bottom:solid 1px rgba(0,0,0,0.05)}.ReactTable .rt-tbody .rt-tr-group:last-child{border-bottom:0}.ReactTable .rt-tbody .rt-td{border-right:1px solid rgba(0,0,0,0.02)}.ReactTable .rt-tbody .rt-td:last-child{border-right:0}.ReactTable .rt-tbody .rt-expandable{cursor:pointer;text-overflow:clip}.ReactTable .rt-tr-group{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.ReactTable .rt-tr{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.ReactTable .rt-th,.ReactTable .rt-td{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;white-space:nowrap;text-overflow:ellipsis;padding:7px 5px;overflow:hidden;transition:.3s ease;transition-property:width,min-width,padding,opacity}.ReactTable .rt-th.-hidden,.ReactTable .rt-td.-hidden{width:0 !important;min-width:0 !important;padding:0 !important;border:0 !important;opacity:0 !important}.ReactTable .rt-expander{display:inline-block;position:relative;margin:0;color:transparent;margin:0 10px}.ReactTable .rt-expander:after{content:'';position:absolute;width:0;height:0;top:50%;left:50%;-webkit-transform:translate(-50%, -50%) rotate(-90deg);transform:translate(-50%, -50%) rotate(-90deg);border-left:5.04px solid transparent;border-right:5.04px solid transparent;border-top:7px solid rgba(0,0,0,0.8);transition:all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);cursor:pointer}.ReactTable .rt-expander.-open:after{-webkit-transform:translate(-50%, -50%) rotate(0);transform:translate(-50%, -50%) rotate(0)}.ReactTable .rt-resizer{display:inline-block;position:absolute;width:36px;top:0;bottom:0;right:-18px;cursor:col-resize;z-index:10}.ReactTable .rt-tfoot{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;box-shadow:0 0 15px 0 rgba(0,0,0,0.15)}.ReactTable .rt-tfoot .rt-td{border-right:1px solid rgba(0,0,0,0.05)}.ReactTable .rt-tfoot .rt-td:last-child{border-right:0}.ReactTable.-striped .rt-tr.-odd{background:rgba(0,0,0,0.03)}.ReactTable.-highlight .rt-tbody .rt-tr:not(.-padRow):hover{background:rgba(0,0,0,0.05)}.ReactTable .-pagination{z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:3px;box-shadow:0 0 15px 0 rgba(0,0,0,0.1);border-top:2px solid rgba(0,0,0,0.1)}.ReactTable .-pagination input,.ReactTable .-pagination select{border:1px solid rgba(0,0,0,0.1);background:#fff;padding:5px 7px;font-size:inherit;border-radius:3px;font-weight:normal;outline:none}.ReactTable .-pagination .-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:100%;border:0;border-radius:3px;padding:6px;font-size:1em;color:rgba(0,0,0,0.6);background:rgba(0,0,0,0.1);transition:all .1s ease;cursor:pointer;outline:none}.ReactTable .-pagination .-btn[disabled]{opacity:.5;cursor:default}.ReactTable .-pagination .-btn:not([disabled]):hover{background:rgba(0,0,0,0.3);color:#fff}.ReactTable .-pagination .-previous,.ReactTable .-pagination .-next{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.ReactTable .-pagination .-center{-webkit-box-flex:1.5;-ms-flex:1.5;flex:1.5;text-align:center;margin-bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.ReactTable .-pagination .-pageInfo{display:inline-block;margin:3px 10px;white-space:nowrap}.ReactTable .-pagination .-pageJump{display:inline-block}.ReactTable .-pagination .-pageJump input{width:70px;text-align:center}.ReactTable .-pagination .-pageSizeOptions{margin:3px 10px}.ReactTable .rt-noData{display:block;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);background:rgba(255,255,255,0.8);transition:all .3s ease;z-index:1;pointer-events:none;padding:20px;color:rgba(0,0,0,0.5)}.ReactTable .-loading{display:block;position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(255,255,255,0.8);transition:all .3s ease;z-index:-1;opacity:0;pointer-events:none}.ReactTable .-loading>div{position:absolute;display:block;text-align:center;width:100%;top:50%;left:0;font-size:15px;color:rgba(0,0,0,0.6);-webkit-transform:translateY(-52%);transform:translateY(-52%);transition:all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.ReactTable .-loading.-active{opacity:1;z-index:2;pointer-events:all}.ReactTable .-loading.-active>div{-webkit-transform:translateY(50%);transform:translateY(50%)}.ReactTable .rt-resizing .rt-th,.ReactTable .rt-resizing .rt-td{transition:none !important;cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +/* .rw-btn, +.rw-input-reset, +.rw-input, +.rw-dropdown-list-autofill, +.rw-filter-input { + color: inherit; + padding: 0; + margin: 0; + border: none; + box-shadow: none; + background: none; + background-image: none; + font-family: inherit; + font-size: inherit; + line-height: inherit; + -ms-touch-action: manipulation; + touch-action: manipulation +} -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9zY3NzL3N0eWxlcy5jc3MiLCJzb3VyY2VzIjpbInNyYy9hc3NldHMvc3R5bGVzaGVldHMvc2Nzcy9zdHlsZXMuc2NzcyIsInNyYy9hc3NldHMvc3R5bGVzaGVldHMvc2Nzcy9fcmVhY3RXaWRnZXRzLnNjc3MiLCJub2RlX21vZHVsZXMvcmVhY3Qtd2lkZ2V0cy9saWIvc2Nzcy9yZWFjdC13aWRnZXRzLnNjc3MiLCJub2RlX21vZHVsZXMvcmVhY3Qtd2lkZ2V0cy9saWIvc2Nzcy92YXJpYWJsZXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9yZWFjdC13aWRnZXRzL2xpYi9zY3NzL21peGlucy5zY3NzIiwibm9kZV9tb2R1bGVzL3JlYWN0LXdpZGdldHMvbGliL3Njc3Mvbm9ybWFsaXplLnNjc3MiLCJub2RlX21vZHVsZXMvcmVhY3Qtd2lkZ2V0cy9saWIvc2Nzcy9pY29ucy5zY3NzIiwibm9kZV9tb2R1bGVzL3JlYWN0LXdpZGdldHMvbGliL3Njc3MvYnV0dG9uLnNjc3MiLCJub2RlX21vZHVsZXMvcmVhY3Qtd2lkZ2V0cy9saWIvc2Nzcy93aWRnZXQuc2NzcyIsIm5vZGVfbW9kdWxlcy9yZWFjdC13aWRnZXRzL2xpYi9zY3NzL2xpc3Quc2NzcyIsIm5vZGVfbW9kdWxlcy9yZWFjdC13aWRnZXRzL2xpYi9zY3NzL2Ryb3Bkb3duLWxpc3Quc2NzcyIsIm5vZGVfbW9kdWxlcy9yZWFjdC13aWRnZXRzL2xpYi9zY3NzL251bWJlci1waWNrZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9yZWFjdC13aWRnZXRzL2xpYi9zY3NzL2NhbGVuZGFyLnNjc3MiLCJub2RlX21vZHVsZXMvcmVhY3Qtd2lkZ2V0cy9saWIvc2Nzcy9zZWxlY3QtbGlzdC5zY3NzIiwibm9kZV9tb2R1bGVzL3JlYWN0LXdpZGdldHMvbGliL3Njc3MvbXVsdGlzZWxlY3Quc2NzcyIsIm5vZGVfbW9kdWxlcy9yZWFjdC13aWRnZXRzL2xpYi9zY3NzL2F1dG9jb21wbGV0ZS5zY3NzIiwibm9kZV9tb2R1bGVzL3JlYWN0LXdpZGdldHMvbGliL3Njc3MvcG9wdXAuc2NzcyIsIm5vZGVfbW9kdWxlcy9yZWFjdC13aWRnZXRzL2xpYi9zY3NzL3N0YXRlLnNjc3MiLCJzcmMvYXNzZXRzL3N0eWxlc2hlZXRzL3Njc3MvX3JlYWN0VGFibGUuc2NzcyIsIm5vZGVfbW9kdWxlcy9yZWFjdC10YWJsZS9yZWFjdC10YWJsZS5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcInJlYWN0V2lkZ2V0c1wiO1xuQGltcG9ydCBcInJlYWN0VGFibGVcIjtcbiIsIiRmb250LXBhdGg6IFwifnJlYWN0LXdpZGdldHMvbGliL2ZvbnRzXCI7XG4kaW1nLXBhdGg6IFwifnJlYWN0LXdpZGdldHMvbGliL2ltZ1wiO1xuXG5AaW1wb3J0ICdyZWFjdC13aWRnZXRzL2xpYi9zY3NzL3JlYWN0LXdpZGdldHMnO1xuXG4ucnctbXVsdGlzZWxlY3Qge1xuICAucnctd2lkZ2V0LWNvbnRhaW5lciB7XG4gICAgaW5wdXQge1xuICAgICAgcGFkZGluZy10b3A6IDAuM2VtO1xuICAgIH1cbiAgICAucnctbXVsdGlzZWxlY3QtdGFnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjg1N2VtO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vdmFyaWFibGVzLnNjc3NcIjtcblxuQGltcG9ydCBcIi4vbWl4aW5zLnNjc3NcIjtcbkBpbXBvcnQgXCIuL25vcm1hbGl6ZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi9pY29ucy5zY3NzXCI7XG5cbkBpbXBvcnQgXCIuL2J1dHRvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi93aWRnZXQuc2Nzc1wiO1xuQGltcG9ydCBcIi4vbGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwiLi9kcm9wZG93bi1saXN0LnNjc3NcIjtcbkBpbXBvcnQgXCIuL251bWJlci1waWNrZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi4vY2FsZW5kYXIuc2Nzc1wiO1xuQGltcG9ydCBcIi4vc2VsZWN0LWxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcIi4vbXVsdGlzZWxlY3Quc2Nzc1wiO1xuQGltcG9ydCBcIi4vYXV0b2NvbXBsZXRlLnNjc3NcIjtcblxuQGltcG9ydCBcIi4vcG9wdXAuc2Nzc1wiO1xuQGltcG9ydCBcIi4vc3RhdGUuc2Nzc1wiO1xuIiwiXG5cbiRncmF5LWJhc2U6ICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGdyYXktZGFya2VyOiAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMTMuNSUpICFkZWZhdWx0OyAvLyAjMjIyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAyMCUpICFkZWZhdWx0OyAgIC8vICMzMzNcbiRncmF5OiAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDMzLjUlKSAhZGVmYXVsdDsgLy8gIzU1NVxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgNDYuNyUpICFkZWZhdWx0OyAvLyAjNzc3XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA5My41JSkgIWRlZmF1bHQ7IC8vICNlZWVcblxuJGZvbnQtc2l6ZTogICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRmb250LWZhbWlseTogICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJHRleHQtY29sb3I6ICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbiR2ZXJzaW9uOiAgICAgICAgICAgICAgICAgICBcIjQuMS4wXCIgIWRlZmF1bHQ7XG4kZm9udC1wYXRoOiAgICAgICAgICAgICAgICAgXCIuLi9mb250c1wiICFkZWZhdWx0OyAvLyBmb3IgcmVmZXJlbmNpbmcgQm9vdHN0cmFwIENETiBmb250IGZpbGVzIGRpcmVjdGx5XG4kaW1nLXBhdGg6ICAgICAgICAgICAgICAgICAgXCIuLi9pbWdcIiAhZGVmYXVsdDtcbiRpbWctYnVzeTogICAgICAgICAgICAgICAgICB1cmwoJyN7JGltZy1wYXRofS9sb2FkaW5nLmdpZicpICFkZWZhdWx0O1xuJGltZy1idXN5LWxnOiAgICAgICAgICAgICAgIHVybChcIiN7JGltZy1wYXRofS9sb2FkZXItYmlnLmdpZlwiKSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIDRweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG5cbiR3aWRnZXQtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHdpZGdldC1ib3JkZXI6ICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cblxuXG4kaWNvbi1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy9cbi8vIFdpZGdldCBTdGF0ZXNcbi8vXG4kc3RhdGUtYmctc2VsZWN0OiAgICAgICAgICAgIzMzN2FiNyAhZGVmYXVsdDtcbiRzdGF0ZS1ib3JkZXItc2VsZWN0OiAgICAgICAkc3RhdGUtYmctc2VsZWN0ICFkZWZhdWx0O1xuJHN0YXRlLWNvbG9yLXNlbGVjdDogICAgICAgIHdoaXRlICFkZWZhdWx0O1xuXG4kc3RhdGUtYmctaG92ZXI6ICAgICAgICAgICAgZGFya2VuKCNmZmYsIDEwJSkgIWRlZmF1bHQ7XG4kc3RhdGUtYm9yZGVyLWhvdmVyOiAgICAgICAgJHN0YXRlLWJnLWhvdmVyICFkZWZhdWx0O1xuJHN0YXRlLWNvbG9yLWhvdmVyOiAgICAgICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuXG4kc3RhdGUtYmctZm9jdXM6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc3RhdGUtYm9yZGVyLWZvY3VzOiAgICAgICAgIzY2YWZlOSAhZGVmYXVsdDtcbiRzdGF0ZS1jb2xvci1mb2N1czogICAgICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcblxuLy9cbi8vIEJ1dHRvbnNcbi8vXG4kYnRuLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tY29sb3I6ICAgICAgICAgICAgICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbiRidG4tYm9yZGVyOiAgICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLWJnLWhvdmVyOiAgICAgICAgICAgICAgJHN0YXRlLWJnLWhvdmVyICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItaG92ZXI6ICAgICAgICAgICRzdGF0ZS1ib3JkZXItaG92ZXIgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkgIWRlZmF1bHQ7XG5cbiRzZWxlY3QtYnRuLWJnOiAgICAgICAgICAgICAgICAgICAgJGJ0bi1iZyAhZGVmYXVsdDtcbiRzZWxlY3QtYnRuLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJ0bi1jb2xvciAhZGVmYXVsdDtcbiRzZWxlY3QtYnRuLWJvcmRlcjogICAgICAgICAgICAgICAgJGJ0bi1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRzZWxlY3QtYnRuLWJnLWhvdmVyOiAgICAgICAgICAgICAgJGJ0bi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRzZWxlY3QtYnRuLWJvcmRlci1ob3ZlcjogICAgICAgICAgJGJ0bi1ib3JkZXItaG92ZXIgIWRlZmF1bHQ7XG4kc2VsZWN0LWJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vXG4vLyBQaWNrZXIgaW5wdXRzXG4vL1xuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgIDIuNDI5ZW0gIWRlZmF1bHQ7IC8vIDIuNWVtIGlzIGdvb2QgZm9yIDE2cHggcm9vdHNcbiRpbnB1dC1wYWRkaW5nLWhvcml6b250YWw6ICAwLjg1N2VtICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgJHdpZGdldC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogICAjOTk5ICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgJHdpZGdldC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItZGlzYWJsZWQ6ICAgICAkaW5wdXQtYm9yZGVyICFkZWZhdWx0O1xuXG4kaW5wdXQtYmctaG92ZXI6ICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItaG92ZXI6ICAgICAgICAkaW5wdXQtYm9yZGVyICFkZWZhdWx0O1xuXG4kaW5wdXQtYmctZm9jdXM6ICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICRzdGF0ZS1ib3JkZXItZm9jdXMgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICByZ2JhKHJlZCgkaW5wdXQtYm9yZGVyLWZvY3VzKSwgZ3JlZW4oJGlucHV0LWJvcmRlci1mb2N1cyksIGJsdWUoJGlucHV0LWJvcmRlci1mb2N1cyksIC42KSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgOHB4ICRpbnB1dC1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJnLWNvbG9yLWF1dG9maWxsOiAgcmdiKDI1MCwgMjU1LCAxODkpICFkZWZhdWx0O1xuJGlucHV0LWNvbG9yLWF1dG9maWxsOiAgICAgcmdiKDAsIDAsIDApICFkZWZhdWx0O1xuLy9cbi8vIExpc3Rcbi8vXG4kbGlzdC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGxpc3QtYmctaG92ZXI6ICAgICAgICAgICAgICRzdGF0ZS1iZy1ob3ZlciAhZGVmYXVsdDtcbiRsaXN0LWJvcmRlci1ob3ZlcjogICAgICAgICAkc3RhdGUtYm9yZGVyLWhvdmVyICFkZWZhdWx0O1xuJGxpc3QtY29sb3ItaG92ZXI6ICAgICAgICAgICRzdGF0ZS1jb2xvci1ob3ZlciAhZGVmYXVsdDtcblxuJGxpc3QtYmctZm9jdXM6ICAgICAgICAgICAgICRzdGF0ZS1iZy1mb2N1cyAhZGVmYXVsdDtcbiRsaXN0LWJvcmRlci1mb2N1czogICAgICAgICAkc3RhdGUtYm9yZGVyLWZvY3VzICFkZWZhdWx0O1xuJGxpc3QtY29sb3ItZm9jdXM6ICAgICAgICAgICRzdGF0ZS1jb2xvci1mb2N1cyAhZGVmYXVsdDtcblxuJGxpc3QtYmctc2VsZWN0OiAgICAgICAgICAgICRzdGF0ZS1iZy1zZWxlY3QgIWRlZmF1bHQ7XG4kbGlzdC1ib3JkZXItc2VsZWN0OiAgICAgICAgJHN0YXRlLWJvcmRlci1zZWxlY3QgIWRlZmF1bHQ7XG4kbGlzdC1jb2xvci1zZWxlY3Q6ICAgICAgICAgJHN0YXRlLWNvbG9yLXNlbGVjdCAhZGVmYXVsdDtcblxuJGxpc3QtdGV4dC1jb2xvcjogICAgICAgICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtcGFkZGluZy12ZXJ0aWNhbDogICAgIDAuMTQzZW0gIWRlZmF1bHQ7XG4kbGlzdC1wYWRkaW5nLWhvcml6b250YWw6ICAgMC43NTBlbSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gUG9wdXBcbi8vXG4kcG9wdXAtYmc6ICAgICAgICAgICAgICAgICAgJHdpZGdldC1iZyAhZGVmYXVsdDtcbiRwb3B1cC1ib3JkZXI6ICAgICAgICAgICAgICAkd2lkZ2V0LWJvcmRlciAhZGVmYXVsdDtcbiRwb3B1cC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRwb3B1cC1ib3gtc2hhZG93LW9mZnNldDogICA2cHggIWRlZmF1bHQ7XG4kcG9wdXAtYm94LXNoYWRvdzogICAgICAgICAgMCAoJHBvcHVwLWJveC1zaGFkb3ctb2Zmc2V0IC0gMXB4KSAkcG9wdXAtYm94LXNoYWRvdy1vZmZzZXQgcmdiYSgwLDAsMCwwLjIpICFkZWZhdWx0O1xuJHBvcHVwLWJveC1zaGFkb3ctdXA6ICAgICAgIDAgLTJweCAkcG9wdXAtYm94LXNoYWRvdy1vZmZzZXQgcmdiYSgwLDAsMCwwLjIpICFkZWZhdWx0O1xuXG4kcG9wdXAtemluZGV4OiAgICAgICAgICAgICAgMTAwNSAhZGVmYXVsdDtcbiRwb3B1cC16aW5kZXgtZm9jdXNlZDogICAgICAkcG9wdXAtemluZGV4ICsgMSAhZGVmYXVsdDtcblxuXG5cbi8vXG4vLyBDYWxlbmRhclxuLy9cbiRjYWxlbmRhci1iZzogICAgICAgICAgICAgICAgICR3aWRnZXQtYmcgIWRlZmF1bHQ7XG4kY2FsZW5kYXItY2VsbC1hbGlnbjogICAgICAgICBjZW50ZXIgIWRlZmF1bHQ7XG4kY2FsZW5kYXItY2VsbC1wYWRkaW5nOiAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRjYWxlbmRhci1jZWxsLWNvbG9yOiAgICAgICAgICRidG4tY29sb3IgIWRlZmF1bHQ7XG4kY2FsZW5kYXItY2VsbC1ib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGNhbGVuZGFyLWNlbGwtYmctaG92ZXI6ICAgICAgICAgICAgICRzdGF0ZS1iZy1ob3ZlciAhZGVmYXVsdDtcbiRjYWxlbmRhci1jZWxsLWJvcmRlci1ob3ZlcjogICAgICAgICAkc3RhdGUtYm9yZGVyLWhvdmVyICFkZWZhdWx0O1xuJGNhbGVuZGFyLWNlbGwtY29sb3ItaG92ZXI6ICAgICAgICAgICRzdGF0ZS1jb2xvci1ob3ZlciAhZGVmYXVsdDtcblxuJGNhbGVuZGFyLWNlbGwtYmctZm9jdXM6ICAgICAgICAgICAgICRzdGF0ZS1iZy1mb2N1cyAhZGVmYXVsdDtcbiRjYWxlbmRhci1jZWxsLWJvcmRlci1mb2N1czogICAgICAgICAkc3RhdGUtYm9yZGVyLWZvY3VzICFkZWZhdWx0O1xuJGNhbGVuZGFyLWNlbGwtY29sb3ItZm9jdXM6ICAgICAgICAgICRzdGF0ZS1jb2xvci1mb2N1cyAhZGVmYXVsdDtcblxuJGNhbGVuZGFyLWNlbGwtYmctc2VsZWN0OiAgICAgICAgICAgICRzdGF0ZS1iZy1zZWxlY3QgIWRlZmF1bHQ7XG4kY2FsZW5kYXItY2VsbC1ib3JkZXItc2VsZWN0OiAgICAgICAgJHN0YXRlLWJvcmRlci1zZWxlY3QgIWRlZmF1bHQ7XG4kY2FsZW5kYXItY2VsbC1jb2xvci1zZWxlY3Q6ICAgICAgICAgJHN0YXRlLWNvbG9yLXNlbGVjdCAhZGVmYXVsdDtcblxuXG4vL1xuLy8gTXVsdGlzZWxlY3Rcbi8vXG4kbXVsdGlzZWxlY3QtZ3V0dGVyLXB0OiAgICAgICAgICAgMC4xMTUgIWRlZmF1bHQ7XG4kbXVsdGlzZWxlY3QtdGFnLXBhZGRpbmctbGVmdDogICAgMC4zNWVtICFkZWZhdWx0O1xuJG11bHRpc2VsZWN0LXRhZy1wYWRkaW5nLXJpZ2h0OiAgIDAuMzVlbSAhZGVmYXVsdDtcbiRtdWx0aXNlbGVjdC10YWctY29sb3I6ICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJG11bHRpc2VsZWN0LXRhZy1ib3JkZXI6ICAgICAgICAgICRidG4tYm9yZGVyICFkZWZhdWx0O1xuJG11bHRpc2VsZWN0LXRhZy1iZzogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kbXVsdGlzZWxlY3QtdGFnLWhlaWdodC1wdDogICAgICAgMSAtICgkbXVsdGlzZWxlY3QtZ3V0dGVyLXB0ICogMikgIWRlZmF1bHQ7XG4kbXVsdGlzZWxlY3QtdGFnLWd1dHRlci1mYWxsYmFjazogJGlucHV0LWhlaWdodCAqICRtdWx0aXNlbGVjdC1ndXR0ZXItcHQgIWRlZmF1bHQ7XG4kbXVsdGlzZWxlY3QtdGFnLWd1dHRlcjogICAgICAgICAgY2FsYygjeyRtdWx0aXNlbGVjdC10YWctZ3V0dGVyLWZhbGxiYWNrfSAtICN7JGlucHV0LWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xuJG11bHRpc2VsZWN0LXRhZy1oZWlnaHQ6ICAgICAgICAgICRpbnB1dC1oZWlnaHQgKiAkbXVsdGlzZWxlY3QtdGFnLWhlaWdodC1wdCAhZGVmYXVsdDtcbiRtdWx0aXNlbGVjdC10YWctYm9yZGVyLXJhZGl1czogICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJG11bHRpc2VsZWN0LXRhZy1iZy1ob3ZlcjogICAgICAgICAgICAgJHN0YXRlLWJnLWhvdmVyICFkZWZhdWx0O1xuJG11bHRpc2VsZWN0LXRhZy1ib3JkZXItaG92ZXI6ICAgICAgICAgJHN0YXRlLWJvcmRlci1ob3ZlciAhZGVmYXVsdDtcbiRtdWx0aXNlbGVjdC10YWctY29sb3ItaG92ZXI6ICAgICAgICAgICRzdGF0ZS1jb2xvci1ob3ZlciAhZGVmYXVsdDtcblxuIiwiXG5AbWl4aW4gYm9yZGVyLWJveCgpIHtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuXG4gICYsXG4gICYgKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gICY6YmVmb3JlLFxuICAmICo6YmVmb3JlLFxuICAmOmFmdGVyLFxuICAmICo6YWZ0ZXIsIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAkb3BhY2l0eS1pZTogKCRvcGFjaXR5ICogMTAwKTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSN7JG9wYWNpdHktaWV9KTtcbn1cblxuQG1peGluIHVuc3R5bGVkLWxpc3QoKSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuQG1peGluIHNlbGVjdC1jb250YWluZXIoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG5cbiAgPiAucnctc2VsZWN0IHtcbiAgICB3aWR0aDogJHBhZGRpbmc7XG4gIH1cblxuICAmLnJ3LXJ0bCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBzdGF0ZS1ob3ZlcigkYmc6ICRzdGF0ZS1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjogJHN0YXRlLWJvcmRlci1ob3ZlciwgJGNvbG9yOiAkc3RhdGUtY29sb3ItaG92ZXIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICBib3JkZXItY29sb3I6ICAgICAgICAgICAkYm9yZGVyLWNvbG9yO1xuICBjb2xvcjogICAgICAgICAgICAkY29sb3I7XG59XG5cbkBtaXhpbiBzdGF0ZS1zZWxlY3QoJGJnOiAkc3RhdGUtYmctc2VsZWN0LCAkYm9yZGVyLWNvbG9yOiAkc3RhdGUtYm9yZGVyLXNlbGVjdCwgJGNvbG9yOiAkc3RhdGUtY29sb3Itc2VsZWN0KSB7XG4gICYsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBib3JkZXItY29sb3I6ICAgICAkYm9yZGVyLWNvbG9yO1xuICAgIGNvbG9yOiAgICAgICAgICAgICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gc3RhdGUtZm9jdXMoJGJnOiAkc3RhdGUtYmctZm9jdXMsICRib3JkZXItY29sb3I6ICRzdGF0ZS1ib3JkZXItZm9jdXMsICRjb2xvcjogJHN0YXRlLWNvbG9yLWZvY3VzKSB7XG4gICYsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBib3JkZXItY29sb3I6ICAgICAkYm9yZGVyLWNvbG9yO1xuICAgIGNvbG9yOiAgICAgICAgICAgICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gc3RhdGUtZGlzYWJsZWQoKSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cblxuQG1peGluIGRpc2FibGVkLWNvbG9yKCRjb2xvcikge1xuICBjb2xvcjogbGlnaHRlbigkY29sb3IsIDQwJSk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT03KTtcbiAgb3BhY2l0eTogLjc7XG59XG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3I6ICRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcikge1xuICAvLyBGaXJlZm94XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgb3BhY2l0eTogMTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuQG1peGluIGhlaWdodC1jYWxjKCR0b3RhbCwgJG1pbnVzKSB7XG4gIGhlaWdodDogY2FsYygjeyR0b3RhbH0gLSAjeyRtaW51c30pO1xuXG4gIC8qKiBpZTggZmFsbGJhY2sgKiovXG4gIG1hcmdpbi10b3A6IC0jeyRtaW51c31cXDk7XG4gIGhlaWdodDogI3skdG90YWx9XFw5O1xuICAvKiogLS0tICoqL1xufVxuXG5AbWl4aW4gbWFrZS1idG4tc3RhdGUoJGhvdmVyLWNvbG9yOiAkYnRuLWJnLWhvdmVyLCAkYWN0aXZlLXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdykge1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLWJnLWhvdmVyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3c7XG4gIH1cblxuICAucnctc3RhdGUtZGlzYWJsZWQgJixcbiAgLnJ3LXN0YXRlLXJlYWRvbmx5ICYsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuLy8gTm9ybWFsaXplLmNzc1xuLnJ3LWJ0bixcbi5ydy1pbnB1dC1yZXNldCB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG4ucnctYnRuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5zZWxlY3QucnctaW5wdXQge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLnJ3LWlucHV0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGV4dGFyZWEucnctaW5wdXQge1xuICBvdmVyZmxvdzogYXV0bztcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuXG5idXR0b25bZGlzYWJsZWRdLnJ3LWlucHV0LFxuZmllbGRzZXRbZGlzYWJsZWRdIC5ydy1pbnB1dCxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdLnJ3LWlucHV0IHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuYnV0dG9uLnJ3LWlucHV0OjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQucnctaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tICovXG4iLCJcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1J3V2lkZ2V0cyc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoJyN7JGZvbnQtcGF0aH0vcnctd2lkZ2V0cy5lb3Q/dj0jeyR2ZXJzaW9ufScpO1xuICBzcmM6IHVybCgnI3skZm9udC1wYXRofS9ydy13aWRnZXRzLmVvdD8jaWVmaXgmdj0jeyR2ZXJzaW9ufScpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJyN7JGZvbnQtcGF0aH0vcnctd2lkZ2V0cy53b2ZmP3Y9I3skdmVyc2lvbn0nKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGZvbnQtcGF0aH0vcnctd2lkZ2V0cy50dGY/dj0jeyR2ZXJzaW9ufScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJyN7JGZvbnQtcGF0aH0vcnctd2lkZ2V0cy5zdmc/dj0jeyR2ZXJzaW9ufSNmb250YXdlc29tZXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG5cbi5ydy1pIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogJGljb24tY29sb3I7XG4gIGZvbnQtZmFtaWx5OiBSd1dpZGdldHM7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi5ydy1pLWNhcmV0LWRvd246YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMyc7IH1cbi5ydy1pLWNhcmV0LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDAnOyB9XG4ucnctaS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJ1xcZjEwNCc7ICB9XG4ucnctaS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYxMDUnOyB9XG5cbi5ydy1pLWNsb2NrLW86YmVmb3JlIHsgY29udGVudDonXFxlODA1JzsgfVxuLnJ3LWktY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNCc7IH1cbi5ydy1pLXNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAxJzsgfVxuIiwiXG4ucnctYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogJGJ0bi1jb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7IC8vIHRoZXNlIGFyZSBuZXZlciBpbmRpdmlkdWFsbHkgZm9jdXNhYmxlXG5cbiAgLnJ3LXN0YXRlLXJlYWRvbmx5ICYsXG4gIC5ydy1zdGF0ZS1kaXNhYmxlZCAmIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG59XG5cbi5ydy1idG4tc2VsZWN0IHtcbiAgQGluY2x1ZGUgb3BhY2l0eSguNzUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGVhc2UtaW47XG5cbiAgJjpob3ZlcixcbiAgLnJ3LXN0YXRlLWZvY3VzICYsXG4gIDpob3ZlciA+ICYge1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gIH1cbn1cblxuLnJ3LWJ0bi1wcmltYXJ5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN0YXRlLWJnLWhvdmVyO1xuICB9XG59XG5cbi5ydy1idG4tc2VsZWN0W2Rpc2FibGVkXSxcbi5ydy1idG4tcHJpbWFyeVtkaXNhYmxlZF0sXG5maWVsZHNldFtkaXNhYmxlZF0gLnJ3LWJ0bi1zZWxlY3QsXG5maWVsZHNldFtkaXNhYmxlZF0gLnJ3LWJ0bi1wcmltYXJ5LCB7XG4gIEBpbmNsdWRlIHN0YXRlLWRpc2FibGVkKCk7XG4gIEBpbmNsdWRlIG9wYWNpdHkoLjY1KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvKiBmb3IgZGVidWdnaW5nICovXG4vLyAqOmZvY3VzIHtcbi8vICAgb3V0bGluZTogMXB4IHJlZCBzb2xpZCAhaW1wb3J0YW50O1xuLy8gfVxuXG5Aa2V5ZnJhbWVzIHJlYWN0LXdpZGdldHMtYXV0b2ZpbGwtc3RhcnQge1xuICBmcm9tIHtcbiAgICAvKiovXG4gIH1cbiAgdG8ge1xuICAgIC8qKi9cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJlYWN0LXdpZGdldHMtYXV0b2ZpbGwtY2FuY2VsIHtcbiAgZnJvbSB7XG4gICAgLyoqL1xuICB9XG4gIHRvIHtcbiAgICAvKiovXG4gIH1cbn1cblxuLnJ3LXNyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7XG59XG5cbi5ydy13aWRnZXQge1xuICBAaW5jbHVkZSBib3JkZXItYm94KCk7XG5cbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgb3V0bGluZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGVuc3VyZSB0aGF0IHRoZSBcImNocm9tZVwiIGlzIHRoZSBzYW1lIHdpZHRoIGFzIHRoZSBhY3R1YWwgY29udGFpbmVyXG4gICYgPiAucnctd2lkZ2V0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5ydy13aWRnZXQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXIgJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG5cbiAgJi5ydy1zdGF0ZS1mb2N1cyxcbiAgLnJ3LXN0YXRlLWZvY3VzID4gJiB7XG4gICAgJixcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1mb2N1cztcbiAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICYucnctc3RhdGUtcmVhZG9ubHksXG4gIC5ydy1zdGF0ZS1yZWFkb25seSA+ICYge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAmLnJ3LXN0YXRlLWRpc2FibGVkLFxuICAucnctc3RhdGUtZGlzYWJsZWQgPiAmLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBzdGF0ZS1kaXNhYmxlZCgpO1xuICAgIH1cbiAgfVxufVxuXG4ucnctd2lkZ2V0LXBpY2tlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG5cbiAgJiA+ICoge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgfVxuXG4gICYgPiAucnctc2VsZWN0IHtcbiAgICB3aWR0aDogMSU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5ydy1vcGVuID4gJiB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICAucnctb3Blbi11cCA+ICYge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG5cbiAgZmllbGRzZXRbZGlzYWJsZWRdICYsXG4gIC5ydy1zdGF0ZS1kaXNhYmxlZCA+ICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1kaXNhYmxlZDtcbiAgfVxufVxuXG4ucnctc2VsZWN0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICYgPiAqIHtcbiAgICB3aWR0aDogMS45ZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnJ3LXN0YXRlLXJlYWRvbmx5ICYsXG4gIC5ydy1zdGF0ZS1kaXNhYmxlZCAmIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG59XG5cbi5ydy1zZWxlY3QtYm9yZGVyZWQge1xuICBAaW5jbHVkZSBtYWtlLWJ0bi1zdGF0ZSgkc2VsZWN0LWJ0bi1iZy1ob3Zlcik7XG5cbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItbGVmdDogJGlucHV0LWJvcmRlciAxcHggc29saWQ7XG5cbiAgLnJ3LXJ0bCAmIHtcbiAgICBib3JkZXItcmlnaHQ6ICRpbnB1dC1ib3JkZXIgMXB4IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICB9XG59XG5cbi5ydy1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDtcbn1cblxuLnJ3LWlucHV0LXJlc2V0IHtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXIoKTtcbiAgb3V0bGluZTogMDtcbn1cblxuLnJ3LWlucHV0IHtcbiAgQGV4dGVuZCAucnctaW5wdXQtcmVzZXQ7XG5cbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgcGFkZGluZzogMCAkaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG5cbiAgJlt0eXBlPSd0ZXh0J106Oi1tcy1jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgQGluY2x1ZGUgc3RhdGUtZGlzYWJsZWQoKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1kaXNhYmxlZDtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAmW3JlYWRvbmx5XSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxufVxuXG4ucnctaS5ydy1sb2FkaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICRpbWctYnVzeSBuby1yZXBlYXQgY2VudGVyO1xuICBtaW4td2lkdGg6IDE2cHg7XG4gIHdpZHRoOiAxLjllbTtcbiAgaGVpZ2h0OiAxNnB4O1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4ucnctcGxhY2Vob2xkZXIge1xuICBjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyO1xufVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20va2xhcm5hL3VpL2Jsb2IvbWFzdGVyL0ZpZWxkL3N0eWxlcy5zY3NzXG4ucnctZGV0ZWN0LWF1dG9maWxsIHtcbiAgJjotd2Via2l0LWF1dG9maWxsIHtcbiAgICBhbmltYXRpb24tbmFtZTogcmVhY3Qtd2lkZ2V0cy1hdXRvZmlsbC1zdGFydDtcblxuICAgIC8vIE1ha2UgdGhlIGJhY2tnb3VuZCBjb2xvciBiZWNvbWUgeWVsbG93IF9yZWFsbHkgc2xvd2x5X1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwMDBzIGVhc2UtaW4tb3V0IDBzO1xuICB9XG5cbiAgJjpub3QoOi13ZWJraXQtYXV0b2ZpbGwpIHtcbiAgICBhbmltYXRpb24tbmFtZTogcmVhY3Qtd2lkZ2V0cy1hdXRvZmlsbC1jYW5jZWw7XG4gIH1cbn1cblxuLnJ3LXdlYmtpdC1hdXRvZmlsbCAucnctd2lkZ2V0LWNvbnRhaW5lcixcbi5ydy1pbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWNvbG9yLWF1dG9maWxsICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvci1hdXRvZmlsbCAhaW1wb3J0YW50O1xufVxuXG4vL2lucHV0IGluc2V0XG4ucnctd2lkZ2V0LWlucHV0IHtcbiAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3c7XG59XG5cbi5ydy13aWRnZXQtaW5wdXQucnctc3RhdGUtZm9jdXMge1xuICBib3gtc2hhZG93OiAjeyRpbnB1dC1mb2N1cy1ib3gtc2hhZG93fSwgI3skaW5wdXQtYm94LXNoYWRvd307XG59XG4iLCIucnctbGlzdCB7XG4gIEBpbmNsdWRlIHVuc3R5bGVkLWxpc3QoKTtcbiAgZm9udC1zaXplOiAkbGlzdC1mb250LXNpemU7XG4gIG91dGxpbmU6IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbn1cblxuLnJ3LWxpc3Qtb3B0aW9uIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGNvbG9yOiAkbGlzdC10ZXh0LWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICYucnctc3RhdGUtZm9jdXMge1xuICAgIEBpbmNsdWRlIHN0YXRlLWZvY3VzKCRsaXN0LWJnLWZvY3VzLCAkbGlzdC1ib3JkZXItZm9jdXMsICRsaXN0LWNvbG9yLWZvY3VzKTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6aG92ZXIucnctc3RhdGUtZm9jdXMge1xuICAgIEBpbmNsdWRlIHN0YXRlLWhvdmVyKCRsaXN0LWJnLWhvdmVyLCAkbGlzdC1ib3JkZXItaG92ZXIsICRsaXN0LWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gICYucnctc3RhdGUtc2VsZWN0ZWQge1xuICAgIEBpbmNsdWRlIHN0YXRlLXNlbGVjdCgkbGlzdC1iZy1zZWxlY3QsICRsaXN0LWJvcmRlci1zZWxlY3QsICRsaXN0LWNvbG9yLXNlbGVjdCk7XG4gIH1cblxuICBmaWVsZHNldFtkaXNhYmxlZF0gJixcbiAgJi5ydy1zdGF0ZS1kaXNhYmxlZCxcbiAgJi5ydy1zdGF0ZS1yZWFkb25seSB7XG4gICAgQGluY2x1ZGUgc3RhdGUtZGlzYWJsZWQoKTtcbiAgICBAaW5jbHVkZSBkaXNhYmxlZC1jb2xvcigkbGlzdC10ZXh0LWNvbG9yKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi5ydy1saXN0LWVtcHR5LFxuLnJ3LWxpc3Qtb3B0aW9uLFxuLnJ3LWxpc3Qtb3B0Z3JvdXAge1xuICBwYWRkaW5nOiAkbGlzdC1wYWRkaW5nLXZlcnRpY2FsICRsaXN0LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgb3V0bGluZTogMDtcbn1cblxuLnJ3LWxpc3Qtb3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZy10b3A6IDdweDtcbn1cblxuLnJ3LWxpc3Qtb3B0aW9uLWNyZWF0ZSB7XG4gIGJvcmRlci10b3A6ICAxcHggJHdpZGdldC1ib3JkZXIgc29saWQ7XG4gIC8vcGFkZGluZy10b3A6IDAuMzU3ZW07XG4gIC8vbWFyZ2luLXRvcDogIDAuMzU3ZW07XG59XG4iLCIucnctZHJvcGRvd24tbGlzdC1hdXRvZmlsbCB7XG4gIEBleHRlbmQgLnJ3LWlucHV0O1xuXG4gIHBhZGRpbmc6IDA7XG59XG5cbi5ydy1kcm9wZG93bi1saXN0LWlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgLyogZWxsaXBzaXMgKi9cbiAgJiB7XG4gICAgbWF4LXdpZHRoOiAxcHg7IC8vIHZlcnkgaGFja3kgdG8gZm9yY2UgZWxsaXBzaXNcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAucnctcnRsICYge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi5ydy1maWx0ZXItaW5wdXQge1xuICBAZXh0ZW5kIC5ydy1pbnB1dDtcbiAgQGV4dGVuZCAucnctd2lkZ2V0LWlucHV0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgLnJ3LXJ0bCB7XG4gICAgcGFkZGluZy1yaWdodDogJGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAucnctc2VsZWN0LFxuICAucnctYnRuIHtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNzUpO1xuICAgIGN1cnNvcjogdGV4dDtcbiAgfVxuXG4gID4gLnJ3LXNlbGVjdCB7XG4gICAgJixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjdXJzb3I6IGluaXRpYWw7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiXG4ucnctbnVtYmVyLXBpY2tlciB7XG4gICRoYWxmLXdpZHRoOiAkaW5wdXQtaGVpZ2h0IC8gMjtcblxuICAucnctYnRuIHtcbiAgICBAaW5jbHVkZSBtYWtlLWJ0bi1zdGF0ZSgpO1xuICAgIEBpbmNsdWRlIGhlaWdodC1jYWxjKCRoYWxmLXdpZHRoLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcblxuICAgIGxpbmUtaGVpZ2h0OiAkaGFsZi13aWR0aDtcbiAgICBsaW5lLWhlaWdodDogY2FsYygjeyRoYWxmLXdpZHRofSAtICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gICYgLnJ3LXNlbGVjdCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG4ucnctY2FsZW5kYXItcG9wdXAge1xuICByaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogMThlbTtcbn1cblxuLnJ3LWNhbGVuZGFyIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYWxlbmRhci1iZztcbiAgYm9yZGVyOiAkd2lkZ2V0LWJvcmRlciAxcHggc29saWQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJi5ydy1wb3B1cCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkcG9wdXAtYm9yZGVyO1xuICB9XG59XG5cbi5ydy1jYWxlbmRhci1ub3cge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnJ3LWNhbGVuZGFyLWJ0bi1sZWZ0LFxuLnJ3LWNhbGVuZGFyLWJ0bi1yaWdodCB7XG4gIHdpZHRoOiAxMi41JTtcbn1cblxuLnJ3LWNhbGVuZGFyLWJ0bi12aWV3IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLnJ3LWNhbGVuZGFyLWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyO1xufVxuXG4ucnctY2FsZW5kYXItZ3JpZCB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGhlaWdodDogMjAwIC8gMTRlbTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsZW5kYXItYmc7XG59XG5cbi5ydy1oZWFkLWNlbGwge1xuICB0ZXh0LWFsaWduOiAkY2FsZW5kYXItY2VsbC1hbGlnbjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXI7XG4gIHBhZGRpbmc6ICRjYWxlbmRhci1jZWxsLXBhZGRpbmc7XG59XG5cbi5ydy1jZWxsIHtcbiAgY29sb3I6ICRjYWxlbmRhci1jZWxsLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkY2FsZW5kYXItY2VsbC1ib3JkZXItcmFkaXVzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6ICRjYWxlbmRhci1jZWxsLXBhZGRpbmc7XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgc3RhdGUtaG92ZXIoJGNhbGVuZGFyLWNlbGwtYmctaG92ZXIsICRjYWxlbmRhci1jZWxsLWJvcmRlci1ob3ZlciwgJGNhbGVuZGFyLWNlbGwtY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgJi5ydy1zdGF0ZS1mb2N1cyB7XG4gICAgQGluY2x1ZGUgc3RhdGUtZm9jdXMoJGNhbGVuZGFyLWNlbGwtYmctZm9jdXMsICRjYWxlbmRhci1jZWxsLWJvcmRlci1mb2N1cywgJGNhbGVuZGFyLWNlbGwtY29sb3ItZm9jdXMpO1xuICB9XG5cbiAgJi5ydy1zdGF0ZS1zZWxlY3RlZCB7XG4gICAgQGluY2x1ZGUgc3RhdGUtc2VsZWN0KCRjYWxlbmRhci1jZWxsLWJnLXNlbGVjdCwgJGNhbGVuZGFyLWNlbGwtYm9yZGVyLXNlbGVjdCwgJGNhbGVuZGFyLWNlbGwtY29sb3Itc2VsZWN0KTtcbiAgfVxuXG4gICYucnctc3RhdGUtZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIGRpc2FibGVkLWNvbG9yKCRidG4tY29sb3IpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAucnctY2FsZW5kYXItbW9udGggJiB7XG4gICAgdGV4dC1hbGlnbjogJGNhbGVuZGFyLWNlbGwtYWxpZ247XG4gIH1cbn1cblxuLnJ3LWNlbGwtb2ZmLXJhbmdlIHtcbiAgY29sb3I6IGxpZ2h0ZW4oJGJ0bi1jb2xvciwgNDAlKVxufVxuXG5cbi5ydy1jYWxlbmRhci10cmFuc2l0aW9uLWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucnctY2FsZW5kYXItdHJhbnNpdGlvbiB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJ3LWNhbGVuZGFyLXRyYW5zaXRpb24tdG9wIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbn1cbi5ydy1jYWxlbmRhci10cmFuc2l0aW9uLWJvdHRvbSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbn1cblxuLnJ3LWNhbGVuZGFyLXRyYW5zaXRpb24tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuLnJ3LWNhbGVuZGFyLXRyYW5zaXRpb24tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLnJ3LWNhbGVuZGFyLXRyYW5zaXRpb24tZW50ZXJpbmcsXG4ucnctY2FsZW5kYXItdHJhbnNpdGlvbi1lbnRlcmVkIHtcbiAgJi5ydy1jYWxlbmRhci10cmFuc2l0aW9uLXRvcCxcbiAgJi5ydy1jYWxlbmRhci10cmFuc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gICYucnctY2FsZW5kYXItdHJhbnNpdGlvbi1yaWdodCxcbiAgJi5ydy1jYWxlbmRhci10cmFuc2l0aW9uLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4ucnctY2FsZW5kYXItdHJhbnNpdGlvbi1leGl0aW5nIHtcbiAgJi5ydy1jYWxlbmRhci10cmFuc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG4gICYucnctY2FsZW5kYXItdHJhbnNpdGlvbi1ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgJi5ydy1jYWxlbmRhci10cmFuc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbiAgJi5ydy1jYWxlbmRhci10cmFuc2l0aW9uLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbn1cblxuIiwiLnJ3LXNlbGVjdC1saXN0IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAucnctbGlzdCB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7IC8vIHVzZSB3aWRnZXQgZm9udC1zaXplXG4gIH1cbn1cblxuLnJ3LXNlbGVjdC1saXN0LWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY3Vyc29yOiBpbmhlcml0O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbjogMDtcblxuICAucnctcnRsICYge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbmlucHV0LnJ3LXNlbGVjdC1saXN0LWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0b3A6IDAuMWVtIC85O1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGN1cnNvcjogaW5oZXJpdDtcblxuICAucnctcnRsICYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnJ3LWxvYWRpbmctbWFzayB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiAkaW1nLWJ1c3ktbGcgbm8tcmVwZWF0IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcblxuICBAaW5jbHVkZSBvcGFjaXR5KDAuNyk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbiIsIi5ydy1tdWx0aXNlbGVjdCB7XG4gIGN1cnNvcjogdGV4dDtcblxuICAucnctaW5wdXQtcmVzZXQge1xuICAgIEBpbmNsdWRlIGhlaWdodC1jYWxjKCRpbnB1dC1oZWlnaHQsICRpbnB1dC1ib3JkZXItd2lkdGggKiAyKTtcblxuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsO1xuICB9XG5cbiAgJiAucnctc2VsZWN0IHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5ydy1tdWx0aXNlbGVjdC10YWdsaXN0IHtcbiAgQGluY2x1ZGUgdW5zdHlsZWQtbGlzdCgpO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5ydy1tdWx0aXNlbGVjdC10YWcge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIGNvbG9yOiAkbXVsdGlzZWxlY3QtdGFnLWNvbG9yO1xuICBwYWRkaW5nOiAwICRtdWx0aXNlbGVjdC10YWctcGFkZGluZy1yaWdodCAwICRtdWx0aXNlbGVjdC10YWctcGFkZGluZy1sZWZ0O1xuICBtYXJnaW4tbGVmdDogJG11bHRpc2VsZWN0LXRhZy1ndXR0ZXI7XG4gIG1hcmdpbi10b3A6ICRtdWx0aXNlbGVjdC10YWctZ3V0dGVyLWZhbGxiYWNrO1xuICBtYXJnaW4tdG9wOiAkbXVsdGlzZWxlY3QtdGFnLWd1dHRlcjtcbiAgaGVpZ2h0OiAkbXVsdGlzZWxlY3QtdGFnLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogJG11bHRpc2VsZWN0LXRhZy1ib3JkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbXVsdGlzZWxlY3QtdGFnLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbXVsdGlzZWxlY3QtdGFnLWJvcmRlcjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC13aWR0aDogMTAwJTtcblxuICAmID4gKiB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5ydy1ydGwgJiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbXVsdGlzZWxlY3QtdGFnLWd1dHRlcjtcbiAgICBwYWRkaW5nOiAwICRtdWx0aXNlbGVjdC10YWctcGFkZGluZy1sZWZ0IDAgJG11bHRpc2VsZWN0LXRhZy1wYWRkaW5nLXJpZ2h0O1xuICB9XG5cbiAgJi5ydy1zdGF0ZS1mb2N1cyB7XG4gICAgQGluY2x1ZGUgc3RhdGUtZm9jdXMoKTtcbiAgfVxuXG4gICYucnctc3RhdGUtcmVhZG9ubHksXG4gICYucnctc3RhdGUtZGlzYWJsZWQsXG4gIC5ydy1zdGF0ZS1yZWFkb25seSAmLFxuICAucnctc3RhdGUtZGlzYWJsZWQgJixcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAmLnJ3LXN0YXRlLWRpc2FibGVkLFxuICAucnctc3RhdGUtZGlzYWJsZWQgJixcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMC42NSk7XG4gIH1cblxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgQGluY2x1ZGUgc3RhdGUtZGlzYWJsZWQoKTtcbiAgfVxufVxuXG4ucnctbXVsdGlzZWxlY3QtdGFnLWJ0biB7XG4gIGNvbG9yOiAkbXVsdGlzZWxlY3QtdGFnLWNvbG9yO1xuICBtYXJnaW4tbGVmdDogMC4yNWVtO1xuXG4gIC5ydy1ydGwgJiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG4gIH1cbn1cbiIsIlxuXG4ucnctYXV0b2NvbXBsZXRlIHtcbiAgJiAucnctc2VsZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuIiwiXG4ucnctcG9wdXAtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkcG9wdXAtemluZGV4O1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6ICAtJHBvcHVwLWJveC1zaGFkb3ctb2Zmc2V0O1xuICByaWdodDogLSRwb3B1cC1ib3gtc2hhZG93LW9mZnNldDtcblxuICAmLnJ3LWRyb3B1cCB7XG4gICAgdG9wOiAgICBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgfVxuXG4gIC5ydy1zdGF0ZS1mb2N1cyAmIHtcbiAgICB6LWluZGV4OiAkcG9wdXAtemluZGV4LWZvY3VzZWQ7XG4gIH1cbn1cblxuLnJ3LXBvcHVwLXRyYW5zaXRpb24ge1xuICAvLyB0aGUgb2Zmc2V0cyBhbGxvd3MgZm9yIGRyb3Agc2hhZG93IHRvIG5vdCBiZSBjbGlwcGVkIGJ5IHRoZSBjb250YWluZXJcbiAgd2lkdGg6ICAgICAgICAgICAgMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogICAgJHBvcHVwLWJveC1zaGFkb3ctb2Zmc2V0O1xuICBwYWRkaW5nOiAgICAgICAgICAwICRwb3B1cC1ib3gtc2hhZG93LW9mZnNldDtcblxuICAucnctZHJvcHVwID4gJiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAgICAkcG9wdXAtYm94LXNoYWRvdy1vZmZzZXQ7XG4gIH1cbn1cblxuLnJ3LXBvcHVwIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRwb3B1cC1ib3JkZXItcmFkaXVzKTtcblxuICBib3gtc2hhZG93OiAgICAgICAkcG9wdXAtYm94LXNoYWRvdztcbiAgYm9yZGVyOiAgICAgICAgICAgJHBvcHVwLWJvcmRlciAxcHggc29saWQ7XG4gIGJhY2tncm91bmQ6ICAgICAgICRwb3B1cC1iZztcblxuICAucnctZHJvcHVwICYge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRwb3B1cC1ib3JkZXItcmFkaXVzKTtcblxuICAgIGJveC1zaGFkb3c6ICRwb3B1cC1ib3gtc2hhZG93LXVwO1xuICB9XG59XG5cbi5ydy1wb3B1cC10cmFuc2l0aW9uIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zO1xufVxuXG4ucnctcG9wdXAtdHJhbnNpdGlvbi1lbnRlcmluZyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJiAucnctcG9wdXAtdHJhbnNpdGlvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxufVxuXG4ucnctcG9wdXAtdHJhbnNpdGlvbi1leGl0aW5nIHtcbiAgJiAucnctcG9wdXAtdHJhbnNpdGlvbiB7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLnJ3LXBvcHVwLXRyYW5zaXRpb24tZXhpdGluZyxcbi5ydy1wb3B1cC10cmFuc2l0aW9uLWV4aXRlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJiAucnctcG9wdXAtdHJhbnNpdGlvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxuXG4gICYucnctZHJvcHVwIC5ydy1wb3B1cC10cmFuc2l0aW9uIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbn1cblxuLnJ3LXBvcHVwLXRyYW5zaXRpb24tZXhpdGVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIlxuLnJ3LXN0YXRlLWRpc2FibGVkIHtcbiAgQGluY2x1ZGUgc3RhdGUtZGlzYWJsZWQoKTtcbn1cbiIsIkBpbXBvcnQgJ3JlYWN0LXRhYmxlL3JlYWN0LXRhYmxlJztcbiIsIi5SZWFjdFRhYmxle3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7fS5SZWFjdFRhYmxlICp7Ym94LXNpemluZzpib3JkZXItYm94fS5SZWFjdFRhYmxlIC5ydC10YWJsZXstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6YXV0byAxO2ZsZXg6YXV0byAxO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtYWxpZ246c3RyZXRjaDstbXMtZmxleC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7d2lkdGg6MTAwJTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7b3ZlcmZsb3c6YXV0b30uUmVhY3RUYWJsZSAucnQtdGhlYWR7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4OjEgMCBhdXRvO2ZsZXg6MSAwIGF1dG87ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7fS5SZWFjdFRhYmxlIC5ydC10aGVhZC4taGVhZGVyR3JvdXBze2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjAzKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMDUpfS5SZWFjdFRhYmxlIC5ydC10aGVhZC4tZmlsdGVyc3tib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMDUpO30uUmVhY3RUYWJsZSAucnQtdGhlYWQuLWZpbHRlcnMgaW5wdXQsLlJlYWN0VGFibGUgLnJ0LXRoZWFkLi1maWx0ZXJzIHNlbGVjdHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzo1cHggN3B4O2ZvbnQtc2l6ZTppbmhlcml0O2JvcmRlci1yYWRpdXM6M3B4O2ZvbnQtd2VpZ2h0Om5vcm1hbDtvdXRsaW5lOm5vbmV9LlJlYWN0VGFibGUgLnJ0LXRoZWFkLi1maWx0ZXJzIC5ydC10aHtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4wMil9LlJlYWN0VGFibGUgLnJ0LXRoZWFkLi1oZWFkZXJ7Ym94LXNoYWRvdzowIDJweCAxNXB4IDAgcmdiYSgwLDAsMCwwLjE1KX0uUmVhY3RUYWJsZSAucnQtdGhlYWQgLnJ0LXRye3RleHQtYWxpZ246Y2VudGVyfS5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtdGgsLlJlYWN0VGFibGUgLnJ0LXRoZWFkIC5ydC10ZHtwYWRkaW5nOjVweCA1cHg7bGluZS1oZWlnaHQ6bm9ybWFsO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjA1KTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEuMjc1KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDAgdHJhbnNwYXJlbnQ7fS5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtdGguLXNvcnQtYXNjLC5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtdGQuLXNvcnQtYXNje2JveC1zaGFkb3c6aW5zZXQgMCAzcHggMCAwIHJnYmEoMCwwLDAsMC42KX0uUmVhY3RUYWJsZSAucnQtdGhlYWQgLnJ0LXRoLi1zb3J0LWRlc2MsLlJlYWN0VGFibGUgLnJ0LXRoZWFkIC5ydC10ZC4tc29ydC1kZXNje2JveC1zaGFkb3c6aW5zZXQgMCAtM3B4IDAgMCByZ2JhKDAsMCwwLDAuNil9LlJlYWN0VGFibGUgLnJ0LXRoZWFkIC5ydC10aC4tY3Vyc29yLXBvaW50ZXIsLlJlYWN0VGFibGUgLnJ0LXRoZWFkIC5ydC10ZC4tY3Vyc29yLXBvaW50ZXJ7Y3Vyc29yOnBvaW50ZXJ9LlJlYWN0VGFibGUgLnJ0LXRoZWFkIC5ydC10aDpsYXN0LWNoaWxkLC5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtdGQ6bGFzdC1jaGlsZHtib3JkZXItcmlnaHQ6MH0uUmVhY3RUYWJsZSAucnQtdGhlYWQgLnJ0LXJlc2l6YWJsZS1oZWFkZXJ7b3ZlcmZsb3c6dmlzaWJsZTt9LlJlYWN0VGFibGUgLnJ0LXRoZWFkIC5ydC1yZXNpemFibGUtaGVhZGVyOmxhc3QtY2hpbGR7b3ZlcmZsb3c6aGlkZGVufS5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtcmVzaXphYmxlLWhlYWRlci1jb250ZW50e292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtaGVhZGVyLXBpdm90e2JvcmRlci1yaWdodC1jb2xvcjojZjdmN2Y3fS5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtaGVhZGVyLXBpdm90OmFmdGVyLC5SZWFjdFRhYmxlIC5ydC10aGVhZCAucnQtaGVhZGVyLXBpdm90OmJlZm9yZXtsZWZ0OjEwMCU7dG9wOjUwJTtib3JkZXI6c29saWQgdHJhbnNwYXJlbnQ7Y29udGVudDpcIiBcIjtoZWlnaHQ6MDt3aWR0aDowO3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOm5vbmV9LlJlYWN0VGFibGUgLnJ0LXRoZWFkIC5ydC1oZWFkZXItcGl2b3Q6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMCk7Ym9yZGVyLWxlZnQtY29sb3I6I2ZmZjtib3JkZXItd2lkdGg6OHB4O21hcmdpbi10b3A6LThweH0uUmVhY3RUYWJsZSAucnQtdGhlYWQgLnJ0LWhlYWRlci1waXZvdDpiZWZvcmV7Ym9yZGVyLWNvbG9yOnJnYmEoMTAyLDEwMiwxMDIsMCk7Ym9yZGVyLWxlZnQtY29sb3I6I2Y3ZjdmNztib3JkZXItd2lkdGg6MTBweDttYXJnaW4tdG9wOi0xMHB4fS5SZWFjdFRhYmxlIC5ydC10Ym9keXstd2Via2l0LWJveC1mbGV4Ojk5OTk5Oy1tcy1mbGV4Ojk5OTk5IDEgYXV0bztmbGV4Ojk5OTk5IDEgYXV0bztkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO292ZXJmbG93OmF1dG87fS5SZWFjdFRhYmxlIC5ydC10Ym9keSAucnQtdHItZ3JvdXB7Ym9yZGVyLWJvdHRvbTpzb2xpZCAxcHggcmdiYSgwLDAsMCwwLjA1KTt9LlJlYWN0VGFibGUgLnJ0LXRib2R5IC5ydC10ci1ncm91cDpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206MH0uUmVhY3RUYWJsZSAucnQtdGJvZHkgLnJ0LXRke2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjAyKTt9LlJlYWN0VGFibGUgLnJ0LXRib2R5IC5ydC10ZDpsYXN0LWNoaWxke2JvcmRlci1yaWdodDowfS5SZWFjdFRhYmxlIC5ydC10Ym9keSAucnQtZXhwYW5kYWJsZXtjdXJzb3I6cG9pbnRlcjt0ZXh0LW92ZXJmbG93OmNsaXB9LlJlYWN0VGFibGUgLnJ0LXRyLWdyb3Vwey13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleDoxIDAgYXV0bztmbGV4OjEgMCBhdXRvO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtYWxpZ246c3RyZXRjaDstbXMtZmxleC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2h9LlJlYWN0VGFibGUgLnJ0LXRyey13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleDoxIDAgYXV0bztmbGV4OjEgMCBhdXRvO2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94O2Rpc3BsYXk6aW5saW5lLWZsZXh9LlJlYWN0VGFibGUgLnJ0LXRoLC5SZWFjdFRhYmxlIC5ydC10ZHstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6MSAwIDBweDtmbGV4OjEgMCAwO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3BhZGRpbmc6N3B4IDVweDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjouM3MgZWFzZTt0cmFuc2l0aW9uLXByb3BlcnR5OndpZHRoLG1pbi13aWR0aCxwYWRkaW5nLG9wYWNpdHk7fS5SZWFjdFRhYmxlIC5ydC10aC4taGlkZGVuLC5SZWFjdFRhYmxlIC5ydC10ZC4taGlkZGVue3dpZHRoOjAgIWltcG9ydGFudDttaW4td2lkdGg6MCAhaW1wb3J0YW50O3BhZGRpbmc6MCAhaW1wb3J0YW50O2JvcmRlcjowICFpbXBvcnRhbnQ7b3BhY2l0eTowICFpbXBvcnRhbnR9LlJlYWN0VGFibGUgLnJ0LWV4cGFuZGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowO2NvbG9yOnRyYW5zcGFyZW50O21hcmdpbjowIDEwcHg7fS5SZWFjdFRhYmxlIC5ydC1leHBhbmRlcjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjA7aGVpZ2h0OjA7dG9wOjUwJTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGUoLTkwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlKC05MGRlZyk7Ym9yZGVyLWxlZnQ6NS4wNHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo1LjA0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDo3cHggc29saWQgcmdiYSgwLDAsMCwwLjgpO3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjI3NSk7Y3Vyc29yOnBvaW50ZXJ9LlJlYWN0VGFibGUgLnJ0LWV4cGFuZGVyLi1vcGVuOmFmdGVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlKDApfS5SZWFjdFRhYmxlIC5ydC1yZXNpemVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjM2cHg7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6LTE4cHg7Y3Vyc29yOmNvbC1yZXNpemU7ei1pbmRleDoxMH0uUmVhY3RUYWJsZSAucnQtdGZvb3R7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4OjEgMCBhdXRvO2ZsZXg6MSAwIGF1dG87ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtib3gtc2hhZG93OjAgMCAxNXB4IDAgcmdiYSgwLDAsMCwwLjE1KTt9LlJlYWN0VGFibGUgLnJ0LXRmb290IC5ydC10ZHtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4wNSk7fS5SZWFjdFRhYmxlIC5ydC10Zm9vdCAucnQtdGQ6bGFzdC1jaGlsZHtib3JkZXItcmlnaHQ6MH0uUmVhY3RUYWJsZS4tc3RyaXBlZCAucnQtdHIuLW9kZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wMyl9LlJlYWN0VGFibGUuLWhpZ2hsaWdodCAucnQtdGJvZHkgLnJ0LXRyOm5vdCguLXBhZFJvdyk6aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfS5SZWFjdFRhYmxlIC4tcGFnaW5hdGlvbnt6LWluZGV4OjE7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LW1zLWZsZXgtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LW1zLWZsZXgtYWxpZ246c3RyZXRjaDthbGlnbi1pdGVtczpzdHJldGNoOy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDtwYWRkaW5nOjNweDtib3gtc2hhZG93OjAgMCAxNXB4IDAgcmdiYSgwLDAsMCwwLjEpO2JvcmRlci10b3A6MnB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTt9LlJlYWN0VGFibGUgLi1wYWdpbmF0aW9uIGlucHV0LC5SZWFjdFRhYmxlIC4tcGFnaW5hdGlvbiBzZWxlY3R7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6NXB4IDdweDtmb250LXNpemU6aW5oZXJpdDtib3JkZXItcmFkaXVzOjNweDtmb250LXdlaWdodDpub3JtYWw7b3V0bGluZTpub25lfS5SZWFjdFRhYmxlIC4tcGFnaW5hdGlvbiAuLWJ0bnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6NnB4O2ZvbnQtc2l6ZToxZW07Y29sb3I6cmdiYSgwLDAsMCwwLjYpO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3RyYW5zaXRpb246YWxsIC4xcyBlYXNlO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTt9LlJlYWN0VGFibGUgLi1wYWdpbmF0aW9uIC4tYnRuW2Rpc2FibGVkXXtvcGFjaXR5Oi41O2N1cnNvcjpkZWZhdWx0fS5SZWFjdFRhYmxlIC4tcGFnaW5hdGlvbiAuLWJ0bjpub3QoW2Rpc2FibGVkXSk6aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7Y29sb3I6I2ZmZn0uUmVhY3RUYWJsZSAuLXBhZ2luYXRpb24gLi1wcmV2aW91cywuUmVhY3RUYWJsZSAuLXBhZ2luYXRpb24gLi1uZXh0ey13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MTt0ZXh0LWFsaWduOmNlbnRlcn0uUmVhY3RUYWJsZSAuLXBhZ2luYXRpb24gLi1jZW50ZXJ7LXdlYmtpdC1ib3gtZmxleDoxLjU7LW1zLWZsZXg6MS41O2ZsZXg6MS41O3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi1ib3R0b206MDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LXBhY2s6ZGlzdHJpYnV0ZTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kfS5SZWFjdFRhYmxlIC4tcGFnaW5hdGlvbiAuLXBhZ2VJbmZve2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjozcHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXB9LlJlYWN0VGFibGUgLi1wYWdpbmF0aW9uIC4tcGFnZUp1bXB7ZGlzcGxheTppbmxpbmUtYmxvY2s7fS5SZWFjdFRhYmxlIC4tcGFnaW5hdGlvbiAuLXBhZ2VKdW1wIGlucHV0e3dpZHRoOjcwcHg7dGV4dC1hbGlnbjpjZW50ZXJ9LlJlYWN0VGFibGUgLi1wYWdpbmF0aW9uIC4tcGFnZVNpemVPcHRpb25ze21hcmdpbjozcHggMTBweH0uUmVhY3RUYWJsZSAucnQtbm9EYXRhe2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuOCk7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2U7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7cGFkZGluZzoyMHB4O2NvbG9yOnJnYmEoMCwwLDAsMC41KX0uUmVhY3RUYWJsZSAuLWxvYWRpbmd7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDt0b3A6MDtib3R0b206MDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC44KTt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZTt6LWluZGV4Oi0xO29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO30uUmVhY3RUYWJsZSAuLWxvYWRpbmcgPiBkaXZ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlO3RvcDo1MCU7bGVmdDowO2ZvbnQtc2l6ZToxNXB4O2NvbG9yOnJnYmEoMCwwLDAsMC42KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MiUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MiUpO3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjI1LC40NiwuNDUsLjk0KX0uUmVhY3RUYWJsZSAuLWxvYWRpbmcuLWFjdGl2ZXtvcGFjaXR5OjE7ei1pbmRleDoyO3BvaW50ZXItZXZlbnRzOmFsbDt9LlJlYWN0VGFibGUgLi1sb2FkaW5nLi1hY3RpdmUgPiBkaXZ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSl9LlJlYWN0VGFibGUgLnJ0LXJlc2l6aW5nIC5ydC10aCwuUmVhY3RUYWJsZSAucnQtcmVzaXppbmcgLnJ0LXRke3RyYW5zaXRpb246bm9uZSAhaW1wb3J0YW50O2N1cnNvcjpjb2wtcmVzaXplOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0iXSwibmFtZXMiOltdLCJt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QUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUcsQUFBRCxBQUFBLFdBQVcsQ0FBQyxTQUFTLEFBQUEsY0FBYyxBQUFBLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFFLEFBQUQsQUFBQSxXQUFXLENBQUMsU0FBUyxBQUFBLFNBQVMsQUFBQSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFHLEFBQUQsQUFBQSxXQUFXLENBQUMsU0FBUyxBQUFBLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQUFBQSxTQUFTLENBQUMsTUFBTSxBQUFBLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFFLEFBQUQsQUFBQSxXQUFXLENBQUMsU0FBUyxBQUFBLFNBQVMsQ0FBQyxNQUFNLEFBQUEsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBRSxBQUFELEFBQUEsV0FBVyxDQUFDLFNBQVMsQUFBQSxRQUFRLEFBQUEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFFLEFBQUQsQUFBQSxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQUFBQSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUUsQUFBRCxBQUFBLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxBQUFBLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxD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 */ +.rw-btn::-moz-focus-inner { + padding: 0; + border: 0 +} + +select.rw-input, +select.rw-dropdown-list-autofill, +select.rw-filter-input { + text-transform: none +} + +html input[type="button"].rw-input, +html input.rw-dropdown-list-autofill[type="button"], +html input.rw-filter-input[type="button"] { + -webkit-appearance: button; + cursor: pointer +} + +textarea.rw-input, +textarea.rw-dropdown-list-autofill, +textarea.rw-filter-input { + overflow: auto; + resize: vertical +} + +button[disabled].rw-input, +button.rw-dropdown-list-autofill[disabled], +button.rw-filter-input[disabled], +fieldset[disabled] .rw-input, +fieldset[disabled] .rw-dropdown-list-autofill, +fieldset[disabled] .rw-filter-input, +html input[disabled].rw-input, +html input.rw-dropdown-list-autofill[disabled], +html input.rw-filter-input[disabled] { + cursor: not-allowed +} + +button.rw-input::-moz-focus-inner, +button.rw-dropdown-list-autofill::-moz-focus-inner, +button.rw-filter-input::-moz-focus-inner, +input.rw-input::-moz-focus-inner, +input.rw-dropdown-list-autofill::-moz-focus-inner, +input.rw-filter-input::-moz-focus-inner { + border: 0; + padding: 0 +} + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0 +} + +@font-face { + font-family: 'RwWidgets'; + font-weight: normal; + font-style: normal; + src: url("~react-widgets/lib/fonts/rw-widgets.eot?v=4.1.0"); + src: url("~react-widgets/lib/fonts/rw-widgets.eot?#iefix&v=4.1.0") format("embedded-opentype"), url("~react-widgets/lib/fonts/rw-widgets.woff?v=4.1.0") format("woff"), url("~react-widgets/lib/fonts/rw-widgets.ttf?v=4.1.0") format("truetype"), url("~react-widgets/lib/fonts/rw-widgets.svg?v=4.1.0#fontawesomeregular") format("svg") +} + +.rw-i { + display: inline-block; + color: inherit; + font-family: RwWidgets; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased +} + +.rw-i-caret-down:before { + content: '\e803' +} + +.rw-i-caret-up:before { + content: '\e800' +} + +.rw-i-chevron-left:before { + content: '\f104' +} + +.rw-i-chevron-right:before { + content: '\f105' +} + +.rw-i-clock-o:before { + content: '\e805' +} + +.rw-i-calendar:before { + content: '\e804' +} + +.rw-i-search:before { + content: '\e801' +} + +.rw-btn { + position: relative; + color: #333; + display: inline-block; + text-align: center; + vertical-align: middle; + border: 1px solid transparent; + cursor: pointer; + outline: none +} + +.rw-state-readonly .rw-btn, +.rw-state-disabled .rw-btn { + cursor: not-allowed +} + +.rw-btn-select { + opacity: .75; + filter: alpha(opacity=75); + transition: opacity 150ms ease-in +} + +.rw-btn-select:hover, +.rw-state-focus .rw-btn-select, +:hover>.rw-btn-select { + opacity: 1; + filter: alpha(opacity=100) +} + +.rw-btn-primary { + width: 100%; + white-space: normal; + line-height: 2em +} + +.rw-btn-primary:hover { + background-color: #e6e6e6 +} + +.rw-btn-select[disabled], +.rw-btn-primary[disabled], +fieldset[disabled] .rw-btn-select, +fieldset[disabled] .rw-btn-primary { + box-shadow: none; + cursor: not-allowed; + opacity: .65; + filter: alpha(opacity=65); + pointer-events: none +} + +@keyframes react-widgets-autofill-start { + from {} + + to {} +} + +@keyframes react-widgets-autofill-cancel { + from {} + + to {} +} + +.rw-sr { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0 +} + +.rw-widget { + background-clip: border-box; + border: none; + color: #333; + font-size: 1em; + font-family: inherit; + outline: none; + position: relative +} + +.rw-widget, +.rw-widget * { + box-sizing: border-box +} + +.rw-widget:before, +.rw-widget *:before, +.rw-widget:after, +.rw-widget *:after { + box-sizing: border-box +} + +.rw-widget>.rw-widget-container { + width: 100%; + margin: 0 +} + +.rw-widget-container { + background-color: #fff; + border: #ccc 1px solid; + border-radius: 4px +} + +.rw-widget-container.rw-state-focus, +.rw-widget-container.rw-state-focus:hover, +.rw-state-focus>.rw-widget-container, +.rw-state-focus>.rw-widget-container:hover { + background-color: #fff; + border-color: #66afe9; + box-shadow: 0 0 8px rgba(102, 175, 233, 0.6) +} + +.rw-widget-container.rw-state-readonly, +.rw-state-readonly>.rw-widget-container { + cursor: not-allowed +} + +.rw-widget-container.rw-state-disabled, +.rw-widget-container.rw-state-disabled:hover, +.rw-widget-container.rw-state-disabled:active, +.rw-state-disabled>.rw-widget-container, +.rw-state-disabled>.rw-widget-container:hover, +.rw-state-disabled>.rw-widget-container:active, +fieldset[disabled] .rw-widget-container, +fieldset[disabled] .rw-widget-container:hover, +fieldset[disabled] .rw-widget-container:active { + box-shadow: none; + box-shadow: none; + cursor: not-allowed +} + +.rw-widget-picker { + position: relative; + overflow: hidden; + border-collapse: separate; + display: inline-table; + height: 2.429em +} + +.rw-widget-picker>* { + position: relative; + border: none; + outline: none; + width: 100%; + height: 100%; + display: table-cell +} + +.rw-widget-picker>.rw-select { + width: 1%; + white-space: nowrap +} + +.rw-open>.rw-widget-picker { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0 +} + +.rw-open-up>.rw-widget-picker { + border-top-right-radius: 0; + border-top-left-radius: 0 +} + +fieldset[disabled] .rw-widget-picker, +.rw-state-disabled>.rw-widget-picker { + background-color: #eee +} + +.rw-select { + cursor: pointer +} + +.rw-select>* { + width: 1.9em; + height: 100% +} + +.rw-state-readonly .rw-select, +.rw-state-disabled .rw-select { + cursor: not-allowed +} + +.rw-select-bordered { + cursor: pointer; + border: none; + border-left: #ccc 1px solid +} + +.rw-select-bordered:hover, +.rw-select-bordered:active { + background-color: #e6e6e6 +} + +.rw-select-bordered:active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) +} + +.rw-state-disabled .rw-select-bordered, +.rw-state-disabled .rw-select-bordered:hover, +.rw-state-disabled .rw-select-bordered:active, +.rw-state-readonly .rw-select-bordered, +.rw-state-readonly .rw-select-bordered:hover, +.rw-state-readonly .rw-select-bordered:active, +fieldset[disabled] .rw-select-bordered, +fieldset[disabled] .rw-select-bordered:hover, +fieldset[disabled] .rw-select-bordered:active { + cursor: not-allowed; + background-color: inherit; + background-image: none; + box-shadow: none +} + +.rw-rtl .rw-select-bordered { + border-right: #ccc 1px solid; + border-left: none +} + +.rw-rtl { + direction: rtl +} + +.rw-input-reset, +.rw-input, +.rw-dropdown-list-autofill, +.rw-filter-input { + outline: 0 +} + +.rw-input-reset::-moz-placeholder, +.rw-input::-moz-placeholder, +.rw-dropdown-list-autofill::-moz-placeholder, +.rw-filter-input::-moz-placeholder { + color: #999; + opacity: 1 +} + +.rw-input-reset:-ms-input-placeholder, +.rw-input:-ms-input-placeholder, +.rw-dropdown-list-autofill:-ms-input-placeholder, +.rw-filter-input:-ms-input-placeholder { + color: #999 +} + +.rw-input-reset::-webkit-input-placeholder, +.rw-input::-webkit-input-placeholder, +.rw-dropdown-list-autofill::-webkit-input-placeholder, +.rw-filter-input::-webkit-input-placeholder { + color: #999 +} + +.rw-input, +.rw-dropdown-list-autofill, +.rw-filter-input { + color: #555; + padding: 0 .857em; + background-color: #fff +} + +.rw-input[type='text']::-ms-clear, +.rw-dropdown-list-autofill[type='text']::-ms-clear, +.rw-filter-input[type='text']::-ms-clear { + display: none +} + +.rw-input[disabled], +.rw-dropdown-list-autofill[disabled], +.rw-filter-input[disabled], +fieldset[disabled] .rw-input, +fieldset[disabled] .rw-dropdown-list-autofill, +fieldset[disabled] .rw-filter-input { + box-shadow: none; + cursor: not-allowed; + opacity: 1; + background-color: #eee; + border-color: #ccc +} + +.rw-input[readonly], +.rw-dropdown-list-autofill[readonly], +.rw-filter-input[readonly] { + cursor: not-allowed +} + +.rw-i.rw-loading { + display: block; + background: url("~react-widgets/lib/img/loading.gif") no-repeat center; + min-width: 16px; + width: 1.9em; + height: 16px +} + +.rw-i.rw-loading:before { + content: '' +} + +.rw-placeholder { + color: #999 +} + +.rw-detect-autofill:-webkit-autofill { + animation-name: react-widgets-autofill-start; + transition: background-color 50000s ease-in-out 0s +} + +.rw-detect-autofill:not(:-webkit-autofill) { + animation-name: react-widgets-autofill-cancel +} + +.rw-webkit-autofill .rw-widget-container, +.rw-input:-webkit-autofill, +.rw-dropdown-list-autofill:-webkit-autofill, +.rw-filter-input:-webkit-autofill { + background-color: #faffbd !important; + background-image: none !important; + color: #000 !important +} + +.rw-widget-input, +.rw-filter-input { + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075) +} + +.rw-widget-input.rw-state-focus, +.rw-state-focus.rw-filter-input { + box-shadow: 0 0 8px rgba(102, 175, 233, 0.6), inset 0 1px 1px rgba(0, 0, 0, 0.075) +} + +.rw-list { + margin: 0; + padding: 0; + list-style: none; + font-size: 1em; + outline: 0; + overflow: auto; + max-height: 200px +} + +.rw-list-option { + user-select: none; + color: #333; + cursor: pointer; + border: 1px solid transparent +} + +.rw-list-option.rw-state-focus, +.rw-list-option.rw-state-focus:hover { + background-color: rgba(0, 0, 0, 0); + border-color: #66afe9; + color: #333 +} + +.rw-list-option:hover, +.rw-list-option:hover.rw-state-focus { + background-color: #e6e6e6; + border-color: #e6e6e6; + color: #333 +} + +.rw-list-option.rw-state-selected, +.rw-list-option.rw-state-selected:hover { + background-color: #337ab7; + border-color: #337ab7; + color: #fff +} + +fieldset[disabled] .rw-list-option, +.rw-list-option.rw-state-disabled, +.rw-list-option.rw-state-readonly { + box-shadow: none; + cursor: not-allowed; + color: #999; + filter: alpha(opacity=7); + opacity: .7 +} + +fieldset[disabled] .rw-list-option:hover, +.rw-list-option.rw-state-disabled:hover, +.rw-list-option.rw-state-readonly:hover { + background: none; + border-color: transparent +} + +.rw-list-empty, +.rw-list-option, +.rw-list-optgroup { + padding: .143em .75em; + outline: 0 +} + +.rw-list-optgroup { + font-weight: bold; + padding-top: 7px +} + +.rw-list-option-create { + border-top: 1px #ccc solid +} + +.rw-dropdown-list-autofill { + padding: 0 +} + +.rw-dropdown-list-input { + background-color: transparent; + vertical-align: middle; + padding-right: 0 +} + +.rw-dropdown-list-input { + max-width: 1px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden +} + +.rw-rtl .rw-dropdown-list-input { + padding-right: .857em; + padding-left: 0 +} + +.rw-filter-input { + position: relative; + margin: 4px; + padding-right: 0 +} + +.rw-filter-input .rw-rtl { + padding-right: .857em; + padding-left: 0 +} + +.rw-filter-input .rw-select, +.rw-filter-input .rw-btn { + opacity: .75; + filter: alpha(opacity=75); + cursor: text +} + +.rw-filter-input>.rw-select, +.rw-filter-input>.rw-select:active, +.rw-filter-input>.rw-select:hover { + background: none; + cursor: initial; + box-shadow: none +} + +.rw-number-picker .rw-btn { + cursor: pointer; + height: calc(1.2145em - 1px); + margin-top: -1px\9; + height: 1.2145em\9; + line-height: 1.2145em; + line-height: calc(1.2145em - 1px); + display: block; + border: none +} + +.rw-number-picker .rw-btn:hover, +.rw-number-picker .rw-btn:active { + background-color: #e6e6e6 +} + +.rw-number-picker .rw-btn:active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) +} + +.rw-state-disabled .rw-number-picker .rw-btn, +.rw-state-disabled .rw-number-picker .rw-btn:hover, +.rw-state-disabled .rw-number-picker .rw-btn:active, +.rw-state-readonly .rw-number-picker .rw-btn, +.rw-state-readonly .rw-number-picker .rw-btn:hover, +.rw-state-readonly .rw-number-picker .rw-btn:active, +fieldset[disabled] .rw-number-picker .rw-btn, +fieldset[disabled] .rw-number-picker .rw-btn:hover, +fieldset[disabled] .rw-number-picker .rw-btn:active { + cursor: not-allowed; + background-color: inherit; + background-image: none; + box-shadow: none +} + +.rw-number-picker .rw-select { + vertical-align: middle +} + +.rw-number-picker .rw-select, +.rw-number-picker .rw-select:hover, +.rw-number-picker .rw-select:active { + box-shadow: none +} + +.rw-calendar-popup { + right: auto; + min-width: 0; + width: 18em +} + +.rw-calendar { + border-radius: 4px; + background-color: #fff; + border: #ccc 1px solid; + overflow: hidden +} + +.rw-calendar.rw-popup { + border-color: #ccc +} + +.rw-calendar-now { + font-weight: bold +} + +.rw-calendar-btn-left, +.rw-calendar-btn-right { + width: 12.5% +} + +.rw-calendar-btn-view { + width: 75% +} + +.rw-calendar-footer { + border-top: 1px solid #ccc +} + +.rw-calendar-grid { + outline: none; + height: 200 / 14em; + table-layout: fixed; + border-collapse: separate; + border-spacing: 0; + width: 100%; + background-color: #fff +} + +.rw-head-cell { + text-align: center; + border-bottom: 1px solid #ccc; + padding: .25em +} + +.rw-cell { + color: #333; + border-radius: 4px; + cursor: pointer; + line-height: normal; + text-align: center; + border: 1px solid transparent; + padding: .25em +} + +.rw-cell:hover { + background-color: #e6e6e6; + border-color: #e6e6e6; + color: #333 +} + +.rw-cell.rw-state-focus, +.rw-cell.rw-state-focus:hover { + background-color: rgba(0, 0, 0, 0); + border-color: #66afe9; + color: #333 +} + +.rw-cell.rw-state-selected, +.rw-cell.rw-state-selected:hover { + background-color: #337ab7; + border-color: #337ab7; + color: #fff +} + +.rw-cell.rw-state-disabled { + color: #999; + filter: alpha(opacity=7); + opacity: .7 +} + +.rw-cell.rw-state-disabled:hover { + background: none; + border-color: transparent +} + +.rw-calendar-month .rw-cell { + text-align: center +} + +.rw-cell-off-range { + color: #999 +} + +.rw-calendar-transition-group { + position: relative +} + +.rw-calendar-transition { + transition: transform 300ms; + overflow: hidden +} + +.rw-calendar-transition-top { + transform: translateY(-100%) +} + +.rw-calendar-transition-bottom { + transform: translateY(100%) +} + +.rw-calendar-transition-right { + transform: translateX(-100%) +} + +.rw-calendar-transition-left { + transform: translateX(100%) +} + +.rw-calendar-transition-entering.rw-calendar-transition-top, +.rw-calendar-transition-entering.rw-calendar-transition-bottom, +.rw-calendar-transition-entered.rw-calendar-transition-top, +.rw-calendar-transition-entered.rw-calendar-transition-bottom { + transform: translateY(0) +} + +.rw-calendar-transition-entering.rw-calendar-transition-right, +.rw-calendar-transition-entering.rw-calendar-transition-left, +.rw-calendar-transition-entered.rw-calendar-transition-right, +.rw-calendar-transition-entered.rw-calendar-transition-left { + transform: translateX(0) +} + +.rw-calendar-transition-exiting.rw-calendar-transition-top { + transform: translateY(100%) +} + +.rw-calendar-transition-exiting.rw-calendar-transition-bottom { + transform: translateY(-100%) +} + +.rw-calendar-transition-exiting.rw-calendar-transition-right { + transform: translateX(100%) +} + +.rw-calendar-transition-exiting.rw-calendar-transition-left { + transform: translateX(-100%) +} + +.rw-select-list { + overflow: auto; + position: relative +} + +.rw-select-list .rw-list { + max-height: none; + font-size: 1em +} + +.rw-select-list-label { + display: block; + position: relative; + font-weight: normal; + cursor: inherit; + padding-left: 20px; + margin: 0 +} + +.rw-rtl .rw-select-list-label { + padding-left: 0; + padding-right: 20px +} + +input.rw-select-list-input { + position: absolute; + left: 0; + top: 50%; + transform: translateY(-50%); + top: 0.1em /9; + margin: 0; + line-height: normal; + cursor: inherit +} + +.rw-rtl input.rw-select-list-input { + left: auto; + right: 0 +} + +.rw-loading-mask { + content: ''; + background: url("~react-widgets/lib/img/loader-big.gif") no-repeat center; + position: absolute; + background-color: #fff; + border-radius: 4px; + opacity: .7; + filter: alpha(opacity=70); + top: 0; + left: 0; + height: 100%; + width: 100% +} + +.rw-multiselect { + cursor: text +} + +.rw-multiselect .rw-input-reset, +.rw-multiselect .rw-input, +.rw-multiselect .rw-dropdown-list-autofill, +.rw-multiselect .rw-filter-input { + height: calc(2.429em - 2px); + margin-top: -2px\9; + height: 2.429em\9; + border-width: 0; + width: auto; + max-width: 100%; + padding: 0 .857em +} + +.rw-multiselect .rw-select, +.rw-multiselect .rw-select:hover, +.rw-multiselect .rw-select:active { + box-shadow: none; + background: none +} + +.rw-multiselect-taglist { + margin: 0; + padding: 0; + list-style: none; + display: inline; + outline: none +} + +.rw-multiselect-tag { + display: inline-table; + color: inherit; + padding: 0 .35em 0 .35em; + margin-left: calc(.27933em - 1px); + margin-top: .27933em; + margin-top: calc(.27933em - 1px); + height: 1.87033em; + border-radius: 3px; + background-color: #eee; + border: 1px solid #ccc; + cursor: default; + vertical-align: top; + text-align: center; + overflow: hidden; + max-width: 100% +} + +.rw-multiselect-tag>* { + display: table-cell; + vertical-align: middle; + height: 100% +} + +.rw-rtl .rw-multiselect-tag { + margin-left: 0; + margin-right: calc(.27933em - 1px); + padding: 0 .35em 0 .35em +} + +.rw-multiselect-tag.rw-state-focus, +.rw-multiselect-tag.rw-state-focus:hover { + background-color: rgba(0, 0, 0, 0); + border-color: #66afe9; + color: #333 +} + +.rw-multiselect-tag.rw-state-readonly, +.rw-multiselect-tag.rw-state-disabled, +.rw-state-readonly .rw-multiselect-tag, +.rw-state-disabled .rw-multiselect-tag, +fieldset[disabled] .rw-multiselect-tag { + cursor: not-allowed +} + +.rw-multiselect-tag.rw-state-disabled, +.rw-state-disabled .rw-multiselect-tag, +fieldset[disabled] .rw-multiselect-tag { + opacity: .65; + filter: alpha(opacity=65) +} + +fieldset[disabled] .rw-multiselect-tag { + box-shadow: none; + cursor: not-allowed +} + +.rw-multiselect-tag-btn { + color: inherit; + margin-left: 0.25em +} + +.rw-rtl .rw-multiselect-tag-btn { + margin-left: 0; + margin-right: 0.25em +} + +.rw-autocomplete .rw-select { + position: absolute; + display: block; + width: auto; + top: 0; + bottom: 0; + right: 0 +} + +.rw-popup-container { + position: absolute; + z-index: 1005; + top: 100%; + left: -6px; + right: -6px +} + +.rw-popup-container.rw-dropup { + top: auto; + bottom: 100% +} + +.rw-state-focus .rw-popup-container { + z-index: 1006 +} + +.rw-popup-transition { + width: 100%; + margin-bottom: 6px; + padding: 0 6px +} + +.rw-dropup>.rw-popup-transition { + margin-bottom: 0; + margin-top: 6px +} + +.rw-popup { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + box-shadow: 0 5px 6px rgba(0, 0, 0, 0.2); + border: #ccc 1px solid; + background: #fff +} + +.rw-dropup .rw-popup { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + border-top-right-radius: 3px; + border-top-left-radius: 3px; + box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.2) +} + +.rw-popup-transition { + transition: transform 200ms +} + +.rw-popup-transition-entering { + overflow: hidden +} + +.rw-popup-transition-entering .rw-popup-transition { + transform: translateY(0); + transition-timing-function: ease-out +} + +.rw-popup-transition-exiting .rw-popup-transition { + transition-timing-function: ease-in +} + +.rw-popup-transition-exiting, +.rw-popup-transition-exited { + overflow: hidden +} + +.rw-popup-transition-exiting .rw-popup-transition, +.rw-popup-transition-exited .rw-popup-transition { + transform: translateY(-100%) +} + +.rw-popup-transition-exiting.rw-dropup .rw-popup-transition, +.rw-popup-transition-exited.rw-dropup .rw-popup-transition { + transform: translateY(100%) +} + +.rw-popup-transition-exited { + display: none +} + +.rw-state-disabled { + box-shadow: none; + cursor: not-allowed +} + +.rw-multiselect .rw-widget-container input { + padding-top: 0.3em +} + +.rw-multiselect .rw-widget-container .rw-multiselect-tag { + margin-left: 0.857em +} + +.ReactTable { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + border: 1px solid rgba(0, 0, 0, 0.1) +} + +.ReactTable * { + box-sizing: border-box +} + +.ReactTable .rt-table { + -webkit-box-flex: 1; + -ms-flex: auto 1; + flex: auto 1; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; + border-collapse: collapse; + overflow: auto +} + +.ReactTable .rt-thead { + -webkit-box-flex: 1; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} + +.ReactTable .rt-thead.-headerGroups { + background: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.05) +} + +.ReactTable .rt-thead.-filters { + border-bottom: 1px solid rgba(0, 0, 0, 0.05) +} + +.ReactTable .rt-thead.-filters input, +.ReactTable .rt-thead.-filters select { + border: 1px solid rgba(0, 0, 0, 0.1); + background: #fff; + padding: 5px 7px; + font-size: inherit; + border-radius: 3px; + font-weight: normal; + outline: none +} + +.ReactTable .rt-thead.-filters .rt-th { + border-right: 1px solid rgba(0, 0, 0, 0.02) +} + +.ReactTable .rt-thead.-header { + box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.15) +} + +.ReactTable .rt-thead .rt-tr { + text-align: center +} + +.ReactTable .rt-thead .rt-th, +.ReactTable .rt-thead .rt-td { + padding: 5px 5px; + line-height: normal; + position: relative; + border-right: 1px solid rgba(0, 0, 0, 0.05); + transition: box-shadow 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); + box-shadow: inset 0 0 0 0 transparent +} + +.ReactTable .rt-thead .rt-th.-sort-asc, +.ReactTable .rt-thead .rt-td.-sort-asc { + box-shadow: inset 0 3px 0 0 rgba(0, 0, 0, 0.6) +} + +.ReactTable .rt-thead .rt-th.-sort-desc, +.ReactTable .rt-thead .rt-td.-sort-desc { + box-shadow: inset 0 -3px 0 0 rgba(0, 0, 0, 0.6) +} + +.ReactTable .rt-thead .rt-th.-cursor-pointer, +.ReactTable .rt-thead .rt-td.-cursor-pointer { + cursor: pointer +} + +.ReactTable .rt-thead .rt-th:last-child, +.ReactTable .rt-thead .rt-td:last-child { + border-right: 0 +} + +.ReactTable .rt-thead .rt-resizable-header { + overflow: visible +} + +.ReactTable .rt-thead .rt-resizable-header:last-child { + overflow: hidden +} + +.ReactTable .rt-thead .rt-resizable-header-content { + overflow: hidden; + text-overflow: ellipsis +} + +.ReactTable .rt-thead .rt-header-pivot { + border-right-color: #f7f7f7 +} + +.ReactTable .rt-thead .rt-header-pivot:after, +.ReactTable .rt-thead .rt-header-pivot:before { + left: 100%; + top: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none +} + +.ReactTable .rt-thead .rt-header-pivot:after { + border-color: rgba(255, 255, 255, 0); + border-left-color: #fff; + border-width: 8px; + margin-top: -8px +} + +.ReactTable .rt-thead .rt-header-pivot:before { + border-color: rgba(102, 102, 102, 0); + border-left-color: #f7f7f7; + border-width: 10px; + margin-top: -10px +} + +.ReactTable .rt-tbody { + -webkit-box-flex: 99999; + -ms-flex: 99999 1 auto; + flex: 99999 1 auto; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + overflow: auto +} + +.ReactTable .rt-tbody .rt-tr-group { + border-bottom: solid 1px rgba(0, 0, 0, 0.05) +} + +.ReactTable .rt-tbody .rt-tr-group:last-child { + border-bottom: 0 +} + +.ReactTable .rt-tbody .rt-td { + border-right: 1px solid rgba(0, 0, 0, 0.02) +} + +.ReactTable .rt-tbody .rt-td:last-child { + border-right: 0 +} + +.ReactTable .rt-tbody .rt-expandable { + cursor: pointer; + text-overflow: clip +} + +.ReactTable .rt-tr-group { + -webkit-box-flex: 1; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch +} + +.ReactTable .rt-tr { + -webkit-box-flex: 1; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex +} + +.ReactTable .rt-th, +.ReactTable .rt-td { + -webkit-box-flex: 1; + -ms-flex: 1 0 0px; + flex: 1 0 0; + white-space: nowrap; + text-overflow: ellipsis; + padding: 7px 5px; + overflow: hidden; + transition: .3s ease; + transition-property: width, min-width, padding, opacity +} + +.ReactTable .rt-th.-hidden, +.ReactTable .rt-td.-hidden { + width: 0 !important; + min-width: 0 !important; + padding: 0 !important; + border: 0 !important; + opacity: 0 !important +} + +.ReactTable .rt-expander { + display: inline-block; + position: relative; + margin: 0; + color: transparent; + margin: 0 10px +} + +.ReactTable .rt-expander:after { + content: ''; + position: absolute; + width: 0; + height: 0; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%) rotate(-90deg); + transform: translate(-50%, -50%) rotate(-90deg); + border-left: 5.04px solid transparent; + border-right: 5.04px solid transparent; + border-top: 7px solid rgba(0, 0, 0, 0.8); + transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); + cursor: pointer +} + +.ReactTable .rt-expander.-open:after { + -webkit-transform: translate(-50%, -50%) rotate(0); + transform: translate(-50%, -50%) rotate(0) +} + +.ReactTable .rt-resizer { + display: inline-block; + position: absolute; + width: 36px; + top: 0; + bottom: 0; + right: -18px; + cursor: col-resize; + z-index: 10 +} + +.ReactTable .rt-tfoot { + -webkit-box-flex: 1; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15) +} + +.ReactTable .rt-tfoot .rt-td { + border-right: 1px solid rgba(0, 0, 0, 0.05) +} + +.ReactTable .rt-tfoot .rt-td:last-child { + border-right: 0 +} + +.ReactTable.-striped .rt-tr.-odd { + background: rgba(0, 0, 0, 0.03) +} + +.ReactTable.-highlight .rt-tbody .rt-tr:not(.-padRow):hover { + background: rgba(0, 0, 0, 0.05) +} + +.ReactTable .-pagination { + z-index: 1; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 3px; + box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1); + border-top: 2px solid rgba(0, 0, 0, 0.1) +} + +.ReactTable .-pagination input, +.ReactTable .-pagination select { + border: 1px solid rgba(0, 0, 0, 0.1); + background: #fff; + padding: 5px 7px; + font-size: inherit; + border-radius: 3px; + font-weight: normal; + outline: none +} + +.ReactTable .-pagination .-btn { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + display: block; + width: 100%; + height: 100%; + border: 0; + border-radius: 3px; + padding: 6px; + font-size: 1em; + color: rgba(0, 0, 0, 0.6); + background: rgba(0, 0, 0, 0.1); + transition: all .1s ease; + cursor: pointer; + outline: none +} + +.ReactTable .-pagination .-btn[disabled] { + opacity: .5; + cursor: default +} + +.ReactTable .-pagination .-btn:not([disabled]):hover { + background: rgba(0, 0, 0, 0.3); + color: #fff +} + +.ReactTable .-pagination .-previous, +.ReactTable .-pagination .-next { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + text-align: center +} + +.ReactTable .-pagination .-center { + -webkit-box-flex: 1.5; + -ms-flex: 1.5; + flex: 1.5; + text-align: center; + margin-bottom: 0; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: distribute; + justify-content: space-around +} + +.ReactTable .-pagination .-pageInfo { + display: inline-block; + margin: 3px 10px; + white-space: nowrap +} + +.ReactTable .-pagination .-pageJump { + display: inline-block +} + +.ReactTable .-pagination .-pageJump input { + width: 70px; + text-align: center +} + +.ReactTable .-pagination .-pageSizeOptions { + margin: 3px 10px +} + +.ReactTable .rt-noData { + display: block; + position: absolute; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + background: rgba(255, 255, 255, 0.8); + transition: all .3s ease; + z-index: 1; + pointer-events: none; + padding: 20px; + color: rgba(0, 0, 0, 0.5) +} + +.ReactTable .-loading { + display: block; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + background: rgba(255, 255, 255, 0.8); + transition: all .3s ease; + z-index: -1; + opacity: 0; + pointer-events: none +} + +.ReactTable .-loading>div { + position: absolute; + display: block; + text-align: center; + width: 100%; + top: 50%; + left: 0; + font-size: 15px; + color: rgba(0, 0, 0, 0.6); + -webkit-transform: translateY(-52%); + transform: translateY(-52%); + transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) +} + +.ReactTable .-loading.-active { + opacity: 1; + z-index: 2; + pointer-events: all +} + +.ReactTable .-loading.-active>div { + -webkit-transform: translateY(50%); + transform: translateY(50%) +} + +.ReactTable .rt-resizing .rt-th, +.ReactTable .rt-resizing .rt-td { + transition: none !important; + cursor: col-resize; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} + */ diff --git a/src/client/src/components/App/App.js b/src/client/src/components/App/App.js index 6ae2f5523..6d7a890df 100644 --- a/src/client/src/components/App/App.js +++ b/src/client/src/components/App/App.js @@ -3,9 +3,16 @@ import "./app.scss"; import { ApolloProvider } from "@apollo/client"; import { createBrowserHistory } from "history"; import PiwikReactRouter from "piwik-react-router"; +import PropTypes from "prop-types"; import React from "react"; import { Provider } from "react-redux"; -import { Redirect, Route, Router, Switch } from "react-router-dom"; +import { + BrowserRouter, + Navigate, + Route, + Routes, + useParams, +} from "react-router-dom"; import { PersistGate } from "redux-persist/lib/integration/react"; import { Error403, Error404 } from "../../components/Errors"; @@ -16,12 +23,13 @@ import ListEtablissements from "../../containers/Enterprise/ListEtablissements.j import Login from "../../containers/Login"; import PublicPage from "../../containers/PublicPage"; import Search from "../../containers/Search"; -// import UnsubscribePage from "../../containers/UnsubscribePage"; -import SetMatomo from "../../helpers/Matomo/SetMatomo"; +import SetMatomo from "../../helpers/Matomo/SetMatomo.js"; +import Auth from "../../services/Auth/Auth.js"; import Config from "../../services/Config"; import { apolloClient } from "../../services/GraphQL/GraphQL"; -import PrivateRoute from "../../services/PrivateRoute"; +import CustomLayout from "../../services/PrivateRoute/CustomLayout.jsx"; import configureStore from "../../services/Store"; +import { getSirenFromSiret } from "../../utils/establishment/establishment.js"; import HomePage from "../HomePage"; import Maintenance from "../Maintenance"; import Statistics from "../PublicPage/Statistics"; @@ -30,202 +38,261 @@ import Layout from "./Layout"; import ScrollToTop from "./ScrollToTop"; const { store, persistor } = configureStore(); + const history = createBrowserHistory(); const isActiveMaintenanceMode = Config.get("maintenanceMode"); const matomoConfig = Config.get("matomo"); -const getHistory = (matomoConfig) => { - if (!matomoConfig) { - return createBrowserHistory(); +const setupMatomo = (history, matomoConfig) => { + if (matomoConfig) { + const piwik = PiwikReactRouter(matomoConfig); + piwik.connectToHistory(history, SetMatomo(matomoConfig)); } - - const piwik = PiwikReactRouter(matomoConfig); - return piwik.connectToHistory(history, SetMatomo(matomoConfig)); +}; +const ProtectedRoute = ({ children, redirectTo = "/login" }) => { + const auth = Auth.isLogged(); + return auth ? children : ; +}; +ProtectedRoute.propTypes = { + children: PropTypes.node.isRequired, + redirectTo: PropTypes.string.isRequired, }; const App = () => { + setupMatomo(history, matomoConfig); + return ( - +
- - - {/* ( - - - - )} - /> */} - - - {isActiveMaintenanceMode ? ( - - ) : ( - - - - - - - ( - - - - )} - /> - - ( - - - - )} - /> - - ( - - - - )} - /> - - ( - - - - )} - /> - ( - - - - )} - /> - ( - - - - )} - /> - ( - - - - )} - /> - ( - - - - )} - /> - ( - - - - )} - /> - ( - - - - )} - /> - ( - - - - )} - /> - ( - - - - )} - /> - - - )} - - - - + + {isActiveMaintenanceMode ? ( + } /> + ) : ( + <> + + + + + + + + } + /> + + + + + + + + } + /> + + + + } + /> + + + + } + /> + + + + } + /> + + + + + + } + /> + + + + + + } + /> + + + + + + } + /> + + + + + + } + /> + + + + + + } + /> + + + + + + } + /> + + + + + + } + /> + + + + + + } + /> + + + + + + } + /> + + + + + + } + /> + + + + + + } + /> + + + + + + } + /> + } /> + + )} +
-
+
); }; +const EnterpriseWrapper = () => { + const { siren } = useParams(); + const siret = getSirenFromSiret(siren); + return ( + + + + + + + + ); +}; + +const EstablishmentWrapper = () => { + const { siret } = useParams(); + const siren = getSirenFromSiret(siret); + return ( + + + + + + + + ); +}; + +const ListEstablishmentsWrapper = () => { + const { siren } = useParams(); + return ( + + + + + + + + ); +}; + export default App; diff --git a/src/client/src/components/App/Footer/Footer.js b/src/client/src/components/App/Footer/Footer.js index 18af53efc..c8242cec3 100644 --- a/src/client/src/components/App/Footer/Footer.js +++ b/src/client/src/components/App/Footer/Footer.js @@ -9,7 +9,6 @@ import HeaderLogo from "../Logo/Logo.jsx"; const Footer = () => { const [communicationKitLink, setCommunicationKitLink] = useState(null); - useEffect(() => { const fetchCommunicationKitUrl = () => { fetch(`${Config.get("strapi.domain")}/kit-de-communication`) diff --git a/src/client/src/components/App/Header/Header.js b/src/client/src/components/App/Header/Header.js index d7f7ca56d..47693cbab 100644 --- a/src/client/src/components/App/Header/Header.js +++ b/src/client/src/components/App/Header/Header.js @@ -3,7 +3,6 @@ import "./header.scss"; import PropTypes from "prop-types"; import React from "react"; import { connect } from "react-redux"; -import { withRouter } from "react-router"; import { Link } from "react-router-dom"; import LogoFCE from "../../../assets/img/FCE.svg"; @@ -57,7 +56,7 @@ const Header = ({ resetSearch, hasSharedButton = false }) => {
- +
@@ -84,4 +83,4 @@ Header.propTypes = { resetSearch: PropTypes.func, }; -export default withRouter(connect(null, mapDispatchToProps)(Header)); +export default connect(null, mapDispatchToProps)(Header); diff --git a/src/client/src/components/App/ScrollToTop.js b/src/client/src/components/App/ScrollToTop.js index c4ae09aa2..e9a94115d 100644 --- a/src/client/src/components/App/ScrollToTop.js +++ b/src/client/src/components/App/ScrollToTop.js @@ -1,13 +1,19 @@ -import { useEffect } from "react"; -import { withRouter } from "react-router"; +import PropTypes from "prop-types"; +import React, { useEffect } from "react"; +import { useLocation } from "react-router-dom"; + +const ScrollToTop = ({ children }) => { + const location = useLocation(); -const ScrollToTop = ({ location, children }) => { - const pathname = location.pathname; useEffect(() => { window.scrollTo(0, 0); - }, [pathname]); + }, [location]); + + return <>{children}; +}; - return children; +ScrollToTop.propTypes = { + children: PropTypes.node.isRequired, }; -export default withRouter(ScrollToTop); +export default ScrollToTop; diff --git a/src/client/src/components/DataSheets/Sections/Enterprise/Header/EnterpriseHeader.js b/src/client/src/components/DataSheets/Sections/Enterprise/Header/EnterpriseHeader.js index 4e16720c3..6d5e11984 100644 --- a/src/client/src/components/DataSheets/Sections/Enterprise/Header/EnterpriseHeader.js +++ b/src/client/src/components/DataSheets/Sections/Enterprise/Header/EnterpriseHeader.js @@ -2,7 +2,6 @@ import PropTypes from "prop-types"; import React from "react"; import { Helmet } from "react-helmet"; import { connect } from "react-redux"; -import { withRouter } from "react-router-dom"; import { resetSearch, @@ -62,7 +61,6 @@ const EnterpriseHeader = ({ enterprise }) => { EnterpriseHeader.propTypes = { enterprise: PropTypes.object.isRequired, - history: PropTypes.object.isRequired, }; const mapDispatchToProps = (dispatch) => { @@ -79,4 +77,4 @@ const mapDispatchToProps = (dispatch) => { }; }; -export default withRouter(connect(null, mapDispatchToProps)(EnterpriseHeader)); +export default connect(null, mapDispatchToProps)(EnterpriseHeader); diff --git a/src/client/src/components/DataSheets/Sections/Enterprise/Infos/EnterpriseInfos.js b/src/client/src/components/DataSheets/Sections/Enterprise/Infos/EnterpriseInfos.js index f8446f661..f7ce899c2 100644 --- a/src/client/src/components/DataSheets/Sections/Enterprise/Infos/EnterpriseInfos.js +++ b/src/client/src/components/DataSheets/Sections/Enterprise/Infos/EnterpriseInfos.js @@ -1,7 +1,7 @@ import { merge } from "lodash"; import PropTypes from "prop-types"; import React, { useEffect, useMemo, useState } from "react"; -import { useLocation } from "react-router"; +import { useLocation } from "react-router-dom"; import Association from "../../../../../containers/Association/Association"; import { formatSiret, formatTva } from "../../../../../helpers/utils"; @@ -235,7 +235,7 @@ const EnterpriseInfos = ({ enterprise: baseEntreprise }) => { subtitle="Mandataires sociaux" sourceCustom="Infogreffe - RCS" > - + {mandataires && } )} diff --git a/src/client/src/components/DataSheets/Sections/Establishment/Activity/Activite.js b/src/client/src/components/DataSheets/Sections/Establishment/Activity/Activite.js index 135882f2c..cbc6b056b 100644 --- a/src/client/src/components/DataSheets/Sections/Establishment/Activity/Activite.js +++ b/src/client/src/components/DataSheets/Sections/Establishment/Activity/Activite.js @@ -3,7 +3,7 @@ import "./establishmentActivity.scss"; import PropTypes from "prop-types"; import React, { useState } from "react"; -import { renderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; +import { useRenderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; import LoadableContent from "../../../../shared/LoadableContent/LoadableContent"; import BlocTitle from "../../SharedComponents/BlocTitle/BlocTitle.jsx"; import Subcategory from "../../SharedComponents/Subcategory"; @@ -19,6 +19,14 @@ const Activite = ({ siret }) => { const { loading, data, error } = useSuccessionData(siret); const [accordionOpen, setAccordionOpen] = useState(true); + const shouldNotRender = useRenderIfSiret({ + siret, + }); + + if (error || loading || shouldNotRender) { + return null; + } + return (
{ { mois: "desc" }, START_DATE ); + const shouldNotRender = useRenderIfSiret({ siret }); + + if (error || loading || shouldNotRender) { + return null; + } if (!effectifs || effectifs.length == 0) { return ( @@ -184,4 +189,4 @@ EffectifsDsn.propTypes = { siret: PropTypes.string.isRequired, }; -export default renderIfSiret(EffectifsDsn); +export default EffectifsDsn; diff --git a/src/client/src/components/DataSheets/Sections/Establishment/Activity/EffectifsEtp.js b/src/client/src/components/DataSheets/Sections/Establishment/Activity/EffectifsEtp.js index b637a8e74..bf4f4928a 100644 --- a/src/client/src/components/DataSheets/Sections/Establishment/Activity/EffectifsEtp.js +++ b/src/client/src/components/DataSheets/Sections/Establishment/Activity/EffectifsEtp.js @@ -10,7 +10,7 @@ import { getDateYear, setYearMonthFormat, } from "../../../../../helpers/Date"; -import { renderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; +import { useRenderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; import LoadableContent from "../../../../shared/LoadableContent/LoadableContent"; import Value from "../../../../shared/Value"; import Data from "../../SharedComponents/Data"; @@ -38,6 +38,13 @@ const EffectifsEtp = ({ siret }) => { { periode_concerne: "desc" }, start_date ); + const shouldNotRender = useRenderIfSiret({ + siret, + }); + + if (error || loading || shouldNotRender) { + return null; + } const handleChange = (event) => { setDisplayTable(event.target.checked); }; @@ -153,4 +160,4 @@ EffectifsEtp.propTypes = { siret: PropTypes.string.isRequired, }; -export default renderIfSiret(EffectifsEtp); +export default EffectifsEtp; diff --git a/src/client/src/components/DataSheets/Sections/Establishment/Activity/EffectifsGraph.js b/src/client/src/components/DataSheets/Sections/Establishment/Activity/EffectifsGraph.js index 0ea2c3eb7..6010741bd 100644 --- a/src/client/src/components/DataSheets/Sections/Establishment/Activity/EffectifsGraph.js +++ b/src/client/src/components/DataSheets/Sections/Establishment/Activity/EffectifsGraph.js @@ -10,7 +10,7 @@ import { getStartDateEtp, setYearMonthFormat, } from "../../../../../helpers/Date"; -import { renderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; +import { useRenderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; import EllipseIcon from "../../../../shared/Icons/EllipseIcon.jsx"; import LoadableContent from "../../../../shared/LoadableContent/LoadableContent"; import { useDsnEffectif } from "./EffectifsDsn.gql"; @@ -290,6 +290,11 @@ const EffectifGraph = ({ label: "total", }, ]; + const shouldNotRender = useRenderIfSiret({ siret }); + + if (shouldNotRender) { + return null; + } return (
@@ -359,4 +364,4 @@ EffectifGraph.propTypes = { siret: PropTypes.string.isRequired, }; -export default renderIfSiret(EffectifGraph); +export default EffectifGraph; diff --git a/src/client/src/components/DataSheets/Sections/Establishment/Agreements/Agrements.js b/src/client/src/components/DataSheets/Sections/Establishment/Agreements/Agrements.js index 48e5eab89..61a806c52 100644 --- a/src/client/src/components/DataSheets/Sections/Establishment/Agreements/Agrements.js +++ b/src/client/src/components/DataSheets/Sections/Establishment/Agreements/Agrements.js @@ -26,7 +26,7 @@ const Agrements = ({ siret }) => { }; Agrements.propTypes = { - siret: PropTypes.object.isRequired, + siret: PropTypes.string.isRequired, }; export default Agrements; diff --git a/src/client/src/components/DataSheets/Sections/Establishment/Agreements/OrganismeFormation.js b/src/client/src/components/DataSheets/Sections/Establishment/Agreements/OrganismeFormation.js index 037bb31db..742d27a33 100644 --- a/src/client/src/components/DataSheets/Sections/Establishment/Agreements/OrganismeFormation.js +++ b/src/client/src/components/DataSheets/Sections/Establishment/Agreements/OrganismeFormation.js @@ -1,7 +1,7 @@ import * as PropTypes from "prop-types"; import React, { useState } from "react"; -import { renderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; +import { useRenderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; import { useOrganismeFormationBySiret } from "../../../../../services/OrganismeFormation/hooks"; import { isOrganismeFormation } from "../../../../../utils/organisme-formation/organisme-formation"; import ButtonLink from "../../../../shared/Button/ButtonLink"; @@ -18,6 +18,13 @@ import OrganismeFormationTypes from "./OrganismeFormationTypes"; const OrganismeFormation = ({ siret }) => { const { loading, error, data } = useOrganismeFormationBySiret(siret); const [showMore, setShowMore] = useState(false); + const shouldNotRender = useRenderIfSiret({ + siret, + }); + + if (error || loading || shouldNotRender) { + return null; + } return ( @@ -68,4 +75,4 @@ OrganismeFormation.propTypes = { siret: PropTypes.string.isRequired, }; -export default renderIfSiret(OrganismeFormation); +export default OrganismeFormation; diff --git a/src/client/src/components/DataSheets/Sections/Establishment/Dashboard/Dashboard.js b/src/client/src/components/DataSheets/Sections/Establishment/Dashboard/Dashboard.js index 91d9d934f..985d1b97e 100644 --- a/src/client/src/components/DataSheets/Sections/Establishment/Dashboard/Dashboard.js +++ b/src/client/src/components/DataSheets/Sections/Establishment/Dashboard/Dashboard.js @@ -12,9 +12,8 @@ import { } from "lodash/fp"; import PropTypes from "prop-types"; import React from "react"; -import { connect } from "react-redux"; -import { renderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; +import { useRenderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; import { getLatestInteraction, normalizeInteractions3E, @@ -91,7 +90,11 @@ const Dashboard = ({ siret }) => { const { data } = useDashboardData(siret); const { data: effectif, loading: effectifLoading } = useEffectif(siret); + const shouldNotRender = useRenderIfSiret({ siret }); + if (shouldNotRender) { + return null; + } const hasInteractions = dataHasInteractions(data); const activity = { @@ -194,14 +197,7 @@ const Dashboard = ({ siret }) => { }; Dashboard.propTypes = { - psi: PropTypes.object.isRequired, siret: PropTypes.string.isRequired, }; -const mapStateToProps = (state) => { - return { - psi: state.psi, - }; -}; - -export default renderIfSiret(connect(mapStateToProps, null)(Dashboard)); +export default Dashboard; diff --git a/src/client/src/components/DataSheets/Sections/Establishment/Direccte/Controles.js b/src/client/src/components/DataSheets/Sections/Establishment/Direccte/Controles.js index a87a57a8d..161a2d4db 100644 --- a/src/client/src/components/DataSheets/Sections/Establishment/Direccte/Controles.js +++ b/src/client/src/components/DataSheets/Sections/Establishment/Direccte/Controles.js @@ -5,7 +5,7 @@ import PropTypes from "prop-types"; import React, { useState } from "react"; import Source from "../../../../../containers/Source"; -import { renderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; +import { useRenderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; import { getControlLabel, getInteractionSource, @@ -22,10 +22,11 @@ const Controles = ({ siret }) => { const { loading, data: interactions, error } = useControles(siret); const [accordionOpen, setAccordionOpen] = useState(true); - if (loading || error) { + const shouldNotRender = useRenderIfSiret({ siret }); + + if (error || loading || shouldNotRender) { return null; } - const normalizedInteractions = mapValues(interactions, getLatestInteraction); return ( @@ -117,4 +118,4 @@ const Controles = ({ siret }) => { Controles.propTypes = { siret: PropTypes.string.isRequired, }; -export default renderIfSiret(Controles); +export default Controles; diff --git a/src/client/src/components/DataSheets/Sections/Establishment/Establishment.js b/src/client/src/components/DataSheets/Sections/Establishment/Establishment.js index 975eaefcb..527c6f062 100644 --- a/src/client/src/components/DataSheets/Sections/Establishment/Establishment.js +++ b/src/client/src/components/DataSheets/Sections/Establishment/Establishment.js @@ -4,7 +4,7 @@ import PropTypes from "prop-types"; import React from "react"; import { useLocation } from "react-router-dom"; -import { renderIfSiret } from "../../../../helpers/hoc/renderIfSiret"; +import { useRenderIfSiret } from "../../../../helpers/hoc/renderIfSiret"; import { useScrollToLocationHash } from "../../../../helpers/hooks/useScrollToLocationHash"; import { getSirenFromSiret } from "../../../../utils/establishment/establishment"; import ScrollToTopButton from "../SharedComponents/ScrollToTopButton/ScrollToTopButton.jsx"; @@ -18,14 +18,18 @@ import Muteco from "./Muteco"; import Relationship from "./Relationship"; const Establishment = ({ siret }) => { + const shouldNotRender = useRenderIfSiret({ siret }); const location = useLocation(); useScrollToLocationHash({ location }); + if (shouldNotRender) { + return null; + } const siren = getSirenFromSiret(siret); return (
-
+ {siren &&
}
@@ -33,7 +37,9 @@ const Establishment = ({ siret }) => { - + {siren && ( + + )}{" "}
@@ -42,7 +48,6 @@ const Establishment = ({ siret }) => { Establishment.propTypes = { siret: PropTypes.string.isRequired, - successions: PropTypes.object.isRequired, }; -export default React.memo(renderIfSiret(Establishment)); +export default React.memo(Establishment); diff --git a/src/client/src/components/DataSheets/Sections/Establishment/Header/EntrepriseName.js b/src/client/src/components/DataSheets/Sections/Establishment/Header/EntrepriseName.js index 3efc2c07b..41318011b 100644 --- a/src/client/src/components/DataSheets/Sections/Establishment/Header/EntrepriseName.js +++ b/src/client/src/components/DataSheets/Sections/Establishment/Header/EntrepriseName.js @@ -2,23 +2,25 @@ import PropTypes from "prop-types"; import React from "react"; import { Helmet } from "react-helmet"; -import { renderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; +import { useRenderIfSiret } from "../../../../../helpers/hoc/renderIfSiret"; import Value from "../../../../shared/Value"; import { useRaisonSociale } from "./EntrepriseName.gql"; const EntrepriseName = ({ siret }) => { const { loading, data: raisonSociale, error } = useRaisonSociale(siret); - if (loading || error) { + const shouldNotRender = useRenderIfSiret({ siret }); + + if (error || loading || shouldNotRender) { return null; } return ( <> - FCE - établissement {raisonSociale} + {`FCE - établissement ${raisonSociale}`}

- +

); @@ -28,4 +30,4 @@ EntrepriseName.propTypes = { siret: PropTypes.string.isRequired, }; -export default renderIfSiret(EntrepriseName); +export default EntrepriseName; diff --git a/src/client/src/components/DataSheets/Sections/Establishment/Header/EstablishmentHeader.js b/src/client/src/components/DataSheets/Sections/Establishment/Header/EstablishmentHeader.js index af81aeb71..cbb7f9d45 100644 --- a/src/client/src/components/DataSheets/Sections/Establishment/Header/EstablishmentHeader.js +++ b/src/client/src/components/DataSheets/Sections/Establishment/Header/EstablishmentHeader.js @@ -24,14 +24,16 @@ const EstablishmentHeader = ({ siret, siren }) => { return ( ); diff --git a/src/client/src/components/DataSheets/Sections/Establishment/Header/HeaderInfoBloc.jsx b/src/client/src/components/DataSheets/Sections/Establishment/Header/HeaderInfoBloc.jsx index 6148498a9..7d1601851 100644 --- a/src/client/src/components/DataSheets/Sections/Establishment/Header/HeaderInfoBloc.jsx +++ b/src/client/src/components/DataSheets/Sections/Establishment/Header/HeaderInfoBloc.jsx @@ -176,9 +176,9 @@ function HeaderInfoBloc({ HeaderInfoBloc.propTypes = { adresse: PropTypes.string, code: PropTypes.string, - enterprise: PropTypes.object.isRequired, + enterprise: PropTypes.object, etablissement: PropTypes.object, - etablissementCount: PropTypes.string, + etablissementCount: PropTypes.object, infoBoxValue: PropTypes.string, siret: PropTypes.string, }; diff --git a/src/client/src/components/DataSheets/Sections/Establishment/Helps/Subcategory/Apprentissage.js b/src/client/src/components/DataSheets/Sections/Establishment/Helps/Subcategory/Apprentissage.js index ea13b1aaf..a833fccb1 100644 --- a/src/client/src/components/DataSheets/Sections/Establishment/Helps/Subcategory/Apprentissage.js +++ b/src/client/src/components/DataSheets/Sections/Establishment/Helps/Subcategory/Apprentissage.js @@ -3,7 +3,7 @@ import PropTypes from "prop-types"; import React from "react"; import { getCustomPastYear } from "../../../../../../helpers/Date/Date"; -import { renderIfSiret } from "../../../../../../helpers/hoc/renderIfSiret"; +import { useRenderIfSiret } from "../../../../../../helpers/hoc/renderIfSiret"; import { formatNumber } from "../../../../../../helpers/utils"; import { getBreakCounts, @@ -27,6 +27,11 @@ const displayedYears = LAST_3_YEARS; const Apprentissage = ({ siret }) => { const { loading, data, error } = useApprentissageData(siret); + const shouldNotRender = useRenderIfSiret({ siret }); + + if (error || loading || shouldNotRender) { + return null; + } const minYear = getCustomPastYear(2); const dataAfterMinYear = getDataAfterYear(data || [], minYear); const apprentissagesSignes = getSignCounts(dataAfterMinYear || []); @@ -90,4 +95,4 @@ Apprentissage.propTypes = { siret: PropTypes.string.isRequired, }; -export default renderIfSiret(Apprentissage); +export default Apprentissage; diff --git a/src/client/src/components/DataSheets/Sections/Establishment/Relationship/EstablishmentRelationship.js b/src/client/src/components/DataSheets/Sections/Establishment/Relationship/EstablishmentRelationship.js index 640296352..399d1ede1 100644 --- a/src/client/src/components/DataSheets/Sections/Establishment/Relationship/EstablishmentRelationship.js +++ b/src/client/src/components/DataSheets/Sections/Establishment/Relationship/EstablishmentRelationship.js @@ -1,7 +1,6 @@ import { get } from "lodash"; import PropTypes from "prop-types"; import React, { useState } from "react"; -import { connect } from "react-redux"; import Config from "../../../../../services/Config"; import { @@ -27,7 +26,9 @@ const EstablishmentRelationship = ({ siret }) => { const accords = groupAccordsByType(data || []); const nbAccords = getGroupedAccordsSum(accords); - const lastDate = getGroupedAccordsLastSigning(accords); + const lastDate = getGroupedAccordsLastSigning(accords) + ? getGroupedAccordsLastSigning(accords) + : " "; return (
@@ -117,14 +118,7 @@ const EstablishmentRelationship = ({ siret }) => { }; EstablishmentRelationship.propTypes = { - agreements: PropTypes.object.isRequired, siret: PropTypes.string.isRequired, }; -const mapStateToProps = (state) => { - return { - agreements: state.agreements, - }; -}; - -export default connect(mapStateToProps, null)(EstablishmentRelationship); +export default EstablishmentRelationship; diff --git a/src/client/src/components/DataSheets/Sections/ListEstablishmentsResult/ListEstablishmentsResult.jsx b/src/client/src/components/DataSheets/Sections/ListEstablishmentsResult/ListEstablishmentsResult.jsx index f7ad5f9b2..da42ce380 100644 --- a/src/client/src/components/DataSheets/Sections/ListEstablishmentsResult/ListEstablishmentsResult.jsx +++ b/src/client/src/components/DataSheets/Sections/ListEstablishmentsResult/ListEstablishmentsResult.jsx @@ -1,14 +1,14 @@ import "./ListEstablishmentsResult.scss"; import React from "react"; -import { useLocation } from "react-router"; -import { useScrollToLocationHash } from "../../../../helpers/hooks/useScrollToLocationHash"; +// import { useLocation } from "react-router"; +// import { useScrollToLocationHash } from "../../../../helpers/hooks/useScrollToLocationHash"; import { Establishments } from "./Establishments.jsx"; const ListEstablishmentsResult = () => { - const location = useLocation(); - useScrollToLocationHash({ location }); + // const location = useLocation(); + // useScrollToLocationHash({ location }); return (
diff --git a/src/client/src/components/DataSheets/Sections/SharedComponents/Data/Data.js b/src/client/src/components/DataSheets/Sections/SharedComponents/Data/Data.js index af8ed060c..94be0bf6b 100644 --- a/src/client/src/components/DataSheets/Sections/SharedComponents/Data/Data.js +++ b/src/client/src/components/DataSheets/Sections/SharedComponents/Data/Data.js @@ -109,6 +109,8 @@ Data.propTypes = { PropTypes.number, PropTypes.bool, PropTypes.node, + PropTypes.instanceOf(Date), + PropTypes.oneOf([undefined, null]), ]), }; diff --git a/src/client/src/components/DataSheets/Sections/SharedComponents/EstablishmentTable/EstablishmentTable.jsx b/src/client/src/components/DataSheets/Sections/SharedComponents/EstablishmentTable/EstablishmentTable.jsx index e283ed8f2..d398c221e 100644 --- a/src/client/src/components/DataSheets/Sections/SharedComponents/EstablishmentTable/EstablishmentTable.jsx +++ b/src/client/src/components/DataSheets/Sections/SharedComponents/EstablishmentTable/EstablishmentTable.jsx @@ -1,6 +1,6 @@ import PropTypes from "prop-types"; import React, { useState } from "react"; -import { Link, useHistory } from "react-router-dom"; +import { Link, useNavigate } from "react-router-dom"; import { isActiveEstablishment } from "../../../../../helpers/Search/Search.js"; import { formatSiret } from "../../../../../helpers/utils/format.js"; @@ -17,7 +17,7 @@ import NonBorderedTable from "../NonBorderedTable/NonBorderedTable.js"; import PaginationTable from "../PaginationTable/PaginationTable.jsx"; const EstablishmentTable = ({ etablissements, entreprise }) => { - const history = useHistory(); + const navigate = useNavigate(); const [currentPage, setCurrentPage] = useState(1); const staffSizeRanges = { @@ -61,7 +61,7 @@ const EstablishmentTable = ({ etablissements, entreprise }) => { history.push(`/establishment/${etablissement?.siret}`)} + onClick={() => navigate(`/establishment/${etablissement?.siret}`)} > { const [isVisible, setIsVisible] = useState(false); const handleScroll = () => { - if (window.pageYOffset > 300) { + if (window.scrollY > 300) { setIsVisible(true); } else { setIsVisible(false); diff --git a/src/client/src/components/DataSheets/Sidebar/EstablishmentsItems/EstablishmentsItems.js b/src/client/src/components/DataSheets/Sidebar/EstablishmentsItems/EstablishmentsItems.js index 21c9241c4..123839993 100644 --- a/src/client/src/components/DataSheets/Sidebar/EstablishmentsItems/EstablishmentsItems.js +++ b/src/client/src/components/DataSheets/Sidebar/EstablishmentsItems/EstablishmentsItems.js @@ -1,7 +1,6 @@ import classNames from "classnames"; import PropTypes from "prop-types"; import React from "react"; -import { withRouter } from "react-router"; import { getSiret } from "../../../../utils/establishment/establishment"; import Establishment from "../Establishment"; @@ -39,4 +38,4 @@ EstablishmentsItems.propTypes = { match: PropTypes.object.isRequired, }; -export default withRouter(EstablishmentsItems); +export default EstablishmentsItems; diff --git a/src/client/src/components/DataSheets/Sidebar/Sidebar.js b/src/client/src/components/DataSheets/Sidebar/Sidebar.js index 4ccf0a3ff..b87a04a6b 100644 --- a/src/client/src/components/DataSheets/Sidebar/Sidebar.js +++ b/src/client/src/components/DataSheets/Sidebar/Sidebar.js @@ -1,11 +1,10 @@ import "./sidebar.scss"; import classNames from "classnames"; -import { compose } from "lodash/fp"; import PropTypes from "prop-types"; import React from "react"; import { connect } from "react-redux"; -import { withRouter } from "react-router-dom"; +import { useNavigate } from "react-router-dom"; import { renderIfSiren } from "../../../helpers/hoc/renderIfSiren"; import { @@ -31,10 +30,10 @@ const Sidebar = ({ isEstablishmentDisplayed = false, isEstablishmentsDisplayed = false, isEntrepriseDisplayed = false, - history, onOpenUserFeedbackBox, }) => { const { loading, data: entreprise, error } = useEstablishmentData(); + const navigate = useNavigate(); if (loading || error) { return null; @@ -74,7 +73,7 @@ const Sidebar = ({ ]; const handleOpenUserFeedback = () => { onOpenUserFeedbackBox(); - history.push("#user-feedback"); + navigate.push("#user-feedback"); }; return ( <> @@ -88,7 +87,7 @@ const Sidebar = ({ `${isEntrepriseDisplayed && "active selected-item "}`, ])} onClick={() => { - history.push(`/enterprise/${siren}`); + navigate(`/enterprise/${siren}`); }} > Entreprise @@ -169,7 +168,7 @@ const Sidebar = ({ }`, ])} onClick={() => { - history.push(`/establishment/${headOffice?.siret}`); + navigate(`/establishment/${headOffice?.siret}`); }} > Siège social @@ -214,7 +213,7 @@ const Sidebar = ({ onClick={() => { return !etablissementsCount ? null - : history.push(`/list-establishments/${siren}`); + : navigate(`/list-establishments/${siren}`); }} > {" "} @@ -287,7 +286,6 @@ const mapDispatchToProps = (dispatch) => { }; Sidebar.propTypes = { - history: PropTypes.object.isRequired, isEntrepriseDisplayed: PropTypes.bool, isEstablishmentDisplayed: PropTypes.bool, isEstablishmentsDisplayed: PropTypes.bool, @@ -299,6 +297,6 @@ Sidebar.propTypes = { siret: PropTypes.string, }; -export default React.memo( - compose(withRouter, connect(null, mapDispatchToProps), renderIfSiren)(Sidebar) -); +const ConnectedSidebar = connect(null, mapDispatchToProps)(Sidebar); + +export default React.memo(renderIfSiren(ConnectedSidebar)); diff --git a/src/client/src/components/HomePage/HomePage.js b/src/client/src/components/HomePage/HomePage.js index e3bf4f8c1..7e571a7c4 100644 --- a/src/client/src/components/HomePage/HomePage.js +++ b/src/client/src/components/HomePage/HomePage.js @@ -1,7 +1,7 @@ import "./homePage.scss"; import React, { useEffect, useState } from "react"; -import { Redirect } from "react-router"; +import { Navigate } from "react-router-dom"; import Auth from "../../services/Auth"; import Http from "../../services/Http"; @@ -36,7 +36,7 @@ const HomePage = () => { if (isLogged) return ( - { const { loading, data, error } = useAssociationData(siret); - if (error || loading) { + const shouldNotRender = useRenderIfSiret({ + etablissement: data?.association, + siret, + }); + + if (error || loading || shouldNotRender) { return null; } @@ -38,4 +43,4 @@ Association.propTypes = { siret: PropTypes.string.isRequired, }; -export default renderIfSiret(Association); +export default Association; diff --git a/src/client/src/containers/Enterprise/Enterprise.js b/src/client/src/containers/Enterprise/Enterprise.js index 4a6bf307f..6c941fd10 100644 --- a/src/client/src/containers/Enterprise/Enterprise.js +++ b/src/client/src/containers/Enterprise/Enterprise.js @@ -5,24 +5,20 @@ import { Enterprise } from "../../components/DataSheets"; import LoadableContent from "../../components/shared/LoadableContent/LoadableContent"; import { useEntrepriseBySiren } from "../../services/Entreprise/hooks"; -const EnterpriseContainer = ({ history, siren }) => { +const EnterpriseContainer = ({ siren }) => { const { loading, data, error } = useEntrepriseBySiren(siren); return ( - + {data && ( + + )}{" "} ); }; EnterpriseContainer.propTypes = { - history: PropTypes.object, - siren: PropTypes.string, + siren: PropTypes.string.isRequired, }; export default EnterpriseContainer; diff --git a/src/client/src/containers/Enterprise/Establishment.js b/src/client/src/containers/Enterprise/Establishment.js index cbad24c7f..949059b0f 100644 --- a/src/client/src/containers/Enterprise/Establishment.js +++ b/src/client/src/containers/Enterprise/Establishment.js @@ -3,13 +3,12 @@ import React from "react"; import { Establishment } from "../../components/DataSheets"; -const EstablishementContainer = ({ siret, history }) => { - return ; +const EstablishementContainer = (siret) => { + return ; }; EstablishementContainer.propTypes = { - history: PropTypes.object, - siret: PropTypes.object.isRequired, + siret: PropTypes.string.isRequired, }; export default EstablishementContainer; diff --git a/src/client/src/containers/Enterprise/LegacyEnterprise.js b/src/client/src/containers/Enterprise/LegacyEnterprise.js index dfed19954..079939d99 100644 --- a/src/client/src/containers/Enterprise/LegacyEnterprise.js +++ b/src/client/src/containers/Enterprise/LegacyEnterprise.js @@ -1,18 +1,14 @@ import PropTypes from "prop-types"; import React from "react"; -import { withRouter } from "react-router"; import EnterpriseView from "./Enterprise"; -const LegacyEnterprise = ({ match, history }) => { - const siren = match.params.siren; - - return ; +const LegacyEnterprise = ({ siren }) => { + return ; }; LegacyEnterprise.propTypes = { - history: PropTypes.object.isRequired, - match: PropTypes.object.isRequired, + siren: PropTypes.string.isRequired, }; -export default withRouter(LegacyEnterprise); +export default LegacyEnterprise; diff --git a/src/client/src/containers/Enterprise/LegacyEtablissement.js b/src/client/src/containers/Enterprise/LegacyEtablissement.js index 2d958c1db..9c77aa2e3 100644 --- a/src/client/src/containers/Enterprise/LegacyEtablissement.js +++ b/src/client/src/containers/Enterprise/LegacyEtablissement.js @@ -1,17 +1,14 @@ import PropTypes from "prop-types"; import React from "react"; -import { withRouter } from "react-router"; -import EstablishmentView from "./Establishment"; +import { Establishment } from "../../components/DataSheets"; -const LegacyEnterprise = ({ match, history }) => { - const siret = match.params.siret; - return ; +const LegacyEtablissement = ({ siret }) => { + return ; }; -LegacyEnterprise.propTypes = { - history: PropTypes.object.isRequired, - match: PropTypes.object.isRequired, +LegacyEtablissement.propTypes = { + siret: PropTypes.string.isRequired, }; -export default withRouter(LegacyEnterprise); +export default LegacyEtablissement; diff --git a/src/client/src/containers/Enterprise/ListEtablissements.jsx b/src/client/src/containers/Enterprise/ListEtablissements.jsx index 967fc8198..1d1107eec 100644 --- a/src/client/src/containers/Enterprise/ListEtablissements.jsx +++ b/src/client/src/containers/Enterprise/ListEtablissements.jsx @@ -1,17 +1,14 @@ import PropTypes from "prop-types"; import React from "react"; -import { withRouter } from "react-router"; import ListEstablishmentsResult from "../../components/DataSheets/Sections/ListEstablishmentsResult/ListEstablishmentsResult.jsx"; -const ListEtablissements = ({ match, history }) => { - const siren = match.params.siren; - return ; +const ListEtablissements = ({ siren }) => { + return ; }; ListEtablissements.propTypes = { - history: PropTypes.object.isRequired, - match: PropTypes.object.isRequired, + siren: PropTypes.string.isRequired, }; -export default withRouter(ListEtablissements); +export default ListEtablissements; diff --git a/src/client/src/containers/Login/Login.js b/src/client/src/containers/Login/Login.js index 708dfde93..2c8b49e90 100644 --- a/src/client/src/containers/Login/Login.js +++ b/src/client/src/containers/Login/Login.js @@ -1,12 +1,11 @@ import _get from "lodash.get"; -import PropTypes from "prop-types"; import React, { useEffect, useState } from "react"; -import { withRouter } from "react-router-dom"; +import { useNavigate } from "react-router-dom"; import LoginView from "../../components/Login"; import Auth from "../../services/Auth"; -const Login = ({ history }) => { +const Login = () => { const [step, setStep] = useState("login-form-email"); const [errorMessage, setErrorMessage] = useState(null); const [infoMessage, setInfoMessage] = useState(null); @@ -15,9 +14,10 @@ const Login = ({ history }) => { const [showMailingListSignup, setShowMailingListSignup] = useState(true); const redirectLoginSuccess = "/search"; const isLogged = Auth.isLogged(); + const navigate = useNavigate(); useEffect(() => { - if (isLogged) history.push("/"); + if (isLogged) navigate("/"); }, [isLogged]); const sendCode = (e, email) => { @@ -61,7 +61,7 @@ prendre plusieurs minutes dans certains services.`); throw new Error(_get(response, "data.message")); } - history.push(redirectLoginSuccess); + navigate(redirectLoginSuccess); }) .catch((e) => { const message = _get(e, "response.data.error", e.message); @@ -102,10 +102,4 @@ prendre plusieurs minutes dans certains services.`); ); }; -Login.propTypes = { - history: PropTypes.shape({ - push: PropTypes.func, - }), -}; - -export default withRouter(Login); +export default Login; diff --git a/src/client/src/helpers/hoc/renderIfSiret.js b/src/client/src/helpers/hoc/renderIfSiret.js index b0fcaadef..8b9fb8a10 100644 --- a/src/client/src/helpers/hoc/renderIfSiret.js +++ b/src/client/src/helpers/hoc/renderIfSiret.js @@ -1,5 +1,9 @@ -import { hideIf } from "./hideIf"; +import { branch, renderNothing } from "recompose"; +export const hideIf = (test) => branch(test, renderNothing); export const renderIfSiret = hideIf( ({ etablissement, siret }) => !etablissement?.siret && !siret ); +export const useRenderIfSiret = ({ etablissement, siret }) => { + return !etablissement?.siret && !siret; +}; diff --git a/src/client/src/helpers/hooks/useScrollToLocationHash.js b/src/client/src/helpers/hooks/useScrollToLocationHash.js index 28320b001..bf6b4347e 100644 --- a/src/client/src/helpers/hooks/useScrollToLocationHash.js +++ b/src/client/src/helpers/hooks/useScrollToLocationHash.js @@ -2,12 +2,25 @@ import { useEffect } from "react"; export const useScrollToLocationHash = ({ location, offset = -50 }) => { useEffect(() => { - const scrollTarget = document.getElementById(location.hash.slice(1)); - window.scrollTo({ - behavior: scrollTarget ? "smooth" : "auto", - top: scrollTarget - ? scrollTarget.getBoundingClientRect().top + window.pageYOffset + offset - : 0, - }); - }, [location, location.hash, offset]); + // Function to handle scrolling + const handleScrollToElement = () => { + const elementId = location.hash.slice(1); + const element = document.getElementById(elementId); + + if (element) { + const top = + element.getBoundingClientRect().top + window.scrollY + offset; + window.scrollTo({ + behavior: "smooth", + left: 0, + top, + }); + } + }; + + // Debounce to ensure that DOM is ready in case of dynamic content + const timeoutId = setTimeout(handleScrollToElement, 100); + + return () => clearTimeout(timeoutId); + }, [location.hash, offset]); // Only re-run effect if hash or offset changes }; diff --git a/src/client/src/index.js b/src/client/src/index.js index e88a42ab9..5c06ba07d 100644 --- a/src/client/src/index.js +++ b/src/client/src/index.js @@ -3,7 +3,7 @@ import "./assets/stylesheets/styles.css"; import * as Sentry from "@sentry/browser"; import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import smoothscroll from "smoothscroll-polyfill"; import App from "./components/App"; @@ -13,23 +13,18 @@ smoothscroll.polyfill(); if ("serviceWorker" in navigator) { navigator.serviceWorker.getRegistrations().then((workers) => { - Array.isArray(workers) && - (console.log(`Found ${workers.length} service workers...`) || true) && - workers.forEach( - (worker) => - worker && - worker.unregister && - console.log( - "Removing service worker :", - worker - .unregister() - .then( - (...args) => - document.location.reload(true) && console.log(...args), - console.error - ) && worker - ) - ); + if (Array.isArray(workers)) { + console.log(`Found ${workers.length} service workers...`); + workers.forEach((worker) => { + if (worker && worker.unregister) { + console.log("Removing service worker:", worker); + worker.unregister().then((...args) => { + console.log(...args); + window.location.reload(true); + }, console.error); + } + }); + } }, console.error); } @@ -41,4 +36,9 @@ if (SENTRY_URL) { }); } -ReactDOM.render(, document.getElementById("root")); +// Create the root for rendering +const container = document.getElementById("root"); +const root = createRoot(container); + +// Render the App component +root.render(); diff --git a/src/client/src/services/PrivateRoute/CustomLayout.jsx b/src/client/src/services/PrivateRoute/CustomLayout.jsx index 7086f4092..4fd4ae8d5 100644 --- a/src/client/src/services/PrivateRoute/CustomLayout.jsx +++ b/src/client/src/services/PrivateRoute/CustomLayout.jsx @@ -1,5 +1,6 @@ import PropTypes from "prop-types"; import React from "react"; +import { Outlet } from "react-router-dom"; import { EstablishmentProvider } from "../../components/DataSheets/Sections/SharedComponents/EstablishmentContext.jsx"; import SubHeader from "../../components/DataSheets/Sections/SharedComponents/SubHeader/SubHeader.jsx"; @@ -7,9 +8,9 @@ import Sidebar from "../../components/DataSheets/Sidebar/Sidebar"; import UsersFeedback from "../../containers/UsersFeedback/UsersFeedback.js"; const CustomLayout = ({ - isEstablishmentDisplayed, - isEntrepriseDisplayed, - isEstablishmentsDisplayed, + isEstablishmentDisplayed = false, + isEntrepriseDisplayed = false, + isEstablishmentsDisplayed = false, siren, siret, children, @@ -23,6 +24,13 @@ const CustomLayout = ({ setIsOpenUserFeedback(true); }; + if ( + !isEntrepriseDisplayed && + !isEstablishmentsDisplayed && + !isEstablishmentDisplayed + ) + return null; + return ( <> @@ -51,6 +59,7 @@ const CustomLayout = ({
+ ); @@ -58,10 +67,10 @@ const CustomLayout = ({ CustomLayout.propTypes = { children: PropTypes.node, - isEntrepriseDisplayed: PropTypes.bool.isRequired, - isEstablishmentDisplayed: PropTypes.bool.isRequired, - isEstablishmentsDisplayed: PropTypes.bool.isRequired, - siren: PropTypes.string.isRequired, + isEntrepriseDisplayed: PropTypes.bool, + isEstablishmentDisplayed: PropTypes.bool, + isEstablishmentsDisplayed: PropTypes.bool, + siren: PropTypes.string, siret: PropTypes.string, }; diff --git a/src/client/src/services/PrivateRoute/PrivateRoute.js b/src/client/src/services/PrivateRoute/PrivateRoute.js index fc9fb19e2..d1133dc2a 100644 --- a/src/client/src/services/PrivateRoute/PrivateRoute.js +++ b/src/client/src/services/PrivateRoute/PrivateRoute.js @@ -1,6 +1,6 @@ import PropTypes from "prop-types"; import React from "react"; -import { Redirect, Route, useHistory } from "react-router-dom"; +import { Navigate, Route } from "react-router-dom"; import Layout from "../../components/App/Layout"; import { getSirenFromSiret } from "../../utils/establishment/establishment"; @@ -16,14 +16,14 @@ const PrivateRoute = ({ location, ...rest }) => { - const history = useHistory(); + // const history = useHistory(); const getTempAuthAndRedirect = async (credential, location) => { try { await Auth.tempLogin(credential); - history.push(location.pathname); + redirect(location.pathname); } catch (error) { - history.push("/login"); + redirect("/login"); } }; @@ -67,7 +67,7 @@ const PrivateRoute = ({ )} ) : ( - ) @@ -79,9 +79,9 @@ const PrivateRoute = ({ PrivateRoute.propTypes = { component: PropTypes.elementType, displayMessage: PropTypes.bool, - history: PropTypes.shape({ - push: PropTypes.func, - }), + // history: PropTypes.shape({ + // push: PropTypes.func, + // }), isEntrepriseDisplayed: PropTypes.bool, isEstablishmentDisplayed: PropTypes.bool, isEstablishmentsDisplayed: PropTypes.bool, diff --git a/src/client/yarn.lock b/src/client/yarn.lock index 8a1f0180f..f5f53f9c2 100644 --- a/src/client/yarn.lock +++ b/src/client/yarn.lock @@ -241,7 +241,7 @@ dependencies: "@babel/types" "^7.17.0" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.8.3": +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.8.3": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== @@ -1282,13 +1282,20 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.12.0", "@babel/runtime@^7.18.3": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.5.tgz#230946857c053a36ccc66e1dd03b17dd0c4ed02c" + integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.16.0", "@babel/template@^7.16.7", "@babel/template@^7.3.3", "@babel/template@^7.8.6": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" @@ -1416,82 +1423,93 @@ history "^4.9.0" qs "^6.7.0" -"@emotion/cache@^10.0.27", "@emotion/cache@^10.0.9": - version "10.0.29" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.29.tgz#87e7e64f412c060102d589fe7c6dc042e6f9d1e0" - integrity sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ== +"@emotion/babel-plugin@^11.11.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" + integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== dependencies: - "@emotion/sheet" "0.9.4" - "@emotion/stylis" "0.8.5" - "@emotion/utils" "0.11.3" - "@emotion/weak-memoize" "0.2.5" + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/serialize" "^1.1.2" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.2.0" -"@emotion/core@^10.0.9": - version "10.3.1" - resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.3.1.tgz#4021b6d8b33b3304d48b0bb478485e7d7421c69d" - integrity sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww== +"@emotion/cache@^11.11.0", "@emotion/cache@^11.4.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" + integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== dependencies: - "@babel/runtime" "^7.5.5" - "@emotion/cache" "^10.0.27" - "@emotion/css" "^10.0.27" - "@emotion/serialize" "^0.11.15" - "@emotion/sheet" "0.9.4" - "@emotion/utils" "0.11.3" - -"@emotion/css@^10.0.27", "@emotion/css@^10.0.9": - version "10.0.27" - resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.27.tgz#3a7458198fbbebb53b01b2b87f64e5e21241e14c" - integrity sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw== - dependencies: - "@emotion/serialize" "^0.11.15" - "@emotion/utils" "0.11.3" - babel-plugin-emotion "^10.0.27" - -"@emotion/hash@0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" - integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== - -"@emotion/memoize@0.7.4": - version "0.7.4" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" - integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== + "@emotion/memoize" "^0.8.1" + "@emotion/sheet" "^1.2.2" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + stylis "4.2.0" + +"@emotion/hash@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" + integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== -"@emotion/serialize@^0.11.15", "@emotion/serialize@^0.11.16": - version "0.11.16" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.16.tgz#dee05f9e96ad2fb25a5206b6d759b2d1ed3379ad" - integrity sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg== +"@emotion/memoize@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" + integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== + +"@emotion/react@^11.8.1": + version "11.11.4" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.4.tgz#3a829cac25c1f00e126408fab7f891f00ecc3c1d" + integrity sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/cache" "^11.11.0" + "@emotion/serialize" "^1.1.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.4.tgz#fc8f6d80c492cfa08801d544a05331d1cc7cd451" + integrity sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ== dependencies: - "@emotion/hash" "0.8.0" - "@emotion/memoize" "0.7.4" - "@emotion/unitless" "0.7.5" - "@emotion/utils" "0.11.3" - csstype "^2.5.7" + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/unitless" "^0.8.1" + "@emotion/utils" "^1.2.1" + csstype "^3.0.2" -"@emotion/sheet@0.9.4": - version "0.9.4" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.4.tgz#894374bea39ec30f489bbfc3438192b9774d32e5" - integrity sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA== +"@emotion/sheet@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" + integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== -"@emotion/stylis@0.8.5": - version "0.8.5" - resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" - integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ== +"@emotion/unitless@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" + integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== -"@emotion/unitless@0.7.5": - version "0.7.5" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" - integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== +"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" + integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== -"@emotion/utils@0.11.3": - version "0.11.3" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.3.tgz#a759863867befa7e583400d322652a3f44820924" - integrity sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw== +"@emotion/utils@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" + integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== -"@emotion/weak-memoize@0.2.5": - version "0.2.5" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" - integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== +"@emotion/weak-memoize@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" + integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -1523,6 +1541,26 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@floating-ui/core@^1.0.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.1.tgz#a4e6fef1b069cda533cbc7a4998c083a37f37573" + integrity sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A== + dependencies: + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/dom@^1.0.1": + version "1.6.4" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.4.tgz#3a9d1f3b7ccdab89a4ca05713acc6204b1f67a29" + integrity sha512-0G8R+zOvQsAG1pg2Q99P21jiqxqGBW1iRe/iXHsBRBxnpXKFI8QwbB4x5KmYLggNO5m34IQgOIu9SCRfR/WWiQ== + dependencies: + "@floating-ui/core" "^1.0.0" + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/utils@^0.2.0": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.2.tgz#d8bae93ac8b815b2bd7a98078cf91e2724ef11e5" + integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw== + "@fortawesome/fontawesome-common-types@6.5.2": version "6.5.2" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz#eaf2f5699f73cef198454ebc0c414e3688898179" @@ -1849,6 +1887,11 @@ schema-utils "^3.0.0" source-map "^0.7.3" +"@remix-run/router@1.16.0": + version "1.16.0" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.16.0.tgz#0e10181e5fec1434eb071a9bc4bdaac843f16dcc" + integrity sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q== + "@rollup/plugin-babel@^5.2.0": version "5.3.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" @@ -2361,7 +2404,14 @@ hoist-non-react-statics "^3.3.0" redux "^4.0.0" -"@types/react@*", "@types/react@>=16.9.11": +"@types/react-transition-group@^4.4.0": + version "4.4.10" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.10.tgz#6ee71127bdab1f18f11ad8fb3322c6da27c327ac" + integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q== + dependencies: + "@types/react" "*" + +"@types/react@*": version "17.0.43" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.43.tgz#4adc142887dd4a2601ce730bc56c3436fdb07a55" integrity sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A== @@ -3061,22 +3111,6 @@ babel-plugin-dynamic-import-node@^2.3.3: dependencies: object.assign "^4.1.0" -babel-plugin-emotion@^10.0.27: - version "10.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz#a1fe3503cff80abfd0bdda14abd2e8e57a79d17d" - integrity sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@emotion/hash" "0.8.0" - "@emotion/memoize" "0.7.4" - "@emotion/serialize" "^0.11.16" - babel-plugin-macros "^2.0.0" - babel-plugin-syntax-jsx "^6.18.0" - convert-source-map "^1.5.0" - escape-string-regexp "^1.0.5" - find-root "^1.1.0" - source-map "^0.5.7" - babel-plugin-istanbul@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" @@ -3098,7 +3132,7 @@ babel-plugin-jest-hoist@^27.5.1: "@types/babel__core" "^7.0.0" "@types/babel__traverse" "^7.0.6" -babel-plugin-macros@2.8.0, babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.4.2: +babel-plugin-macros@2.8.0, babel-plugin-macros@^2.4.2: version "2.8.0" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== @@ -3145,11 +3179,6 @@ babel-plugin-polyfill-regenerator@^0.3.0: dependencies: "@babel/helper-define-polyfill-provider" "^0.3.1" -babel-plugin-syntax-jsx@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" - integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= - babel-plugin-transform-react-remove-prop-types@0.4.24, babel-plugin-transform-react-remove-prop-types@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" @@ -3619,11 +3648,6 @@ classnames@2.5.1, classnames@^2.2.5: resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== -classnames@^2.2.6: - version "2.3.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" - integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== - clean-css@^5.2.2: version "5.3.0" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.0.tgz#ad3d8238d5f3549e83d5f87205189494bc7cbb59" @@ -3804,13 +3828,18 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.8.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== dependencies: safe-buffer "~5.1.1" +convert-source-map@^1.5.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -4083,11 +4112,6 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" -csstype@^2.5.7: - version "2.6.20" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.20.tgz#9229c65ea0b260cf4d3d997cb06288e36a8d6dda" - integrity sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA== - csstype@^3.0.2: version "3.0.11" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33" @@ -4107,11 +4131,6 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -date-arithmetic@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/date-arithmetic/-/date-arithmetic-3.1.0.tgz#1fcd03dbd504b9dbee2b9078c85a5f1c7d3cc2d3" - integrity sha1-H80D29UEudvuK5B4yFpfHH08wtM= - date-fns@^1.30.1: version "1.30.1" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" @@ -4330,13 +4349,6 @@ dom-converter@^0.2.0: dependencies: utila "~0.4" -dom-helpers@^3.3.1, dom-helpers@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" - integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== - dependencies: - "@babel/runtime" "^7.1.2" - dom-helpers@^5.0.1: version "5.2.1" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" @@ -5599,7 +5611,7 @@ hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.5: resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== -hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -5854,7 +5866,7 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" -invariant@^2.2.2, invariant@^2.2.4: +invariant@^2.2.2: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -7218,10 +7230,10 @@ memfs@^3.1.2, memfs@^3.4.1: dependencies: fs-monkey "1.0.3" -memoize-one@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" - integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== +memoize-one@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" + integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== merge-descriptors@1.0.1: version "1.0.1" @@ -8736,15 +8748,7 @@ prompts@^2.0.1, prompts@^2.4.2: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types-extra@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.1.tgz#58c3b74cbfbb95d304625975aa2f0848329a010b" - integrity sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew== - dependencies: - react-is "^16.3.2" - warning "^4.0.0" - -prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -8871,14 +8875,6 @@ react-chartjs-2@^5.2.0: resolved "https://registry.yarnpkg.com/react-chartjs-2/-/react-chartjs-2-5.2.0.tgz#43c1e3549071c00a1a083ecbd26c1ad34d385f5d" integrity sha512-98iN5aguJyVSxp5U3CblRLH67J8gkfyGNbiK3c+l1QI/G4irHMPQw44aEPmjVag+YKTyQ260NcF82GTQ3bdscA== -react-component-managers@^3.1.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/react-component-managers/-/react-component-managers-3.2.2.tgz#b02a965465a32118ffc967f59730618370432412" - integrity sha512-SqtB09hS1ir0koBNybvNbNAB3k/r7IbIGbXSxvkkTV0m50s+4oJ59KYsbPAQ/2DhE169Rc5V26d674EcGcDbGA== - dependencies: - prop-types "^15.6.1" - spy-on-component "^1.1.0" - react-dev-utils@^12.0.0: version "12.0.0" resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.0.tgz#4eab12cdb95692a077616770b5988f0adf806526" @@ -8909,15 +8905,13 @@ react-dev-utils@^12.0.0: strip-ansi "^6.0.1" text-table "^0.2.0" -react-dom@^16.13.0: - version "16.14.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" - integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== +react-dom@^18.0.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.19.1" + scheduler "^0.23.2" react-error-overlay@^6.0.10: version "6.0.10" @@ -8939,14 +8933,7 @@ react-helmet@^6.1.0: react-fast-compare "^3.1.1" react-side-effect "^2.1.0" -react-input-autosize@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-3.0.0.tgz#6b5898c790d4478d69420b55441fcc31d5c50a85" - integrity sha512-nL9uS7jEs/zu8sqwFE5MAPx6pPkNAriACQ2rGLlqmKr2sPGtN7TXTyDdQt4lbNXVx7Uzadb40x8qotIuru6Rhg== - dependencies: - prop-types "^15.5.8" - -react-is@^16.13.1, react-is@^16.3.2, react-is@^16.6.0, react-is@^16.7.0: +react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -8961,7 +8948,7 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.0.0.tgz#026f6c4a27dbe33bf4a35655b9e1327c4e55e3f5" integrity sha512-yUcBYdBBbo3QiPsgYDcfQcIkGZHfxOaoE6HLSnr1sPzMhdyxusbfKOSUbSd/ocGi32dxcj366PsTj+5oggeKKw== -react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4: +react-lifecycles-compat@^3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== @@ -9004,18 +8991,13 @@ react-refresh@^0.11.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== -react-router-dom@^5.1.2: - version "5.3.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.0.tgz#da1bfb535a0e89a712a93b97dd76f47ad1f32363" - integrity sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ== +react-router-dom@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.23.0.tgz#8b80ad92ad28f4dc38972e92d84b4c208150545a" + integrity sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ== dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.2.1" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" + "@remix-run/router" "1.16.0" + react-router "6.23.0" react-router-hash-link@^2.4.0: version "2.4.3" @@ -9024,7 +9006,14 @@ react-router-hash-link@^2.4.0: dependencies: prop-types "^15.7.2" -react-router@5.2.1, react-router@^5.1.2: +react-router@6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.23.0.tgz#2f2d7492c66a6bdf760be4c6bdf9e1d672fa154b" + integrity sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA== + dependencies: + "@remix-run/router" "1.16.0" + +react-router@^5.1.2: version "5.2.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.1.tgz#4d2e4e9d5ae9425091845b8dbc6d9d276239774d" integrity sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ== @@ -9104,19 +9093,20 @@ react-scrollspy@^3.4.2: classnames "^2.2.5" prop-types "^15.5.10" -react-select@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.2.0.tgz#de9284700196f5f9b5277c5d850a9ce85f5c72fe" - integrity sha512-B/q3TnCZXEKItO0fFN/I0tWOX3WJvi/X2wtdffmwSQVRwg5BpValScTO1vdic9AxlUgmeSzib2hAZAwIUQUZGQ== - dependencies: - "@babel/runtime" "^7.4.4" - "@emotion/cache" "^10.0.9" - "@emotion/core" "^10.0.9" - "@emotion/css" "^10.0.9" - memoize-one "^5.0.0" +react-select@^5.8.0: + version "5.8.0" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.8.0.tgz#bd5c467a4df223f079dd720be9498076a3f085b5" + integrity sha512-TfjLDo58XrhP6VG5M/Mi56Us0Yt8X7xD6cDybC7yoRMUNm7BGO7qk8J0TLQOua/prb8vUOtsfnXZwfm30HGsAA== + dependencies: + "@babel/runtime" "^7.12.0" + "@emotion/cache" "^11.4.0" + "@emotion/react" "^11.8.1" + "@floating-ui/dom" "^1.0.1" + "@types/react-transition-group" "^4.4.0" + memoize-one "^6.0.0" prop-types "^15.6.0" - react-input-autosize "^3.0.0" react-transition-group "^4.3.0" + use-isomorphic-layout-effect "^1.1.2" react-side-effect@^2.1.0: version "2.1.1" @@ -9130,17 +9120,17 @@ react-toggle@^4.1.1: dependencies: classnames "^2.2.5" -react-transition-group@^2.4.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" - integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg== +react-transition-group@^4.3.0: + version "4.4.5" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" + integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== dependencies: - dom-helpers "^3.4.0" + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" loose-envify "^1.4.0" prop-types "^15.6.2" - react-lifecycles-compat "^3.0.4" -react-transition-group@^4.3.0, react-transition-group@^4.4.1: +react-transition-group@^4.4.1: version "4.4.2" resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== @@ -9150,30 +9140,12 @@ react-transition-group@^4.3.0, react-transition-group@^4.4.1: loose-envify "^1.4.0" prop-types "^15.6.2" -react-widgets@^4.5.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/react-widgets/-/react-widgets-4.6.1.tgz#a1d83cf24007ecab05a921719c25cea370cfd685" - integrity sha512-x2n4EFQnk1ZG2rWsdekGK3js091k+b06e0CRI4pDEZ0uh/cft3NyGFKS5/x7CV/fN51kHMaM4r5IRGIbPfsLLw== - dependencies: - classnames "^2.2.6" - date-arithmetic "^3.1.0" - dom-helpers "^3.3.1" - invariant "^2.2.4" - prop-types-extra "^1.0.1" - react-component-managers "^3.1.0" - react-lifecycles-compat "^3.0.4" - react-transition-group "^2.4.0" - uncontrollable "^7.1.1" - warning "^3.0.0" - -react@^16.13.0: - version "16.14.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" - integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== +react@^18.0.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" readable-stream@^2.0.1: version "2.3.7" @@ -9287,6 +9259,11 @@ regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4, regenerator-runtime@^0 resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + regenerator-transform@^0.14.2: version "0.14.5" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" @@ -9594,13 +9571,12 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" -scheduler@^0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" - integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" schema-utils@2.7.0: version "2.7.0" @@ -9920,11 +9896,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -spy-on-component@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/spy-on-component/-/spy-on-component-1.1.3.tgz#7052dac3f82e7ac8627933088ba0106ec47603d5" - integrity sha512-a7jgnoBSdkcDWIQQwtEgUq4etajwG6+wGIjfC9ARUKwKOdHxJd+utgHTgLn81ETizpsw4xddUS3W8VePedtaIQ== - stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" @@ -10101,6 +10072,11 @@ stylehacks@^5.1.0: browserslist "^4.16.6" postcss-selector-parser "^6.0.4" +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -10522,16 +10498,6 @@ unbox-primitive@^1.0.1: has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" -uncontrollable@^7.1.1: - version "7.2.1" - resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-7.2.1.tgz#1fa70ba0c57a14d5f78905d533cf63916dc75738" - integrity sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ== - dependencies: - "@babel/runtime" "^7.6.3" - "@types/react" ">=16.9.11" - invariant "^2.2.4" - react-lifecycles-compat "^3.0.4" - unherit@^1.0.4: version "1.1.3" resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" @@ -10777,6 +10743,11 @@ url-join@^1.1.0: resolved "https://registry.yarnpkg.com/url-join/-/url-join-1.1.0.tgz#741c6c2f4596c4830d6718460920d0c92202dc78" integrity sha1-dBxsL0WWxIMNZxhGCSDQySIC3Hg= +use-isomorphic-layout-effect@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" + integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -10909,13 +10880,6 @@ warning@^3.0.0: dependencies: loose-envify "^1.0.0" -warning@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== - dependencies: - loose-envify "^1.0.0" - watchpack@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25"