survey-react-ui 1.9.110 → 1.9.111

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://SurveyReact/webpack/universalModuleDefinition","webpack://SurveyReact/webpack/bootstrap","webpack://SurveyReact/./src/entries/core-export.ts","webpack://SurveyReact/./src/entries/react-ui-model.ts","webpack://SurveyReact/./src/entries/react-ui.ts","webpack://SurveyReact/./src/react/boolean-checkbox.tsx","webpack://SurveyReact/./src/react/boolean-radio.tsx","webpack://SurveyReact/./src/react/boolean.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar-item-dropdown.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar-item.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar-separator.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar.tsx","webpack://SurveyReact/./src/react/components/brand-info.tsx","webpack://SurveyReact/./src/react/components/character-counter.tsx","webpack://SurveyReact/./src/react/components/components-container.tsx","webpack://SurveyReact/./src/react/components/cover.tsx","webpack://SurveyReact/./src/react/components/file-actions/file-choose-button.tsx","webpack://SurveyReact/./src/react/components/list/list-item.tsx","webpack://SurveyReact/./src/react/components/list/list.tsx","webpack://SurveyReact/./src/react/components/loading-indicator.tsx","webpack://SurveyReact/./src/react/components/matrix-actions/detail-button/detail-button.tsx","webpack://SurveyReact/./src/react/components/matrix-actions/drag-drop-icon/drag-drop-icon.tsx","webpack://SurveyReact/./src/react/components/matrix-actions/remove-button/remove-button.tsx","webpack://SurveyReact/./src/react/components/matrix/row.tsx","webpack://SurveyReact/./src/react/components/notifier.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-add-btn.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-next-btn.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-prev-btn.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-progress-text.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-remove-btn.tsx","webpack://SurveyReact/./src/react/components/popup/popup.tsx","webpack://SurveyReact/./src/react/components/rating/rating-item-smiley.tsx","webpack://SurveyReact/./src/react/components/rating/rating-item-star.tsx","webpack://SurveyReact/./src/react/components/rating/rating-item.tsx","webpack://SurveyReact/./src/react/components/skeleton.tsx","webpack://SurveyReact/./src/react/components/survey-actions/survey-nav-button.tsx","webpack://SurveyReact/./src/react/components/survey-header/logo-image.tsx","webpack://SurveyReact/./src/react/components/survey-header/survey-header.tsx","webpack://SurveyReact/./src/react/components/svg-icon/svg-icon.tsx","webpack://SurveyReact/./src/react/components/title/title-actions.tsx","webpack://SurveyReact/./src/react/components/title/title-content.tsx","webpack://SurveyReact/./src/react/components/title/title-element.tsx","webpack://SurveyReact/./src/react/custom-widget.tsx","webpack://SurveyReact/./src/react/dropdown-base.tsx","webpack://SurveyReact/./src/react/dropdown-item.tsx","webpack://SurveyReact/./src/react/dropdown-select.tsx","webpack://SurveyReact/./src/react/element-factory.tsx","webpack://SurveyReact/./src/react/element-header.tsx","webpack://SurveyReact/./src/react/element.tsx","webpack://SurveyReact/./src/react/flow-panel.tsx","webpack://SurveyReact/./src/react/image.tsx","webpack://SurveyReact/./src/react/imagepicker.tsx","webpack://SurveyReact/./src/react/page.tsx","webpack://SurveyReact/./src/react/panel-base.tsx","webpack://SurveyReact/./src/react/panel.tsx","webpack://SurveyReact/./src/react/rating-dropdown.tsx","webpack://SurveyReact/./src/react/react-popup-survey.tsx","webpack://SurveyReact/./src/react/reactSurvey.tsx","webpack://SurveyReact/./src/react/reactSurveyNavigationBase.tsx","webpack://SurveyReact/./src/react/reactSurveyProgress.tsx","webpack://SurveyReact/./src/react/reactSurveyProgressButtons.tsx","webpack://SurveyReact/./src/react/reactSurveyProgressToc.tsx","webpack://SurveyReact/./src/react/reactquestion.tsx","webpack://SurveyReact/./src/react/reactquestion_buttongroup.tsx","webpack://SurveyReact/./src/react/reactquestion_checkbox.tsx","webpack://SurveyReact/./src/react/reactquestion_comment.tsx","webpack://SurveyReact/./src/react/reactquestion_custom.tsx","webpack://SurveyReact/./src/react/reactquestion_dropdown.tsx","webpack://SurveyReact/./src/react/reactquestion_element.tsx","webpack://SurveyReact/./src/react/reactquestion_empty.tsx","webpack://SurveyReact/./src/react/reactquestion_expression.tsx","webpack://SurveyReact/./src/react/reactquestion_factory.tsx","webpack://SurveyReact/./src/react/reactquestion_file.tsx","webpack://SurveyReact/./src/react/reactquestion_html.tsx","webpack://SurveyReact/./src/react/reactquestion_matrix.tsx","webpack://SurveyReact/./src/react/reactquestion_matrixdropdown.tsx","webpack://SurveyReact/./src/react/reactquestion_matrixdropdownbase.tsx","webpack://SurveyReact/./src/react/reactquestion_matrixdynamic.tsx","webpack://SurveyReact/./src/react/reactquestion_multipletext.tsx","webpack://SurveyReact/./src/react/reactquestion_paneldynamic.tsx","webpack://SurveyReact/./src/react/reactquestion_radiogroup.tsx","webpack://SurveyReact/./src/react/reactquestion_ranking.tsx","webpack://SurveyReact/./src/react/reactquestion_rating.tsx","webpack://SurveyReact/./src/react/reactquestion_tagbox.tsx","webpack://SurveyReact/./src/react/reactquestion_text.tsx","webpack://SurveyReact/./src/react/reactsurveymodel.tsx","webpack://SurveyReact/./src/react/reacttimerpanel.tsx","webpack://SurveyReact/./src/react/row.tsx","webpack://SurveyReact/./src/react/signaturepad.tsx","webpack://SurveyReact/./src/react/string-editor.tsx","webpack://SurveyReact/./src/react/string-viewer.tsx","webpack://SurveyReact/./src/react/tagbox-filter.tsx","webpack://SurveyReact/./src/react/tagbox-item.tsx","webpack://SurveyReact/./src/settings.ts","webpack://SurveyReact/./src/utils/responsivity-manager.ts","webpack://SurveyReact/./src/utils/utils.ts","webpack://SurveyReact/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://SurveyReact/external {\"root\":\"ReactDOM\",\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\",\"amd\":\"react-dom\"}","webpack://SurveyReact/external {\"root\":\"Survey\",\"commonjs2\":\"survey-core\",\"commonjs\":\"survey-core\",\"amd\":\"survey-core\"}"],"names":[],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;AClFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AACF;AACK;;;;;;;;;;;;;ACFhE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAQ;AACuD;AACQ;AACG;AACd;AACjB;AACF;AACI;AACS;AAMtB;AAKQ;AAIA;AAIC;AAID;AAE4B;AACS;AACI;AAErB;AACM;AACE;AACK;AACT;AACK;AACG;AAIjC;AAC0B;AACA;AAC4B;AACZ;AACqB;AACrC;AACR;AACiB;AACN;AACD;AAC4D;AAC1C;AACoC;AACxC;AACnB;AACc;AACR;AACC;AACG;AACK;AACL;AACF;AACP;AACE;AACZ;AACc;AACY;AACe;AAEtC;AACH;AACkB;AACA;AACK;AACH;AACM;AACf;AACyD;AACP;AACS;AACP;AACM;AACJ;AACA;AACO;AAC/B;AAEnC;AACH;AACS;AACc;AACG;AACxC;AAEqB;AACA;AACmB;AAElF,gDAAgD;AAChD,mFAAmF;;;;;;;;;;;;;AC3GnF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACH;AACqB;AAEL;AACN;AAEU;AAElD,uEAAmB,CAAC,KAAG,SAAqB,EAAE,iBAAiB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTlC;AACe;AACiB;AACb;AACc;AACJ;AAE5D;IAAmD,iDAAqB;IACtE,uCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,qDAAa,GAAvB;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACrD,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YAC3D,wEAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,YAAY;YACrC,6DAAK,SAAS,EAAE,SAAS;gBACvB,+DAAO,SAAS,EAAE,UAAU,CAAC,aAAa;oBACxC,+DACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,KAAK,EACH,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI;4BACjC,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAEhC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,UAAU,CAAC,eAAe,EACrC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,KAAK,EAC5C,QAAQ,EAAE,IAAI,CAAC,cAAc,mBACd,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;oBACF,8DAAM,SAAS,EAAE,UAAU,CAAC,yBAAyB;wBAClD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;4BACtB,6DACE,SAAS,EAAE,UAAU,CAAC,qBAAqB;gCAE3C,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAQ,CACzC,CAAC,CAAC,CAAC,IAAI;wBAEf,8DAAM,SAAS,EAAC,OAAO,GAAG,CACrB;oBACN,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,CAChC,8DAAM,SAAS,EAAE,UAAU,CAAC,oBAAoB,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB;wBACrF,oDAAC,4EAAY,IAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAiB,CACtF,CACR,CACK;gBACP,WAAW,CACR,CACF,CACP,CAAC;IACJ,CAAC;IACH,oCAAC;AAAD,CAAC,CArDkD,8DAAqB,GAqDvE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAC5C,qBAAqB,EACrB,UAAC,KAAK;IACJ,OAAO,mDAAmB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC,CACF,CAAC;AAEF,2DAAe,CAAC,QAAQ,CAAC,gBAAgB,CACvC,SAAS,EACT,UAAU,EACV,qBAAqB,CACtB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzE6B;AACe;AACiB;AACb;AAElD;IAAgD,8CAAqB;IACnE,oCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SACb;QA8BD,oBAAc,GAAG,UAAC,KAAU;YAC1B,KAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC;QACxE,CAAC;;IAhCD,CAAC;IACO,oDAAe,GAAvB,UAAwB,KAAU,EAAE,OAAY;QAC9C,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,OAAO,CACL,6DAAK,IAAI,EAAC,cAAc,EAAC,SAAS,EAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC;YACrF,+DAAO,SAAS,EAAI,UAAU,CAAC,UAAU;gBACvC,+DACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,EAC3B,KAAK,EAAK,KAAK,sBACM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAClD,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EACrD,QAAQ,EAAK,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC1C,SAAS,EAAK,UAAU,CAAC,gBAAgB,EACzC,QAAQ,EAAG,IAAI,CAAC,cAAc,GAC9B;gBACA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAC;oBAChD,CAAC,8DAAM,SAAS,EAAG,UAAU,CAAC,sBAAsB,IAChD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBAC3B,CAAC,6DAAK,SAAS,EAAE,UAAU,CAAC,kBAAkB;4BAC5C,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAQ,CAC7C,CAAC,EAAC,KAAI,CACT,CAAC,EAAC,KAAI;gBACf,8DAAM,SAAS,EAAI,UAAU,CAAC,iBAAiB,IAC3C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAC1B,CACD,CACJ,CACP,CAAC;IACJ,CAAC;IAIS,kDAAa,GAAvB;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,SAAS;YAClC,kEAAU,IAAI,EAAC,cAAc,EAAC,SAAS,EAAI,UAAU,CAAC,aAAa;gBAChE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACxD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC9C,CACP,CACP,CAAC;IACJ,CAAC;IACH,iCAAC;AAAD,CAAC,CA/C+C,8DAAqB,GA+CpE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAC5C,kBAAkB,EAClB,UAAC,KAAK;IACJ,OAAO,mDAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CACF,CAAC;AAEF,2DAAe,CAAC,QAAQ,CAAC,gBAAgB,CACvC,SAAS,EACT,OAAO,EACP,kBAAkB,CACnB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjE6B;AAEqC;AACL;AAE/D;IAA2C,yCAAyB;IAElE,+BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAOb;QANC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACrD,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnD,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC7D,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/D,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACvD,KAAI,CAAC,QAAQ,GAAG,+CAAe,EAAE,CAAC;;IACpC,CAAC;IACS,+CAAe,GAAzB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,sBAAc,2CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAoC,CAAC;QACnD,CAAC;;;OAAA;IACD;;;;MAIE;IACM,uCAAO,GAAf,UAAgB,KAAc;QAC5B,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;IACrC,CAAC;IACD,8CAAc,GAAd,UAAe,KAAU;QACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,6CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,mDAAmB,GAAnB,UAAoB,KAAU;QAC5B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IACD,kDAAkB,GAAlB,UAAmB,KAAU,EAAE,KAAc;QAC3C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,+CAAe,GAAf,UAAgB,KAAU;QACxB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAES,gDAAgB,GAA1B;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,EAAE;YACN,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;SAClD;QACD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACpB,iBAAM,gBAAgB,WAAE,CAAC;IAC3B,CAAC;IACS,6CAAa,GAAvB;QAAA,iBA+CC;QA9CC,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAM,SAAS,GAAW,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrD,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,eAAe;YAC9D,+DAAO,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa;gBACtD,+DACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,KAAK,EACH,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI;wBACjC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAEhC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,UAAU,CAAC,OAAO,EAC7B,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,KAAK,EAC5C,QAAQ,EAAE,IAAI,CAAC,cAAc,mBACd,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;gBACF,6DAAK,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,UAAC,KAAK,IAAK,YAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,EAArC,CAAqC;oBAC/F,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAC7C,CACH;gBACN,6DAAK,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB;oBAClE,8DAAM,SAAS,EAAE,UAAU,CAAC,MAAM,IAE9B,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;wBACrD,8DAAM,SAAS,EAAE,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAS;wBACxG,CAAC,CAAC,IAAI,CAEL,CACH;gBACN,6DAAK,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,UAAC,KAAK,IAAK,YAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,EAApC,CAAoC;oBAC9F,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC5C,CACH,CACA,CACJ,CACP,CAAC;IACJ,CAAC;IACH,4BAAC;AAAD,CAAC,CAlG0C,gFAAyB,GAkGnE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,KAAK;IAC9D,OAAO,mDAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3GuB;AAC2D;AACzB;AACrB;AACiB;AAExD;IAAiD,+CAAmB;IAElE,qCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,SAAS,GAAG,IAAI,mEAAuB,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC;;IAC1D,CAAC;IACD,uDAAiB,GAAjB;QACE,IAAM,MAAM,GAAG,iBAAM,iBAAiB,WAAE,CAAC;QACzC,OAAO,CACL;YACG,MAAM;YACP,2DAAC,kDAAK,IAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,yEAA6B,GAAU,CACrF,CACJ,CAAC;IACJ,CAAC;IACD,0DAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACH,kCAAC;AAAD,CAAC,CAnBgD,oEAAmB,GAmBnE;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,6BAA6B,EAAE,UAAC,KAAK;IAChF,OAAO,4CAAK,CAAC,aAAa,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BuB;AAEkC;AACI;AACZ;AACL;AACmB;AAMlE;IAAkC,gCAA2C;IAA7E;;IA8BA,CAAC;IA7BC,sBAAI,8BAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACS,sCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,oCAAa,GAAb;QACE,UAAU;QACV,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/C,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAC1C,2DAAC,8EAAwB,OAA4B,CACtD,CAAC,CAAC,CAAC,IAAI,CAAC;QAET,IAAM,aAAa,GAAG,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAC9D,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,oBAAoB,EAC3C;YACE,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CACF,CAAC;QACF,OAAO,CACL,oEAAK,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YACzC,oEAAK,SAAS,EAAC,oBAAoB;gBAChC,SAAS;gBACT,aAAa,CACV,CACF,CACP,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,CA9BiC,wEAAiB,GA8BlD;;AAED;IAAyC,uCAGxC;IAHD;;IA6DA,CAAC;IAzDC,sBAAI,qCAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACS,6CAAe,GAAzB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,2CAAa,GAAb;QACE,OAAO,wHAAG,IAAI,CAAC,iBAAiB,EAAE,CAAI,CAAC;IACzC,CAAC;IAED,wCAAU,GAAV;QACE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QACrC,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACxD,OAAO,qEAAM,SAAS,EAAE,UAAU,IAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAQ,CAAC;IAC/D,CAAC;IAED,iDAAmB,GAAnB;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACrC,2DAAC,0DAAO,IACN,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EACxC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EACxB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC5B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAClC,CACZ,CAAC,CAAC,CAAC,IAAI,CAAC;QACT,OAAO,CACL;YACG,OAAO;YACP,IAAI,CACJ,CACJ,CAAC;IACJ,CAAC;IAED,+CAAiB,GAAjB;QAAA,iBAqBC;QApBC,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAClD,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACnD,IAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjD,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,IAAM,MAAM,GAAG,oEAAe,CAC5B,uEACE,SAAS,EAAE,SAAS,EACpB,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC5B,OAAO,EAAE,UAAC,IAAI,IAAK,YAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAzD,CAAyD,EAC5E,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,kBACJ,IAAI,CAAC,IAAI,CAAC,WAAW,mBACpB,IAAI,CAAC,IAAI,CAAC,YAAY,EACrC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAEvB,aAAa,CACP,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1C,OAAO,MAAM,CAAC;IAChB,CAAC;IACH,0BAAC;AAAD,CAAC,CA7DwC,wEAAiB,GA6DzD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,EAAE,UAAC,KAAK;IACvE,OAAO,4CAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7GuB;AACkC;AAE5D;IAA8C,4CAAyB;IACrE,kCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,yCAAM,GAAN;QACE,IAAI,SAAS,GAAG,6BAA2B,IAAI,CAAC,KAAK,CAAC,UAAY,CAAC;QACnE,OAAO,oEAAK,SAAS,EAAE,SAAS,GAAQ,CAAC;IAC3C,CAAC;IACH,+BAAC;AAAD,CAAC,CAR6C,4CAAK,CAAC,SAAS,GAQ5D;;AACD,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,yBAAyB,EACzB,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBwB;AAMkC;AACI;AACf;AAEN;AACJ;AAOvC;IAAqC,mCAAuC;IAG1E,yBAAY,KAAsB;QAAlC,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,OAAO,GAAG,4CAAK,CAAC,SAAS,EAAE,CAAC;;IACnC,CAAC;IAED,sBAAY,wCAAW;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,CAAC;;;OAAA;IAED,sBAAI,kCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IAED,2CAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO;QACnC,IAAM,SAAS,GAA0B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9D,IAAG,CAAC,CAAC,SAAS,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;SAC/C;IACH,CAAC;IACD,8CAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;SACvC;IACH,CAAC;IAES,yCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,uCAAa,GAAb;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QACxC,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,OAAO,CACL,oEACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAClC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,UAAS,KAAK;gBACxC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC,CAAC,SAAS,IAEZ,KAAK,CACF,CACP,CAAC;IACJ,CAAC;IAED,qCAAW,GAAX;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CACnC,UAAC,IAAY,EAAE,SAAiB;YAC9B,OAAO,CACL,2DAAC,6DAAY,IAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAiB,CACnE,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IACH,sBAAC;AAAD,CAAC,CA5DoC,wEAAiB,GA4DrD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,EAAE,UAAC,KAAK;IAClE,OAAO,4CAAK,CAAC,aAAa,CACxB,eAAe,EACd,KAAgC,CAClC,CAAC;AACJ,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrFuB;AAE1B;IAA+B,6BAAyB;IAAxD;;IAUA,CAAC;IATC,0BAAM,GAAN;QACE,OAAO,CACL,oEAAK,SAAS,EAAC,eAAe;YAC5B,kEAAG,SAAS,EAAC,qBAAqB,EAAC,IAAI,EAAC,wGAAwG;gBAAC,oEAAK,GAAG,EAAC,kDAAkD,GAAE,CAAI;YAClN,oEAAK,SAAS,EAAC,qBAAqB;;gBAA+B,kEAAG,IAAI,EAAC,sHAAsH,sBAAoB,CAAM;YAC3N,oEAAK,SAAS,EAAC,sBAAsB;gBAAC,kEAAG,IAAI,EAAC,gCAAgC,uCAAqC,CAAM,CACrH,CACP,CAAC;IACJ,CAAC;IACH,gBAAC;AAAD,CAAC,CAV8B,4CAAK,CAAC,SAAS,GAU7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZyB;AAE+B;AACI;AAO7D;IAA+C,6CAAuD;IAAtG;;IAQA,CAAC;IAPW,mDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,iDAAa,GAAb;QACE,OAAO,CAAC,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,yBAAyB,IAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAO,CAAC,CAAC;IACtH,CAAC;IACH,gCAAC;AAAD,CAAC,CAR8C,wEAAiB,GAQ/D;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,EAAE,UAAC,KAAK;IACzE,OAAO,4CAAK,CAAC,aAAa,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBuB;AAE+B;AAEzD;IAAyC,uCAAyB;IAAlE;;IAoBA,CAAC;IAnBC,oCAAM,GAAN;QAAA,iBAkBC;QAjBC,IAAM,UAAU,GAAgC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5G,IAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,IAAG,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YACzB,OAAO,IAAI,CAAC;SACb;QACD,IAAG,CAAC,iBAAiB,EAAE;YACrB,OAAO,wHACJ,UAAU,CAAC,GAAG,CAAC,mBAAS;gBACvB,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,SAAmB,EAAE,EAAE,MAAM,EAAE,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7L,CAAC,CAAC,CACD,CAAC;SACL;QACD,OAAO,oEAAK,SAAS,EAAC,sBAAsB,IACzC,UAAU,CAAC,GAAG,CAAC,mBAAS;YACvB,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,SAAmB,EAAE,EAAE,MAAM,EAAE,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7L,CAAC,CAAC,CACE,CAAC;IACT,CAAC;IACH,0BAAC;AAAD,CAAC,CApBwC,4CAAK,CAAC,SAAS,GAoBvD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,EAAE,UAAC,KAAU;IACjF,OAAO,4CAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BuB;AAEmC;AACJ;AACJ;AAOrD;IAAwC,sCAAyB;IAAjE;;IAoCA,CAAC;IAnCC,sBAAI,qCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACO,4CAAe,GAAvB;QACE,IAAM,aAAa,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAC5E,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,YAAY,CACb,CAAC;QACF,IAAM,aAAa,GAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CACzE,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,YAAY,CACb,CAAC;QACF,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;IACL,CAAC;IAED,mCAAM,GAAN;QACE,OAAO,CAAC,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAC7D,oEAAK,SAAS,EAAC,wBAAwB,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;gBACnE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,oEAAK,SAAS,EAAC,gBAAgB,IACpD,IAAI,CAAC,eAAe,EAAE,CACnB,CAAC,CAAC,CAAC,CAAC,IAAI;gBACb,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oEAAK,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;oBAEjG,2DAAC,iEAAY,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CACvC,CAAC,CAAC,CAAC,CAAC,IAAI;gBACb,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,oEAAK,SAAS,EAAC,uBAAuB,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;oBAC7G,mEAAI,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,IAC7C,wEAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CACjE,CACD,CAAC,CAAC,CAAC,CAAC,IAAI,CACV,CACF,CAAC,CAAC;IACV,CAAC;IACH,yBAAC;AAAD,CAAC,CApCuC,4CAAK,CAAC,SAAS,GAoCtD;;AAED;IAAoC,kCAAkD;IAAtF;;IAwBA,CAAC;IAvBC,sBAAI,iCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACS,wCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,sCAAa,GAAb;QACE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAEtC,IAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;YACpF,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CACL,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;YAC/H,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,oEAAK,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB,GAAQ,CAAC,CAAC,CAAC,IAAI;YACtI,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,IACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,kEAAC,kBAAkB,IAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,GAAG,EAA9C,CAA8C,CAAC,CAClF,CACF,CACP,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,CAxBmC,wEAAiB,GAwBpD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,UAAC,KAAK;IAC7D,OAAO,4CAAK,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7EuB;AAC0B;AACa;AAElB;AACa;AAE5D;IAA4C,0CAAkB;IAC5D,gCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,4CAAQ;aAAtB;YACE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;QACxF,CAAC;;;OAAA;IACD,uCAAM,GAAN;QACE,OAAO,oEAAe,CACpB,sEACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAC3C,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,gBAClB,IAAI,CAAC,QAAQ,CAAC,gBAAgB;YAEzC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,2DAAC,0DAAO,IAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAY,EAAC,CAAC,IAAI;YACpL,yEAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAQ,CACvC,CACT,CAAC;IACJ,CAAC;IACH,6BAAC;AAAD,CAAC,CArB2C,yEAAkB,GAqB7D;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,oBAAoB,EACpB,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCwB;AAEkC;AACI;AACZ;AACL;AAO/C;IAA8B,4BAAsC;IAApE;QAAA,qEA4EC;QArEC,mBAAa,GAAG,UAAC,KAAU;YACzB,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC;;IAmEJ,CAAC;IA3EC,sBAAI,2BAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAI,0BAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IAID,kCAAe,GAAf;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,yBAAM,GAAN;QAAA,iBAyDC;QAxDC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAM,gBAAgB,GAAG;YACvB,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;SACxD,CAAC;QACF,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACxB,IAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC9E,IAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACrB,IAAM,IAAI,GAAG,2DAAC,0DAAO,IACnB,GAAG,EAAE,CAAC,EACN,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EACzC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,gBACZ,IAAI,CAAC,IAAI,CAAC,KAAK,GAClB,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,qEAAM,GAAG,EAAE,CAAC,IAAG,IAAI,CAAQ,CAAC,CAAC;aAC3C;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpB;SACF;aAAM;YACL,IAAM,UAAU,GAAG,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3H,IAAG,CAAC,CAAC,UAAU,EAAE;gBACf,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC1B;SACF;QAED,IAAM,WAAW,GACb,oEACE,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,IAExC,OAAO,CACJ,CAAC;QACX,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,oEAAK,SAAS,EAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,GAAG,EAAC,KAAI,CAAC;QAC1G,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAM,KAAK,GAAG;YACZ,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;SACnC,CAAC;QACF,OAAO,oEAAe,CACpB,mEACE,SAAS,EAAE,SAAS,EACpB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,KAAY,EACnB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,mBACR,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EACnD,OAAO,EAAE,UAAC,KAAU;gBAClB,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,CAAC,EACD,aAAa,EAAE,UAAC,KAAU,IAAK,YAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAI,CAAC,IAAI,CAAC,EAA1C,CAA0C;YACxE,SAAS;YACT,WAAW,CACT,CACN,CAAC;IACJ,CAAC;IACD,oCAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAE1B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACH,eAAC;AAAD,CAAC,CA5E6B,wEAAiB,GA4E9C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,UAAC,KAAK;IACjE,OAAO,4CAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5FuB;AACiC;AACC;AACI;AACjB;AACR;AAMvC;IAA0B,wBAAkC;IAG1D,cAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAKb;QAID,mBAAa,GAAG,UAAC,KAAU;YACzB,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC;QACF,qBAAe,GAAG,UAAC,KAAU;YAC3B,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC;QAbA,KAAI,CAAC,KAAK,GAAG;YACX,YAAY,EAAE,KAAI,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE;SAC5C,CAAC;QACF,KAAI,CAAC,gBAAgB,GAAG,4CAAK,CAAC,SAAS,EAAE,CAAC;;IAC5C,CAAC;IACD,sBAAI,uBAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IAOD,8BAAe,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,gCAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC7D,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;SACxE;IACH,CAAC;IACD,mCAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,SAAgB,CAAC,CAAC;SAC3D;IACH,CAAC;IACD,4BAAa,GAAb;QACE,OAAO,CACL,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB;YACnE,IAAI,CAAC,oBAAoB,EAAE;YAC3B,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,UAAU,EAAE,CACd,CACP,CAAC;IACJ,CAAC;IACD,yBAAU,GAAV;QACE,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAE3C,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAM,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEhE,OAAO,CACL,mEACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EACpC,KAAK,EAAE,OAAc,EACrB,IAAI,EAAC,SAAS,EACd,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EACxB,WAAW,EAAE,UAAC,CAAC;gBACb,CAAC,CAAC,cAAc,EAAE,CAAC;YACrB,CAAC,EACD,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,WAAW,EAAE,IAAI,CAAC,eAAe,IAEhC,KAAK,CACH,CAAC,CAAC;IACX,CAAC;IACD,0BAAW,GAAX;QAAA,iBAaC;QAZC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QACD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,UAAC,IAAa,EAAE,SAAiB;YAChD,OAAO,CACL,2DAAC,mDAAQ,IAAC,KAAK,EAAE,KAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAa,CAC9E,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAoB,GAApB;QAAA,iBA2CC;QA1CC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;aACnC;YACH,IAAM,QAAQ,GAAG,UAAC,CAAM;gBACd,QAAI,GAAK,oDAAQ,CAAC,WAAW,KAAzB,CAA0B;gBACtC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE;oBACnC,KAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC1C;YACH,CAAC,CAAC;YACF,IAAM,OAAO,GAAG,UAAC,CAAM;gBACrB,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC;YACF,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACjF,uEAAQ,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,qBAAqB,EAAE,OAAO,EAAE,UAAC,KAAK,IAAO,KAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjI,2DAAC,0DAAO,IACN,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,MAAM,GAEJ,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;YAEnB,OAAO,CACL,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM;gBAC1C,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU;oBAC9C,2DAAC,0DAAO,IACN,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,GAEJ,CACN;gBACN,sEACE,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,gBAChC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAC9C,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAC/C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,GACX;gBACR,WAAW,CACR,CACP,CAAC;SACH;IACH,CAAC;IACD,2BAAY,GAAZ;QACE,IAAM,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAE9D,OAAO,CAAC,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,EAAE,KAAY;YAC/E,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,gBAAc,IAAI,CAAC,KAAK,CAAC,YAAY,IAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAO,CACjH,CAAC,CAAC;IACV,CAAC;IACH,WAAC;AAAD,CAAC,CAlIyB,wEAAiB,GAkI1C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,UAAC,KAAK;IAC5D,OAAO,4CAAK,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjJ4B;AACe;AAE9C;IAA+C,6CAAyB;IAAxE;;IAIA,CAAC;IAHC,0CAAM,GAAN;QACE,OAAO,CAAC,6DAAK,SAAS,EAAC,sBAAsB;YAAC,oDAAC,0DAAO,IAAC,QAAQ,EAAC,cAAc,EAAC,IAAI,EAAC,MAAM,GAAW,CAAM,CAAC,CAAC;IAC/G,CAAC;IACH,gCAAC;AAAD,CAAC,CAJ8C,+CAAe,GAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPyB;AAEqC;AACK;AAClB;AAElD;IAAsD,oDAAkB;IACtE,0CAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,qBAAqB,GAAG,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACrE,CAAC;IACS,0DAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IACD,sBAAI,kDAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,sBAAY,sDAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvC,CAAC;;;OAAA;IACD,sBAAY,iDAAG;aAAf;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAClC,CAAC;;;OAAA;IACD,gEAAqB,GAArB,UAAsB,KAAU;QAC9B,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;IACtC,CAAC;IACS,wDAAa,GAAvB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC/C,IAAI,YAAY,GAAG,UAAU,CAAC;QAC9B,IAAI,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,OAAO,CACL,uEACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,qBAAqB,EACnC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,mBAC3C,YAAY,mBACZ,YAAY;YAE3B,2DAAC,0DAAO,IACN,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EACxD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EACtD,IAAI,EAAE,MAAM,GAEJ,CACH,CACV,CAAC;IACJ,CAAC;IACH,uCAAC;AAAD,CAAC,CAzCqD,yEAAkB,GAyCvE;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,yBAAyB,EACzB,eAAK;IACH,OAAO,4CAAK,CAAC,aAAa,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDwB;AAEqC;AACK;AAEpE;IAA6D,2DAAkB;IAA/E;;IAcA,CAAC;IAbC,sBAAY,6DAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvC,CAAC;;;OAAA;IAES,+DAAa,GAAvB;QACE,IAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;YAChC,OAAO,CAAC,oEAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB;gBACnE,oEAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAQ,CACjD,CAAC,CAAC;SACT;aAAM;YACL,OAAO,CAAC,qEAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAI,CAAC,CAAC;SACjE;IACH,CAAC;IACH,8CAAC;AAAD,CAAC,CAd4D,yEAAkB,GAc9E;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,0BAA0B,EAC1B,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;AAC7E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BwB;AAKqC;AACK;AAEpE;IAA6D,2DAAkB;IAC7E,iDAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,sBAAsB,GAAG,KAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACvE,CAAC;IACD,sBAAY,6DAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvC,CAAC;;;OAAA;IACD,sBAAY,wDAAG;aAAf;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAClC,CAAC;;;OAAA;IACD,wEAAsB,GAAtB,UAAuB,KAAU;QAC/B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IACS,+DAAa,GAAvB;QACE,IAAI,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACzE,OAAO,CACL,uEACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,EAChD,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,sBAAsB,EACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe;YAEtC,aAAa;YACd,qEAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,GAAI,CACjD,CACV,CAAC;IACJ,CAAC;IACH,8CAAC;AAAD,CAAC,CA5B4D,yEAAkB,GA4B9E;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,yBAAyB,EACzB,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;AAC7E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3CwB;AAGkC;AACI;AAOhE;IAA+B,6BAAuC;IACpE,mBAAY,KAAsB;QAAlC,YACE,kBAAM,KAAK,CAAC,SACb;QAUS,0BAAoB,GAAG,UAAC,KAAU;YAC1C,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,CAAC;;IAZD,CAAC;IACD,sBAAI,4BAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAI,mCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QACjC,CAAC;;;OAAA;IACS,mCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAKD,0BAAM,GAAN;QAAA,iBAYC;QAXC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAG,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,CACL,mEACE,SAAS,EAAE,KAAK,CAAC,SAAS,oCACM,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,EACzD,aAAa,EAAE,UAAC,KAAU,IAAK,YAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAhC,CAAgC,IAE9D,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,CACN,CAAC;IACJ,CAAC;IACH,gBAAC;AAAD,CAAC,CA9B8B,wEAAiB,GA8B/C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,eAAe,EACf,UAAC,KAAsB;IACrB,OAAO,4CAAK,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChDwB;AAEmC;AACJ;AACC;AAM1D;IAAuC,qCAA+C;IAAtF;;IAoBA,CAAC;IAnBC,sBAAI,uCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACS,2CAAe,GAAzB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,yCAAa,GAAb;QACE,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAE3C,IAAM,KAAK,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAyB,CAAC;QAEjG,OAAO,CACL,oEAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,OAAO,eAAW,QAAQ;YAC9E,yEAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAQ;YACpC,2DAAC,sEAAe,IAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAoB,CAC/D,CACP,CAAC;IACJ,CAAC;IACH,wBAAC;AAAD,CAAC,CApBsC,wEAAiB,GAoBvD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,UAAC,KAAK;IAChE,OAAO,4CAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCuB;AAIkC;AACK;AAEjE;IAAsD,oDAAkB;IACtE,0CAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,kDAAI;aAAlB;YACE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACtE,CAAC;;;OAAA;IACD,sBAAc,sDAAQ;aAAtB;YACE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;QACxF,CAAC;;;OAAA;IACH,uCAAC;AAAD,CAAC,CAVqD,yEAAkB,GAUvE;;AAED;IAAyD,uDAAgC;IAAzF;QAAA,qEAYC;QAXW,iBAAW,GAAG,UAAC,KAAU;YACjC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC7B,CAAC;;IASH,CAAC;IARW,2DAAa,GAAvB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO,CACL,uEAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW;YACzF,qEAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,IAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAQ,CACrF,CACV,CAAC;IACJ,CAAC;IACH,0CAAC;AAAD,CAAC,CAZwD,gCAAgC,GAYxF;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,yBAAyB,EACzB,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;AACzE,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCwB;AACkC;AACb;AAC2B;AAE1E;IAA0D,wDAAgC;IAA1F;QAAA,qEAeC;QAdW,iBAAW,GAAG,UAAC,KAAU;YACjC,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAChC,CAAC;;IAYH,CAAC;IAXW,4DAAa,GAAvB;QACE,OAAO,CACL,oEAAK,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC7G,2DAAC,0DAAO,IACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAClD,IAAI,EAAE,MAAM,GAEJ,CACN,CACP,CAAC;IACJ,CAAC;IACH,2CAAC;AAAD,CAAC,CAfyD,sFAAgC,GAezF;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,0BAA0B,EAC1B,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BwB;AACkC;AACb;AAC2B;AAE1E;IAA0D,wDAAgC;IAA1F;QAAA,qEAeC;QAdW,iBAAW,GAAG,UAAC,KAAU;YACjC,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAChC,CAAC;;IAYH,CAAC;IAXW,4DAAa,GAAvB;QACE,OAAO,CACL,oEAAK,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC7G,2DAAC,0DAAO,IACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAClD,IAAI,EAAE,MAAM,GAEJ,CACN,CACP,CAAC;IACJ,CAAC;IACH,2CAAC;AAAD,CAAC,CAfyD,sFAAgC,GAezF;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,0BAA0B,EAC1B,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BwB;AACkC;AACc;AAE1E;IAA4D,0DAAgC;IAA5F;;IAMA,CAAC;IALW,8DAAa,GAAvB;QACE,OAAO,CAAC,oEAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,IAC1D,IAAI,CAAC,QAAQ,CAAC,YAAY,CACvB,CAAC,CAAC;IACV,CAAC;IACH,6CAAC;AAAD,CAAC,CAN2D,sFAAgC,GAM3F;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,+BAA+B,EAC/B,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;AAC5E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBwB;AACkC;AAGc;AAE1E;IAA4D,0DAAgC;IAA5F;QAAA,qEAmBC;QAlBW,iBAAW,GAAG,UAAC,KAAU;YACjC,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;;IAgBH,CAAC;IAfW,8DAAa,GAAvB;QACE,OAAO,CACL,uEACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,EAClD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAC,QAAQ;YACb,qEACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,IACpD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAQ;YACvC,qEACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,GACxC,CACD,CACV,CAAC;IACJ,CAAC;IACH,6CAAC;AAAD,CAAC,CAnB2D,sFAAgC,GAmB3F;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,4BAA4B,EAC5B,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;AAC5E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChC+B;AACP;AACkL;AAChJ;AACI;AACL;AAO3D;IAA2B,yBAAmC;IAG5D,eAAY,KAAkB;QAA9B,YACE,kBAAM,KAAK,CAAC,SAGb;QAFC,KAAI,CAAC,YAAY,GAAG,4CAAK,CAAC,SAAS,EAAE,CAAC;QACtC,KAAI,CAAC,WAAW,EAAE,CAAC;;IACrB,CAAC;IACD,sBAAI,wBAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACS,+BAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACO,2BAAW,GAAnB;QACE,IAAI,CAAC,KAAK,GAAG,wEAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAgB,CAAC,CAAC;IACxE,CAAC;IACO,gCAAgB,GAAxB;QACE,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAsB,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChH,CAAC;IACD,iCAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,kCAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,oCAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IACD,qCAAqB,GAArB,UAAsB,SAAsB,EAAE,SAAc;;QAC1D,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QACrE,IAAM,YAAY,GAAG,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1D,IAAG,YAAY,EAAE;YACf,UAAI,CAAC,KAAK,0CAAE,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,sBAAM,GAAN;QACE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9B,IAAI,cAAc,CAAC;QACnB,IAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACrB,cAAc,GAAG,2DAAC,cAAc,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAmB,CAAC;SACvE;aAAM;YACL,cAAc,GAAG,2DAAC,sBAAsB,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAA2B,CAAC;SACvF;QACD,OAAO,oEAAK,GAAG,EAAE,IAAI,CAAC,YAAY,IAAG,cAAc,CAAO,CAAC;IAC7D,CAAC;IACH,YAAC;AAAD,CAAC,CApD0B,wEAAiB,GAoD3C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,UAAU,EACV,UAAC,KAAkB;IACjB,OAAO,4CAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC,CACF,CAAC;AAEF;IAAoC,kCAA2B;IAE7D,wBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SACb;QAHM,mBAAa,GAAY,KAAK,CAAC;QAItC,mBAAa,GAAG,UAAC,KAAU;YACzB,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC;QAOF,iBAAW,GAAG,UAAC,EAAO;YACpB,EAAE,CAAC,eAAe,EAAE,CAAC;QACvB,CAAC,CAAC;;IAZF,CAAC;IAID,sBAAI,iCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACS,wCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAID,2CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAC/C,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC5C,CAAC;IACD,wCAAe,GAAf,UAAgB,kBAAsC;QAAtD,iBA+BC;QA9BC,IAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtG,IAAM,aAAa,GAAG,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,IAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,IAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3F,OAAO,CACL,oEACE,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAE;gBACL,IAAI,EAAE,kBAAkB,CAAC,IAAI;gBAC7B,GAAG,EAAE,kBAAkB,CAAC,GAAG;gBAC3B,MAAM,EAAE,kBAAkB,CAAC,MAAM;gBACjC,KAAK,EAAE,kBAAkB,CAAC,KAAK;gBAC/B,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;aACtC,EACD,OAAO,EAAE,UAAC,EAAO;gBACf,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;YAED,oEAAK,SAAS,EAAC,kBAAkB;gBAC9B,WAAW;gBACZ,oEAAK,SAAS,EAAC,wBAAwB;oBACpC,aAAa;oBACd,oEAAK,SAAS,EAAC,6BAA6B,IACzC,OAAO,CACJ;oBACL,aAAa,CACV,CACF,CACF,CACP,CAAC;IACJ,CAAC;IACD,4CAAmB,GAAnB;QACE,OAAO,oEAAK,SAAS,EAAC,uBAAuB,IAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAO,CAAC;IACzE,CAAC;IACD,sCAAa,GAAb;QACE,IAAM,gBAAgB,GAAG,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CACjE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAC/B,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAChC,CAAC;QACF,OAAO,oEAAK,SAAS,EAAC,mBAAmB,IAAE,gBAAgB,CAAO,CAAC;IACrE,CAAC;IAES,0CAAiB,GAA3B,UAA4B,UAA8B;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IACS,qCAAY,GAAtB,UAAuB,SAA6B;QAClD,OAAO,CACL,oEAAK,SAAS,EAAC,uBAAuB;YACpC,2DAAC,sEAAe,IAAC,KAAK,EAAE,SAAS,CAAC,aAAa,GAAoB,CAC/D,CACP,CAAC;IACJ,CAAC;IACD,+BAAM,GAAN;QAAA,iBAoBC;QAnBC,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnD,IAAM,SAAS,GAAG,IAAI,2DAAe,EAAE;aACpC,MAAM,CAAC,UAAU,CAAC;aAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;aAC7B,QAAQ,EAAE,CAAC;QACd,IAAM,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;QAC/D,OAAO,CACL,oEACE,QAAQ,EAAE,CAAC,CAAC,EACZ,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,UAAC,CAAM;gBACd,KAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC,EACD,SAAS,EAAE,IAAI,CAAC,aAAa,IAE5B,SAAS,CACN,CACP,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,CAlGmC,wEAAiB,GAkGpD;;AACD;IAA4C,0CAAc;IAA1D;;IAgBA,CAAC;IAdW,kDAAiB,GAA3B,UAA4B,UAA8B;QACxD,IAAM,kBAAkB,GAAG,UAAoC,CAAC;QAChE,IAAG,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAEpC,OAAO,CACL,qEACE,KAAK,EAAE;gBACL,IAAI,EAAE,kBAAkB,CAAC,aAAa,CAAC,IAAI;gBAC3C,GAAG,EAAE,kBAAkB,CAAC,aAAa,CAAC,GAAG;aAC1C,EACD,SAAS,EAAC,mBAAmB,GACvB,CACT,CAAC;IACJ,CAAC;IACH,6BAAC;AAAD,CAAC,CAhB2C,cAAc,GAgBzD;;AAED,oCAAoC;AAC7B,SAAS,SAAS,CACvB,aAAqB,EACrB,IAAS,EACT,OAAsB,EACtB,QAAqB,EACrB,QAAiB,EACjB,KAAc,EACd,WAA0C;IAA1C,mDAA0C;IAE1C,IAAM,OAAO,GAAG,uEAAmB,CACjC,aAAa,EACb,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,KAAK,EACL,WAAW,CACZ,CAAC;IACF,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AACM,SAAS,UAAU,CAAC,aAA6B,EAAE,WAAyB;IACjF,aAAa,CAAC,MAAM,GAAG;QACrB,gDAAQ,CAAC,sBAAsB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1D,cAAc,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC,CAAC;IACF,IAAM,cAAc,GAAuB,6EAAyB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACjG,gDAAQ,CAAC,MAAM,CAAC,2DAAC,cAAc,IAAC,KAAK,EAAE,cAAc,GAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACrF,cAAc,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IAEtC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,oDAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/B,oDAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClOP;AAEkC;AAGb;AACkB;AAEjE;IAAsC,oCAAc;IAApD;;IAgCA,CAAC;IA/BC,iCAAM,GAAN;QAAA,iBA8BC;QA7BC,OAAO,CACL,sEAAO,WAAW,EAAE,IAAI,CAAC,iBAAiB,EACxC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAC3E,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAC1D,WAAW,EAAE,WAAC,IAAI,YAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAI,CAAC,IAAI,CAAC,EAAtC,CAAsC,EACxD,UAAU,EAAE,WAAC,IAAI,YAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,CAAC,EAAvC,CAAuC;YAExD,sEACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,mBAAmB,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EACxC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EACtB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAC/C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EACjC,QAAQ,EAAE,cAAQ,CAAC,mBACJ,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;YACF,2DAAC,0DAAO,IACN,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAClE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GACZ,CACL,CACT,CAAC;IACJ,CAAC;IACH,uBAAC;AAAD,CAAC,CAhCqC,2DAAc,GAgCnD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,uBAAuB,EAAE,UAAC,KAAK;IAC1E,OAAO,4CAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5CuB;AAEkC;AAGb;AACkB;AAEjE;IAAoC,kCAAc;IAAlD;;IAsCA,CAAC;IArCC,+BAAM,GAAN;QAAA,iBAoCC;QAnCC,OAAO,CACL,sEAAO,WAAW,EAAE,IAAI,CAAC,iBAAiB,EACxC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAC1D,WAAW,EAAE,WAAC,IAAI,YAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAI,CAAC,IAAI,CAAC,EAAtC,CAAsC,EACxD,UAAU,EAAE,WAAC,IAAI,YAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,CAAC,EAAvC,CAAuC;YAExD,sEACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,mBAAmB,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EACxC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EACtB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAC/C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EACjC,QAAQ,EAAE,cAAQ,CAAC,mBACJ,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;YACF,2DAAC,0DAAO,IACN,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EACpC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GACZ;YACX,2DAAC,0DAAO,IACN,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GACZ,CACL,CACT,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,CAtCmC,2DAAc,GAsCjD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,UAAC,KAAK;IACxE,OAAO,4CAAK,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClDuB;AAEkC;AACI;AAWhE;IAAoC,kCAAwC;IAC1E,wBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IAC7D,CAAC;IACD,sBAAI,oCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAI,gCAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,sBAAI,iCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,wCAAe,GAAf;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,0CAAiB,GAAjB,UAAkB,KAAU;QAC1B,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IACH,qBAAC;AAAD,CAAC,CApBmC,wEAAiB,GAoBpD;;AACD;IAAgC,8BAAc;IAA9C;;IA2BA,CAAC;IA1BC,2BAAM,GAAN;QACE,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,CACL,sEAAO,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1H,sEACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,mBAAmB,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EACxC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EACtB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAC/C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EACjC,QAAQ,EAAE,cAAQ,CAAC,mBACJ,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;YACF,qEAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,IAAG,QAAQ,CAAQ,CAC/D,CACT,CAAC;IACJ,CAAC;IACD,sCAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;IAC5B,CAAC;IACH,iBAAC;AAAD,CAAC,CA3B+B,cAAc,GA2B7C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,gBAAgB,EAAE,UAAC,KAAK;IACnE,OAAO,4CAAK,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClEuB;AAC+B;AAEzD;IAA8B,4BAAyB;IAAvD;;IAOA,CAAC;IANC,yBAAM,GAAN;;QACE,OAAO,CACL,oEAAK,SAAS,EAAC,qBAAqB,EAAC,EAAE,EAAE,UAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,EAAE,GACzD,CACP,CAAC;IACJ,CAAC;IACH,eAAC;AAAD,CAAC,CAP6B,4CAAK,CAAC,SAAS,GAO5C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,UAAC,KAAU;IACrE,OAAO,4CAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACduB;AAEkC;AACK;AAEjE;IAA4C,0CAAkB;IAA9D;;IAoBA,CAAC;IAnBC,sBAAc,wCAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACS,0CAAS,GAAnB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7B,CAAC;IACS,8CAAa,GAAvB;QACE,OAAO,CACL,sEACE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC7B,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EACvD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EACzB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAC7B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GACtB,CACH,CAAC;IACJ,CAAC;IACH,6BAAC;AAAD,CAAC,CApB2C,yEAAkB,GAoB7D;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,YAAY,EACZ,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChCwB;AAEkC;AAM5D;IAA+B,6BAAqC;IAClE,mBAAY,KAAsB;eAChC,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAY,6BAAM;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACM,0BAAM,GAAb;QACE,IAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CACV,oEAAK,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;YAC3D,oEACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EACpC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EACrC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EACtC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EACpC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,EACtC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAc,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,GACxI,CACE,CACP,CAAC;QACF,OAAO,wHAAG,OAAO,CAAI,CAAC;IACxB,CAAC;IACH,gBAAC;AAAD,CAAC,CAvB8B,4CAAK,CAAC,SAAS,GAuB7C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,EAAE,UAAC,KAAsB;IACnF,OAAO,4CAAK,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCuB;AAEsC;AACJ;AACN;AAMtD;IAAkC,gCAAwC;IACxE,sBAAY,KAAyB;QAArC,YACE,kBAAM,KAAK,CAAC,SAGb;QAFC,KAAI,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC5B,KAAI,CAAC,OAAO,GAAG,4CAAK,CAAC,SAAS,EAAE,CAAC;;IACnC,CAAC;IAED,sBAAY,gCAAM;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAY,6BAAG;aAAf;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACzB,CAAC;;;OAAA;IAGD,wCAAiB,GAAjB;QACE,IAAM,IAAI,GAAiB,IAAI,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAyB,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG;YAC9B,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC;IACD,2CAAoB,GAApB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC;IAClD,CAAC;IAEO,kCAAW,GAAnB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAM,WAAW,GAAG,wEAAiB,CAAC,eAAe,CACnD,IAAI,CAAC,MAAM,CAAC,cAAc,CAC3B,CAAC;QACF,OAAO,CACL,oEACE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YAE9C,2DAAC,iEAAY,IAAC,OAAO,EAAE,IAAI,CAAC,MAAM,GAAiB;YACjD,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,mEAAI,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,IAAG,WAAW,CAAM,CAAC,CAAC,CAAC,IAAI,CACjG,CACP,CAAC;IACJ,CAAC;IAEO,sCAAe,GAAvB,UAAwB,QAAiB;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAM,aAAa,GAAW,IAAI,CAAC,MAAM,CAAC,8BAA8B,CACtE,IAAI,CAAC,MAAM,EACX,YAAY,CACb,CAAC;QACF,IAAM,aAAa,GAAQ,IAAI,CAAC,MAAM,CAAC,8BAA8B,CACnE,IAAI,CAAC,MAAM,EACX,YAAY,CACb,CAAC;QACF,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;IACL,CAAC;IACM,6BAAM,GAAb;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,CACL,oEAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO;YAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9C,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAC9C,oEAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,GAAQ,CACxC,CACP,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,CAnEiC,4CAAK,CAAC,SAAS,GAmEhD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,eAAe,EACf,UAAC,KAAyB;IACxB,OAAO,4CAAK,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpFwB;AACkC;AACpB;AAExC;IAA6B,2BAAyB;IAEpD,iBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,UAAU,GAAG,4CAAK,CAAC,SAAS,EAAE,CAAC;;IACtC,CAAC;IAED,2BAAS,GAAT;QACE,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ;YACpB,6DAAS,CACP,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,IAAI,CAAC,UAAU,CAAC,OAAO,EACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CACjB,CAAC;IACN,CAAC;IACD,oCAAkB,GAAlB;QACE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACD,wBAAM,GAAN;QACE,IAAI,SAAS,GAAG,aAAa,CAAC;QAC9B,IAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACvB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;SACzC;QACD,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnB,oEAAK,SAAS,EAAG,SAAS,EAAG,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAC,KAAK,gBAAa,IAAI,CAAC,KAAK,CAAC,KAAK;gBAAE,uEAAW,CAAM;YACnK,CAAC,CAAC,IAAI,CACT,CAAC;IACJ,CAAC;IACD,mCAAiB,GAAjB;QACE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACH,cAAC;AAAD,CAAC,CAnC4B,4CAAK,CAAC,SAAS,GAmC3C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,UAAC,KAAK;IAChE,OAAO,4CAAK,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3CuB;AACmC;AACD;AACD;AACZ;AAE/C;IAAkC,gCAAyB;IAA3D;;IAkBA,CAAC;IAjBC,sBAAc,oCAAU;aAAxB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,CAAC;;;OAAA;IACD,sBAAc,iCAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IAED,6BAAM,GAAN;QACE,IAAM,YAAY,GAAgB,2DAAC,2DAAY,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,GAAiB,CAAC;QACpH,IAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe;YAAE,OAAO,YAAY,CAAC;QACtD,OAAO,CACL,oEAAK,SAAS,EAAC,kBAAkB;YAC/B,qEAAM,SAAS,EAAC,yBAAyB,IAAE,YAAY,CAAQ;YAC/D,2DAAC,sEAAe,IAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAoB,CACtE,CACP,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,CAlBiC,4CAAK,CAAC,SAAS,GAkBhD;;AAED,2DAAe,CAAC,QAAQ,CAAC,gBAAgB,CACvC,SAAS,EACT,eAAe,EACf,kBAAkB,CACnB,CAAC;AAEF,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,EAAE,UAAC,KAAK;IACrE,OAAO,4CAAK,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCuB;AAEsC;AAEhE;IAAkC,gCAAyB;IACzD,sBAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IAED,sBAAY,oCAAU;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,CAAC;;;OAAA;IAED,sBAAY,iCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,6BAAM,GAAN;QACE,IAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB;YACrC,OAAO,wEAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACjF,OAAO,wHAAG,KAAK,CAAI,CAAC;IACtB,CAAC;IACS,uCAAgB,GAA1B,UAA2B,OAAoB,EAAE,UAAe;QAC9D,IAAI,YAAY,GAAG,UAAC,GAAQ;YAC1B,OAAO,CACL,iFAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,aAEtB,CACR,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,KAAK,GAAuB,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;SACpC;QACD,IAAI,cAAc,GAAG,OAAO,CAAC,EAAE,CAAC;QAChC,IAAI,cAAc,EAAE;YAClB,IAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,KAAK,CAAC,IAAI,CACR,iFACY,OAAO,EACjB,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,UAAU,CAAC,MAAM,IAAI,WAAW,EAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAChB,IAAI,IAEhB,cAAc,CACV,CACR,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;SACpC;QACD,IAAI,OAAO,CAAC,wBAAwB,EAAE;YACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;SACpC;QACD,KAAK,CAAC,IAAI,CACR,wEAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CACrE,CAAC;QACF,IAAI,OAAO,CAAC,uBAAuB,EAAE;YACnC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;SACzD;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,wCAAiB,GAAzB,UACE,OAAoB,EACpB,UAAe;QAEf,OAAO,CACL,iFACY,UAAU,EACpB,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,iBACtD,IAAI,IAEhB,OAAO,CAAC,YAAY,CAChB,CACR,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,CA5EiC,4CAAK,CAAC,SAAS,GA4EhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChFyB;AACqC;AAChB;AAE/C;IAAkC,gCAAyB;IACzD,sBAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAY,iCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,6BAAM,GAAN;QACE,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAM,SAAS,GAAG,OAAO,CAAC,cAAc,IAAI,SAAS,CAAC;QACtD,IAAM,YAAY,GAAG,CACnB,2DAAC,2DAAY,IACX,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,CAAC,UAAU,GAChB,CACjB,CAAC;QACF,IAAI,OAAO,GAAmC,SAAS,CAAC;QACxD,IAAI,OAAO,GAAmC,SAAS,CAAC;QACxD,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,OAAO,GAAG,UAAC,GAAQ;gBACjB,iEAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjC,CAAC,CAAC;SACH;QAED,IAAM,SAAS,GAAG,OAAO,CAAC,YAA2C,CAAC;QACtE,OAAO,CACL,2DAAC,SAAS,IACR,SAAS,EAAE,OAAO,CAAC,QAAQ,EAC3B,EAAE,EAAE,OAAO,CAAC,WAAW,gBACX,SAAS,EACrB,QAAQ,EAAE,OAAO,CAAC,aAAa,mBAChB,OAAO,CAAC,iBAAiB,EACxC,IAAI,EAAE,OAAO,CAAC,aAAa,EAC3B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,IAEf,YAAY,CACH,CACb,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,CAzCiC,4CAAK,CAAC,SAAS,GAyChD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7C8B;AACqC;AAEpE;IAAwC,sCAAyB;IAE/D,4BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,SAAS,GAAG,+CAAe,EAAE,CAAC;;IACrC,CAAC;IACO,yCAAY,GAApB;QACE,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;YAClC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,CAAC,EAAE,EAAE;gBACR,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,YAAY,GAAG,KAAK,CAAC;aACzD;SACF;IACH,CAAC;IACD,8CAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IACD,+CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,eAAe,GACjB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY;YAChC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,eAAe,CAAC;QACjD,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IACD,iDAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;YAClC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,CAAC,EAAE,EAAE;gBACR,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;aACnE;SACF;IACH,CAAC;IACS,sCAAS,GAAnB;QACE,OAAO,iBAAM,SAAS,WAAE,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IACxD,CAAC;IACS,0CAAa,GAAvB;QACE,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;QAElD,IAAI,YAAY,CAAC,eAAe,EAAE;YAChC,OAAO,CACL,6DAAK,GAAG,EAAE,IAAI,CAAC,SAAS,IACrB,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAClD,CACP,CAAC;SACH;QAED,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE;YAClC,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC5D;aAAM;YACL,IAAI,YAAY,CAAC,YAAY,EAAE;gBAC7B,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC;gBACtD,OAAO,6DAAK,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,uBAAuB,EAAE,SAAS,GAAI,CAAC;aACzE;SACF;QACD,OAAO,6DAAK,GAAG,EAAE,IAAI,CAAC,SAAS,IAAG,MAAM,CAAO,CAAC;IAClD,CAAC;IACH,yBAAC;AAAD,CAAC,CAhEuC,gFAAyB,GAgEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnE8B;AAC8C;AAC5B;AACQ;AACD;AACe;AACK;AAE5E;IAAoE,8CAAoC;IAAxG;QAAA,qEAgMC;QA7LC,WAAK,GAAG,UAAC,KAAU;;YACjB,WAAI,CAAC,QAAQ,CAAC,iBAAiB,0CAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,WAAK,GAAG,UAAC,KAAU;;YACjB,WAAI,CAAC,QAAQ,CAAC,iBAAiB,0CAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,gBAAU,GAAG,UAAC,KAAU;;YACtB,WAAI,CAAC,QAAQ,CAAC,iBAAiB,0CAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC;QACF,UAAI,GAAG,UAAC,KAAU;;YAChB,WAAI,CAAC,QAAQ,CAAC,iBAAiB,0CAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/C,KAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC;QACF,WAAK,GAAG,UAAC,KAAU;;YACjB,WAAI,CAAC,QAAQ,CAAC,iBAAiB,0CAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC;;IA8KJ,CAAC;IA7KW,oDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC5C,CAAC;IACS,iDAAY,GAAtB,UAAuB,QAAa;QAClC,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,QAAQ,CAAC;IAC7C,CAAC;IACS,iDAAY,GAAtB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;IACzC,CAAC;IACS,iDAAY,GAAtB,UAAuB,UAAe;;QACpC,IAAI,aAAa,GAAuB,IAAI,CAAC;QAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC5B,IAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChH,6DAA6D;YAC7D,aAAa;YACb,aAAa,GAAG,6DAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ;gBACjG,IAAI;gBACL,iEAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAO,CACnC,CAAC;SACR;aAAM;YACL,IAAI,CAAE,IAAI,CAAC,QAAgB,CAAC,mBAAmB,CAAC,EAAE;gBAC/C,IAAI,CAAC,QAAgB,CAAC,mBAAmB,CAAC,GAAG,IAAI,6DAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpF;YACD,aAAa,GAAG;gBACb,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBACrD,oDAAC,6DAAK,IAAC,KAAK,EAAE,gBAAI,CAAC,QAAQ,0CAAE,iBAAiB,0CAAE,UAAU,GAAU,CACnE,CAAC;SACL;QAED,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK;YAC1D,aAAa;YACb,IAAI,CAAC,mBAAmB,EAAE,CACvB,CACP,CAAC;IACJ,CAAC;IAED,uDAAkB,GAAlB,UAAmB,iBAAoC;QACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE;YACzC,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACpK;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE;YAChD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;SAChE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gDAAW,GAArB,UAAsB,iBAAoC;QAA1D,iBA4DC;QA3DC,IAAI,YAAY,GAAuB,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QAC1E,QAAI,GAAK,oDAAQ,CAAC,WAAW,KAAzB,CAA0B;QAEtC,IAAM,aAAa,GAAG,UAAC,CAAM;YAC3B,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE;gBACnC,iBAAiB,CAAC,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aACxD;QACH,CAAC,CAAC;QACF,OAAO,CAAC,6DACN,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAC1C,QAAQ,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACzD,6DAA6D;YAC7D,aAAa;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAClC,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,EACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,mBACb,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,mBAChC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,MAAM,mBACvF,iBAAiB,CAAC,aAAa,2BACvB,iBAAiB,CAAC,oBAAoB;YAE5D,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBACjC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU;oBAClD,kEAAO,iBAAiB,CAAC,gBAAgB,CAAQ,CAC7C,CAAC,CAAC,CAAC,CAAC,IAAI;YAChB,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY;gBAClD,iBAAiB,CAAC,cAAc,CAAC,CAAC;oBACjC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU;wBAClD,8DAAM,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAY,0BAA0B,IAAE,iBAAiB,CAAC,mBAAmB,CAAQ;wBAC1H,kEAAO,iBAAiB,CAAC,gBAAgB,CAAQ,CAC7C,CAAC,CAAC,CAAC,CAAC,IAAI;gBACf,YAAY;gBACb,+DAAO,IAAI,EAAC,MAAM,EAAC,YAAY,EAAC,KAAK,EACnC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAC9B,GAAG,EAAE,UAAC,OAAO,IAAK,QAAC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC,EAA7B,CAA6B,EAC/C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EACrD,IAAI,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,gBACpE,IAAI,CAAC,QAAQ,CAAC,WAAW,mBACtB,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,MAAM,mBACvF,iBAAiB,CAAC,aAAa,2BACvB,iBAAiB,CAAC,oBAAoB,EAC7D,WAAW,EAAE,iBAAiB,CAAC,mBAAmB,EAClD,QAAQ,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAC7D,QAAQ,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,SAAS,EAAE,iBAAiB,CAAC,SAAS,EACtC,QAAQ,EAAE,UAAC,CAAC,IAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtC,MAAM,EAAE,IAAI,CAAC,IAAI,EACjB,OAAO,EAAE,IAAI,CAAC,KAAK,GACZ,CACL;YACL,IAAI,CAAC,iBAAiB,EAAE,CACrB,CAAC,CAAC;IACV,CAAC;IAED,sDAAiB,GAAjB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAE1F,IAAM,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACjE,OAAO,CACL,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAC/C,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,IAAI,CAAC,KAAK;YAEnB,oDAAC,qEAAO,IACN,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAClD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EACpD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EACjC,IAAI,EAAE,MAAM,GACH,CACP,CACP,CAAC;IACJ,CAAC;IAED,wDAAmB,GAAnB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB;YAAE,OAAO,IAAI,CAAC;QAE/D,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa;YACpD,oDAAC,qEAAO,IACN,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EACpD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,EACtD,IAAI,EAAE,MAAM,GACH,CACP,CACP,CAAC;IACJ,CAAC;IAES,gDAAW,GAArB,UAAsB,UAAe;QACnC,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACnD,oDAAC,mFAA4B,IAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,UAAU,CAAC,KAAK,EAC1B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,OAAO,EAAE,IAAI,GACb,CACE,CACP,CAAC;IACJ,CAAC;IAED,uDAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IACD,sDAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IACD,0DAAqB,GAArB;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,IAAM,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC;YACvC,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;YACrE,IAAI,CAAC,mDAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;gBAC1E,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;aACrE;SACF;IACH,CAAC;IACH,iCAAC;AAAD,CAAC,CAhMmE,wFAAiC,GAgMpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxM8B;AAC8B;AAG7D;IAA8C,4CAAkB;IAC9D,kCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAGb;QAFC,KAAI,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC5B,KAAI,CAAC,UAAU,EAAE,CAAC;;IACpB,CAAC;IACD,qDAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IACD,uDAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,cAAQ,CAAC,CAAC;SACzC;IACH,CAAC;IACO,6CAAU,GAAlB;QACE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC/B,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;YAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC;IACS,kDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,sBAAY,0CAAI;aAAhB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACS,4CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACS,gDAAa,GAAvB;QACE,OAAO,CACL,gEAAQ,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,CACR,CACV,CAAC;IACJ,CAAC;IACH,+BAAC;AAAD,CAAC,CAvC6C,yEAAkB,GAuC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3C8B;AAC0B;AACM;AACG;AACP;AAE3D;IAAkD,gDAAsB;IACtE,sCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IAES,mDAAY,GAAtB,UAAuB,UAAe;QAAtC,iBAmCC;QAlCC,IAAM,KAAK,GAAG,UAAC,KAAU;YACvB,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,IAAM,KAAK,GAAG,UAAC,KAAU;YACvB,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,IAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACzC,6DAA6D;QAC7D,aAAa;QACb,6DAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,UAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAO,CAAC,CAAC,CAAC;YAC1H,CAAC,gEACC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAC1C,GAAG,EAAE,UAAC,MAAM,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAzB,CAAyB,EAC1C,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EACxC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,KAAK,mBACC,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;gBACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gEAAQ,KAAK,EAAC,EAAE,IAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAU,CAAC,CAAC,CAAC,CAAC,IAAI;gBACzF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,UAAC,IAAe,EAAE,CAAS,IAAK,2DAAC,uEAAwB,IAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,GAAI,EAAzD,CAAyD,CAAC,CACrH,CAAC,CAAC;QACb,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,aAAa;YACrC,aAAa;YACb,IAAI,CAAC,mBAAmB,EAAE,CACvB,CACP,CAAC;IACJ,CAAC;IACH,mCAAC;AAAD,CAAC,CAzCiD,8EAAsB,GAyCvE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,UAAC,KAAK;IACzE,OAAO,mDAAmB,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH,2DAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;;;;;;;;;;;;;ACnDtF;AAAA;AAAA;IAAA;QAEU,gBAAW,GAA6C,EAAE,CAAC;IAuBrE,CAAC;IArBQ,6CAAe,GAAtB,UACE,WAAmB,EACnB,cAA2C;QAE3C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC;IACjD,CAAC;IACM,yCAAW,GAAlB;QACE,IAAI,MAAM,GAAG,IAAI,KAAK,EAAU,CAAC;QACjC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IACM,iDAAmB,GAA1B,UAA2B,WAAmB;QAC5C,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IACM,2CAAa,GAApB,UAAqB,WAAmB,EAAE,MAAW;QACnD,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAvBa,4BAAQ,GAAwB,IAAI,mBAAmB,EAAE,CAAC;IAwB1E,0BAAC;CAAA;AAzB+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFN;AAE2C;AACL;AACJ;AAE5D;IAAyC,uCAAyB;IAAlE;;IAuBA,CAAC;IAtBC,sBAAY,wCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACM,oCAAM,GAAb;QACE,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC/B,2DAAC,4EAAY,IAAC,OAAO,EAAE,OAAO,GAAiB,CAChD,CAAC,CAAC,CAAC,IAAI,CAAC;QACT,IAAM,WAAW,GAAG,OAAO,CAAC,wBAAwB;YAClD,CAAC,CAAC,wEAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC;QAET,IAAM,6BAA6B,GAAG,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,2DAAC,iFAAe,IAAC,KAAK,EAAG,OAAO,CAAC,sBAAsB,GAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;QAE5J,OAAO,CACL,oEAAK,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,UAAC,CAAC,IAAK,cAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,EAAvE,CAAuE;YACvH,KAAK;YACL,WAAW;YACX,6BAA6B,CAC1B,CACP,CAAC;IACJ,CAAC;IACH,0BAAC;AAAD,CAAC,CAvBwC,4CAAK,CAAC,SAAS,GAuBvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7B8B;AAG6B;AACJ;AAGxD;IAAsC,oCAA2B;IAE/D,0BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADE,KAAI,CAAC,OAAoB,CAAC,UAAU,CAAC;;IACxC,CAAC;IACS,0CAAe,GAAzB;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,sBAAY,qCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAY,mCAAK;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAY,iCAAG;aAAf;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,CAAC;;;OAAA;IACD,sBAAY,oCAAM;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAY,qCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAc,iCAAG;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,CAAC;;;OAAA;IAEM,gDAAqB,GAA5B,UAA6B,SAAc,EAAE,SAAc;QACzD,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAEpE,IAAI,CAAC,OAAoB,CAAC,UAAU,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAES,wCAAa,GAAvB;QACE,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAM,GAAG,GAAI,OAAoB,CAAC,eAAe,CAAC;QAClD,IAAM,OAAO,GAAG;YACd,IAAM,EAAE,GAAQ,OAAO,CAAC;YACxB,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE;gBACvB,EAAE,CAAC,OAAO,EAAE,CAAC;aACd;QACH,CAAC,CAAC;QACF,OAAO,CACL,6DACE,SAAS,EAAE,GAAG,CAAC,eAAe,EAC9B,KAAK,EAAG,OAAe,CAAC,SAAS,cACvB,YAAY,CAAC,GAAG,EAC1B,GAAG,EAAE,YAAY,CAAC,GAAG,EACrB,OAAO,EAAE,OAAO,IAEf,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CACnJ,CACP,CAAC;IACJ,CAAC;IAES,wCAAa,GAAvB,UAAwB,OAAiB,EAAE,YAAqB;QAC9D,IAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,oEAAmB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE;YAClE,WAAW,GAAG,UAAU,CAAC;SAC1B;QACD,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE;YAC7D,GAAG,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK;YACzB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IACH,uBAAC;AAAD,CAAC,CAxEqC,wEAAiB,GAwEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/E8B;AAEyB;AAClB;AACW;AAEjD;IAAqC,mCAAW;IAC9C,yBAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAW,sCAAS;aAApB;YACE,OAAO,IAAI,CAAC,KAAuB,CAAC;QACtC,CAAC;;;OAAA;IACD,2CAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,qBAAqB,GAAG;gBACrC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC;SAC3D;IACH,CAAC;IACD,8CAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,qBAAqB,GAAG,IAAW,CAAC;YACnD,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAW,CAAC;SACnD;IACH,CAAC;IACS,qCAAW,GAArB,UAAsB,IAAY;QAChC,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IACS,wCAAc,GAAxB,UAAyB,QAAkB;QACzC,OAAO,YAAY,GAAG,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;IACtD,CAAC;IACS,oCAAU,GAApB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,IAAG,CAAC,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,MAAM,CAAC,CAAC;SACjB;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAEO,sCAAY,GAApB;QACE,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IACS,oCAAU,GAApB;QACE,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QACjC,IAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC;QACjE,IAAI,CAAC,SAAS,EAAE;YACd,IAAM,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACnC,OAAO,6DAAK,uBAAuB,EAAE,SAAS,GAAI,CAAC;SACpD;QACD,IAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACS,qCAAW,GAArB,UAAsB,QAAqB;QACzC,IAAM,KAAK,GAAuB,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAG,CAAC,CAAC,IAAI,EAAE;gBACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACO,kCAAQ,GAAhB,UAAiB,QAAgB;QAC/B,IAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE;YAClC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;SAC3B;QACD,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE;YAClC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;SAC5B;QACD,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE;YAClC,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC;SACpC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACS,0CAAgB,GAA1B,UAA2B,IAAU;QACnC,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,QAAQ,KAAK,KAAK;YACpB,OAAO,6DAAK,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,IAAG,QAAQ,CAAO,CAAC;QACzD,OAAO,CACL,8DAAM,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAC3D,QAAQ,CACJ,CACR,CAAC;IACJ,CAAC;IACS,oCAAU,GAApB,UAAqB,IAAU;QAC7B,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,QAAQ,KAAK,UAAU,EAAE;YAC3B,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAkB,CAAC,CAAC;YAC3E,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC3B,IAAM,YAAY,GAAG,CACnB,oDAAC,6DAAc,IACb,GAAG,EAAE,QAAQ,CAAC,IAAI,EAClB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,GAAG,EAAE,IAAI,CAAC,GAAG,GACb,CACH,CAAC;YACF,OAAO,8DAAM,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,IAAG,YAAY,CAAQ,CAAC;SAC9D;QACD,IAAI,QAAQ,KAAK,KAAK,EAAE;YACtB,OAAO,6DAAK,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,IAAG,IAAI,CAAC,WAAW,CAAO,CAAC;SAChE;QACD,OAAO,CACL,8DAAM,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAC3D,IAAI,CAAC,WAAW,CACZ,CACR,CAAC;IACJ,CAAC;IACO,0CAAgB,GAAxB,UAAyB,IAAU;QACjC,IAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACO,+CAAqB,GAA7B,UAA8B,IAAU;QACtC,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;SAC/D;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACS,uCAAa,GAAvB,UAAwB,KAAU,EAAE,IAAmB;QACrD,OAAO,mDAAmB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IACH,sBAAC;AAAD,CAAC,CAlIoC,kDAAW,GAkI/C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,eAAK;IAC7D,OAAO,mDAAmB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5I4B;AACqC;AAEL;AACN;AAEzD;IAAyC,uCAAyB;IAChE,6BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,+CAAiB,GAAjB;QAAA,iBAKC;QAJC,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,GAAG;YACrC,KAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IACD,kDAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,GAAG,cAAQ,CAAC,CAAC;IACnD,CAAC;IAED,sBAAc,yCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAkC,CAAC;QACjD,CAAC;;;OAAA;IAES,2CAAa,GAAvB;QAAA,iBA2DC;QA1DC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,KAAK,GAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAC3I,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC7D,KAAK,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;SAC3B;QACD,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,OAAO,EAAE;YAC1C,OAAO,GAAG,CACR,6DACE,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAC5C,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EACjD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAClC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc;gBACpC,+BAA+B;gBAC/B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,UAAC,KAAU,IAAO,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAC1D,OAAO,EAAE,UAAC,KAAU,IAAO,KAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,GAC5D,CACH,CAAC;SACH;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,OAAO,EAAE;YAC1C,OAAO,GAAG,CACR,+DAAO,QAAQ,QACb,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAC5C,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAClC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EACpC,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,UAAC,KAAU,IAAO,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EACpE,OAAO,EAAE,UAAC,KAAU,IAAO,KAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,GACrD,CACV,CAAC;SACH;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;YAC5C,OAAO,GAAG,CACR,gEACE,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAC5C,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAClC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EACpC,KAAK,EAAE,KAAK,GACJ,CACX,CAAC;SACH;QACD,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC7D,OAAO,GAAG,CACR,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO;gBAC9C,oDAAC,qEAAO,IACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EACnD,IAAI,EAAE,EAAE,GAEA,CACN,CACP,CAAC;SACH;QACD,OAAO,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;YAAG,OAAO;YAAE,OAAO,CAAO,CAAC;IACjF,CAAC;IACH,0BAAC;AAAD,CAAC,CA/EwC,gFAAyB,GA+EjE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,KAAK;IAC5D,OAAO,mDAAmB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzF4B;AAC4E;AAE5C;AACC;AACP;AAEzD;IAA+C,6CAAyB;IACtE,mCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,+CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAwC,CAAC;QACvD,CAAC;;;OAAA;IACS,iDAAa,GAAvB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,OAAO,CACL,kEAAU,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE;YACvD,gEACE,IAAI,EAAC,OAAO,gBACA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,GAAI;YACpD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC1E,CACZ,CAAC;IACJ,CAAC;IAES,8CAAU,GAApB,UAAqB,UAAe;QAApC,iBAeC;QAdC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAW,EAAE,EAAU;YACvD,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,EAAU;gBAC3C,YAAI,CAAC,UAAU,CACb,MAAM,GAAG,EAAE,EACX,IAAI,EACJ,UAAU,CACX;YAJD,CAIC,CACF,CAAC;YACF,OAAO,CACL,6DAAK,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAC,cAAc,IACpF,KAAK,CACF,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAES,4CAAQ,GAAlB,UAAmB,UAAe;QAChC,IAAI,KAAK,GAAsB,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5D,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAsB,EAAE,UAAU,CAAC,CAAC,CAAC;SACtE;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,sBAAc,gDAAS;aAAvB;YACE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACtE,CAAC;;;OAAA;IACS,8CAAU,GAApB,UACE,GAAW,EACX,IAAoB,EACpB,UAAe;QAEf,IAAM,YAAY,GAAG,oDAAC,6BAA6B,IAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,GAAkC,CAAC;QAC5J,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QACnD,IAAI,WAAW,GAAuB,IAAI,CAAC;QAC3C,IAAG,CAAC,CAAC,MAAM,EAAE;YACX,WAAW,GAAG,4EAA0B,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACnG;QACD,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,YAAY,CAAC;IACrC,CAAC;IACH,gCAAC;AAAD,CAAC,CA7D8C,gFAAyB,GA6DvE;;AACD;IAAmD,iDAAkB;IACnE,uCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACvD,CAAC;IACS,uDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,yDAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,4DAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,cAAa,CAAC,CAAC;IACpD,CAAC;IACD,0DAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACO,yDAAiB,GAAzB;QAAA,iBAIC;QAHC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG;YACjC,KAAI,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,IAAI,KAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpH,CAAC,CAAC;IACJ,CAAC;IACD,sBAAc,qDAAU;aAAxB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,CAAC;;;OAAA;IAED,sBAAc,+CAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IAED,sBAAc,mDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IAED,sDAAc,GAAd,UAAe,KAAU;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;gBACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACtE;iBAAM;gBACL,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACpC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;aACjC;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;SAC1C;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAES,qDAAa,GAAvB;QAAA,iBAsGC;QArGC,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,GAAuB,IAAI,CAAC;QACpC,IAAI,QAAQ,CAAC,SAAS,EAAE;YACtB,IAAI,GAAG,CACL,8DACE,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,IAEtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,wEAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CACpE,CACR,CAAC;SACH;QAED,IAAI,KAAK,GAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAEvD,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,OAAO,EAAE;YAC3E,OAAO,GAAG,CACR,6DACE,SAAS,EAAE,UAAU,CAAC,KAAK,EAC3B,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,EACnC,KAAK,EAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EACxC,MAAM,EAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAC1C,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAC9B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,UAAC,KAAU,IAAO,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EACtF,OAAO,EAAE,UAAC,KAAU,IAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAC1E,CACH,CAAC;SACH;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,OAAO,EAAE;YAC3E,OAAO,GAAG,CACR,+DAAO,QAAQ,QACb,SAAS,EAAE,UAAU,CAAC,KAAK,EAC3B,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,EACnC,KAAK,EAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EACxC,MAAM,EAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAC1C,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,UAAC,KAAU,IAAO,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAChG,OAAO,EAAE,UAAC,KAAU,IAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACnE,CACV,CAAC;SACH;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC5D,IAAI,OAAK,GAAQ;gBACf,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB;gBACvC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB;gBACzC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;aAClC,CAAC;YACF,OAAO,GAAG,CACR,6DACE,SAAS,EAAE,UAAU,CAAC,WAAW,EACjC,KAAK,EAAE,OAAK,IAGV,UAAU,CAAC,kBAAkB,CAAC,CAAC;gBAC7B,oDAAC,qEAAO,IACN,SAAS,EAAE,UAAU,CAAC,kBAAkB,EACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,EACvD,IAAI,EAAE,EAAE,GACC,EAAC;gBACZ,IAAI,CAEJ,CACP,CAAC;SACH;QAED,IAAM,YAAY,GAAG,CACnB,6DAAK,SAAS,EAAE,SAAS;YACvB,+DAAO,SAAS,EAAE,UAAU,CAAC,KAAK;gBAChC,+DACE,SAAS,EAAE,UAAU,CAAC,WAAW,EACjC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EACjC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAChC,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAC7C,QAAQ,EAAE,IAAI,CAAC,cAAc,mBACd,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;gBACF,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa;oBACpD,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc;wBACpD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;4BAChD,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,IAC3D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,oDAAC,qEAAO,IAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,GAAY,CAAC,CAAC,CAAC,IAAI,CACvM,CAAC,CAAC,CAAC,IAAI;wBACf,OAAO,CACJ;oBACL,IAAI,CACD,CACA,CACJ,CACP,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IACH,oCAAC;AAAD,CAAC,CA3JkD,yEAAkB,GA2JpE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,UAAC,KAAK;IAClE,OAAO,mDAAmB,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpO4B;AAE6B;AACb;AACiB;AAEhE;IAAgC,8BAAe;IAC7C,oBAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,iCAAY,GAAtB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IACD,sBAAW,4BAAI;aAAf;YACE,OAAO,IAAI,CAAC,SAAsB,CAAC;QACrC,CAAC;;;OAAA;IACS,kCAAa,GAAvB;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACtD,OAAO,CACL,6DAAK,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YACjD,KAAK;YACL,WAAW;YACX,IAAI,CACA,CACR,CAAC;IACJ,CAAC;IACS,gCAAW,GAArB;QACE,OAAO,oDAAC,4EAAY,IAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAiB,CAAC;IAC3D,CAAC;IACS,sCAAiB,GAA3B;QACE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC;QAC7C,IAAI,IAAI,GAAG,wEAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvE,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,IAAG,IAAI,CAAO,CACzE,CAAC;IACJ,CAAC;IACH,iBAAC;AAAD,CAAC,CAhC+B,2DAAe,GAgC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtC8B;AAG6B;AAC1B;AAElC;IAAqC,mCAA2B;IAE9D,yBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QAoEO,uBAAiB,GAAQ,EAAE,CAAC;QArElC,KAAI,CAAC,OAAO,GAAG,+CAAe,EAAE,CAAC;;IACnC,CAAC;IACS,yCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACS,2CAAiB,GAA3B,UAA4B,GAAW;QACrC,OAAO,GAAG,KAAK,UAAU,IAAI,iBAAM,iBAAiB,YAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,sBAAc,mCAAM;aAApB;YACE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAc,oCAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAc,gCAAG;aAAjB;YACE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;;;OAAA;IACD,sBAAW,sCAAS;aAApB;YACE,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7B,CAAC;;;OAAA;IACS,sCAAY,GAAtB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IACnD,CAAC;IACS,mCAAS,GAAnB;QACE,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CACvE,CAAC;IACJ,CAAC;IACS,gCAAM,GAAhB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IACxB,CAAC;IACD,2CAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,8CAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,CAAC,EAAE,EAAE;YACR,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;SACrC;IACH,CAAC;IACD,4CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IACE,CAAC,CAAC,SAAS,CAAC,IAAI;YAChB,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YACzB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;YAEhD,OAAO;QACT,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACO,uCAAa,GAArB;QACE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9B,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;YACrB,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAuB,EAAE,EAAE,CAAC,CAAC;aAChE;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;aACjC;SACF;IACH,CAAC;IACS,mCAAS,GAAnB;QACE,OAAO,CACL,iBAAM,SAAS,WAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS;eACnD,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CACvD,CAAC;IACJ,CAAC;IAES,oCAAU,GAApB,UAAqB,GAAQ;QAC3B,IAAI,IAAI,CAAC,oBAAoB,KAAK,MAAM,EAAE;YACxC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC7B;QACD,IAAI,IAAI,GAAsB,EAAE,CAAC;QACjC,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,GAAG,EAAE;gBACR,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC3C,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;aAClD;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACS,mCAAS,GAAnB,UAAoB,GAAqB,EAAE,GAAQ;QACjD,OAAO,CACL,oDAAC,8CAAS,IACR,GAAG,EAAE,GAAG,CAAC,EAAE,EACX,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,GAAG,EAAE,GAAG,GACR,CACH,CAAC;IACJ,CAAC;IACH,sBAAC;AAAD,CAAC,CArGoC,wEAAiB,GAqGrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3G8B;AACuB;AACM;AACJ;AAET;AAEiB;AACK;AACL;AACT;AAEvD;IAAiC,+BAAe;IAE9C,qBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SACb;QAHO,qBAAe,GAAY,KAAK,CAAC;;IAGzC,CAAC;IACD,sBAAW,8BAAK;aAAhB;YACE,OAAO,IAAI,CAAC,SAAuB,CAAC;QACtC,CAAC;;;OAAA;IACS,mCAAa,GAAvB;QAAA,iBAqCC;QApCC,IAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,IAAM,MAAM,GAAG,CACb,oDAAC,kEAAmB,IAClB,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EACrC,OAAO,EAAE,IAAI,CAAC,OAAO,GACrB,CACH,CAAC;QACF,IAAM,KAAK,GAAG;YACZ,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;YACxC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;SACtD,CAAC;QACF,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,EAAE;YACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAM,IAAI,GAAkB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACvE,IAAM,SAAS,GAAW,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;YAClE,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SACtD;QACD,IAAM,OAAO,GAAG;YACd,IAAG,KAAI,CAAC,SAAS;gBAAG,KAAI,CAAC,SAAwB,CAAC,OAAO,EAAE,CAAC;QAC9D,CAAC,CAAC;QACF,OAAO,CACL,6DACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,SAAS,EAAG,IAAI,CAAC,SAAwB,CAAC,eAAe,EAAE,EAC3D,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;YAGpB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YAC/C,MAAM;YACN,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YAC/C,OAAO,CACJ,CACP,CAAC;IACJ,CAAC;IACS,kCAAY,GAAtB;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YACtD,OAAO,IAAI,CAAC;SACb;QACD,OAAO,oDAAC,mEAAmB,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,GAAwB,CAAC;IAC1E,CAAC;IACS,iCAAW,GAArB,UAAsB,OAAoB;QACxC,IAAM,MAAM,GAAgB,IAAI,CAAC,KAAK,CAAC,MAAqB,CAAC;QAC7D,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,4EAA0B,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/E;QACD,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,CAAC;IAC5B,CAAC;IACS,mCAAa,GAAvB,UAAwB,KAAU,EAAE,IAAmB,EAAE,SAAiB;QACxE,IAAM,MAAM,GAAuB,IAAI,CAAC,YAAY,EAAE,CAAC;QACvD,OAAO,CACL,6DAAK,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;YAC9D,IAAI;YACJ,MAAM,CACH,CACP,CAAC;IACJ,CAAC;IACS,iCAAW,GAArB;QACE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,oDAAC,4EAAY,IAAC,OAAO,EAAE,IAAI,CAAC,SAAS,GAAiB,CAAC;IAChE,CAAC;IACS,uCAAiB,GAA3B;QACE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC7C,IAAI,IAAI,GAAG,wEAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC5E,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,IAAG,IAAI,CAAO,CACtE,CAAC;IACJ,CAAC;IACS,kCAAY,GAAtB;QACE,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACpD,IAAI,CAAC,aAAa,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,oDAAC,iFAAe,IAAC,KAAK,EAAE,aAAa,GAAoB,CAAC;IACnE,CAAC;IACH,kBAAC;AAAD,CAAC,CArFgC,2DAAe,GAqF/C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,UAAC,KAAK;IAC1D,OAAO,mDAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrG4B;AACoC;AACN;AACE;AAE/D;IAAkD,gDAA+C;IAC/F,sCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,oDAAa,GAAvB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC3C,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,IAClD,MAAM,CACH,CACP,CAAC;IACJ,CAAC;IACH,mCAAC;AAAD,CAAC,CAbiD,yEAA0B,GAa3E;;AACD,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAC5C,oBAAoB,EACpB,UAAC,KAAK;IACJ,OAAO,mDAAmB,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC,CACF,CAAC;AAEF,2DAAe,CAAC,QAAQ,CAAC,gBAAgB,CACvC,QAAQ,EACR,UAAU,EACV,oBAAoB,CACrB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9B6B;AACQ;AACqB;AACP;AACI;AAEzD;IAAiC,+BAAM;IAErC,qBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IAC3D,CAAC;IACS,sCAAgB,GAA1B;QACE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,sCAAgB,GAAhB,UAAiB,KAAU;QACzB,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;IACpC,CAAC;IACS,+BAAS,GAAnB;QACE,OAAO,iBAAM,SAAS,WAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IACnD,CAAC;IACS,mCAAa,GAAvB;QACE,IAAI,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,IAAI,KAAK,GAAwB;YAC/B,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,EAAE;SACV,CAAC;QACF,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC9B,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YACvC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;SAC3C;QACD,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK;YAC7C,MAAM;YACN,IAAI,CACD,CACP,CAAC;IACJ,CAAC;IACS,wCAAkB,GAA5B;QAAA,iBAoCC;QAnCC,IAAI,MAAM,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAClD,IAAI,UAAU,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAC1C,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1C,cAAc,GAAG,uBAAuB,GAAG,cAAc,CAAC;QAC1D,IAAI,KAAK,GAAG,wEAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpE,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACtC,8DAAM,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM;gBACjD,8DAAM,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,UAAU,IAC1D,KAAK,CACD;gBACP,8DAAM,SAAS,EAAE,cAAc,iBAAc,MAAM,GAAG,CACjD;YACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CACvB,8DACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EACrC,OAAO,EAAE,cAAQ,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EACrC,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;gBAEvG,oDAAC,qEAAO,IAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,GACtC,CACL,CACR,CAAC,CAAC,CAAC,IAAI;YACP,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CACvB,8DACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EACrC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;gBAE3E,oDAAC,qEAAO,IAAC,QAAQ,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,GACxC,CACL,CACR,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;IACJ,CAAC;IACS,gCAAU,GAApB;QAAA,iBAEC;QADC,OAAO,6DAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAM,YAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAArB,CAAqB,IAAG,IAAI,CAAC,QAAQ,EAAE,CAAO,CAAC;IAC5G,CAAC;IACS,kCAAY,GAAtB,UAAuB,QAAa;QAClC,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,EAAE,CAAC;QAC7B,iBAAM,YAAY,YAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,4DAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,QAAQ,CAAC,sBAAsB,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,sBAAsB,GAAG,QAAQ,CAAC,sBAAsB,CAAC;SACrE;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC;YACtE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IACH,kBAAC;AAAD,CAAC,CAtFgC,mDAAM,GAsFtC;;AACD;;GAEG;AACH;IAAkC,gCAAW;IAA7C;;IAA+C,CAAC;IAAD,mBAAC;AAAD,CAAC,CAAd,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChGjB;AAC6K;AACxK;AAEwB;AACJ;AACgB;AAET;AACP;AAEJ;AACM;AACc;AAExE;IAA4B,0BAA2B;IAerD,gBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAMb;QApBO,kBAAY,GAAG,EAAE,CAAC;QAwBlB,qBAAe,GAAG,KAAK,CAAC;QAT9B,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,KAAI,CAAC,OAAO,GAAG,+CAAe,EAAE,CAAC;QACjC,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC;QACnC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;;IACjD,CAAC;IAlBD,sBAAkB,iBAAO;aAAzB;YACE,OAAO,qDAAS,CAAC,WAAW,CAAC;QAC/B,CAAC;aACD,UAA0B,KAAa;YACrC,yDAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;;;OAHA;IAiBS,gCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,gCAAe,GAAvB;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;YACjB,IAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,CAAC,EAAE;gBAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;SAChC;IACH,CAAC;IACD,sCAAqB,GAArB,UAAsB,SAAc,EAAE,SAAc;QAClD,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QACrE,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;YACtC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,mCAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzC,IAAG,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;IACH,CAAC;IACD,kCAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IACD,8BAAa,GAAb;QACE,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,SAAgB,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;SACrC;IACH,CAAC;IACD,qCAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,yBAAQ,GAAR;QACE,IAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;YACjC,uDAAW,CAAC,WAAW,EAAE,CAAC;SAC3B;QACD,IAAI,YAAgC,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;YACpC,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;SACvC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,iBAAiB,EAAE;YACjD,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC7C;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;YACzC,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;SACrC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE;YACvC,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;SACzC;aAAM;YACL,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;SACpC;QACD,IAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACnK,IAAM,MAAM,GAAuB,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,oDAAC,oFAAY,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;QACjI,IAAM,QAAQ,GAAG,UAAU,KAAuC;YAChE,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC,CAAC;QACF,IAAI,YAAY,GAAuB,6DAAK,SAAS,EAAC,kBAAkB,GAAG,CAAC;QAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,YAAY,GAAG,IAAI,CAAC;SACrB;QACD,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,IAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAE7F,OAAO,CACL,6DAAK,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;YAClG,eAAe;YAChB,8DAAM,QAAQ,EAAE,QAAQ;gBACrB,YAAY;gBACb,6DAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;oBAC/B,MAAM;oBACP,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,GAAwB;oBAC9G,YAAY;oBACb,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,GAAwB,CAC3G,CACD;YACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,oDAAC,gEAAS,OAAE,CAAC,CAAC,CAAC,IAAI;YACjD,oDAAC,sEAAiB,IAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAuB,CACpE,CACP,CAAC;IACJ,CAAC;IACS,8BAAa,GAAvB;QACE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACD,sBAAW,uBAAG;aAAd;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACzB,CAAC;aACD,UAAe,KAAU;YACvB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC;QAC1B,CAAC;;;OAHA;IAIS,gCAAe,GAAzB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAEhD,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;QAC/D,OAAO,CACL,oDAAC,8CAAc;YACb,6DACE,uBAAuB,EAAE,SAAS,EAClC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,GACnC;YACF,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,KAAK,GAAwB,CACtG,CAClB,CAAC;IACJ,CAAC;IACS,sCAAqB,GAA/B;QACE,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC;QACrE,OAAO,CACL,6DAAK,uBAAuB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAI,CACvF,CAAC;IACJ,CAAC;IACS,8BAAa,GAAvB;QACE,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAC7D,OAAO,CACL,6DAAK,uBAAuB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,GAAI,CACnF,CAAC;IACJ,CAAC;IACS,6BAAY,GAAtB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;YACrC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC;QACT,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QACjD,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAErE,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,IAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,IAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YAC9B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;SAC5C;QACD,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAC1C,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAwB;YACnF,6DACE,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK;gBAEZ,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,GAAwB;gBACxF,UAAU;gBACX,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,GAAwB,CACxF;YACN,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,GAAwB,CAChF,CACP,CAAC;IACJ,CAAC;IACS,2BAAU,GAApB,UAAqB,IAAe;QAClC,OAAO,CACL,oDAAC,gDAAU,IACT,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,OAAO,EAAE,IAAI,GACb,CACH,CAAC;IACJ,CAAC;IACS,kCAAiB,GAA3B;QACE,OAAO,6DAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,IAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAO,CAAC;IACjF,CAAC;IACS,6BAAY,GAAtB,UAAuB,QAAa;QAClC,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,QAAQ,EAAE;YACZ,IAAI,QAAQ,CAAC,KAAK,EAAE;gBAClB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;aAC9B;iBAAM;gBACL,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACjB,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAClC,IAAI,CAAC,MAAM,GAAG,IAAI,uDAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBAC9C;aACF;SACF;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,uDAAW,EAAE,CAAC;SACjC;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SAC5B;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IACO,mCAAkB,GAA1B,UAA2B,QAAa;QACtC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACtB,OAAO,CAAC,mDAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SACvE;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACS,6BAAY,GAAtB,UAAuB,QAAa,EAAE,QAAc;QAClD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC1B,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE;YACxB,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,IAAI,MAAM,EAAE;gBACxD,SAAS;aACV;YACD,IAAI,GAAG,IAAI,KAAK,EAAE;gBAChB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAClC,SAAS;aACV;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC9C,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;gBACtE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;iBACxC;gBACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;aACrC;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;aAClC;SACF;IACH,CAAC;IACS,gCAAe,GAAzB;QACE,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG;YAC3B,IAAI,OAAO,GACT,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,UAAC,MAAM;YACnC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;gBAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IACT,sCAAqB,GAA5B,UAA6B,QAAkB;QAC7C,OAAO,2EAAoB,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EACtI;YACE,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,QAAQ,CAAC,eAAe;YACvC,OAAO,EAAE,IAAI;SACd,CACF,CAAC;IACJ,CAAC;IACM,4BAAW,GAAlB,UACE,GAAW,EACX,KAAkB,EAClB,UAAe;QAEf,OAAO,CACL,6DAAK,GAAG,EAAE,GAAG;YACX,8DAAM,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,iBAAc,MAAM,GAAG;YAC1E,8DAAM,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS;gBACjD,oDAAC,oEAAqB,IAAC,MAAM,EAAE,KAAK,CAAC,OAAO,GAAI,CAC3C,CACH,CACP,CAAC;IACJ,CAAC;IACM,sCAAqB,GAA5B;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAC3C,CAAC;IACM,sCAAqB,GAA5B;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAC3C,CAAC;IACH,aAAC;AAAD,CAAC,CA/R2B,wEAAiB,GA+R5C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAC,KAAK;IAC3D,OAAO,mDAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEI,SAAS,eAAe,CAAC,OAAoB,EAAE,SAAe,EAAE,OAA8E;IAA9E,sCAAqC,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;IACnJ,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE;QACtF,OAAO,kDAAkB,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;KACtD;IACD,OAAO,gBAAQ,OAAO,CAAE,CAAC;IACzB,OAAO,kDAAkB,CACvB,OAAO,EACP;QACE,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,UAAC,GAAkB;YAC1B,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,iEAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,SAAS,EAAE,UAAC,GAAQ,IAAK,0EAAe,CAAC,GAAG,EAAE,OAAO,CAAC,EAA7B,CAA6B;QACtD,MAAM,EAAE,UAAC,GAAQ,IAAK,0EAAe,CAAC,GAAG,CAAC,EAApB,CAAoB;KAC3C,CACF,CAAC;AACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvU8B;AAG/B;IAA0C,wCAAyB;IACjE,8BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QAOO,yBAAmB,GAAQ,IAAI,CAAC;QARtC,KAAI,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;;IAC7B,CAAC;IACD,sBAAc,wCAAM;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAc,qCAAG;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3C,CAAC;;;OAAA;IAED,gDAAiB,GAAjB;QACE,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,mBAAmB,GAAG;gBACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAChE;IACH,CAAC;IACD,mDAAoB,GAApB;QACE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC3C,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACjC;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,CA3ByC,+CAAe,GA2BxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9B8B;AACmB;AACiB;AACX;AAExD;IAAoC,kCAAoB;IACtD,wBAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,iCAAK;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAc,oCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACnC,CAAC;;;OAAA;IACD,sBAAc,wCAAY;aAA1B;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAClC,CAAC;;;OAAA;IACD,+BAAM,GAAN;QACE,IAAI,aAAa,GAAG;YAClB,KAAK,EAAE,IAAI,CAAC,QAAQ,GAAG,GAAG;SAC3B,CAAC;QACF,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YACrE,6DACE,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAC/B,IAAI,EAAC,aAAa,mBACH,CAAC,mBACD,GAAG;gBAElB,8DACE,SAAS,EAAE,+DAAmB,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,IAE/D,IAAI,CAAC,YAAY,CACb,CACH;YACN,8DACE,SAAS,EAAE,+DAAmB,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,IAElE,IAAI,CAAC,YAAY,CACb,CACH,CACP,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,CAxCmC,+EAAoB,GAwCvD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,mBAAmB,EAAE,eAAK;IACrE,OAAO,mDAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AACH,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,uBAAuB,EAAE,eAAK;IACzE,OAAO,mDAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AACH,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,8BAA8B,EAC9B,eAAK;IACH,OAAO,mDAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CACF,CAAC;AACF,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,+BAA+B,EAC/B,eAAK;IACH,OAAO,mDAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChE6B;AACqC;AACD;AACX;AAExD;IAA2C,yCAAoB;IAI7D,+BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAGb;QANO,oBAAc,GAAQ,SAAS,CAAC;QAItC,KAAI,CAAC,oBAAoB,GAAG,IAAI,sEAA0B,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;QACxE,KAAI,CAAC,gBAAgB,GAAG,+CAAe,EAAE,CAAC;;IAC5C,CAAC;IACD,sCAAM,GAAN;QAAA,iBA6BC;QA5BC,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,8BAA8B;YACrD,6DAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,wBAAwB;gBAC/C,6DACE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EACxC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE;wBACP,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC;oBAA3D,CAA2D,GAExD;gBACP,6DACE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAChD,GAAG,EAAE,IAAI,CAAC,gBAAgB;oBAE1B,4DAAI,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,IACxC,IAAI,CAAC,eAAe,EAAE,CACpB,CACD;gBACN,6DACE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EACzC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE;wBACP,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC;oBAA5D,CAA4D,GAEzD,CACH,CACF,CACP,CAAC;IACJ,CAAC;IACS,+CAAe,GAAzB;QAAA,iBAMC;QALC,IAAI,OAAO,GAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,IAAe,EAAE,KAAa;YAC9D,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IACS,iDAAiB,GAA3B,UAA4B,IAAe,EAAE,KAAa;QAA1D,iBAyBC;QAxBC,OAAO,CACL,4DACE,GAAG,EAAE,aAAa,GAAG,KAAK,EAC1B,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EACxC,OAAO,EACL,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;gBAChC,CAAC,CAAC,cAAM,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B;gBACpC,CAAC,CAAC,SAAS;YAGf,6DACE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAC5C,KAAK,EAAE,IAAI,CAAC,uBAAuB,IAElC,IAAI,CAAC,uBAAuB,CACzB;YACN,6DACE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,8BAA8B,EAClD,KAAK,EAAE,IAAI,CAAC,qBAAqB,IAEhC,IAAI,CAAC,qBAAqB,CACvB,CACH,CACN,CAAC;IACJ,CAAC;IACS,sDAAsB,GAAhC,UAAiC,KAAa;QAC5C,OAAO,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IACS,iDAAiB,GAA3B,UAA4B,KAAa;QACvC,OAAO,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IACS,gDAAgB,GAA1B,UAA2B,KAAa;QACtC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IACS,kDAAkB,GAA5B,UAA6B,YAAqB;QAChD,OAAO,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5F,CAAC;IACS,iDAAiB,GAA3B,UACE,oBAAoC,EACpC,YAAqB;QAErB,IAAG,CAAC,CAAC,oBAAoB,EAAE;YACzB,oBAAoB,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;SACjE;IACH,CAAC;IACD,iDAAiB,GAAjB;QAAA,iBAMC;QALC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;YAChC,IAAG,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBAClC,KAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,GAAG,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;aACxH;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IACD,oDAAoB,GAApB;QACE,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAC9C,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;SACjC;IACH,CAAC;IACH,4BAAC;AAAD,CAAC,CAzG0C,+EAAoB,GAyG9D;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,UAAC,KAAK;IACxE,OAAO,mDAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClH4B;AAC2C;AACP;AACX;AACV;AACG;AACQ;AAEzD;IAAuC,qCAAoB;IAA3D;;IAkBA,CAAC;IAjBC,kCAAM,GAAN;QACE,IAAM,QAAQ,GAAG,IAAI,oDAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,OAAoB,CAAC;QACzB,IAAG,QAAQ,CAAC,QAAQ,EAAE;YACpB,OAAO,GAAG,6DAAK,OAAO,EAAE,QAAQ,CAAC,WAAW;gBAC1C,oDAAC,qEAAO,IAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG;gBAC7C,oDAAC,6DAAK,IAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,GAAG,CAChC,CAAC;SACR;aAAM;YACL,OAAO,GAAG,oDAAC,0DAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,GAAI,CAAC;SAC/C;QACD,OAAO,CACL,6DAAK,SAAS,EAAE,QAAQ,CAAC,YAAY,IAClC,OAAO,CACJ,CACP,CAAC;IACJ,CAAC;IACH,wBAAC;AAAD,CAAC,CAlBsC,+EAAoB,GAkB1D;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,iBAAiB,EAAE,UAAC,KAAK;IACpE,OAAO,mDAAmB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9B4B;AASiC;AACR;AACwB;AACZ;AACf;AACE;AASvD;IAAoC,kCAA2B;IAc7D,wBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QAhBO,iBAAW,GAAG,KAAK,CAAC;QAe1B,KAAI,CAAC,OAAO,GAAG,+CAAe,EAAE,CAAC;;IACnC,CAAC;IAfa,iCAAkB,GAAhC,UACE,OAAuB,EACvB,QAAkB;QAElB,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;SAChD;QACD,OAAO,oDAAC,iEAAkB,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC;IACtE,CAAC;IAMS,wCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,sBAAc,oCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAY,mCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,0CAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;SAC/B;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,6CAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;SAC/B;QACD,IAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,CAAC,EAAE,EAAE;YACR,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;SACrC;IACH,CAAC;IACD,2CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACO,sCAAa,GAArB;QACE,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;aACpC;YACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC9B,IAAI,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,GAAG,EAAE;gBAClD,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;gBACtC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC7B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBAC/B;aACF;SACF;IACH,CAAC;IACS,kCAAS,GAAnB;QACE,OAAO,CACL,iBAAM,SAAS,WAAE;YACjB,CAAC,CAAC,IAAI,CAAC,QAAQ;YACf,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,IAAI,CAAC,QAAQ,CAAC,SAAS,CACxB,CAAC;IACJ,CAAC;IAES,8CAAqB,GAA/B;QACE,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,YAAY,GAAG;YACjB,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;SAClD,CAAC;QACF,IAAI,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACrC,IAAI,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc;YAC1C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB;YAChD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,OAAO,GACT,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,IAAI,qBAAqB,GAAG,QAAQ,CAAC,wBAAwB;YAC3D,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC1B,CAAC,CAAC,IAAI,CAAC;QACT,OAAO,CACL,6DACE,SAAS,EAAE,QAAQ,CAAC,UAAU,IAAI,SAAS,EAC3C,KAAK,EAAE,YAAY,EACnB,IAAI,EAAC,cAAc;YAElB,SAAS;YACT,cAAc;YACd,OAAO;YACP,YAAY;YACZ,qBAAqB,CAClB,CACP,CAAC;IACJ,CAAC;IACS,sCAAa,GAAvB;QACE,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACrC,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,IAAI,YAAY,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7D,IAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB;YAC/D,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC;QAET,IAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB;YAC/D,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAE7E,OAAO,CACL;YACE,6DACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,EAAE,EAAE,QAAQ,CAAC,EAAE,EACf,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,EAChC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,QAAQ,CAAC,QAAQ,mBACR,IAAI,CAAC,QAAQ,CAAC,YAAY,kBAC3B,IAAI,CAAC,QAAQ,CAAC,WAAW,qBACtB,QAAQ,CAAC,cAAc,mBACzB,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,KAAK,MAAM;gBAE3F,mBAAmB;gBACnB,SAAS;gBACT,eAAe;gBACf,YAAY;gBACZ,mBAAmB,CAChB,CACL,CACJ,CAAC;IACJ,CAAC;IACS,oCAAW,GAArB,UAAsB,OAAoB;QACxC,IAAM,MAAM,GAAgB,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QAChE,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,4EAA0B,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClF;QACD,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,CAAC;IAC5B,CAAC;IACS,4CAAmB,GAA7B,UAA8B,OAAoB;QAChD,IAAM,MAAM,GAAgB,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QAChE,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,4EAA0B,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1F;QACD,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,CAAC;IAC5B,CAAC;IACS,uCAAc,GAAxB;QACE,OAAO,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;IACS,0CAAiB,GAA3B;QACE,OAAO,wEAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;IACS,sCAAa,GAAvB,UAAwB,UAAe;QACrC,IAAM,WAAW,GAAG,wEAAiB,CAAC,eAAe,CACnD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC7B,CAAC;QACF,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;YAC/C,iEAAM,WAAW,CAAO;YACxB,oDAAC,gFAAyB,IACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,UAAU,CAAC,KAAK,EAC1B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC5C,CACE,CACP,CAAC;IACJ,CAAC;IACS,qCAAY,GAAtB,UAAuB,QAAkB;QACvC,OAAO,oDAAC,mEAAmB,IAAC,OAAO,EAAE,QAAQ,GAAwB,CAAC;IACxE,CAAC;IACS,qCAAY,GAAtB,UAAuB,UAAe,EAAE,QAAgB;QACtD,OAAO,CACL,oDAAC,mBAAmB,IAClB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,SAAS,GAChC,CACH,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,CAvMmC,wEAAiB,GAuMpD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,UAAC,KAAK;IAC7D,OAAO,mDAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH;IAAyC,uCAAkB;IACzD,6BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,QAAQ,EAAE,CAAC;;IAC/B,CAAC;IACD,sBAAc,mCAAE;aAAhB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;QAC3C,CAAC;;;OAAA;IACD,sBAAc,wCAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAY,wCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAc,yCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACO,sCAAQ,GAAhB,UAAiB,SAAqB;QAArB,4CAAqB;QACpC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;IACpE,CAAC;IACS,uCAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACzD,CAAC;IACD,kDAAoB,GAApB;IACA,CAAC;IACS,2CAAa,GAAvB;QACE,IAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,IAAM,GAAG,GAAW,OAAO,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CACvE,CAAC;SACH;QAED,OAAO,CACL,6DACE,IAAI,EAAC,OAAO,eACF,QAAQ,EAClB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAChC,EAAE,EAAE,IAAI,CAAC,EAAE,IAEV,MAAM,CACH,CACP,CAAC;IACJ,CAAC;IACH,0BAAC;AAAD,CAAC,CA7CwC,yEAAkB,GA6C1D;;AAED;IAA6D,kDAAkB;IAE7E,wCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,wDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,sBAAc,oDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAc,mDAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACS,oDAAW,GAArB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IACD,sBAAc,mDAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,0DAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,2DAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACS,sDAAa,GAAvB,cAA4B,CAAC;IACnB,kDAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACS,sDAAa,GAAvB;QACE,IAAI,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,OAAO,CACL,0GACG,gBAAgB,CAChB,CACJ,CAAC;IACJ,CAAC;IAES,sDAAa,GAAvB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;IACjC,CAAC;IACS,uDAAc,GAAxB;QACE,OAAO,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;IACH,qCAAC;AAAD,CAAC,CA/C4D,yEAAkB,GA+C9E;;AAED;IAAiD,+CAA8B;IAG7E,qCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,OAAO,GAAG,+CAAe,EAAE,CAAC;;IACnC,CAAC;IACD,0DAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,CAAC,EAAE,EAAE;gBACR,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;aACrC;SACF;IACH,CAAC;IACS,mDAAa,GAAvB;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,IAAM,OAAO,GAAG,cAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CACL,4DACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,SAAS,EAAE,IAAI,CAAC,OAAO,EACvB,OAAO,EAAE,IAAI,CAAC,QAAQ,2BACC,IAAI,CAAC,aAAa,EAAE,EAC3C,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EACtB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,IAEf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAC5B,CACE,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,IAChD,IAAI,CAAC,cAAc,EAAE,CAClB,CAAC,CACV,CACE,CACN,CAAC;IACJ,CAAC;IACS,kDAAY,GAAtB;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IACS,mDAAa,GAAvB;QACE,OAAO,EAAE,CAAC;IACZ,CAAC;IACS,8CAAQ,GAAlB,UACE,IAAwC,EACxC,OAAoB;QAEpB,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,OAAO,CAAC;SAChB;QACD,IAAM,MAAM,GAAgB,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QAChE,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,4EAA0B,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC/F;QACD,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,CAAC;IAC5B,CAAC;IACH,kCAAC;AAAD,CAAC,CA3DgD,8BAA8B,GA2D9E;;AAED;IAA6C,2CAAyB;IACpE,iCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAOb;QANC,KAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,CAAC;SACX,CAAC;QACF,IAAG,KAAI,CAAC,QAAQ,EAAE;YAChB,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;SACtC;;IACH,CAAC;IACD,sBAAY,6CAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACO,wCAAM,GAAd;QACE,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IACO,kDAAgB,GAAxB,UAAyB,QAAkB;QAA3C,iBAIC;QAHC,QAAQ,CAAC,sCAAsC,CAAC,QAAQ,EAAE;YACxD,KAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC5B,CAAC;IACO,oDAAkB,GAA1B,UAA2B,QAAkB;QAC3C,QAAQ,CAAC,wCAAwC,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IACrF,CAAC;IACD,oDAAkB,GAAlB,UAAmB,SAAwB;QACzC,IAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;YAC7D,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACzC;QACD,IAAG,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtC;IACH,CAAC;IACD,sDAAoB,GAApB;QACE,IAAG,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxC;IACH,CAAC;IACD,wCAAM,GAAN;QACE,OAAO,oDAAC,mBAAmB,IAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAwB,CAAC;IAChJ,CAAC;IACH,8BAAC;AAAD,CAAC,CAxC4C,+CAAe,GAwC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzamE;AAC1C;AAEkC;AACH;AAKpC;AAGrB;IAA+C,6CAAyB;IACtE,mCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,+CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAwC,CAAC;QACvD,CAAC;;;OAAA;IACD,mDAAe,GAAf;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,iDAAa,GAAb;QACE,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,OAAO,oEAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAG,KAAK,CAAO,CAAC;IACtE,CAAC;IACD,+CAAW,GAAX;QAAA,iBAaC;QAZC,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CACrC,UAAC,IAA0B,EAAE,KAAa;YACxC,OAAO,CACL,2DAAC,qBAAqB,IACpB,GAAG,EAAE,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,GAAG,KAAK,EACxC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,KAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,KAAK,GACW,CAC1B,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IACH,gCAAC;AAAD,CAAC,CA5B8C,gFAAyB,GA4BvE;;AAED;IAA2C,yCAA2B;IAEpE,+BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAI,wCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAI,2CAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAI,uCAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,+CAAe,GAAf;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACM,6CAAa,GAApB;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,gEAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,OAAO,CACL,sEACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY;YAErC,KAAK;YACN,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS;gBACrC,IAAI;gBACJ,OAAO,CACJ,CACA,CACT,CAAC;IACJ,CAAC;IACS,0CAAU,GAApB;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACzB,OAAO,CACL,2DAAC,qEAAO,IACN,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAC9B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,GACtB,CACZ,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACS,2CAAW,GAArB;QAAA,iBAoBC;QAnBC,OAAO,CACL,sEACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EACjC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EACjB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EACrB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,QAAQ,EAAE;gBACR,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC,mBACc,IAAI,CAAC,KAAK,CAAC,UAAU,gBACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,kBAC7B,IAAI,CAAC,KAAK,CAAC,SAAS,sBAChB,IAAI,CAAC,KAAK,CAAC,WAAW,EACxC,IAAI,EAAC,OAAO,GACZ,CACH,CAAC;IACJ,CAAC;IACS,6CAAa,GAAvB;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,CACL,qEACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,IAErC,OAAO,CACH,CACR,CAAC;IACJ,CAAC;IACH,4BAAC;AAAD,CAAC,CAjF0C,wEAAiB,GAiF3D;;AAED,2EAA2E;AAC3E,kEAAkE;AAClE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/HyB;AAIE;AACsC;AACR;AACC;AAER;AAExD;IAA4C,0CAAyB;IACnE,gCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,4CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAqC,CAAC;QACpD,CAAC;;;OAAA;IACS,8CAAa,GAAvB;QAAA,iBAsBC;QArBC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,OAAO,CACL,kEACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAC/C,GAAG,EAAE,UAAC,QAAQ,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAA3B,CAA2B,EAC9C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,mBACxB,IAAI,CAAC,QAAQ,CAAC,uBAAuB,gBACxC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,qBAC7B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,kBAC1C,IAAI,CAAC,QAAQ,CAAC,sBAAsB,sBAChC,IAAI,CAAC,QAAQ,CAAC,0BAA0B;YAE1D,gEAAQ,IAAI,EAAC,cAAc,EAAC,SAAS,EAAE,WAAW,GAAW;YAC5D,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,UAAU;gBACvB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3B,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CACjD,CACZ,CAAC;IACJ,CAAC;IAES,0CAAS,GAAnB;QAAA,iBAWC;QAVC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;YAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,EAAU;gBACvD,YAAI,CAAC,UAAU,CACb,QAAQ,GAAG,EAAE,EACb,IAAI,EACJ,KAAK,EACL,KAAI,CAAC,QAAQ,CAAC,UAAU,CACzB;YALD,CAKC,CACF,CAAC;SACH;IACH,CAAC;IACS,0CAAS,GAAnB;QAAA,iBAWC;QAVC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;YAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,EAAU;gBACvD,YAAI,CAAC,UAAU,CACb,QAAQ,GAAG,EAAE,EACb,IAAI,EACJ,KAAK,EACL,KAAI,CAAC,QAAQ,CAAC,UAAU,CACzB;YALD,CAKC,CACF,CAAC;SACH;IACH,CAAC;IACS,gDAAe,GAAzB,UAA0B,UAAe;QACvC,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,eAAe,IACvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CACxB,CACP,CAAC;IACJ,CAAC;IACS,2CAAU,GAApB,UAAqB,UAAe;QAApC,iBAiBC;QAhBC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAW,EAAE,EAAU;YACvD,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,EAAU;gBAC3C,YAAI,CAAC,UAAU,CACb,MAAM,GAAG,EAAE,EACX,IAAI,EACJ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EACpB,UAAU,EACV,EAAE,GAAG,EAAE,GAAG,EAAE,CACb;YAND,CAMC,CACF,CAAC;YACF,OAAO,CACL,6DAAK,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAC,cAAc,IACpF,KAAK,CACF,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAES,wCAAO,GAAjB,UAAkB,UAAe;QAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC5B,OAAO,6DAAK,SAAS,EAAE,UAAU,CAAC,OAAO,IAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAO,CAAC;SACzG;;YACI,OAAO,0GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAI,CAAC;IACxE,CAAC;IACS,yCAAQ,GAAlB,UAAmB,UAAe,EAAE,OAAyB;QAC3D,IAAI,aAAa,GAAsB,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;YACrB,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1E,IAAG,CAAC,CAAC,YAAY,EAAE;gBACjB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAClC;SACF;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,sBAAc,6CAAS;aAAvB;YACE,OAAO,IAAI,CAAC;QACd,CAAC;;;OAAA;IACS,4CAAW,GAArB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACnD,oDAAC,mFAA4B,IAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,UAAU,CAAC,KAAK,EAC1B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,IAAI,CAAC,aAAa,GACjC,CACE,CACP,CAAC;IACJ,CAAC;IACS,2CAAU,GAApB,UACE,GAAW,EACX,IAAS,EACT,OAAgB,EAChB,UAAe,EACf,KAAc;QAEd,IAAM,YAAY,GAAG,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;YAC3F,GAAG,EAAE,GAAG;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,UAAU;YACtB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QACnD,IAAI,WAAW,GAAuB,IAAI,CAAC;QAC3C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,YAAY,EAAE;YAC9B,WAAW,GAAG,4EAA0B,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACnG;QACD,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,YAAY,CAAC;IACrC,CAAC;IACH,6BAAC;AAAD,CAAC,CA3I2C,gFAAyB,GA2IpE;;AACD;IAAgD,8CAAkB;IAChE,oCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SACb;QAgCD,oBAAc,GAAG,UAAC,KAAU;YAC1B,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClE,CAAC;QACD,sBAAgB,GAAG,UAAC,KAAU;YAC5B,KAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAClC,CAAC;;IArCD,CAAC;IACS,oDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,sBAAc,gDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAc,4CAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,sBAAc,iDAAS;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,CAAC;;;OAAA;IACD,sBAAc,+CAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAc,6CAAK;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAY,mDAAW;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;QACzC,CAAC;;;OAAA;IACM,0DAAqB,GAA5B,UAA6B,SAAc,EAAE,SAAc;QACzD,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QACrE,IAAG,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChC,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY;YAC3B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY;YAC7C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe;YACvD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAC/C,CAAC;IACJ,CAAC;IAOS,8CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxC,CAAC;IACS,kDAAa,GAAvB;QACE,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,sBAAc,kDAAU;aAAxB;YACE,OAAO,IAAI,CAAC,0BAAyB;QACvC,CAAC;;;OAAA;IACS,mDAAc,GAAxB,UACE,SAAkB,EAClB,SAA6B;QAE7B,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,aAAa,GACf,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa;YACtC,CAAC,CAAC,IAAI,CAAC,gBAAgB;YACvB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAC1B,IAAM,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,8DAAM,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,IAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7J,OAAO,CACL,6DAAK,SAAS,EAAE,SAAS,EAAE,IAAI,EAAC,cAAc;YAC5C,+DAAO,SAAS,EAAE,UAAU;gBAC1B,+DACE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EACtC,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACnE,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAClD,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,aAAa,GACvB;gBAEA,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;oBACjC,8DAAM,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBAC1B,6DACE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;4BAExC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAQ,CAC7C,CAAC,CAAC;wBACR,IAAI,CAED,CAAC,CAAC;oBACT,IAAI;gBAEP,SAAS,CACJ;YACP,SAAS,CACN,CACP,CAAC;IACJ,CAAC;IACH,iCAAC;AAAD,CAAC,CAnG+C,yEAAkB,GAmGjE;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,EAAE,UAAC,KAAU;IAC9E,OAAO,mDAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAC,KAAK;IAC/D,OAAO,mDAAmB,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClQ4B;AACiE;AAEjC;AACY;AAE3E;IAA2C,yCAAuD;IAChG,+BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,6CAAa,GAAvB;QAAA,iBA0CC;QAzCC,IAAI,MAAM,GAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;QACpH,IAAI,OAAO,GAAG,UAAC,KAAU;YACvB,IAAI,KAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;gBACnC,KAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;aAChC;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;aAC/B;YAED,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACpC,KAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC,CAAC;QACF,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE;YACvC,OAAO,iEAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAO,CAAC;SACzC;QACD,IAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,oDAAC,uFAAyB,IAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,yBAAyB,GAA8B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1O,OAAO,CACL;YACE,kEACE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,GAAG,EAAE,UAAC,QAAQ,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAA3B,CAA2B,EAC9C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EACvC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,UAAC,KAAK,IAAO,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACzD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,mBACT,IAAI,CAAC,QAAQ,CAAC,uBAAuB,gBACxC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,qBAC7B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,kBAC1C,IAAI,CAAC,QAAQ,CAAC,sBAAsB,sBAChC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAC1D,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAC5C;YACD,OAAO,CACP,CACJ,CAAC;IACJ,CAAC;IACH,4BAAC;AAAD,CAAC,CA/C0C,wFAAiC,GA+C3E;;AAED;IAA+C,6CAAkB;IAAjE;;IAqDA,CAAC;IApDW,6CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC/B,CAAC;IACS,mDAAe,GAAzB,UAA0B,KAAU;QAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IACS,kDAAc,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACS,8CAAU,GAApB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;IACrC,CAAC;IACS,yCAAK,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;IACvC,CAAC;IACS,kDAAc,GAAxB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACxD,CAAC;IACS,iDAAa,GAAvB;QAAA,iBAiCC;QAhCC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnC,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAC/D,IAAI,cAAc,GAAG,UAAC,KAAU;YAC9B,KAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/C,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC;QACF,IAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,YAAY,GAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,eAAe,EAAE;YACzE,YAAY,GAAG,eAAe,CAAC;SAChC;QACD,IAAI,OAAO,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC;QAEhF,IAAI,QAAQ,CAAC,mBAAmB,EAAE,EAAE;YAClC,OAAO,iEAAM,OAAO,CAAO,CAAC;SAC7B;QACD,OAAO,CACL,kEACE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAChB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,SAAS,EAAE,QAAQ,CAAC,kBAAkB,EAAE,EACxC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,EAClC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,UAAC,CAAC,IAAO,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9D,OAAO,EAAE,UAAC,CAAC,IAAK,YAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAtB,CAAsB,mBACvB,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,uBAAuB,gBAC1D,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,oBAAoB,EAC/D,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,GACvC,CACH,CAAC;IACJ,CAAC;IACH,gCAAC;AAAD,CAAC,CArD8C,yEAAkB,GAqDhE;;AACD;IAAkD,gDAAyB;IAA3E;;IAgBA,CAAC;IAfW,sDAAe,GAAzB,UAA0B,KAAU;QAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IACS,qDAAc,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IACS,iDAAU,GAApB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;IACxC,CAAC;IACS,4CAAK,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;IACrC,CAAC;IACS,qDAAc,GAAxB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC9C,CAAC;IACH,mCAAC;AAAD,CAAC,CAhBiD,yBAAyB,GAgB1E;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,KAAK;IAC9D,OAAO,mDAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjI4B;AAC6C;AAC3B;AAEc;AACzB;AAEtC;IAA0C,wCAAsD;IAC9F,8BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,+CAAgB,GAA1B;QACE,IAAM,GAAG,GAAG,iBAAM,gBAAgB,WAAE,CAAC;QACrC,IAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;YAClC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;SACzC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACS,4CAAa,GAAvB;QACE,OAAO,6DAAc,CAAC,kBAAkB,CACtC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC9B,CAAC;IACJ,CAAC;IACH,2BAAC;AAAD,CAAC,CAjByC,wFAAiC,GAiB1E;;AAED;IAA6C,2CAAyD;IACpG,iCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,2CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IACtC,CAAC;IACS,+CAAa,GAAvB;QACE,OAAO,CACL,oDAAC,kDAAW,IACV,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GACf,CAChB,CAAC;IACJ,CAAC;IACH,8BAAC;AAAD,CAAC,CAhB4C,wFAAiC,GAgB7E;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAC,KAAK;IAC7D,OAAO,mDAAmB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AACH,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAC,KAAK;IAChE,OAAO,mDAAmB,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjD4B;AAEgC;AACF;AAE7D;IAA4C,0CAAoC;IAC9E,gCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IAES,8CAAa,GAAvB;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;YACxC,MAAM;YACN,OAAO,CACJ,CACP,CAAC;IACJ,CAAC;IACH,6BAAC;AAAD,CAAC,CAhB2C,yEAA0B,GAgBrE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAC,KAAK;IAC/D,OAAO,mDAAmB,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzB4B;AACiF;AAExD;AACQ;AAEhE;IAA6C,qCAAqB;IAiBhE,2BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SACb;QAUO,2BAAqB,GAAG,IAAI,CAAC;;IAVrC,CAAC;IAlBa,iCAAe,GAA7B,UACE,MAAyB,EACzB,KAAiB,EACjB,GAAY;QADZ,oCAAiB;QAGjB,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;YACjE,MAAM,EAAE,MAAM,CAAC,YAAY;YAC3B,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;IACL,CAAC;IACa,2CAAyB,GAAvC,UAAwC,QAA+B;QACrE,IAAI,eAAe,GAAG,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACjF,OAAO,6DAAK,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAG,SAAS,EAAE,QAAQ,CAAC,cAAc,IAAG,eAAe,CAAO,CAAC;IAC7I,CAAC;IAKD,6CAAiB,GAAjB;QACE,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IACD,gDAAoB,GAApB;QACE,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IACD,8CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAES,gDAAoB,GAA9B;QACE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACS,+CAAmB,GAA7B;QACE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IACD,iDAAqB,GAArB,UAAsB,SAAa,EAAE,SAAa;QAChD,IAAG,IAAI,CAAC,qBAAqB,EAAE;YAC7B,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IACD,kCAAM,GAAN;QACE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3B,IAAG,CAAC,CAAC,GAAG,EAAE;YACR,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC;IACS,uCAAW,GAArB,UAAsB,OAAoB;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,sBAAc,0CAAW;aAAzB;YACE,IAAI,QAAQ,GAAe,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACtD,KAAmB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;gBAAzB,IAAI,OAAO;gBACb,IAAG,OAAO,CAAC,cAAc,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;aAC5C;YACD,OAAO,KAAK,CAAC;QACf,CAAC;;;OAAA;IACS,+CAAmB,GAA7B;QACE,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;IACO,6CAAiB,GAAzB,UAA0B,GAAW;QACnC,IAAI,QAAQ,GAAe,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACtD,KAAmB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;YAAzB,IAAI,OAAO;YACb,IAAI,CAAC,OAAO,CAAC,cAAc;gBAAE,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;YACxD,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC;SAC/B;IACH,CAAC;IACS,qCAAS,GAAnB;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IACS,yCAAa,GAAvB;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,sBAAc,mDAAoB;aAAlC;YACE,OAAO,IAAI,CAAC,yBAAyB,CAAC;QACxC,CAAC;;;OAAA;IACO,iDAAqB,GAA7B;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;IACH,CAAC;IACO,mDAAuB,GAA/B;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;IACH,CAAC;IACS,4CAAgB,GAA1B;QACE,IAAI,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAChC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,CAAC;IACS,2CAAe,GAAzB;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,sBAAc,4CAAa;aAA3B;YACE,IAAM,KAAK,GAAQ,IAAI,CAAC,KAAK,CAAC;YAC9B,OAAO,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC;QACtC,CAAC;;;OAAA;IACS,2CAAe,GAAzB,UACE,MAAyB,EACzB,KAAiB,EACjB,GAAY;QADZ,oCAAiB;QAGjB,OAAO,iBAAiB,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;IACO,wCAAY,GAApB,UAAqB,YAAkB;QACrC,OAAO,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC;IAChE,CAAC;IACO,gDAAoB,GAA5B,UAA6B,YAAkB;QAA/C,iBAmCC;QAlCC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAAE,OAAO;QAC7C,YAAY,CAAC,qBAAqB,CAAC,UAAC,IAAI,EAAE,GAAG;YAC3C,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;gBAAE,OAAO;YACzC,IAAI,GAAG,GAAQ,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,GAAG,GAAQ,GAAG,CAAC;gBACnB,GAAG,CAAC,gBAAgB,CAAC,GAAG,UAAC,YAA0B;oBACjD,IAAI,KAAI,CAAC,WAAW;wBAAE,OAAO;oBAC7B,KAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;oBACrC,KAAI,CAAC,QAAQ,CAAC,UAAC,KAAU;wBACvB,IAAI,QAAQ,GAA6B,EAAE,CAAC;wBAC5C,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;wBACpB,OAAO,QAAa,CAAC;oBACvB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,2BAA2B,GAAG,UACzC,IAAS,EACT,GAAW,EACX,GAAQ;YAER,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE;gBACrB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBAChB,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;oBAAE,OAAO;gBACzC,IAAI,KAAI,CAAC,WAAW;oBAAE,OAAO;gBAC7B,KAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;gBACrC,KAAI,CAAC,QAAQ,CAAC,UAAC,KAAU;oBACvB,IAAI,QAAQ,GAA6B,EAAE,CAAC;oBAC5C,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;oBACpB,OAAO,QAAa,CAAC;gBACvB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;IACJ,CAAC;IACS,6CAAiB,GAA3B,UAA4B,GAAW;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACO,kDAAsB,GAA9B,UAA+B,YAAkB;QAC/C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAAE,OAAO;QAC7C,YAAY,CAAC,2BAA2B,GAAG,SAAgB,CAAC;QAC5D,YAAY,CAAC,qBAAqB,CAAC,UAAC,IAAI,EAAE,GAAG;YAC3C,IAAI,GAAG,GAAQ,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,GAAG,GAAQ,GAAG,CAAC;gBACnB,GAAG,CAAC,gBAAgB,CAAC,GAAG,cAAO,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACH,wBAAC;AAAD,CAAC,CA3K4C,+CAAe,GA2K3D;;AAED;IAAwC,sCAA2B;IACjE,4BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,0CAAU;aAAxB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,CAAC;;;OAAA;IACH,yBAAC;AAAD,CAAC,CAPuC,iBAAiB,GAOxD;;AAED;IAA+C,6CAA2B;IAExE,mCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sDAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,qDAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,wDAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,IAAM,EAAE,GAAgB,IAAI,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,CAAC,EAAE,EAAE;gBACR,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;aACrC;SACF;IACH,CAAC;IACS,oDAAgB,GAA1B;QACE,IAAM,EAAE,GAAgB,IAAI,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,CAAC,EAAE,EAAE;YACR,IAAI,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,GAAG,EAAE;gBAC5C,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;gBACtC,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;aAClD;SACF;IACH,CAAC;IACD,sBAAc,mDAAY;aAA1B;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACS,uDAAmB,GAA7B;QACE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IACD,sBAAc,8CAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACS,6CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/C,CAAC;IACM,yDAAqB,GAA5B,UAA6B,SAAc,EAAE,SAAc;QACzD,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAErE,OAAO,CACL,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY;YAC/B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,YAAY;YACjD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe;YAC3D,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CACnD,CAAC;IACJ,CAAC;IACD,sBAAc,oDAAa;aAA3B;YACE,IAAM,KAAK,GAAQ,IAAI,CAAC,KAAK,CAAC;YAC9B,OAAO,CACL,KAAK,CAAC,aAAa;gBACnB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,KAAK,CACpE,CAAC;QACJ,CAAC;;;OAAA;IACS,4CAAQ,GAAlB,UACE,IAAS,EACT,OAAoB,EACpB,MAAc;QAEd,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,OAAO,CAAC;SAChB;QACD,IAAM,MAAM,GAAgB,IAAI,CAAC,YAAY;aAC1C,MAAqB,CAAC;QACzB,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,4EAA0B,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SACpF;QACD,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,CAAC;IAC5B,CAAC;IACM,8CAAU,GAAjB,UAAkB,OAA2B;QAC3C,IAAG,CAAC,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;IACH,CAAC;IACH,gCAAC;AAAD,CAAC,CAlF8C,iBAAiB,GAkF/D;;AAED;IAEU,qDAAyB;IACjC,2CAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QAID,wBAAkB,GAAG,UAAC,KAAU;YAC9B,IACE,CAAC,mDAAO,CAAC,gBAAgB,CAAC,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAC1F;gBACA,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;QAXA,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IAC/D,CAAC;IACD,sBAAc,uDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAiB,CAAC;QAChC,CAAC;;;OAAA;IAQS,wDAAY,GAAtB,UAAuB,QAAa;QAClC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;IACrC,CAAC;IACS,wDAAY,GAAtB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;IACjC,CAAC;IACS,4DAAgB,GAA1B;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB,IAAM,OAAO,GAAQ,IAAI,CAAC,OAAO,CAAC;YAClC,IAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,IAAI,CAAC,mDAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;gBAC1E,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACzC;SACF;QACD,iBAAM,gBAAgB,WAAE,CAAC;IAC3B,CAAC;IACO,oDAAQ,GAAhB,UAAiB,GAAQ;QACvB,IAAI,mDAAO,CAAC,YAAY,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QACzC,OAAO,GAAG,CAAC;IACb,CAAC;IACH,wCAAC;AAAD,CAAC,CAnCS,yBAAyB,GAmClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrT8B;AACqC;AAEL;AAE/D;IAAyC,uCAAyB;IAChE,6BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,KAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;;IAC9C,CAAC;IACD,sBAAc,yCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAkC,CAAC;QACjD,CAAC;;;OAAA;IACS,2CAAa,GAAvB;QACE,OAAO,gEAAO,CAAC;IACjB,CAAC;IACH,0BAAC;AAAD,CAAC,CAXwC,gFAAyB,GAWjE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,KAAK;IAC5D,OAAO,mDAAmB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpB4B;AACqC;AAEL;AAE/D;IAA8C,4CAAyB;IACrE,kCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,8CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAuC,CAAC;QACtD,CAAC;;;OAAA;IACS,gDAAa,GAAvB;QAAA,iBAWC;QAVC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,OAAO,CACL,6DACE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,UAAU,CAAC,IAAI,EAC1B,GAAG,EAAE,UAAC,GAAG,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAtB,CAAsB,IAEnC,IAAI,CAAC,QAAQ,CAAC,aAAa,CACxB,CACP,CAAC;IACJ,CAAC;IACH,+BAAC;AAAD,CAAC,CAnB6C,gFAAyB,GAmBtE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAC,KAAK;IACjE,OAAO,mDAAmB,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;;;;;;;;;;;;;AC1BH;AAAA;AAAA;IAAA;QAEU,gBAAW,GAA6C,EAAE,CAAC;IAoBrE,CAAC;IAlBQ,+CAAgB,GAAvB,UACE,YAAoB,EACpB,eAA8C;QAE9C,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,eAAe,CAAC;IACnD,CAAC;IACM,0CAAW,GAAlB;QACE,IAAI,MAAM,GAAG,IAAI,KAAK,EAAU,CAAC;QACjC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IACM,6CAAc,GAArB,UAAsB,YAAoB,EAAE,MAAW;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IApBa,6BAAQ,GAAyB,IAAI,oBAAoB,EAAE,CAAC;IAqB5E,2BAAC;CAAA;AAtBgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFF;AAEsC;AACZ;AACW;AACL;AAEY;AACJ;AACJ;AAEnE;IAAwC,sCAAyB;IAC/D,4BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,wCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAiC,CAAC;QAChD,CAAC;;;OAAA;IACS,0CAAa,GAAvB;QAAA,iBAgEC;QA/DC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnG,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,IAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CACzE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CACtC,CAAC,CAAC,CAAC,IAAI,CAAC;QACT,IAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CACrF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAC5C,EAAC,CAAC,IAAI,CAAC;QACR,IAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAC,EAAC,oDAAC,iFAAe,IAAC,KAAK,EAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5I,IAAM,SAAS,GAAG,CAChB,IAAI,CAAC,aAAa,CAAC,CAAC;YAClB,+DACE,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EACxG,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,GAAG,EAAE,eAAK,IAAI,QAAC,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAxB,CAAwB,EACtC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAC1D,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAO,CAAC,CAAC,EACnE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EACrC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAChC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,GACnC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC5B,+DACE,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,QAAQ,EAAE,CAAC,CAAC,EACZ,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EACxG,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,GAAG,EAAE,eAAK,IAAI,QAAC,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAxB,CAAwB,EACtC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAC1D,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAO,CAAC,CAAC,mBACpD,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EACrC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAC/B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EACnC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,GACpC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;YACtC,SAAS;YACV,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAC5C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAC5B,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EACpC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EACtC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;gBAErC,aAAa;gBACb,gBAAgB;gBAChB,KAAK;gBACL,WAAW;gBACX,OAAO;gBACP,iBAAiB;gBACjB,aAAa,CACV,CACF,CACP,CAAC;IACJ,CAAC;IACS,gDAAmB,GAA7B;QACE,IAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvF,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,oDAAC,iFAAe,IAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;QACnJ,IAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAC7C,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,IACnD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC7B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClB,OAAO,CACL,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;YAE9C,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,IAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;YACzG,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO;gBAC7C,YAAY;gBACZ,gBAAgB;gBAChB,YAAY,CACT,CACF,CACP,CAAC;IACJ,CAAC;IACS,+CAAkB,GAA5B;QACE,OAAO,oDAAC,8EAAsB,IAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAA2B,CAAC;IAC9F,CAAC;IACS,8CAAiB,GAA3B,UAA4B,SAAiB;QAC3C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAClC,gEAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS;YACxE,kEAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;YAC9C,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,oDAAC,qEAAO,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAY,EAAC,CAAC,IAAI,CACnL,CACV,CAAC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACS,2CAAc,GAAxB,UAAyB,SAAiB,EAAE,GAAQ;QAApD,iBAiBC;QAhBC,IAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,CACL,6DAAK,SAAS,EAAE,SAAS;YACvB,2DACE,IAAI,EAAE,GAAG,CAAC,OAAO,EACjB,OAAO,EAAE,eAAK;oBACZ,KAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC3C,CAAC,EACD,KAAK,EAAE,GAAG,CAAC,IAAI,EACf,QAAQ,EAAE,GAAG,CAAC,IAAI,EAClB,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAEzC,GAAG,CAAC,IAAI,CACP,CACA,CACP,CAAC;IACJ,CAAC;IACS,mDAAsB,GAAhC;QACE,OAAO,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB;YAAE,oDAAC,uFAAyB,OAA6B,CAAM,CAAC;IAClI,CAAC;IACS,wCAAW,GAArB;QACE,OAAO,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc;YAC7D,oDAAC,mFAAY,IAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAiB;YACrE,oDAAC,mFAAY,IAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAiB;YACpE,+DAAO,QAAQ,QAAC,WAAW,QAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAU;YAC1G,oDAAC,mFAAY,IAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAiB,CAChE,CAAC,CAAC;IACV,CAAC;IACS,0CAAa,GAAvB;QAAA,iBAqCC;QApCC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,KAAK;YACvD,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,OAAO,CACL,8DACE,GAAG,EAAE,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,GAAG,KAAK,EACxC,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAC3C,KAAK,EAAE,EAAE,OAAO,EAAE,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE;gBAE7E,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;gBAC5D,6DAAK,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY;oBAClD,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACpC,6DACE,GAAG,EAAE,GAAG,CAAC,OAAO,EAChB,KAAK,EAAE,EAAE,MAAM,EAAE,KAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAC7E,GAAG,EAAC,cAAc,GAClB,CACH,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAC,EACzC,oDAAC,qEAAO,IAAC,QAAQ,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAY,CAC3I,EAAC,KAAI,CAAC;oBACN,GAAG,CAAC,IAAI,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CACvC,6DAAK,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,cAAM,YAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,EAA/B,CAA+B;wBAChG,8DACE,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,IAE7C,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAC3B;wBACN,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;4BAC/C,CAAC,oDAAC,qEAAO,IAAC,KAAK,EAAE,KAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,GAAY,CAAC,EAAC,CAAC,IAAI,CAC1L,CACP,CAAC,CAAC,CAAC,IAAI,CACJ;gBACL,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,CAC7D,CACR,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,IAAI,SAAS,IAAG,QAAQ,CAAO,CAAC;IAC1F,CAAC;IACH,yBAAC;AAAD,CAAC,CA1KuC,gFAAyB,GA0KhE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,eAAK;IAC1D,OAAO,mDAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzL4B;AACqC;AAEL;AAE/D;IAAwC,sCAAyB;IAC/D,4BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,wCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAiC,CAAC;QAChD,CAAC;;;OAAA;IACD,8CAAiB,GAAjB;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,iDAAoB,GAApB;QACE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG,cAAa,CAAC,CAAC;IACnD,CAAC;IACD,+CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACO,8CAAiB,GAAzB;QAAA,iBAIC;QAHC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG;YAChC,KAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,IAAI,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC,CAAC;IACJ,CAAC;IACS,sCAAS,GAAnB;QACE,OAAO,iBAAM,SAAS,WAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IACnD,CAAC;IACS,0CAAa,GAAvB;QACE,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC/D,OAAO,CACL,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EACtC,uBAAuB,EAAE,SAAS,GAClC,CACH,CAAC;IACJ,CAAC;IACH,yBAAC;AAAD,CAAC,CAjCuC,gFAAyB,GAiChE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAC,KAAK;IAC3D,OAAO,mDAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1C4B;AAIE;AAE8B;AACC;AAEhE;IAA0C,wCAAyB;IACjE,8BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,KAAK,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;;IAClC,CAAC;IACD,sBAAc,0CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAmC,CAAC;QAClD,CAAC;;;OAAA;IACD,gDAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,0BAA0B,GAAG;gBACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC,CAAC;SACH;IACH,CAAC;IACD,mDAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,0BAA0B,GAAG,IAAW,CAAC;SACxD;IACH,CAAC;IAES,4CAAa,GAAvB;QAAA,iBAyDC;QAxDC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,+DAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,IAAI,OAAO,GAAsB,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5D,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;YACvB,IAAI,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,IAAM,KAAK,GAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;gBAClC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC9C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;aAC5C;YACD,OAAO,CAAC,IAAI,CACV,4DAAI,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IACvE,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAC3D,CACN,CAAC;SACH;QACD,IAAI,IAAI,GAAsB,EAAE,CAAC;QACjC,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CACP,oDAAC,uBAAuB,IACtB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,CAAC,IAAI,CAAC,GACf,CACH,CAAC;SACH;QACD,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9C;YACE;gBACG,MAAM;gBACN,OAAO,CACL,CACC,CACT,CAAC;QACF,OAAO,CACL,6DACE,SAAS,EAAE,UAAU,CAAC,YAAY,EAClC,GAAG,EAAE,cAAI,IAAI,QAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAvB,CAAuB;YAEpC;gBACE,8EAAoB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,GAAI;gBAC3D,+DAAO,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC1C,MAAM;oBACP,mEAAQ,IAAI,CAAS,CACf,CACC,CACP,CACP,CAAC;IACJ,CAAC;IACH,2BAAC;AAAD,CAAC,CAlFyC,gFAAyB,GAkFlE;;AAED;IAA6C,2CAAkB;IAC7D,iCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAGb;QAFC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACrD,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IAC7D,CAAC;IACD,sBAAY,6CAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAY,wCAAG;aAAf;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,CAAC;;;OAAA;IACD,gDAAc,GAAd,UAAe,KAAU;QACvB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,mDAAiB,GAAjB,UAAkB,KAAU;QAC1B,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IACS,0CAAQ,GAAlB,UAAmB,IAAS,EAAE,OAAoB,EAAE,MAAc;QAChE,IAAG,CAAC,MAAM,EAAE;YACV,OAAO,OAAO,CAAC;SAChB;QACD,IAAM,MAAM,GAAgB,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QAChE,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,4EAA0B,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SACpF;QACD,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,CAAC;IAC5B,CAAC;IACS,2CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IACS,+CAAa,GAAvB;QACE,IAAI,MAAM,GAAuB,IAAI,CAAC;QAEtC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzB,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrD,IAAM,KAAK,GAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;gBACjC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC7C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;aAC3C;YACD,MAAM,GAAG,4DAAI,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,IACvE,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,CACrD,CAAC;SACP;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,OAAO,CACL,4DAAI,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,SAAS;YAC5C,MAAM;YACN,GAAG,CACD,CACN,CAAC;IACJ,CAAC;IAED,6CAAW,GAAX;QAAA,iBAsEC;QArEC,IAAI,GAAG,GAAsB,EAAE,CAAC;QAChC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5D,IAAI,EAAE,GAAuB,IAAI,CAAC;YAClC,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC;YAEtB,IAAI,SAAS,GAAG,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;gBAC7B,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe;oBAC7C,CAAC,CAAC,UAAC,MAAW,IAAK,qBAAM,YAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,EAA3B,CAA2B,EAAjC,CAAiC;oBACpD,CAAC,CAAC,IAAI,CAAC;gBACT,EAAE,GAAG,CACH,4DACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAO,CAAC,IAElD,IAAI,CAAC,eAAe,CACnB,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CACtD,CACE,CACN,CAAC;aACH;iBAAM;gBACL,EAAE,GAAG,CACH,4DACE,GAAG,EAAE,GAAG,2BACe,MAAM,CAAC,OAAO,CAAC,YAAY,EAClD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;oBAExC,+DAAO,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS;wBAC9D,+DACE,EAAE,EAAE,OAAO,EACX,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EACpC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAClB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,IAAI,CAAC,cAAc,mBACd,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,MAAM,CAAC,OAAO,CAAC,YAAY,kBACzB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;wBACF,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,IACxD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;4BAC1B,6DACE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;gCAExC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAQ,CAC7C,CAAC,CAAC;4BACR,IAAI,CAED;wBACP,8DAAM,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,EAAG,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,IAC7H,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAChC,CACD,CACL,CACN,CAAC;aACH;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACd;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IACD,2CAAS,GAAT,UAAU,GAAQ,EAAE,MAAW;QAC7B,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC;IACH,8BAAC;AAAD,CAAC,CApI4C,yEAAkB,GAoI9D;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAK;IAC5D,OAAO,mDAAmB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrO4B;AACuD;AACvB;AAE/D;IAAkD,gDAAgC;IAChF,sCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACH,mCAAC;AAAD,CAAC,CAJiD,kGAAgC,GAIjF;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,eAAK;IACpE,OAAO,mDAAmB,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZ4B;AAIE;AAC2F;AAUtD;AACD;AAC/B;AAC+B;AACjB;AACgE;AAC7C;AACf;AAExD;IAAsD,oDAAyB;IAC7E,0CAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAIb;QAHC,0DAA0D;QAC1D,IAAM,KAAK,GAAG,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC1C,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,QAAQ,EAAE,CAAC;;IAC/B,CAAC;IACD,sBAAc,sDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAA+C,CAAC;QAC9D,CAAC;;;OAAA;IACO,mDAAQ,GAAhB,UAAiB,SAAqB;QAArB,4CAAqB;QACpC,OAAO,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;IACnE,CAAC;IACO,gEAAqB,GAA7B;QACE,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,4DAAiB,GAAjB;QAAA,iBAcC;QAbC,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,0BAA0B,GAAG;YACzC,KAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,4BAA4B,GAAG;YAC3C,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,2BAA2B,GAAG;gBACxD,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,CAAC,CAAC;YACF,KAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,2BAA2B,GAAG;YACxD,KAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC;IACD,+DAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,0BAA0B,GAAG,cAAO,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,4BAA4B,GAAG,cAAO,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,2BAA2B,GAAG,cAAO,CAAC,CAAC;IACrE,CAAC;IACS,wDAAa,GAAvB;QACE,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IACD,yDAAc,GAAd;QAAA,iBAgBC;QAfC,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB;YAC/C,CAAC,CAAE,EAAE,SAAS,EAAE,QAAQ,EAA0B;YAClD,CAAC,CAAE,EAA0B,CAAC;QAChC,OAAO,CACL,6DAAK,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,EAAE,UAAC,IAAI,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAvB,CAAuB;YAC5G,+DAAO,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;gBAC1C,MAAM;gBACN,IAAI;gBACJ,OAAO,CACF,CACJ,CACP,CAAC;IACJ,CAAC;IACD,uDAAY,GAAZ;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,OAAO,GAAU,EAAE,CAAC;QACxB,IAAI,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;YACvB,IAAI,WAAW,GAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;gBAChB,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;aAChC;YACD,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACnB,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;aACtC;YACD,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;YACpE,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,4DAAI,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW;;oBAAI,WAAW;wBAAO;gBACjF,CAAC,CAAC,4DAAI,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,GAAO,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtB;QACD,OAAO,CACL;YACE,gEAAK,OAAO,CAAM,CACZ,CACT,CAAC;IACJ,CAAC;IACD,uDAAY,GAAZ;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CACtB,QAAQ,EACR,KAAK,CAAC,SAAS,EACf,IAAI,CAAC,QAAQ,CAAC,UAAU,EACxB,YAAY,CACb,CAAC;QACF,OAAO,mEAAQ,GAAG,CAAS,CAAC;IAC9B,CAAC;IACD,qDAAU,GAAV;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,IAAI,GAAsB,EAAE,CAAC;QACjC,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAChE,CAAC;SACH;QACD,OAAO,mEAAQ,IAAI,CAAS,CAAC;IAC/B,CAAC;IACD,oDAAS,GAAT,UACE,QAAa,EACb,GAAsC,EACtC,UAAe,EACf,MAAe;QAEf,IAAI,SAAS,GAAsB,EAAE,CAAC;QACtC,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;SAClE;QACD,IAAI,GAAG,GAAG,KAAK,GAAG,QAAQ,CAAC;QAE3B,OAAO,CACL,oDAAC,8CAAc,IAAC,GAAG,EAAE,GAAG;YACtB,oDAAC,gEAAS,IAAC,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,IAAG,SAAS,CAAa,CAC5D,CAClB,CAAC;IACJ,CAAC;IAED,qDAAU,GAAV,UACE,IAAwC,EACxC,KAAa,EACb,UAAe,EACf,MAAe;QAEf,IAAI,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,CACL,oDAAC,gCAAgC,IAC/B,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,MAAM,GACd,CACH,CAAC;SACH;QACD,IAAI,UAAU,GAAG,MAAM,CAAC;QACxB,IAAG,CAAC,UAAU,EAAE;YACd,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD;QACD,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;QAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnC,SAAS,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK;gBAAE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/C,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ;gBAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SACzD;QAED,OAAO,CACL,4DACE,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,IAAI,CAAC,QAAQ,2BACC,IAAI,CAAC,OAAO,EACnC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAErB,WAAW,CACT,CACN,CAAC;IACJ,CAAC;IACO,4DAAiB,GAAzB,UACE,IAAwC,EACxC,MAAc,EACd,UAAe;QAEf,IAAI,WAAW,GAAuB,IAAI,CAAC;QAC3C,IAAI,SAAS,GAAQ,IAAI,CAAC;QAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnC,SAAS,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK;gBAAE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/C,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ;gBAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SACzD;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,GAAG,YAAY,CAAC;YACtB,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAM,SAAO,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,oDAAC,kCAAkC,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3H,WAAW,GAAG,CAAC;gBAAG,GAAG;gBAAE,SAAO,CAAI,CAAC,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,WAAW,GAAG,CAAC;gBACb,oDAAC,gIAAuC,IAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,CACrG,CAAC,CAAC;SACN;QACD,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,WAAW,GAAG,CACZ,qEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,+BAA+B,EAAE;gBAC1E,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBAAE,UAAU,cAAE,IAAI;gBAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;aACtE,CAAC,CACH,CAAC;SACH;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,WAAW,GAAG,CACZ,oDAAC,kDAAW,IACV,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAC5B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,OAAO,EAAE,IAAI,CAAC,OAAO,GACrB,CACH,CAAC;SACH;QACD,IAAG,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,OAAO,CACL,oDAAC,sEAAuB,IACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,GAEG,CAC3B,CAAC;aACH;SACF;QACD,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAE9B,IAAM,SAAS,GAAG,CAChB,0GACG,WAAW,CACX,CACJ,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IACH,uCAAC;AAAD,CAAC,CAzOqD,gFAAyB,GAyO9E;;AAED;IAA8C,mDAAkB;IAC9D,yCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAI,kDAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACS,uDAAa,GAAvB;QACE,OAAO,CACL,oDAAC,iFAAe,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,GAAoB,CAC3E,CAAC;IACJ,CAAC;IACH,sCAAC;AAAD,CAAC,CAZ6C,yEAAkB,GAY/D;AAED,qEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,+BAA+B,EAC/B,UAAC,KAAK;IACJ,OAAO,mDAAmB,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;AACrE,CAAC,CACF,CAAC;AACF;IAAiD,sDAAkB;IACjE,4CAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAI,sDAAM;aAAV;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAI,wDAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACS,4DAAe,GAAzB;QACE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACS,0DAAa,GAAvB;QACE,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,CACL;YACE,2EAAmB;YACnB,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,IAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAQ,CAC5F,CACJ,CAAC;IACJ,CAAC;IACH,yCAAC;AAAD,CAAC,CAtBgD,yEAAkB,GAsBlE;AAED;IAAsD,oDAA2B;IAC/E,0CAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAY,kDAAI;aAAhB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,sBAAc,qDAAO;aAArB;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC;;;OAAA;IACS,sDAAW,GAArB;QACE,IAAI,CAAC,GAAG,iBAAM,WAAW,WAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IACS,wDAAa,GAAvB;QACE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9B,IACE,EAAE;YACF,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,QAAQ,CAAC,MAAM;YACpB,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,GAAG,EACxC;YACA,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YACtC,IAAI,OAAO,GAAG;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,YAAY,EAAE,IAAI,CAAC,QAAQ;gBAC3B,WAAW,EAAE,EAAE;gBACf,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gBAClB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;aAC9B,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SACpE;IACH,CAAC;IACS,wDAAa,GAAvB;QACE,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,SAAS;YACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CACjD,CAAC;IACJ,CAAC;IACS,uDAAY,GAAtB;QACE,IAAI,GAAG,GAAQ,iBAAM,YAAY,WAAE,CAAC;QACpC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC7C,IAAI,CAAC,GAAG;gBAAE,GAAG,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACnD,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC7D;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAES,wDAAa,GAAvB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC3B,CAAC;IACS,yDAAc,GAAxB;QACE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YACrB,OAAO,6DAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9D,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAC3C,CAAC;IACO,6DAAkB,GAA1B;QACE,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,IAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;QAC7C,OAAO,oDAAC,mFAA4B,IAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,eAAe,GAAI,CAAC;IAC3J,CAAC;IACO,mEAAwB,GAAhC;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACjE,OAAO,CACL,oDAAC,kFAA0B,IACzB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EACzC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EACjD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EACpB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAChC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EACvC,WAAW,EAAE,IAAI,GACjB,CACH,CAAC;IACJ,CAAC;IACO,qEAA0B,GAAlC;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACjE,OAAO,CACL,oDAAC,iFAAuB,IACtB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EACzC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EACjD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EACpB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EACvC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAC5D,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EACtE,WAAW,EAAE,IAAI,GACjB,CACH,CAAC;IACJ,CAAC;IACH,uCAAC;AAAD,CAAC,CAlGqD,0EAA2B,GAkGhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjZ8B;AACgC;AACuB;AAE9B;AACK;AAE7D;IAAiD,+CAAgC;IAC/E,qCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACjE,CAAC;IACD,sBAAc,+CAAM;aAApB;YACE,OAAO,IAAI,CAAC,YAA0C,CAAC;QACzD,CAAC;;;OAAA;IACD,yDAAmB,GAAnB,UAAoB,KAAU;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACS,mDAAa,GAAvB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;QACtD,IAAI,OAAO,GAAG,SAAS;YACrB,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE;YACvB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO,CACL;YACG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC;YACxC,OAAO;YACP,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CACxC,CACP,CAAC;IACJ,CAAC;IACS,6DAAuB,GAAjC,UAAkC,UAAe;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QAC5D,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IACS,gEAA0B,GAApC,UAAqC,UAAe;QAClD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAC/D,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IACS,yDAAmB,GAA7B,UAA8B,UAAe;QAC3C,IAAM,IAAI,GAAgB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC7E,IAAM,OAAO,GAAgB,6DAAK,SAAS,EAAE,UAAU,CAAC,aAAa,IAAG,IAAI,CAAO,CAAC;QACpF,IAAM,GAAG,GAA0B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChI,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,gBAAgB;YACxC,OAAO;YACP,GAAG,CACA,CACP,CAAC;IACJ,CAAC;IACS,wDAAkB,GAA5B,UACE,UAAe,EACf,cAA+B;QAA/B,uDAA+B;QAE/B,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,0BAA0B,EAAE;YAC5E,QAAQ,EAAE,IAAI,CAAC,QAAQ;YAAE,UAAU,cAAE,cAAc;SACpD,CAAC,CAAC;IACL,CAAC;IACH,kCAAC;AAAD,CAAC,CApDgD,kGAAgC,GAoDhF;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,EAAE,UAAC,KAAK;IACpE,OAAO,mDAAmB,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH;IAA0D,wDAAkB;IAC1E,8CAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACjE,CAAC;IACD,sBAAc,wDAAM;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAsC,CAAC;QAC3D,CAAC;;;OAAA;IACD,kEAAmB,GAAnB,UAAoB,KAAU;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACS,4DAAa,GAAvB;QACE,IAAM,UAAU,GAAgB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAChF,IAAM,SAAS,GAAG,CAAC,gEACjB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EACpE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EACrC,OAAO,EACL,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB;YAGhE,UAAU;YACX,8DAAM,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,GAAI,CAC3C,CAAC,CAAC;QACX,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,IAAG,SAAS,CAAO,CACxG,CAAC;IACJ,CAAC;IACH,2CAAC;AAAD,CAAC,CA5ByD,yEAAkB,GA4B3E;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,0BAA0B,EAC1B,UAAC,KAAK;IACJ,OAAO,mDAAmB,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpG6B;AACqC;AACsC;AAE3C;AACF;AACG;AAEhE;IAAgD,8CAAyB;IACvE,oCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,gDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAyC,CAAC;QACxD,CAAC;;;OAAA;IACS,kDAAa,GAAvB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,IAAI,GAAsB,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;gBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;aAC9D;SACF;QACD,OAAO,CACL,+DAAO,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YAClD,mEAAQ,IAAI,CAAS,CACf,CACT,CAAC;IACJ,CAAC;IAES,+CAAU,GAApB,UAAqB,IAAsB,EAAE,UAAe,EAAE,KAAa;QACzE,IAAI,WAAwB,CAAC;QAC7B,IAAM,OAAO,GAAG,cAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAG,IAAI,CAAC,YAAY,EAAE;YACpB,WAAW,GAAG,oDAAC,sEAAuB,IAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAA4B,CAAC;SACtH;aAAM;YACL,WAAW,GAAG,oDAAC,sBAAsB,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,GAA2B,CAAC;SAC1J;QACD,OAAO,CAAC,4DAAI,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,IAAG,WAAW,CAAM,CAAC,CAAC;IACpG,CAAC;IAES,8CAAS,GAAnB,UACE,QAAgB,EAChB,KAA8B,EAC9B,UAAe;QAEf,IAAM,GAAG,GAAW,MAAM,GAAG,QAAQ,CAAC;QACtC,IAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CACrC,CAAC;SACH;QACD,OAAO,CACL,4DAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,IACpC,GAAG,CACD,CACN,CAAC;IACJ,CAAC;IACH,iCAAC;AAAD,CAAC,CArD+C,gFAAyB,GAqDxE;;AAED;IAA4C,0CAAkB;IAA9D;;IA6BA,CAAC;IA5BC,sBAAY,4CAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAY,wCAAI;aAAhB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACS,iDAAgB,GAA1B;QACE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,sBAAY,2CAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IAES,8CAAa,GAAvB;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,OAAO,CAAC,+DAAO,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;YAC3D,8DAAM,SAAS,EAAE,UAAU,CAAC,SAAS;gBACnC,oDAAC,4EAAY,IAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAiB,CAClF;YACP,oDAAC,4BAA4B,IAC3B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,GACrB,CACI,CAAC,CAAC;IACZ,CAAC;IACH,6BAAC;AAAD,CAAC,CA7B2C,yEAAkB,GA6B7D;;AAED;IAAkD,gDAA8B;IAAhF;;IAIA,CAAC;IAHW,oDAAa,GAAvB;QACE,OAAO,6DAAK,SAAS,EAAE,IAAI,CAAC,OAAO,IAAG,IAAI,CAAC,aAAa,EAAE,CAAO,CAAC;IACpE,CAAC;IACH,mCAAC;AAAD,CAAC,CAJiD,6EAA8B,GAI/E;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAC,KAAK;IACnE,OAAO,mDAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtG4B;AACqC;AAE9B;AACyB;AAEM;AAC0C;AACA;AACO;AAG9D;AAExD;IAAgD,8CAAyB;IACvE,oCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,gDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAyC,CAAC;QACxD,CAAC;;;OAAA;IACD,sDAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,IAAM,IAAI,GAA+B,IAAI,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,yBAAyB,GAAG;YACxC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,2BAA2B,GAAG;YAC1C,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,yBAAyB,GAAG;YACxC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC;IACD,yDAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,GAAG,cAAO,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,2BAA2B,GAAG,cAAO,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,yBAAyB,GAAG,cAAO,CAAC,CAAC;IACrD,CAAC;IACO,4DAAuB,GAA/B;QACE,IAAI,CAAC,QAAQ,CAAC;YACZ,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACS,kDAAa,GAAvB;QACE,IAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,CAAC,IAAI,CACT,oDAAC,8BAA8B,IAC7B,GAAG,EAAE,KAAK,CAAC,EAAE,EACb,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EACpC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,OAAO,EAAE,IAAI,CAAC,OAAO,GACrB,CACH,CAAC;aACH;SACF;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE;gBACtC,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACzC,MAAM,CAAC,IAAI,CACT,oDAAC,8BAA8B,IAC7B,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAC/B,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EACjC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EACpC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,OAAO,EAAE,IAAI,CAAC,OAAO,GACrB,CACH,CAAC;aACH;SACF;QACD,IAAM,MAAM,GAAuB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACxG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC3B,CAAC,CAAC,IAAI,CAAC;QACT,IAAM,MAAM,GAAuB,IAAI,CAAC,QAAQ,CAAC,oBAAoB;YACnE,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE;YACxB,CAAC,CAAC,IAAI,CAAC;QACT,IAAM,SAAS,GAAuB,IAAI,CAAC,QAAQ,CAAC,uBAAuB;YACzE,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE;YACxB,CAAC,CAAC,IAAI,CAAC;QAET,IAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,IAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,IAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtD,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;YAC1C,oBAAoB;YACpB,MAAM;YACN,MAAM;YACN,SAAS;YACT,MAAM;YACN,KAAK,CACF,CACP,CAAC;IACJ,CAAC;IACS,oDAAe,GAAzB;QACE,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;YACzC,IAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE;gBACrE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;aAC3B;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;QACD,IAAM,KAAK,GAAuB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3F,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtD,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtD,IAAM,MAAM,GAAuB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7D,IAAM,aAAa,GAAW,IAAI,CAAC,QAAQ,CAAC,oBAAoB;YAC9D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW;YACtC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC;QAC5C,OAAO,CACL,6DAAK,SAAS,EAAE,aAAa;YAC3B,6DAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC3B,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB;oBACvD,OAAO;oBACP,KAAK;oBACL,OAAO,CACJ;gBACL,MAAM;gBACN,IAAI,CAAC,kBAAkB,EAAE,CACtB,CACF,CACP,CAAC;IACJ,CAAC;IACO,uDAAkB,GAA1B;QACE,OAAO,CACL,oDAAC,kIAAsC,IAAC,IAAI,EAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAA2C,CACtH,CAAC;IACJ,CAAC;IAES,sDAAiB,GAA3B;QACE,OAAO,CACL,oDAAC,2HAAoC,IAAC,IAAI,EAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAyC,CAClH,CAAC;IACJ,CAAC;IACS,sDAAiB,GAA3B;QACE,OAAO,CACL,oDAAC,2HAAoC,IAAC,IAAI,EAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAyC,CAClH,CAAC;IACJ,CAAC;IAES,gDAAW,GAArB;QACE,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ;YAC/C,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAC/C,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EACxC,IAAI,EAAC,aAAa,GAClB,CACE,CACP,CAAC;IACJ,CAAC;IACS,uDAAkB,GAA5B;QACE,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,yBAAyB,EAAE;YAC3E,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IACS,sDAAiB,GAA3B;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAM,KAAK,GAAuB,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpI,OAAO,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM;YACrD,4DAAI,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAI;YACpD,KAAK;YACL,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,sBAAsB;gBACnH,oDAAC,iFAAe,IAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAoB,CACnE,CAAC,CAAC,CAAC,CAAC,IAAI,CACV,CAAC,CAAC;IACV,CAAC;IACS,sDAAiB,GAA3B;QACE,IAAI,IAAI,CAAC,QAAQ,CAAC,2BAA2B,EAAE,EAAE;YAC/C,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB;gBAC3D,kEAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAQ;gBAClE,IAAI,CAAC,kBAAkB,EAAE,CACtB,CACP,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACH,iCAAC;AAAD,CAAC,CA7K+C,gFAAyB,GA6KxE;;AAED;IAAoD,kDAAW;IAA/D;;IAyCA,CAAC;IAxCC,sBAAY,oDAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAY,iDAAK;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACS,kDAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,QAAQ,CAAC,MAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,CAAC;IACS,+CAAM,GAAhB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC;IACM,+CAAM,GAAb;QACE,IAAM,KAAK,GAAG,iBAAM,MAAM,WAAE,CAAC;QAC7B,IAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACzC,IAAM,SAAS,GAAuB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7E,CAAC,4DAAI,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,OAAO,CACL;YACE,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;gBAC/C,KAAK;gBACL,YAAY,CACT;YACL,SAAS,CACT,CACJ,CAAC;IACJ,CAAC;IACS,qDAAY,GAAtB;QACE,IACE,IAAI,CAAC,QAAQ,CAAC,yBAAyB,KAAK,OAAO;YACnD,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc;YAC7B,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAC1D;YACA,OAAO,IAAI,CAAC;SACb;QACD,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,4BAA4B,EAAE;YAC9E,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;SACrD,CAAC,CAAC;IACL,CAAC;IACH,qCAAC;AAAD,CAAC,CAzCmD,kDAAW,GAyC9D;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,eAAK;IAClE,OAAO,mDAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1O4B;AACyD;AAEjB;AACR;AACC;AACR;AAExD;IAA8C,4CAAyB;IACrE,kCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,8CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAuC,CAAC;QACtD,CAAC;;;OAAA;IACS,gDAAa,GAAvB;QAAA,iBAkCC;QAjCC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,WAAW,GAAuB,IAAI,CAAC;QAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE;YAC1C,WAAW,GAAG,CACZ;gBACE,+DACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAC/C,OAAO,EAAE,cAAM,YAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAA1B,CAA0B,EACzC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GACvC,CACE,CACP,CAAC;SACH;QACD,OAAO,CACL,kEACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAC/C,GAAG,EAAE,UAAC,QAAQ,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAA3B,CAA2B,EAC9C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,mBACxB,IAAI,CAAC,QAAQ,CAAC,uBAAuB,gBACxC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,qBAC7B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,kBAC1C,IAAI,CAAC,QAAQ,CAAC,sBAAsB,sBAChC,IAAI,CAAC,QAAQ,CAAC,0BAA0B;YAEzD,IAAI,CAAC,QAAQ,CAAC,UAAU;gBACvB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3B,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;YACnE,WAAW,CACH,CACZ,CAAC;IACJ,CAAC;IACS,4CAAS,GAAnB;QAAA,iBAWC;QAVC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;YAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,EAAU;gBACvD,YAAI,CAAC,UAAU,CACb,QAAQ,GAAG,EAAE,EACb,IAAI,EACJ,KAAK,EACL,KAAI,CAAC,QAAQ,CAAC,UAAU,CACzB;YALD,CAKC,CACF,CAAC;SACH;IACH,CAAC;IACS,kDAAe,GAAzB,UAA0B,UAAe;QACvC,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,eAAe,IACvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CACxB,CACP,CAAC;IACJ,CAAC;IACS,6CAAU,GAApB,UAAqB,UAAe;QAApC,iBAYC;QAXC,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAW,EAAE,EAAU;YACvD,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,EAAU;gBAC3C,YAAI,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YAAxE,CAAwE,CACzE,CAAC;YACF,OAAO,CACL,6DAAK,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAC,cAAc,IACpF,KAAK,CACF,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAES,0CAAO,GAAjB,UAAkB,UAAe;QAC/B,IAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC3B,OAAO,6DAAK,SAAS,EAAE,UAAU,CAAC,OAAO,IAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAO,CAAC;SACzG;;YACI,OAAO,0GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAI,CAAC;IACxE,CAAC;IAES,2CAAQ,GAAlB,UAAmB,UAAe,EAAE,OAA0B;QAC5D,IAAI,KAAK,GAAsB,EAAE,CAAC;QAClC,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAChF,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC1B;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,sBAAc,+CAAS;aAAvB;YACE,OAAO,IAAI,CAAC,6CAA4C;QAC1D,CAAC;;;OAAA;IACS,8CAAW,GAArB,UAAsB,UAAe;QACnC,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACnD,oDAAC,mFAA4B,IAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,UAAU,CAAC,KAAK,EAC1B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,IAAI,CAAC,aAAa,GACjC,CACE,CACP,CAAC;IACJ,CAAC;IACO,6CAAU,GAAlB,UACE,GAAW,EACX,IAAe,EACf,KAAU,EACV,UAAe,EACf,KAAc;QAEd,IAAM,YAAY,GAAG,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;YAC3F,GAAG,EAAE,GAAG;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,UAAU;YACtB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,KAAK,KAAK,IAAI,CAAC,KAAK;SAChC,CAAC,CAAC;QACH,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QACnD,IAAI,WAAW,GAAuB,IAAI,CAAC;QAC3C,IAAI,CAAC,CAAC,MAAM,EAAE;YACZ,WAAW,GAAG,4EAA0B,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACnG;QACD,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,YAAY,CAAC;IACrC,CAAC;IACO,gDAAa,GAArB;QACE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,CAAC;IACH,+BAAC;AAAD,CAAC,CAtI6C,gFAAyB,GAsItE;;AAED;IAA6C,2CAAkB;IAC7D,iCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAGb;QAFC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACrD,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IAC7D,CAAC;IACS,iDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,sBAAc,6CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAc,yCAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,sBAAc,8CAAS;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,CAAC;;;OAAA;IACD,sBAAc,0CAAK;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAc,8CAAS;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,CAAC;;;OAAA;IACD,sBAAY,gDAAW;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;QACzC,CAAC;;;OAAA;IACM,uDAAqB,GAA5B,UAA6B,SAAc,EAAE,SAAc;QACzD,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QACrE,IAAG,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChC,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY;YAC3B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY;YAC7C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe;YACvD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAC/C,CAAC;IACJ,CAAC;IACD,gDAAc,GAAd,UAAe,KAAU;QACvB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,mDAAiB,GAAjB,UAAkB,KAAU;QAC1B,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IACS,2CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACxC,CAAC;IACS,+CAAa,GAAvB;QACE,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,IAAM,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,8DAAM,SAAS,EAAE,iBAAiB,IAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAClJ,OAAO,CACL,6DACE,SAAS,EAAE,SAAS,EACpB,IAAI,EAAC,cAAc;YAEnB,+DAAO,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,UAAU;gBAC/D,mFACoB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC/C,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EACtC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACtC,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAChC,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EACtB,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAClD,QAAQ,EAAE,IAAI,CAAC,cAAc,GAC7B;gBAEA,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;oBACjC,8DAAM,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBAC1B,6DACE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;4BAExC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAQ,CAC7C,CAAC,CAAC;wBACR,IAAI,CAED,CAAC,CAAC;oBACT,IAAI;gBAEP,SAAS,CACJ,CACJ,CACP,CAAC;IACJ,CAAC;IACH,8BAAC;AAAD,CAAC,CAvF4C,yEAAkB,GAuF9D;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,wBAAwB,EAAE,UAAC,KAAU;IAChF,OAAO,mDAAmB,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAC,KAAK;IACjE,OAAO,mDAAmB,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/O4B;AAIE;AAE8B;AACC;AAEhE;IAA2C,yCAAyB;IAApE;;IA4GA,CAAC;IA3GC,sBAAc,2CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAoC,CAAC;QACnD,CAAC;;;OAAA;IAES,6CAAa,GAAvB;QAAA,iBAgCC;QA9BC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;YACtC,OAAO,CACL,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAClC,GAAG,EAAE,UAAC,IAAI,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAvB,CAAuB,IAErC,IAAI,CAAC,QAAQ,EAAE,CACZ,CACP,CAAC;SACH;aAAM;YACL,IAAM,YAAY,GAAG,IAAI,CAAC;YAC1B,OAAO,CACL,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAClC,GAAG,EAAE,UAAC,IAAI,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAvB,CAAuB;gBAEtC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAe,gBAAgB;oBACrF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC;oBAC3D,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB;;wBAAI,IAAI,CAAC,QAAQ,CAAC,+BAA+B;4BAAQ,CAAC,CAAC,CAAC,IAAI,CACxK;gBAEN,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,GAAQ;gBAElE,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAe,cAAc;oBACjF,IAAI,CAAC,QAAQ,EAAE;oBACf,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,IAAG,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAO,CAAC,CAAC,CAAC,IAAI,CACtK,CACF,CACP,CAAC;SACH;IACH,CAAC;IAES,wCAAQ,GAAlB,UAAmB,OAA2C,EAAE,YAAsB;QAAtF,iBA6BC;QA7BkB,oCAAe,IAAI,CAAC,QAAQ,CAAC,cAAc;QAC5D,IAAM,KAAK,GAAuB,EAAE,CAAC;gCAC5B,CAAC;YACR,IAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CACR,OAAK,UAAU,CACb,IAAI,EACJ,CAAC,EACD,UAAC,KAAmB;gBAClB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC/D,CAAC,EACD,UAAC,KAAU;gBACT,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,yBAAyB;gBACzB,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAClC,KAAI,CAAC,QAAQ,EACb,KAAK,EACL,IAAI,EACJ,KAAK,CAAC,aAAa,CACpB,CAAC;YACJ,CAAC,EACD,OAAK,QAAQ,CAAC,UAAU,EACxB,OAAK,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAChC,OAAK,QAAQ,EACb,YAAY,CACb,CACF,CAAC;;;QAxBJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;oBAA9B,CAAC;SAyBT;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,0CAAU,GAApB,UACE,IAAe,EACf,CAAS,EACT,aAAmC,EACnC,iBAAgD,EAChD,UAAe,EACf,SAAiB,EACjB,QAA8B,EAC9B,YAAsB;QAEtB,IAAM,GAAG,GAAW,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC;QACnD,IAAM,IAAI,GAAgB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAM,KAAK,GAAG,CAAC,CAAC;QAChB,IAAM,SAAS,GAAW,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAM,QAAQ,GAAW,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAM,YAAY,GAAG,CACnB,oDAAC,yBAAyB,IACxB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,QAAQ,EACtB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,GACV,CACH,CAAC;QACF,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QACnD,IAAI,WAAW,GAAuB,IAAI,CAAC;QAC3C,IAAI,CAAC,CAAC,MAAM,EAAE;YACZ,WAAW,GAAG,4EAA0B,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACnG;QACD,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,YAAY,CAAC;IACrC,CAAC;IACH,4BAAC;AAAD,CAAC,CA5G0C,gFAAyB,GA4GnE;;AAED;IAA+C,6CAAkB;IAAjE;;IA4EA,CAAC;IA3EC,sBAAc,2CAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,sBAAc,4CAAK;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAc,gDAAS;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,CAAC;;;OAAA;IACD,sBAAc,oDAAa;aAA3B;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAClC,CAAC;;;OAAA;IACD,sBAAc,wDAAiB;aAA/B;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACtC,CAAC;;;OAAA;IACD,sBAAc,iDAAU;aAAxB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,CAAC;;;OAAA;IACD,sBAAc,gDAAS;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,CAAC;;;OAAA;IACD,sBAAc,mDAAY;aAA1B;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QACjC,CAAC;;;OAAA;IACD,sBAAc,+CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAc,mDAAY;aAA1B;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QACjC,CAAC;;;OAAA;IACD,sBAAc,2CAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IAES,iDAAa,GAAvB;QACE,OAAO,CACL,6DACE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,aAAa,EAAE,IAAI,CAAC,iBAAiB,sCACH,IAAI,CAAC,KAAK;YAE5C,6DAAK,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;gBAC3C,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,GAAI;gBACjD,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;oBACzC,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB;wBAC/C,6DACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAC1C,KAAK,EAAC,4BAA4B;4BAElC,8DAAM,CAAC,EAAC,ycAAyc,GAAG,CAChd;wBACN,6DACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAC1C,KAAK,EAAC,4BAA4B;4BAElC,8DAAM,CAAC,EAAC,2BAA2B,GAAG;4BACtC,8DAAM,CAAC,EAAC,+BAA+B,GAAG,CACtC,CACF;oBAEN,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAO;oBAC7G,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,IAAG,IAAI,CAAC,IAAI,CAAO,CAC3D,CACF,CACF,CACP,CAAC;IACJ,CAAC;IACH,gCAAC;AAAD,CAAC,CA5E8C,yEAAkB,GA4EhE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,KAAK;IAC9D,OAAO,mDAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvM4B;AACqC;AAEL;AACP;AAExD;IAA0C,wCAAyB;IACjE,8BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACrD,CAAC;IACD,sBAAc,0CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAmC,CAAC;QAClD,CAAC;;;OAAA;IACD,4CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAES,yCAAU,GAApB,UACE,IAAS,EACT,KAAa;QAEb,IAAM,YAAY,GAAG,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;YAC/F,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,OAAO,GAAG,KAAK;YACpB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,4CAAa,GAAvB;QAAA,iBAkBC;QAjBC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB;YAC5C,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB;YAC5C,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC;QACT,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,UAAC,GAAG,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAtB,CAAsB;YAC/E,kEAAU,IAAI,EAAC,YAAY;gBACzB,gEAAQ,IAAI,EAAC,cAAc,EAAC,SAAS,EAAE,WAAW,GAAW;gBAC5D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,8DAAM,SAAS,EAAE,UAAU,CAAC,OAAO,IAAG,OAAO,CAAQ,EAAC,CAAC,IAAI;gBACzF,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,YAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAA5B,CAA4B,CAAC;gBAClF,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,8DAAM,SAAS,EAAE,UAAU,CAAC,OAAO,IAAG,OAAO,CAAQ,EAAC,CAAC,IAAI,CACjF,CACP,CACP,CAAC;IACJ,CAAC;IAEH,2BAAC;AAAD,CAAC,CAhDyC,gFAAyB,GAgDlE;;AACD,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAC,KAAK;IAC7D,OAAO,mDAAmB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzD4B;AAEgC;AACF;AACJ;AACJ;AAErD;IAA0C,wCAA+C;IACvF,8BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IAES,yCAAU,GAApB,UAAqB,GAAW,EAAE,IAAS;QACzC,IAAM,YAAY,GAAG,CACnB,oDAAC,qEAAwB,IACvB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,GACV,CACH,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,0CAAW,GAArB,UAAsB,iBAAoC;QAA1D,iBA6BC;QA5BC,IAAM,4BAA4B,GAAG,iBAAiD,CAAC;QACvF,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK,IAAO,OAAO,KAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxH,OAAO,CACL,6DACE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAC1C,QAAQ,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACzD,6DAA6D;YAC7D,aAAa;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAClC,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,EACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,mBACb,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,mBAChC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,MAAM,mBACvF,iBAAiB,CAAC,aAAa,2BACvB,iBAAiB,CAAC,oBAAoB;YAE7D,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY;gBAClD,KAAK;gBACN,oDAAC,iEAAkB,IAAC,KAAK,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAuB,CACnG;YACL,IAAI,CAAC,iBAAiB,EAAE,CACrB,CAAC,CAAC;IACZ,CAAC;IAES,4CAAa,GAAvB;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;YACxC,MAAM;YACN,OAAO,CACJ,CACP,CAAC;IACJ,CAAC;IACH,2BAAC;AAAD,CAAC,CA1DyC,yEAA0B,GA0DnE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAC,KAAK;IAC7D,OAAO,mDAAmB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrE4B;AAC6C;AAEb;AACY;AAE3E;IAAwC,sCAEvC;IACC,gDAAgD;IAChD,4BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;QACZ,sCAAsC;IACxC,CAAC;IACS,wCAAW,GAArB;QAAA,iBAyCC;QAxCC,IAAM,UAAU,GAAI,IAAI,CAAC,QAA8B,CAAC,eAAe,EAAE,CAAC;QAE1E,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE;YACvC,OAAO,iEAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAO,CAAC;SACzC;QACD,IAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,oDAAC,uFAAyB,IAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,yBAAyB,GAA8B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1O,OAAO,CACL;YACE,+DACE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAC7B,uBAAuB;gBACvB,GAAG,EAAE,UAAC,KAAK,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAxB,CAAwB,EACxC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EACvC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAC9B,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAChC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAC9B,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EACxC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAChC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAC9B,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAClC,mBAAmB,EAAE,UAAC,KAAK,IAAK,YAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,EAApD,CAAoD,mBACrE,IAAI,CAAC,QAAQ,CAAC,uBAAuB,gBACxC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,qBAC7B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,kBAC1C,IAAI,CAAC,QAAQ,CAAC,sBAAsB,sBAChC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,GAC1D;YACD,OAAO,CACP,CACJ,CAAC;IACJ,CAAC;IACS,0CAAa,GAAvB;QACE,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACxB;gBACI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,cAAc,EAAE,CACnB,EAAC;YACP,IAAI,CAAC,WAAW,EAAE,CACrB,CAAC;IACJ,CAAC;IACO,2CAAc,GAAtB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,OAAO,GAAsB,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,OAAO,CAAC,IAAI,CAAC,gEAAQ,GAAG,EAAE,MAAM,GAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAW,CAAC,CAAC;SACjE;QACD,OAAO,kEAAU,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAG,OAAO,CAAY,CAAC;IACtE,CAAC;IAKH,yBAAC;AAAD,CAAC,CA1EuC,wFAAiC,GA0ExE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAC,KAAK;IAC3D,OAAO,mDAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;;;;;;;;;;;;;ACpFH;AAAA;AAAA;AAAA;AAAA;AAA8I;AACtF;AAExD;IAAA;IAgDA,CAAC;IA/Ce,kCAAO,GAArB,UAAsB,MAAmB,EAAE,OAAoB,EAAE,GAAqB;QACpF,IAAM,aAAa,GAAG,MAAM,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAM,aAAa,GAAG,MAAM,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,OAAO;YACP,GAAG;YACH,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IACa,sCAAW,GAAzB,UAA0B,MAAmB,EAAE,OAAoB,EAAE,QAAuB;QAC1F,IAAM,aAAa,GAAG,MAAM,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAM,aAAa,GAAG,MAAM,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QACtE,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,OAAO;YACP,QAAQ;YACR,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IACa,8CAAmB,GAAjC,UAAkC,MAAmB,EAAE,OAAoB,EAAE,QAAuB;QAClG,IAAM,aAAa,GAAG,MAAM,CAAC,sCAAsC,CAAC,QAAQ,CAAC,CAAC;QAC9E,IAAM,aAAa,GAAG,MAAM,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QACtE,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,OAAO;YACP,QAAQ;YACR,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IACa,wCAAa,GAA3B,UAA4B,MAAmB,EAAE,OAAoB,EAAE,QAA4B,EAAE,IAAe;QAClH,IAAM,aAAa,GAAG,MAAM,CAAC,gCAAgC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9E,IAAM,aAAa,GAAG,MAAM,CAAC,gCAAgC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9E,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,GAAG,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG;YACjB,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IACa,yCAAc,GAA5B,UAA6B,MAAmB,EAAE,OAAoB,EAAE,IAAwC,EAAE,MAAuB;QAAvB,wCAAuB;QACvI,IAAM,aAAa,GAAG,MAAM,CAAC,8BAA8B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1E,IAAM,aAAa,GAAG,MAAM,CAAC,8BAA8B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1E,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,OAAO;YACP,IAAI;YACJ,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IACH,iCAAC;AAAD,CAAC;;AAED,uDAAW,CAAC,QAAQ,GAAG,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDA;AAE0B;AACD;AACK;AAE7D;IAAsC,oCAAkB;IACtD,0BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SACb;QAOgB,kBAAY,GAAG,GAAG,CAAC;;IAPpC,CAAC;IACS,0CAAe,GAAzB;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,sBAAc,wCAAU;aAAxB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAY,sCAAQ;aAApB;YACE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,CAAC;;;OAAA;IACD,iCAAM,GAAN;QACE,IAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;YAC7B,OAAO,IAAI,CAAC;SACb;QACD,IAAI,MAAM,GAAG,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,SAAS,IAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAO,CAAC;QACrG,IAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE;YACnC,IAAI,KAAK,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpF,IAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,oDAAC,qEAAO,IAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAY,EAAC,CAAC,IAAI,CAAC,CAAC;YACnL,MAAM;gBACN,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;oBACrC,QAAQ;oBACT,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB;wBAC9C,8DAAM,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,IAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAS;wBACtF,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,8DAAM,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,IAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAC9H,CACF,CAAC,CAAC;SACT;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACH,uBAAC;AAAD,CAAC,CAjCqC,yEAAkB,GAiCvD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,EAAE,UAAC,KAAK;IAClE,OAAO,mDAAmB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3C4B;AAG6B;AACf;AACW;AACQ;AAEhE;IAA+B,6BAA2B;IAExD,mBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAGb;QAFC,KAAI,CAAC,OAAO,GAAG,+CAAe,EAAE,CAAC;QACjC,KAAI,CAAC,cAAc,EAAE,CAAC;;IACxB,CAAC;IACO,kCAAc,GAAtB;QACE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAO,IAAI,OAAC,OAAoB,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC;IAC5E,CAAC;IACS,mCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IACD,sBAAY,0BAAG;aAAf;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,CAAC;;;OAAA;IACD,sBAAY,6BAAM;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAY,8BAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAc,0BAAG;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,CAAC;;;OAAA;IACS,6BAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAC3E,CAAC;IACS,wCAAoB,GAA9B;QAAA,iBAuBC;QAtBC,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,YAAY;YAClE,IAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,IAAM,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YACjC,OAAO,CACL,oDAAC,yDAAgB,IACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,KAAI,CAAC,GAAG,EACb,MAAM,EAAE,KAAI,CAAC,MAAM,EACnB,OAAO,EAAE,KAAI,CAAC,OAAO,EACrB,GAAG,EAAE,KAAI,CAAC,GAAG,EACb,GAAG,EAAE,GAAG,GAES,CACpB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,CACL,6DAAK,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IACpD,QAAQ,CACL,CACP,CAAC;IACJ,CAAC;IACS,iCAAa,GAAvB;QACE,IAAM,MAAM,GAAgB,IAAI,CAAC,MAAqB,CAAC;QACvD,IAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5C,IAAM,OAAO,GAAG,4EAA0B,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9E,OAAO,OAAO,IAAI,OAAO,CAAC;IAC5B,CAAC;IACD,qCAAiB,GAAjB;QAAA,iBASC;QARC,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;YAClC,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,UAAU,CAAC;gBACT,KAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAC/C,CAAC,EAAE,EAAE,CAAC,CAAC;SACR;IACH,CAAC;IACM,yCAAqB,GAA5B,UAA6B,SAAc,EAAE,SAAc;QACzD,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAErE,IAAI,SAAS,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE;YAC9B,SAAS,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;YACnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACO,qCAAiB,GAAzB;QACE,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IACtD,CAAC;IACD,wCAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAES,iCAAa,GAAvB,UAAwB,OAAiB,EAAE,YAAqB;QAC9D,IAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,oEAAmB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE;YAClE,WAAW,GAAG,UAAU,CAAC;SAC1B;QACD,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE;YAC7D,GAAG,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK;YACzB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IACH,gBAAC;AAAD,CAAC,CArG8B,wEAAiB,GAqG/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7G8B;AACqC;AAEL;AACN;AAEzD;IAAgD,8CAAyB;IACvE,oCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,KAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;;IAC9C,CAAC;IACD,sBAAc,gDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAyC,CAAC;QACxD,CAAC;;;OAAA;IACS,kDAAa,GAAvB;QAAA,iBAkBC;QAjBC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,UAAC,IAAI,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAvB,CAAuB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;YAC5J,6DACE,SAAS,EAAE,UAAU,CAAC,WAAW,EACjC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAEpE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC1B;YACN;gBACG,IAAI,CAAC,qBAAqB,EAAE;gBAC7B,gEAAQ,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAW,CACtE;YACL,WAAW,CACR,CACP,CAAC;IACJ,CAAC;IAED,0DAAqB,GAArB;QACE,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QAE/C,OAAO,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAQ,CAAC;IAC3L,CAAC;IAED,sDAAiB,GAAjB;QAAA,iBAcC;QAbC,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAElD,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,OAAO,6DAAK,SAAS,EAAE,UAAU,CAAC,QAAQ;YACxC,gEACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,UAAU,CAAC,WAAW,EACjC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EACvC,OAAO,EAAE,cAAM,YAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAA1B,CAA0B,IAExC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,oDAAC,qEAAO,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAY,CAAC,CAAC,CAAC,2EAAc,CAC/I,CACL,CAAC;IACT,CAAC;IACH,iCAAC;AAAD,CAAC,CAjD+C,gFAAyB,GAiDxE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAC,KAAK;IACnE,OAAO,mDAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3DuB;AACsB;AACQ;AAExD;IAA2C,yCAAyB;IAClE,+BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QAkBD,aAAO,GAAG,UAAC,KAAU;YACnB,KAAI,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;QAC5C,CAAC,CAAC;QACF,aAAO,GAAG,UAAC,KAAU;YACnB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC,CAAC;QAzBA,KAAI,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;IAC9B,CAAC;IACD,sBAAY,yCAAM;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAY,wCAAK;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,iDAAiB,GAAjB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC;IACD,oDAAoB,GAApB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,cAAa,CAAC,CAAC;IACzC,CAAC;IAQD,sCAAM,GAAN;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,IAAM,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACvD,OAAO,CACL,qEACE,SAAS,EAAC,kBAAkB,EAC5B,eAAe,EAAC,MAAM,EACtB,8BAA8B,EAAE,IAAI,EACpC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,uBAAuB,EAAE,SAAS,EAClC,MAAM,EAAE,IAAI,CAAC,OAAO,EACpB,OAAO,EAAE,IAAI,CAAC,OAAO,GACrB,CACH,CAAC;SACH;QACD,OAAO,CACL,qEACE,SAAS,EAAC,kBAAkB,EAC5B,eAAe,EAAC,MAAM,EACtB,8BAA8B,EAAE,IAAI,EACpC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,OAAO,EACpB,OAAO,EAAE,IAAI,CAAC,OAAO,IAEpB,IAAI,CAAC,MAAM,CAAC,YAAY,CACpB,CACR,CAAC;IACJ,CAAC;IACH,4BAAC;AAAD,CAAC,CA5D0C,4CAAK,CAAC,SAAS,GA4DzD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,6DAAiB,CAAC,gBAAgB,EAClC,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvEwB;AACsB;AACQ;AAExD;IAA2C,yCAAyB;IAClE,+BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QAsBO,sBAAgB,GAAG,UAAC,MAAW,EAAE,OAAY;YACnD,IAAG,KAAI,CAAC,WAAW;gBAAE,OAAO;YAC5B,KAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,IAAI,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QA1BC,KAAI,CAAC,OAAO,GAAG,4CAAK,CAAC,SAAS,EAAE,CAAC;;IACnC,CAAC;IAED,sBAAY,yCAAM;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAY,wCAAK;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,iDAAiB,GAAjB;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,oDAAoB,GAApB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IACD,kDAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,IAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE;YACrB,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAMO,iDAAiB,GAAzB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzD,CAAC;IACD,sCAAM,GAAN;QACE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACS,4CAAY,GAAtB;QACE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACrD,OAAO,qEAAM,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,uBAAuB,EAAE,SAAS,GAAI,CAAC;SACxH;QACD,OAAO,qEAAM,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAQ,CAAC;IACpH,CAAC;IACH,4BAAC;AAAD,CAAC,CAhD0C,4CAAK,CAAC,SAAS,GAgDzD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,6DAAiB,CAAC,eAAe,EACjC,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3D6B;AACoE;AACpC;AACH;AAO5D;IAAwC,sCAA0C;IAyChF,4BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IAxCD,sBAAI,qCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAI,wCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,+CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,8CAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,6CAAgB,GAAhB;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,IAAM,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC;YACvC,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;YAChD,IAAI,CAAC,mDAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;gBAC1E,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;aAChD;SACF;IACH,CAAC;IACD,qCAAQ,GAAR,UAAS,CAAM;QACL,QAAI,GAAK,oDAAQ,CAAC,WAAW,KAAzB,CAA0B;QACtC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SACjD;IACH,CAAC;IACD,uCAAU,GAAV,UAAW,CAAM;QACf,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,mCAAM,GAAN,UAAO,CAAM;QACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,oCAAO,GAAP,UAAQ,CAAM;QACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAID,4CAAe,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,mCAAM,GAAN;QAAA,iBAoCC;QAnCC,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;YAC1C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC1B,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU;oBAClD,kEAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAQ,CACtC,CAAC,CAAC,CAAC,CAAC,IAAI;YAChB,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB;gBACvD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAC1B,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU;wBAClD,8DAAM,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAY,0BAA0B,IAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAQ;wBACnH,kEAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAQ,CACtC,CAAC,CAAC,CAAC,CAAC,IAAI;gBAEhB,+DAAO,IAAI,EAAC,MAAM,EAAC,YAAY,EAAC,KAAK,EACnC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAC9B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,GAAG,EAAE,UAAC,OAAO,IAAK,QAAC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC,EAA7B,CAA6B,EAC/C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACtD,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACrD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,gBAC7D,IAAI,CAAC,QAAQ,CAAC,WAAW,mBACtB,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,MAAM,mBACvF,IAAI,CAAC,KAAK,CAAC,aAAa,2BAChB,IAAI,CAAC,KAAK,CAAC,oBAAoB,EACtD,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAC/C,SAAS,EAAE,UAAC,CAAC,IAAO,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACzC,QAAQ,EAAE,UAAC,CAAC,IAAO,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtC,MAAM,EAAE,UAAC,CAAC,IAAO,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAClC,OAAO,EAAE,UAAC,CAAC,IAAO,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC7B,CACL,CACF,CACP,CAAC;IACJ,CAAC;IACH,yBAAC;AAAD,CAAC,CApFuC,wEAAiB,GAoFxD;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,UAAC,KAAK;IACvE,OAAO,mDAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClG4B;AAC8B;AAEJ;AAEzD;IAA8C,4CAAkB;IAC9D,kCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,8CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAc,0CAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACS,4CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxC,CAAC;IACS,gDAAa,GAAvB;QAAA,iBAuBC;QAtBC,IAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErD,IAAM,UAAU,GAAG,UAAC,KAAU;YAC5B,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9D,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC,CAAC;QAEF,OAAO,CACL,6DAAK,SAAS,EAAC,iBAAiB;YAC9B,6DAAK,SAAS,EAAC,sBAAsB,IAAE,IAAI,CAAO;YAClD,6DACE,SAAS,EAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EACpD,OAAO,EAAE,UAAU;gBAEnB,oDAAC,qEAAO,IACN,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EACtD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,EACxD,IAAI,EAAE,MAAM,GACH,CACP,CACF,CACP,CAAC;IACJ,CAAC;IACH,+BAAC;AAAD,CAAC,CArC6C,yEAAkB,GAqC/D;;;;;;;;;;;;;;ACjCD;AAAA;AAAA,IAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;AACrC,IAAM,kBAAkB,GAA4C,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChF,IAAI,EAAE,QAAQ;IAEd,YAAY,EAAE,QAAQ,CAAC,IAAI;IAC3B,IAAI,WAAW;;QACb,OAAO,UAAI,CAAC,YAAY,mCAAI,QAAQ,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,IAAI,WAAW,CAAC,WAAqC;QAClD,IAAI,CAAC,YAAoB,GAAG,WAAW,CAAC;IAC3C,CAAC;IAED,oBAAoB,EAAE,QAAQ,CAAC,IAAI;IACnC,IAAI,mBAAmB;;QACrB,OAAO,UAAI,CAAC,oBAAoB,mCAAI,QAAQ,CAAC,IAAI,CAAC;IACpD,CAAC;IACD,IAAI,mBAAmB,CAAC,mBAAyC;QAC9D,IAAI,CAAC,oBAA4B,GAAG,mBAAmB,CAAC;IAC3D,CAAC;IACD,iBAAiB,EAAE,QAAQ,CAAC,IAAI;IAChC,0BAA0B,EAAE,QAAQ,CAAC,IAAI;CAC1C,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACf,IAAM,kBAAkB,GAA+D;IACrF,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;CACjC,CAAC;AACF;;;;;;;;GAQG;AAEI,IAAI,QAAQ,GAAG;IACpB;;;;;;;;;;OAUG;IACH,UAAU,EAAE;QACV,qBAAqB,EAAE,IAAI;QAC3B,eAAe,EAAE,IAAI;KACtB;IACD,iDAAiD;IACjD;;OAEG;IACH,IAAI,qCAAqC,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACtG,IAAI,qCAAqC,CAAC,GAAY,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC;IACxG;;OAEG;IACH,IAAI,+BAA+B,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1F,IAAI,+BAA+B,CAAC,GAAY,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5F,YAAY;IAEZ;;;;;;;;;;;;;OAaG;IACH,YAAY,EAAE;QACZ,gBAAgB,EAAE,IAAI;QACtB,2BAA2B,EAAE,KAAK;QAClC,iBAAiB,EAAE,SAAS;KAC7B;IACD,mDAAmD;IACnD;;OAEG;IACH,IAAI,gBAAgB,KAAc,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC9E,IAAI,gBAAgB,CAAC,GAAY,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC;IAChF;;OAEG;IACH,IAAI,2BAA2B,KAAc,OAAO,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACpG,IAAI,2BAA2B,CAAC,GAAY,IAAI,IAAI,CAAC,YAAY,CAAC,2BAA2B,GAAG,GAAG,CAAC,CAAC,CAAC;IACtG;;OAEG;IACH,IAAI,iBAAiB,KAAa,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC/E,IAAI,iBAAiB,CAAC,GAAW,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;IACjF,YAAY;IACZ;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,EAAE;QACH,eAAe,EAAE,IAAI;QACrB,kBAAkB,EAAE,IAAI;QACxB,kCAAkC,EAAE,KAAK;QACzC,gBAAgB,EAAE,0CAA0C;KAC7D;IACD,0CAA0C;IAC1C;;OAEG;IACH,IAAI,0BAA0B,KAAc,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IAC9E,IAAI,0BAA0B,CAAC,GAAY,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC;IAChF;;OAEG;IACH,IAAI,2BAA2B,KAAc,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAClF,IAAI,2BAA2B,CAAC,GAAY,IAAI,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC,CAAC;IACpF,IAAI,4BAA4B,KAAc,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnF,IAAI,4BAA4B,CAAC,GAAY,IAAI,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC,CAAC;IACrF;;OAEG;IACH,IAAI,8BAA8B,KAAc,OAAO,IAAI,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;IACrG,IAAI,8BAA8B,CAAC,GAAY,IAAI,IAAI,CAAC,GAAG,CAAC,kCAAkC,GAAG,GAAG,CAAC,CAAC,CAAC;IACvG;;OAEG;IACH,IAAI,gBAAgB,KAAa,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACpE,IAAI,gBAAgB,CAAC,GAAW,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC;IACtE,YAAY;IAEZ;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,EAAE;QACR,iCAAiC,EAAE,IAAI;QACvC,6BAA6B,EAAE,KAAK;QACpC,yBAAyB,EAAE,IAAI;KAChC;IACD,+CAA+C;IAC/C;;OAEG;IACH,IAAI,oCAAoC,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC3G,IAAI,oCAAoC,CAAC,GAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,6BAA6B,GAAG,GAAG,CAAC,CAAC,CAAC;IAC7G;;OAEG;IACH,IAAI,wCAAwC,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,CAAC;IACnH,IAAI,wCAAwC,CAAC,GAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,iCAAiC,GAAG,GAAG,CAAC,CAAC,CAAC;IACrH;;OAEG;IACH,IAAI,gCAAgC,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACnG,IAAI,gCAAgC,CAAC,GAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,GAAG,GAAG,CAAC,CAAC,CAAC;IACrG,YAAY;IAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,aAAa,EAAE;QACb,0BAA0B,EAAE,KAAK;QACjC,6BAA6B,EAAE,KAAK;QACpC,kCAAkC,EAAE,KAAK;KAC1C;IACD,oDAAoD;IACpD;;OAEG;IACH,IAAI,gCAAgC,KAAc,OAAO,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACzG,IAAI,gCAAgC,CAAC,GAAY,IAAI,IAAI,CAAC,aAAa,CAAC,0BAA0B,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3G;;OAEG;IACH,IAAI,4BAA4B,KAAc,OAAO,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACxG,IAAI,4BAA4B,CAAC,GAAY,IAAI,IAAI,CAAC,aAAa,CAAC,6BAA6B,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1G;;OAEG;IACH,IAAI,kCAAkC,KAAc,OAAO,IAAI,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC,CAAC;IACnH,IAAI,kCAAkC,CAAC,GAAY,IAAI,IAAI,CAAC,aAAa,CAAC,kCAAkC,GAAG,GAAG,CAAC,CAAC,CAAC;IACrH,YAAY;IACZ;;;;;;;;;OASG;IACH,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,CAAC;KAClB;IACD,iDAAiD;IACjD;;OAEG;IACH,IAAI,iBAAiB,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,IAAI,iBAAiB,CAAC,GAAY,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;IACtE,IAAI,yBAAyB,KAAa,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IAClF,IAAI,yBAAyB,CAAC,GAAW,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC;IACpF,YAAY;IACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,MAAM,EAAE;QACN,eAAe,EAAE,UAAU;QAC3B,cAAc,EAAE,SAAS;QACzB,YAAY,EAAE,QAAQ;QACtB,WAAW,EAAE,IAAI;QACjB,sBAAsB,EAAE,CAAC;QACzB,kBAAkB,EAAE,IAAI;QACxB,kBAAkB,EAAE,kBAAkB;QACtC,QAAQ,EAAE,OAA6B;KACxC;IACD,6CAA6C;IAC7C;;OAEG;IACH,IAAI,oBAAoB,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IACzE,IAAI,oBAAoB,CAAC,GAAW,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3E;;OAEG;IACH,IAAI,qBAAqB,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3E,IAAI,qBAAqB,CAAC,GAAW,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC;IAC7E;;OAEG;IACH,IAAI,uBAAuB,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,IAAI,uBAAuB,CAAC,GAAW,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5E;;OAEG;IACH,IAAI,qBAAqB,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IACvE,IAAI,qBAAqB,CAAC,GAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC;IACzE;;OAEG;IACH,IAAI,4BAA4B,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACzF,IAAI,4BAA4B,CAAC,GAAW,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3F;;OAEG;IACH,IAAI,wBAAwB,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAClF,IAAI,wBAAwB,CAAC,GAAY,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC,CAAC;IACpF,YAAY;IACZ;;;;;;;;;;;;OAYG;IACH,KAAK,EAAE;QACL,aAAa,EAAE,GAAG;QAClB,wBAAwB,EAAE,CAAC;KAC5B;IACD,4CAA4C;IAC5C;;OAEG;IACH,IAAI,oCAAoC,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAClG,IAAI,oCAAoC,CAAC,GAAW,IAAI,IAAI,CAAC,KAAK,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAC,CAAC;IACpG;;OAEG;IACH,IAAI,sBAAsB,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IACzE,IAAI,sBAAsB,CAAC,GAAW,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3E,YAAY;IACZ;;;;;;;;;;OAUG;IACH,QAAQ,EAAE;QACR,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,UAAU;QAC7B,cAAc,EAAE,OAAO;KACxB;IACD,+CAA+C;IAC/C;;OAEG;IACH,IAAI,yBAAyB,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACnF,IAAI,yBAAyB,CAAC,GAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;IACrF;;OAEG;IACH,IAAI,sBAAsB,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7E,IAAI,sBAAsB,CAAC,GAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/E,YAAY;IACZ;;;;;;;;;;OAUG;IACH,SAAS,EAAE;QACT,gCAAgC,EAAE,KAAK;QACvC,+BAA+B,EAAE,KAAK;KACvC;IACD,gDAAgD;IAChD;;OAEG;IACH,IAAI,qCAAqC,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC/G,IAAI,qCAAqC,CAAC,GAAY,IAAI,IAAI,CAAC,SAAS,CAAC,+BAA+B,GAAG,GAAG,CAAC,CAAC,CAAC;IACjH;;OAEG;IACH,IAAI,sCAAsC,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC,CAAC;IACjH,IAAI,sCAAsC,CAAC,GAAY,IAAI,IAAI,CAAC,SAAS,CAAC,gCAAgC,GAAG,GAAG,CAAC,CAAC,CAAC;IACnH,YAAY;IACZ;;;;;;;;OAQG;IACH,cAAc,EAAE,SAAyD;IACzE;;;;;;;;;;OAUG;IACH,UAAU,EAAE;QACV,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,KAAK;QACpB,qBAAqB,EAAE,UAAC,GAAW,EAAE,MAAc,IAAe,OAAO,GAAG,CAAC,CAAC,CAAC;KAChF;IACD,+BAA+B,EAAE,GAAG;IACpC,IAAI,aAAa,KAAa,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9D,IAAI,aAAa,CAAC,GAAW,IAAI,QAAQ,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC;IAChE;;;;;;OAMG;IACH,aAAa,EAAE,UAAU;IACzB;;;;OAIG;IACH,kBAAkB,EAAE,GAAG;IACvB;;;;OAIG;IACH,2BAA2B,EAAE,EAAE;IAC/B;;;;OAIG;IACH,mBAAmB,EAAE,KAAK;IAC1B;;;;;OAKG;IACH,iBAAiB,EAAE,UAAU,OAAe;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD;;;;;;OAMG;IACH,kBAAkB,EAAE,UAAU,OAAe,EAAE,QAAgC;QAC7E,OAAO,KAAK,CAAC;IACf,CAAC;IACD;;;;;;OAMG;IACH,QAAQ,EAAE,OAAO;IACjB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM;IAChB;;;;OAIG;IACH,kCAAkC,EAAE,EAAE;IACtC;;;;;;;OAOG;IACH,aAAa,EAAE;QACb,QAAQ,EAAE,IAAI;KACf;IACD;;;;;;;OAOG;IACH,gBAAgB,EAAE,SAAS;IAC3B;;;;OAIG;IACH,aAAa,EAAE,MAAM;IACrB;;OAEG;IACH,mBAAmB,EAAE;QACnB,QAAQ,EAAE,CAAC,YAAY,CAAC;QACxB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QAC3C,QAAQ,EAAE,CAAC,aAAa,CAAC;QACzB,WAAW,EAAE,CAAC,aAAa,CAAC;KAC7B;IACD;;OAEG;IACH,OAAO,EAAE,EAAE;IACX;;OAEG;IACH,OAAO,EAAE,EAAE;IACX,SAAS,EAUN,SAAS;IACZ,UAAU,EAAiE,SAAS;IACpF,gBAAgB,EAAE,KAAK;IACvB,2BAA2B,EAAE,IAAI;IACjC;;;;;;;;;;OAUG;IACH,WAAW,EAAE,EAAE;IACf;;;;;;;OAOG;IACH,qBAAqB,EAAE,YAAY;IAEnC,WAAW,EAAE,kBAAkB;IAE/B;;;;;;OAMG;IACH,sBAAsB,EAAE,IAAI;IAE5B;;;;;;OAMG;IACH,SAAS,EAAE;QACT,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,UAAU,EAAE;YACV,OAAO;YACP,MAAM;YACN,gBAAgB;YAChB,OAAO;YACP,OAAO;YACP,QAAQ;YACR,UAAU;YACV,OAAO;YACP,KAAK;YACL,MAAM;YACN,MAAM;YACN,KAAK;YACL,MAAM;SACP;QACD,QAAQ,EAAE;YACR,EAAE;YACF,MAAM;YACN,kBAAkB;YAClB,YAAY;YACZ,iBAAiB;YACjB,aAAa;YACb,kBAAkB;YAClB,UAAU;YACV,oBAAoB;YACpB,UAAU;YACV,cAAc;YACd,kBAAkB;YAClB,cAAc;YACd,gBAAgB;YAChB,eAAe;YACf,eAAe;YACf,eAAe;YACf,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;YAChB,SAAS;YACT,cAAc;YACd,aAAa;YACb,SAAS;YACT,eAAe;YACf,oBAAoB;YACpB,gBAAgB;YAChB,WAAW;YACX,QAAQ;YACR,cAAc;YACd,aAAa;YACb,QAAQ;YACR,SAAS;YACT,sBAAsB;YACtB,oBAAoB;YACpB,UAAU;YACV,MAAM;YACN,UAAU;YACV,YAAY;YACZ,WAAW;YACX,KAAK;YACL,KAAK;YACL,OAAO;YACP,KAAK;YACL,kBAAkB;YAClB,cAAc;YACd,eAAe;YACf,WAAW;YACX,kBAAkB;YAClB,kBAAkB;YAClB,eAAe;YACf,OAAO;YACP,MAAM;SACP;KACF;CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5rB2C;AAO7C;IAcE,6BACY,SAAyB,EAC3B,KAA8B,EAC9B,aAAqB,EACrB,YAA2B;QAJrC,iBAmBC;QAfS,kDAA2B;QAHzB,cAAS,GAAT,SAAS,CAAgB;QAC3B,UAAK,GAAL,KAAK,CAAyB;QAC9B,kBAAa,GAAb,aAAa,CAAQ;QACrB,iBAAY,GAAZ,YAAY,CAAe;QAjB7B,mBAAc,GAAmB,SAAS,CAAC;QAC3C,kBAAa,GAAG,KAAK,CAAC;QACpB,sBAAiB,GAAG,EAAE,CAAC;QACzB,kBAAa,GAAG,EAAE,CAAC;QACnB,sBAAiB,GAAG,CAAC,CAAC;QACtB,qBAAgB,GAAG,CAAC,CAAC;QACrB,kBAAa,GAAG,EAAE,CAAC;QACjB,4BAAuB,GAAG,IAAI,CAAC;QAElC,qBAAgB,GAEI,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAQ9D,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,UAAC,kBAA2B;YACtD,IAAI,kBAAkB;gBACpB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,UAAU,CAAC,cAAQ,KAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YACzC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,UAAC,OAA8B;gBACtE,MAAM,CAAC,qBAAqB,CAAC;oBAC3B,KAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;SAC3D;IACH,CAAC;IAES,2CAAa,GAAvB,UAAwB,OAAoB;QAC1C,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,WAAW;YAC3B,MAAM,EAAE,OAAO,CAAC,WAAW;SAC5B,CAAC;IACJ,CAAC;IAES,+CAAiB,GAA3B;QACE,IAAM,KAAK,GAAwB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzE,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QACvC,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,EAAE;YACpC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SACzE;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,0CAAY,GAAtB,UAAuB,IAAoB;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,8CAAgB,GAAxB,UAAyB,aAAqB;QAC5C,IAAI,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC/C,IAAI,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAC1D,iBAAiB,GAAG,CAAC,GAAG,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;SACxE;QACD,OAAO,aAAa,CAAC,SAAS;YAC5B,CAAC,CAAC,iBAAiB;gBACnB,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC;IACjC,CAAC;IAEO,4CAAc,GAAtB;QAAA,iBAOC;QANC,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,IAAoB,EAAE,KAAa;YACzD,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACnC,KAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IACS,kDAAoB,GAA9B,UAA+B,aAAqB,EAAE,IAAoB;QACxE,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrD,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;IACD,sBAAY,mDAAkB;aAA9B;YACE,OAAO,iEAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IACO,qCAAO,GAAf;;QACE,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE;YACnE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACnC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;YACD,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,IAAM,eAAe,GAAmB,UAAI,CAAC,SAAS,0CAAE,aAAa,CAAC,UAAU,CAAC,CAAC;gBAClF,YAAY,GAAG,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC;aAC5F;YACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,YAAY,CAAC,CAAC;SACxD;IACH,CAAC;IAEM,qCAAO,GAAd;QACE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE;YACzB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;SAClC;IACH,CAAC;IACH,0BAAC;AAAD,CAAC;;AAED;IAAiD,+CAAmB;IAClE,qCACE,SAAyB,EACzB,KAA8B,EAC9B,aAAqB,EACrB,YAAqB,EACrB,YAAiB;QAAjB,gDAAiB;QALnB,YAOE,kBAAM,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,SAGrD;QAFC,KAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACtC,KAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;;IACvC,CAAC;IAES,mDAAa,GAAvB;QACE,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;YACnC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;SACpC,CAAC;IACJ,CAAC;IAES,uDAAiB,GAA3B;QACE,IAAM,KAAK,GAAwB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzE,IAAI,KAAK,GAAW,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAChD,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,EAAE;YACpC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SACzE;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,kDAAY,GAAtB,UAAuB,IAAoB;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACS,0DAAoB,GAA9B,UAA+B,aAAqB,EAAE,IAAoB;QACxE,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrD,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IACH,kCAAC;AAAD,CAAC,CApCgD,mBAAmB,GAoCnE;;;;;;;;;;;;;;ACtJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AAE7D,SAAS,eAAe,CAAC,CAAM,EAAE,CAAM;IACrC,IAAM,WAAW,GAAW,UAAU,CAAC;IACvC,IAAM,SAAS,GAAa,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClE,IAAM,SAAS,GAAa,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClE,IAAM,GAAG,GAAW,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACjE,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QACpC,IAAM,IAAI,GACR,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;AAC7C,CAAC;AACD,SAAS,aAAa,CAAC,OAAe;IACpC,IAAI,CAAC,CAAC,kDAAQ,IAAI,CAAC,CAAC,kDAAQ,CAAC,iBAAiB;QAC5C,OAAO,kDAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AACD,SAAS,kBAAkB,CAAC,OAAe,EAAE,SAAqB,EAAE,QAAqB;IACvF,IAAM,YAAY,GAAG,UAAC,GAAY;QAChC,IAAG,GAAG;YAAE,SAAS,EAAE,CAAC;aACf,IAAG,CAAC,CAAC,QAAQ;YAAE,QAAQ,EAAE,CAAC;IACjC,CAAC,CAAC;IACF,IAAG,CAAC,CAAC,kDAAQ,IAAI,CAAC,CAAC,kDAAQ,CAAC,kBAAkB,EAAE;QAC9C,IAAG,kDAAQ,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC;YAAE,OAAO;KAC/D;IACD,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AACvC,CAAC;AACD,SAAS,eAAe;IACtB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAChD,IAAM,EAAE,GAAW,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;IAC9C,IAAM,KAAK,GAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAM,QAAQ,GAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,OAAO,KAAK,GAAG,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC;AACD,SAAS,cAAc;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,OAAa,cAAe,CAAC,UAAU,KAAK,WAAW,EAAE;QAC3D,IAAM,EAAE,GAAW,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;QAC9C,IAAM,IAAI,GAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzC,IAAM,OAAO,GAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAM,IAAI,GAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnC,cAAe,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;KACxE;IACD,OAAa,cAAe,CAAC,UAAU,CAAC;AAC1C,CAAC;AACD,SAAS,kBAAkB,CAAC,OAAe,EAAE,QAAgB;IAC3D,IAAI;QACF,IAAM,UAAU,GAAW,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvD,kCAAkC;QAClC,IAAM,UAAU,GAAW,OAAO;aAC/B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACb,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACb,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjB,kDAAkD;QAClD,IAAM,EAAE,GAAgB,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAM,EAAE,GAAe,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAClC;QACD,mDAAmD;QACnD,IAAM,EAAE,GAAS,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtD,IACE,OAAO,MAAM,KAAK,WAAW;YAC7B,MAAM,CAAC,SAAS;YACV,MAAM,CAAC,SAAU,CAAC,YAAY,CAAC,EACrC;YACM,MAAM,CAAC,SAAU,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;SAC3D;KACF;IAAC,OAAO,GAAG,EAAE,GAAG;AACnB,CAAC;AACD,SAAS,QAAQ;IACf,OAAO,CACL,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,WAAW,CAC3E,CAAC;AACJ,CAAC;AAED,IAAM,WAAW,GAAG,UAAC,WAAgD;IACnE,OAAO,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,IAAM,UAAU,GAAG,UAAC,OAA6B;IACvC,QAAI,GAAyB,kDAAQ,CAAC,WAAW,KAA7C,CAA8C;IAC1D,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC9E,CAAC,CAAC;AAEF,SAAS,gBAAgB,CACvB,OAAoB,EACpB,SAAqB;IAArB,yCAAqB;IAErB,IAAI,OAAO,kDAAQ,CAAC,WAAW,KAAK,WAAW,EAAE;QAC/C,OAAO,KAAK,CAAC;KACd;IAEO,QAAI,GAAyB,kDAAQ,CAAC,WAAW,KAA7C,CAA8C;IAC1D,IAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;QACxB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;IACtC,IAAM,WAAW,GAAY,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAC7D,IAAM,UAAU,GAAW,IAAI,CAAC,GAAG,CACjC,YAAY,EACZ,MAAM,CAAC,WAAW,CACnB,CAAC;IACF,IAAM,MAAM,GAAW,CAAC,SAAS,CAAC;IAClC,IAAM,SAAS,GAAW,UAAU,GAAG,SAAS,CAAC;IACjD,IAAM,KAAK,GAAW,WAAW,CAAC,GAAG,CAAC;IACtC,IAAM,QAAQ,GAAW,WAAW,CAAC,MAAM,CAAC;IAE5C,IAAM,MAAM,GAAW,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAM,SAAS,GAAW,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACxD,OAAO,MAAM,IAAI,SAAS,CAAC;AAC7B,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAoB;IACxC,QAAI,GAAyB,kDAAQ,CAAC,WAAW,KAA7C,CAA8C;IAC1D,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,WAAW,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,IAAmB;YAC1B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;KAC1B;IACD,IACE,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY;QAC3C,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;YAC/C,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EACjD;QACA,OAAO,OAAO,CAAC;KAChB;IAED,IACE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;QACzC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;YAC/C,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EACjD;QACA,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,sBAAsB,CAAC,EAAU;IACxC,IAAM,WAAW,GAAwB,kDAAQ,CAAC,WAAW,CAAC;IAC9D,IAAI,CAAC,WAAW;QAAE,OAAO;IACjB,QAAI,GAAK,WAAW,KAAhB,CAAiB;IAC7B,IAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE;QAAE,OAAO;IAChB,IAAM,YAAY,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,CAAC,YAAY,EAAE;QAClB,YAAY,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;KACvD;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC,GAAG,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO;IACtE,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;AAC7B,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAW;IAC5C,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC/B,IAAI,SAAS,GAAS,kDAAQ,CAAC,WAAY,CAAC,QAAQ,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CAChB,IAAqB,EACrB,KAAa,EACb,MAAc,EACd,QAAgB,EAChB,OAAY,EACZ,KAAa;IAEb,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,MAAM,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;KACtD;IACD,IAAM,IAAI,GAAQ,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxC,IAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,cAAc,CACjB,8BAA8B,EAC9B,YAAY,EACZ,GAAG,GAAG,YAAY,CACnB,CAAC;IAEF,IAAI,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE;QACV,IAAI,CAAC,CAAC,YAAY,EAAE;YAClB,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;SACnC;QACD,OAAO;KACR;SAAM;QACL,IAAI,CAAC,YAAY,EAAE;YACjB,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;SACnC;KACF;IACD,YAAY,CAAC,WAAW,GAAG,KAAK,CAAC;AACnC,CAAC;AAEM,SAAS,MAAM,CAAI,KAAoB;IAC5C,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,OAAO,KAAK,CAAC;KACd;SAAM;QACL,OAAiB,KAAM,EAAE,CAAC;KAC3B;AACH,CAAC;AAED,gDAAgD;AAChD,qCAAqC;AACrC,oBAAoB;AACpB,MAAM;AACN,6DAA6D;AAC7D,8BAA8B;AAC9B,MAAM;AACN,oEAAoE;AACpE,0DAA0D;AAC1D,2EAA2E;AAC3E,cAAc;AACd,+CAA+C;AAC/C,sBAAsB;AACtB,oBAAoB;AACpB,QAAQ;AACR,MAAM;AACN,kBAAkB;AAClB,IAAI;AAEG,SAAS,eAAe,CAAC,GAAoB;IAClD,IAAG,OAAO,GAAG,IAAI,QAAQ,EAAE;QACzB,IAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;YACtB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;SACpB;aACI,IAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC1B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;SACxB;KACF;IACD,IAAG,OAAO,GAAG,IAAI,QAAQ,EAAE;QACzB,OAAO,GAAG,CAAC;KACZ;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AACM,SAAS,oBAAoB,CAAC,GAAoB;IACvD,IAAG,eAAe,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;QACrC,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,GAAa,CAAC;AACvB,CAAC;AAOD,IAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAC1C,SAAS,eAAe,CAAC,GAAkB;IAChD,IAAM,OAAO,GAAQ,GAAG,CAAC,MAAM,CAAC;IAChC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO;IAC3C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAChD,CAAC;AAEM,SAAS,aAAa,CAAC,GAAkB,EAAE,OAAiC;IACjF,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAU,GAAG,CAAC,MAAO,CAAC,iBAAiB,CAAC,KAAK,MAAM,EAAE;QACnE,OAAO;KACR;IACD,IAAM,OAAO,GAAQ,GAAG,CAAC,MAAM,CAAC;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAM,IAAI,GAAW,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC;IAC9C,IAAI,IAAI,KAAK,CAAC,EAAE;QACd,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YAC3E,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;SAC5C;QACD,OAAO;KACR;IAED,IAAI,OAAO,EAAE;QACX,IAAI,CAAC,OAAO,CAAC,iBAAiB;YAAE,OAAO;QACvC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;KACnC;IAED,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE;QAC9B,IAAI,OAAO,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,EAAE,CAAC;KACpC;SAAM,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,KAAK,EAAE,EAAE;QAC1D,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,EAAE,CAAC;KAClC;AACH,CAAC;AAEM,SAAS,eAAe,CAAC,GAAkB,EAAE,OAAuD;IAAvD,sCAAqC,UAAU,EAAE,IAAI,EAAE;IACzG,IAAI,OAAO;QAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAC9C,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAU,GAAG,CAAC,MAAO,CAAC,iBAAiB,CAAC,KAAK,MAAM,EAAE;QACnE,OAAO;KACR;IACD,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC;IACpC,IAAM,cAAc,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,UAAU,EAAE;QACtB,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACzB;IACD,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;QACvC,GAAG,CAAC,cAAc,EAAE,CAAC;KACtB;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAoB,EAAE,gBAAwC;IAC7F,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,CAAC,gBAAgB;QAAE,gBAAgB,GAAG,UAAC,GAAY,IAAO,OAAO,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAErG,IAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC;AAChI,CAAC;AACD,SAAS,gBAAgB,CAAC,KAAU;IAClC,OAAO,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC;AACtC,CAAC;AACD,SAAS,eAAe,CAAC,KAAU;IACjC,KAAK,CAAC,cAAc,EAAE,CAAC;IACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AAC1B,CAAC;AACD,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAM,EAAE,GAAG,mBAAmB,CAAC;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CAAC,EAAe;IACtC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC;AAC7F,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAe;IACzC,OAAO,CAAC,CAAC,CACP,EAAE,CAAC,WAAW;QACd,EAAE,CAAC,YAAY;QACf,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAe;IAC3C,IAAI,MAAM,CAAC;IACX,KAAI,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACtD,IAAG,CAAC,MAAM,IAAI,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,EAAE;YACrE,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC7B;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,SAAS,sBAAsB,CAAC,OAAoB,EAAE,UAAyB;IAC7E,IAAI,CAAC,CAAC,OAAO,EAAE;QACb,IAAI,UAAU,CAAC,KAAK,CAAC,mBAAS,IAAI,QAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAnD,CAAmD,CAAC,EAAE;YACtF,OAAO,OAAO,CAAC;SAChB;aAAM;YACL,OAAO,sBAAsB,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;SAClE;KACF;AACH,CAAC;AACM,SAAS,uBAAuB,CAAC,OAAY;IAClD,IAAI,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QAChF,IAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE1C,IAAI,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,SAAS,CAAC,eAAe,EAAE,CAAC;QAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QAEhE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/B,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;QAC3E,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrB,SAAS,CAAC,eAAe,EAAE,CAAC;QAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC3B;AACH,CAAC;AACD,SAAS,WAAW,CAAC,GAAQ,EAAE,IAAS;IACtC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO;IAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO;IACrC,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;QACnB,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC/D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAChE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SACnB;KACF;AACH,CAAC;AAED;IAAA;QACU,YAAO,GAAG,EAAE,CAAC;IAOvB,CAAC;IANQ,oBAAG,GAAV,UAAW,MAAc;QACvB,IAAI,CAAC,OAAO,IAAI,IAAI,GAAG,MAAM,CAAC;IAChC,CAAC;IACD,sBAAW,0BAAM;aAAjB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;;;OAAA;IACH,aAAC;AAAD,CAAC;;AA4BC;;;;;;;;;;;;AC3aF,mD;;;;;;;;;;;ACAA,uD;;;;;;;;;;;ACAA,yD","file":"survey-react-ui.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"), require(\"survey-core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"survey-react-ui\", [\"react\", \"react-dom\", \"survey-core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"survey-react-ui\"] = factory(require(\"react\"), require(\"react-dom\"), require(\"survey-core\"));\n\telse\n\t\troot[\"SurveyReact\"] = factory(root[\"React\"], root[\"ReactDOM\"], root[\"Survey\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_react_dom__, __WEBPACK_EXTERNAL_MODULE_survey_core__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/entries/react-ui.ts\");\n","export { SurveyModel, SurveyWindowModel } from \"survey-core\";\nexport { settings, ISurveyEnvironment } from \"survey-core\";\nexport { surveyLocalization, surveyStrings } from \"survey-core\";\n","// react\nexport { Survey, attachKey2click } from \"../react/reactSurvey\";\nexport { ReactSurveyElementsWrapper } from \"../react/reactsurveymodel\";\nexport { SurveyNavigationBase } from \"../react/reactSurveyNavigationBase\";\nexport { SurveyTimerPanel } from \"../react/reacttimerpanel\";\nexport { SurveyPage } from \"../react/page\";\nexport { SurveyRow } from \"../react/row\";\nexport { SurveyPanel } from \"../react/panel\";\nexport { SurveyFlowPanel } from \"../react/flow-panel\";\nexport {\n SurveyQuestion,\n SurveyElementErrors,\n SurveyQuestionAndErrorsCell,\n ISurveyCreator\n} from \"../react/reactquestion\";\nexport {\n ReactSurveyElement,\n SurveyElementBase,\n SurveyQuestionElementBase,\n} from \"../react/reactquestion_element\";\nexport {\n SurveyQuestionCommentItem,\n SurveyQuestionComment,\n} from \"../react/reactquestion_comment\";\nexport {\n SurveyQuestionCheckbox,\n SurveyQuestionCheckboxItem,\n} from \"../react/reactquestion_checkbox\";\nexport {\n SurveyQuestionRanking,\n SurveyQuestionRankingItem,\n} from \"../react/reactquestion_ranking\";\n\nexport { RatingItem } from \"../react/components/rating/rating-item\";\nexport { RatingItemStar } from \"../react/components/rating/rating-item-star\";\nexport { RatingItemSmiley } from \"../react/components/rating/rating-item-smiley\";\n\nexport { TagboxFilterString } from \"../react/tagbox-filter\";\nexport { SurveyQuestionOptionItem } from \"../react/dropdown-item\";\nexport { SurveyQuestionDropdownBase } from \"../react/dropdown-base\";\nexport { SurveyQuestionDropdown } from \"../react/reactquestion_dropdown\";\nexport { SurveyQuestionTagboxItem } from \"../react/tagbox-item\";\nexport { SurveyQuestionTagbox } from \"../react/reactquestion_tagbox\";\nexport { SurveyQuestionDropdownSelect } from \"../react/dropdown-select\";\nexport {\n SurveyQuestionMatrix,\n SurveyQuestionMatrixRow,\n} from \"../react/reactquestion_matrix\";\nexport { SurveyQuestionHtml } from \"../react/reactquestion_html\";\nexport { SurveyQuestionFile } from \"../react/reactquestion_file\";\nexport { SurveyFileChooseButton } from \"../react/components/file-actions/file-choose-button\";\nexport { SurveyQuestionMultipleText } from \"../react/reactquestion_multipletext\";\nexport { SurveyQuestionRadiogroup, SurveyQuestionRadioItem } from \"../react/reactquestion_radiogroup\";\nexport { SurveyQuestionText } from \"../react/reactquestion_text\";\nexport { SurveyQuestionBoolean } from \"../react/boolean\";\nexport { SurveyQuestionBooleanCheckbox } from \"../react/boolean-checkbox\";\nexport { SurveyQuestionBooleanRadio } from \"../react/boolean-radio\";\nexport { SurveyQuestionEmpty } from \"../react/reactquestion_empty\";\nexport { SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase } from \"../react/reactquestion_matrixdropdownbase\";\nexport { SurveyQuestionMatrixDropdown } from \"../react/reactquestion_matrixdropdown\";\nexport { SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton } from \"../react/reactquestion_matrixdynamic\";\nexport { SurveyQuestionPanelDynamic } from \"../react/reactquestion_paneldynamic\";\nexport { SurveyProgress } from \"../react/reactSurveyProgress\";\nexport { SurveyProgressButtons } from \"../react/reactSurveyProgressButtons\";\nexport { SurveyProgressToc } from \"../react/reactSurveyProgressToc\";\nexport { SurveyQuestionRating } from \"../react/reactquestion_rating\";\nexport { SurveyQuestionRatingDropdown } from \"../react/rating-dropdown\";\nexport { SurveyQuestionExpression } from \"../react/reactquestion_expression\";\nexport { PopupSurvey, SurveyWindow } from \"../react/react-popup-survey\";\nexport { ReactQuestionFactory } from \"../react/reactquestion_factory\";\nexport { ReactElementFactory } from \"../react/element-factory\";\nexport { SurveyQuestionImagePicker } from \"../react/imagepicker\";\nexport { SurveyQuestionImage } from \"../react/image\";\nexport { SurveyQuestionSignaturePad } from \"../react/signaturepad\";\nexport { SurveyQuestionButtonGroup } from \"../react/reactquestion_buttongroup\";\nexport { SurveyQuestionCustom, SurveyQuestionComposite } from \"../react/reactquestion_custom\";\n\nexport { Popup } from \"../react/components/popup/popup\";\nexport { List } from \"../react/components/list/list\";\nexport { TitleActions } from \"../react/components/title/title-actions\";\nexport { TitleElement } from \"../react/components/title/title-element\";\nexport { SurveyActionBar } from \"../react/components/action-bar/action-bar\";\nexport { LogoImage } from \"../react/components/survey-header/logo-image\";\nexport { SurveyHeader } from \"../react/components/survey-header/survey-header\";\nexport { SvgIcon } from \"../react/components/svg-icon/svg-icon\";\nexport { SurveyQuestionMatrixDynamicRemoveButton } from \"../react/components/matrix-actions/remove-button/remove-button\";\nexport { SurveyQuestionMatrixDetailButton } from \"../react/components/matrix-actions/detail-button/detail-button\";\nexport { SurveyQuestionMatrixDynamicDragDropIcon } from \"../react/components/matrix-actions/drag-drop-icon/drag-drop-icon\";\nexport { SurveyQuestionPanelDynamicAddButton } from \"../react/components/paneldynamic-actions/paneldynamic-add-btn\";\nexport { SurveyQuestionPanelDynamicRemoveButton } from \"../react/components/paneldynamic-actions/paneldynamic-remove-btn\";\nexport { SurveyQuestionPanelDynamicPrevButton } from \"../react/components/paneldynamic-actions/paneldynamic-prev-btn\";\nexport { SurveyQuestionPanelDynamicNextButton } from \"../react/components/paneldynamic-actions/paneldynamic-next-btn\";\nexport { SurveyQuestionPanelDynamicProgressText } from \"../react/components/paneldynamic-actions/paneldynamic-progress-text\";\nexport { SurveyNavigationButton } from \"../react/components/survey-actions/survey-nav-button\";\n\nexport { MatrixRow } from \"../react/components/matrix/row\";\nexport { Skeleton } from \"../react/components/skeleton\";\nexport { NotifierComponent } from \"../react/components/notifier\";\nexport { ComponentsContainer } from \"../react/components/components-container\";\nexport { CharacterCounterComponent } from \"../react/components/character-counter\";\nexport * from \"../react/components/cover\";\n\nexport { SurveyLocStringViewer } from \"../react/string-viewer\";\nexport { SurveyLocStringEditor } from \"../react/string-editor\";\nexport { LoadingIndicatorComponent } from \"../react/components/loading-indicator\";\n\n//Uncomment to include the \"date\" question type.\n//export {default as SurveyQuestionDate} from \"../plugins/react/reactquestiondate\";\n","export * from \"./react-ui-model\";\nexport * from \"./core-export\";\nexport { SurveyModel as Model } from \"survey-core\";\n\nexport * from \"../utils/responsivity-manager\";\nexport { unwrap } from \"../utils/utils\";\n\nimport { checkLibraryVersion } from \"survey-core\";\n\ncheckLibraryVersion(`${process.env.VERSION}`, \"survey-react-ui\");","import * as React from \"react\";\nimport { RendererFactory } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionBoolean } from \"./boolean\";\nimport { TitleActions } from \"./components/title/title-actions\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\nexport class SurveyQuestionBooleanCheckbox extends SurveyQuestionBoolean {\n constructor(props: any) {\n super(props);\n }\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const itemClass = this.question.getCheckboxItemCss();\n const description = this.question.canRenderLabelDescription ?\n SurveyElementBase.renderQuestionDescription(this.question) : null;\n return (\n <div className={cssClasses.rootCheckbox}>\n <div className={itemClass}>\n <label className={cssClasses.checkboxLabel}>\n <input\n ref={this.checkRef}\n type=\"checkbox\"\n name={this.question.name}\n value={\n this.question.booleanValue === null\n ? \"\"\n : this.question.booleanValue\n }\n id={this.question.inputId}\n className={cssClasses.controlCheckbox}\n disabled={this.isDisplayMode}\n checked={this.question.booleanValue || false}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <span className={cssClasses.checkboxMaterialDecorator}>\n {this.question.svgIcon ?\n <svg\n className={cssClasses.checkboxItemDecorator}\n >\n <use xlinkHref={this.question.svgIcon}></use>\n </svg> : null\n }\n <span className=\"check\" />\n </span>\n {this.question.isLabelRendered && (\n <span className={cssClasses.checkboxControlLabel} id={this.question.labelRenderedAriaID}>\n <TitleActions element={this.question} cssClasses={this.question.cssClasses}></TitleActions>\n </span>\n )}\n </label>\n {description}\n </div>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\n \"sv-boolean-checkbox\",\n (props) => {\n return React.createElement(SurveyQuestionBooleanCheckbox, props);\n }\n);\n\nRendererFactory.Instance.registerRenderer(\n \"boolean\",\n \"checkbox\",\n \"sv-boolean-checkbox\"\n);\n","import * as React from \"react\";\nimport { RendererFactory } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionBoolean } from \"./boolean\";\n\nexport class SurveyQuestionBooleanRadio extends SurveyQuestionBoolean {\n constructor(props: any) {\n super(props);\n }\n private renderRadioItem(value: any, locText: any): JSX.Element {\n const cssClasses = this.question.cssClasses;\n return (\n <div role=\"presentation\" className={ this.question.getRadioItemClass(cssClasses, value) }>\n <label className= { cssClasses.radioLabel }>\n <input\n type=\"radio\"\n name = { this.question.name }\n value = { value }\n aria-describedby = { this.question.ariaDescribedBy }\n checked={value === this.question.booleanValueRendered}\n disabled = { this.question.isInputReadOnly }\n className = { cssClasses.itemRadioControl }\n onChange={ this.handleOnChange }\n />\n { this.question.cssClasses.materialRadioDecorator?\n (<span className={ cssClasses.materialRadioDecorator }>\n { this.question.itemSvgIcon ?\n (<svg className={cssClasses.itemRadioDecorator}>\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg>):null}\n </span>):null}\n <span className= { cssClasses.radioControlLabel }>\n { this.renderLocString(locText) }\n </span>\n </label>\n </div>\n );\n }\n handleOnChange = (event: any) => {\n this.question.booleanValue = event.nativeEvent.target.value == \"true\";\n }\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n return (\n <div className={cssClasses.rootRadio}>\n <fieldset role=\"presentation\" className= { cssClasses.radioFieldset }>\n {this.renderRadioItem(false, this.question.locLabelFalse)}\n {this.renderRadioItem(true, this.question.locLabelTrue)}\n </fieldset>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\n \"sv-boolean-radio\",\n (props) => {\n return React.createElement(SurveyQuestionBooleanRadio, props);\n }\n);\n\nRendererFactory.Instance.registerRenderer(\n \"boolean\",\n \"radio\",\n \"sv-boolean-radio\"\n);\n","import * as React from \"react\";\nimport { QuestionBooleanModel, CssClassBuilder, Base } from \"survey-core\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionBoolean extends SurveyQuestionElementBase {\n protected checkRef: React.RefObject<HTMLInputElement>;\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.handleOnClick = this.handleOnClick.bind(this);\n this.handleOnLabelClick = this.handleOnLabelClick.bind(this);\n this.handleOnSwitchClick = this.handleOnSwitchClick.bind(this);\n this.handleOnKeyDown = this.handleOnKeyDown.bind(this);\n this.checkRef = React.createRef();\n }\n protected getStateElement(): Base {\n return this.question;\n }\n protected get question(): QuestionBooleanModel {\n return this.questionBase as QuestionBooleanModel;\n }\n /*\n private get allowClick(): boolean {\n return this.question.isIndeterminate && !this.isDisplayMode;\n }\n */\n private doCheck(value: boolean) {\n this.question.booleanValue = value;\n }\n handleOnChange(event: any) {\n this.doCheck(event.target.checked);\n }\n handleOnClick(event: any) {\n this.question.onLabelClick(event, true);\n }\n handleOnSwitchClick(event: any) {\n this.question.onSwitchClickModel(event.nativeEvent);\n }\n handleOnLabelClick(event: any, value: boolean) {\n this.question.onLabelClick(event, value);\n }\n handleOnKeyDown(event: any) {\n this.question.onKeyDownCore(event);\n }\n\n protected updateDomElement() {\n if (!this.question) return;\n const el = this.checkRef.current;\n if (el) {\n el.indeterminate = this.question.isIndeterminate;\n }\n this.setControl(el);\n super.updateDomElement();\n }\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const itemClass: string = this.question.getItemCss();\n return (\n <div className={cssClasses.root} onKeyDown={this.handleOnKeyDown}>\n <label className={itemClass} onClick={this.handleOnClick}>\n <input\n ref={this.checkRef}\n type=\"checkbox\"\n name={this.question.name}\n value={\n this.question.booleanValue === null\n ? \"\"\n : this.question.booleanValue\n }\n id={this.question.inputId}\n className={cssClasses.control}\n disabled={this.isDisplayMode}\n checked={this.question.booleanValue || false}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <div className={cssClasses.sliderGhost} onClick={(event) => this.handleOnLabelClick(event, false)}>\n <span className={this.question.getLabelCss(false)}>\n {this.renderLocString(this.question.locLabelFalse)}\n </span>\n </div>\n <div className={cssClasses.switch} onClick={this.handleOnSwitchClick}>\n <span className={cssClasses.slider}>\n {\n this.question.isDeterminated && cssClasses.sliderText ?\n <span className={cssClasses.sliderText}>{ this.renderLocString(this.question.getCheckedLabel()) }</span>\n : null\n }\n </span>\n </div>\n <div className={cssClasses.sliderGhost} onClick={(event) => this.handleOnLabelClick(event, true)}>\n <span className={this.question.getLabelCss(true)}>\n {this.renderLocString(this.question.locLabelTrue)}\n </span>\n </div>\n </label>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"boolean\", (props) => {\n return React.createElement(SurveyQuestionBoolean, props);\n});\n","import React from \"react\";\r\nimport { ActionDropdownViewModel, getActionDropdownButtonTarget } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { Popup } from \"../popup/popup\";\r\nimport { SurveyActionBarItem } from \"./action-bar-item\";\r\n\r\nexport class SurveyActionBarItemDropdown extends SurveyActionBarItem {\r\n private viewModel: ActionDropdownViewModel;\r\n constructor(props: any) {\r\n super(props);\r\n this.viewModel = new ActionDropdownViewModel(this.item);\r\n }\r\n renderInnerButton() {\r\n const button = super.renderInnerButton();\r\n return (\r\n <>\r\n {button}\r\n <Popup model={this.item.popupModel} getTarget={getActionDropdownButtonTarget}></Popup>\r\n </>\r\n );\r\n }\r\n componentWillUnmount(): void {\r\n super.componentWillUnmount();\r\n this.viewModel.dispose();\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-action-bar-item-dropdown\", (props) => {\r\n return React.createElement(SurveyActionBarItemDropdown, props);\r\n});\r\n","import React from \"react\";\r\nimport { Base, Action } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { SurveyElementBase } from \"../../reactquestion_element\";\r\nimport { attachKey2click } from \"../../reactSurvey\";\r\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\r\nimport { SurveyActionBarSeparator } from \"./action-bar-separator\";\r\n\r\ninterface IActionBarItemProps {\r\n item: Action;\r\n}\r\n\r\nexport class SurveyAction extends SurveyElementBase<IActionBarItemProps, any> {\r\n get item() {\r\n return this.props.item;\r\n }\r\n protected getStateElement(): Base {\r\n return this.item;\r\n }\r\n\r\n renderElement() {\r\n //refactor\r\n const itemClass = this.item.getActionRootCss();\r\n const separator = this.item.needSeparator ? (\r\n <SurveyActionBarSeparator></SurveyActionBarSeparator>\r\n ) : null;\r\n\r\n const itemComponent = ReactElementFactory.Instance.createElement(\r\n this.item.component || \"sv-action-bar-item\",\r\n {\r\n item: this.item,\r\n }\r\n );\r\n return (\r\n <div className={itemClass} id={this.item.id}>\r\n <div className=\"sv-action__content\">\r\n {separator}\r\n {itemComponent}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport class SurveyActionBarItem extends SurveyElementBase<\r\n IActionBarItemProps,\r\n any\r\n> {\r\n get item(): Action {\r\n return this.props.item;\r\n }\r\n protected getStateElement(): Base {\r\n return this.item;\r\n }\r\n\r\n renderElement() {\r\n return <>{this.renderInnerButton()}</>;\r\n }\r\n\r\n renderText() {\r\n if (!this.item.hasTitle) return null;\r\n const titleClass = this.item.getActionBarItemTitleCss();\r\n return <span className={titleClass}>{this.item.title}</span>;\r\n }\r\n\r\n renderButtonContent() {\r\n const text = this.renderText();\r\n const svgIcon = !!this.item.iconName ? (\r\n <SvgIcon\r\n className={this.item.cssClasses.itemIcon}\r\n size={this.item.iconSize}\r\n iconName={this.item.iconName}\r\n title={this.item.tooltip || this.item.title}\r\n ></SvgIcon>\r\n ) : null;\r\n return (\r\n <>\r\n {svgIcon}\r\n {text}\r\n </>\r\n );\r\n }\r\n\r\n renderInnerButton() {\r\n const className = this.item.getActionBarItemCss();\r\n const title = this.item.tooltip || this.item.title;\r\n const buttonContent = this.renderButtonContent();\r\n const tabIndex = this.item.disableTabStop ? -1 : undefined;\r\n const button = attachKey2click(\r\n <button\r\n className={className}\r\n type=\"button\"\r\n disabled={this.item.disabled}\r\n onClick={(args) => this.item.action(this.item, this.item.getIsTrusted(args))}\r\n title={title}\r\n tabIndex={tabIndex}\r\n aria-checked={this.item.ariaChecked}\r\n aria-expanded={this.item.ariaExpanded}\r\n role={this.item.ariaRole}\r\n >\r\n {buttonContent}\r\n </button>, null, { processEsc: false });\r\n\r\n return button;\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-action-bar-item\", (props) => {\r\n return React.createElement(SurveyActionBarItem, props);\r\n});\r\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\nexport class SurveyActionBarSeparator extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n }\n render() {\n var className = `sv-action-bar-separator ${this.props.cssClasses}`;\n return <div className={className}></div>;\n }\n}\nReactElementFactory.Instance.registerElement(\n \"sv-action-bar-separator\",\n (props) => {\n return React.createElement(SurveyActionBarSeparator, props);\n }\n);\n","import React from \"react\";\nimport {\n Base,\n Action,\n ActionContainer\n} from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { SurveyAction } from \"./action-bar-item\";\n\nexport * from \"./action-bar-item-dropdown\";\nexport * from \"./action-bar-separator\";\n\ninterface IActionBarProps {\n model: ActionContainer<Action>;\n handleClick?: boolean;\n}\n\nexport class SurveyActionBar extends SurveyElementBase<IActionBarProps, any> {\n private rootRef: React.RefObject<HTMLDivElement>;\n\n constructor(props: IActionBarProps) {\n super(props);\n this.rootRef = React.createRef();\n }\n\n private get handleClick() {\n return this.props.handleClick !== undefined ? this.props.handleClick : true;\n }\n\n get model() {\n return this.props.model;\n }\n\n componentDidMount() {\n super.componentDidMount();\n if (!this.model.hasActions) return;\n const container: HTMLDivElement | null = this.rootRef.current;\n if(!!container) {\n this.model.initResponsivityManager(container);\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.model.hasActions) {\n this.model.resetResponsivityManager();\n }\n }\n\n protected getStateElement(): Base {\n return this.model;\n }\n\n renderElement(): any {\n if (!this.model.hasActions) return null;\n const items = this.renderItems();\n return (\n <div\n ref={this.rootRef}\n className={this.model.getRootCss()}\n onClick={this.handleClick ? function(event) {\n event.stopPropagation();\n } : undefined}\n >\n {items}\n </div>\n );\n }\n\n renderItems() {\n return this.model.renderedActions.map(\n (item: Action, itemIndex: number) => {\n return (\n <SurveyAction item={item} key={\"item\" + itemIndex}></SurveyAction>\n );\n }\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-action-bar\", (props) => {\n return React.createElement(\n SurveyActionBar,\n (props as any) as IActionBarProps\n );\n});\n","import React from \"react\";\n\nexport class BrandInfo extends React.Component<any, any> {\n render() {\n return (\n <div className=\"sv-brand-info\">\n <a className=\"sv-brand-info__logo\" href=\"https://surveyjs.io/?utm_source=built-in_links&utm_medium=online_survey_tool&utm_campaign=landing_page\"><img src=\"https://surveyjs.io/Content/Images/poweredby.svg\"/></a>\n <div className=\"sv-brand-info__text\">Try and see how easy it is to <a href=\"https://surveyjs.io/create-survey?utm_source=built-in_links&utm_medium=online_survey_tool&utm_campaign=create_survey\">create a survey</a></div>\n <div className=\"sv-brand-info__terms\"><a href=\"https://surveyjs.io/TermsOfUse\">Terms of Use & Privacy Statement</a></div>\n </div>\n );\n }\n}\n","import React from \"react\";\nimport { Base, CharacterCounter } from \"survey-core\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { SurveyElementBase } from \"../reactquestion_element\";\n\nexport interface ICharacterCounterComponentProps {\n counter: CharacterCounter;\n remainingCharacterCounter: string;\n}\n\nexport class CharacterCounterComponent extends SurveyElementBase<ICharacterCounterComponentProps, any> {\n protected getStateElement(): Base {\n return this.props.counter;\n }\n\n renderElement(): JSX.Element | null {\n return (<div className={this.props.remainingCharacterCounter}>{this.props.counter.remainingCharacterCounter}</div>);\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-character-counter\", (props) => {\n return React.createElement(CharacterCounterComponent, props);\n});","import React from \"react\";\nimport { ISurveyLayoutElement } from \"survey-core\";\nimport { ReactElementFactory } from \"../element-factory\";\n\nexport class ComponentsContainer extends React.Component<any, any> {\n render(): JSX.Element | null {\n const components: Array<ISurveyLayoutElement> = this.props.survey.getContainerContent(this.props.container);\n const needRenderWrapper = this.props.needRenderWrapper === false ? false : true;\n if(components.length == 0) {\n return null;\n }\n if(!needRenderWrapper) {\n return <>\n {components.map(component => {\n return ReactElementFactory.Instance.createElement(component.component as string, { survey: this.props.survey, model: component.data, container: this.props.container, key: component.id });\n })}\n </>;\n }\n return <div className=\"sv-components-column\">\n {components.map(component => {\n return ReactElementFactory.Instance.createElement(component.component as string, { survey: this.props.survey, model: component.data, container: this.props.container, key: component.id });\n })}\n </div>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-components-container\", (props: any) => {\n return React.createElement(ComponentsContainer, props);\n});\n","import React from \"react\";\nimport { Base, SurveyModel, Cover, CoverCell } from \"survey-core\";\nimport { SurveyElementBase } from \"../reactquestion_element\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { TitleElement } from \"./title/title-element\";\n\nexport interface ILayoutElementProps<T = Base> {\n survey: SurveyModel;\n model: T;\n}\n\nexport class CoverCellComponent extends React.Component<any, any> {\n get model(): CoverCell {\n return this.props.model;\n }\n private renderLogoImage(): JSX.Element | null {\n const componentName: string = this.model.survey.getElementWrapperComponentName(\n this.model.survey,\n \"logo-image\"\n );\n const componentData: any = this.model.survey.getElementWrapperComponentData(\n this.model.survey,\n \"logo-image\"\n );\n return ReactElementFactory.Instance.createElement(componentName, {\n data: componentData,\n });\n }\n\n render(): JSX.Element | null {\n return (<div className={this.model.css} style={this.model.style}>\n <div className=\"sv-cover__cell-content\" style={this.model.contentStyle}>\n {this.model.showLogo ? (<div className=\"sv-cover__logo\">\n {this.renderLogoImage()}\n </div>) : null}\n {this.model.showTitle ? (<div className=\"sv-cover__title\" style={{ maxWidth: this.model.textWidth }}>\n {/* {ReactElementFactory.Instance.createElement(\"survey-element-title\", { element: this.model.survey })} */}\n <TitleElement element={this.model.survey}/>\n </div>) : null}\n {this.model.showDescription ? (<div className=\"sv-cover__description\" style={{ maxWidth: this.model.textWidth }}>\n <h5 className={this.model.survey.css.description}>\n {SurveyElementBase.renderLocString(this.model.survey.locDescription)}\n </h5>\n </div>) : null}\n </div>\n </div>);\n }\n}\n\nexport class CoverComponent extends SurveyElementBase<ILayoutElementProps<Cover>, any> {\n get model(): Cover {\n return this.props.model;\n }\n protected getStateElement(): Base {\n return this.model;\n }\n\n renderElement(): JSX.Element | null {\n this.model.survey = this.props.survey;\n\n if(!(this.props.survey.titleView === \"cover\" && this.props.survey.renderedHasHeader)) {\n return null;\n }\n\n return (\n <div className={this.model.coverClasses} style={{ height: this.model.renderedHeight, backgroundColor: this.model.backgroundColor }}>\n {this.model.backgroundImage ? <div style={this.model.backgroundImageStyle} className={this.model.backgroundImageClasses}></div> : null}\n <div className={this.model.contentClasses}>\n {this.model.cells.map((cell, index) => <CoverCellComponent key={index} model={cell}/>)}\n </div>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-cover\", (props) => {\n return React.createElement(CoverComponent, props);\n});","import React from \"react\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\nimport { QuestionFileModel } from \"survey-core\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\nexport class SurveyFileChooseButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionFileModel {\n return (this.props.item && this.props.item.data.question) || this.props.data.question;\n }\n render() {\n return attachKey2click(\n <label\n role=\"button\"\n tabIndex={0}\n className={this.question.getChooseFileCss()}\n htmlFor={this.question.inputId}\n aria-label={this.question.chooseButtonText}\n >\n {(!!this.question.cssClasses.chooseFileIconId) ? <SvgIcon title={this.question.chooseButtonText} iconName={this.question.cssClasses.chooseFileIconId} size={\"auto\"}></SvgIcon>: null }\n <span>{this.question.chooseButtonText}</span>\n </label>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-file-choose-btn\",\n (props) => {\n return React.createElement(SurveyFileChooseButton, props);\n }\n);","import React from \"react\";\r\nimport { ListModel } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { SurveyElementBase } from \"../../reactquestion_element\";\r\nimport { attachKey2click } from \"../../reactSurvey\";\r\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\r\n\r\ninterface IListItemProps {\r\n model: ListModel;\r\n item: any;\r\n}\r\n\r\nexport class ListItem extends SurveyElementBase<IListItemProps, any> {\r\n get model(): ListModel {\r\n return this.props.model;\r\n }\r\n get item(): any {\r\n return this.props.item;\r\n }\r\n handleKeydown = (event: any) => {\r\n this.model.onKeyDown(event);\r\n };\r\n getStateElement() {\r\n return this.item;\r\n }\r\n render(): JSX.Element | null {\r\n if (!this.item) return null;\r\n const contentWrapStyle = {\r\n paddingInlineStart: this.model.getItemIndent(this.item)\r\n };\r\n const className = this.model.getItemClass(this.item);\r\n const content: Array<JSX.Element> = [];\r\n if (!this.item.component) {\r\n const text = this.renderLocString(this.item.locTitle, undefined, \"locString\");\r\n if(this.item.iconName) {\r\n const icon = <SvgIcon\r\n key={1}\r\n className={this.model.cssClasses.itemIcon}\r\n iconName={this.item.iconName}\r\n size={this.item.iconSize}\r\n aria-label={this.item.title}\r\n ></SvgIcon>;\r\n content.push(icon);\r\n content.push(<span key={2}>{text}</span>);\r\n } else {\r\n content.push(text);\r\n }\r\n } else {\r\n const newElement = ReactElementFactory.Instance.createElement(this.item.component, { item: this.item, key: this.item.id });\r\n if(!!newElement) {\r\n content.push(newElement);\r\n }\r\n }\r\n\r\n const contentWrap =\r\n <div\r\n style={contentWrapStyle}\r\n className={this.model.cssClasses.itemBody}\r\n >\r\n {content}\r\n </div>;\r\n const separator = this.item.needSeparator ? <div className = {this.model.cssClasses.itemSeparator}/>:null;\r\n const isVisible = this.model.isItemVisible(this.item);\r\n const style = {\r\n display: isVisible ? null : \"none\"\r\n };\r\n return attachKey2click(\r\n <li\r\n className={className}\r\n role=\"option\"\r\n style={style as any}\r\n id={this.item.elementId}\r\n aria-selected={this.model.isItemSelected(this.item)}\r\n onClick={(event: any) => {\r\n this.model.onItemClick(this.item);\r\n event.stopPropagation();\r\n }}\r\n onPointerDown={(event: any) => this.model.onPointerDown(event, this.item)}>\r\n {separator}\r\n {contentWrap}\r\n </li>\r\n );\r\n }\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.model.onLastItemRended(this.item);\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-list-item\", (props) => {\r\n return React.createElement(ListItem, props);\r\n});\r\n","import React from \"react\";\r\nimport { IAction, ListModel, settings } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { SurveyElementBase } from \"../../reactquestion_element\";\r\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\r\nimport { ListItem } from \"./list-item\";\r\n\r\ninterface IListProps {\r\n model: ListModel;\r\n}\r\n\r\nexport class List extends SurveyElementBase<IListProps, any> {\r\n private listContainerRef: React.RefObject<HTMLDivElement>;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n filterString: this.model.filterString || \"\"\r\n };\r\n this.listContainerRef = React.createRef();\r\n }\r\n get model(): ListModel {\r\n return this.props.model;\r\n }\r\n handleKeydown = (event: any) => {\r\n this.model.onKeyDown(event);\r\n };\r\n handleMouseMove = (event: any) => {\r\n this.model.onMouseMove(event);\r\n };\r\n getStateElement() {\r\n return this.model;\r\n }\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n if(!!this.listContainerRef && !!this.listContainerRef.current) {\r\n this.model.initListContainerHtmlElement(this.listContainerRef.current);\r\n }\r\n }\r\n componentWillUnmount(): void {\r\n super.componentWillUnmount();\r\n if(!!this.model) {\r\n this.model.initListContainerHtmlElement(undefined as any);\r\n }\r\n }\r\n renderElement() {\r\n return (\r\n <div className={this.model.cssClasses.root} ref={this.listContainerRef}>\r\n {this.searchElementContent()}\r\n {this.emptyContent()}\r\n {this.renderList()}\r\n </div>\r\n );\r\n }\r\n renderList() {\r\n if(!this.model.renderElements) return null;\r\n\r\n const items = this.renderItems();\r\n const ulStyle = { display: this.model.isEmpty ? \"none\" : null };\r\n\r\n return (\r\n <ul\r\n className={this.model.getListClass()}\r\n style={ulStyle as any}\r\n role=\"listbox\"\r\n id={this.model.elementId}\r\n onMouseDown={(e) => {\r\n e.preventDefault();\r\n }}\r\n onKeyDown={this.handleKeydown}\r\n onMouseMove={this.handleMouseMove}\r\n >\r\n {items}\r\n </ul>);\r\n }\r\n renderItems() {\r\n if (!this.model) {\r\n return null;\r\n }\r\n const items = this.model.renderedActions;\r\n if (!items) {\r\n return null;\r\n }\r\n return items.map((item: IAction, itemIndex: number) => {\r\n return (\r\n <ListItem model={this.model} item={item} key={\"item\" + itemIndex}></ListItem>\r\n );\r\n });\r\n }\r\n\r\n searchElementContent() {\r\n if (!this.model.showFilter) return null;\r\n else {\r\n const onChange = (e: any) => {\r\n const { root } = settings.environment;\r\n if (e.target === root.activeElement) {\r\n this.model.filterString = e.target.value;\r\n }\r\n };\r\n const onKeyUp = (e: any) => {\r\n this.model.goToItems(e);\r\n };\r\n const clearButton = this.model.showSearchClearButton && !!this.model.filterString ?\r\n <button className={this.model.cssClasses.searchClearButtonIcon} onClick={(event) => { this.model.onClickSearchClearButton(event); }}>\r\n <SvgIcon\r\n iconName={\"icon-searchclear\"}\r\n size={\"auto\"}\r\n >\r\n </SvgIcon>\r\n </button> : null;\r\n\r\n return (\r\n <div className={this.model.cssClasses.filter}>\r\n <div className={this.model.cssClasses.filterIcon}>\r\n <SvgIcon\r\n iconName={\"icon-search\"}\r\n size={\"auto\"}\r\n >\r\n </SvgIcon>\r\n </div>\r\n <input\r\n type=\"text\"\r\n className={this.model.cssClasses.filterInput}\r\n aria-label={this.model.filterStringPlaceholder}\r\n placeholder={this.model.filterStringPlaceholder}\r\n value={this.state.filterString}\r\n onKeyUp={onKeyUp}\r\n onChange={onChange}\r\n ></input>\r\n {clearButton}\r\n </div>\r\n );\r\n }\r\n }\r\n emptyContent() {\r\n const style = { display: this.model.isEmpty ? null : \"none\" };\r\n\r\n return (<div className={this.model.cssClasses.emptyContainer} style={style as any}>\r\n <div className={this.model.cssClasses.emptyText} aria-label={this.model.emptyMessage}>{this.model.emptyMessage}</div>\r\n </div>);\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-list\", (props) => {\r\n return React.createElement(List, props);\r\n});\r\n","import * as React from \"react\";\nimport { SvgIcon } from \"./svg-icon/svg-icon\";\n\nexport class LoadingIndicatorComponent extends React.Component<any, any> {\n render(): JSX.Element | null {\n return (<div className=\"sd-loading-indicator\"><SvgIcon iconName=\"icon-loading\" size=\"auto\"></SvgIcon></div>);\n }\n}","import React from \"react\";\nimport { Action, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase } from \"survey-core\";\nimport { ReactElementFactory } from \"../../../element-factory\";\nimport { ReactSurveyElement } from \"../../../reactquestion_element\";\nimport { SvgIcon } from \"../../svg-icon/svg-icon\";\n\nexport class SurveyQuestionMatrixDetailButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnShowHideClick = this.handleOnShowHideClick.bind(this);\n }\n protected getStateElement() {\n return this.props.item;\n }\n get item(): Action {\n return this.props.item;\n }\n private get question(): QuestionMatrixDropdownModelBase {\n return this.props.item.data.question;\n }\n private get row(): MatrixDropdownRowModelBase {\n return this.props.item.data.row;\n }\n handleOnShowHideClick(event: any) {\n this.row.showHideDetailPanelClick();\n }\n protected renderElement(): JSX.Element {\n var isExpanded = this.row.isDetailPanelShowing;\n var ariaExpanded = isExpanded;\n var ariaControls = isExpanded ? this.row.detailPanelId : undefined;\n return (\n <button\n type=\"button\"\n onClick={this.handleOnShowHideClick}\n className={this.question.getDetailPanelButtonCss(this.row)}\n aria-expanded={ariaExpanded}\n aria-controls={ariaControls}\n >\n <SvgIcon\n className={this.question.getDetailPanelIconCss(this.row)}\n iconName={this.question.getDetailPanelIconId(this.row)}\n size={\"auto\"}\n >\n </SvgIcon>\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-detail-button\",\n props => {\n return React.createElement(SurveyQuestionMatrixDetailButton, props);\n }\n);\n","import React from \"react\";\nimport { QuestionMatrixDropdownModelBase } from \"survey-core\";\nimport { ReactElementFactory } from \"../../../element-factory\";\nimport { ReactSurveyElement } from \"../../../reactquestion_element\";\n\nexport class SurveyQuestionMatrixDynamicDragDropIcon extends ReactSurveyElement {\n private get question(): QuestionMatrixDropdownModelBase {\n return this.props.item.data.question;\n }\n\n protected renderElement(): JSX.Element {\n if(this.question.iconDragElement) {\n return (<svg className={this.question.cssClasses.dragElementDecorator} >\n <use xlinkHref={this.question.iconDragElement}></use>\n </svg>);\n } else {\n return (<span className={this.question.cssClasses.iconDrag} />);\n }\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-drag-drop-icon\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixDynamicDragDropIcon, props);\n }\n);\n","import React from \"react\";\nimport {\n MatrixDropdownRowModelBase,\n QuestionMatrixDropdownModelBase,\n} from \"survey-core\";\nimport { ReactElementFactory } from \"../../../element-factory\";\nimport { ReactSurveyElement } from \"../../../reactquestion_element\";\n\nexport class SurveyQuestionMatrixDynamicRemoveButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnRowRemoveClick = this.handleOnRowRemoveClick.bind(this);\n }\n private get question(): QuestionMatrixDropdownModelBase {\n return this.props.item.data.question;\n }\n private get row(): MatrixDropdownRowModelBase {\n return this.props.item.data.row;\n }\n handleOnRowRemoveClick(event: any) {\n this.question.removeRowUI(this.row);\n }\n protected renderElement(): JSX.Element {\n var removeRowText = this.renderLocString(this.question.locRemoveRowText);\n return (\n <button\n className={this.question.getRemoveRowButtonCss()}\n type=\"button\"\n onClick={this.handleOnRowRemoveClick}\n disabled={this.question.isInputReadOnly}\n >\n {removeRowText}\n <span className={this.question.cssClasses.iconRemove} />\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-remove-button\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixDynamicRemoveButton, props);\n }\n);\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownModelBase } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\n\ninterface IMatrixRowProps {\n model: QuestionMatrixDropdownRenderedRow;\n parentMatrix: QuestionMatrixDropdownModelBase;\n}\n\nexport class MatrixRow extends SurveyElementBase<IMatrixRowProps, any> {\n constructor(props: IMatrixRowProps) {\n super(props);\n }\n get model(): QuestionMatrixDropdownRenderedRow {\n return this.props.model;\n }\n get parentMatrix(): QuestionMatrixDropdownModelBase {\n return this.props.parentMatrix;\n }\n protected getStateElement() {\n return this.model;\n }\n protected onPointerDownHandler = (event: any) => {\n this.parentMatrix.onPointerDown(event.nativeEvent, this.model.row);\n }\n\n render() {\n const model = this.model;\n if(!model.visible) return null;\n return (\n <tr\n className={model.className}\n data-sv-drop-target-matrix-row={model.row && model.row.id}\n onPointerDown={(event: any) => this.onPointerDownHandler(event)}\n >\n {this.props.children}\n </tr>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-row\",\n (props: IMatrixRowProps) => {\n return React.createElement(MatrixRow, props);\n }\n);\n","import React from \"react\";\nimport { Base, Notifier } from \"survey-core\";\nimport { SurveyElementBase } from \"../reactquestion_element\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { SurveyActionBar } from \"./action-bar/action-bar\";\n\nexport interface INotifierComponentProps {\n notifier: Notifier;\n}\n\nexport class NotifierComponent extends SurveyElementBase<INotifierComponentProps, any> {\n get notifier(): Notifier {\n return this.props.notifier;\n }\n protected getStateElement(): Base {\n return this.notifier;\n }\n\n renderElement(): JSX.Element | null {\n if(!this.notifier.isDisplayed) return null;\n\n const style = { visibility: this.notifier.active ? \"visible\" : \"hidden\" } as React.CSSProperties;\n\n return (\n <div className={this.notifier.css} style={style} role=\"alert\" aria-live=\"polite\">\n <span>{this.notifier.message}</span>\n <SurveyActionBar model={this.notifier.actionBar}></SurveyActionBar>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-notifier\", (props) => {\n return React.createElement(NotifierComponent, props);\n});","import React from \"react\";\nimport {\n QuestionPanelDynamicModel\n} from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\n\nexport class SurveyQuestionPanelDynamicAction extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected get data(): any {\n return (this.props.item && this.props.item.data) || this.props.data;\n }\n protected get question(): QuestionPanelDynamicModel {\n return (this.props.item && this.props.item.data.question) || this.props.data.question;\n }\n}\n\nexport class SurveyQuestionPanelDynamicAddButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.addPanelUI();\n }\n protected renderElement(): JSX.Element | null {\n if (!this.question.canAddPanel) return null;\n return (\n <button type=\"button\" className={this.question.getAddButtonCss()} onClick={this.handleClick} >\n <span className={this.question.cssClasses.buttonAddText}>{this.question.panelAddText}</span>\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-add-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicAddButton, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicNextButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.goToNextPanel();\n }\n protected renderElement(): JSX.Element {\n return (\n <div title={this.question.panelNextText} onClick={this.handleClick} className={this.question.getNextButtonCss()}>\n <SvgIcon\n iconName={this.question.cssClasses.progressBtnIcon}\n size={\"auto\"}\n >\n </SvgIcon>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-next-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicNextButton, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicPrevButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.goToPrevPanel();\n }\n protected renderElement(): JSX.Element {\n return (\n <div title={this.question.panelPrevText} onClick={this.handleClick} className={this.question.getPrevButtonCss()}>\n <SvgIcon\n iconName={this.question.cssClasses.progressBtnIcon}\n size={\"auto\"}\n >\n </SvgIcon>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-prev-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicPrevButton, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicProgressText extends SurveyQuestionPanelDynamicAction {\n protected renderElement(): JSX.Element {\n return (<div className={this.question.cssClasses.progressText}>\n {this.question.progressText}\n </div>);\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-progress-text\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicProgressText, props);\n }\n);","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\nimport { SurveyQuestionPanelDynamic } from \"../../reactquestion_paneldynamic\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicRemoveButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.removePanelUI(this.data.panel);\n }\n protected renderElement(): JSX.Element {\n return (\n <button\n className={this.question.getPanelRemoveButtonCss()}\n onClick={this.handleClick}\n type=\"button\">\n <span\n className={this.question.cssClasses.buttonRemoveText}\n >{this.question.panelRemoveText}</span>\n <span\n className={this.question.cssClasses.iconRemove}\n ></span>\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-remove-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicRemoveButton, props);\n }\n);\n","import ReactDOM from \"react-dom\";\nimport React from \"react\";\nimport { Base, PopupModel, PopupBaseViewModel, PopupDropdownViewModel, IDialogOptions, createDialogOptions, createPopupModalViewModel, createPopupViewModel, CssClassBuilder, settings } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { SurveyActionBar } from \"../action-bar/action-bar\";\n\ninterface IPopupProps {\n model: PopupModel;\n getTarget?: (container: HTMLElement) => HTMLElement;\n}\n\nexport class Popup extends SurveyElementBase<IPopupProps, any> {\n private popup: PopupBaseViewModel;\n private containerRef: React.RefObject<HTMLDivElement>;\n constructor(props: IPopupProps) {\n super(props);\n this.containerRef = React.createRef();\n this.createModel();\n }\n get model(): PopupModel {\n return this.props.model;\n }\n protected getStateElement(): Base {\n return this.model;\n }\n private createModel(): void {\n this.popup = createPopupViewModel(this.props.model, undefined as any);\n }\n private setTargetElement(): void {\n const container = this.containerRef.current as HTMLElement;\n this.popup.setComponentElement(container, this.props.getTarget ? this.props.getTarget(container) : undefined);\n }\n componentDidMount(): void {\n super.componentDidMount();\n this.setTargetElement();\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.setTargetElement();\n }\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.popup.resetComponentElement();\n }\n shouldComponentUpdate(nextProps: IPopupProps, nextState: any) {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n const isNeedUpdate = nextProps.model !== this.popup.model;\n if(isNeedUpdate) {\n this.popup?.dispose();\n this.createModel();\n }\n return isNeedUpdate;\n }\n render(): JSX.Element {\n this.popup.model = this.model;\n let popupContainer;\n if(this.model.isModal) {\n popupContainer = <PopupContainer model={this.popup}></PopupContainer>;\n } else {\n popupContainer = <PopupDropdownContainer model={this.popup}></PopupDropdownContainer>;\n }\n return <div ref={this.containerRef}>{popupContainer}</div>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-popup\",\n (props: IPopupProps) => {\n return React.createElement(Popup, props);\n }\n);\n\nexport class PopupContainer extends SurveyElementBase<any, any> {\n public prevIsVisible: boolean = false;\n constructor(props: any) {\n super(props);\n }\n handleKeydown = (event: any) => {\n this.model.onKeyDown(event);\n };\n get model(): PopupBaseViewModel {\n return this.props.model;\n }\n protected getStateElement(): Base {\n return this.model;\n }\n clickInside = (ev: any) => {\n ev.stopPropagation();\n };\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n if (!this.prevIsVisible && this.model.isVisible) {\n this.model.updateOnShowing();\n }\n this.prevIsVisible = this.model.isVisible;\n }\n renderContainer(PopupBaseViewModel: PopupBaseViewModel): JSX.Element {\n const headerPopup = PopupBaseViewModel.showHeader ? this.renderHeaderPopup(PopupBaseViewModel) : null;\n const headerContent = !!PopupBaseViewModel.title ? this.renderHeaderContent() : null;\n const content = this.renderContent();\n const footerContent = PopupBaseViewModel.showFooter ? this.renderFooter(this.model) : null;\n return (\n <div\n className=\"sv-popup__container\"\n style={{\n left: PopupBaseViewModel.left,\n top: PopupBaseViewModel.top,\n height: PopupBaseViewModel.height,\n width: PopupBaseViewModel.width,\n minWidth: PopupBaseViewModel.minWidth,\n }}\n onClick={(ev: any) => {\n this.clickInside(ev);\n }}\n >\n <div className=\"sv-popup__shadow\">\n {headerPopup}\n <div className=\"sv-popup__body-content\">\n {headerContent}\n <div className=\"sv-popup__scrolling-content\">\n {content}\n </div>\n {footerContent}\n </div>\n </div>\n </div>\n );\n }\n renderHeaderContent(): JSX.Element {\n return <div className=\"sv-popup__body-header\">{this.model.title}</div>;\n }\n renderContent(): JSX.Element {\n const contentComponent = ReactElementFactory.Instance.createElement(\n this.model.contentComponentName,\n this.model.contentComponentData\n );\n return <div className=\"sv-popup__content\">{contentComponent}</div>;\n }\n\n protected renderHeaderPopup(popupModel: PopupBaseViewModel): JSX.Element | null {\n return null;\n }\n protected renderFooter(popuModel: PopupBaseViewModel): JSX.Element | null {\n return (\n <div className=\"sv-popup__body-footer\">\n <SurveyActionBar model={popuModel.footerToolbar}></SurveyActionBar>\n </div>\n );\n }\n render(): JSX.Element {\n const container = this.renderContainer(this.model);\n const className = new CssClassBuilder()\n .append(\"sv-popup\")\n .append(this.model.styleClass)\n .toString();\n const style = { display: this.model.isVisible ? \"\" : \"none\", };\n return (\n <div\n tabIndex={-1}\n className={className}\n style={style}\n onClick={(e: any) => {\n this.model.clickOutside(e);\n }}\n onKeyDown={this.handleKeydown}\n >\n {container}\n </div>\n );\n }\n}\nexport class PopupDropdownContainer extends PopupContainer {\n\n protected renderHeaderPopup(popupModel: PopupBaseViewModel): JSX.Element | null {\n const popupDropdownModel = popupModel as PopupDropdownViewModel;\n if(!popupDropdownModel) return null;\n\n return (\n <span\n style={{\n left: popupDropdownModel.pointerTarget.left,\n top: popupDropdownModel.pointerTarget.top,\n }}\n className=\"sv-popup__pointer\"\n ></span>\n );\n }\n}\n\n// replace to showDialog then delete\nexport function showModal(\n componentName: string,\n data: any,\n onApply: () => boolean,\n onCancel?: () => void,\n cssClass?: string,\n title?: string,\n displayMode: \"popup\" | \"overlay\" = \"popup\"\n): PopupBaseViewModel {\n const options = createDialogOptions(\n componentName,\n data,\n onApply,\n onCancel,\n undefined,\n undefined,\n cssClass,\n title,\n displayMode\n );\n return showDialog(options);\n}\nexport function showDialog(dialogOptions: IDialogOptions, rootElement?: HTMLElement): PopupBaseViewModel {\n dialogOptions.onHide = () => {\n ReactDOM.unmountComponentAtNode(popupViewModel.container);\n popupViewModel.dispose();\n };\n const popupViewModel: PopupBaseViewModel = createPopupModalViewModel(dialogOptions, rootElement);\n ReactDOM.render(<PopupContainer model={popupViewModel} />, popupViewModel.container);\n popupViewModel.model.isVisible = true;\n\n return popupViewModel;\n}\n\nsettings.showModal = showModal;\nsettings.showDialog = showDialog;","import React from \"react\";\nimport { QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { IRatingItemProps, RatingItemBase } from \"./rating-item\";\n\nexport class RatingItemSmiley extends RatingItemBase {\n render(): JSX.Element | null {\n return (\n <label onMouseDown={this.handleOnMouseDown}\n style={this.question.getItemStyle(this.item.itemValue, this.item.highlight)}\n className={this.question.getItemClass(this.item.itemValue)}\n onMouseOver={e => this.question.onItemMouseIn(this.item)}\n onMouseOut={e => this.question.onItemMouseOut(this.item)}\n >\n <input\n type=\"radio\"\n className=\"sv-visuallyhidden\"\n name={this.question.name}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.isDisplayMode}\n checked={this.question.value == this.item.value}\n onClick={this.props.handleOnClick}\n onChange={() => { }}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <SvgIcon\n size={\"auto\"}\n iconName={this.question.getItemSmileyIconName(this.item.itemValue)}\n title={this.item.text}\n ></SvgIcon>\n </label>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-item-smiley\", (props) => {\n return React.createElement(RatingItemSmiley, props);\n});\n","import React from \"react\";\nimport { QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { IRatingItemProps, RatingItemBase } from \"./rating-item\";\n\nexport class RatingItemStar extends RatingItemBase {\n render(): JSX.Element | null {\n return (\n <label onMouseDown={this.handleOnMouseDown}\n className={this.question.getItemClass(this.item.itemValue)}\n onMouseOver={e => this.question.onItemMouseIn(this.item)}\n onMouseOut={e => this.question.onItemMouseOut(this.item)}\n >\n <input\n type=\"radio\"\n className=\"sv-visuallyhidden\"\n name={this.question.name}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.isDisplayMode}\n checked={this.question.value == this.item.value}\n onClick={this.props.handleOnClick}\n onChange={() => { }}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <SvgIcon\n className={\"sv-star\"}\n size={\"auto\"}\n iconName={this.question.itemStarIcon}\n title={this.item.text}\n ></SvgIcon>\n <SvgIcon\n className={\"sv-star-2\"}\n size={\"auto\"}\n iconName={this.question.itemStarIconAlt}\n title={this.item.text}\n ></SvgIcon>\n </label>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-item-star\", (props) => {\n return React.createElement(RatingItemStar, props);\n});\n","import React from \"react\";\nimport { Base, QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\n\nexport interface IRatingItemProps {\n question: QuestionRatingModel;\n item: RenderedRatingItem;\n index: any;\n handleOnClick: any;\n isDisplayMode: boolean;\n}\nexport class RatingItemBase extends SurveyElementBase<IRatingItemProps, any> {\n constructor(props: any) {\n super(props);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n }\n get question(): QuestionRatingModel {\n return this.props.question;\n }\n get item(): RenderedRatingItem {\n return this.props.item;\n }\n get index(): any {\n return this.props.index;\n }\n getStateElement(): Base {\n return this.item;\n }\n handleOnMouseDown(event: any) {\n this.question.onMouseDown();\n }\n}\nexport class RatingItem extends RatingItemBase {\n render(): JSX.Element | null {\n var itemText = this.renderLocString(this.item.locText);\n return (\n <label onMouseDown={this.handleOnMouseDown} className={this.question.getItemClassByText(this.item.itemValue, this.item.text)}>\n <input\n type=\"radio\"\n className=\"sv-visuallyhidden\"\n name={this.question.name}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.isDisplayMode}\n checked={this.question.value == this.item.value}\n onClick={this.props.handleOnClick}\n onChange={() => { }}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <span className={this.question.cssClasses.itemText}>{itemText}</span>\n </label>\n );\n }\n componentDidMount() {\n super.componentDidMount();\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-item\", (props) => {\n return React.createElement(RatingItem, props);\n});\n","import React from \"react\";\nimport { ReactElementFactory } from \"../element-factory\";\n\nexport class Skeleton extends React.Component<any, any> {\n render() {\n return (\n <div className=\"sv-skeleton-element\" id={this.props.element?.id}>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-skeleton\", (props: any) => {\n return React.createElement(Skeleton, props);\n});\n","import React from \"react\";\nimport { Action } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\n\nexport class SurveyNavigationButton extends ReactSurveyElement {\n protected get item(): Action {\n return this.props.item;\n }\n protected canRender(): boolean {\n return this.item.isVisible;\n }\n protected renderElement(): JSX.Element {\n return (\n <input\n className={this.item.innerCss}\n type=\"button\"\n disabled={this.item.disabled}\n onMouseDown={this.item.data && this.item.data.mouseDown}\n onClick={this.item.action}\n title={this.item.getTooltip()}\n value={this.item.title}\n />\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-nav-btn\",\n (props) => {\n return React.createElement(SurveyNavigationButton, props);\n }\n);","import React from \"react\";\nimport { SurveyModel } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\ninterface ILogoImageProps {\n data: SurveyModel;\n}\n\nexport class LogoImage extends React.Component<ILogoImageProps, any> {\n constructor(props: ILogoImageProps) {\n super(props);\n }\n private get survey(): SurveyModel {\n return this.props.data;\n }\n public render() {\n const content: JSX.Element[] = [];\n content.push(\n <div key={\"logo-image\"} className={this.survey.logoClassNames}>\n <img\n className={this.survey.css.logoImage}\n src={this.survey.locLogo.renderedHtml}\n alt={this.survey.locTitle.renderedHtml}\n width={this.survey.renderedLogoWidth}\n height={this.survey.renderedLogoHeight}\n style={{ objectFit: this.survey.logoFit as any, width: this.survey.renderedStyleLogoWidth, height: this.survey.renderedStyleLogoHeight }}\n />\n </div>\n );\n return <>{content}</>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-logo-image\", (props: ILogoImageProps) => {\n return React.createElement(LogoImage, props);\n});\n","import React from \"react\";\nimport { SurveyModel } from \"survey-core\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { TitleElement } from \"../title/title-element\";\n\ninterface ISurveyHeaderProps {\n survey: SurveyModel;\n}\n\nexport class SurveyHeader extends React.Component<ISurveyHeaderProps, any> {\n constructor(props: ISurveyHeaderProps) {\n super(props);\n this.state = { changed: 0 };\n this.rootRef = React.createRef();\n }\n\n private get survey(): SurveyModel {\n return this.props.survey;\n }\n private get css(): any {\n return this.survey.css;\n }\n private rootRef: React.RefObject<HTMLDivElement>;\n\n componentDidMount() {\n const self: SurveyHeader = this;\n this.survey.afterRenderHeader(this.rootRef.current as HTMLDivElement);\n this.survey.locLogo.onChanged = function () {\n self.setState({ changed: self.state.changed + 1 });\n };\n }\n componentWillUnmount() {\n this.survey.locLogo.onChanged = function () { };\n }\n\n private renderTitle(): JSX.Element | null {\n if (!this.survey.renderedHasTitle) return null;\n const description = SurveyElementBase.renderLocString(\n this.survey.locDescription\n );\n return (\n <div\n className={this.css.headerText}\n style={{ maxWidth: this.survey.titleMaxWidth }}\n >\n <TitleElement element={this.survey}></TitleElement>\n { this.survey.renderedHasDescription ? <h5 className={this.css.description}>{description}</h5> : null }\n </div>\n );\n }\n\n private renderLogoImage(isRender: boolean): JSX.Element | null {\n if (!isRender) return null;\n const componentName: string = this.survey.getElementWrapperComponentName(\n this.survey,\n \"logo-image\"\n );\n const componentData: any = this.survey.getElementWrapperComponentData(\n this.survey,\n \"logo-image\"\n );\n return ReactElementFactory.Instance.createElement(componentName, {\n data: componentData,\n });\n }\n public render(): JSX.Element | null {\n if (!this.survey.renderedHasHeader) return null;\n return (\n <div className={this.css.header} ref={this.rootRef}>\n {this.renderLogoImage(this.survey.isLogoBefore)}\n {this.renderTitle()}\n {this.renderLogoImage(this.survey.isLogoAfter)}\n <div className={this.css.headerClose}></div>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"survey-header\",\n (props: ISurveyHeaderProps) => {\n return React.createElement(SurveyHeader, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { createSvg } from \"survey-core\";\n\nexport class SvgIcon extends React.Component<any, any> {\n private svgIconRef: any;\n constructor(props: any) {\n super(props);\n this.svgIconRef = React.createRef();\n }\n\n updateSvg() {\n if(this.props.iconName)\n createSvg(\n this.props.size,\n this.props.width,\n this.props.height,\n this.props.iconName,\n this.svgIconRef.current,\n this.props.title,\n );\n }\n componentDidUpdate() {\n this.updateSvg();\n }\n render() {\n let className = \"sv-svg-icon\";\n if(this.props.className) {\n className += \" \" + this.props.className;\n }\n return (\n this.props.iconName ?\n <svg className={ className } style={this.props.style} onClick={this.props.onClick} ref={this.svgIconRef} role=\"img\" aria-label={this.props.title}><use></use></svg>\n : null\n );\n }\n componentDidMount() {\n this.updateSvg();\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-svg-icon\", (props) => {\n return React.createElement(SvgIcon, props);\n});\n","import React from \"react\";\nimport { SurveyElement, RendererFactory } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyActionBar } from \"../action-bar/action-bar\";\nimport { TitleContent } from \"./title-content\";\n\nexport class TitleActions extends React.Component<any, any> {\n protected get cssClasses() {\n return this.props.cssClasses;\n }\n protected get element(): SurveyElement {\n return this.props.element;\n }\n\n render(): JSX.Element {\n const titleContent: JSX.Element = <TitleContent element={this.element} cssClasses={this.cssClasses}></TitleContent>;\n if(!this.element.hasTitleActions) return titleContent;\n return (\n <div className=\"sv-title-actions\">\n <span className=\"sv-title-actions__title\">{titleContent}</span>\n <SurveyActionBar model={this.element.getTitleToolbar()}></SurveyActionBar>\n </div>\n );\n }\n}\n\nRendererFactory.Instance.registerRenderer(\n \"element\",\n \"title-actions\",\n \"sv-title-actions\"\n);\n\nReactElementFactory.Instance.registerElement(\"sv-title-actions\", (props) => {\n return React.createElement(TitleActions, props);\n});\n","import React from \"react\";\nimport { SurveyElementCore, ITitleOwner } from \"survey-core\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\n\nexport class TitleContent extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n }\n\n private get cssClasses() {\n return this.props.cssClasses;\n }\n\n private get element(): SurveyElementCore {\n return this.props.element;\n }\n render(): JSX.Element {\n if(this.element.isTitleRenderedAsString)\n return SurveyElementBase.renderLocString(this.element.locTitle);\n var spans = this.renderTitleSpans(this.element.getTitleOwner(), this.cssClasses);\n return <>{spans}</>;\n }\n protected renderTitleSpans(element: ITitleOwner, cssClasses: any): Array<JSX.Element> {\n var getSpaceSpan = (key: any) => {\n return (\n <span data-key={key} key={key}>\n &nbsp;\n </span>\n );\n };\n var spans: Array<JSX.Element> = [];\n if (element.isRequireTextOnStart) {\n spans.push(this.renderRequireText(element, cssClasses));\n spans.push(getSpaceSpan(\"req-sp\"));\n }\n var questionNumber = element.no;\n if (questionNumber) {\n const panelNumber = !!cssClasses.panel ? cssClasses.panel.number : undefined;\n spans.push(\n <span\n data-key={\"q_num\"}\n key={\"q_num\"}\n className={cssClasses.number || panelNumber}\n style={{ position: \"static\" }}\n aria-hidden={true}\n >\n {questionNumber}\n </span>\n );\n spans.push(getSpaceSpan(\"num-sp\"));\n }\n if (element.isRequireTextBeforeTitle) {\n spans.push(this.renderRequireText(element, cssClasses));\n spans.push(getSpaceSpan(\"req-sp\"));\n }\n spans.push(\n SurveyElementBase.renderLocString(element.locTitle, null, \"q_title\")\n );\n if (element.isRequireTextAfterTitle) {\n spans.push(getSpaceSpan(\"req-sp\"));\n spans.push(this.renderRequireText(element, cssClasses));\n }\n return spans;\n }\n\n private renderRequireText(\n element: ITitleOwner,\n cssClasses: any\n ): JSX.Element {\n return (\n <span\n data-key={\"req-text\"}\n key={\"req-text\"}\n className={cssClasses.requiredText || cssClasses.panel.requiredText}\n aria-hidden={true}\n >\n {element.requiredText}\n </span>\n );\n }\n}\n","import React from \"react\";\nimport { SurveyElementCore, doKey2ClickUp } from \"survey-core\";\nimport { TitleActions } from \"./title-actions\";\n\nexport class TitleElement extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n }\n private get element(): SurveyElementCore {\n return this.props.element;\n }\n render(): JSX.Element | any {\n const element = this.element;\n if (!element || !element.hasTitle) return null;\n const ariaLabel = element.titleAriaLabel || undefined;\n const titleContent = (\n <TitleActions\n element={element}\n cssClasses={element.cssClasses}\n ></TitleActions>\n );\n let onClick: undefined | ((e: any) => void) = undefined;\n let onKeyUp: undefined | ((e: any) => void) = undefined;\n if (element.hasTitleEvents) {\n onKeyUp = (evt: any) => {\n doKey2ClickUp(evt.nativeEvent);\n };\n }\n\n const CustomTag = element.titleTagName as keyof JSX.IntrinsicElements;\n return (\n <CustomTag\n className={element.cssTitle}\n id={element.ariaTitleId}\n aria-label={ariaLabel}\n tabIndex={element.titleTabIndex}\n aria-expanded={element.titleAriaExpanded}\n role={element.titleAriaRole}\n onClick={onClick}\n onKeyUp={onKeyUp}\n >\n {titleContent}\n </CustomTag>\n );\n }\n}\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\n\nexport class SurveyCustomWidget extends SurveyQuestionElementBase {\n private widgetRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.widgetRef = React.createRef();\n }\n private _afterRender() {\n if (this.questionBase.customWidget) {\n let el = this.widgetRef.current;\n if (!!el) {\n this.questionBase.customWidget.afterRender(this.questionBase, el);\n this.questionBase.customWidgetData.isNeedRender = false;\n }\n }\n }\n componentDidMount() {\n super.componentDidMount();\n if (this.questionBase) {\n this._afterRender();\n }\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n var isDefaultRender =\n !!this.questionBase.customWidget &&\n this.questionBase.customWidget.isDefaultRender;\n if (this.questionBase && !isDefaultRender) {\n this._afterRender();\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.questionBase.customWidget) {\n let el = this.widgetRef.current;\n if (!!el) {\n this.questionBase.customWidget.willUnmount(this.questionBase, el);\n }\n }\n }\n protected canRender(): boolean {\n return super.canRender() && this.questionBase.visible;\n }\n protected renderElement(): JSX.Element {\n let customWidget = this.questionBase.customWidget;\n\n if (customWidget.isDefaultRender) {\n return (\n <div ref={this.widgetRef}>\n {this.creator.createQuestionElement(this.questionBase)}\n </div>\n );\n }\n\n let widget = null;\n if (customWidget.widgetJson.render) {\n widget = customWidget.widgetJson.render(this.questionBase);\n } else {\n if (customWidget.htmlTemplate) {\n let htmlValue = { __html: customWidget.htmlTemplate };\n return <div ref={this.widgetRef} dangerouslySetInnerHTML={htmlValue} />;\n }\n }\n return <div ref={this.widgetRef}>{widget}</div>;\n }\n}\n","import * as React from \"react\";\nimport { Helpers, Question, DropdownListModel, settings } from \"survey-core\";\nimport { Popup } from \"./components/popup/popup\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\n\nexport class SurveyQuestionDropdownBase<T extends Question> extends SurveyQuestionUncontrolledElement<T> {\n inputElement: HTMLInputElement | null;\n\n click = (event: any) => {\n this.question.dropdownListModel?.onClick(event);\n };\n clear = (event: any) => {\n this.question.dropdownListModel?.onClear(event);\n };\n keyhandler = (event: any) => {\n this.question.dropdownListModel?.keyHandler(event);\n };\n blur = (event: any) => {\n this.question.dropdownListModel?.onBlur(event);\n this.updateInputDomElement();\n };\n focus = (event: any) => {\n this.question.dropdownListModel?.onFocus(event);\n };\n protected getStateElement() {\n return this.question[\"dropdownListModel\"];\n }\n protected setValueCore(newValue: any) {\n this.questionBase.renderedValue = newValue;\n }\n protected getValueCore(): any {\n return this.questionBase.renderedValue;\n }\n protected renderSelect(cssClasses: any): JSX.Element {\n let selectElement: JSX.Element | null = null;\n if (this.question.isReadOnly) {\n const text = (this.question.selectedItemLocText) ? this.renderLocString(this.question.selectedItemLocText) : \"\";\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n selectElement = <div id={this.question.inputId} className={this.question.getControlClass()} disabled>\n {text}\n <div>{this.question.readOnlyText}</div>\n </div>;\n } else {\n if (!(this.question as any)[\"dropdownListModel\"]) {\n (this.question as any)[\"dropdownListModel\"] = new DropdownListModel(this.question);\n }\n selectElement = <>\n {this.renderInput(this.question[\"dropdownListModel\"])}\n <Popup model={this.question?.dropdownListModel?.popupModel}></Popup>\n </>;\n }\n\n return (\n <div className={cssClasses.selectWrapper} onClick={this.click}>\n {selectElement}\n {this.createChevronButton()}\n </div>\n );\n }\n\n renderValueElement(dropdownListModel: DropdownListModel): JSX.Element | null {\n if (this.question.showInputFieldComponent) {\n return ReactElementFactory.Instance.createElement(this.question.inputFieldComponentName, { item: dropdownListModel.getSelectedAction(), question: this.question });\n } else if (this.question.showSelectedItemLocText) {\n return this.renderLocString(this.question.selectedItemLocText);\n }\n return null;\n }\n\n protected renderInput(dropdownListModel: DropdownListModel): JSX.Element {\n let valueElement: JSX.Element | null = this.renderValueElement(dropdownListModel);\n const { root } = settings.environment;\n\n const onInputChange = (e: any) => {\n if (e.target === root.activeElement) {\n dropdownListModel.inputStringRendered = e.target.value;\n }\n };\n return (<div\n id={this.question.inputId}\n className={this.question.getControlClass()}\n tabIndex={dropdownListModel.inputReadOnly ? undefined : 0}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n disabled={this.question.isInputReadOnly}\n required={this.question.isRequired}\n onKeyDown={this.keyhandler}\n onBlur={this.blur}\n role={this.question.ariaRole}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n >\n {dropdownListModel.showHintPrefix ?\n (<div className={this.question.cssClasses.hintPrefix}>\n <span>{dropdownListModel.hintStringPrefix}</span>\n </div>) : null}\n <div className={this.question.cssClasses.controlValue}>\n {dropdownListModel.showHintString ?\n (<div className={this.question.cssClasses.hintSuffix}>\n <span style={{ visibility: \"hidden\" }} data-bind=\"text: model.filterString\">{dropdownListModel.inputStringRendered}</span>\n <span>{dropdownListModel.hintStringSuffix}</span>\n </div>) : null}\n {valueElement}\n <input type=\"text\" autoComplete=\"off\"\n id={this.question.getInputId()}\n ref={(element) => (this.inputElement = element)}\n className={this.question.cssClasses.filterStringInput}\n role={dropdownListModel.filterStringEnabled ? this.question.ariaRole : undefined}\n aria-label={this.question.placeholder}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n placeholder={dropdownListModel.placeholderRendered}\n readOnly={!dropdownListModel.searchEnabled ? true : undefined}\n tabIndex={dropdownListModel.inputReadOnly ? undefined : -1}\n disabled={this.question.isInputReadOnly}\n inputMode={dropdownListModel.inputMode}\n onChange={(e) => { onInputChange(e); }}\n onBlur={this.blur}\n onFocus={this.focus}\n ></input>\n </div>\n {this.createClearButton()}\n </div>);\n }\n\n createClearButton(): JSX.Element | null {\n if (!this.question.allowClear || !this.question.cssClasses.cleanButtonIconId) return null;\n\n const style = { display: this.question.isEmpty() ? \"none\" : \"\" };\n return (\n <div\n className={this.question.cssClasses.cleanButton}\n style={style}\n onClick={this.clear}\n >\n <SvgIcon\n className={this.question.cssClasses.cleanButtonSvg}\n iconName={this.question.cssClasses.cleanButtonIconId}\n title={this.question.clearCaption}\n size={\"auto\"}\n ></SvgIcon>\n </div>\n );\n }\n\n createChevronButton(): JSX.Element | null {\n if (!this.question.cssClasses.chevronButtonIconId) return null;\n\n return (\n <div className={this.question.cssClasses.chevronButton}>\n <SvgIcon\n className={this.question.cssClasses.chevronButtonSvg}\n iconName={this.question.cssClasses.chevronButtonIconId}\n size={\"auto\"}\n ></SvgIcon>\n </div>\n );\n }\n\n protected renderOther(cssClasses: any): JSX.Element {\n return (\n <div className={this.question.getCommentAreaCss(true)}>\n <SurveyQuestionOtherValueItem\n question={this.question}\n otherCss={cssClasses.other}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n isOther={true}\n />\n </div>\n );\n }\n\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateInputDomElement();\n }\n componentDidMount() {\n super.componentDidMount();\n this.updateInputDomElement();\n }\n updateInputDomElement() {\n if (!!this.inputElement) {\n const control: any = this.inputElement;\n const newValue = this.question.dropdownListModel.inputStringRendered;\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true, false)) {\n control.value = this.question.dropdownListModel.inputStringRendered;\n }\n }\n }\n}","import * as React from \"react\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\nimport { Base, ItemValue } from \"survey-core\";\n\nexport class SurveyQuestionOptionItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.state = { changed: 0 };\n this.setupModel();\n }\n componentDidUpdate(prevProps: any, prevState: any): void {\n super.componentDidUpdate(prevProps, prevState);\n this.setupModel();\n }\n componentWillUnmount(): void {\n super.componentWillUnmount();\n if (!!this.item) {\n this.item.locText.onChanged = () => { };\n }\n }\n private setupModel(): void {\n if (!this.item.locText) return;\n const self = this;\n this.item.locText.onChanged = () => {\n self.setState({ changed: self.state.changed + 1 });\n };\n }\n protected getStateElement(): Base {\n return this.item;\n }\n private get item(): ItemValue {\n return this.props.item;\n }\n protected canRender(): boolean {\n return !!this.item;\n }\n protected renderElement(): JSX.Element {\n return (\n <option value={this.item.value} disabled={!this.item.isEnabled}>\n {this.item.text}\n </option>\n );\n }\n}","import * as React from \"react\";\nimport { RendererFactory, ItemValue } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionDropdown } from \"./reactquestion_dropdown\";\nimport { SurveyQuestionOptionItem } from \"./dropdown-item\";\n\nexport class SurveyQuestionDropdownSelect extends SurveyQuestionDropdown {\n constructor(props: any) {\n super(props);\n }\n\n protected renderSelect(cssClasses: any): JSX.Element {\n const click = (event: any) => {\n this.question.onClick(event);\n };\n const keyup = (event: any) => {\n this.question.onKeyUp(event);\n };\n\n const selectElement = this.isDisplayMode ? (\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n <div id={this.question.inputId} className={this.question.getControlClass()} disabled>{this.question.readOnlyText}</div>) :\n (<select\n id={this.question.inputId}\n className={this.question.getControlClass()}\n ref={(select) => (this.setControl(select))}\n autoComplete={this.question.autocomplete}\n onChange={this.updateValueOnEvent}\n onInput={this.updateValueOnEvent}\n onClick={click}\n onKeyUp={keyup}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n required={this.question.isRequired}>\n {this.question.allowClear ? (<option value=\"\">{this.question.placeholder}</option>) : null}\n {this.question.visibleChoices.map((item: ItemValue, i: number) => <SurveyQuestionOptionItem key={\"item\" + i} item={item} />)}\n </select>);\n return (\n <div className={cssClasses.selectWrapper}>\n {selectElement}\n {this.createChevronButton()}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"sv-dropdown-select\", (props) => {\n return React.createElement(SurveyQuestionDropdownSelect, props);\n});\n\nRendererFactory.Instance.registerRenderer(\"dropdown\", \"select\", \"sv-dropdown-select\");","import { HashTable } from \"survey-core\";\n\nexport class ReactElementFactory {\n public static Instance: ReactElementFactory = new ReactElementFactory();\n private creatorHash: HashTable<(name: string) => JSX.Element> = {};\n\n public registerElement(\n elementType: string,\n elementCreator: (props: any) => JSX.Element\n ) {\n this.creatorHash[elementType] = elementCreator;\n }\n public getAllTypes(): Array<string> {\n var result = new Array<string>();\n for (var key in this.creatorHash) {\n result.push(key);\n }\n return result.sort();\n }\n public isElementRegistered(elementType: string) {\n return !!this.creatorHash[elementType];\n }\n public createElement(elementType: string, params: any): JSX.Element | any {\n var creator = this.creatorHash[elementType];\n if (creator == null) return null;\n return creator(params);\n }\n}\n","import React from \"react\";\nimport { Question, PanelModel, QuestionPanelDynamicModel } from \"survey-core\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { TitleElement } from \"./components/title/title-element\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\nexport class SurveyElementHeader extends React.Component<any, any> {\n private get element(): Question | PanelModel {\n return this.props.element;\n }\n public render(): JSX.Element {\n const element = this.element;\n const title = element.hasTitle ? (\n <TitleElement element={element}></TitleElement>\n ) : null;\n const description = element.hasDescriptionUnderTitle\n ? SurveyElementBase.renderQuestionDescription(this.element)\n : null;\n\n const additionalTitleToolbarElement = !!element.additionalTitleToolbar ? <SurveyActionBar model= {element.additionalTitleToolbar}></SurveyActionBar> : null;\n\n return (\n <div className={element.cssHeader} onClick={(e) => element.clickTitleFunction && element.clickTitleFunction(e.nativeEvent)}>\n {title}\n {description}\n {additionalTitleToolbarElement}\n </div>\n );\n }\n}","import * as React from \"react\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { SurveyModel, Question, QuestionRowModel, IElement, Base } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyRowElement extends SurveyElementBase<any, any> {\n private rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n (this.element as Question).cssClasses;\n }\n protected getStateElement(): any {\n return this.element;\n }\n private get element(): IElement {\n return this.props.element;\n }\n private get index(): number {\n return this.props.index;\n }\n private get row(): QuestionRowModel {\n return this.props.row;\n }\n private get survey(): SurveyModel {\n return this.props.survey;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get css(): any {\n return this.props.css;\n }\n\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n\n (this.element as Question).cssClasses;\n return true;\n }\n\n protected renderElement(): JSX.Element {\n const element = this.element;\n const innerElement = this.createElement(element, this.index);\n const css = (element as Question).cssClassesValue;\n const focusIn = () => {\n const el: any = element;\n if (el && el.isQuestion) {\n el.focusIn();\n }\n };\n return (\n <div\n className={css.questionWrapper}\n style={(element as any).rootStyle}\n data-key={innerElement.key}\n key={innerElement.key}\n onFocus={focusIn}\n >\n {this.row.isNeedRender ? innerElement : ReactElementFactory.Instance.createElement(element.skeletonComponentName, { element: element, css: this.css, })}\n </div>\n );\n }\n\n protected createElement(element: IElement, elementIndex?: number): JSX.Element {\n const index = elementIndex ? \"-\" + elementIndex : 0;\n var elementType = element.getType();\n if (!ReactElementFactory.Instance.isElementRegistered(elementType)) {\n elementType = \"question\";\n }\n return ReactElementFactory.Instance.createElement(elementType, {\n key: element.name + index,\n element: element,\n creator: this.creator,\n survey: this.survey,\n css: this.css,\n });\n }\n}\n","import * as React from \"react\";\nimport { FlowPanelModel, Question } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyPanel } from \"./panel\";\nimport { SurveyQuestion } from \"./reactquestion\";\n\nexport class SurveyFlowPanel extends SurveyPanel {\n constructor(props: any) {\n super(props);\n }\n public get flowPanel(): FlowPanelModel {\n return this.panel as FlowPanelModel;\n }\n componentDidMount() {\n super.componentDidMount();\n if (!!this.flowPanel) {\n this.flowPanel.onCustomHtmlProducing = function() {\n return \"\";\n };\n this.flowPanel.onGetHtmlForQuestion = this.renderQuestion;\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.flowPanel) {\n this.flowPanel.onCustomHtmlProducing = null as any;\n this.flowPanel.onGetHtmlForQuestion = null as any;\n }\n }\n protected getQuestion(name: string): Question {\n return this.flowPanel.getQuestionByName(name);\n }\n protected renderQuestion(question: Question): string {\n return \"<question>\" + question.name + \"</question>\";\n }\n protected renderRows(): Array<JSX.Element> {\n const result = this.renderHtml();\n if(!!result) {\n return [result];\n } else {\n return [];\n }\n }\n private renderedIndex: number;\n private getNodeIndex(): number {\n return this.renderedIndex++;\n }\n protected renderHtml(): JSX.Element | null {\n if (!this.flowPanel) return null;\n const html = \"<span>\" + this.flowPanel.produceHtml() + \"</span>\";\n if (!DOMParser) {\n const htmlValue = { __html: html };\n return <div dangerouslySetInnerHTML={htmlValue} />;\n }\n const doc = new DOMParser().parseFromString(html, \"text/xml\");\n this.renderedIndex = 0;\n return this.renderParentNode(doc);\n }\n protected renderNodes(domNodes: Array<Node>): Array<JSX.Element> {\n const nodes: Array<JSX.Element> = [];\n for (let i = 0; i < domNodes.length; i++) {\n const node = this.renderNode(domNodes[i]);\n if(!!node) {\n nodes.push(node);\n }\n }\n return nodes;\n }\n private getStyle(nodeType: string) {\n const style: any = {};\n if (nodeType.toLowerCase() === \"b\") {\n style.fontWeight = \"bold\";\n }\n if (nodeType.toLowerCase() === \"i\") {\n style.fontStyle = \"italic\";\n }\n if (nodeType.toLowerCase() === \"u\") {\n style.textDecoration = \"underline\";\n }\n return style;\n }\n protected renderParentNode(node: Node): JSX.Element {\n const nodeType = node.nodeName.toLowerCase();\n const children = this.renderNodes(this.getChildDomNodes(node));\n if (nodeType === \"div\")\n return <div key={this.getNodeIndex()}>{children}</div>;\n return (\n <span key={this.getNodeIndex()} style={this.getStyle(nodeType)}>\n {children}\n </span>\n );\n }\n protected renderNode(node: Node): JSX.Element | null {\n if (!this.hasTextChildNodesOnly(node)) {\n return this.renderParentNode(node);\n }\n const nodeType = node.nodeName.toLowerCase();\n if (nodeType === \"question\") {\n const question = this.flowPanel.getQuestionByName(node.textContent as any);\n if (!question) return null;\n const questionBody = (\n <SurveyQuestion\n key={question.name}\n element={question}\n creator={this.creator}\n css={this.css}\n />\n );\n return <span key={this.getNodeIndex()}>{questionBody}</span>;\n }\n if (nodeType === \"div\") {\n return <div key={this.getNodeIndex()}>{node.textContent}</div>;\n }\n return (\n <span key={this.getNodeIndex()} style={this.getStyle(nodeType)}>\n {node.textContent}\n </span>\n );\n }\n private getChildDomNodes(node: Node): Array<Node> {\n const domNodes: Array<Node> = [];\n for (let i = 0; i < node.childNodes.length; i++) {\n domNodes.push(node.childNodes[i]);\n }\n return domNodes;\n }\n private hasTextChildNodesOnly(node: Node): boolean {\n const nodes = node.childNodes;\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i].nodeName.toLowerCase() !== \"#text\") return false;\n }\n return true;\n }\n protected renderContent(style: any, rows: JSX.Element[]): JSX.Element {\n return React.createElement(\"f-panel\", { style: style }, rows);\n }\n}\n\nReactElementFactory.Instance.registerElement(\"flowpanel\", props => {\n return React.createElement(SurveyFlowPanel, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionImageModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionImage extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n componentDidMount() {\n super.componentDidMount();\n this.question.locImageLink.onChanged = () => {\n this.forceUpdate();\n };\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.question.locImageLink.onChanged = () => { };\n }\n\n protected get question(): QuestionImageModel {\n return this.questionBase as QuestionImageModel;\n }\n\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.getImageCss();\n var style: any = { objectFit: this.question.imageFit, width: this.question.renderedStyleWidth, height: this.question.renderedStyleHeight };\n if(!this.question.imageLink || this.question.contentNotLoaded) {\n style[\"display\"] = \"none\";\n }\n var control: JSX.Element | null = null;\n if (this.question.renderedMode === \"image\") {\n control = (\n <img\n className={cssClasses}\n src={this.question.locImageLink.renderedHtml}\n alt={this.question.altText || this.question.title}\n width={this.question.renderedWidth}\n height={this.question.renderedHeight}\n //alt={item.text || item.value}\n style={style}\n onLoad={(event: any) => { this.question.onLoadHandler(); } }\n onError={(event: any) => { this.question.onErrorHandler(); } }\n />\n );\n }\n if (this.question.renderedMode === \"video\") {\n control = (\n <video controls\n className={cssClasses}\n src={this.question.locImageLink.renderedHtml}\n width={this.question.renderedWidth}\n height={this.question.renderedHeight}\n style={style}\n onLoadedMetadata={(event: any) => { this.question.onLoadHandler(); } }\n onError={(event: any) => { this.question.onErrorHandler(); } }\n ></video>\n );\n }\n if (this.question.renderedMode === \"youtube\") {\n control = (\n <iframe\n className={cssClasses}\n src={this.question.locImageLink.renderedHtml}\n width={this.question.renderedWidth}\n height={this.question.renderedHeight}\n style={style}\n ></iframe>\n );\n }\n var noImage: JSX.Element | null = null;\n if(!this.question.imageLink || this.question.contentNotLoaded) {\n noImage = (\n <div className={this.question.cssClasses.noImage}>\n <SvgIcon\n iconName={this.question.cssClasses.noImageSvgIconId}\n size={48}\n >\n </SvgIcon>\n </div>\n );\n }\n return <div className={this.question.cssClasses.root}>{control}{noImage}</div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"image\", (props) => {\n return React.createElement(SurveyQuestionImage, props);\n});\n","import * as React from \"react\";\nimport { ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionImagePickerModel, ImageItemValue, SurveyModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionImagePicker extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionImagePickerModel {\n return this.questionBase as QuestionImagePickerModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n return (\n <fieldset className={this.question.getSelectBaseRootCss()}>\n <legend\n role=\"radio\"\n aria-label={this.question.locTitle.renderedHtml} />\n {this.question.hasColumns ? this.getColumns(cssClasses) : this.getItems(cssClasses)}\n </fieldset>\n );\n }\n\n protected getColumns(cssClasses: any) {\n return this.question.columns.map((column: any, ci: number) => {\n var items = column.map((item: any, ii: number) =>\n this.renderItem(\n \"item\" + ii,\n item,\n cssClasses\n )\n );\n return (\n <div key={\"column\" + ci} className={this.question.getColumnClass()} role=\"presentation\">\n {items}\n </div>\n );\n });\n }\n\n protected getItems(cssClasses: any): Array<any> {\n var items:Array<JSX.Element> = [];\n for (var i = 0; i < this.question.visibleChoices.length; i++) {\n var item = this.question.visibleChoices[i];\n var key = \"item\" + i;\n items.push(this.renderItem(key, item as ImageItemValue, cssClasses));\n }\n return items;\n }\n protected get textStyle(): any {\n return { marginLeft: \"3px\", display: \"inline\", position: \"static\" };\n }\n protected renderItem(\n key: string,\n item: ImageItemValue,\n cssClasses: any\n ): JSX.Element {\n const renderedItem = <SurveyQuestionImagePickerItem key={key} question={this.question} item={item} cssClasses={cssClasses}></SurveyQuestionImagePickerItem>;\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if(!!survey) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n}\nexport class SurveyQuestionImagePickerItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n }\n protected getStateElement() {\n return this.item;\n }\n componentDidMount() {\n super.componentDidMount();\n this.reactOnStrChanged();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.item.locImageLink.onChanged = function () {};\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.reactOnStrChanged();\n }\n private reactOnStrChanged() {\n this.item.locImageLink.onChanged = () => {\n this.setState({ locImageLinkchanged: !!this.state && this.state.locImageLink ? this.state.locImageLink + 1 : 1 });\n };\n }\n protected get cssClasses() {\n return this.props.cssClasses;\n }\n\n protected get item() {\n return this.props.item;\n }\n\n protected get question() {\n return this.props.question;\n }\n\n handleOnChange(event: any) {\n if (this.question.multiSelect) {\n if (event.target.checked) {\n this.question.value = this.question.value.concat(event.target.value);\n } else {\n var currValue = this.question.value;\n currValue.splice(this.question.value.indexOf(event.target.value), 1);\n this.question.value = currValue;\n }\n } else {\n this.question.value = event.target.value;\n }\n this.setState({ value: this.question.value });\n }\n\n protected renderElement(): JSX.Element {\n const item = this.item;\n const question = this.question;\n const cssClasses = this.cssClasses;\n var isChecked = question.isItemSelected(item);\n var itemClass = question.getItemClass(item);\n var text: JSX.Element | null = null;\n if (question.showLabel) {\n text = (\n <span\n className={question.cssClasses.itemText}\n >\n {item.text ? SurveyElementBase.renderLocString(item.locText) : item.value}\n </span>\n );\n }\n\n var style: any = { objectFit: this.question.imageFit };\n\n var control: JSX.Element | null = null;\n if (item.locImageLink.renderedHtml && this.question.contentMode === \"image\") {\n control = (\n <img\n className={cssClasses.image}\n src={item.locImageLink.renderedHtml}\n width={ this.question.renderedImageWidth }\n height={ this.question.renderedImageHeight }\n alt={item.locText.renderedHtml}\n style={style}\n onLoad={(event: any) => { this.question[\"onContentLoaded\"](item, event.nativeEvent); }}\n onError={(event: any) => { item.onErrorHandler(item, event.nativeEvent); }}\n />\n );\n }\n if (item.locImageLink.renderedHtml && this.question.contentMode === \"video\") {\n control = (\n <video controls\n className={cssClasses.image}\n src={item.locImageLink.renderedHtml}\n width={ this.question.renderedImageWidth }\n height={ this.question.renderedImageHeight }\n style={style}\n onLoadedMetadata={(event: any) => { this.question[\"onContentLoaded\"](item, event.nativeEvent); }}\n onError={(event: any) => { item.onErrorHandler(item, event.nativeEvent); }}\n ></video>\n );\n }\n if (!item.locImageLink.renderedHtml || item.contentNotLoaded) {\n let style: any = {\n width: this.question.renderedImageWidth,\n height: this.question.renderedImageHeight,\n objectFit: this.question.imageFit\n };\n control = (\n <div\n className={cssClasses.itemNoImage}\n style={style}\n >\n {\n cssClasses.itemNoImageSvgIcon ?\n <SvgIcon\n className={cssClasses.itemNoImageSvgIcon}\n iconName={this.question.cssClasses.itemNoImageSvgIconId}\n size={48}\n ></SvgIcon>:\n null\n }\n </div>\n );\n }\n\n const renderedItem = (\n <div className={itemClass}>\n <label className={cssClasses.label}>\n <input\n className={cssClasses.itemControl}\n id={this.question.getItemId(item)}\n type={this.question.inputType}\n name={this.question.questionName}\n checked={isChecked}\n value={item.value}\n disabled={!this.question.getItemEnabled(item)}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <div className={this.question.cssClasses.itemDecorator}>\n <div className={this.question.cssClasses.imageContainer}>\n {!!this.question.cssClasses.checkedItemDecorator ?\n <span className={this.question.cssClasses.checkedItemDecorator }>\n {!!this.question.cssClasses.checkedItemSvgIconId ? <SvgIcon size={\"auto\"} className={this.question.cssClasses.checkedItemSvgIcon} iconName={this.question.cssClasses.checkedItemSvgIconId}></SvgIcon> : null}\n </span> : null}\n {control}\n </div>\n {text}\n </div>\n </label>\n </div>\n );\n return renderedItem;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"imagepicker\", (props) => {\n return React.createElement(SurveyQuestionImagePicker, props);\n});\n","import * as React from \"react\";\nimport { PageModel, PanelModelBase } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyPanelBase } from \"./panel-base\";\nimport { TitleElement } from \"./components/title/title-element\";\n\nexport class SurveyPage extends SurveyPanelBase {\n constructor(props: any) {\n super(props);\n }\n protected getPanelBase(): PanelModelBase {\n return this.props.page;\n }\n public get page(): PageModel {\n return this.panelBase as PageModel;\n }\n protected renderElement(): JSX.Element {\n var title = this.renderTitle();\n var description = this.renderDescription();\n var rows = this.renderRows(this.panelBase.cssClasses);\n return (\n <div ref={this.rootRef} className={this.page.cssRoot}>\n {title}\n {description}\n {rows}\n </div >\n );\n }\n protected renderTitle(): JSX.Element {\n return <TitleElement element={this.page}></TitleElement>;\n }\n protected renderDescription(): JSX.Element | null {\n if (!this.page._showDescription) return null;\n var text = SurveyElementBase.renderLocString(this.page.locDescription);\n return (\n <div className={this.panelBase.cssClasses.page.description}>{text}</div>\n );\n }\n}\n","import * as React from \"react\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { Base, SurveyModel, QuestionRowModel, PanelModel, PanelModelBase } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyRow } from \"./row\";\n\nexport class SurveyPanelBase extends SurveyElementBase<any, any> {\n protected rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.rootRef = React.createRef();\n }\n protected getStateElement(): Base {\n return this.panelBase;\n }\n protected canUsePropInState(key: string): boolean {\n return key !== \"elements\" && super.canUsePropInState(key);\n }\n protected get survey(): SurveyModel | null {\n return this.getSurvey();\n }\n protected get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get css(): any {\n return this.getCss();\n }\n public get panelBase(): PanelModelBase {\n return this.getPanelBase();\n }\n protected getPanelBase(): PanelModelBase {\n return this.props.element || this.props.question;\n }\n protected getSurvey(): SurveyModel | null {\n return (\n this.props.survey || (!!this.panelBase ? this.panelBase.survey : null)\n );\n }\n protected getCss(): any {\n return this.props.css;\n }\n componentDidMount() {\n super.componentDidMount();\n this.doAfterRender();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n var el = this.rootRef.current;\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n if (\n !!prevProps.page &&\n !!this.survey &&\n !!this.survey.currentPage &&\n prevProps.page.id === this.survey.currentPage.id\n )\n return;\n this.doAfterRender();\n }\n private doAfterRender() {\n var el = this.rootRef.current;\n if (el && this.survey) {\n if (this.panelBase.isPanel) {\n this.survey.afterRenderPanel(this.panelBase as PanelModel, el);\n } else {\n this.survey.afterRenderPage(el);\n }\n }\n }\n protected canRender(): boolean {\n return (\n super.canRender() && !!this.survey && !!this.panelBase\n && this.panelBase.isVisible && !!this.panelBase.survey\n );\n }\n private renderedRowsCache: any = {};\n protected renderRows(css: any): Array<JSX.Element> {\n if (this.changedStatePropName !== \"rows\") {\n this.renderedRowsCache = {};\n }\n var rows:Array<JSX.Element> = [];\n var questionRows = this.panelBase.rows;\n for (var i = 0; i < questionRows.length; i++) {\n var row = this.renderedRowsCache[questionRows[i].id];\n if (!row) {\n row = this.createRow(questionRows[i], css);\n this.renderedRowsCache[questionRows[i].id] = row;\n }\n rows.push(row);\n }\n return rows;\n }\n protected createRow(row: QuestionRowModel, css: any): JSX.Element {\n return (\n <SurveyRow\n key={row.id}\n row={row}\n survey={this.survey}\n creator={this.creator}\n css={css}\n />\n );\n }\n}\n","import * as React from \"react\";\nimport { SurveyElementErrors } from \"./reactquestion\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nimport { SurveyPanelBase } from \"./panel-base\";\nimport { PanelModel, doKey2ClickUp, SurveyModel } from \"survey-core\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { TitleElement } from \"./components/title/title-element\";\nimport { SurveyElementHeader } from \"./element-header\";\n\nexport class SurveyPanel extends SurveyPanelBase {\n private hasBeenExpanded: boolean = false;\n constructor(props: any) {\n super(props);\n }\n public get panel(): PanelModel {\n return this.panelBase as PanelModel;\n }\n protected renderElement(): JSX.Element {\n const header = this.renderHeader();\n const errors = (\n <SurveyElementErrors\n element={this.panelBase}\n cssClasses={this.panelBase.cssClasses}\n creator={this.creator}\n />\n );\n const style = {\n paddingLeft: this.panel.innerPaddingLeft,\n display: !this.panel.isCollapsed ? undefined : \"none\",\n };\n let content: JSX.Element | null = null;\n if (!this.panel.isCollapsed || this.hasBeenExpanded) {\n this.hasBeenExpanded = true;\n const rows: JSX.Element[] = this.renderRows(this.panelBase.cssClasses);\n const className: string = this.panelBase.cssClasses.panel.content;\n content = this.renderContent(style, rows, className);\n }\n const focusIn = () => {\n if(this.panelBase) (this.panelBase as PanelModel).focusIn();\n };\n return (\n <div\n ref={this.rootRef}\n className={(this.panelBase as PanelModel).getContainerCss()}\n onFocus={focusIn}\n id={this.panelBase.id}\n\n >\n {this.panel.showErrorsAbovePanel ? errors : null}\n {header}\n {this.panel.showErrorsAbovePanel ? null : errors}\n {content}\n </div>\n );\n }\n protected renderHeader() {\n if (!this.panel.hasTitle && !this.panel.hasDescription) {\n return null;\n }\n return <SurveyElementHeader element={this.panel}></SurveyElementHeader>;\n }\n protected wrapElement(element: JSX.Element): JSX.Element {\n const survey: SurveyModel = this.panel.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapElement(survey, element, this.panel);\n }\n return wrapper ?? element;\n }\n protected renderContent(style: any, rows: JSX.Element[], className: string): JSX.Element {\n const bottom: JSX.Element | null = this.renderBottom();\n return (\n <div style={style} className={className} id={this.panel.contentId}>\n {rows}\n {bottom}\n </div>\n );\n }\n protected renderTitle(): JSX.Element | null {\n if (!this.panelBase.title) return null;\n return <TitleElement element={this.panelBase}></TitleElement>;\n }\n protected renderDescription(): JSX.Element | null {\n if (!this.panelBase.description) return null;\n var text = SurveyElementBase.renderLocString(this.panelBase.locDescription);\n return (\n <div className={this.panel.cssClasses.panel.description}>{text}</div>\n );\n }\n protected renderBottom(): JSX.Element | null {\n const footerToolbar = this.panel.getFooterToolbar();\n if (!footerToolbar.hasActions) return null;\n return <SurveyActionBar model={footerToolbar}></SurveyActionBar>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"panel\", (props) => {\n return React.createElement(SurveyPanel, props);\n});\n","import * as React from \"react\";\nimport { QuestionRatingModel, RendererFactory } from \"survey-core\";\nimport { SurveyQuestionDropdownBase } from \"./dropdown-base\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionRatingDropdown extends SurveyQuestionDropdownBase<QuestionRatingModel> {\n constructor(props: any) {\n super(props);\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var select = this.renderSelect(cssClasses);\n return (\n <div className={this.question.cssClasses.rootDropdown}>\n {select}\n </div>\n );\n }\n}\nReactQuestionFactory.Instance.registerQuestion(\n \"sv-rating-dropdown\",\n (props) => {\n return React.createElement(SurveyQuestionRatingDropdown, props);\n }\n);\n\nRendererFactory.Instance.registerRenderer(\n \"rating\",\n \"dropdown\",\n \"sv-rating-dropdown\"\n);\n","import * as React from \"react\";\nimport { Survey } from \"./reactSurvey\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { Base, PopupSurveyModel } from \"survey-core\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class PopupSurvey extends Survey {\n protected popup: PopupSurveyModel;\n constructor(props: any) {\n super(props);\n this.handleOnExpanded = this.handleOnExpanded.bind(this);\n }\n protected getStateElements(): Array<Base> {\n return [this.popup, this.popup.survey];\n }\n handleOnExpanded(event: any) {\n this.popup.changeExpandCollapse();\n }\n protected canRender(): boolean {\n return super.canRender() && this.popup.isShowing;\n }\n protected renderElement(): JSX.Element {\n var header = this.renderWindowHeader();\n var body = this.popup.isExpanded ? this.renderBody() : null;\n let style: React.CSSProperties = {\n position: \"fixed\",\n bottom: 3,\n right: 10\n };\n if (!!this.popup.renderedWidth) {\n style.width = this.popup.renderedWidth;\n style.maxWidth = this.popup.renderedWidth;\n }\n return (\n <div className={this.popup.cssRoot} style={style}>\n {header}\n {body}\n </div>\n );\n }\n protected renderWindowHeader(): JSX.Element {\n var styleA = { width: \"100%\", cursor: \"pointer\" };\n var styleTitle = { paddingRight: \"10px\" };\n var glyphClassName = this.popup.cssButton;\n glyphClassName = \"glyphicon pull-right \" + glyphClassName;\n var title = SurveyElementBase.renderLocString(this.survey.locTitle);\n return (\n <div className={this.popup.cssHeaderRoot}>\n <span onClick={this.handleOnExpanded} style={styleA}>\n <span className={this.popup.cssHeaderTitle} style={styleTitle}>\n {title}\n </span>\n <span className={glyphClassName} aria-hidden=\"true\" />\n </span>\n {this.popup.allowClose ? (\n <span\n className={this.popup.cssHeaderButton}\n onClick={() => { this.popup.hide(); }}\n style={{ transform: \"rotate(45deg)\", float: \"right\", cursor: \"pointer\", width: \"24px\", height: \"24px\" }}\n >\n <SvgIcon iconName={\"icon-expanddetail\"} size={16}>\n </SvgIcon>\n </span>\n ) : null}\n {this.popup.isExpanded ? (\n <span\n className={this.popup.cssHeaderButton}\n onClick={this.handleOnExpanded}\n style={{ float: \"right\", cursor: \"pointer\", width: \"24px\", height: \"24px\" }}\n >\n <SvgIcon iconName={\"icon-collapsedetail\"} size={16}>\n </SvgIcon>\n </span>\n ) : null}\n </div>\n );\n }\n protected renderBody(): JSX.Element {\n return <div className={this.popup.cssBody} onScroll={() => this.popup.onScroll()}>{this.doRender()}</div>;\n }\n protected createSurvey(newProps: any) {\n if (!newProps) newProps = {};\n super.createSurvey(newProps);\n this.popup = new PopupSurveyModel(null, this.survey);\n if (newProps.closeOnCompleteTimeout) {\n this.popup.closeOnCompleteTimeout = newProps.closeOnCompleteTimeout;\n }\n this.popup.allowClose = newProps.allowClose;\n this.popup.isShowing = true;\n if (!this.popup.isExpanded && (newProps.expanded || newProps.isExpanded))\n this.popup.expand();\n }\n}\n/**\n * Obsolete. Please use PopupSurvey\n */\nexport class SurveyWindow extends PopupSurvey {}\n","import * as React from \"react\";\nimport { Base, Question, PageModel, SurveyError, StylesManager, surveyCss, Helpers, doKey2ClickUp, SvgRegistry, SurveyModel, doKey2ClickBlur, doKey2ClickDown, IAttachKey2clickOptions } from \"survey-core\";\nimport { SurveyPage } from \"./page\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyLocStringViewer } from \"./string-viewer\";\nimport { SurveyHeader } from \"./components/survey-header/survey-header\";\nimport { SurveyTimerPanel } from \"./reacttimerpanel\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { BrandInfo } from \"./components/brand-info\";\nimport { NotifierComponent } from \"./components/notifier\";\nimport { ComponentsContainer } from \"./components/components-container\";\n\nexport class Survey extends SurveyElementBase<any, any>\n implements ISurveyCreator {\n private previousJSON = {};\n private rootRef: React.RefObject<HTMLDivElement>;\n public static get cssType(): string {\n return surveyCss.currentType;\n }\n public static set cssType(value: string) {\n StylesManager.applyTheme(value);\n }\n protected survey: SurveyModel;\n\n private rootNodeId: string; // root dom node ID attr\n private rootNodeClassName: string; // root dom node class\n\n constructor(props: any) {\n super(props);\n this.createSurvey(props);\n this.updateSurvey(props, {});\n this.rootRef = React.createRef();\n this.rootNodeId = props.id || null;\n this.rootNodeClassName = props.className || \"\";\n }\n protected getStateElement(): Base {\n return this.survey;\n }\n private isSurveyUpdated = false;\n private onSurveyUpdated() {\n if (!!this.survey) {\n const el = this.rootRef.current;\n if (!!el) this.survey.afterRenderSurvey(el);\n this.survey.startTimerFromUI();\n }\n }\n shouldComponentUpdate(nextProps: any, nextState: any) {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if (this.isModelJSONChanged(nextProps)) {\n this.destroySurvey();\n this.createSurvey(nextProps);\n this.updateSurvey(nextProps, {});\n this.isSurveyUpdated = true;\n }\n return true;\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateSurvey(this.props, prevProps);\n if(this.isSurveyUpdated) {\n this.onSurveyUpdated();\n this.isSurveyUpdated = false;\n }\n }\n componentDidMount() {\n super.componentDidMount();\n this.onSurveyUpdated();\n }\n destroySurvey() {\n if (this.survey) {\n this.survey.renderCallback = undefined as any;\n this.survey.onPartialSend.clear();\n this.survey.stopTimer();\n this.survey.destroyResizeObserver();\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.destroySurvey();\n }\n doRender(): JSX.Element {\n if(this.survey[\"needRenderIcons\"]) {\n SvgRegistry.renderIcons();\n }\n let renderResult: JSX.Element | null;\n if (this.survey.state == \"completed\") {\n renderResult = this.renderCompleted();\n } else if (this.survey.state == \"completedbefore\") {\n renderResult = this.renderCompletedBefore();\n } else if (this.survey.state == \"loading\") {\n renderResult = this.renderLoading();\n } else if (this.survey.state == \"empty\") {\n renderResult = this.renderEmptySurvey();\n } else {\n renderResult = this.renderSurvey();\n }\n const backgroundImage = !!this.survey.renderBackgroundImage ? <div className={this.css.rootBackgroundImage} style={this.survey.backgroundImageStyle}></div> : null;\n const header: JSX.Element | null = this.survey.titleView === \"title\" ? <SurveyHeader survey={this.survey}></SurveyHeader> : null;\n const onSubmit = function (event: React.FormEvent<HTMLFormElement>) {\n event.preventDefault();\n };\n let customHeader: JSX.Element | null = <div className=\"sv_custom_header\" />;\n if (this.survey.hasLogo) {\n customHeader = null;\n }\n const rootCss = this.survey.getRootCss();\n const cssClasses = this.rootNodeClassName ? this.rootNodeClassName + \" \" + rootCss : rootCss;\n\n return (\n <div id={this.rootNodeId} ref={this.rootRef} className={cssClasses} style={this.survey.themeVariables}>\n {backgroundImage}\n <form onSubmit={onSubmit}>\n {customHeader}\n <div className={this.css.container}>\n {header}\n <ComponentsContainer survey={this.survey} container={\"header\"} needRenderWrapper={false}></ComponentsContainer>\n {renderResult}\n <ComponentsContainer survey={this.survey} container={\"footer\"} needRenderWrapper={false}></ComponentsContainer>\n </div>\n </form>\n { this.survey.showBrandInfo ? <BrandInfo/> : null }\n <NotifierComponent notifier={this.survey.notifier} ></NotifierComponent>\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n return this.doRender();\n }\n public get css(): any {\n return this.survey.css;\n }\n public set css(value: any) {\n this.survey.css = value;\n }\n protected renderCompleted(): JSX.Element | null {\n if (!this.survey.showCompletedPage) return null;\n\n var htmlValue = { __html: this.survey.processedCompletedHtml };\n return (\n <React.Fragment>\n <div\n dangerouslySetInnerHTML={htmlValue}\n className={this.survey.completedCss}\n />\n <ComponentsContainer survey={this.survey} container={\"completePage\"} needRenderWrapper={false}></ComponentsContainer>\n </React.Fragment>\n );\n }\n protected renderCompletedBefore(): JSX.Element {\n var htmlValue = { __html: this.survey.processedCompletedBeforeHtml };\n return (\n <div dangerouslySetInnerHTML={htmlValue} className={this.survey.completedBeforeCss} />\n );\n }\n protected renderLoading(): JSX.Element {\n var htmlValue = { __html: this.survey.processedLoadingHtml };\n return (\n <div dangerouslySetInnerHTML={htmlValue} className={this.survey.loadingBodyCss} />\n );\n }\n protected renderSurvey(): JSX.Element {\n var activePage = this.survey.activePage\n ? this.renderPage(this.survey.activePage)\n : null;\n const isStaring = this.survey.isShowStartingPage;\n var pageId = this.survey.activePage ? this.survey.activePage.id : \"\";\n\n let className = this.survey.bodyCss;\n const style: any = {};\n if(!!this.survey.renderedWidth) {\n style.maxWidth = this.survey.renderedWidth;\n }\n return (\n <div className={this.survey.bodyContainerCss}>\n <ComponentsContainer survey={this.survey} container={\"left\"}></ComponentsContainer>\n <div\n id={pageId}\n className={className}\n style={style}\n >\n <ComponentsContainer survey={this.survey} container={\"contentTop\"}></ComponentsContainer>\n {activePage}\n <ComponentsContainer survey={this.survey} container={\"contentBottom\"}></ComponentsContainer>\n </div>\n <ComponentsContainer survey={this.survey} container={\"right\"}></ComponentsContainer>\n </div>\n );\n }\n protected renderPage(page: PageModel): JSX.Element {\n return (\n <SurveyPage\n survey={this.survey}\n page={page}\n css={this.css}\n creator={this}\n />\n );\n }\n protected renderEmptySurvey(): JSX.Element {\n return <div className={this.css.bodyEmpty}>{this.survey.emptySurveyText}</div>;\n }\n protected createSurvey(newProps: any) {\n if (!newProps) newProps = {};\n this.previousJSON = {};\n if (newProps) {\n if (newProps.model) {\n this.survey = newProps.model;\n } else {\n if (newProps.json) {\n this.previousJSON = newProps.json;\n this.survey = new SurveyModel(newProps.json);\n }\n }\n } else {\n this.survey = new SurveyModel();\n }\n if (!!newProps.css) {\n this.survey.css = this.css;\n }\n this.setSurveyEvents();\n }\n private isModelJSONChanged(newProps: any): boolean {\n if (!!newProps[\"model\"]) {\n return this.survey !== newProps[\"model\"];\n }\n if (!!newProps[\"json\"]) {\n return !Helpers.isTwoValueEquals(newProps[\"json\"], this.previousJSON);\n }\n return false;\n }\n protected updateSurvey(newProps: any, oldProps?: any) {\n if (!newProps) return;\n oldProps = oldProps || {};\n for (var key in newProps) {\n if (key == \"model\" || key == \"children\" || key == \"json\") {\n continue;\n }\n if (key == \"css\") {\n this.survey.mergeValues(newProps.css, this.survey.getCss());\n this.survey[\"updateNavigationCss\"]();\n this.survey[\"updateElementCss\"]();\n continue;\n }\n if (newProps[key] === oldProps[key]) continue;\n if (key.indexOf(\"on\") == 0 && this.survey[key] && this.survey[key].add) {\n if (!!oldProps[key]) {\n this.survey[key].remove(oldProps[key]);\n }\n this.survey[key].add(newProps[key]);\n } else {\n this.survey[key] = newProps[key];\n }\n }\n }\n protected setSurveyEvents() {\n var self = this;\n\n this.survey.renderCallback = function () {\n var counter =\n !!self.state && !!self.state.modelChanged ? self.state.modelChanged : 0;\n self.setState({ modelChanged: counter + 1 });\n };\n this.survey.onPartialSend.add((sender) => {\n if (!!self.state) {\n self.setState(self.state);\n }\n });\n }\n\n //ISurveyCreator\n public createQuestionElement(question: Question): JSX.Element | null {\n return ReactQuestionFactory.Instance.createQuestion(question.isDefaultRendering() ? question.getTemplate() : question.getComponentName(),\n {\n question: question,\n isDisplayMode: question.isInputReadOnly,\n creator: this,\n }\n );\n }\n public renderError(\n key: string,\n error: SurveyError,\n cssClasses: any\n ): JSX.Element {\n return (\n <div key={key}>\n <span className={cssClasses.error.icon || undefined} aria-hidden=\"true\" />\n <span className={cssClasses.error.item || undefined}>\n <SurveyLocStringViewer locStr={error.locText} />\n </span>\n </div>\n );\n }\n public questionTitleLocation(): string {\n return this.survey.questionTitleLocation;\n }\n public questionErrorLocation(): string {\n return this.survey.questionErrorLocation;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey\", (props) => {\n return React.createElement(Survey, props);\n});\n\nexport function attachKey2click(element: JSX.Element, viewModel?: any, options: IAttachKey2clickOptions = { processEsc: true, disableTabStop: false }): JSX.Element {\n if ((!!viewModel && viewModel.disableTabStop) || (!!options && options.disableTabStop)) {\n return React.cloneElement(element, { tabIndex: -1 });\n }\n options = { ...options };\n return React.cloneElement(\n element,\n {\n tabIndex: 0,\n onKeyUp: (evt: KeyboardEvent) => {\n evt.preventDefault();\n evt.stopPropagation();\n doKey2ClickUp(evt, options);\n return false;\n },\n onKeyDown: (evt: any) => doKey2ClickDown(evt, options),\n onBlur: (evt: any) => doKey2ClickBlur(evt)\n }\n );\n}","import * as React from \"react\";\nimport { SurveyModel } from \"survey-core\";\n\nexport class SurveyNavigationBase extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n this.state = { update: 0 };\n }\n protected get survey(): SurveyModel {\n return this.props.survey;\n }\n protected get css(): any {\n return this.props.css || this.survey.css;\n }\n private updateStateFunction: any = null;\n componentDidMount() {\n if (this.survey) {\n var self = this;\n this.updateStateFunction = function () {\n self.setState({ update: self.state.update + 1 });\n };\n this.survey.onPageVisibleChanged.add(this.updateStateFunction);\n }\n }\n componentWillUnmount() {\n if (this.survey && this.updateStateFunction) {\n this.survey.onPageVisibleChanged.remove(this.updateStateFunction);\n this.updateStateFunction = null;\n }\n }\n}\n","import * as React from \"react\";\nimport { SurveyProgressModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyProgress extends SurveyNavigationBase {\n constructor(props: any) {\n super(props);\n }\n protected get isTop(): boolean {\n return this.props.isTop;\n }\n protected get progress(): number {\n return this.survey.progressValue;\n }\n protected get progressText(): string {\n return this.survey.progressText;\n }\n render(): JSX.Element {\n var progressStyle = {\n width: this.progress + \"%\",\n };\n return (\n <div className={this.survey.getProgressCssClasses(this.props.container)}>\n <div\n style={progressStyle}\n className={this.css.progressBar}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n >\n <span\n className={SurveyProgressModel.getProgressTextInBarCss(this.css)}\n >\n {this.progressText}\n </span>\n </div>\n <span\n className={SurveyProgressModel.getProgressTextUnderBarCss(this.css)}\n >\n {this.progressText}\n </span>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-progress-pages\", props => {\n return React.createElement(SurveyProgress, props);\n});\nReactElementFactory.Instance.registerElement(\"sv-progress-questions\", props => {\n return React.createElement(SurveyProgress, props);\n});\nReactElementFactory.Instance.registerElement(\n \"sv-progress-correctquestions\",\n props => {\n return React.createElement(SurveyProgress, props);\n }\n);\nReactElementFactory.Instance.registerElement(\n \"sv-progress-requiredquestions\",\n props => {\n return React.createElement(SurveyProgress, props);\n }\n);\n","import * as React from \"react\";\nimport { SurveyProgressButtonsModel, PageModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyProgressButtons extends SurveyNavigationBase {\n private progressButtonsModel: SurveyProgressButtonsModel;\n private updateScroller: any = undefined;\n private listContainerRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.progressButtonsModel = new SurveyProgressButtonsModel(this.survey);\n this.listContainerRef = React.createRef();\n }\n render(): JSX.Element {\n return (\n <div className={this.css.progressButtonsContainerCenter}>\n <div className={this.css.progressButtonsContainer}>\n <div\n className={this.getScrollButtonCss(true)}\n role=\"button\"\n onClick={() =>\n this.clickScrollButton(this.listContainerRef.current, true)\n }\n ></div>\n <div\n className={this.css.progressButtonsListContainer}\n ref={this.listContainerRef}\n >\n <ul className={this.css.progressButtonsList}>\n {this.getListElements()}\n </ul>\n </div>\n <div\n className={this.getScrollButtonCss(false)}\n role=\"button\"\n onClick={() =>\n this.clickScrollButton(this.listContainerRef.current, false)\n }\n ></div>\n </div>\n </div>\n );\n }\n protected getListElements(): JSX.Element[] {\n let buttons: JSX.Element[] = [];\n this.survey.visiblePages.forEach((page: PageModel, index: number) => {\n buttons.push(this.renderListElement(page, index));\n });\n return buttons;\n }\n protected renderListElement(page: PageModel, index: number): JSX.Element {\n return (\n <li\n key={\"listelement\" + index}\n className={this.getListElementCss(index)}\n onClick={\n this.isListElementClickable(index)\n ? () => this.clickListElement(index)\n : undefined\n }\n >\n <div\n className={this.css.progressButtonsPageTitle}\n title={page.renderedNavigationTitle}\n >\n {page.renderedNavigationTitle}\n </div>\n <div\n className={this.css.progressButtonsPageDescription}\n title={page.navigationDescription}\n >\n {page.navigationDescription}\n </div>\n </li>\n );\n }\n protected isListElementClickable(index: number): boolean {\n return this.progressButtonsModel.isListElementClickable(index);\n }\n protected getListElementCss(index: number): string {\n return this.progressButtonsModel.getListElementCss(index);\n }\n protected clickListElement(index: number): void {\n this.progressButtonsModel.clickListElement(index);\n }\n protected getScrollButtonCss(isLeftScroll: boolean): string {\n return this.progressButtonsModel.getScrollButtonCss(this.state.hasScroller, isLeftScroll);\n }\n protected clickScrollButton(\n listContainerElement: Element | null,\n isLeftScroll: boolean\n ): void {\n if(!!listContainerElement) {\n listContainerElement.scrollLeft += (isLeftScroll ? -1 : 1) * 70;\n }\n }\n componentDidMount() {\n this.updateScroller = setInterval(() => {\n if(!!this.listContainerRef.current) {\n this.setState({ hasScroller: this.listContainerRef.current.scrollWidth > this.listContainerRef.current.offsetWidth, });\n }\n }, 100);\n }\n componentWillUnmount() {\n if (typeof this.updateScroller !== \"undefined\") {\n clearInterval(this.updateScroller);\n this.updateScroller = undefined;\n }\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-progress-buttons\", (props) => {\n return React.createElement(SurveyProgressButtons, props);\n});\n","import * as React from \"react\";\nimport { createTOCListModel, getTocRootCss, TOCModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { List } from \"./components/list/list\";\nimport { Popup } from \"./components/popup/popup\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyProgressToc extends SurveyNavigationBase {\n render(): JSX.Element {\n const tocModel = new TOCModel(this.props.model);\n let content: JSX.Element;\n if(tocModel.isMobile) {\n content = <div onClick={tocModel.togglePopup}>\n <SvgIcon iconName={tocModel.icon} size={24}/>\n <Popup model={tocModel.popupModel}/>\n </div>;\n } else {\n content = <List model={tocModel.listModel} />;\n }\n return (\n <div className={tocModel.containerCss}>\n {content}\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-progress-toc\", (props) => {\n return React.createElement(SurveyProgressToc, props);\n});\n","import * as React from \"react\";\nimport {\n Base,\n SurveyElement,\n SurveyError,\n Question,\n QuestionMatrixDropdownRenderedCell,\n SurveyModel\n} from \"survey-core\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyElementBase, ReactSurveyElement } from \"./reactquestion_element\";\nimport { SurveyQuestionCommentItem } from \"./reactquestion_comment\";\nimport { SurveyCustomWidget } from \"./custom-widget\";\nimport { SurveyElementHeader } from \"./element-header\";\n\nexport interface ISurveyCreator {\n createQuestionElement(question: Question): JSX.Element | null;\n renderError(key: string, error: SurveyError, cssClasses: any): JSX.Element;\n questionTitleLocation(): string;\n questionErrorLocation(): string;\n}\n\nexport class SurveyQuestion extends SurveyElementBase<any, any> {\n private isNeedFocus = false;\n public static renderQuestionBody(\n creator: ISurveyCreator,\n question: Question\n ): JSX.Element | any {\n if (!question.isVisible) return null;\n var customWidget = question.customWidget;\n if (!customWidget) {\n return creator.createQuestionElement(question);\n }\n return <SurveyCustomWidget creator={creator} question={question} />;\n }\n private rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.rootRef = React.createRef();\n }\n protected getStateElement(): Base {\n return this.question;\n }\n protected get question(): Question {\n return this.props.element;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n componentDidMount() {\n super.componentDidMount();\n if (!!this.question) {\n this.question[\"react\"] = this;\n }\n this.doAfterRender();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.question) {\n this.question[\"react\"] = null;\n }\n const el = this.rootRef.current;\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.doAfterRender();\n }\n private doAfterRender() {\n if (this.isNeedFocus) {\n if (!this.question.isCollapsed) {\n this.question.clickTitleFunction();\n }\n this.isNeedFocus = false;\n }\n if (this.question) {\n var el = this.rootRef.current;\n if (el && el.getAttribute(\"data-rendered\") !== \"r\") {\n el.setAttribute(\"data-rendered\", \"r\");\n el.setAttribute(\"data-name\", this.question.name);\n if (this.question.afterRender) {\n this.question.afterRender(el);\n }\n }\n }\n }\n protected canRender(): boolean {\n return (\n super.canRender() &&\n !!this.question &&\n !!this.creator &&\n this.question.isVisible\n );\n }\n\n protected renderQuestionContent(): JSX.Element {\n let question = this.question;\n var contentStyle = {\n display: !this.question.isCollapsed ? \"\" : \"none\",\n };\n var cssClasses = question.cssClasses;\n var questionRender = this.renderQuestion();\n var errorsTop = this.question.showErrorOnTop\n ? this.renderErrors(cssClasses, \"top\")\n : null;\n var errorsBottom = this.question.showErrorOnBottom\n ? this.renderErrors(cssClasses, \"bottom\")\n : null;\n var comment =\n question && question.hasComment ? this.renderComment(cssClasses) : null;\n var descriptionUnderInput = question.hasDescriptionUnderInput\n ? this.renderDescription()\n : null;\n return (\n <div\n className={question.cssContent || undefined}\n style={contentStyle}\n role=\"presentation\"\n >\n {errorsTop}\n {questionRender}\n {comment}\n {errorsBottom}\n {descriptionUnderInput}\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n var question = this.question;\n var cssClasses = question.cssClasses;\n var header = this.renderHeader(question);\n var headerTop = question.hasTitleOnLeftTop ? header : null;\n var headerBottom = question.hasTitleOnBottom ? header : null;\n\n const errorsAboveQuestion = this.question.showErrorsAboveQuestion\n ? this.renderErrors(cssClasses, \"\")\n : null;\n\n const errorsBelowQuestion = this.question.showErrorsBelowQuestion\n ? this.renderErrors(cssClasses, \"\")\n : null;\n\n let rootStyle = question.getRootStyle();\n let questionContent = this.wrapQuestionContent(this.renderQuestionContent());\n\n return (\n <>\n <div\n ref={this.rootRef}\n id={question.id}\n className={question.getRootCss()}\n style={rootStyle}\n role={question.ariaRole}\n aria-required={this.question.ariaRequired}\n aria-invalid={this.question.ariaInvalid}\n aria-labelledby={question.ariaLabelledBy}\n aria-expanded={question.ariaExpanded === null ? undefined : question.ariaExpanded === \"true\"}\n >\n {errorsAboveQuestion}\n {headerTop}\n {questionContent}\n {headerBottom}\n {errorsBelowQuestion}\n </div>\n </>\n );\n }\n protected wrapElement(element: JSX.Element): JSX.Element {\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapElement(survey, element, this.question);\n }\n return wrapper ?? element;\n }\n protected wrapQuestionContent(element: JSX.Element): JSX.Element {\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapQuestionContent(survey, element, this.question);\n }\n return wrapper ?? element;\n }\n protected renderQuestion(): JSX.Element {\n return SurveyQuestion.renderQuestionBody(this.creator, this.question);\n }\n protected renderDescription(): JSX.Element {\n return SurveyElementBase.renderQuestionDescription(this.question);\n }\n protected renderComment(cssClasses: any): JSX.Element {\n const commentText = SurveyElementBase.renderLocString(\n this.question.locCommentText\n );\n return (\n <div className={this.question.getCommentAreaCss()}>\n <div>{commentText}</div>\n <SurveyQuestionCommentItem\n question={this.question}\n cssClasses={cssClasses}\n otherCss={cssClasses.other}\n isDisplayMode={this.question.isInputReadOnly}\n />\n </div>\n );\n }\n protected renderHeader(question: Question): JSX.Element {\n return <SurveyElementHeader element={question}></SurveyElementHeader>;\n }\n protected renderErrors(cssClasses: any, location: string): JSX.Element {\n return (\n <SurveyElementErrors\n element={this.question}\n cssClasses={cssClasses}\n creator={this.creator}\n location={location}\n id={this.question.id + \"_errors\"}\n />\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"question\", (props) => {\n return React.createElement(SurveyQuestion, props);\n});\n\nexport class SurveyElementErrors extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.state = this.getState();\n }\n protected get id(): string {\n return this.props.element.id + \"_errors\";\n }\n protected get element(): SurveyElement {\n return this.props.element;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get location(): string {\n return this.props.location;\n }\n private getState(prevState: any = null) {\n return !prevState ? { error: 0 } : { error: prevState.error + 1 };\n }\n protected canRender(): boolean {\n return !!this.element && this.element.hasVisibleErrors;\n }\n componentWillUnmount() {\n }\n protected renderElement(): JSX.Element {\n const errors: Array<JSX.Element> = [];\n for (let i = 0; i < this.element.errors.length; i++) {\n const key: string = \"error\" + i;\n errors.push(\n this.creator.renderError(key, this.element.errors[i], this.cssClasses)\n );\n }\n\n return (\n <div\n role=\"alert\"\n aria-live=\"polite\"\n className={this.element.cssError}\n id={this.id}\n >\n {errors}\n </div>\n );\n }\n}\n\nexport abstract class SurveyQuestionAndErrorsWrapped extends ReactSurveyElement {\n [index: string]: any;\n constructor(props: any) {\n super(props);\n }\n protected getStateElement(): Base {\n return this.question;\n }\n protected get question(): Question {\n return this.getQuestion();\n }\n protected get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected getQuestion(): Question {\n return this.props.question;\n }\n protected get itemCss(): string {\n return this.props.itemCss;\n }\n componentDidMount() {\n super.componentDidMount();\n this.doAfterRender();\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.doAfterRender();\n }\n protected doAfterRender() { }\n protected canRender(): boolean {\n return !!this.question;\n }\n protected renderContent(): JSX.Element {\n var renderedQuestion = this.renderQuestion();\n return (\n <>\n {renderedQuestion}\n </>\n );\n }\n protected abstract renderElement(): JSX.Element;\n protected getShowErrors(): boolean {\n return this.question.isVisible;\n }\n protected renderQuestion(): JSX.Element {\n return SurveyQuestion.renderQuestionBody(this.creator, this.question);\n }\n}\n\nexport class SurveyQuestionAndErrorsCell extends SurveyQuestionAndErrorsWrapped {\n [index: string]: any;\n protected cellRef: React.RefObject<HTMLTableCellElement>;\n constructor(props: any) {\n super(props);\n this.cellRef = React.createRef();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.question) {\n var el = this.cellRef.current;\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n }\n protected renderElement(): JSX.Element {\n var style = this.getCellStyle();\n const cell = this.props.cell;\n const focusIn = () => { cell.focusIn(); };\n return (\n <td\n ref={this.cellRef}\n className={this.itemCss}\n colSpan={cell.colSpans}\n data-responsive-title={this.getHeaderText()}\n title={cell.getTitle()}\n style={style}\n onFocus={focusIn}\n >\n {this.wrapCell(this.props.cell,\n (\n <div className={this.cssClasses.cellQuestionWrapper}>\n {this.renderQuestion()}\n </div>)\n )}\n </td>\n );\n }\n protected getCellStyle(): any {\n return null;\n }\n protected getHeaderText(): string {\n return \"\";\n }\n protected wrapCell(\n cell: QuestionMatrixDropdownRenderedCell,\n element: JSX.Element\n ): JSX.Element {\n if (!cell) {\n return element;\n }\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapMatrixCell(survey, element, cell, this.props.reason);\n }\n return wrapper ?? element;\n }\n}\n\nexport class SurveyQuestionErrorCell extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n this.state = {\n changed: 0\n };\n if(this.question) {\n this.registerCallback(this.question);\n }\n }\n private get question(): Question {\n return this.props.question;\n }\n private update() {\n this.setState({ changed: this.state.changed + 1 });\n }\n private registerCallback(question: Question) {\n question.registerFunctionOnPropertyValueChanged(\"errors\", () => {\n this.update();\n }, \"__reactSubscription\");\n }\n private unRegisterCallback(question: Question) {\n question.unRegisterFunctionOnPropertyValueChanged(\"errors\", \"__reactSubscription\");\n }\n componentDidUpdate(prevProps: Readonly<any>): void {\n if(prevProps.question && prevProps.question !== this.question) {\n this.unRegisterCallback(prevProps.cell);\n }\n if(this.question) {\n this.registerCallback(this.question);\n }\n }\n componentWillUnmount(): void {\n if(this.question) {\n this.unRegisterCallback(this.question);\n }\n }\n render(): JSX.Element {\n return <SurveyElementErrors element={this.question} creator={this.props.creator} cssClasses={this.question.cssClasses}></SurveyElementErrors>;\n }\n}\n","import { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport React from \"react\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport {\n QuestionButtonGroupModel,\n ButtonGroupItemValue,\n ButtonGroupItemModel,\n} from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionButtonGroup extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionButtonGroupModel {\n return this.questionBase as QuestionButtonGroupModel;\n }\n getStateElement() {\n return this.question;\n }\n renderElement() {\n const items = this.renderItems();\n return <div className={this.question.cssClasses.root}>{items}</div>;\n }\n renderItems() {\n return this.question.visibleChoices.map(\n (item: ButtonGroupItemValue, index: number) => {\n return (\n <SurveyButtonGroupItem\n key={this.question.inputId + \"_\" + index}\n item={item}\n question={this.question}\n index={index}\n ></SurveyButtonGroupItem>\n );\n }\n );\n }\n}\n\nexport class SurveyButtonGroupItem extends SurveyElementBase<any, any> {\n public model: ButtonGroupItemModel;\n constructor(props: any) {\n super(props);\n }\n get index(): number {\n return this.props.index;\n }\n get question(): QuestionButtonGroupModel {\n return this.props.question;\n }\n get item(): ButtonGroupItemValue {\n return this.props.item;\n }\n getStateElement() {\n return this.item;\n }\n public renderElement() {\n this.model = new ButtonGroupItemModel(this.question, this.item, this.index);\n const icon = this.renderIcon();\n const input = this.renderInput();\n const caption = this.renderCaption();\n return (\n <label\n role=\"radio\"\n className={this.model.css.label}\n title={this.model.caption.renderedHtml}\n >\n {input}\n <div className={this.model.css.decorator}>\n {icon}\n {caption}\n </div>\n </label>\n );\n }\n protected renderIcon() {\n if (!!this.model.iconName) {\n return (\n <SvgIcon\n className={this.model.css.icon}\n iconName={this.model.iconName}\n size={this.model.iconSize || 24}\n ></SvgIcon>\n );\n }\n return null;\n }\n protected renderInput() {\n return (\n <input\n className={this.model.css.control}\n id={this.model.id}\n type=\"radio\"\n name={this.model.name}\n checked={this.model.selected}\n value={this.model.value}\n disabled={this.model.readOnly}\n onChange={() => {\n this.model.onChange();\n }}\n aria-required={this.model.isRequired}\n aria-label={this.model.caption.renderedHtml}\n aria-invalid={this.model.hasErrors}\n aria-describedby={this.model.describedBy}\n role=\"radio\"\n />\n );\n }\n protected renderCaption() {\n if (!this.model.showCaption) return null;\n let caption = this.renderLocString(this.model.caption);\n return (\n <span\n className={this.model.css.caption}\n title={this.model.caption.renderedHtml}\n >\n {caption}\n </span>\n );\n }\n}\n\n// ReactQuestionFactory.Instance.registerQuestion(\"buttongroup\", props => {\n// return React.createElement(SurveyQuestionButtonGroup, props);\n// });\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { Base, ItemValue, SurveyModel, QuestionCheckboxModel } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionCheckbox extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionCheckboxModel {\n return this.questionBase as QuestionCheckboxModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n return (\n <fieldset\n className={this.question.getSelectBaseRootCss()}\n ref={(fieldset) => (this.setControl(fieldset))}\n role={this.question.a11y_input_ariaRole}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n >\n <legend role=\"presentation\" className={\"sv-hidden\"}></legend>\n {this.getHeader()}\n {this.question.hasColumns\n ? this.getColumnedBody(cssClasses)\n : this.getBody(cssClasses)}\n {this.getFooter()}\n {this.question.isOtherSelected ? this.renderOther() : null}\n </fieldset>\n );\n }\n\n protected getHeader() {\n if (this.question.hasHeadItems) {\n return this.question.headItems.map((item: any, ii: number) =>\n this.renderItem(\n \"item_h\" + ii,\n item,\n false,\n this.question.cssClasses\n )\n );\n }\n }\n protected getFooter() {\n if (this.question.hasFootItems) {\n return this.question.footItems.map((item: any, ii: number) =>\n this.renderItem(\n \"item_f\" + ii,\n item,\n false,\n this.question.cssClasses\n )\n );\n }\n }\n protected getColumnedBody(cssClasses: any) {\n return (\n <div className={cssClasses.rootMultiColumn}>\n {this.getColumns(cssClasses)}\n </div>\n );\n }\n protected getColumns(cssClasses: any) {\n return this.question.columns.map((column: any, ci: number) => {\n var items = column.map((item: any, ii: number) =>\n this.renderItem(\n \"item\" + ii,\n item,\n ci === 0 && ii === 0,\n cssClasses,\n \"\" + ci + ii\n )\n );\n return (\n <div key={\"column\" + ci} className={this.question.getColumnClass()} role=\"presentation\">\n {items}\n </div>\n );\n });\n }\n\n protected getBody(cssClasses: any): JSX.Element {\n if (this.question.blockedRow) {\n return <div className={cssClasses.rootRow}>{this.getItems(cssClasses, this.question.dataChoices)}</div>;\n }\n else return <>{this.getItems(cssClasses, this.question.bodyItems)}</>;\n }\n protected getItems(cssClasses: any, choices: Array<ItemValue>): Array<any> {\n var renderedItems:Array<JSX.Element> = [];\n for (var i = 0; i < choices.length; i++) {\n var item = choices[i];\n var key = \"item\" + i;\n var renderedItem = this.renderItem(key, item, i == 0, cssClasses, \"\" + i);\n if(!!renderedItem) {\n renderedItems.push(renderedItem);\n }\n }\n return renderedItems;\n }\n protected get textStyle(): any {\n return null;\n }\n protected renderOther(): JSX.Element {\n let cssClasses = this.question.cssClasses;\n return (\n <div className={this.question.getCommentAreaCss(true)}>\n <SurveyQuestionOtherValueItem\n question={this.question}\n otherCss={cssClasses.other}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n />\n </div>\n );\n }\n protected renderItem(\n key: string,\n item: any,\n isFirst: boolean,\n cssClasses: any,\n index?: string\n ): JSX.Element {\n const renderedItem = ReactElementFactory.Instance.createElement(this.question.itemComponent, {\n key: key,\n question: this.question,\n cssClasses: cssClasses,\n isDisplayMode: this.isDisplayMode,\n item: item,\n textStyle: this.textStyle,\n index: index,\n isFirst: isFirst,\n });\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if (!!survey && !!renderedItem) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n}\nexport class SurveyQuestionCheckboxItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected getStateElement(): Base {\n return this.item;\n }\n protected get question(): QuestionCheckboxModel {\n return this.props.question;\n }\n protected get item(): ItemValue {\n return this.props.item;\n }\n protected get textStyle(): any {\n return this.props.textStyle;\n }\n protected get isFirst(): any {\n return this.props.isFirst;\n }\n protected get index(): number {\n return this.props.index;\n }\n private get hideCaption(): boolean {\n return this.props.hideCaption === true;\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if(!this.question) return false;\n return (\n !this.question.customWidget ||\n !!this.question.customWidgetData.isNeedRender ||\n !!this.question.customWidget.widgetJson.isDefaultRender ||\n !!this.question.customWidget.widgetJson.render\n );\n }\n handleOnChange = (event: any) => {\n this.question.clickItemHandler(this.item, event.target.checked);\n }\n selectAllChanged = (event: any) => {\n this.question.toggleSelectAll();\n }\n protected canRender(): boolean {\n return !!this.item && !!this.question;\n }\n protected renderElement(): JSX.Element {\n var isChecked = this.question.isItemSelected(this.item);\n return this.renderCheckbox(isChecked, null);\n }\n protected get inputStyle(): any {\n return null;//{ marginRight: \"3px\" };\n }\n protected renderCheckbox(\n isChecked: boolean,\n otherItem: JSX.Element | null\n ): JSX.Element {\n var id = this.question.getItemId(this.item);\n var text = !this.hideCaption ? this.renderLocString(this.item.locText) : \"\";\n let itemClass = this.question.getItemClass(this.item);\n let labelClass = this.question.getLabelClass(this.item);\n var onItemChanged =\n this.item == this.question.selectAllItem\n ? this.selectAllChanged\n : this.handleOnChange;\n const itemLabel = !this.hideCaption ? <span className={this.cssClasses.controlLabel}>{this.renderLocString(this.item.locText, this.textStyle)}</span> : null;\n\n return (\n <div className={itemClass} role=\"presentation\">\n <label className={labelClass}>\n <input\n className={this.cssClasses.itemControl}\n type=\"checkbox\"\n name={this.question.name}\n value={this.item.value != \"selectall\" ? this.item.value : undefined}\n id={id}\n style={this.inputStyle}\n disabled={!this.question.getItemEnabled(this.item)}\n checked={isChecked}\n onChange={onItemChanged}\n />\n {\n this.cssClasses.materialDecorator ?\n <span className={this.cssClasses.materialDecorator}>\n {this.question.itemSvgIcon ?\n <svg\n className={this.cssClasses.itemDecorator}\n >\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg> :\n null\n }\n </span> :\n null\n }\n {itemLabel}\n </label>\n {otherItem}\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey-checkbox-item\", (props: any) => {\n return React.createElement(SurveyQuestionCheckboxItem, props);\n});\n\nReactQuestionFactory.Instance.registerQuestion(\"checkbox\", (props) => {\n return React.createElement(SurveyQuestionCheckbox, props);\n});\n","import * as React from \"react\";\nimport { ReactSurveyElement, SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\nimport { QuestionCommentModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { CharacterCounterComponent } from \"./components/character-counter\";\n\nexport class SurveyQuestionComment extends SurveyQuestionUncontrolledElement<QuestionCommentModel> {\n constructor(props: any) {\n super(props);\n }\n protected renderElement(): JSX.Element {\n var onBlur: ((e: any) => void) | undefined = !this.question.isInputTextUpdate ? this.updateValueOnEvent : undefined;\n var onInput = (event: any) => {\n if (this.question.isInputTextUpdate) {\n this.updateValueOnEvent(event);\n } else {\n this.question.updateElement();\n }\n\n const newValue = event.target.value;\n this.question.updateRemainingCharacterCounter(newValue);\n };\n const placeholder = this.question.renderedPlaceholder;\n if (this.question.isReadOnlyRenderDiv()) {\n return <div>{this.question.value}</div>;\n }\n const counter = !!this.question.getMaxLength() ? (<CharacterCounterComponent counter={this.question.characterCounter} remainingCharacterCounter={this.question.cssClasses.remainingCharacterCounter}></CharacterCounterComponent>) : null;\n return (\n <>\n <textarea\n id={this.question.inputId}\n className={this.question.className}\n disabled={this.question.isInputReadOnly}\n readOnly={this.question.isInputReadOnly}\n ref={(textarea) => (this.setControl(textarea))}\n maxLength={this.question.getMaxLength()}\n placeholder={placeholder}\n onBlur={onBlur}\n onInput={onInput}\n onKeyDown={(event) => { this.question.onKeyDown(event); }}\n cols={this.question.cols}\n rows={this.question.rows}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n style={{ resize: this.question.resizeStyle }}\n />\n {counter}\n </>\n );\n }\n}\n\nexport class SurveyQuestionCommentItem extends ReactSurveyElement {\n protected canRender(): boolean {\n return !!this.props.question;\n }\n protected onCommentChange(event: any): void {\n this.props.question.onCommentChange(event);\n }\n protected onCommentInput(event: any): void {\n this.props.question.onCommentInput(event);\n }\n protected getComment(): string {\n return this.props.question.comment;\n }\n protected getId(): string {\n return this.props.question.commentId;\n }\n protected getPlaceholder(): string {\n return this.props.question.renderedCommentPlaceholder;\n }\n protected renderElement(): JSX.Element {\n let question = this.props.question;\n let className = this.props.otherCss || this.cssClasses.comment;\n let handleOnChange = (event: any) => {\n this.setState({ comment: event.target.value });\n this.onCommentChange(event);\n };\n const questionComment = this.getComment();\n let stateComment: string = !!this.state ? this.state.comment : undefined;\n if (stateComment !== undefined && stateComment.trim() !== questionComment) {\n stateComment = questionComment;\n }\n let comment = stateComment !== undefined ? stateComment : questionComment || \"\";\n\n if (question.isReadOnlyRenderDiv()) {\n return <div>{comment}</div>;\n }\n return (\n <textarea\n id={this.getId()}\n className={className}\n value={comment}\n disabled={this.isDisplayMode}\n maxLength={question.getOthersMaxLength()}\n placeholder={this.getPlaceholder()}\n onChange={handleOnChange}\n onBlur={(e) => { this.onCommentChange(e); handleOnChange(e); }}\n onInput={(e) => this.onCommentInput(e)}\n aria-required={question.isRequired || question.a11y_input_ariaRequired}\n aria-label={question.ariaLabel || question.a11y_input_ariaLabel}\n style={{ resize: question.resizeStyle }}\n />\n );\n }\n}\nexport class SurveyQuestionOtherValueItem extends SurveyQuestionCommentItem {\n protected onCommentChange(event: any): void {\n this.props.question.onOtherValueChange(event);\n }\n protected onCommentInput(event: any): void {\n this.props.question.onOtherValueInput(event);\n }\n protected getComment(): string {\n return this.props.question.otherValue;\n }\n protected getId(): string {\n return this.props.question.otherId;\n }\n protected getPlaceholder(): string {\n return this.props.question.otherPlaceholder;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"comment\", (props) => {\n return React.createElement(SurveyQuestionComment, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\nimport { SurveyQuestion } from \"./reactquestion\";\nimport { Base, QuestionCustomModel, QuestionCompositeModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyPanel } from \"./panel\";\n\nexport class SurveyQuestionCustom extends SurveyQuestionUncontrolledElement<QuestionCustomModel> {\n constructor(props: any) {\n super(props);\n }\n protected getStateElements(): Array<Base> {\n const res = super.getStateElements();\n if(!!this.question.contentQuestion) {\n res.push(this.question.contentQuestion);\n }\n return res;\n }\n protected renderElement(): JSX.Element {\n return SurveyQuestion.renderQuestionBody(\n this.creator,\n this.question.contentQuestion\n );\n }\n}\n\nexport class SurveyQuestionComposite extends SurveyQuestionUncontrolledElement<QuestionCompositeModel> {\n constructor(props: any) {\n super(props);\n }\n protected canRender(): boolean {\n return !!this.question.contentPanel;\n }\n protected renderElement(): JSX.Element {\n return (\n <SurveyPanel\n element={this.question.contentPanel}\n creator={this.creator}\n survey={this.question.survey}\n ></SurveyPanel>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"custom\", (props) => {\n return React.createElement(SurveyQuestionCustom, props);\n});\nReactQuestionFactory.Instance.registerQuestion(\"composite\", (props) => {\n return React.createElement(SurveyQuestionComposite, props);\n});\n","import * as React from \"react\";\nimport { Question } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionDropdownBase } from \"./dropdown-base\";\n\nexport class SurveyQuestionDropdown extends SurveyQuestionDropdownBase<Question> {\n constructor(props: any) {\n super(props);\n }\n\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const comment = this.question.isOtherSelected ? this.renderOther(cssClasses) : null;\n const select = this.renderSelect(cssClasses);\n return (\n <div className={this.question.renderCssRoot}>\n {select}\n {comment}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"dropdown\", (props) => {\n return React.createElement(SurveyQuestionDropdown, props);\n});","import * as React from \"react\";\nimport { Base, ArrayChanges, SurveyModel, Helpers, PanelModel, LocalizableString, Question } from \"survey-core\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyElementBase<P, S> extends React.Component<P, S> {\n public static renderLocString(\n locStr: LocalizableString,\n style: any = null,\n key?: string\n ): JSX.Element {\n return ReactElementFactory.Instance.createElement(locStr.renderAs, {\n locStr: locStr.renderAsData,\n style: style,\n key: key,\n });\n }\n public static renderQuestionDescription(question: Question | PanelModel): JSX.Element {\n var descriptionText = SurveyElementBase.renderLocString(question.locDescription);\n return <div style={question.hasDescription ? undefined : { display: \"none\" } } className={question.cssDescription}>{descriptionText}</div>;\n }\n private changedStatePropNameValue: string | undefined;\n constructor(props: any) {\n super(props);\n }\n componentDidMount() {\n this.makeBaseElementsReact();\n }\n componentWillUnmount() {\n this.unMakeBaseElementsReact();\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n this.makeBaseElementsReact();\n }\n private _allowComponentUpdate = true;\n protected allowComponentUpdate() {\n this._allowComponentUpdate = true;\n this.forceUpdate();\n }\n protected denyComponentUpdate() {\n this._allowComponentUpdate = false;\n }\n shouldComponentUpdate(nextProps:any, nextState:any):boolean {\n if(this._allowComponentUpdate) {\n this.unMakeBaseElementsReact();\n }\n return this._allowComponentUpdate;\n }\n render(): JSX.Element | null {\n if (!this.canRender()) {\n return null;\n }\n\n this.startEndRendering(1);\n var res = this.renderElement();\n this.startEndRendering(-1);\n\n if(!!res) {\n res = this.wrapElement(res);\n }\n\n this.changedStatePropNameValue = undefined;\n return res;\n }\n protected wrapElement(element: JSX.Element): JSX.Element {\n return element;\n }\n protected get isRendering(): boolean {\n var stateEls: Array<any> = this.getRenderedElements();\n for(let stateEl of stateEls) {\n if(stateEl.reactRendering > 0) return true;\n }\n return false;\n }\n protected getRenderedElements(): Base[] {\n return this.getStateElements();\n }\n private startEndRendering(val: number) {\n var stateEls: Array<any> = this.getRenderedElements();\n for(let stateEl of stateEls) {\n if (!stateEl.reactRendering) stateEl.reactRendering = 0;\n stateEl.reactRendering += val;\n }\n }\n protected canRender(): boolean {\n return true;\n }\n protected renderElement(): JSX.Element | null {\n return null;\n }\n protected get changedStatePropName(): string | undefined {\n return this.changedStatePropNameValue;\n }\n private makeBaseElementsReact() {\n var els = this.getStateElements();\n for (var i = 0; i < els.length; i++) {\n this.makeBaseElementReact(els[i]);\n }\n }\n private unMakeBaseElementsReact() {\n var els = this.getStateElements();\n for (var i = 0; i < els.length; i++) {\n this.unMakeBaseElementReact(els[i]);\n }\n }\n protected getStateElements(): Array<Base> {\n var el = this.getStateElement();\n return !!el ? [el] : [];\n }\n protected getStateElement(): Base | null {\n return null;\n }\n protected get isDisplayMode(): boolean {\n const props: any = this.props;\n return props.isDisplayMode || false;\n }\n protected renderLocString(\n locStr: LocalizableString,\n style: any = null,\n key?: string\n ): JSX.Element {\n return SurveyElementBase.renderLocString(locStr, style, key);\n }\n private canMakeReact(stateElement: Base): boolean {\n return !!stateElement && !!stateElement.iteratePropertiesHash;\n }\n private makeBaseElementReact(stateElement: Base) {\n if (!this.canMakeReact(stateElement)) return;\n stateElement.iteratePropertiesHash((hash, key) => {\n if (!this.canUsePropInState(key)) return;\n var val: any = hash[key];\n if (Array.isArray(val)) {\n var val: any = val;\n val[\"onArrayChanged\"] = (arrayChanges: ArrayChanges) => {\n if (this.isRendering) return;\n this.changedStatePropNameValue = key;\n this.setState((state: any) => {\n var newState: { [index: string]: any } = {};\n newState[key] = val;\n return newState as S;\n });\n };\n }\n });\n stateElement.setPropertyValueCoreHandler = (\n hash: any,\n key: string,\n val: any\n ) => {\n if (hash[key] !== val) {\n hash[key] = val;\n if (!this.canUsePropInState(key)) return;\n if (this.isRendering) return;\n this.changedStatePropNameValue = key;\n this.setState((state: any) => {\n var newState: { [index: string]: any } = {};\n newState[key] = val;\n return newState as S;\n });\n }\n };\n }\n protected canUsePropInState(key: string): boolean {\n return true;\n }\n private unMakeBaseElementReact(stateElement: Base) {\n if (!this.canMakeReact(stateElement)) return;\n stateElement.setPropertyValueCoreHandler = undefined as any;\n stateElement.iteratePropertiesHash((hash, key) => {\n var val: any = hash[key];\n if (Array.isArray(val)) {\n var val: any = val;\n val[\"onArrayChanged\"] = () => {};\n }\n });\n }\n}\n\nexport class ReactSurveyElement extends SurveyElementBase<any, any> {\n constructor(props: any) {\n super(props);\n }\n protected get cssClasses(): any {\n return this.props.cssClasses;\n }\n}\n\nexport class SurveyQuestionElementBase extends SurveyElementBase<any, any> {\n control: HTMLElement;\n constructor(props: any) {\n super(props);\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateDomElement();\n }\n componentDidMount() {\n super.componentDidMount();\n this.updateDomElement();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.questionBase) {\n const el: HTMLElement = this.control;\n this.questionBase.beforeDestroyQuestionElement(el);\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n }\n protected updateDomElement() {\n const el: HTMLElement = this.control;\n if (!!el) {\n if (el.getAttribute(\"data-rendered\") !== \"r\") {\n el.setAttribute(\"data-rendered\", \"r\");\n this.questionBase.afterRenderQuestionElement(el);\n }\n }\n }\n protected get questionBase(): Question {\n return this.props.question;\n }\n protected getRenderedElements(): Base[] {\n return [this.questionBase];\n }\n protected get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected canRender(): boolean {\n return !!this.questionBase && !!this.creator;\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n\n return (\n !this.questionBase.customWidget ||\n !!this.questionBase.customWidgetData.isNeedRender ||\n !!this.questionBase.customWidget.widgetJson.isDefaultRender ||\n !!this.questionBase.customWidget.widgetJson.render\n );\n }\n protected get isDisplayMode(): boolean {\n const props: any = this.props;\n return (\n props.isDisplayMode ||\n (!!this.questionBase && this.questionBase.isInputReadOnly) || false\n );\n }\n protected wrapCell(\n cell: any,\n element: JSX.Element,\n reason: string\n ): JSX.Element {\n if (!reason) {\n return element;\n }\n const survey: SurveyModel = this.questionBase\n .survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapMatrixCell(survey, element, cell, reason);\n }\n return wrapper ?? element;\n }\n public setControl(element: HTMLElement | null): void {\n if(!!element) {\n this.control = element;\n }\n }\n}\n\nexport class SurveyQuestionUncontrolledElement<\n T extends Question\n> extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.updateValueOnEvent = this.updateValueOnEvent.bind(this);\n }\n protected get question(): T {\n return this.questionBase as T;\n }\n updateValueOnEvent = (event: any) => {\n if (\n !Helpers.isTwoValueEquals(this.questionBase.value, event.target.value, false, true, false)\n ) {\n this.setValueCore(event.target.value);\n }\n };\n protected setValueCore(newValue: any) {\n this.questionBase.value = newValue;\n }\n protected getValueCore(): any {\n return this.questionBase.value;\n }\n protected updateDomElement() {\n if (!!this.control) {\n const control: any = this.control;\n const newValue = this.getValueCore();\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true, false)) {\n control.value = this.getValue(newValue);\n }\n }\n super.updateDomElement();\n }\n private getValue(val: any): any {\n if (Helpers.isValueEmpty(val)) return \"\";\n return val;\n }\n}\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionEmptyModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionEmpty extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.state = { value: this.question.value };\n }\n protected get question(): QuestionEmptyModel {\n return this.questionBase as QuestionEmptyModel;\n }\n protected renderElement(): JSX.Element {\n return <div />;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"empty\", (props) => {\n return React.createElement(SurveyQuestionEmpty, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionExpressionModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionExpression extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionExpressionModel {\n return this.questionBase as QuestionExpressionModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n return (\n <div\n id={this.question.inputId}\n className={cssClasses.root}\n ref={(div) => (this.setControl(div))}\n >\n {this.question.formatedValue}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"expression\", (props) => {\n return React.createElement(SurveyQuestionExpression, props);\n});\n","import { HashTable } from \"survey-core\";\n\nexport class ReactQuestionFactory {\n public static Instance: ReactQuestionFactory = new ReactQuestionFactory();\n private creatorHash: HashTable<(name: string) => JSX.Element> = {};\n\n public registerQuestion(\n questionType: string,\n questionCreator: (name: string) => JSX.Element\n ) {\n this.creatorHash[questionType] = questionCreator;\n }\n public getAllTypes(): Array<string> {\n var result = new Array<string>();\n for (var key in this.creatorHash) {\n result.push(key);\n }\n return result.sort();\n }\n public createQuestion(questionType: string, params: any): JSX.Element | null {\n var creator = this.creatorHash[questionType];\n if (creator == null) return null;\n return creator(params);\n }\n}\n","import * as React from \"react\";\nimport { QuestionFileModel } from \"survey-core\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { attachKey2click } from \"./reactSurvey\";\nimport { LoadingIndicatorComponent } from \"./components/loading-indicator\";\nimport { SurveyAction } from \"./components/action-bar/action-bar-item\";\nimport { SurveyFileChooseButton } from \"../entries/react-ui-model\";\n\nexport class SurveyQuestionFile extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionFileModel {\n return this.questionBase as QuestionFileModel;\n }\n protected renderElement(): JSX.Element {\n const preview = this.question.allowShowPreview ? this.renderPreview() : null;\n const loadingIndicator = this.question.showLoadingIndicator ? this.renderLoadingIndicator() : null;\n const video = this.question.isPlayingVideo ? this.renderVideo() : null;\n const fileDecorator = this.question.showFileDecorator ? this.renderFileDecorator() : null;\n const clearButton = this.question.showRemoveButton ? this.renderClearButton(\n this.question.cssClasses.removeButton\n ) : null;\n const clearButtonBottom = this.question.showRemoveButtonBottom ? this.renderClearButton(\n this.question.cssClasses.removeButtonBottom\n ): null;\n const fileNavigator = this.question.fileNavigatorVisible?(<SurveyActionBar model = {this.question.fileNavigator}></SurveyActionBar>) : null;\n const fileInput = (\n this.isDisplayMode ?\n <input\n type=\"file\"\n disabled={this.isDisplayMode}\n className={!this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss()}\n id={this.question.inputId}\n ref={input => (this.setControl(input))}\n style={!this.isDisplayMode ? {} : { color: \"transparent\" }}\n onChange={!this.isDisplayMode ? this.question.doChange : (() => {})}\n multiple={this.question.allowMultiple}\n placeholder={this.question.title}\n accept={this.question.acceptedTypes}\n /> : this.question.hasFileUI ?\n <input\n type=\"file\"\n disabled={this.isDisplayMode}\n tabIndex={-1}\n className={!this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss()}\n id={this.question.inputId}\n ref={input => (this.setControl(input))}\n style={!this.isDisplayMode ? {} : { color: \"transparent\" }}\n onChange={!this.isDisplayMode ? this.question.doChange : (() => {})}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n multiple={this.question.allowMultiple}\n title={this.question.inputTitle}\n accept={this.question.acceptedTypes}\n capture={this.question.renderCapture}\n /> : null);\n return (\n <div className={this.question.fileRootCss}>\n {fileInput}\n <div\n className={this.question.cssClasses.dragArea}\n onDrop={this.question.onDrop}\n onDragOver={this.question.onDragOver}\n onDragLeave={this.question.onDragLeave}\n onDragEnter={this.question.onDragEnter}\n >\n {fileDecorator}\n {loadingIndicator}\n {video}\n {clearButton}\n {preview}\n {clearButtonBottom}\n {fileNavigator}\n </div>\n </div>\n );\n }\n protected renderFileDecorator(): JSX.Element {\n const chooseButton = this.question.showChooseButton ? this.renderChooseButton() : null;\n const actionsContainer = this.question.actionsContainerVisible ? <SurveyActionBar model={this.question.actionsContainer}></SurveyActionBar> : null;\n const noFileChosen = this.question.isEmpty() ? (\n <span className={this.question.cssClasses.noFileChosen}>\n {this.question.noFileChosenCaption}\n </span>) : null;\n return (\n <div\n className={this.question.getFileDecoratorCss()}\n >\n <span className={this.question.cssClasses.dragAreaPlaceholder}>{this.question.renderedPlaceholder}</span>\n <div className={this.question.cssClasses.wrapper}>\n {chooseButton}\n {actionsContainer}\n {noFileChosen}\n </div>\n </div>\n );\n }\n protected renderChooseButton(): JSX.Element {\n return <SurveyFileChooseButton data={{ question: this.question }}></SurveyFileChooseButton>;\n }\n protected renderClearButton(className: string): JSX.Element | null {\n return !this.question.isUploading ? (\n <button type=\"button\" onClick={this.question.doClean} className={className}>\n <span>{this.question.clearButtonCaption}</span>\n {(!!this.question.cssClasses.removeButtonIconId) ? <SvgIcon iconName={this.question.cssClasses.removeButtonIconId} size={\"auto\"} title={this.question.clearButtonCaption}></SvgIcon>: null }\n </button>\n ) : null;\n }\n protected renderFileSign(className: string, val: any): JSX.Element | null {\n if(!className || !val.name) return null;\n return (\n <div className={className}>\n <a\n href={val.content}\n onClick={event => {\n this.question.doDownloadFile(event, val);\n }}\n title={val.name}\n download={val.name}\n style={{ width: this.question.imageWidth }}\n >\n {val.name}\n </a>\n </div>\n );\n }\n protected renderLoadingIndicator(): JSX.Element {\n return <div className={this.question.cssClasses.loadingIndicator}><LoadingIndicatorComponent></LoadingIndicatorComponent></div>;\n }\n protected renderVideo(): JSX.Element {\n return (<div className={this.question.cssClasses.videoContainer}>\n <SurveyAction item={this.question.changeCameraAction}></SurveyAction>\n <SurveyAction item={this.question.closeCameraAction}></SurveyAction>\n <video autoPlay playsInline id={this.question.videoId} className={this.question.cssClasses.video}></video>\n <SurveyAction item={this.question.takePictureAction}></SurveyAction>\n </div>);\n }\n protected renderPreview(): JSX.Element {\n var previews = this.question.previewValue.map((val, index) => {\n if (!val) return null;\n return (\n <span\n key={this.question.inputId + \"_\" + index}\n className={this.question.cssClasses.preview}\n style={{ display: this.question.isPreviewVisible(index) ? undefined : \"none\" }}\n >\n {this.renderFileSign(this.question.cssClasses.fileSign, val)}\n <div className={this.question.cssClasses.imageWrapper}>\n {this.question.canPreviewImage(val) ? (\n <img\n src={val.content}\n style={{ height: this.question.imageHeight, width: this.question.imageWidth }}\n alt=\"File preview\"\n />\n ) : (this.question.cssClasses.defaultImage?(\n <SvgIcon iconName={this.question.cssClasses.defaultImageIconId} size={\"auto\"} className={this.question.cssClasses.defaultImage}></SvgIcon>\n ):null)}\n {val.name && !this.question.isReadOnly ? (\n <div className={this.question.getRemoveButtonCss()} onClick={() => this.question.doRemoveFile(val)}>\n <span\n className={this.question.cssClasses.removeFile}\n >\n {this.question.removeFileCaption}\n </span>\n {(this.question.cssClasses.removeFileSvgIconId) ?\n (<SvgIcon title={this.question.removeFileCaption} iconName={this.question.cssClasses.removeFileSvgIconId} size={\"auto\"} className={this.question.cssClasses.removeFileSvg}></SvgIcon>): null }\n </div>\n ) : null}\n </div>\n {this.renderFileSign(this.question.cssClasses.fileSignBottom, val)}\n </span>\n );\n });\n return <div className={this.question.cssClasses.fileList || undefined}>{previews}</div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"file\", props => {\n return React.createElement(SurveyQuestionFile, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionHtmlModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionHtml extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionHtmlModel {\n return this.questionBase as QuestionHtmlModel;\n }\n componentDidMount() {\n this.reactOnStrChanged();\n }\n componentWillUnmount() {\n this.question.locHtml.onChanged = function () {};\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n this.reactOnStrChanged();\n }\n private reactOnStrChanged() {\n this.question.locHtml.onChanged = () => {\n this.setState({ changed: !!this.state && this.state.changed ? this.state.changed + 1 : 1 });\n };\n }\n protected canRender(): boolean {\n return super.canRender() && !!this.question.html;\n }\n protected renderElement(): JSX.Element {\n var htmlValue = { __html: this.question.locHtml.renderedHtml };\n return (\n <div\n className={this.question.renderCssRoot}\n dangerouslySetInnerHTML={htmlValue}\n />\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"html\", (props) => {\n return React.createElement(SurveyQuestionHtml, props);\n});\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { QuestionMatrixModel, MatrixRowModel, SurveyModel, Helpers } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyQuestionMatrix extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.state = { rowsChanged: 0 };\n }\n protected get question(): QuestionMatrixModel {\n return this.questionBase as QuestionMatrixModel;\n }\n componentDidMount() {\n super.componentDidMount();\n if (this.question) {\n var self = this;\n this.question.visibleRowsChangedCallback = function() {\n self.setState({ rowsChanged: self.state.rowsChanged + 1 });\n };\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.question) {\n this.question.visibleRowsChangedCallback = null as any;\n }\n }\n\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var rowsTH = this.question.hasRows ? <td /> : null;\n var headers:Array<JSX.Element> = [];\n for (var i = 0; i < this.question.visibleColumns.length; i++) {\n var column = this.question.visibleColumns[i];\n var key = \"column\" + i;\n var columText = this.renderLocString(column.locText);\n const style: any = {};\n if (!!this.question.columnMinWidth) {\n style.minWidth = this.question.columnMinWidth;\n style.width = this.question.columnMinWidth;\n }\n headers.push(\n <th className={this.question.cssClasses.headerCell} style={style} key={key}>\n {this.wrapCell({ column: column }, columText, \"column-header\")}\n </th>\n );\n }\n var rows:Array<JSX.Element> = [];\n var visibleRows = this.question.visibleRows;\n for (var i = 0; i < visibleRows.length; i++) {\n var row = visibleRows[i];\n var key = \"row-\" + row.name + \"-\" + i;\n rows.push(\n <SurveyQuestionMatrixRow\n key={key}\n question={this.question}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n row={row}\n isFirst={i == 0}\n />\n );\n }\n var header = !this.question.showHeader ? null : (\n <thead>\n <tr>\n {rowsTH}\n {headers}\n </tr>\n </thead>\n );\n return (\n <div\n className={cssClasses.tableWrapper}\n ref={root => (this.setControl(root))}\n >\n <fieldset>\n <legend aria-label={this.question.locTitle.renderedHtml} />\n <table className={this.question.getTableCss()}>\n {header}\n <tbody>{rows}</tbody>\n </table>\n </fieldset>\n </div>\n );\n }\n}\n\nexport class SurveyQuestionMatrixRow extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n }\n private get question(): QuestionMatrixModel {\n return this.props.question;\n }\n private get row(): MatrixRowModel {\n return this.props.row;\n }\n handleOnChange(event: any) {\n this.row.value = event.target.value;\n this.setState({ value: this.row.value });\n }\n handleOnMouseDown(event: any) {\n this.question.onMouseDown();\n }\n protected wrapCell(cell: any, element: JSX.Element, reason: string): JSX.Element {\n if(!reason) {\n return element;\n }\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapMatrixCell(survey, element, cell, reason);\n }\n return wrapper ?? element;\n }\n protected canRender(): boolean {\n return !!this.row;\n }\n protected renderElement(): JSX.Element {\n var rowsTD: JSX.Element | null = null;\n\n if (this.question.hasRows) {\n var rowText = this.renderLocString(this.row.locText);\n const style: any = {};\n if (!!this.question.rowTitleWidth) {\n style.minWidth = this.question.rowTitleWidth;\n style.width = this.question.rowTitleWidth;\n }\n rowsTD = <td style={style} className={this.question.cssClasses.rowTextCell}>\n {this.wrapCell({ row: this.row }, rowText, \"row-header\")}\n </td>;\n }\n\n var tds = this.generateTds();\n return (\n <tr className={this.row.rowClasses || undefined}>\n {rowsTD}\n {tds}\n </tr>\n );\n }\n\n generateTds() {\n var tds:Array<JSX.Element> = [];\n var row = this.row;\n\n for (var i = 0; i < this.question.visibleColumns.length; i++) {\n var td: JSX.Element | null = null;\n var column = this.question.visibleColumns[i];\n var key = \"value\" + i;\n\n var isChecked = row.value == column.value;\n let itemClass = this.question.getItemClass(row, column);\n var inputId = this.question.inputId + \"_\" + row.name + \"_\" + i;\n if (this.question.hasCellText) {\n var getHandler = !this.question.isInputReadOnly\n ? (column: any) => () => this.cellClick(row, column)\n : null;\n td = (\n <td\n key={key}\n className={itemClass}\n onClick={getHandler ? getHandler(column) : () => {}}\n >\n {this.renderLocString(\n this.question.getCellDisplayLocText(row.name, column)\n )}\n </td>\n );\n } else {\n td = (\n <td\n key={key}\n data-responsive-title={column.locText.renderedHtml}\n className={this.question.cssClasses.cell}\n >\n <label onMouseDown={this.handleOnMouseDown} className={itemClass}>\n <input\n id={inputId}\n type=\"radio\"\n className={this.cssClasses.itemValue}\n name={row.fullName}\n value={column.value}\n disabled={this.isDisplayMode}\n checked={isChecked}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={column.locText.renderedHtml}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <span className={this.question.cssClasses.materialDecorator}>\n {this.question.itemSvgIcon ?\n <svg\n className={this.cssClasses.itemDecorator}\n >\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg> :\n null\n }\n </span>\n <span style={!this.question.isMobile ? { display: \"none\" } : undefined } className={this.question.cssClasses.cellResponsiveTitle}>\n {this.renderLocString(column.locText)}\n </span>\n </label>\n </td>\n );\n }\n tds.push(td);\n }\n\n return tds;\n }\n cellClick(row: any, column: any) {\n row.value = column.value;\n this.setState({ value: this.row.value });\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"matrix\", props => {\n return React.createElement(SurveyQuestionMatrix, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionMatrixDropdownBase } from \"./reactquestion_matrixdropdownbase\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionMatrixDropdown extends SurveyQuestionMatrixDropdownBase {\n constructor(props: any) {\n super(props);\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"matrixdropdown\", props => {\n return React.createElement(SurveyQuestionMatrixDropdown, props);\n});\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase\n} from \"./reactquestion_element\";\nimport { SurveyElementErrors, SurveyQuestion, SurveyQuestionAndErrorsCell, SurveyQuestionErrorCell } from \"./reactquestion\";\nimport {\n QuestionMatrixDropdownModelBase,\n QuestionMatrixDropdownRenderedRow,\n QuestionMatrixDropdownRenderedCell,\n MatrixDropdownColumn,\n AdaptiveActionContainer,\n Question,\n Base\n} from \"survey-core\";\nimport { SurveyQuestionCheckboxItem } from \"./reactquestion_checkbox\";\nimport { SurveyQuestionRadioItem } from \"./reactquestion_radiogroup\";\nimport { SurveyPanel } from \"./panel\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { MatrixRow } from \"./components/matrix/row\";\nimport { SurveyQuestionMatrixDynamicDragDropIcon } from \"./components/matrix-actions/drag-drop-icon/drag-drop-icon\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionMatrixDropdownBase extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n //Create rendered table in contructor and not on rendering\n const table = this.question.renderedTable;\n this.state = this.getState();\n }\n protected get question(): QuestionMatrixDropdownModelBase {\n return this.questionBase as QuestionMatrixDropdownModelBase;\n }\n private getState(prevState: any = null) {\n return { rowCounter: !prevState ? 0 : prevState.rowCounter + 1 };\n }\n private updateStateOnCallback() {\n if (this.isRendering) return;\n this.setState(this.getState(this.state));\n }\n componentDidMount() {\n super.componentDidMount();\n this.question.visibleRowsChangedCallback = () => {\n this.updateStateOnCallback();\n };\n this.question.onRenderedTableResetCallback = () => {\n this.question.renderedTable.renderedRowsChangedCallback = () => {\n this.updateStateOnCallback();\n };\n this.updateStateOnCallback();\n };\n this.question.renderedTable.renderedRowsChangedCallback = () => {\n this.updateStateOnCallback();\n };\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.question.visibleRowsChangedCallback = () => {};\n this.question.onRenderedTableResetCallback = () => {};\n this.question.renderedTable.renderedRowsChangedCallback = () => {};\n }\n protected renderElement(): JSX.Element {\n return this.renderTableDiv();\n }\n renderTableDiv(): JSX.Element {\n var header = this.renderHeader();\n var footers = this.renderFooter();\n var rows = this.renderRows();\n var divStyle = this.question.showHorizontalScroll\n ? ({ overflowX: \"scroll\" } as React.CSSProperties)\n : ({} as React.CSSProperties);\n return (\n <div style={divStyle} className={this.question.cssClasses.tableWrapper} ref={(root) => (this.setControl(root))}>\n <table className={this.question.getTableCss()}>\n {header}\n {rows}\n {footers}\n </table>\n </div>\n );\n }\n renderHeader(): JSX.Element | null {\n var table = this.question.renderedTable;\n if (!table.showHeader) return null;\n var headers: any[] = [];\n var cells = table.headerRow.cells;\n for (var i = 0; i < cells.length; i++) {\n var cell = cells[i];\n var key = \"column\" + i;\n var columnStyle: any = {};\n if (!!cell.width) {\n columnStyle.width = cell.width;\n }\n if (!!cell.minWidth) {\n columnStyle.minWidth = cell.minWidth;\n }\n var cellContent = this.renderCellContent(cell, \"column-header\", {});\n const header = cell.hasTitle ?\n <th className={cell.className} key={key} style={columnStyle}> {cellContent} </th>\n : <td className={cell.className} key={key} style={columnStyle}></td>;\n headers.push(header);\n }\n return (\n <thead>\n <tr>{headers}</tr>\n </thead>\n );\n }\n renderFooter(): JSX.Element | null {\n var table = this.question.renderedTable;\n if (!table.showFooter) return null;\n var row = this.renderRow(\n \"footer\",\n table.footerRow,\n this.question.cssClasses,\n \"row-footer\"\n );\n return <tfoot>{row}</tfoot>;\n }\n renderRows(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var rows:Array<JSX.Element> = [];\n var renderedRows = this.question.renderedTable.rows;\n for (var i = 0; i < renderedRows.length; i++) {\n rows.push(\n this.renderRow(renderedRows[i].id, renderedRows[i], cssClasses)\n );\n }\n return <tbody>{rows}</tbody>;\n }\n renderRow(\n keyValue: any,\n row: QuestionMatrixDropdownRenderedRow,\n cssClasses: any,\n reason?: string\n ): JSX.Element {\n var matrixrow:Array<JSX.Element> = [];\n var cells = row.cells;\n\n for (var i = 0; i < cells.length; i++) {\n matrixrow.push(this.renderCell(cells[i], i, cssClasses, reason));\n }\n var key = \"row\" + keyValue;\n\n return (\n <React.Fragment key={key}>\n <MatrixRow model={row} parentMatrix={this.question}>{matrixrow}</MatrixRow>\n </React.Fragment>\n );\n }\n\n renderCell(\n cell: QuestionMatrixDropdownRenderedCell,\n index: number,\n cssClasses: any,\n reason?: string\n ): JSX.Element {\n var key = \"cell\" + index;\n if (cell.hasQuestion) {\n return (\n <SurveyQuestionMatrixDropdownCell\n key={key}\n cssClasses={cssClasses}\n cell={cell}\n creator={this.creator}\n reason={reason}\n />\n );\n }\n let calcReason = reason;\n if(!calcReason) {\n calcReason = cell.hasTitle ? \"row-header\" : \"\";\n }\n var cellContent = this.renderCellContent(cell, calcReason, cssClasses);\n var cellStyle: any = null;\n if (!!cell.width || !!cell.minWidth) {\n cellStyle = {};\n if (!!cell.width) cellStyle.width = cell.width;\n if (!!cell.minWidth) cellStyle.minWidth = cell.minWidth;\n }\n\n return (\n <td\n className={cell.className}\n key={key}\n style={cellStyle}\n colSpan={cell.colSpans}\n data-responsive-title={cell.headers}\n title={cell.getTitle()}\n >\n {cellContent}\n </td>\n );\n }\n private renderCellContent(\n cell: QuestionMatrixDropdownRenderedCell,\n reason: string,\n cssClasses: any\n ): JSX.Element | null {\n var cellContent: JSX.Element | null = null;\n var cellStyle: any = null;\n if (!!cell.width || !!cell.minWidth) {\n cellStyle = {};\n if (!!cell.width) cellStyle.width = cell.width;\n if (!!cell.minWidth) cellStyle.minWidth = cell.minWidth;\n }\n if (cell.hasTitle) {\n reason = \"row-header\";\n const str = this.renderLocString(cell.locTitle);\n const require = !!cell.column ? <SurveyQuestionMatrixHeaderRequired column={cell.column} question={this.question}/> : null;\n cellContent = (<>{str}{require}</>);\n }\n if (cell.isDragHandlerCell) {\n cellContent = (<>\n <SurveyQuestionMatrixDynamicDragDropIcon item={{ data: { row: cell.row, question: this.question } }}/>\n </>);\n }\n if (cell.isActionsCell) {\n cellContent = (\n ReactElementFactory.Instance.createElement(\"sv-matrixdynamic-actions-cell\", {\n question: this.question, cssClasses, cell, model: cell.item.getData()\n })\n );\n }\n if (cell.hasPanel) {\n cellContent = (\n <SurveyPanel\n key={cell.panel.id}\n element={cell.panel}\n survey={this.question.survey}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\n />\n );\n }\n if(cell.isErrorsCell) {\n if (cell.isErrorsCell) {\n return (\n <SurveyQuestionErrorCell\n question={cell.question}\n creator={this.creator}\n >\n </SurveyQuestionErrorCell>\n );\n }\n }\n if (!cellContent) return null;\n\n const readyCell = (\n <>\n {cellContent}\n </>\n );\n return this.wrapCell(cell, readyCell, reason);\n }\n}\n\nclass SurveyQuestionMatrixActionsCell extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n get model(): AdaptiveActionContainer {\n return this.props.model;\n }\n protected renderElement(): JSX.Element {\n return (\n <SurveyActionBar model={this.model} handleClick={false}></SurveyActionBar>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrixdynamic-actions-cell\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixActionsCell, props);\n }\n);\nclass SurveyQuestionMatrixHeaderRequired extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n get column(): MatrixDropdownColumn {\n return this.props.column;\n }\n get question(): Question {\n return this.props.question;\n }\n protected getStateElement(): Base {\n return this.column;\n }\n protected renderElement(): JSX.Element | null {\n if(!this.column.isRenderedRequired) return null;\n return (\n <>\n <span>&nbsp;</span>\n <span className={this.question.cssClasses.cellRequiredText}>{this.column.requiredText}</span>\n </>\n );\n }\n}\n\nexport class SurveyQuestionMatrixDropdownCell extends SurveyQuestionAndErrorsCell {\n constructor(props: any) {\n super(props);\n }\n private get cell(): QuestionMatrixDropdownRenderedCell {\n return this.props.cell;\n }\n protected get itemCss(): string {\n return !!this.cell ? this.cell.className : \"\";\n }\n protected getQuestion(): Question | any {\n var q = super.getQuestion();\n if (!!q) return q;\n return !!this.cell ? this.cell.question : null;\n }\n protected doAfterRender() {\n var el = this.cellRef.current;\n if (\n el &&\n this.cell &&\n this.question &&\n this.question.survey &&\n el.getAttribute(\"data-rendered\") !== \"r\"\n ) {\n el.setAttribute(\"data-rendered\", \"r\");\n var options = {\n cell: this.cell,\n cellQuestion: this.question,\n htmlElement: el,\n row: this.cell.row,\n column: this.cell.cell.column,\n };\n this.question.survey.matrixAfterCellRender(this.question, options);\n }\n }\n protected getShowErrors(): boolean {\n return (\n this.question.isVisible &&\n (!this.cell.isChoice || this.cell.isFirstChoice)\n );\n }\n protected getCellStyle(): any {\n var res: any = super.getCellStyle();\n if (!!this.cell.width || !!this.cell.minWidth) {\n if (!res) res = {};\n if (!!this.cell.width) res.width = this.cell.width;\n if (!!this.cell.minWidth) res.minWidth = this.cell.minWidth;\n }\n\n return res;\n }\n\n protected getHeaderText(): string {\n return this.cell.headers;\n }\n protected renderQuestion(): JSX.Element {\n if (!this.cell.isChoice)\n return SurveyQuestion.renderQuestionBody(this.creator, this.question);\n if (this.cell.isOtherChoice) return this.renderOtherComment();\n if (this.cell.isCheckbox) return this.renderCellCheckboxButton();\n return this.renderCellRadiogroupButton();\n }\n private renderOtherComment(): JSX.Element {\n const question = this.cell.question;\n const cssClasses = question.cssClasses || {};\n return <SurveyQuestionOtherValueItem question={question} cssClasses={cssClasses} otherCss={cssClasses.other} isDisplayMode={question.isInputReadOnly} />;\n }\n private renderCellCheckboxButton(): JSX.Element {\n var key = this.cell.question.id + \"item\" + this.cell.choiceIndex;\n return (\n <SurveyQuestionCheckboxItem\n key={key}\n question={this.cell.question}\n cssClasses={this.cell.question.cssClasses}\n isDisplayMode={this.cell.question.isInputReadOnly}\n item={this.cell.item}\n isFirst={this.cell.isFirstChoice}\n index={this.cell.choiceIndex.toString()}\n hideCaption={true}\n />\n );\n }\n private renderCellRadiogroupButton(): JSX.Element {\n var key = this.cell.question.id + \"item\" + this.cell.choiceIndex;\n return (\n <SurveyQuestionRadioItem\n key={key}\n question={this.cell.question}\n cssClasses={this.cell.question.cssClasses}\n isDisplayMode={this.cell.question.isInputReadOnly}\n item={this.cell.item}\n index={this.cell.choiceIndex.toString()}\n isChecked={this.cell.question.value === this.cell.item.value}\n isDisabled={this.cell.question.isReadOnly || !this.cell.item.isEnabled}\n hideCaption={true}\n />\n );\n }\n}","import * as React from \"react\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionMatrixDropdownBase } from \"./reactquestion_matrixdropdownbase\";\nimport { QuestionMatrixDynamicModel } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\n\nexport class SurveyQuestionMatrixDynamic extends SurveyQuestionMatrixDropdownBase {\n constructor(props: any) {\n super(props);\n this.handleOnRowAddClick = this.handleOnRowAddClick.bind(this);\n }\n protected get matrix(): QuestionMatrixDynamicModel {\n return this.questionBase as QuestionMatrixDynamicModel;\n }\n handleOnRowAddClick(event: any) {\n this.matrix.addRowUI();\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var showTable = this.question.renderedTable.showTable;\n var mainDiv = showTable\n ? this.renderTableDiv()\n : this.renderNoRowsContent(cssClasses);\n return (\n <div>\n {this.renderAddRowButtonOnTop(cssClasses)}\n {mainDiv}\n {this.renderAddRowButtonOnBottom(cssClasses)}\n </div>\n );\n }\n protected renderAddRowButtonOnTop(cssClasses: any): JSX.Element | null {\n if (!this.matrix.renderedTable.showAddRowOnTop) return null;\n return this.renderAddRowButton(cssClasses);\n }\n protected renderAddRowButtonOnBottom(cssClasses: any): JSX.Element | null {\n if (!this.matrix.renderedTable.showAddRowOnBottom) return null;\n return this.renderAddRowButton(cssClasses);\n }\n protected renderNoRowsContent(cssClasses: any): JSX.Element {\n const text: JSX.Element = this.renderLocString(this.matrix.locEmptyRowsText);\n const textDiv: JSX.Element = <div className={cssClasses.emptyRowsText}>{text}</div>;\n const btn: JSX.Element|undefined = this.matrix.renderedTable.showAddRow ? this.renderAddRowButton(cssClasses, true) : undefined;\n return (\n <div className={cssClasses.emptyRowsSection}>\n {textDiv}\n {btn}\n </div>\n );\n }\n protected renderAddRowButton(\n cssClasses: any,\n isEmptySection: boolean = false\n ): JSX.Element {\n return ReactElementFactory.Instance.createElement(\"sv-matrixdynamic-add-btn\", {\n question: this.question, cssClasses, isEmptySection\n });\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"matrixdynamic\", (props) => {\n return React.createElement(SurveyQuestionMatrixDynamic, props);\n});\n\nexport class SurveyQuestionMatrixDynamicAddButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnRowAddClick = this.handleOnRowAddClick.bind(this);\n }\n protected get matrix(): QuestionMatrixDynamicModel {\n return this.props.question as QuestionMatrixDynamicModel;\n }\n handleOnRowAddClick(event: any) {\n this.matrix.addRowUI();\n }\n protected renderElement(): JSX.Element {\n const addRowText: JSX.Element = this.renderLocString(this.matrix.locAddRowText);\n const addButton = (<button\n className={this.matrix.getAddRowButtonCss(this.props.isEmptySection)}\n type=\"button\"\n disabled={this.matrix.isInputReadOnly}\n onClick={\n this.matrix.isDesignMode ? undefined : this.handleOnRowAddClick\n }\n >\n {addRowText}\n <span className={this.props.cssClasses.iconAdd} />\n </button>);\n return (\n this.props.isEmptySection ? addButton : <div className={this.props.cssClasses.footer}>{addButton}</div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrixdynamic-add-btn\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixDynamicAddButton, props);\n }\n);\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { ISurveyCreator, SurveyQuestionAndErrorsWrapped, SurveyQuestionErrorCell } from \"./reactquestion\";\nimport { QuestionMultipleTextModel, MultipleTextItemModel, MultipleTextCell } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\nimport { TitleContent } from \"./components/title/title-content\";\n\nexport class SurveyQuestionMultipleText extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionMultipleTextModel {\n return this.questionBase as QuestionMultipleTextModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var tableRows = this.question.getRows();\n var rows:Array<JSX.Element> = [];\n for (var i = 0; i < tableRows.length; i++) {\n if(tableRows[i].isVisible) {\n rows.push(this.renderRow(i, tableRows[i].cells, cssClasses));\n }\n }\n return (\n <table className={this.question.getQuestionRootCss()}>\n <tbody>{rows}</tbody>\n </table>\n );\n }\n\n protected renderCell(cell: MultipleTextCell, cssClasses: any, index: number): JSX.Element {\n let cellContent: JSX.Element;\n const focusIn = () => { cell.item.focusIn(); };\n if(cell.isErrorsCell) {\n cellContent = <SurveyQuestionErrorCell question={cell.item.editor} creator={this.creator}></SurveyQuestionErrorCell>;\n } else {\n cellContent = <SurveyMultipleTextItem question={this.question} item={cell.item} creator={this.creator} cssClasses={cssClasses}></SurveyMultipleTextItem>;\n }\n return (<td key={\"item\" + index} className={cell.className} onFocus={focusIn}>{cellContent}</td>);\n }\n\n protected renderRow(\n rowIndex: number,\n cells: Array<MultipleTextCell>,\n cssClasses: any\n ): JSX.Element {\n const key: string = \"item\" + rowIndex;\n const tds:Array<JSX.Element> = [];\n for (let i = 0; i < cells.length; i++) {\n const cell = cells[i];\n tds.push(\n this.renderCell(cell, cssClasses, i)\n );\n }\n return (\n <tr key={key} className={cssClasses.row}>\n {tds}\n </tr>\n );\n }\n}\n\nexport class SurveyMultipleTextItem extends ReactSurveyElement {\n private get question(): QuestionMultipleTextModel {\n return this.props.question;\n }\n private get item(): MultipleTextItemModel {\n return this.props.item;\n }\n protected getStateElements() {\n return [this.item, this.item.editor];\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n\n protected renderElement() {\n const item = this.item;\n const cssClasses = this.cssClasses;\n return (<label className={this.question.getItemLabelCss(item)}>\n <span className={cssClasses.itemTitle}>\n <TitleContent element={item.editor} cssClasses={item.editor.cssClasses}></TitleContent>\n </span>\n <SurveyMultipleTextItemEditor\n cssClasses={cssClasses}\n itemCss={this.question.getItemCss()}\n question={item.editor}\n creator={this.creator}\n />\n </label>);\n }\n}\n\nexport class SurveyMultipleTextItemEditor extends SurveyQuestionAndErrorsWrapped {\n protected renderElement(): JSX.Element {\n return <div className={this.itemCss}>{this.renderContent()}</div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"multipletext\", (props) => {\n return React.createElement(SurveyQuestionMultipleText, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { SurveyModel, QuestionPanelDynamicModel } from \"survey-core\";\nimport { SurveyPanel } from \"./panel\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { SurveyQuestionPanelDynamicNextButton } from \"./components/paneldynamic-actions/paneldynamic-next-btn\";\nimport { SurveyQuestionPanelDynamicPrevButton } from \"./components/paneldynamic-actions/paneldynamic-prev-btn\";\nimport { SurveyQuestionPanelDynamicProgressText } from \"./components/paneldynamic-actions/paneldynamic-progress-text\";\nimport { SurveyQuestionPanelDynamicAddButton } from \"./components/paneldynamic-actions/paneldynamic-add-btn\";\nimport { SurveyQuestionPanelDynamicRemoveButton } from \"./components/paneldynamic-actions/paneldynamic-remove-btn\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionPanelDynamicModel {\n return this.questionBase as QuestionPanelDynamicModel;\n }\n componentDidMount() {\n super.componentDidMount();\n this.setState({ panelCounter: 0 });\n const self: SurveyQuestionPanelDynamic = this;\n this.question.panelCountChangedCallback = function () {\n self.updateQuestionRendering();\n };\n this.question.currentIndexChangedCallback = function () {\n self.updateQuestionRendering();\n };\n this.question.renderModeChangedCallback = function () {\n self.updateQuestionRendering();\n };\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.question.panelCountChangedCallback = () => {};\n this.question.currentIndexChangedCallback = () => {};\n this.question.renderModeChangedCallback = () => {};\n }\n private updateQuestionRendering() {\n this.setState({\n panelCounter: this.state ? this.state.panelCounter + 1 : 1,\n });\n }\n protected renderElement(): JSX.Element {\n const panels:Array<JSX.Element> = [];\n if (this.question.isRenderModeList) {\n for (let i = 0; i < this.question.panels.length; i++) {\n const panel = this.question.panels[i];\n panels.push(\n <SurveyQuestionPanelDynamicItem\n key={panel.id}\n element={panel}\n question={this.question}\n index={i}\n cssClasses={this.question.cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\n />\n );\n }\n } else {\n if (this.question.currentPanel != null) {\n const panel = this.question.currentPanel;\n panels.push(\n <SurveyQuestionPanelDynamicItem\n key={this.question.currentIndex}\n element={panel}\n question={this.question}\n index={this.question.currentIndex}\n cssClasses={this.question.cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\n />\n );\n }\n }\n const btnAdd: JSX.Element | null = this.question.isRenderModeList && this.question[\"showLegacyNavigation\"]\n ? this.renderAddRowButton()\n : null;\n const navTop: JSX.Element | null = this.question.isProgressTopShowing\n ? this.renderNavigator()\n : null;\n const navBottom: JSX.Element | null = this.question.isProgressBottomShowing\n ? this.renderNavigator()\n : null;\n\n const style: any = {};\n const navV2 = this.renderNavigatorV2();\n const noEntriesPlaceholder = this.renderPlaceholder();\n return (\n <div className={this.question.cssClasses.root}>\n {noEntriesPlaceholder}\n {navTop}\n {panels}\n {navBottom}\n {btnAdd}\n {navV2}\n </div>\n );\n }\n protected renderNavigator(): JSX.Element | null {\n if(!this.question[\"showLegacyNavigation\"]) {\n if(this.question.isRangeShowing && this.question.isProgressTopShowing) {\n return this.renderRange();\n } else {\n return null;\n }\n }\n const range: JSX.Element | null = this.question.isRangeShowing ? this.renderRange() : null;\n const btnPrev: JSX.Element = this.rendrerPrevButton();\n const btnNext: JSX.Element = this.rendrerNextButton();\n const btnAdd: JSX.Element | null = this.renderAddRowButton();\n const progressClass: string = this.question.isProgressTopShowing\n ? this.question.cssClasses.progressTop\n : this.question.cssClasses.progressBottom;\n return (\n <div className={progressClass}>\n <div style={{ clear: \"both\" }}>\n <div className={this.question.cssClasses.progressContainer}>\n {btnPrev}\n {range}\n {btnNext}\n </div>\n {btnAdd}\n {this.renderProgressText()}\n </div>\n </div>\n );\n }\n private renderProgressText(): JSX.Element {\n return (\n <SurveyQuestionPanelDynamicProgressText data={ { question: this.question }}></SurveyQuestionPanelDynamicProgressText>\n );\n }\n\n protected rendrerPrevButton() {\n return (\n <SurveyQuestionPanelDynamicPrevButton data={ { question: this.question }}></SurveyQuestionPanelDynamicPrevButton>\n );\n }\n protected rendrerNextButton() {\n return (\n <SurveyQuestionPanelDynamicNextButton data={ { question: this.question }}></SurveyQuestionPanelDynamicNextButton>\n );\n }\n\n protected renderRange(): JSX.Element {\n return (\n <div className={this.question.cssClasses.progress}>\n <div\n className={this.question.cssClasses.progressBar}\n style={{ width: this.question.progress }}\n role=\"progressbar\"\n />\n </div>\n );\n }\n protected renderAddRowButton(): JSX.Element | null {\n return ReactElementFactory.Instance.createElement(\"sv-paneldynamic-add-btn\", {\n data: { question: this.question }\n });\n }\n protected renderNavigatorV2(): JSX.Element | null {\n if (!this.question.showNavigation) return null;\n const range: JSX.Element | null = this.question.isRangeShowing && this.question.isProgressBottomShowing ? this.renderRange() : null;\n return (<div className={this.question.cssClasses.footer}>\n <hr className={this.question.cssClasses.separator} />\n {range}\n {this.question.footerToolbar.visibleActions.length ? (<div className={this.question.cssClasses.footerButtonsContainer}>\n <SurveyActionBar model={this.question.footerToolbar}></SurveyActionBar>\n </div>) : null}\n </div>);\n }\n protected renderPlaceholder(): JSX.Element | null {\n if (this.question.getShowNoEntriesPlaceholder()) {\n return (\n <div className={this.question.cssClasses.noEntriesPlaceholder}>\n <span>{this.renderLocString(this.question.locNoEntriesText)}</span>\n {this.renderAddRowButton()}\n </div>\n );\n }\n return null;\n }\n}\n\nexport class SurveyQuestionPanelDynamicItem extends SurveyPanel {\n private get question(): QuestionPanelDynamicModel {\n return this.props.question;\n }\n private get index(): number {\n return this.props.index;\n }\n protected getSurvey(): SurveyModel | null {\n return !!this.question ? (this.question.survey as SurveyModel) : null;\n }\n protected getCss(): any {\n const survey = this.getSurvey();\n return !!survey ? survey.getCss() : {};\n }\n public render() {\n const panel = super.render();\n const removeButton = this.renderButton();\n const separator: JSX.Element | null = this.question.showSeparator(this.index) ?\n (<hr className={this.question.cssClasses.separator} />) : null;\n return (\n <>\n <div className={this.question.getPanelWrapperCss()}>\n {panel}\n {removeButton}\n </div>\n {separator}\n </>\n );\n }\n protected renderButton(): JSX.Element | null {\n if (\n this.question.panelRemoveButtonLocation !== \"right\" ||\n !this.question.canRemovePanel ||\n (this.question.isRenderModeList && this.panel.isCollapsed)\n ) {\n return null;\n }\n return ReactElementFactory.Instance.createElement(\"sv-paneldynamic-remove-btn\", {\n data: { question: this.question, panel: this.panel }\n });\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"paneldynamic\", props => {\n return React.createElement(SurveyQuestionPanelDynamic, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase, ReactSurveyElement } from \"./reactquestion_element\";\nimport { QuestionRadiogroupModel, ItemValue, Base, SurveyModel } from \"survey-core\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionRadiogroup extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionRadiogroupModel {\n return this.questionBase as QuestionRadiogroupModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var clearButton: JSX.Element | null = null;\n if (this.question.showClearButtonInContent) {\n clearButton = (\n <div>\n <input\n type=\"button\"\n className={this.question.cssClasses.clearButton}\n onClick={() => this.question.clearValue()}\n value={this.question.clearButtonCaption}\n />\n </div>\n );\n }\n return (\n <fieldset\n className={this.question.getSelectBaseRootCss()}\n ref={(fieldset) => (this.setControl(fieldset))}\n role={this.question.a11y_input_ariaRole}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n >\n {this.question.hasColumns\n ? this.getColumnedBody(cssClasses)\n : this.getBody(cssClasses)}\n {this.getFooter()}\n {this.question.isOtherSelected ? this.renderOther(cssClasses) : null}\n {clearButton}\n </fieldset>\n );\n }\n protected getFooter() {\n if (this.question.hasFootItems) {\n return this.question.footItems.map((item: any, ii: number) =>\n this.renderItem(\n \"item_f\" + ii,\n item,\n false,\n this.question.cssClasses\n )\n );\n }\n }\n protected getColumnedBody(cssClasses: any) {\n return (\n <div className={cssClasses.rootMultiColumn}>\n {this.getColumns(cssClasses)}\n </div>\n );\n }\n protected getColumns(cssClasses: any) {\n var value = this.getStateValue();\n return this.question.columns.map((column: any, ci: number) => {\n var items = column.map((item: any, ii: number) =>\n this.renderItem(\"item\" + ci + ii, item, value, cssClasses, \"\" + ci + ii)\n );\n return (\n <div key={\"column\" + ci} className={this.question.getColumnClass()} role=\"presentation\">\n {items}\n </div>\n );\n });\n }\n\n protected getBody(cssClasses: any): JSX.Element {\n if(this.question.blockedRow) {\n return <div className={cssClasses.rootRow}>{this.getItems(cssClasses, this.question.dataChoices)}</div>;\n }\n else return <>{this.getItems(cssClasses, this.question.bodyItems)}</>;\n }\n\n protected getItems(cssClasses: any, choices: Array <ItemValue>): Array<any> {\n var items:Array<JSX.Element> = [];\n var value = this.getStateValue();\n for (var i = 0; i < choices.length; i++) {\n var item = choices[i];\n var renderedItem = this.renderItem(\"item\" + i, item, value, cssClasses, \"\" + i);\n items.push(renderedItem);\n }\n return items;\n }\n protected get textStyle(): any {\n return null;//{ display: \"inline\", position: \"static\" };\n }\n protected renderOther(cssClasses: any): JSX.Element {\n return (\n <div className={this.question.getCommentAreaCss(true)}>\n <SurveyQuestionOtherValueItem\n question={this.question}\n otherCss={cssClasses.other}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n />\n </div>\n );\n }\n private renderItem(\n key: string,\n item: ItemValue,\n value: any,\n cssClasses: any,\n index?: string\n ): JSX.Element {\n const renderedItem = ReactElementFactory.Instance.createElement(this.question.itemComponent, {\n key: key,\n question: this.question,\n cssClasses: cssClasses,\n isDisplayMode: this.isDisplayMode,\n item: item,\n textStyle: this.textStyle,\n index: index,\n isChecked: value === item.value,\n });\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if (!!survey) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n private getStateValue(): any {\n return !this.question.isEmpty() ? this.question.renderedValue : \"\";\n }\n}\n\nexport class SurveyQuestionRadioItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n }\n protected getStateElement(): Base {\n return this.item;\n }\n protected get question(): QuestionRadiogroupModel {\n return this.props.question;\n }\n protected get item(): ItemValue {\n return this.props.item;\n }\n protected get textStyle(): any {\n return this.props.textStyle;\n }\n protected get index(): number {\n return this.props.index;\n }\n protected get isChecked(): boolean {\n return this.props.isChecked;\n }\n private get hideCaption(): boolean {\n return this.props.hideCaption === true;\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if(!this.question) return false;\n return (\n !this.question.customWidget ||\n !!this.question.customWidgetData.isNeedRender ||\n !!this.question.customWidget.widgetJson.isDefaultRender ||\n !!this.question.customWidget.widgetJson.render\n );\n }\n handleOnChange(event: any) {\n this.question.clickItemHandler(this.item);\n }\n handleOnMouseDown(event: any) {\n this.question.onMouseDown();\n }\n protected canRender(): boolean {\n return !!this.question && !!this.item;\n }\n protected renderElement(): JSX.Element {\n var itemClass = this.question.getItemClass(this.item);\n var labelClass = this.question.getLabelClass(this.item);\n var controlLabelClass = this.question.getControlLabelClass(this.item);\n const itemLabel = !this.hideCaption ? <span className={controlLabelClass}>{this.renderLocString(this.item.locText, this.textStyle)}</span> : null;\n return (\n <div\n className={itemClass}\n role=\"presentation\"\n >\n <label onMouseDown={this.handleOnMouseDown} className={labelClass}>\n <input\n aria-describedby={this.question.ariaDescribedBy}\n className={this.cssClasses.itemControl}\n id={this.question.getItemId(this.item)}\n type=\"radio\"\n name={this.question.questionName}\n checked={this.isChecked}\n value={this.item.value}\n disabled={!this.question.getItemEnabled(this.item)}\n onChange={this.handleOnChange}\n />\n {\n this.cssClasses.materialDecorator ?\n <span className={this.cssClasses.materialDecorator}>\n {this.question.itemSvgIcon ?\n <svg\n className={this.cssClasses.itemDecorator}\n >\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg> :\n null\n }\n </span> :\n null\n }\n {itemLabel}\n </label>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey-radiogroup-item\", (props: any) => {\n return React.createElement(SurveyQuestionRadioItem, props);\n});\n\nReactQuestionFactory.Instance.registerQuestion(\"radiogroup\", (props) => {\n return React.createElement(SurveyQuestionRadiogroup, props);\n});\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { QuestionRankingModel, SurveyModel, ItemValue } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyQuestionRanking extends SurveyQuestionElementBase {\n protected get question(): QuestionRankingModel {\n return this.questionBase as QuestionRankingModel;\n }\n\n protected renderElement(): JSX.Element {\n\n if (!this.question.selectToRankEnabled) {\n return (\n <div\n className={this.question.rootClass}\n ref={(root) => (this.setControl(root))}\n >\n {this.getItems()}\n </div>\n );\n } else {\n const unrankedItem = true;\n return (\n <div\n className={this.question.rootClass}\n ref={(root) => (this.setControl(root))}\n >\n <div className={this.question.getContainerClasses(\"from\")} data-ranking=\"from-container\">\n {this.getItems(this.question.unRankingChoices, unrankedItem)}\n {this.question.unRankingChoices.length === 0 ? <div className={this.question.cssClasses.containerPlaceholder}> {this.question.selectToRankEmptyRankedAreaText} </div> : null}\n </div>\n\n <div className={this.question.cssClasses.containersDivider}></div>\n\n <div className={this.question.getContainerClasses(\"to\")} data-ranking=\"to-container\">\n {this.getItems()}\n {this.question.rankingChoices.length === 0 ? <div className={this.question.cssClasses.containerPlaceholder}>{this.question.selectToRankEmptyUnrankedAreaText}</div> : null}\n </div>\n </div>\n );\n }\n }\n\n protected getItems(choices: any = this.question.rankingChoices, unrankedItem?: boolean): Array<any> {\n const items: Array<JSX.Element> = [];\n for (let i = 0; i < choices.length; i++) {\n const item = choices[i];\n items.push(\n this.renderItem(\n item,\n i,\n (event: PointerEvent) => {\n this.question.handleKeydown.call(this.question, event, item);\n },\n (event: any) => {\n event.persist();\n //event.preventDefault();\n this.question.handlePointerDown.call(\n this.question,\n event,\n item,\n event.currentTarget\n );\n },\n this.question.cssClasses,\n this.question.getItemClass(item),\n this.question,\n unrankedItem\n )\n );\n }\n return items;\n }\n\n protected renderItem(\n item: ItemValue,\n i: number,\n handleKeydown: (event: any) => void,\n handlePointerDown: (event: PointerEvent) => void,\n cssClasses: any,\n itemClass: string,\n question: QuestionRankingModel,\n unrankedItem?: boolean\n ): JSX.Element {\n const key: string = item.value + \"-\" + i + \"-item\";\n const text: JSX.Element = this.renderLocString(item.locText);\n const index = i;\n const indexText: string = this.question.getNumberByIndex(i);\n const tabIndex: number = this.question.getItemTabIndex(item);\n const renderedItem = (\n <SurveyQuestionRankingItem\n key={key}\n text={text}\n index={index}\n indexText={indexText}\n itemTabIndex={tabIndex}\n handleKeydown={handleKeydown}\n handlePointerDown={handlePointerDown}\n cssClasses={cssClasses}\n itemClass={itemClass}\n question={question}\n unrankedItem={unrankedItem}\n item={item}\n />\n );\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if (!!survey) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n}\n\nexport class SurveyQuestionRankingItem extends ReactSurveyElement {\n protected get text(): string {\n return this.props.text;\n }\n protected get index(): string {\n return this.props.index;\n }\n protected get indexText(): string {\n return this.props.indexText;\n }\n protected get handleKeydown(): (event: any) => void {\n return this.props.handleKeydown;\n }\n protected get handlePointerDown(): (event: any) => void {\n return this.props.handlePointerDown;\n }\n protected get cssClasses(): any {\n return this.props.cssClasses;\n }\n protected get itemClass(): string {\n return this.props.itemClass;\n }\n protected get itemTabIndex(): number {\n return this.props.itemTabIndex;\n }\n protected get question(): any {\n return this.props.question;\n }\n protected get unrankedItem(): any {\n return this.props.unrankedItem;\n }\n protected get item(): any {\n return this.props.item;\n }\n\n protected renderElement(): JSX.Element {\n return (\n <div\n tabIndex={this.itemTabIndex}\n className={this.itemClass}\n onKeyDown={this.handleKeydown}\n onPointerDown={this.handlePointerDown}\n data-sv-drop-target-ranking-item={this.index}\n >\n <div tabIndex={-1} style={{ outline: \"none\" }}>\n <div className={this.cssClasses.itemGhostNode} />\n <div className={this.cssClasses.itemContent}>\n <div className={this.cssClasses.itemIconContainer}>\n <svg\n width=\"10\"\n height=\"16\"\n viewBox=\"0 0 10 16\"\n className={this.question.getIconHoverCss()}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M6 2C6 0.9 6.9 0 8 0C9.1 0 10 0.9 10 2C10 3.1 9.1 4 8 4C6.9 4 6 3.1 6 2ZM2 0C0.9 0 0 0.9 0 2C0 3.1 0.9 4 2 4C3.1 4 4 3.1 4 2C4 0.9 3.1 0 2 0ZM8 6C6.9 6 6 6.9 6 8C6 9.1 6.9 10 8 10C9.1 10 10 9.1 10 8C10 6.9 9.1 6 8 6ZM2 6C0.9 6 0 6.9 0 8C0 9.1 0.9 10 2 10C3.1 10 4 9.1 4 8C4 6.9 3.1 6 2 6ZM8 12C6.9 12 6 12.9 6 14C6 15.1 6.9 16 8 16C9.1 16 10 15.1 10 14C10 12.9 9.1 12 8 12ZM2 12C0.9 12 0 12.9 0 14C0 15.1 0.9 16 2 16C3.1 16 4 15.1 4 14C4 12.9 3.1 12 2 12Z\" />\n </svg>\n <svg\n width=\"10\"\n height=\"24\"\n viewBox=\"0 0 10 24\"\n className={this.question.getIconFocusCss()}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M10 5L5 0L0 5H4V9H6V5H10Z\" />\n <path d=\"M6 19V15H4V19H0L5 24L10 19H6Z\" />\n </svg>\n </div>\n\n <div className={this.question.getItemIndexClasses(this.item)}>{this.unrankedItem ? \"\" : this.indexText}</div>\n <div className={this.cssClasses.controlLabel}>{this.text}</div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"ranking\", (props) => {\n return React.createElement(SurveyQuestionRanking, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionRating extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.handleOnClick = this.handleOnClick.bind(this);\n }\n protected get question(): QuestionRatingModel {\n return this.questionBase as QuestionRatingModel;\n }\n handleOnClick(event: any) {\n this.question.setValueFromClick(event.target.value);\n this.setState({ value: this.question.value });\n }\n\n protected renderItem(\n item: any,\n index: Number\n ): JSX.Element {\n const renderedItem = ReactElementFactory.Instance.createElement(this.question.itemComponentName, {\n question: this.question,\n item: item,\n index: index,\n key: \"value\" + index,\n handleOnClick: this.handleOnClick,\n isDisplayMode: this.isDisplayMode\n });\n return renderedItem;\n }\n\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var minText = this.question.minRateDescription\n ? this.renderLocString(this.question.locMinRateDescription)\n : null;\n var maxText = this.question.maxRateDescription\n ? this.renderLocString(this.question.locMaxRateDescription)\n : null;\n return (\n <div className={this.question.ratingRootCss} ref={(div) => (this.setControl(div))}>\n <fieldset role=\"radiogroup\">\n <legend role=\"presentation\" className={\"sv-hidden\"}></legend>\n {!!this.question.hasMinLabel ? <span className={cssClasses.minText}>{minText}</span>: null}\n {this.question.renderedRateItems.map((item, index) => this.renderItem(item, index))}\n {!!this.question.hasMaxLabel ? <span className={cssClasses.maxText}>{maxText}</span>: null}\n </fieldset>\n </div>\n );\n }\n\n}\nReactQuestionFactory.Instance.registerQuestion(\"rating\", (props) => {\n return React.createElement(SurveyQuestionRating, props);\n});\n","import * as React from \"react\";\nimport { QuestionTagboxModel, DropdownListModel, DropdownMultiSelectListModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionDropdownBase } from \"./dropdown-base\";\nimport { SurveyQuestionTagboxItem } from \"./tagbox-item\";\nimport { TagboxFilterString } from \"./tagbox-filter\";\n\nexport class SurveyQuestionTagbox extends SurveyQuestionDropdownBase<QuestionTagboxModel> {\n constructor(props: any) {\n super(props);\n }\n\n protected renderItem(key: string, item: any): JSX.Element {\n const renderedItem = (\n <SurveyQuestionTagboxItem\n key={key}\n question={this.question}\n item={item}\n />\n );\n return renderedItem;\n }\n\n protected renderInput(dropdownListModel: DropdownListModel): JSX.Element {\n const dropdownMultiSelectListModel = dropdownListModel as DropdownMultiSelectListModel;\n const items = this.question.selectedChoices.map((choice, index) => { return this.renderItem(\"item\" + index, choice); });\n return (\n <div\n id={this.question.inputId}\n className={this.question.getControlClass()}\n tabIndex={dropdownListModel.inputReadOnly ? undefined : 0}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n disabled={this.question.isInputReadOnly}\n required={this.question.isRequired}\n onKeyDown={this.keyhandler}\n onBlur={this.blur}\n role={this.question.ariaRole}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n >\n <div className={this.question.cssClasses.controlValue}>\n {items}\n <TagboxFilterString model={dropdownMultiSelectListModel} question={this.question}></TagboxFilterString>\n </div>\n {this.createClearButton()}\n </div>);\n }\n\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const comment = this.question.isOtherSelected ? this.renderOther(cssClasses) : null;\n const select = this.renderSelect(cssClasses);\n return (\n <div className={this.question.renderCssRoot}>\n {select}\n {comment}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"tagbox\", (props) => {\n return React.createElement(SurveyQuestionTagbox, props);\n});","import * as React from \"react\";\nimport { SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\nimport { QuestionTextModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { CharacterCounterComponent } from \"./components/character-counter\";\n\nexport class SurveyQuestionText extends SurveyQuestionUncontrolledElement<\n QuestionTextModel\n> {\n //controlRef: React.RefObject<HTMLInputElement>;\n constructor(props: any) {\n super(props);\n //this.controlRef = React.createRef();\n }\n protected renderInput() {\n const inputClass = (this.question as QuestionTextModel).getControlClass();\n\n const placeholder = this.question.renderedPlaceholder;\n if (this.question.isReadOnlyRenderDiv()) {\n return <div>{this.question.value}</div>;\n }\n const counter = !!this.question.getMaxLength() ? (<CharacterCounterComponent counter={this.question.characterCounter} remainingCharacterCounter={this.question.cssClasses.remainingCharacterCounter}></CharacterCounterComponent>) : null;\n return (\n <>\n <input\n id={this.question.inputId}\n disabled={this.isDisplayMode}\n className={inputClass}\n type={this.question.inputType}\n //ref={this.controlRef}\n ref={(input) => (this.setControl(input))}\n style={this.question.inputStyle}\n maxLength={this.question.getMaxLength()}\n min={this.question.renderedMin}\n max={this.question.renderedMax}\n step={this.question.renderedStep}\n size={this.question.inputSize}\n placeholder={placeholder}\n list={this.question.dataListId}\n autoComplete={this.question.autocomplete}\n onBlur={this.question.onBlur}\n onFocus={this.question.onFocus}\n onChange={this.question.onChange}\n onKeyUp={this.question.onKeyUp}\n onKeyDown={this.question.onKeyDown}\n onCompositionUpdate={(event) => this.question.onCompositionUpdate(event.nativeEvent)}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n />\n {counter}\n </>\n );\n }\n protected renderElement(): JSX.Element {\n return (\n this.question.dataListId ?\n <div>\n { this.renderInput() }\n { this.renderDataList() }\n </div>:\n this.renderInput()\n );\n }\n private renderDataList(): JSX.Element | null {\n if (!this.question.dataListId) return null;\n var items = this.question.dataList;\n if (items.length == 0) return null;\n var options:Array<JSX.Element> = [];\n for (var i = 0; i < items.length; i++) {\n options.push(<option key={\"item\"+i} value={items[i]}></option>);\n }\n return <datalist id={this.question.dataListId}>{options}</datalist>;\n }\n // protected updateDomElement() {\n // this.control = this.controlRef.current;\n // super.updateDomElement();\n // }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"text\", (props) => {\n return React.createElement(SurveyQuestionText, props);\n});\n","import { SurveyModel, QuestionMatrixDropdownRenderedCell, SurveyElement, QuestionRowModel, ItemValue, QuestionSelectBase } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class ReactSurveyElementsWrapper {\n public static wrapRow(survey: SurveyModel, element: JSX.Element, row: QuestionRowModel): JSX.Element {\n const componentName = survey.getRowWrapperComponentName(row);\n const componentData = survey.getRowWrapperComponentData(row);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n row,\n componentData,\n });\n }\n public static wrapElement(survey: SurveyModel, element: JSX.Element, question: SurveyElement): JSX.Element {\n const componentName = survey.getElementWrapperComponentName(question);\n const componentData = survey.getElementWrapperComponentData(question);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n question,\n componentData,\n });\n }\n public static wrapQuestionContent(survey: SurveyModel, element: JSX.Element, question: SurveyElement): JSX.Element {\n const componentName = survey.getQuestionContentWrapperComponentName(question);\n const componentData = survey.getElementWrapperComponentData(question);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n question,\n componentData,\n });\n }\n public static wrapItemValue(survey: SurveyModel, element: JSX.Element, question: QuestionSelectBase, item: ItemValue): JSX.Element {\n const componentName = survey.getItemValueWrapperComponentName(item, question);\n const componentData = survey.getItemValueWrapperComponentData(item, question);\n return ReactElementFactory.Instance.createElement(componentName, {\n key: element?.key,\n element,\n question,\n item,\n componentData,\n });\n }\n public static wrapMatrixCell(survey: SurveyModel, element: JSX.Element, cell: QuestionMatrixDropdownRenderedCell, reason: string = \"cell\"): JSX.Element {\n const componentName = survey.getElementWrapperComponentName(cell, reason);\n const componentData = survey.getElementWrapperComponentData(cell, reason);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n cell,\n componentData,\n });\n }\n}\n\nSurveyModel.platform = \"react\";\n","import * as React from \"react\";\nimport { Base, SurveyTimerModel } from \"survey-core\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\n\nexport class SurveyTimerPanel extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected getStateElement(): Base {\n return this.timerModel;\n }\n protected get timerModel(): SurveyTimerModel {\n return this.props.model;\n }\n private readonly circleLength = 440;\n private get progress(): number {\n return -this.timerModel.progress * this.circleLength;\n }\n render(): JSX.Element | null {\n if(!this.timerModel.isRunning) {\n return null;\n }\n let result = <div className={this.timerModel.survey.getCss().timerRoot}>{this.timerModel.text}</div>;\n if(this.timerModel.showTimerAsClock) {\n let style = { strokeDasharray: this.circleLength, strokeDashoffset: this.progress };\n const progress = (this.timerModel.showProgress ? <SvgIcon className={this.timerModel.getProgressCss()} style={style} iconName={\"icon-timercircle\"} size={\"auto\"}></SvgIcon>: null);\n result =\n (<div className={this.timerModel.rootCss}>\n {progress}\n <div className={this.timerModel.textContainerCss}>\n <span className={this.timerModel.majorTextCss}>{this.timerModel.clockMajorText }</span>\n {(this.timerModel.clockMinorText ? <span className={this.timerModel.minorTextCss}>{this.timerModel.clockMinorText }</span> : null)}\n </div>\n </div>);\n }\n return result;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-timerpanel\", (props) => {\n return React.createElement(SurveyTimerPanel, props);\n});","import * as React from \"react\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { SurveyModel, Question, QuestionRowModel, IElement, Base } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyRowElement } from \"./element\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyRow extends SurveyElementBase<any, any> {\n private rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.rootRef = React.createRef();\n this.recalculateCss();\n }\n private recalculateCss() {\n this.row.visibleElements.map(element => (element as Question).cssClasses);\n }\n protected getStateElement(): Base {\n return this.row;\n }\n private get row(): QuestionRowModel {\n return this.props.row;\n }\n private get survey(): SurveyModel {\n return this.props.survey;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get css(): any {\n return this.props.css;\n }\n protected canRender(): boolean {\n return !!this.row && !!this.survey && !!this.creator && this.row.visible;\n }\n protected renderElementContent(): JSX.Element {\n const elements = this.row.visibleElements.map((element, elementIndex) => {\n const index = elementIndex ? \"-\" + elementIndex : 0;\n const key = element.name + index;\n return (\n <SurveyRowElement\n element={element}\n index={elementIndex}\n row={this.row}\n survey={this.survey}\n creator={this.creator}\n css={this.css}\n key={key}\n >\n </SurveyRowElement>\n );\n });\n\n return (\n <div ref={this.rootRef} className={this.row.getRowCss()} >\n {elements}\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n const survey: SurveyModel = this.survey as SurveyModel;\n const content = this.renderElementContent();\n const wrapper = ReactSurveyElementsWrapper.wrapRow(survey, content, this.row);\n return wrapper || content;\n }\n componentDidMount() {\n super.componentDidMount();\n var el = this.rootRef.current;\n if (!!el && !this.row.isNeedRender) {\n var rowContainerDiv = el;\n setTimeout(() => {\n this.row.startLazyRendering(rowContainerDiv);\n }, 10);\n }\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n\n if (nextProps.row !== this.row) {\n nextProps.row.isNeedRender = this.row.isNeedRender;\n this.stopLazyRendering();\n }\n this.recalculateCss();\n return true;\n }\n private stopLazyRendering() {\n this.row.stopLazyRendering();\n this.row.isNeedRender = !this.row.isLazyRendering();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopLazyRendering();\n }\n\n protected createElement(element: IElement, elementIndex?: number): JSX.Element {\n const index = elementIndex ? \"-\" + elementIndex : 0;\n var elementType = element.getType();\n if (!ReactElementFactory.Instance.isElementRegistered(elementType)) {\n elementType = \"question\";\n }\n return ReactElementFactory.Instance.createElement(elementType, {\n key: element.name + index,\n element: element,\n creator: this.creator,\n survey: this.survey,\n css: this.css,\n });\n }\n}\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionSignaturePadModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionSignaturePad extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.state = { value: this.question.value };\n }\n protected get question(): QuestionSignaturePadModel {\n return this.questionBase as QuestionSignaturePadModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var clearButton = this.renderCleanButton();\n return (\n <div className={cssClasses.root} ref={(root) => (this.setControl(root))} style={{ height: this.question.signatureHeight, width: this.question.signatureWidth }}>\n <div\n className={cssClasses.placeholder}\n style={{ display: this.question.needShowPlaceholder() ? \"\" : \"none\" }}\n >\n {this.question.placeHolderText}\n </div>\n <div>\n {this.renderBackgroundImage()}\n <canvas tabIndex={0} className={this.question.cssClasses.canvas}></canvas>\n </div>\n {clearButton}\n </div>\n );\n }\n\n renderBackgroundImage(): JSX.Element | null {\n if(!this.question.backgroundImage) return null;\n\n return <img className={this.question.cssClasses.backgroundImage} src={this.question.backgroundImage} width={this.question.signatureWidth} height= {this.question.signatureHeight}></img>;\n }\n\n renderCleanButton(): JSX.Element | null {\n if(!this.question.canShowClearButton) return null;\n\n var cssClasses = this.question.cssClasses;\n return <div className={cssClasses.controls}>\n <button\n type=\"button\"\n className={cssClasses.clearButton}\n title={this.question.clearButtonCaption}\n onClick={() => this.question.clearValue()}\n >\n {this.question.cssClasses.clearButtonIconId ? <SvgIcon iconName={this.question.cssClasses.clearButtonIconId} size={\"auto\"}></SvgIcon> : <span>✖</span>}\n </button>\n </div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"signaturepad\", (props) => {\n return React.createElement(SurveyQuestionSignaturePad, props);\n});\n","import React from \"react\";\r\nimport { LocalizableString } from \"survey-core\";\r\nimport { ReactElementFactory } from \"./element-factory\";\r\n\r\nexport class SurveyLocStringEditor extends React.Component<any, any> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { changed: 0 };\r\n }\r\n private get locStr(): LocalizableString {\r\n return this.props.locStr;\r\n }\r\n private get style(): any {\r\n return this.props.style;\r\n }\r\n componentDidMount() {\r\n if (!this.locStr) return;\r\n var self = this;\r\n this.locStr.onChanged = function () {\r\n self.setState({ changed: self.state.changed + 1 });\r\n };\r\n }\r\n componentWillUnmount() {\r\n if (!this.locStr) return;\r\n this.locStr.onChanged = function () {};\r\n }\r\n onInput = (event: any) => {\r\n this.locStr.text = event.target.innerText;\r\n };\r\n onClick = (event: any) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n render(): JSX.Element | null {\r\n if (!this.locStr) {\r\n return null;\r\n }\r\n if (this.locStr.hasHtml) {\r\n const htmlValue = { __html: this.locStr.renderedHtml };\r\n return (\r\n <span\r\n className=\"sv-string-editor\"\r\n contentEditable=\"true\"\r\n suppressContentEditableWarning={true}\r\n style={this.style}\r\n dangerouslySetInnerHTML={htmlValue}\r\n onBlur={this.onInput}\r\n onClick={this.onClick}\r\n />\r\n );\r\n }\r\n return (\r\n <span\r\n className=\"sv-string-editor\"\r\n contentEditable=\"true\"\r\n suppressContentEditableWarning={true}\r\n style={this.style}\r\n onBlur={this.onInput}\r\n onClick={this.onClick}\r\n >\r\n {this.locStr.renderedHtml}\r\n </span>\r\n );\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\r\n LocalizableString.editableRenderer,\r\n (props) => {\r\n return React.createElement(SurveyLocStringEditor, props);\r\n }\r\n);\r\n","import React from \"react\";\r\nimport { LocalizableString } from \"survey-core\";\r\nimport { ReactElementFactory } from \"./element-factory\";\r\n\r\nexport class SurveyLocStringViewer extends React.Component<any, any> {\r\n constructor(props: any) {\r\n super(props);\r\n this.rootRef = React.createRef();\r\n }\r\n private rootRef: React.RefObject<HTMLSpanElement>;\r\n private get locStr(): LocalizableString {\r\n return this.props.locStr;\r\n }\r\n private get style(): any {\r\n return this.props.style;\r\n }\r\n componentDidMount() {\r\n this.reactOnStrChanged();\r\n }\r\n componentWillUnmount() {\r\n if (!this.locStr) return;\r\n this.locStr.onStringChanged.remove(this.onChangedHandler);\r\n }\r\n componentDidUpdate(prevProps: any, prevState: any) {\r\n if(!!prevProps.locStr) {\r\n prevProps.locStr.onStringChanged.remove(this.onChangedHandler);\r\n }\r\n this.reactOnStrChanged();\r\n }\r\n private isRendering: boolean;\r\n private onChangedHandler = (sender: any, options: any) => {\r\n if(this.isRendering) return;\r\n this.setState({ changed: !!this.state && this.state.changed ? this.state.changed + 1 : 1 });\r\n }\r\n private reactOnStrChanged() {\r\n if (!this.locStr) return;\r\n this.locStr.onStringChanged.add(this.onChangedHandler);\r\n }\r\n render(): JSX.Element | null {\r\n if (!this.locStr) return null;\r\n this.isRendering = true;\r\n const strEl = this.renderString();\r\n this.isRendering = false;\r\n return strEl;\r\n }\r\n protected renderString(): JSX.Element {\r\n if (this.locStr.hasHtml) {\r\n let htmlValue = { __html: this.locStr.renderedHtml };\r\n return <span ref={this.rootRef} className=\"sv-string-viewer\" style={this.style} dangerouslySetInnerHTML={htmlValue} />;\r\n }\r\n return <span ref={this.rootRef} className=\"sv-string-viewer\" style={this.style}>{this.locStr.renderedHtml}</span>;\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\r\n LocalizableString.defaultRenderer,\r\n (props) => {\r\n return React.createElement(SurveyLocStringViewer, props);\r\n }\r\n);\r\n","import * as React from \"react\";\nimport { DropdownMultiSelectListModel, QuestionTagboxModel, Helpers, settings } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\ninterface ITagboxFilterProps {\n model: DropdownMultiSelectListModel;\n question: QuestionTagboxModel;\n}\n\nexport class TagboxFilterString extends SurveyElementBase<ITagboxFilterProps, any> {\n inputElement: HTMLInputElement | null;\n\n get model(): DropdownMultiSelectListModel {\n return this.props.model;\n }\n get question(): QuestionTagboxModel {\n return this.props.question;\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateDomElement();\n }\n componentDidMount() {\n super.componentDidMount();\n this.updateDomElement();\n }\n updateDomElement() {\n if (!!this.inputElement) {\n const control: any = this.inputElement;\n const newValue = this.model.inputStringRendered;\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true, false)) {\n control.value = this.model.inputStringRendered;\n }\n }\n }\n onChange(e: any) {\n const { root } = settings.environment;\n if (e.target === root.activeElement) {\n this.model.inputStringRendered = e.target.value;\n }\n }\n keyhandler(e: any) {\n this.model.inputKeyHandler(e);\n }\n onBlur(e: any) {\n this.model.onBlur(e);\n }\n onFocus(e: any) {\n this.model.onFocus(e);\n }\n constructor(props: any) {\n super(props);\n }\n getStateElement() {\n return this.model;\n }\n render(): JSX.Element {\n return (\n <div className={this.question.cssClasses.hint}>\n {this.model.showHintPrefix ?\n (<div className={this.question.cssClasses.hintPrefix}>\n <span>{this.model.hintStringPrefix}</span>\n </div>) : null}\n <div className={this.question.cssClasses.hintSuffixWrapper}>\n {this.model.showHintString ?\n (<div className={this.question.cssClasses.hintSuffix}>\n <span style={{ visibility: \"hidden\" }} data-bind=\"text: model.filterString\">{this.model.inputStringRendered}</span>\n <span>{this.model.hintStringSuffix}</span>\n </div>) : null}\n\n <input type=\"text\" autoComplete=\"off\"\n id={this.question.getInputId()}\n inputMode={this.model.inputMode}\n ref={(element) => (this.inputElement = element)}\n className={this.question.cssClasses.filterStringInput}\n disabled={this.question.isInputReadOnly}\n readOnly={!this.model.searchEnabled ? true : undefined}\n size={!this.model.inputStringRendered ? 1 : undefined}\n role={this.model.filterStringEnabled ? this.question.ariaRole : undefined}\n aria-label={this.question.placeholder}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={this.model.listElementId}\n aria-activedescendant={this.model.ariaActivedescendant}\n placeholder={this.model.filterStringPlaceholder}\n onKeyDown={(e) => { this.keyhandler(e); }}\n onChange={(e) => { this.onChange(e); }}\n onBlur={(e) => { this.onBlur(e); }}\n onFocus={(e) => { this.onFocus(e); }}\n ></input>\n </div>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"sv-tagbox-filter\", (props) => {\n return React.createElement(TagboxFilterString, props);\n});","import * as React from \"react\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\nimport { Base, QuestionTagboxModel, ItemValue } from \"survey-core\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionTagboxItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionTagboxModel {\n return this.props.question;\n }\n protected get item(): ItemValue {\n return this.props.item;\n }\n protected canRender(): boolean {\n return !!this.item && !!this.question;\n }\n protected renderElement(): JSX.Element {\n const text = this.renderLocString(this.item.locText);\n\n const removeItem = (event: any) => {\n this.question.dropdownListModel.deselectItem(this.item.value);\n event.stopPropagation();\n };\n\n return (\n <div className=\"sv-tagbox__item\">\n <div className=\"sv-tagbox__item-text\">{text}</div>\n <div\n className={ this.question.cssClasses.cleanItemButton}\n onClick={removeItem}\n >\n <SvgIcon\n className={this.question.cssClasses.cleanItemButtonSvg}\n iconName={this.question.cssClasses.cleanItemButtonIconId}\n size={\"auto\"}\n ></SvgIcon>\n </div>\n </div>\n );\n }\n}","import { IDialogOptions } from \"./popup\";\n\nexport type ISurveyEnvironment = {\n root: Document | ShadowRoot,\n rootElement: HTMLElement | ShadowRoot,\n popupMountContainer: HTMLElement | string,\n svgMountContainer: HTMLElement | string,\n stylesSheetsMountContainer: HTMLElement,\n}\nconst document = globalThis.document;\nconst defaultEnvironment: ISurveyEnvironment = <ISurveyEnvironment> (!!document ? {\n root: document,\n\n _rootElement: document.body,\n get rootElement(): HTMLElement | ShadowRoot {\n return this._rootElement ?? document.body;\n },\n set rootElement(rootElement: HTMLElement | ShadowRoot) {\n (this._rootElement as any) = rootElement;\n },\n\n _popupMountContainer: document.body,\n get popupMountContainer(): HTMLElement | string {\n return this._popupMountContainer ?? document.body;\n },\n set popupMountContainer(popupMountContainer: HTMLElement | string) {\n (this._popupMountContainer as any) = popupMountContainer;\n },\n svgMountContainer: document.head,\n stylesSheetsMountContainer: document.head,\n} : undefined);\nconst columnWidthsByType: { [index: string]: { minWidth?: string, width?: string } } = {\n \"file\": { minWidth: \"240px\" },\n \"comment\": { minWidth: \"200px\" }\n};\n/**\n * Global settings that apply to all surveys on the page. To specify one of the settings, use the code below:\n *\n * ```js\n * import { settings } from \"survey-core\";\n *\n * settings.settingName = \"value\";\n * ```\n */\n\nexport var settings = {\n /**\n * An object that configures survey appearance when the survey is being designed in Survey Creator.\n *\n * Nested properties:\n *\n * - `showEmptyDescriptions`: `Boolean`\\\n * Specifies whether to display an empty description for pages and panels. Default value: `true`.\n *\n * - `showEmptyTitles`: `Boolean`\\\n * Specifies whether to display an empty title for pages and panels. Default value: `true`.\n */\n designMode: {\n showEmptyDescriptions: true,\n showEmptyTitles: true\n },\n //#region designMode section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.designMode.showEmptyDescriptions`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.\n */\n get allowShowEmptyDescriptionInDesignMode(): boolean { return this.designMode.showEmptyDescriptions; },\n set allowShowEmptyDescriptionInDesignMode(val: boolean) { this.designMode.showEmptyDescriptions = val; },\n /**\n * This property is obsolete. Use the [`settings.designMode.showEmptyTitles`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.\n */\n get allowShowEmptyTitleInDesignMode(): boolean { return this.designMode.showEmptyTitles; },\n set allowShowEmptyTitleInDesignMode(val: boolean) { this.designMode.showEmptyTitles = val; },\n //#endregion\n\n /**\n * An object that contains properties related to localization.\n *\n * Nested properties:\n *\n * - `useLocalTimeZone`: `Boolean`\\\n * Disable this property if you want internal SurveyJS functions to use methods that work with UTC date and time (`setUTCDate()` `setUTCHours()`, etc.) instead of methods that work with local date and time (`setYear`, `setHours()`, etc.). Default value: `true`.\n *\n * - `defaultLocaleName`: `String`\\\n * A property key that stores a translation for the default locale. Default value: `\"default\"`.\n *\n * - `storeDuplicatedTranslations`: `Boolean`\\\n * Specifies whether surveys should store translation strings that equal the translation strings in the default locale. Default value: `false`.\n */\n localization: {\n useLocalTimeZone: true,\n storeDuplicatedTranslations: false,\n defaultLocaleName: \"default\"\n },\n //#region localization section, obsolete properties\n /**\n * This property is obsolete. Use the [`settings.localization.useLocalTimeZone`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.\n */\n get useLocalTimeZone(): boolean { return this.localization.useLocalTimeZone; },\n set useLocalTimeZone(val: boolean) { this.localization.useLocalTimeZone = val; },\n /**\n * This property is obsolete. Use the [`settings.localization.storeDuplicatedTranslations`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.\n */\n get storeDuplicatedTranslations(): boolean { return this.localization.storeDuplicatedTranslations; },\n set storeDuplicatedTranslations(val: boolean) { this.localization.storeDuplicatedTranslations = val; },\n /**\n * This property is obsolete. Use the [`settings.localization.defaultLocaleName`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.\n */\n get defaultLocaleName(): string { return this.localization.defaultLocaleName; },\n set defaultLocaleName(val: string) { this.localization.defaultLocaleName = val; },\n //#endregion\n /**\n * An object with properties that configure surveys when they work with a web service.\n *\n * Nested properties:\n *\n * - `encodeUrlParams`: `Boolean`\\\n * Specifies whether to encode URL parameters when you access a web service. Default value: `true`.\n *\n * - `cacheLoadedChoices`: `Boolean`\\\n * Specifies whether to cache [choices](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#choicesByUrl) loaded from a web service. Default value: `true`.\n *\n * - `disableQuestionWhileLoadingChoices`: `Boolean`\\\n * Disables a question while its choices are being loaded from a web service. Default value: `false`.\n *\n * - `surveyServiceUrl`: `String`\\\n * The URL of the SurveyJS Service API endpoint.\n */\n web: {\n encodeUrlParams: true,\n cacheLoadedChoices: true,\n disableQuestionWhileLoadingChoices: false,\n surveyServiceUrl: \"https://api.surveyjs.io/public/v1/Survey\"\n },\n //#region web section, obsolete properties\n /**\n * This property is obsolete. Use the [`settings.web.encodeUrlParams`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get webserviceEncodeParameters(): boolean { return this.web.encodeUrlParams; },\n set webserviceEncodeParameters(val: boolean) { this.web.encodeUrlParams = val; },\n /**\n * This property is obsolete. Use the [`settings.web.cacheLoadedChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get useCachingForChoicesRestful(): boolean { return this.web.cacheLoadedChoices; },\n set useCachingForChoicesRestful(val: boolean) { this.web.cacheLoadedChoices = val; },\n get useCachingForChoicesRestfull(): boolean { return this.web.cacheLoadedChoices; },\n set useCachingForChoicesRestfull(val: boolean) { this.web.cacheLoadedChoices = val; },\n /**\n * This property is obsolete. Use the [`settings.web.disableQuestionWhileLoadingChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get disableOnGettingChoicesFromWeb(): boolean { return this.web.disableQuestionWhileLoadingChoices; },\n set disableOnGettingChoicesFromWeb(val: boolean) { this.web.disableQuestionWhileLoadingChoices = val; },\n /**\n * This property is obsolete. Use the [`settings.web.surveyServiceUrl`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get surveyServiceUrl(): string { return this.web.surveyServiceUrl; },\n set surveyServiceUrl(val: string) { this.web.surveyServiceUrl = val; },\n //#endregion\n\n /**\n * An object that contains properties related to [triggers](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers).\n *\n * Nested properties:\n *\n * - `changeNavigationButtonsOnComplete`: `Boolean`\\\n * Specifies whether to re-evaluate an expression associated with the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `false`.\\\n * Keep this property set to `false` if you want to re-evaluate the Complete trigger's expression only when the respondents navigate to another page.\n *\n * - `executeCompleteOnValueChanged`: `Boolean`\\\n * Specifies whether to replace the Next button with the Complete button when the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) is going to be executed. Default value: `true`.\n *\n * - `executeSkipOnValueChanged`: `Boolean`\\\n * Specifies whether to re-evaluate an expression associated with the [Skip trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#skip) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `true`.\\\n * Disable this property if you want to re-evaluate the Skip trigger's expression only when respondents navigate to another page.\n */\n triggers: {\n changeNavigationButtonsOnComplete: true,\n executeCompleteOnValueChanged: false,\n executeSkipOnValueChanged: true\n },\n //#region triggers section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.triggers.executeCompleteOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.\n */\n get executeCompleteTriggerOnValueChanged(): boolean { return this.triggers.executeCompleteOnValueChanged; },\n set executeCompleteTriggerOnValueChanged(val: boolean) { this.triggers.executeCompleteOnValueChanged = val; },\n /**\n * This property is obsolete. Use the [`settings.triggers.changeNavigationButtonsOnComplete`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.\n */\n get changeNavigationButtonsOnCompleteTrigger(): boolean { return this.triggers.changeNavigationButtonsOnComplete; },\n set changeNavigationButtonsOnCompleteTrigger(val: boolean) { this.triggers.changeNavigationButtonsOnComplete = val; },\n /**\n * This property is obsolete. Use the [`settings.triggers.executeSkipOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.\n */\n get executeSkipTriggerOnValueChanged(): boolean { return this.triggers.executeSkipOnValueChanged; },\n set executeSkipTriggerOnValueChanged(val: boolean) { this.triggers.executeSkipOnValueChanged = val; },\n //#endregion\n\n /**\n * An object that contains properties related to JSON serialization.\n *\n * Nested properties:\n *\n * - `itemValueSerializeAsObject`: `Boolean`\\\n * Enable this property if you want to serialize [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) instances as objects even when they include only the `value` property. Default value: `false`. View an example below.\n *\n * - `itemValueSerializeDisplayText`: `Boolean`\\\n * Enable this property if you want to serialize the `text` property of [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) objects even when it is empty or equal to the `value` property. Default value: `false`. View an example below.\n *\n * - `localizableStringSerializeAsObject`: `Boolean`\\\n * Enable this property if you want to serialize [`LocalizableString`](https://surveyjs.io/form-library/documentation/api-reference/localizablestring) instances as objects even when they include only a translation string for the default locale. For example, `\"Custom String\"` will be serialized as `{ default: \"Custom String\" }`. Default value: `false`.\n *\n * ```js\n * import { ItemValue, settings } from \"survey-core\";\n *\n * // `itemValueSerializeAsObject` example\n * settings.localization.itemValueSerializeAsObject = true;\n * const item = new ItemValue(5);\n * const itemString = item.toJSON(); // Produces { value: 5 } instead of 5\n *\n * // `itemValueSerializeDisplayText` example\n * settings.localization.itemValueSerializeDisplayText = true;\n * const item = new ItemValue(\"item1\");\n * const itemString = item.toJSON(); // Produces { value: \"item1\", text: \"item1\" } instead of \"item1\"\n * ```\n */\n serialization: {\n itemValueSerializeAsObject: false,\n itemValueSerializeDisplayText: false,\n localizableStringSerializeAsObject: false\n },\n //#region serialization section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.serialization.itemValueSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.\n */\n get itemValueAlwaysSerializeAsObject(): boolean { return this.serialization.itemValueSerializeAsObject; },\n set itemValueAlwaysSerializeAsObject(val: boolean) { this.serialization.itemValueSerializeAsObject = val; },\n /**\n * This property is obsolete. Use the [`settings.serialization.itemValueSerializeDisplayText`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.\n */\n get itemValueAlwaysSerializeText(): boolean { return this.serialization.itemValueSerializeDisplayText; },\n set itemValueAlwaysSerializeText(val: boolean) { this.serialization.itemValueSerializeDisplayText = val; },\n /**\n * This property is obsolete. Use the [`settings.serialization.localizableStringSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.\n */\n get serializeLocalizableStringAsObject(): boolean { return this.serialization.localizableStringSerializeAsObject; },\n set serializeLocalizableStringAsObject(val: boolean) { this.serialization.localizableStringSerializeAsObject = val; },\n //#endregion\n /**\n * An object that configures lazy rendering.\n *\n * Nested properties:\n *\n * - `enabled`: `Boolean`\\\n * Specifies whether to add questions to the DOM only when they get into the viewport. Default value: `false`.\n *\n * > Lazy rendering is an experimental feature that may not work as expected in all use cases.\n */\n lazyRender: {\n enabled: false,\n firstBatchSize: 3\n },\n //#region lazyRender section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.lazyRender.enabled`](https://surveyjs.io/form-library/documentation/api-reference/settings#lazyRender) property instead.\n */\n get lazyRowsRendering(): boolean { return this.lazyRender.enabled; },\n set lazyRowsRendering(val: boolean) { this.lazyRender.enabled = val; },\n get lazyRowsRenderingStartRow(): number { return this.lazyRender.firstBatchSize; },\n set lazyRowsRenderingStartRow(val: number) { this.lazyRender.firstBatchSize = val; },\n //#endregion\n /**\n * An object with properties that apply to [Single-Choice](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model), [Multiple-Choice](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list), and [Dynamic Matrix](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model) questions.\n *\n * Nested properties:\n *\n * - `defaultRowName`: `String`\\\n * A property key that stores an object with default cell values. Default value: \"default\".\n *\n * - `defaultCellType`: `String`\\\n * The default type of matrix cells. Default value: `\"dropdown\"`.\\\n * You can specify this setting for individual questions or matrix columns: [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#cellType). Refer to the `cellType` property description for information on possible values.\n *\n * - `totalsSuffix`: `String`\\\n * A suffix added to the name of the property that stores total values. The resulting property name consists of the matrix name and the suffix. Default value: `\"-total\"`.\n *\n * - `maxRowCount`: `Number`\\\n * A maximum number of rows in a Dynamic Matrix. Default value: 1000.\\\n * You can specify this setting for an individual Dynamic Matrix: [`maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#maxRowCount).\n *\n * - `maxRowCountInCondition`: `Number`\\\n * A maximum number of matrix rows included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\\\n * If you set this property to 0, the Condition menu does not include any matrix rows. Users still can specify conditions that use matrix rows but only with Manual Entry.\n *\n * - `renderRemoveAsIcon`: `Boolean`\\\n * Disable this property if you want to render the Remove action in Dynamic Matrix as a button. Otherwise, the action is rendered as an icon. Default value: `true`.\n *\n * - `columnWidthsByType`: `Object`\\\n * An object that specifies fixed and minimum column width based on the column type.\\\n * Example: `settings.matrix.columnWidthsByType = { \"tagbox\": { minWidth: \"240px\", width: \"300px\" } }`\n *\n * - `rateSize`: `\"small\"` (default) | `\"normal\"`\\\n * Specifies the size of rate values. Applies to [Rating Scale](https://surveyjs.io/form-library/examples/rating-scale/) questions within matrixes.\n */\n matrix: {\n defaultCellType: \"dropdown\",\n defaultRowName: \"default\",\n totalsSuffix: \"-total\",\n maxRowCount: 1000,\n maxRowCountInCondition: 1,\n renderRemoveAsIcon: true,\n columnWidthsByType: columnWidthsByType,\n rateSize: \"small\" as \"small\" | \"normal\",\n },\n //#region matrix section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.matrix.defaultRowName`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixDefaultRowName(): string { return this.matrix.defaultRowName; },\n set matrixDefaultRowName(val: string) { this.matrix.defaultRowName = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.defaultCellType`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixDefaultCellType(): string { return this.matrix.defaultCellType; },\n set matrixDefaultCellType(val: string) { this.matrix.defaultCellType = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.totalsSuffix`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixTotalValuePostFix(): string { return this.matrix.totalsSuffix; },\n set matrixTotalValuePostFix(val: string) { this.matrix.totalsSuffix = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixMaximumRowCount(): number { return this.matrix.maxRowCount; },\n set matrixMaximumRowCount(val: number) { this.matrix.maxRowCount = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.maxRowCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixMaxRowCountInCondition(): number { return this.matrix.maxRowCountInCondition; },\n set matrixMaxRowCountInCondition(val: number) { this.matrix.maxRowCountInCondition = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.renderRemoveAsIcon`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixRenderRemoveAsIcon(): boolean { return this.matrix.renderRemoveAsIcon; },\n set matrixRenderRemoveAsIcon(val: boolean) { this.matrix.renderRemoveAsIcon = val; },\n //#endregion\n /**\n * An object with properties that apply to [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) questions.\n *\n * Nested properties:\n *\n * - `maxPanelCount`: `Number`\\\n * A maximum number of panels in Dynamic Panel. Default value: 100.\\\n * You can specify this setting for an individual Dynamic Panel: [`maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#maxPanelCount).\n *\n * - `maxPanelCountInCondition`: `Number`\\\n * A maximum number of Dynamic Panel panels included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\\\n * If you set this property to 0, the Condition menu does not include any panel questions. Users still can specify conditions that use panel questions but only with Manual Entry.\n */\n panel: {\n maxPanelCount: 100,\n maxPanelCountInCondition: 1\n },\n //#region panel section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.panel.maxPanelCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.\n */\n get panelDynamicMaxPanelCountInCondition(): number { return this.panel.maxPanelCountInCondition; },\n set panelDynamicMaxPanelCountInCondition(val: number) { this.panel.maxPanelCountInCondition = val; },\n /**\n * This property is obsolete. Use the [`settings.panel.maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.\n */\n get panelMaximumPanelCount(): number { return this.panel.maxPanelCount; },\n set panelMaximumPanelCount(val: number) { this.panel.maxPanelCount = val; },\n //#endregion\n /**\n * An object with properties that configure questions in read-only mode.\n *\n * Nested properties:\n *\n * - `commentRenderMode`: `\"textarea\"` (default) | `\"div\"`\\\n * Specifies how to render the input field of [Comment](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model) questions in [read-only](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model#readOnly) mode: as a disabled `<textarea>` element or as a `<div>` element with a non-editable question value within it.\n *\n * - `textRenderMode`: `\"input\"` (default) | `\"div\"`\\\n * Specifies how to render the input field of [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) questions in [read-only](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#readOnly) mode: as a disabled `<input>` element or as a `<div>` element with a non-editable question value within it.\n */\n readOnly: {\n enableValidation: false,\n commentRenderMode: \"textarea\",\n textRenderMode: \"input\"\n },\n //#region readOnly section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.readOnly.commentRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.\n */\n get readOnlyCommentRenderMode(): string { return this.readOnly.commentRenderMode; },\n set readOnlyCommentRenderMode(val: string) { this.readOnly.commentRenderMode = val; },\n /**\n * This property is obsolete. Use the [`settings.readOnly.textRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.\n */\n get readOnlyTextRenderMode(): string { return this.readOnly.textRenderMode; },\n set readOnlyTextRenderMode(val: string) { this.readOnly.textRenderMode = val; },\n //#endregion\n /**\n * An object with properties that configure question numbering.\n *\n * Nested properties:\n *\n * - `includeQuestionsWithHiddenNumber`: `Boolean`\\\n * Specifies whether to number questions whose [`hideNumber`](https://surveyjs.io/form-library/documentation/api-reference/question#hideNumber) property is enabled. Default value: `false`.\n *\n * - `includeQuestionsWithHiddenTitle`: `Boolean`\\\n * Specifies whether to number questions whose [`titleLocation`](https://surveyjs.io/form-library/documentation/api-reference/question#titleLocation) property is set to `\"hidden\"`. Default value: `false`.\n */\n numbering: {\n includeQuestionsWithHiddenNumber: false,\n includeQuestionsWithHiddenTitle: false\n },\n //#region numbering section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenTitle`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.\n */\n get setQuestionVisibleIndexForHiddenTitle(): boolean { return this.numbering.includeQuestionsWithHiddenTitle; },\n set setQuestionVisibleIndexForHiddenTitle(val: boolean) { this.numbering.includeQuestionsWithHiddenTitle = val; },\n /**\n * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenNumber`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.\n */\n get setQuestionVisibleIndexForHiddenNumber(): boolean { return this.numbering.includeQuestionsWithHiddenNumber; },\n set setQuestionVisibleIndexForHiddenNumber(val: boolean) { this.numbering.includeQuestionsWithHiddenNumber = val; },\n //#endregion\n /**\n * Specifies an action to perform when users press the Enter key within a survey.\n *\n * Possible values:\n *\n * - `\"moveToNextEditor\"` - Moves focus to the next editor.\n * - `\"loseFocus\"` - Removes focus from the current editor.\n * - `\"default\"` - Behaves as a standard `<input>` element.\n */\n enterKeyAction: \"default\" as \"moveToNextEditor\" | \"loseFocus\" | \"default\",\n /**\n * An object that configures string comparison.\n *\n * Nested properties:\n *\n * - `trimStrings`: `Boolean`\\\n * Specifies whether to remove whitespace from both ends of a string before the comparison. Default value: `true`.\n *\n * - `caseSensitive`: `Boolean`\\\n * Specifies whether to differentiate between capital and lower-case letters. Default value: `false`.\n */\n comparator: {\n trimStrings: true,\n caseSensitive: false,\n normalizeTextCallback: (str: string, reason: string): string => { return str; }\n },\n expressionDisableConversionChar: \"#\",\n get commentPrefix(): string { return settings.commentSuffix; },\n set commentPrefix(val: string) { settings.commentSuffix = val; },\n /**\n * A suffix added to the name of the property that stores comments.\n *\n * Default value: \"-Comment\"\n *\n * You can specify this setting for an individual survey: [`commentSuffix`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#commentSuffix).\n */\n commentSuffix: \"-Comment\",\n /**\n * A separator used in a shorthand notation that specifies a value and display text for an [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) object: `\"value|text\"`.\n *\n * Default value: `\"|\"`\n */\n itemValueSeparator: \"|\",\n /**\n * A maximum number of rate values in a [Rating](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) question.\n *\n * Default value: 20\n */\n ratingMaximumRateValueCount: 20,\n /**\n * Specifies whether to close the drop-down menu of a [TagBox](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/) question after a user selects a value.\n *\n * This setting applies to all TagBox questions on a page. You can use the [closeOnSelect](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model#closeOnSelect) property to specify the same setting for an individual TagBox question.\n */\n tagboxCloseOnSelect: false,\n /**\n * A property that allows you to display a custom confirm dialog instead of the standard browser dialog.\n *\n * Set this property to a function that renders your custom dialog window. This function should return `true` if a user confirms an action or `false` otherwise.\n * @param message A message to be displayed in the confirm dialog window.\n */\n confirmActionFunc: function (message: string): boolean {\n return confirm(message);\n },\n /**\n * A property that allows you to display a custom confirm dialog instead of the standard browser dialog in async mode.\n *\n * Set this property to a function that renders your custom dialog window. This function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.\n * @param message A message to be displayed in the confirm dialog window.\n * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.\n */\n confirmActionAsync: function (message: string, callback: (res: boolean) => void): boolean {\n return false;\n },\n /**\n * A minimum width value for all survey elements.\n *\n * Default value: `\"300px\"`\n *\n * You can override this setting for individual elements: [`minWidth`](https://surveyjs.io/form-library/documentation/api-reference/surveyelement#minWidth).\n */\n minWidth: \"300px\",\n /**\n * A maximum width value for all survey elements.\n *\n * Default value: `\"100%\"`\n *\n * You can override this setting for individual elements: [`maxWidth`](https://surveyjs.io/form-library/documentation/api-reference/surveyelement#maxWidth).\n */\n maxWidth: \"100%\",\n /**\n * Specifies how many times surveys can re-evaluate expressions when a question value changes. This limit helps avoid recursions in expressions.\n *\n * Default value: 10\n */\n maxConditionRunCountOnValueChanged: 10,\n /**\n * An object that configures notifications.\n *\n * Nested properties:\n *\n * - `lifetime`: `Number`\\\n * Specifies a time period during which a notification is displayed; measured in milliseconds.\n */\n notifications: {\n lifetime: 2000\n },\n /**\n * Specifies the direction in which to lay out Checkbox and Radiogroup items. This setting affects the resulting UI when items are arranged in [more than one column](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#colCount).\n *\n * Possible values:\n *\n * - `\"row\"` (default) - Items fill the current row, then move on to the next row.\n * - `\"column\"` - Items fill the current column, then move on to the next column.\n */\n showItemsInOrder: \"default\",\n /**\n * A value to save in survey results when respondents select the None choice item.\n *\n * Default value: `\"none\"`\n */\n noneItemValue: \"none\",\n /**\n * A list of supported validators by question type.\n */\n supportedValidators: {\n question: [\"expression\"],\n comment: [\"text\", \"regex\"],\n text: [\"numeric\", \"text\", \"regex\", \"email\"],\n checkbox: [\"answercount\"],\n imagepicker: [\"answercount\"],\n },\n /**\n * Specifies a minimum date that users can enter into a [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) question with [`inputType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#inputType) set to `\"date\"` or `\"datetime-local\"`. Set this property to a string with the folllowing format: `\"yyyy-mm-dd\"`.\n */\n minDate: \"\",\n /**\n * Specifies a maximum date that users can enter into a [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) question with [`inputType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#inputType) set to `\"date\"` or `\"datetime-local\"`. Set this property to a string with the folllowing format: `\"yyyy-mm-dd\"`.\n */\n maxDate: \"\",\n showModal: <\n (\n componentName: string,\n data: any,\n onApply: () => boolean,\n onCancel?: () => void,\n cssClass?: string,\n title?: string,\n displayMode?: \"popup\" | \"overlay\"\n ) => any\n >undefined,\n showDialog: < (options: IDialogOptions, rootElement?: HTMLElement) => any >undefined,\n supportCreatorV2: false,\n showDefaultItemsInCreatorV2: true,\n /**\n * An object that specifies icon replacements. Object keys are built-in icon names. To use a custom icon, assign its name to the key of the icon you want to replace:\n *\n * ```js\n * import { settings } from \"survey-core\";\n *\n * settings.customIcons[\"icon-redo\"] = \"custom-redo-icon\";\n * ```\n *\n * For more information about icons in SurveyJS, refer to the following help topic: [UI Icons](https://surveyjs.io/form-library/documentation/icons).\n */\n customIcons: {},\n /**\n * Specifies which part of a choice item responds to a drag gesture in Ranking questions.\n *\n * Possible values:\n *\n * - `\"entireItem\"` (default) - Users can use the entire choice item as a drag handle.\n * - `\"icon\"` - Users can only use the choice item icon as a drag handle.\n */\n rankingDragHandleArea: \"entireItem\",\n\n environment: defaultEnvironment,\n\n /**\n * Allows you to hide the maximum length indicator in text input questions.\n *\n * If you specify a question's [`maxLength`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maxLength) property or a survey's [`maxTextLength`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#maxTextLength) property, text input questions indicate the number of entered characters and the character limit. Assign `false` to the `settings.showMaxLengthIndicator` property if you want to hide this indicator.\n *\n * Default value: `true`\n */\n showMaxLengthIndicator: true,\n\n /**\n * An object that specifies heading levels (`<h1>`, `<h2>`, etc.) to use when rendering survey, page, panel, and question titles.\n *\n * Default value: `{ survey: \"h3\", page: \"h4\", panel: \"h4\", question: \"h5\" }`\n *\n * If you want to modify heading levels for individual titles, handle `SurveyModel`'s [`onGetTitleTagName`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetTitleTagName) event.\n */\n titleTags: {\n survey: \"h3\",\n page: \"h4\",\n panel: \"h4\",\n question: \"h5\",\n },\n questions: {\n inputTypes: [\n \"color\",\n \"date\",\n \"datetime-local\",\n \"email\",\n \"month\",\n \"number\",\n \"password\",\n \"range\",\n \"tel\",\n \"text\",\n \"time\",\n \"url\",\n \"week\",\n ],\n dataList: [\n \"\",\n \"name\",\n \"honorific-prefix\",\n \"given-name\",\n \"additional-name\",\n \"family-name\",\n \"honorific-suffix\",\n \"nickname\",\n \"organization-title\",\n \"username\",\n \"new-password\",\n \"current-password\",\n \"organization\",\n \"street-address\",\n \"address-line1\",\n \"address-line2\",\n \"address-line3\",\n \"address-level4\",\n \"address-level3\",\n \"address-level2\",\n \"address-level1\",\n \"country\",\n \"country-name\",\n \"postal-code\",\n \"cc-name\",\n \"cc-given-name\",\n \"cc-additional-name\",\n \"cc-family-name\",\n \"cc-number\",\n \"cc-exp\",\n \"cc-exp-month\",\n \"cc-exp-year\",\n \"cc-csc\",\n \"cc-type\",\n \"transaction-currency\",\n \"transaction-amount\",\n \"language\",\n \"bday\",\n \"bday-day\",\n \"bday-month\",\n \"bday-year\",\n \"sex\",\n \"url\",\n \"photo\",\n \"tel\",\n \"tel-country-code\",\n \"tel-national\",\n \"tel-area-code\",\n \"tel-local\",\n \"tel-local-prefix\",\n \"tel-local-suffix\",\n \"tel-extension\",\n \"email\",\n \"impp\",\n ]\n }\n};","import { Action } from \"../actions/action\";\nimport { AdaptiveActionContainer } from \"../actions/adaptive-container\";\nimport { isContainerVisible } from \"./utils\";\n\ninterface IDimensions {\n scroll: number;\n offset: number;\n}\n\nexport class ResponsivityManager {\n private resizeObserver: ResizeObserver = undefined;\n private isInitialized = false;\n protected minDimensionConst = 56;\n private separatorSize = 17;\n private separatorAddConst = 1;\n private paddingSizeConst = 8;\n private dotsSizeConst = 48;\n protected recalcMinDimensionConst = true;\n\n public getComputedStyle: (\n elt: Element\n ) => CSSStyleDeclaration = window.getComputedStyle.bind(window);\n\n constructor(\n protected container: HTMLDivElement,\n private model: AdaptiveActionContainer,\n private itemsSelector: string,\n private dotsItemSize: number = null,\n ) {\n this.model.updateCallback = (isResetInitialized: boolean) => {\n if (isResetInitialized)\n this.isInitialized = false;\n setTimeout(() => { this.process(); }, 1);\n };\n if (typeof ResizeObserver !== \"undefined\") {\n this.resizeObserver = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n window.requestAnimationFrame((): void | undefined => {\n this.process();\n });\n });\n this.resizeObserver.observe(this.container.parentElement);\n }\n }\n\n protected getDimensions(element: HTMLElement): IDimensions {\n return {\n scroll: element.scrollWidth,\n offset: element.offsetWidth,\n };\n }\n\n protected getAvailableSpace(): number {\n const style: CSSStyleDeclaration = this.getComputedStyle(this.container);\n let space = this.container.offsetWidth;\n if (style.boxSizing === \"border-box\") {\n space -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n }\n return space;\n }\n\n protected calcItemSize(item: HTMLDivElement): number {\n return item.offsetWidth;\n }\n\n private calcMinDimension(currentAction: Action) {\n let minDimensionConst = this.minDimensionConst;\n if (currentAction.iconSize && this.recalcMinDimensionConst) {\n minDimensionConst = 2 * currentAction.iconSize + this.paddingSizeConst;\n }\n return currentAction.canShrink\n ? minDimensionConst +\n (currentAction.needSeparator ? this.separatorSize : 0)\n : currentAction.maxDimension;\n }\n\n private calcItemsSizes() {\n const actions = this.model.actions;\n const _items = this.container.querySelectorAll(this.itemsSelector);\n (_items || []).forEach((item: HTMLDivElement, index: number) => {\n let currentAction = actions[index];\n this.calcActionDimensions(currentAction, item);\n });\n }\n protected calcActionDimensions(currentAction: Action, item: HTMLDivElement) {\n currentAction.maxDimension = this.calcItemSize(item);\n currentAction.minDimension = this.calcMinDimension(currentAction);\n }\n private get isContainerVisible(): boolean {\n return isContainerVisible(this.container);\n }\n private process(): void {\n if (this.isContainerVisible && !this.model.isResponsivenessDisabled) {\n if (!this.isInitialized) {\n this.model.setActionsMode(\"large\");\n this.calcItemsSizes();\n this.isInitialized = true;\n }\n let dotsItemSize = this.dotsItemSize;\n if (!this.dotsItemSize) {\n const dotsItemElement: HTMLDivElement = this.container?.querySelector(\".sv-dots\");\n dotsItemSize = dotsItemElement && this.calcItemSize(dotsItemElement) || this.dotsSizeConst;\n }\n this.model.fit(this.getAvailableSpace(), dotsItemSize);\n }\n }\n\n public dispose(): void {\n this.model.updateCallback = undefined;\n if (!!this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n}\n\nexport class VerticalResponsivityManager extends ResponsivityManager {\n constructor(\n container: HTMLDivElement,\n model: AdaptiveActionContainer,\n itemsSelector: string,\n dotsItemSize?: number,\n minDimension = 40\n ) {\n super(container, model, itemsSelector, dotsItemSize);\n this.minDimensionConst = minDimension;\n this.recalcMinDimensionConst = false;\n }\n\n protected getDimensions(): IDimensions {\n return {\n scroll: this.container.scrollHeight,\n offset: this.container.offsetHeight,\n };\n }\n\n protected getAvailableSpace(): number {\n const style: CSSStyleDeclaration = this.getComputedStyle(this.container);\n let space: number = this.container.offsetHeight;\n if (style.boxSizing === \"border-box\") {\n space -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom);\n }\n return space;\n }\n\n protected calcItemSize(item: HTMLDivElement): number {\n return item.offsetHeight;\n }\n protected calcActionDimensions(currentAction: Action, item: HTMLDivElement) {\n currentAction.maxDimension = this.calcItemSize(item);\n currentAction.minDimension = this.calcItemSize(item);\n }\n}\n","import { settings, ISurveyEnvironment } from \"./../settings\";\n\nfunction compareVersions(a: any, b: any) {\n const regExStrip0: RegExp = /(\\.0+)+$/;\n const segmentsA: string[] = a.replace(regExStrip0, \"\").split(\".\");\n const segmentsB: string[] = b.replace(regExStrip0, \"\").split(\".\");\n const len: number = Math.min(segmentsA.length, segmentsB.length);\n for (let i: number = 0; i < len; i++) {\n const diff: number =\n parseInt(segmentsA[i], 10) - parseInt(segmentsB[i], 10);\n if (diff) {\n return diff;\n }\n }\n return segmentsA.length - segmentsB.length;\n}\nfunction confirmAction(message: string): boolean {\n if (!!settings && !!settings.confirmActionFunc)\n return settings.confirmActionFunc(message);\n return confirm(message);\n}\nfunction confirmActionAsync(message: string, funcOnYes: () => void, funcOnNo?: () => void): void {\n const callbackFunc = (res: boolean): void => {\n if(res) funcOnYes();\n else if(!!funcOnNo) funcOnNo();\n };\n if(!!settings && !!settings.confirmActionAsync) {\n if(settings.confirmActionAsync(message, callbackFunc)) return;\n }\n callbackFunc(confirmAction(message));\n}\nfunction detectIEBrowser(): boolean {\n if (typeof window === \"undefined\") return false;\n const ua: string = window.navigator.userAgent;\n const oldIe: number = ua.indexOf(\"MSIE \");\n const elevenIe: number = ua.indexOf(\"Trident/\");\n return oldIe > -1 || elevenIe > -1;\n}\nfunction detectIEOrEdge(): boolean {\n if (typeof window === \"undefined\") return false;\n if (typeof (<any>detectIEOrEdge).isIEOrEdge === \"undefined\") {\n const ua: string = window.navigator.userAgent;\n const msie: number = ua.indexOf(\"MSIE \");\n const trident: number = ua.indexOf(\"Trident/\");\n const edge: number = ua.indexOf(\"Edge/\");\n (<any>detectIEOrEdge).isIEOrEdge = edge > 0 || trident > 0 || msie > 0;\n }\n return (<any>detectIEOrEdge).isIEOrEdge;\n}\nfunction loadFileFromBase64(b64Data: string, fileName: string): void {\n try {\n const byteString: string = atob(b64Data.split(\",\")[1]);\n\n // separate out the mime component\n const mimeString: string = b64Data\n .split(\",\")[0]\n .split(\":\")[1]\n .split(\";\")[0];\n\n // write the bytes of the string to an ArrayBuffer\n const ab: ArrayBuffer = new ArrayBuffer(byteString.length);\n const ia: Uint8Array = new Uint8Array(ab);\n for (let i = 0; i < byteString.length; i++) {\n ia[i] = byteString.charCodeAt(i);\n }\n // write the ArrayBuffer to a blob, and you're done\n const bb: Blob = new Blob([ab], { type: mimeString });\n if (\n typeof window !== \"undefined\" &&\n window.navigator &&\n (<any>window.navigator)[\"msSaveBlob\"]\n ) {\n (<any>window.navigator)[\"msSaveOrOpenBlob\"](bb, fileName);\n }\n } catch (err) { }\n}\nfunction isMobile(): boolean {\n return (\n typeof window !== \"undefined\" && typeof window.orientation !== \"undefined\"\n );\n}\n\nconst isShadowDOM = (rootElement: Document | ShadowRoot | HTMLElement): rootElement is ShadowRoot => {\n return !!rootElement && !!(\"host\" in rootElement && rootElement.host);\n};\n\nconst getElement = (element: HTMLElement | string): HTMLElement => {\n const { root }: ISurveyEnvironment = settings.environment;\n return typeof element === \"string\" ? root.getElementById(element) : element;\n};\n\nfunction isElementVisible(\n element: HTMLElement,\n threshold: number = 0\n): boolean {\n if (typeof settings.environment === \"undefined\") {\n return false;\n }\n\n const { root }: ISurveyEnvironment = settings.environment;\n const clientHeight = isShadowDOM(root)\n ? root.host.clientHeight\n : root.documentElement.clientHeight;\n const elementRect: DOMRect = element.getBoundingClientRect();\n const viewHeight: number = Math.max(\n clientHeight,\n window.innerHeight\n );\n const topWin: number = -threshold;\n const bottomWin: number = viewHeight + threshold;\n const topEl: number = elementRect.top;\n const bottomEl: number = elementRect.bottom;\n\n const maxTop: number = Math.max(topWin, topEl);\n const minBottom: number = Math.min(bottomWin, bottomEl);\n return maxTop <= minBottom;\n}\n\nfunction findScrollableParent(element: HTMLElement): HTMLElement {\n const { root }: ISurveyEnvironment = settings.environment;\n if (!element) {\n return isShadowDOM(root)\n ? root.host as HTMLElement\n : root.documentElement;\n }\n if (\n element.scrollHeight > element.clientHeight &&\n (getComputedStyle(element).overflowY === \"scroll\" ||\n getComputedStyle(element).overflowY === \"auto\")\n ) {\n return element;\n }\n\n if (\n element.scrollWidth > element.clientWidth &&\n (getComputedStyle(element).overflowX === \"scroll\" ||\n getComputedStyle(element).overflowX === \"auto\")\n ) {\n return element;\n }\n\n return findScrollableParent(element.parentElement);\n}\n\nfunction scrollElementByChildId(id: string) {\n const environment : ISurveyEnvironment = settings.environment;\n if (!environment) return;\n const { root } = environment;\n const el = root.getElementById(id);\n if (!el) return;\n const scrollableEl = findScrollableParent(el);\n if (!!scrollableEl) {\n scrollableEl.dispatchEvent(new CustomEvent(\"scroll\"));\n }\n}\n\nfunction navigateToUrl(url: string): void {\n if (!url || typeof window === \"undefined\" || !window.location) return;\n window.location.href = url;\n}\n\nfunction wrapUrlForBackgroundImage(url: string): string {\n return !!url ? [\"url(\", url, \")\"].join(\"\") : \"\";\n}\n\nfunction getIconNameFromProxy(iconName: string): string {\n if (!iconName) return iconName;\n var proxyName = (<any>settings.customIcons)[iconName];\n return !!proxyName ? proxyName : iconName;\n}\n\nfunction createSvg(\n size: number | string,\n width: number,\n height: number,\n iconName: string,\n svgElem: any,\n title: string,\n): void {\n if (!svgElem) return;\n if (size !== \"auto\") {\n svgElem.style.width = (size || width || 16) + \"px\";\n svgElem.style.height = (size || height || 16) + \"px\";\n }\n const node: any = svgElem.childNodes[0];\n const realIconName = getIconNameFromProxy(iconName);\n node.setAttributeNS(\n \"http://www.w3.org/1999/xlink\",\n \"xlink:href\",\n \"#\" + realIconName\n );\n\n let titleElement = svgElem.getElementsByTagName(\"title\")[0];\n if (!title) {\n if (!!titleElement) {\n svgElem.removeChild(titleElement);\n }\n return;\n } else {\n if (!titleElement) {\n titleElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"title\");\n svgElem.appendChild(titleElement);\n }\n }\n titleElement.textContent = title;\n}\n\nexport function unwrap<T>(value: T | (() => T)): T {\n if (typeof value !== \"function\") {\n return value;\n } else {\n return (<() => T>value)();\n }\n}\n\n// export function getSize(value: any): number {\n// if (typeof value === \"number\") {\n// return value;\n// }\n// if (typeof value === \"string\" && value.includes(\"px\")) {\n// return parseInt(value);\n// }\n// if (!!value && typeof value === \"string\" && value.length > 0) {\n// const lastSymbol: string = value[value.length - 1];\n// if ((lastSymbol >= \"0\" && lastSymbol <= \"9\") || lastSymbol == \".\") {\n// try {\n// const num: number = parseInt(value);\n// return num;\n// } catch { }\n// }\n// }\n// return value;\n// }\n\nexport function getRenderedSize(val: string | number): number {\n if(typeof val == \"string\") {\n if(!isNaN(Number(val))) {\n return Number(val);\n }\n else if(val.includes(\"px\")) {\n return parseFloat(val);\n }\n }\n if(typeof val == \"number\") {\n return val;\n }\n return undefined;\n}\nexport function getRenderedStyleSize(val: string | number): string {\n if(getRenderedSize(val) !== undefined) {\n return undefined;\n }\n return val as string;\n}\n\nexport interface IAttachKey2clickOptions {\n processEsc?: boolean;\n disableTabStop?: boolean;\n __keyDownReceived?: boolean;\n}\nconst keyFocusedClassName = \"sv-focused--by-key\";\nexport function doKey2ClickBlur(evt: KeyboardEvent): void {\n const element: any = evt.target;\n if (!element || !element.classList) return;\n element.classList.remove(keyFocusedClassName);\n}\n\nexport function doKey2ClickUp(evt: KeyboardEvent, options?: IAttachKey2clickOptions): void {\n if (!!evt.target && (<any>evt.target)[\"contentEditable\"] === \"true\") {\n return;\n }\n const element: any = evt.target;\n if (!element) return;\n const char: number = evt.which || evt.keyCode;\n if (char === 9) {\n if (!!element.classList && !element.classList.contains(keyFocusedClassName)) {\n element.classList.add(keyFocusedClassName);\n }\n return;\n }\n\n if (options) {\n if (!options.__keyDownReceived) return;\n options.__keyDownReceived = false;\n }\n\n if (char === 13 || char === 32) {\n if (element.click) element.click();\n } else if ((!options || options.processEsc) && char === 27) {\n if (element.blur) element.blur();\n }\n}\n\nexport function doKey2ClickDown(evt: KeyboardEvent, options: IAttachKey2clickOptions = { processEsc: true }): void {\n if (options) options.__keyDownReceived = true;\n if (!!evt.target && (<any>evt.target)[\"contentEditable\"] === \"true\") {\n return;\n }\n var char = evt.which || evt.keyCode;\n const supportedCodes = [13, 32];\n if (options.processEsc) {\n supportedCodes.push(27);\n }\n if (supportedCodes.indexOf(char) !== -1) {\n evt.preventDefault();\n }\n}\n\nfunction increaseHeightByContent(element: HTMLElement, getComputedStyle?: (elt: Element) => any) {\n if (!element) return;\n if (!getComputedStyle) getComputedStyle = (elt: Element) => { return window.getComputedStyle(elt); };\n\n const style = getComputedStyle(element);\n element.style.height = \"auto\";\n element.style.height = (element.scrollHeight + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth)) + \"px\";\n}\nfunction getOriginalEvent(event: any) {\n return event.originalEvent || event;\n}\nfunction preventDefaults(event: any) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction classesToSelector(str: string): string {\n const re = /\\s*?([\\w-]+)\\s*?/g;\n return str.replace(re, \".$1\");\n}\n\nfunction getElementWidth(el: HTMLElement) {\n return !!getComputedStyle ? Number.parseFloat(getComputedStyle(el).width) : el.offsetWidth;\n}\n\nfunction isContainerVisible(el: HTMLElement) {\n return !!(\n el.offsetWidth ||\n el.offsetHeight ||\n el.getClientRects().length\n );\n}\n\nfunction getFirstVisibleChild(el: HTMLElement) {\n let result;\n for(let index = 0; index < el.children.length; index++) {\n if(!result && getComputedStyle(el.children[index]).display !== \"none\") {\n result = el.children[index];\n }\n }\n return result;\n}\nfunction findParentByClassNames(element: HTMLElement, classNames: Array<string>): Element {\n if (!!element) {\n if (classNames.every(className => !className || element.classList.contains(className))) {\n return element;\n } else {\n return findParentByClassNames(element.parentElement, classNames);\n }\n }\n}\nexport function sanitizeEditableContent(element: any) {\n if (window.getSelection && document.createRange && element.childNodes.length > 0) {\n const selection = document.getSelection();\n\n let range = selection.getRangeAt(0);\n range.setStart(range.endContainer, range.endOffset);\n range.setEndAfter(element.lastChild);\n selection.removeAllRanges();\n selection.addRange(range);\n const tail_len = selection.toString().replace(/\\n/g, \"\").length;\n\n element.innerText = element.innerText.replace(/\\n/g, \"\");\n range = document.createRange();\n range.setStart(element.childNodes[0], element.innerText.length - tail_len);\n range.collapse(true);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n}\nfunction mergeValues(src: any, dest: any) {\n if (!dest || !src) return;\n if (typeof dest !== \"object\") return;\n for (var key in src) {\n var value = src[key];\n if (!Array.isArray(value) && value && typeof value === \"object\") {\n if (!dest[key] || typeof dest[key] !== \"object\") dest[key] = {};\n mergeValues(value, dest[key]);\n } else {\n dest[key] = value;\n }\n }\n}\n\nexport class Logger {\n private _result = \"\";\n public log(action: string) {\n this._result += \"->\" + action;\n }\n public get result() {\n return this._result;\n }\n}\n\nexport {\n mergeValues,\n getElementWidth,\n isContainerVisible,\n classesToSelector,\n compareVersions,\n confirmAction,\n confirmActionAsync,\n detectIEOrEdge,\n detectIEBrowser,\n loadFileFromBase64,\n isMobile,\n isShadowDOM,\n getElement,\n isElementVisible,\n findScrollableParent,\n scrollElementByChildId,\n navigateToUrl,\n wrapUrlForBackgroundImage,\n createSvg,\n getIconNameFromProxy,\n increaseHeightByContent,\n getOriginalEvent,\n preventDefaults,\n findParentByClassNames,\n getFirstVisibleChild,\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_react__;","module.exports = __WEBPACK_EXTERNAL_MODULE_react_dom__;","module.exports = __WEBPACK_EXTERNAL_MODULE_survey_core__;"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://SurveyReact/webpack/universalModuleDefinition","webpack://SurveyReact/webpack/bootstrap","webpack://SurveyReact/./src/base.ts","webpack://SurveyReact/./src/conditionProcessValue.ts","webpack://SurveyReact/./src/conditions.ts","webpack://SurveyReact/./src/conditionsParser.ts","webpack://SurveyReact/./src/console-warnings.ts","webpack://SurveyReact/./src/entries/core-export.ts","webpack://SurveyReact/./src/entries/react-ui-model.ts","webpack://SurveyReact/./src/entries/react-ui.ts","webpack://SurveyReact/./src/expressions/expressionParser.ts","webpack://SurveyReact/./src/expressions/expressions.ts","webpack://SurveyReact/./src/functionsfactory.ts","webpack://SurveyReact/./src/helpers.ts","webpack://SurveyReact/./src/jsonobject.ts","webpack://SurveyReact/./src/localizablestring.ts","webpack://SurveyReact/./src/localization/english.ts","webpack://SurveyReact/./src/react/boolean-checkbox.tsx","webpack://SurveyReact/./src/react/boolean-radio.tsx","webpack://SurveyReact/./src/react/boolean.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar-item-dropdown.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar-item.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar-separator.tsx","webpack://SurveyReact/./src/react/components/action-bar/action-bar.tsx","webpack://SurveyReact/./src/react/components/brand-info.tsx","webpack://SurveyReact/./src/react/components/character-counter.tsx","webpack://SurveyReact/./src/react/components/components-container.tsx","webpack://SurveyReact/./src/react/components/cover.tsx","webpack://SurveyReact/./src/react/components/file/file-choose-button.tsx","webpack://SurveyReact/./src/react/components/file/file-preview.tsx","webpack://SurveyReact/./src/react/components/list/list-item.tsx","webpack://SurveyReact/./src/react/components/list/list.tsx","webpack://SurveyReact/./src/react/components/loading-indicator.tsx","webpack://SurveyReact/./src/react/components/matrix-actions/detail-button/detail-button.tsx","webpack://SurveyReact/./src/react/components/matrix-actions/drag-drop-icon/drag-drop-icon.tsx","webpack://SurveyReact/./src/react/components/matrix-actions/remove-button/remove-button.tsx","webpack://SurveyReact/./src/react/components/matrix/row.tsx","webpack://SurveyReact/./src/react/components/notifier.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-add-btn.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-next-btn.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-prev-btn.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-progress-text.tsx","webpack://SurveyReact/./src/react/components/paneldynamic-actions/paneldynamic-remove-btn.tsx","webpack://SurveyReact/./src/react/components/popup/popup.tsx","webpack://SurveyReact/./src/react/components/rating/rating-item-smiley.tsx","webpack://SurveyReact/./src/react/components/rating/rating-item-star.tsx","webpack://SurveyReact/./src/react/components/rating/rating-item.tsx","webpack://SurveyReact/./src/react/components/skeleton.tsx","webpack://SurveyReact/./src/react/components/survey-actions/survey-nav-button.tsx","webpack://SurveyReact/./src/react/components/survey-header/logo-image.tsx","webpack://SurveyReact/./src/react/components/survey-header/survey-header.tsx","webpack://SurveyReact/./src/react/components/svg-icon/svg-icon.tsx","webpack://SurveyReact/./src/react/components/title/title-actions.tsx","webpack://SurveyReact/./src/react/components/title/title-content.tsx","webpack://SurveyReact/./src/react/components/title/title-element.tsx","webpack://SurveyReact/./src/react/custom-widget.tsx","webpack://SurveyReact/./src/react/dropdown-base.tsx","webpack://SurveyReact/./src/react/dropdown-item.tsx","webpack://SurveyReact/./src/react/dropdown-select.tsx","webpack://SurveyReact/./src/react/element-factory.tsx","webpack://SurveyReact/./src/react/element-header.tsx","webpack://SurveyReact/./src/react/element.tsx","webpack://SurveyReact/./src/react/flow-panel.tsx","webpack://SurveyReact/./src/react/image.tsx","webpack://SurveyReact/./src/react/imagepicker.tsx","webpack://SurveyReact/./src/react/page.tsx","webpack://SurveyReact/./src/react/panel-base.tsx","webpack://SurveyReact/./src/react/panel.tsx","webpack://SurveyReact/./src/react/rating-dropdown.tsx","webpack://SurveyReact/./src/react/react-popup-survey.tsx","webpack://SurveyReact/./src/react/reactSurvey.tsx","webpack://SurveyReact/./src/react/reactSurveyNavigationBase.tsx","webpack://SurveyReact/./src/react/reactSurveyProgress.tsx","webpack://SurveyReact/./src/react/reactSurveyProgressButtons.tsx","webpack://SurveyReact/./src/react/reactSurveyProgressToc.tsx","webpack://SurveyReact/./src/react/reactquestion.tsx","webpack://SurveyReact/./src/react/reactquestion_buttongroup.tsx","webpack://SurveyReact/./src/react/reactquestion_checkbox.tsx","webpack://SurveyReact/./src/react/reactquestion_comment.tsx","webpack://SurveyReact/./src/react/reactquestion_custom.tsx","webpack://SurveyReact/./src/react/reactquestion_dropdown.tsx","webpack://SurveyReact/./src/react/reactquestion_element.tsx","webpack://SurveyReact/./src/react/reactquestion_empty.tsx","webpack://SurveyReact/./src/react/reactquestion_expression.tsx","webpack://SurveyReact/./src/react/reactquestion_factory.tsx","webpack://SurveyReact/./src/react/reactquestion_file.tsx","webpack://SurveyReact/./src/react/reactquestion_html.tsx","webpack://SurveyReact/./src/react/reactquestion_matrix.tsx","webpack://SurveyReact/./src/react/reactquestion_matrixdropdown.tsx","webpack://SurveyReact/./src/react/reactquestion_matrixdropdownbase.tsx","webpack://SurveyReact/./src/react/reactquestion_matrixdynamic.tsx","webpack://SurveyReact/./src/react/reactquestion_multipletext.tsx","webpack://SurveyReact/./src/react/reactquestion_paneldynamic.tsx","webpack://SurveyReact/./src/react/reactquestion_radiogroup.tsx","webpack://SurveyReact/./src/react/reactquestion_ranking.tsx","webpack://SurveyReact/./src/react/reactquestion_rating.tsx","webpack://SurveyReact/./src/react/reactquestion_tagbox.tsx","webpack://SurveyReact/./src/react/reactquestion_text.tsx","webpack://SurveyReact/./src/react/reactsurveymodel.tsx","webpack://SurveyReact/./src/react/reacttimerpanel.tsx","webpack://SurveyReact/./src/react/row.tsx","webpack://SurveyReact/./src/react/signaturepad.tsx","webpack://SurveyReact/./src/react/string-editor.tsx","webpack://SurveyReact/./src/react/string-viewer.tsx","webpack://SurveyReact/./src/react/tagbox-filter.tsx","webpack://SurveyReact/./src/react/tagbox-item.tsx","webpack://SurveyReact/./src/settings.ts","webpack://SurveyReact/./src/surveyStrings.ts","webpack://SurveyReact/./src/utils/responsivity-manager.ts","webpack://SurveyReact/./src/utils/utils.ts","webpack://SurveyReact/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://SurveyReact/external {\"root\":\"ReactDOM\",\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\",\"amd\":\"react-dom\"}","webpack://SurveyReact/external {\"root\":\"Survey\",\"commonjs2\":\"survey-core\",\"commonjs\":\"survey-core\",\"amd\":\"survey-core\"}"],"names":[],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClF2E;AAC5B;AAOzB;AACgB;AAGU;AACK;AACA;AAQrD;IAGE,kBAAoB,GAAS;QAAT,QAAG,GAAH,GAAG,CAAM;QAFrB,eAAU,GAA8B,IAAI,CAAC;QAC7C,WAAM,GAAQ,IAAI,CAAC;IACM,CAAC;IAC3B,0BAAO,GAAd;QACE,OAAO,UAAU,CAAC;IACpB,CAAC;IACM,2BAAQ,GAAf;QACE,IAAI,GAAG,GAAkB,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC9C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACnC;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACM,gCAAa,GAApB;QACE,IAAI,GAAG,GAA8B,EAAE,CAAC;QACxC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9B;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACM,6BAAU,GAAjB,UAAkB,YAAoB,EAAE,SAAiB;QACvD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnC,IAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,IAAG,QAAQ,KAAK,SAAS;YAAE,OAAO;QAClC,IAAI,CAAC,CAAC,SAAS,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;SACvC;aAAM;YACL,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gBACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;SACF;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACM,+BAAY,GAAnB,UAAoB,YAAoB;QACtC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IACM,0BAAO,GAAd;QACE,IAAG,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC7B,KAAI,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IACM,6CAA0B,GAAjC,UAAkC,YAAoB;QACpD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IACM,2CAAwB,GAA/B,UAAgC,SAAiB;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5B,IAAI,GAAG,GAAkB,EAAE,CAAC;QAC5B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE;gBACjC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACf;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACM,0BAAO,GAAd;QACE,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO,SAAS,CAAC;QACrC,IAAI,GAAG,GAAQ,EAAE,CAAC;QAClB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC7B;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACM,0BAAO,GAAd,UAAe,KAAU;QACvB,IAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,CAAC,KAAK,EAAE;YACX,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;aAC/B;SACF;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACO,iCAAc,GAAtB;QACE,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;YAAE,OAAO;QACrC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,aAAa,GAAG,sDAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;gBAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;aACxC;SACF;IACH,CAAC;IACO,gCAAa,GAArB,UAAsB,QAAa;QACjC,IAAG,IAAI,CAAC,GAAG,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SACrD;IACH,CAAC;IACH,eAAC;AAAD,CAAC;;AAED;IAEE,sBAAmB,iBAA6B,EAAS,MAAY,EAAS,QAAgB;QAA3E,sBAAiB,GAAjB,iBAAiB,CAAY;QAAS,WAAM,GAAN,MAAM,CAAM;QAAS,aAAQ,GAAR,QAAQ,CAAQ;QAE9F,iBAAY,GAAmD,EAAE,CAAC;QAClE,OAAE,GAAW,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAFrD,CAAC;IAGD,oCAAa,GAAb,UAAc,MAAY,EAAE,QAAgB;QAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;YACtD,OAAO;QACT,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAU,IAAI,iBAAU,CAAC,GAAG,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAzD,CAAyD,CAAC;YACjG,OAAO;QAET,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,GAAG,EAAE,MAAM;YACX,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,+BAA+B,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAEtF,CAAC;IACM,8BAAO,GAAd;QACE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAU;YAClC,UAAU,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QACH,sCAAsC;IACxC,CAAC;IAxBc,8BAAiB,GAAG,CAAC,CAAC;IAyBvC,mBAAC;CAAA;AA1BwB;AA4BzB;IAGE,yBAAoB,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;QAD7B,iBAAY,GAAiB,SAAS,CAAC;QAGtC,SAAI,GAAG,eAAe,CAAC,mBAAmB,CAAC;IADpD,CAAC;IAED,sBAAW,oCAAO;aAAlB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;;;OAAA;IACM,yCAAe,GAAtB,UAAuB,YAA0B;QAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IACS,yCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACO,2CAAiB,GAAzB;QACE,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;SAC/B;IACH,CAAC;IACD,iCAAO,GAAP;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAvBsB,mCAAmB,GAAG,uBAAuB,CAAC;IAwBvE,sBAAC;CAAA;AAzB2B;AA2B5B;;GAEG;AACH;IA0HE;QAzGO,iBAAY,GAAsC,EAAE,CAAC;QAuCpD,iBAAY,GAA6B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAGrE,cAAS,GAA0B,EAAE,CAAC;QAUpC,2BAAsB,GAAY,KAAK,CAAC;QAC3C,iBAAY,GAAS,IAAI,CAAC;QAGjC;;;;;;;;;;;;;WAaG;QACI,sBAAiB,GAAoB,IAAI,CAAC,QAAQ,EAAQ,CAAC;QAClE;;;;;;;;;;;;;;;WAeG;QACI,+BAA0B,GAI7B,IAAI,CAAC,QAAQ,EAAQ,CAAC;QAYlB,eAAU,GAAG,IAAI,CAAC;QAGxB,IAAI,CAAC,aAAa,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,sEAA0B,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IA7Ha,8BAAyB,GAAvC;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IACa,6BAAwB,GAAtC,UAAuC,OAAmB,EAAE,MAAY,EAAE,QAAgB;QACxF,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;SACnG;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;IACc,sBAAiB,GAAhC,UAAiC,MAAY,EAAE,QAAgB;QAC7D,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS;YAAE,OAAO;QAClD,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,sBAAkB,qBAAa;aAA/B;YACE,OAAO,kDAAQ,CAAC,aAAa,CAAC;QAChC,CAAC;aACD,UAAgC,GAAW;YACzC,kDAAQ,CAAC,aAAa,GAAG,GAAG,CAAC;QAC/B,CAAC;;;OAHA;IAID,sBAAkB,qBAAa;aAA/B;YACE,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;aACD,UAAgC,GAAW;YACzC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QAC3B,CAAC;;;OAHA;IAMD;;;;;OAKG;IACI,2BAAY,GAAnB,UAAoB,KAAU,EAAE,UAA0B;QAA1B,8CAA0B;QACxD,IAAI,UAAU,EAAE;YACd,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC/B;QACD,OAAO,gDAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACS,wBAAS,GAAnB,UAAoB,KAAU;QAC5B,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAC;YACnE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACS,8BAAe,GAAzB,UAA0B,KAAU;QAClC,OAAO,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IACa,yBAAoB,GAAlC;QACE,OAAO,EAAE,CAAC;IACZ,CAAC;IA0EM,sBAAO,GAAd;QAAA,iBAOC;QANC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,8BAA8B,GAAG,SAAS,CAAC;QAChD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,aAAG,IAAI,YAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAhC,CAAgC,CAAC,CAAC;IAClF,CAAC;IACD,sBAAW,4BAAU;aAArB;YACE,OAAO,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;QACvC,CAAC;;;OAAA;IACS,uBAAQ,GAAlB;QACE,IAAM,GAAG,GAAG,IAAI,SAAS,EAAc,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IACS,6BAAc,GAAxB,cAA6B,CAAC;IAC9B;;OAEG;IACI,sBAAO,GAAd;QACE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD;;;;;;OAMG;IACI,6BAAc,GAArB,UAAsB,QAAgB;QACpC,OAAO,sDAAU,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACM,wBAAS,GAAhB,UAAiB,MAAuB;QAAvB,uCAAuB;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAID,sBAAW,8BAAY;QAHvB;;WAEG;aACH;YACE,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC;QACzC,CAAC;;;OAAA;IAMD,sBAAW,0BAAQ;QALnB;;;;WAIG;aACH;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;;;OAAA;IACD,sBAAW,0BAAQ;aAAnB;YACE,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;;;OAAA;IACD,4BAAa,GAAb,UAAc,SAAiB,EAAE,KAAU,IAAI,CAAC;IACtC,6BAAc,GAAxB,UAAyB,YAAoB,EAAE,KAAU;QACvD,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,CAAC,SAAS,EAAE;YACf,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAC3C;IACH,CAAC;IACS,iCAAkB,GAA5B,UAA6B,SAAiB,EAAE,KAAU,IAAI,CAAC;IACxD,0BAAW,GAAlB;QACE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAID,sBAAW,mCAAiB;QAH5B;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACpE,CAAC;;;OAAA;IACS,mCAAoB,GAA9B;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAC5E,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED,mCAAoB,GAApB,UAAqB,IAAU;QAC7B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,iCAAkB,GAAlB;QACE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACtC,CAAC;IACD;;;OAGG;IACI,qBAAM,GAAb;QACE,OAAO,IAAI,sDAAU,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD;;;;;;;OAOG;IACI,uBAAQ,GAAf,UAAgB,IAAS;QACvB,IAAI,sDAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IACM,2BAAY,GAAnB,cAAwB,CAAC;IACzB;;OAEG;IACI,oBAAK,GAAZ;QACE,IAAI,SAAS,GAAS,sDAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD;;;;;OAKG;IACI,gCAAiB,GAAxB,UAAyB,QAAgB;QACvC,IAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAG,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,IAAI,EAAE;YAC1D,IAAI,CAAC,aAAa,GAAG,sDAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACjD;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,CAAC;IACM,gCAAiB,GAAxB,UAAyB,QAAgB;QACvC,IAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnD,CAAC;IACa,uBAAkB,GAAhC;QACE,OAAO;YACL,aAAa,EAAE,CAAC;YAChB,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;YACxB,6BAA6B,EAAE,CAAC;SACjC,CAAC;IACJ,CAAC;IACM,8BAAe,GAAtB;QACE,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACnC,CAAC;IACM,4BAAa,GAApB,cAAyB,CAAC;IACnB,6BAAc,GAArB;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;YACrB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;oBAC7B,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBACrC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB;wBACtC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;iBACpC;aACF;SACF;QACD,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC7B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBACvC,IAAI,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,IAAI;oBAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aAC7B;SACF;IACH,CAAC;IACD;;;;;;;OAOG;IACI,+BAAgB,GAAvB,UAAwB,IAAY,EAAE,YAAwB;QAAxB,kDAAwB;QAC5D,IAAM,GAAG,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YAC7B,IAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnF,IAAG,MAAM;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC;YAC9B,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,SAAS;gBAAE,OAAO,YAAY,CAAC;YAC7E,IAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAG,gBAAgB,KAAK,SAAS;gBAAE,OAAO,gBAAgB,CAAC;SAC5D;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACM,sCAAuB,GAA9B,UAA+B,IAAY;QACzC,IAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAG,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAC/D,IAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC3E,IAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,IAAG,MAAM,IAAI,MAAM,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjG,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YAAE,OAAO,KAAK,CAAC;QAClE,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO,SAAS,CAAC;IACnB,CAAC;IACM,sCAAuB,GAA9B,UAA+B,IAAY;QACzC,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IAC1D,CAAC;IACM,iCAAkB,GAAzB,UAA0B,IAAY;QACpC,IAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,IAAG,MAAM,EAAE;YACT,MAAM,CAAC,WAAW,EAAE,CAAC;SACtB;aACI;YACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SACxC;IACH,CAAC;IACS,6CAA8B,GAAxC,UAAyC,IAAY;QACnD,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IACS,mCAAoB,GAA9B,UAA+B,cAAmB,EAAE,IAAY;QAC9D,IAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,2BAA2B;YAClC,OAAO,IAAI,CAAC,2BAA2B,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;;YAC3D,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACM,8BAAe,GAAtB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACS,mCAAoB,GAA9B,UAA+B,cAAmB,EAAE,IAAY,EAAE,GAAQ;QACxE,IAAI,IAAI,CAAC,2BAA2B,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,CAAC,2BAA2B,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aAC7D;iBAAM;gBACL,iEAAe,CAAC,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;aACrE;SACF;;YACI,cAAc,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IAClC,CAAC;IACD,sBAAW,wCAAsB;aAAjC;YACE,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC;QACnD,CAAC;;;OAAA;IACM,oCAAqB,GAA5B,UAA6B,IAAmC;QAAhE,iBAaC;QAZC,IAAI,IAAI,GAAU,EAAE,CAAC;QACrB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE;YACjC,IACE,GAAG,KAAK,OAAO;gBACf,IAAI,CAAC,sBAAsB;gBAC3B,KAAK,CAAC,OAAO,CAAO,IAAK,CAAC,KAAK,CAAC;gBAEhC,SAAS;YAEX,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,WAAI,CAAC,KAAI,CAAC,YAAY,EAAE,GAAG,CAAC,EAA5B,CAA4B,CAAC,CAAC;IACtD,CAAC;IACD;;;;OAIG;IACI,+BAAgB,GAAvB,UAAwB,IAAY,EAAE,GAAQ;QAC5C,IAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAG,CAAC,CAAC,IAAI,EAAE;gBACT,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACpC;SACF;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3C,IACE,QAAQ;YACR,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,UAAU;YACjB,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAC5B;YACA,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC;gBAAE,OAAO;YACjD,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SAC1C;aAAM;YACL,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;gBAClE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;aAChD;SACF;IACH,CAAC;IACS,uCAAwB,GAAlC,UAAmC,IAAY,EAAE,GAAQ,EAAE,gBAAgC;QAAhC,0DAAgC;QACzF,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CACX,IAAI,EACJ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAC3B,GAAG,EACH,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAC1C,SAAS,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACxD,CAAC;IACJ,CAAC;IACS,uCAAwB,GAAlC,UAAmC,IAAY,EAAE,GAAQ;QACvD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IACS,iCAAkB,GAA5B,UAA6B,IAAY;QACvC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACM,6CAA8B,GAArC,UACE,IAAY,EACZ,QAAa,EACb,QAAa,EACb,MAAY,EACZ,YAA0B,IACxB,CAAC;IACE,uCAAwB,GAA/B,UACE,IAAe,EACf,IAAY,EACZ,QAAa,EACb,QAAa;QAEb,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE;YACzC,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,IAAI,CAAC,iBAAiB;SACrC,CAAC,CAAC;IACL,CAAC;IACS,qCAAsB,GAAhC,UACE,IAAY,EACZ,QAAa,EACb,QAAa,IACX,CAAC;IACK,mCAAoB,GAA9B,UACE,IAAY,EACZ,QAAa,EACb,QAAa,EACb,YAA2B,EAC3B,MAAa;QAEb,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACnC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE;YAChC,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,8BAA8B,CACjC,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,IAAI,CACL,CAAC;QACF,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,qBAAqB;YAAE,OAAO;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1D,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI;gBAC5C,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChD;IACH,CAAC;IACM,+BAAgB,GAAvB,UAAwB,QAAa,EAAE,QAAa;QAClD,IAAG,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAClC,IAAI,CAAC,8BAA8B,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC;IACD,sBAAc,4BAAU;aAAxB;YACE,OAAO,KAAK,CAAC;QACf,CAAC;;;OAAA;IACO,6CAA8B,GAAtC,UACE,IAAY,EACZ,QAAa,EACb,QAAa,EACb,YAA2B,EAC3B,MAAa;QAEb,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,IAAI,QAAQ,GAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,CAAC,QAAQ,CAAC,8BAA8B,EAAE;YAC7C,QAAQ,CAAC,8BAA8B,CACrC,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,YAAY,CACb,CAAC;SACH;QACD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,8BAA8B,EAAE;YAC9D,IAAI,CAAC,8BAA8B,CACjC,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,YAAY,CACb,CAAC;SACH;IACH,CAAC;IACM,oCAAqB,GAA5B,UAA6B,IAAY,EAAE,SAAwC,EAAE,MAA+B;QAClH,IAAG,CAAC,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACvE,CAAC;IACM,oCAAqB,GAA5B;QACE,OAAO,EAAE,CAAC;IACZ,CAAC;IACM,wCAAyB,GAAhC;QACE,OAAO,EAAE,CAAC;IACZ,CAAC;IACS,+BAAgB,GAA1B,UAA2B,MAAsB,EAAE,UAA0B;QAC3E,IAAG,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QAChC,KAAI,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE;YAClC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;SACpD;IACH,CAAC;IACS,+BAAgB,GAA1B;QACE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;IAC5B,CAAC;IACO,4CAA6B,GAArC,UAAsC,QAAgB;QACpD,IAAG,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YAAE,OAAO;QAClE,IAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAAE,OAAO;QACpC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;IACtG,CAAC;IACO,mCAAoB,GAA5B,UAA6B,QAAgB,EAAE,MAAsB,EAAE,UAA0B;QAAjG,iBAaC;QAZC,IAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAG,CAAC,UAAU;YAAE,OAAO;QACvB,IAAG,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO;QAC/C,IAAG,CAAC,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,UAAC,GAAQ;gBACnC,IAAI,CAAC,SAAS,CAAC,KAAI,EAAE,GAAG,CAAC,CAAC;YAC5B,CAAC,CAAC;SACH;QACD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;IAEO,8BAAe,GAAvB,UAAwB,EAAU;QAChC,IAAG,CAAC,IAAI,CAAC,kBAAkB;YAAE,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC1D,IAAM,SAAS,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;QACjD,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACnC,IAAG,SAAS,EAAE;YACZ,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;IACH,CAAC;IACO,6BAAc,GAAtB,UAAuB,EAAU;QAC/B,IAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACnC,IAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBACjC,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B;SACF;IACH,CAAC;IACS,oCAAqB,GAA/B,cAAyC,CAAC;IAC1C,sBAAW,0CAAwB;aAAnC;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACtF,CAAC;;;OAAA;IACS,qCAAsB,GAAhC,UAAiC,UAAkB;QAAnD,iBAKC;QAJC,IAAM,GAAG,GAAG,IAAI,4DAAgB,CAAC,UAAU,CAAC,CAAC;QAC7C,GAAG,CAAC,gBAAgB,GAAG,UAAC,EAAU,IAAa,KAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,GAAG,CAAC,eAAe,GAAG,UAAC,EAAU,IAAa,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,GAAG,CAAC;IACb,CAAC;IACD;;;;;;OAMG;IACI,8CAA+B,GAAtC,UAAuC,aAA4B,EAAE,OAAY,EAAE,GAAkB;QAAlB,gCAAkB;QACnG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,CAAC,sCAAsC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;SAC7E;IACH,CAAC;IACD;;;;;OAKG;IACI,gDAAiC,GAAxC,UAAyC,aAA4B,EAAE,GAAkB;QAAlB,gCAAkB;QACvF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,CAAC,wCAAwC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACtE;IACH,CAAC;IACM,qDAAsC,GAA7C,UAA8C,IAAY,EAAE,IAAS,EAAE,GAAkB;QAAlB,gCAAkB;QACvF,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC/B,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;SACjC;QACD,IAAI,GAAG,EAAE;YACP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1D,IAAI,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE;oBACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBACjB,OAAO;iBACR;aACF;SACF;QACD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACxE,CAAC;IACM,uDAAwC,GAA/C,UAAgD,KAAoB,EAAE,IAAS,EAAE,GAAkB;QAAlB,gCAAkB;QACjG,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IACM,uDAAwC,GAA/C,UAAgD,IAAY,EAAE,GAAkB;QAAlB,gCAAkB;QAC9E,IAAI,CAAC,IAAI,CAAC,qBAAqB;YAAE,OAAO;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1D,IAAI,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE;gBACxC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxC,OAAO;aACR;SACF;IACH,CAAC;IACM,yDAA0C,GAAjD,UAAkD,KAAoB,EAAE,GAAkB;QAAlB,gCAAkB;QACxF,IAAI,CAAC,iCAAiC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IACM,yCAA0B,GAAjC,UAAkC,IAAY;QAC5C,IAAI,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,MAAM;YAAE,OAAO;QACnB,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAA2B,IAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;IACM,wBAAS,GAAhB;QACE,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IACM,oCAAqB,GAA5B,UAA6B,OAAe;QAC1C,OAAO,iEAAkB,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACjE,CAAC;IACM,0CAA2B,GAAlC,UAAmC,OAAe;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAChE,IAAM,GAAG,GAAQ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAClC,OAAO,GAAG,CAAC,MAAM,OAAV,GAAG,EAAW,IAAI,EAAE;IAC7B,CAAC;IACS,sCAAuB,GAAjC,UACE,IAAY,EACZ,KAAwB,EACxB,WAA4B,EAC5B,UAAkC;QAJpC,iBAoBC;QAjBC,iDAA4B;QAC5B,+CAAkC;QAElC,IAAI,MAAM,GAAG,IAAI,oEAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,gBAAgB,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;SACnE;QACD,MAAM,CAAC,YAAY,GAAG,UAAC,QAAgB,EAAE,QAAgB;YACvD,KAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACvC,IAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,mBAAmB,GAAG,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC;QAClE,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,mCAAoB,GAA3B,UAA4B,IAAY;QACtC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IACM,uCAAwB,GAA/B,UACE,IAAY,EACZ,UAAuB;QAAvB,4CAAuB;QAEvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACtB,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;IAChC,CAAC;IACM,uCAAwB,GAA/B,UAAgC,IAAY,EAAE,KAAa;QACzD,IAAI,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,IAAG,QAAQ,IAAI,KAAK,EAAE;YACpB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;YACpB,oDAAoD;SACrD;IACH,CAAC;IACM,6BAAc,GAArB,UAAsB,OAAsB;QAC1C,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC7B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBACvC,IAAI,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,IAAI;oBAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aACzD;SACF;QACD,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;YACrB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC/B,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;oBAAE,SAAS;gBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;wBAC/B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;qBAC9B;iBACF;aACF;SACF;IACH,CAAC;IACM,yBAAU,GAAjB,UAAkB,IAAY,EAAE,OAA4B;QAC1D,IAAI,IAAI,GAA6B,EAAE,CAAC;QACxC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAC/C;SACF;IACH,CAAC;IACO,4CAA6B,GAArC,UAAsC,GAA6B;QACjE,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC7B,IAAI,MAAI,GAAkB,EAAE,CAAC;YAC7B,IAAI,CAAC,oBAAoB,CAAC,MAAI,CAAC,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,IAAI,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,IAAI;oBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;SACF;QACD,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,IAAI,IAAI,GAAkB,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aAC5B;SACF;IACH,CAAC;IACS,mCAAoB,GAA9B,UAA+B,IAAmB,IAAI,CAAC;IAC7C,yCAA0B,GAApC,UAAqC,IAAmB,IAAI,CAAC;IACnD,wCAAyB,GAAnC,UACE,MAAyB,EACzB,OAAsB;QAEtB,IAAI,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;gBAChC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACvB;SACF;IACH,CAAC;IACS,+BAAgB,GAA1B,UAA2B,IAAY;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,IAAS;YACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,OAAO,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE;gBACvC,IAAM,MAAM,GAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,IAAI,UAAU,EAAE;oBACxD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iBAC3B;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IACO,iCAAkB,GAA1B,UAA2B,EAAO,EAAE,YAA0B;QAC5D,CAAC,CAAC,EAAE,CAAC,cAAc,IAAI,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IACS,iCAAkB,GAA5B,UAA6B,IAAY;QACvC,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACjC,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;SAC5D;QACD,IAAI,CAAC,GAAG,EAAE;YACR,GAAG,GAAG,IAAI,KAAK,EAAO,CAAC;YACvB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;SACzD;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACS,0BAAW,GAArB,UACE,IAAY,EACZ,MAAkB,EAClB,QAAoB;QADpB,sCAAkB;QAClB,0CAAoB;QAEpB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC5C,OAAO;SACR;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAES,6BAAc,GAAxB,UACE,IAAY,EACZ,MAAkB,EAClB,QAAoB;QADpB,sCAAkB;QAClB,0CAAoB;QAEpB,IAAI,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACtB;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QAChE,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,QAAQ,CAAC,IAAI,GAAG,UAAU,KAAK;YAC7B,IAAI,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,MAAM;oBAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC/C,IAAM,YAAY,GAAG,IAAI,YAAY,CACnC,QAAQ,CAAC,MAAM,GAAG,CAAC,EACnB,CAAC,EACD,CAAC,KAAK,CAAC,EACP,EAAE,CACH,CAAC;gBACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAClE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;aACjD;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,QAAQ,CAAC,KAAK,GAAG;YACf,IAAI,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,MAAM,EAAE;gBACnC,IAAI,QAAQ;oBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAM,YAAY,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAClE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;aACjD;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,QAAQ,CAAC,OAAO,GAAG,UAAU,KAAK;YAChC,IAAI,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CACvD,QAAQ,EACR,KAAK,CACN,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,MAAM;oBAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC/C,IAAM,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzD,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAClE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;aACjD;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,QAAQ,CAAC,GAAG,GAAG;YACb,IAAI,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,QAAQ;oBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAM,YAAY,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAClE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;aACjD;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,QAAQ,CAAC,MAAM,GAAG,UAChB,KAAc,EACd,WAAoB;;YACpB,eAAe;iBAAf,UAAe,EAAf,qBAAe,EAAf,IAAe;gBAAf,8BAAe;;YAEf,IAAI,CAAC,KAAK;gBAAE,KAAK,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW;gBAAE,WAAW,GAAG,CAAC,CAAC;YAClC,IAAI,MAAM,GAAG,YAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAC,IAAI,0BACtD,QAAQ;gBACR,KAAK;gBACL,WAAW,GACR,KAAK,EACT,CAAC;YACF,IAAI,CAAC,KAAK;gBAAE,KAAK,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,QAAQ,IAAI,MAAM,EAAE;oBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;qBACrB;iBACF;gBACD,IAAI,MAAM,EAAE;oBACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;qBAC7B;iBACF;gBACD,IAAM,YAAY,GAAG,IAAI,YAAY,CACnC,KAAK,EACL,WAAW,EACX,KAAK,EACL,MAAM,CACP,CAAC;gBACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAClE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;aACjD;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACS,+BAAgB,GAA1B;QACE,OAAO,SAAS,CAAC;IACnB,CAAC;IACS,uBAAQ,GAAlB,UACE,IAAY,EACZ,GAAU,EACV,IAAW,EACX,YAAqB,EACrB,MAAW;QAEX,IAAI,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,IAAI,EAAE;YACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,YAAY,EAAE;oBAChB,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE;wBAC1B,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;qBAC5D;iBACF;gBACD,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAChD,IAAI,MAAM;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5B;SACF;QACD,IAAM,YAAY,GAAG,IAAI,YAAY,CACnC,CAAC,EACD,YAAY,CAAC,MAAM,EACnB,GAAG,EACH,YAAY,CACb,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IACS,+BAAgB,GAA1B,UACE,CAAM,EACN,CAAM,EACN,eAAgC,EAChC,UAA2B;QAD3B,yDAAgC;QAChC,+CAA2B;QAE3B,OAAO,gDAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC7E,CAAC;IACc,eAAU,GAAzB,UAA0B,GAAQ,EAAE,GAAQ;QAC1C,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;YACnB,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;gBAC9B,MAAM,GAAG,EAAE,CAAC;gBACZ,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACnC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;SACnB;IACH,CAAC;IACS,6BAAc,GAAxB,UAAyB,IAAS,EAAE,MAAW;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,YAAY,MAAM,EAAE;YAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;IACH,CAAC;IACO,gCAAiB,GAAzB,UAA0B,GAAQ;QAChC,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,IAAI,QAAQ;YAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IACM,kCAAmB,GAA1B,UAA2B,aAA8B;QAA9B,qDAA8B;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC;IA17Bc,uBAAkB,GAAiB,SAAS,CAAC;IA27B9D,WAAC;CAAA;AA57BgB;AA87BjB;IACE,sBACS,KAAa,EACb,WAAmB,EACnB,UAAiB,EACjB,YAAmB;QAHnB,UAAK,GAAL,KAAK,CAAQ;QACb,gBAAW,GAAX,WAAW,CAAQ;QACnB,eAAU,GAAV,UAAU,CAAO;QACjB,iBAAY,GAAZ,YAAY,CAAO;IACxB,CAAC;IACP,mBAAC;AAAD,CAAC;;AAED;IAAA;IAkDA,CAAC;IA/CC,sBAAW,0BAAO;aAAlB;YACE,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAW,yBAAM;aAAjB;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;;;OAAA;IACM,qCAAqB,GAA5B,UAA6B,MAAW,EAAE,aAA4B;QACpE,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,OAAO;SAC7B;IACH,CAAC;IACM,oBAAI,GAAX,UAAY,MAAc,EAAE,OAAgB;QAC1C,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,OAAO;SAC7B;IACH,CAAC;IACM,qBAAK,GAAZ;QACE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IACM,mBAAG,GAAV,UAAW,IAAsB;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO;QAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,EAAoB,CAAC;SAChD;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IACM,sBAAM,GAAb,UAAc,IAAsB;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IACM,uBAAO,GAAd,UAAe,IAAsB;QACnC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IACO,mCAAmB,GAA3B;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;IACH,CAAC;IACH,YAAC;AAAD,CAAC;;AAED;IAAsD,6BAIrD;IAJD;;IAII,CAAC;IAAD,gBAAC;AAAD,CAAC,CAJiD,KAAK,GAItD;;;;;;;;;;;;;;AChrCL;AAAA;AAAA;AAA+C;AAE/C,IAAM,oBAAoB,GAAW,SAAS,CAAC;AAC/C;IAGE;QAFO,WAAM,GAAmB,IAAI,CAAC;QAC9B,eAAU,GAAmB,IAAI,CAAC;IAC1B,CAAC;IACT,mCAAY,GAAnB,UAAoB,IAAY,EAAE,GAAe;QAAf,gCAAe;QAC/C,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,EAAE;YACT,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,CAAC,GAAG;gBAAE,OAAO,GAAG,CAAC;SACvB;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG;gBAAE,MAAM;YAClC,GAAG,IAAI,EAAE,CAAC;SACX;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACM,+BAAQ,GAAf,UAAgB,IAAY,EAAE,MAA6B;QAA7B,sCAA6B;QACzD,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAClC,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,GAAG,CAAC,QAAQ,CAAC;IACtB,CAAC;IACM,+BAAQ,GAAf,UAAgB,IAAY,EAAE,MAA6B;QAA7B,sCAA6B;QACzD,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAClC,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;IACM,+BAAQ,GAAf,UAAgB,GAAQ,EAAE,IAAY,EAAE,KAAU;QAChD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC;QACzB,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE;YACnB,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SACnB;IACH,CAAC;IACM,mCAAY,GAAnB,UAAoB,SAAc;QAChC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;YACpB,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACrE,SAAS,CAAC,QAAQ;gBAChB,SAAS,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACrE,IACE,CAAC,SAAS,CAAC,QAAQ;gBACnB,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;gBACzB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,QAAQ,EACrD;gBACA,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC1B,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;aACrB;YACD,OAAO;SACR;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,SAAS,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QAC5B,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAClC,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAChD,SAAS,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;IAChD,CAAC;IACM,sCAAe,GAAtB,UAAuB,IAAS,EAAE,SAAmB;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC3C,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;gBAAE,SAAS;YAC9C,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACpC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,IAAI,QAAQ,IAAI,SAAS;gBAAE,SAAS;YACpC,IACE,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;gBACpC,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;gBAEpC,OAAO,IAAI,CAAC;YACd,IAAI,CAAC,GAAQ,EAAE,CAAC;YAChB,CAAC,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtC,IAAG,CAAC,gDAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;SACpF;QACD,OAAO,KAAK,CAAC;IAEf,CAAC;IACO,uCAAgB,GAAxB,UAAyB,IAA4B,EAAE,MAAW;QAChE,IAAG,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAoB,EAAE;YACxD,OAAO,IAAI,CAAC,kBAAkB,CAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACjD;QACD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;YACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,IACE,gDAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC1B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBACrB,QAAQ,IAAI,MAAM,CAAC,MAAM;gBAEzB,OAAO,IAAI,CAAC;YACd,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,KAAK,EAAE,CAAC;SACT;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACO,mCAAY,GAApB,UAAqB,IAAY,EAAE,MAAW;QAC5C,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAG,QAAQ,EAAE;YACX,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,oBAAoB,EAAE,CAAC;SAC/G;QACD,IAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,IAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC1B,IAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAG,GAAG,KAAK,SAAS,EAAE;gBACpB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACpB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;gBAChB,GAAG,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;aACzC;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACO,0CAAmB,GAA3B,UAA4B,IAAY;QACtC,IAAG,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;YAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IACO,yCAAkB,GAA1B,UAA2B,IAAY;QACrC,IAAG,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;YAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAClF,OAAO,SAAS,CAAC;IACnB,CAAC;IACO,yCAAkB,GAA1B,UAA2B,IAAY,EAAE,MAAW;QAClD,IAAI,GAAG,GAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5D,IAAI,QAAQ,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,KAAK;YAAE,OAAO,GAAG,CAAC;QAClE,IACE,IAAI;YACJ,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAC9D;YACA,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;YACd,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;SACrB;QACD,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY;YAAE,OAAO,GAAG,CAAC;QAC9B,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC7B,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI;YAC7B,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC;YAC5D,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;QACvB,GAAG,CAAC,QAAQ,GAAG,CAAC,gDAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC;IACb,CAAC;IACO,yCAAkB,GAA1B,UAA2B,GAAQ,EAAE,IAAY,EAAE,UAAmB;QACpE,IAAI,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/D,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxC,OAAO,IAAI,IAAI,OAAO,IAAI,CAAC,CAAC,GAAG,EAAE;YAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE;gBACZ,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;oBAC7C,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAChD,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACxC,IAAI,gDAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU;oBAAE,OAAO,IAAI,CAAC;gBAC1D,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aACvC;iBAAM;gBACL,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,UAAU;oBAAE,OAAO,IAAI,CAAC;gBAC7B,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC;gBACvB,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;gBAC5B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC1B;YACD,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;YAC3D,IAAI,CAAC,CAAC,OAAO,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACpB;SACF;QACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IACO,oCAAa,GAArB,UAAsB,QAAa,EAAE,IAAY;QAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE;YAChD,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,EAAE,CAAC;SACT;QACD,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACvD,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC9D,CAAC;IACO,2CAAoB,GAA5B,UACE,IAAY,EACZ,GAAQ,EACR,UAA2B;QAA3B,+CAA2B;QAE3B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,GAAG,GAAG,EAAE,CAAC;QACnB,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACxB,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;YACnB,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE;gBAC9B,IAAI,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChC,IAAI,OAAO,IAAI,SAAS;oBAAE,OAAO,GAAG,CAAC;gBACrC,IAAI,SAAS,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM;oBAAE,SAAS;gBACjD,IAAI,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG;oBAAE,SAAS;gBACrC,IAAI,OAAO,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;oBAAE,OAAO,GAAG,CAAC;aACnE;SACF;QACD,IAAI,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACjC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE;gBACZ,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;aAChB;YACD,OAAO,IAAI,CAAC;SACb;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IACO,qCAAc,GAAtB,UAAuB,GAAQ,EAAE,IAAY;QAC3C,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACO,kCAAW,GAAnB,UAAoB,GAAQ;QAC1B,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IACH,mBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvOsD;AACF;AAEC;AAuCtD;IAWE,4BAAY,UAAkB;QALtB,iBAAY,GAAG,IAAI,mEAAY,EAAE,CAAC;QAClC,WAAM,GAAG,IAAI,kEAAgB,EAAE,CAAC;QAChC,iBAAY,GAAY,KAAK,CAAC;QAC9B,qBAAgB,GAAY,KAAK,CAAC;QAGxC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IACD,sBAAW,0CAAU;aAArB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;;;OAAA;IACO,0CAAa,GAArB,UAAsB,KAAa;QACjC,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK;YAAE,OAAO;QACtC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE;YACpC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;YACjC,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;IACM,yCAAY,GAAnB;QACE,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAE7B,IAAI,SAAS,GAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,wCAAW,GAAlB;QACE,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IACD,sBAAW,uCAAO;aAAlB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IAEM,mCAAM,GAAb;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAEM,gCAAG,GAAV,UACE,MAAsB,EACtB,UAAiC;QAFnC,iBAwBC;QAtBC,8CAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,iEAAe,CAAC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;aAChE;YACD,OAAO,IAAI,CAAC;SACb;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG;gBACnC,KAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,CAAC,CAAC;SACH;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACxD;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACO,iDAAoB,GAA5B;QACE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO;gBAAE,OAAO;SAC5C;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACO,sCAAS,GAAjB;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,IAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACtB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAjFa,2CAAwB,GACpC,UAAC,UAAkB,IAAO,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAiF1E,yBAAC;CAAA;AAnF8B;AAqF/B;IASE,8BAAmB,UAAkB;QAJ7B,QAAG,GAAW,oBAAoB,CAAC,SAAS,EAAG,CAAC;QAKtD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IACD,sBAAW,oCAAE;aAAb,cAA0B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;;;OAAA;IAC5C,sBAAW,4CAAU;aAArB;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,CAAC;aAED,UAAsB,KAAa;YAAnC,iBAMC;YALC,IAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU;gBAAE,OAAO;YAClE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAC7E,IAAI,CAAC,kBAAkB,CAAC,UAAU,GAAG,UAAC,GAAQ,IAAO,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC;;;OARA;IAUM,2CAAY,GAAnB;QACE,IAAG,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACzD;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,0CAAW,GAAlB;QACE,IAAG,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,sBAAW,yCAAO;aAAlB;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;QACzC,CAAC;;;OAAA;IAEM,qCAAM,GAAb;QACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;IAC1C,CAAC;IACS,sCAAO,GAAjB,UACE,MAAsB,EACtB,UAAiC;QAAjC,8CAAiC;QAEjC,IAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE;YACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;IACS,2CAAY,GAAtB,UAAuB,GAAQ;QAC7B,IAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE;YACvC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC/B;IACH,CAAC;IAtDc,8BAAS,GAAG,CAAC,CAAC;IAuD/B,2BAAC;CAAA;AA3DgC;AA6DjC;IAAqC,mCAAoB;IAAzD;;IAYA,CAAC;IAVQ,6BAAG,GAAV,UACE,MAAsB,EACtB,UAAiC;QAAjC,8CAAiC;QAEjC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC;IAClD,CAAC;IACS,sCAAY,GAAtB,UAAuB,GAAQ;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QAC1D,iBAAM,YAAY,YAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACH,sBAAC;AAAD,CAAC,CAZoC,oBAAoB,GAYxD;;AAED;IAAsC,oCAAoB;IAA1D;;IASA,CAAC;IAPQ,8BAAG,GAAV,UAAW,MAAsB,EAAE,UAAiC;QAAjC,8CAAiC;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;IACS,uCAAY,GAAtB,UAAuB,GAAQ;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAClD,iBAAM,YAAY,YAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACH,uBAAC;AAAD,CAAC,CATqC,oBAAoB,GASzD;;;;;;;;;;;;;;ACnND;AAAA;AAAA;AAAA;AAAoE;AAEpE;IACE,+BAAmB,EAAU,EAAS,IAAY;QAA/B,OAAE,GAAF,EAAE,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IACxD,4BAAC;AAAD,CAAC;;AAED;IAAA;IAwCA,CAAC;IApCS,0CAAe,GAAvB,UAAwB,IAAY;QAClC,OAAO,IAAI;aACR,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;aACpB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;aACpB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;aACpB,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;aAC5B,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACxC,CAAC;IAEM,0CAAe,GAAtB,UAAuB,IAAY;QACjC,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEM,0CAAe,GAAtB,UAAuB,IAAY;QACjC,IAAI;YACF,IAAI,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,MAAM,GAAG,2EAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE;oBAC9B,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;iBAC7C;aACF;YACD,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,yEAAW,EAAE;gBAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,qBAAqB,CAC7C,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EACvB,CAAC,CAAC,OAAO,CACV,CAAC;aACH;SACF;IACH,CAAC;IAED,sBAAW,mCAAK;aAAhB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;;;OAAA;IArCc,4BAAW,GAAiC,EAAE,CAAC;IAsChE,uBAAC;CAAA;AAxC4B;;;;;;;;;;;;;ACP7B;AAAA;AAAA;IAAA;IAYA,CAAC;IAXe,6CAA6B,GAA3C,UAA4C,QAAgB,EAAE,OAAe;QAC3E,eAAe,CAAC,IAAI,CAAC,iCAAiC,GAAG,QAAQ,GAAG,4BAA4B,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;IACrH,CAAC;IACa,sCAAsB,GAApC,UAAqC,YAAoB,EAAE,GAAQ;QACjE,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5C,eAAe,CAAC,IAAI,CAAC,yCAAyC,GAAG,MAAM,GAAG,gCAAgC,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC;IACpI,CAAC;IACa,oBAAI,GAAlB,UAAmB,IAAY;QAC7B,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACH,sBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AACF;AACK;;;;;;;;;;;;;ACFhE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAQ;AACuD;AACQ;AACG;AACd;AACjB;AACF;AACI;AACS;AAMtB;AAKQ;AAIA;AAIC;AAID;AAE4B;AACS;AACI;AAErB;AACM;AACE;AACK;AACT;AACK;AACG;AAIjC;AAC0B;AACA;AACoB;AACX;AACO;AACqB;AACrC;AACR;AACiB;AACN;AACD;AAC4D;AAC1C;AACoC;AACxC;AACnB;AACc;AACR;AACC;AACG;AACK;AACL;AACF;AACP;AACE;AACZ;AACc;AACY;AACe;AAEtC;AACH;AACkB;AACA;AACK;AACH;AACM;AACf;AACyD;AACP;AACS;AACP;AACM;AACJ;AACA;AACO;AAC/B;AAEnC;AACH;AACS;AACc;AACG;AACxC;AAEqB;AACA;AACmB;AAElF,gDAAgD;AAChD,mFAAmF;;;;;;;;;;;;;AC5GnF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACH;AACqB;AAEL;AACN;AAEU;AAElD,uEAAmB,CAAC,KAAG,SAAqB,EAAE,iBAAiB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTjE,oBAAoB;AASG;AAEvB,4DAA4D;AAC5D,EAAE;AACF,8DAA8D;AAE9D,YAAY,CAAC;AA2Cb;IAAiC,+BAAK;IAiGpC,qBAAY,OAAe,EAAE,QAAuB,EAAE,KAAoB,EAAE,QAAoB;QAAhG,YACE,iBAAO,SAUR;QATC,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,KAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAE1B,IAAI,OAAQ,KAAa,CAAC,iBAAiB,KAAK,UAAU,EAAE;YACzD,KAAa,CAAC,iBAAiB,CAAC,KAAI,EAAE,WAAW,CAAC,CAAC;SACrD;;IACH,CAAC;IA3Ga,wBAAY,GAA1B,UAA2B,QAAuB,EAAE,KAAoB;QACtE,SAAS,GAAG,CAAC,EAAU;YACrB,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,CAAC;QAED,SAAS,aAAa,CAAC,CAAS;YAC9B,OAAO,CAAC;iBACL,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;iBACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;iBACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;iBACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;iBACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;iBACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;iBACrB,OAAO,CAAC,cAAc,EAAE,UAAC,EAAE,IAAK,aAAM,GAAG,GAAG,CAAC,EAAE,CAAC,EAAhB,CAAgB,CAAC;iBACjD,OAAO,CAAC,uBAAuB,EAAE,UAAC,EAAE,IAAK,YAAK,GAAG,GAAG,CAAC,EAAE,CAAC,EAAf,CAAe,CAAC,CAAC;QAC/D,CAAC;QAED,SAAS,WAAW,CAAC,CAAS;YAC5B,OAAO,CAAC;iBACL,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;iBACtB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;iBACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;iBACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;iBACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;iBACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;iBACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;iBACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;iBACrB,OAAO,CAAC,cAAc,EAAE,UAAC,EAAE,IAAK,aAAM,GAAG,GAAG,CAAC,EAAE,CAAC,EAAhB,CAAgB,CAAC;iBACjD,OAAO,CAAC,uBAAuB,EAAE,UAAC,EAAE,IAAK,YAAK,GAAG,GAAG,CAAC,EAAE,CAAC,EAAf,CAAe,CAAC,CAAC;QAC/D,CAAC;QAED,SAAS,mBAAmB,CAAC,WAAwB;YACnD,QAAQ,WAAW,CAAC,IAAI,EAAE;gBACxB,KAAK,SAAS;oBACZ,OAAO,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBACvD,KAAK,OAAO;oBACV,IAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI;wBAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;4BACxB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,GAAG,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC;4BACvE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC;oBAEH,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,GAAG,GAAG,CAAC;gBACtE,KAAK,KAAK;oBACR,OAAO,eAAe,CAAC;gBACzB,KAAK,KAAK;oBACR,OAAO,cAAc,CAAC;gBACxB,KAAK,OAAO;oBACV,OAAO,WAAW,CAAC,WAAW,CAAC;aAClC;QACH,CAAC;QAED,SAAS,gBAAgB,CAAC,SAAwB;YAChD,IAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACxD,IAAI,CAAS,CAAC;YACd,IAAI,CAAS,CAAC;YAEd,YAAY,CAAC,IAAI,EAAE,CAAC;YAEpB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC/C,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE;wBAC3C,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;wBAClC,CAAC,EAAE,CAAC;qBACL;iBACF;gBACD,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;aACzB;YAED,QAAQ,YAAY,CAAC,MAAM,EAAE;gBAC3B,KAAK,CAAC;oBACJ,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;gBAEzB,KAAK,CAAC;oBACJ,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAEpD;oBACE,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;0BACvC,OAAO;0BACP,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAC7C;QACH,CAAC;QAED,SAAS,aAAa,CAAC,MAAqB;YAC1C,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;QACvE,CAAC;QAED,OAAO,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAC/F,CAAC;IAoBH,kBAAC;AAAD,CAAC,CA7GgC,KAAK,GA6GrC;;AAOD,SAAS,SAAS,CAAC,KAAa,EAAE,OAAuB;IACvD,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/C,IAAM,UAAU,GAAkB,EAAE,CAAC;IAErC,IAAM,sBAAsB,GAAwB,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;IACxF,IAAI,qBAAqB,GAAc,mBAAmB,CAAC;IAE3D,IAAM,MAAM,GAAG,UAAS,IAAS,EAAE,IAAS;QAC1C,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC;IACF,IAAM,MAAM,GAAG,IAAI,CAAC;IACpB,IAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,MAAM,GAAG,IAAI,CAAC;IACpB,IAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClD,IAAM,MAAM,GAAG,cAAkB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,IAAM,MAAM,GAAG,IAAI,CAAC;IACpB,IAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,MAAM,GAAG,KAAK,CAAC;IACrB,IAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,cAAkB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,IAAM,OAAO,GAAG,UAAS,IAAS,EAAE,IAAS;QAC3C,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,IAAM,OAAO,GAAG,IAAI,CAAC;IACrB,IAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,IAAM,OAAO,GAAG,aAAa,CAAC;IAC9B,IAAM,OAAO,GAAG,sBAAsB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC5D,IAAM,OAAO,GAAG,cAAkB,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAM,OAAO,GAAG,IAAI,CAAC;IACrB,IAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,IAAM,OAAO,GAAG,gBAAgB,CAAC;IACjC,IAAM,OAAO,GAAG,sBAAsB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAM,OAAO,GAAG,cAAkB,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAM,OAAO,GAAG,IAAI,CAAC;IACrB,IAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,IAAM,OAAO,GAAG,OAAO,CAAC;IACxB,IAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,IAAM,OAAO,GAAG,cAAkB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpD,IAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,IAAI,CAAC;IACrB,IAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,IAAM,OAAO,GAAG,UAAU,CAAC;IAC3B,IAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzD,IAAM,OAAO,GAAG,cAAkB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACvD,IAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,MAAM,CAAC;IACvB,IAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,IAAM,OAAO,GAAG,cAAkB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,SAAS,CAAC;IAC1B,IAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACxD,IAAM,OAAO,GAAG,cAAkB,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACtD,IAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,cAAkB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,cAAkB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpD,IAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,cAAkB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,IAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,cAAkB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,IAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,cAAkB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,IAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,OAAO,CAAC;IACxB,IAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,IAAM,OAAO,GAAG,cAAkB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpD,IAAM,OAAO,GAAG,IAAI,CAAC;IACrB,IAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,IAAM,OAAO,GAAG,UAAU,CAAC;IAC3B,IAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzD,IAAM,OAAO,GAAG,SAAS,CAAC;IAC1B,IAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACxD,IAAM,OAAO,GAAG,cAAkB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACvD,IAAM,OAAO,GAAG,aAAa,CAAC;IAC9B,IAAM,OAAO,GAAG,sBAAsB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC5D,IAAM,OAAO,GAAG,YAAY,CAAC;IAC7B,IAAM,OAAO,GAAG,sBAAsB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAM,OAAO,GAAG,cAAkB,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAM,OAAO,GAAG,OAAO,CAAC;IACxB,IAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,IAAM,OAAO,GAAG,cAAkB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpD,IAAM,OAAO,GAAG,OAAO,CAAC;IACxB,IAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,IAAM,OAAO,GAAG,cAAkB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpD,IAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,UAAS,IAAS,IAAS,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAM,OAAO,GAAG,UAAS,IAAS,EAAE,MAAW,IAAS,OAAO,IAAI,4DAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,IAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,QAAQ,CAAC;IACzB,IAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,IAAM,OAAO,GAAG,UAAS,IAAS,IAAS,OAAO,IAAI,yDAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,IAAM,OAAO,GAAG,UAAS,IAAS,EAAE,EAAO,IAAS,OAAO,IAAI,yDAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,IAAM,OAAO,GAAG,OAAO,CAAC;IACxB,IAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,IAAM,OAAO,GAAG,cAAkB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpD,IAAM,OAAO,GAAG,UAAU,CAAC;IAC3B,IAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzD,IAAM,OAAO,GAAG,cAAkB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACvD,IAAM,QAAQ,GAAG,WAAW,CAAC;IAC7B,IAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAM,QAAQ,GAAG,MAAM,CAAC;IACxB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvD,IAAM,QAAQ,GAAG,cAAkB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,IAAM,QAAQ,GAAG,UAAS,KAAU,IAAS,OAAO,IAAI,kDAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,IAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpD,IAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpD,IAAM,QAAQ,GAAG,UAAS,KAAU,IAAS,OAAO,IAAI,qDAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAM,QAAQ,GAAG,UAAS,KAAU,IAAS,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAM,QAAQ,GAAG,IAAI,CAAC;IACtB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,IAAM,QAAQ,GAAG,cAAkB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,IAAM,QAAQ,GAAG,MAAM,CAAC;IACxB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvD,IAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpD,IAAM,QAAQ,GAAG,UAAS,KAAU,IAAS,OAAO,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,IAAM,QAAQ,GAAG,IAAI,CAAC;IACtB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,IAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpD,IAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpD,IAAM,QAAQ,GAAG,UAAS,QAAa,IAAS,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnE,IAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpD,IAAM,QAAQ,GAAG,UAAS,IAAS,EAAE,IAAS;QAC5C,IAAI,IAAI,IAAI,IAAI;YACd,OAAO,IAAI,yDAAY,CAAC,EAAE,CAAC,CAAC;QAE9B,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC1C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aACxB;SACF;QAED,OAAO,IAAI,yDAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,IAAM,QAAQ,GAAG,MAAM,CAAC;IACxB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,IAAM,QAAQ,GAAG,cAAkB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,IAAM,QAAQ,GAAG,OAAO,CAAC;IACzB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvD,IAAM,QAAQ,GAAG,cAAkB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACnD,IAAM,QAAQ,GAAG,IAAI,CAAC;IACtB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,IAAM,QAAQ,GAAG,cAAkB,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,IAAM,QAAQ,GAAG,OAAO,CAAC;IACzB,IAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3D,IAAM,QAAQ,GAAG,UAAS,IAAS,EAAE,GAAQ,IAAS,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpD,IAAM,QAAQ,GAAG,cAAkB,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAM,QAAQ,GAAG,cAAkB,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,IAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpD,IAAM,QAAQ,GAAG,cAAkB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAM,QAAQ,GAAG,UAAS,KAAU,IAAS,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,IAAM,QAAQ,GAAG,KAAK,CAAC;IACvB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtD,IAAM,QAAQ,GAAG,cAAkB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,IAAM,QAAQ,GAAG,MAAM,CAAC;IACxB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvD,IAAM,QAAQ,GAAG,cAAkB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,IAAM,QAAQ,GAAG,QAAQ,CAAC;IAC1B,IAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAChE,IAAM,QAAQ,GAAG,cAAkB,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,IAAM,QAAQ,GAAG,QAAQ,CAAC;IAC1B,IAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAM,QAAQ,GAAG,QAAQ,CAAC;IAC1B,IAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClE,IAAM,QAAQ,GAAG,QAAQ,CAAC;IAC1B,IAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClE,IAAM,QAAQ,GAAG,YAAY,CAAC;IAC9B,IAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACnF,IAAM,QAAQ,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACpD,IAAM,QAAQ,GAAG,YAAY,CAAC;IAC9B,IAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAE7E,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAM,mBAAmB,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,mBAAmB,GAAkB,EAAE,CAAC;IAC5C,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,IAAM,gBAAgB,GAA4B,EAAE,CAAC;IAErD,IAAI,UAAU,CAAC;IAEf,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;QACnC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,sBAAsB,CAAC,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;SACjF;QAED,qBAAqB,GAAG,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACnE;IAED,SAAS,IAAI;QACX,OAAO,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,QAAQ;QACf,OAAO,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,QAAQ,CAAC,WAAmB,EAAE,SAAsB;QAC3D,SAAS,GAAG,SAAS,KAAK,SAAS;YACjC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAEnD,MAAM,wBAAwB,CAC5B,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,EACnC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,EAC1C,SAAS,CACV,CAAC;IACJ,CAAC;IAED,SAAS,KAAK,CAAC,OAAe,EAAE,SAAsB;QACpD,SAAS,GAAG,SAAS,KAAK,SAAS;YACjC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAEnD,MAAM,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,sBAAsB,CAAC,KAAa,EAAE,UAAmB;QAChE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IAClE,CAAC;IAED,SAAS,oBAAoB,CAAC,KAAkB,EAAE,QAAiB,EAAE,UAAmB;QACtF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IACrF,CAAC;IAED,SAAS,kBAAkB;QACzB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,SAAS,kBAAkB;QACzB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,SAAS,oBAAoB,CAAC,WAAmB;QAC/C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IACrD,CAAC;IAED,SAAS,qBAAqB,CAAC,GAAW;QACxC,IAAI,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC;QAEN,IAAI,OAAO,EAAE;YACX,OAAO,OAAO,CAAC;SAChB;aAAM;YACL,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YACZ,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;gBAC9B,CAAC,EAAE,CAAC;aACL;YAED,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO,GAAG;gBACR,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC;YAEF,OAAO,CAAC,GAAG,GAAG,EAAE;gBACd,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC9B,OAAO,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;iBACpB;qBAAM;oBACL,OAAO,CAAC,MAAM,EAAE,CAAC;iBAClB;gBAED,CAAC,EAAE,CAAC;aACL;YAED,mBAAmB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YAEnC,OAAO,OAAO,CAAC;SAChB;IACH,CAAC;IAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,MAAc;QAC3D,IAAM,eAAe,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAEpD,OAAO;YACL,KAAK,EAAE;gBACL,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,MAAM,EAAE,eAAe,CAAC,MAAM;aAC/B;YACD,GAAG,EAAE;gBACH,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,MAAM,EAAE,aAAa,CAAC,MAAM;aAC7B;SACF,CAAC;IACJ,CAAC;IAED,SAAS,QAAQ,CAAC,SAAsB;QACtC,IAAI,WAAW,GAAG,cAAc,EAAE;YAAE,OAAO;SAAE;QAE7C,IAAI,WAAW,GAAG,cAAc,EAAE;YAChC,cAAc,GAAG,WAAW,CAAC;YAC7B,mBAAmB,GAAG,EAAE,CAAC;SAC1B;QAED,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,oBAAoB,CAAC,OAAe,EAAE,SAAqB;QAClE,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,wBAAwB,CAAC,SAAwB,EAAE,KAAoB,EAAE,SAAqB;QACrG,OAAO,IAAI,WAAW,CACpB,WAAW,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,EAC1C,SAAS,EACT,KAAK,EACL,SAAS,CACV,CAAC;IACJ,CAAC;IAED,SAAS,mBAAmB;QAC1B,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEvC,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,UAAU,EAAE,CAAC;QAClB,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,gBAAgB,EAAE,CAAC;YACxB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,WAAW,CAAC;gBACjB,EAAE,GAAG,UAAU,EAAE,CAAC;gBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,eAAe,EAAE,CAAC;oBACvB,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;wBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,gBAAgB,EAAE,CAAC;4BACxB,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gCACtB,EAAE,GAAG,EAAE,CAAC;6BACT;iCAAM;gCACL,WAAW,GAAG,EAAE,CAAC;gCACjB,EAAE,GAAG,UAAU,CAAC;6BACjB;yBACF;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;gBACD,OAAO,EAAE,KAAK,UAAU,EAAE;oBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACZ,EAAE,GAAG,WAAW,CAAC;oBACjB,EAAE,GAAG,UAAU,EAAE,CAAC;oBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,eAAe,EAAE,CAAC;wBACvB,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,UAAU,EAAE,CAAC;4BAClB,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,EAAE,GAAG,gBAAgB,EAAE,CAAC;gCACxB,IAAI,EAAE,KAAK,UAAU,EAAE;oCACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oCACtB,EAAE,GAAG,EAAE,CAAC;iCACT;qCAAM;oCACL,WAAW,GAAG,EAAE,CAAC;oCACjB,EAAE,GAAG,UAAU,CAAC;iCACjB;6BACF;iCAAM;gCACL,WAAW,GAAG,EAAE,CAAC;gCACjB,EAAE,GAAG,UAAU,CAAC;6BACjB;yBACF;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;oBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,YAAY,GAAG,EAAE,CAAC;wBAClB,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBACpB,EAAE,GAAG,EAAE,CAAC;qBACT;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,eAAe;QACtB,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3C,EAAE,GAAG,MAAM,CAAC;YACZ,WAAW,IAAI,CAAC,CAAC;SAClB;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;aAAE;SACjD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE;gBACzD,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAClC,WAAW,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAAE;aACjD;SACF;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,MAAM,EAAE,CAAC;SACf;QACD,EAAE,GAAG,EAAE,CAAC;QAER,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,gBAAgB;QACvB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEnC,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,iBAAiB,EAAE,CAAC;QACzB,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,WAAW,CAAC;YACjB,EAAE,GAAG,UAAU,EAAE,CAAC;YAClB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,gBAAgB,EAAE,CAAC;gBACxB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;oBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,iBAAiB,EAAE,CAAC;wBACzB,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;4BACtB,EAAE,GAAG,EAAE,CAAC;yBACT;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;YACD,OAAO,EAAE,KAAK,UAAU,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,EAAE,GAAG,WAAW,CAAC;gBACjB,EAAE,GAAG,UAAU,EAAE,CAAC;gBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,gBAAgB,EAAE,CAAC;oBACxB,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;wBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,iBAAiB,EAAE,CAAC;4BACzB,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gCACtB,EAAE,GAAG,EAAE,CAAC;6BACT;iCAAM;gCACL,WAAW,GAAG,EAAE,CAAC;gCACjB,EAAE,GAAG,UAAU,CAAC;6BACjB;yBACF;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpB,EAAE,GAAG,EAAE,CAAC;aACT;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,gBAAgB;QACvB,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3C,EAAE,GAAG,MAAM,CAAC;YACZ,WAAW,IAAI,CAAC,CAAC;SAClB;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;aAAE;SACjD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE;gBACzD,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAClC,WAAW,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAAE;aACjD;SACF;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,OAAO,EAAE,CAAC;SAChB;QACD,EAAE,GAAG,EAAE,CAAC;QAER,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,iBAAiB;QACxB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEnC,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,gBAAgB,EAAE,CAAC;QACxB,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,WAAW,CAAC;YACjB,EAAE,GAAG,UAAU,EAAE,CAAC;YAClB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,4BAA4B,EAAE,CAAC;gBACpC,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;oBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,gBAAgB,EAAE,CAAC;wBACxB,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;4BACtB,EAAE,GAAG,EAAE,CAAC;yBACT;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;YACD,OAAO,EAAE,KAAK,UAAU,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,EAAE,GAAG,WAAW,CAAC;gBACjB,EAAE,GAAG,UAAU,EAAE,CAAC;gBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,4BAA4B,EAAE,CAAC;oBACpC,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;wBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,gBAAgB,EAAE,CAAC;4BACxB,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gCACtB,EAAE,GAAG,EAAE,CAAC;6BACT;iCAAM;gCACL,WAAW,GAAG,EAAE,CAAC;gCACjB,EAAE,GAAG,UAAU,CAAC;6BACjB;yBACF;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrB,EAAE,GAAG,EAAE,CAAC;aACT;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,4BAA4B;QACnC,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;YAC5C,EAAE,GAAG,OAAO,CAAC;YACb,WAAW,IAAI,CAAC,CAAC;SAClB;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;aAAE;SAClD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;gBAC3D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACnC,WAAW,IAAI,EAAE,CAAC;aACnB;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAAE;aAClD;SACF;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,OAAO,EAAE,CAAC;SAChB;QACD,EAAE,GAAG,EAAE,CAAC;QACR,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,WAAW,CAAC;YACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;gBAC5C,EAAE,GAAG,OAAO,CAAC;gBACb,WAAW,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAAE;aAClD;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;oBAC3D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBACnC,WAAW,IAAI,EAAE,CAAC;iBACnB;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;qBAAE;iBAClD;aACF;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,OAAO,EAAE,CAAC;aAChB;YACD,EAAE,GAAG,EAAE,CAAC;YACR,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,WAAW,CAAC;gBACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;oBAC5C,EAAE,GAAG,OAAO,CAAC;oBACb,WAAW,IAAI,CAAC,CAAC;iBAClB;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;qBAAE;iBAClD;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;wBAC1D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;wBAClC,WAAW,IAAI,CAAC,CAAC;qBAClB;yBAAM;wBACL,EAAE,GAAG,UAAU,CAAC;wBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;4BAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;yBAAE;qBAClD;iBACF;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,YAAY,GAAG,EAAE,CAAC;oBAClB,EAAE,GAAG,OAAO,EAAE,CAAC;iBAChB;gBACD,EAAE,GAAG,EAAE,CAAC;gBACR,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,WAAW,CAAC;oBACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;wBACxC,EAAE,GAAG,OAAO,CAAC;wBACb,WAAW,EAAE,CAAC;qBACf;yBAAM;wBACL,EAAE,GAAG,UAAU,CAAC;wBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;4BAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;yBAAE;qBAClD;oBACD,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;4BAC1D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;4BAClC,WAAW,IAAI,CAAC,CAAC;yBAClB;6BAAM;4BACL,EAAE,GAAG,UAAU,CAAC;4BAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gCAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;6BAAE;yBAClD;qBACF;oBACD,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,YAAY,GAAG,EAAE,CAAC;wBAClB,EAAE,GAAG,OAAO,EAAE,CAAC;qBAChB;oBACD,EAAE,GAAG,EAAE,CAAC;oBACR,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,WAAW,CAAC;wBACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;4BAC5C,EAAE,GAAG,OAAO,CAAC;4BACb,WAAW,IAAI,CAAC,CAAC;yBAClB;6BAAM;4BACL,EAAE,GAAG,UAAU,CAAC;4BAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gCAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;6BAAE;yBAClD;wBACD,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;gCAC1D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gCAClC,WAAW,IAAI,CAAC,CAAC;6BAClB;iCAAM;gCACL,EAAE,GAAG,UAAU,CAAC;gCAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oCAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iCAAE;6BAClD;yBACF;wBACD,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,YAAY,GAAG,EAAE,CAAC;4BAClB,EAAE,GAAG,OAAO,EAAE,CAAC;yBAChB;wBACD,EAAE,GAAG,EAAE,CAAC;wBACR,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,WAAW,CAAC;4BACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;gCACxC,EAAE,GAAG,OAAO,CAAC;gCACb,WAAW,EAAE,CAAC;6BACf;iCAAM;gCACL,EAAE,GAAG,UAAU,CAAC;gCAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oCAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iCAAE;6BAClD;4BACD,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;oCAC1D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oCAClC,WAAW,IAAI,CAAC,CAAC;iCAClB;qCAAM;oCACL,EAAE,GAAG,UAAU,CAAC;oCAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wCAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;qCAAE;iCAClD;6BACF;4BACD,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,YAAY,GAAG,EAAE,CAAC;gCAClB,EAAE,GAAG,OAAO,EAAE,CAAC;6BAChB;4BACD,EAAE,GAAG,EAAE,CAAC;4BACR,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,EAAE,GAAG,WAAW,CAAC;gCACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;oCACxC,EAAE,GAAG,OAAO,CAAC;oCACb,WAAW,EAAE,CAAC;iCACf;qCAAM;oCACL,EAAE,GAAG,UAAU,CAAC;oCAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wCAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;qCAAE;iCAClD;gCACD,IAAI,EAAE,KAAK,UAAU,EAAE;oCACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;wCAC1D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;wCAClC,WAAW,IAAI,CAAC,CAAC;qCAClB;yCAAM;wCACL,EAAE,GAAG,UAAU,CAAC;wCAChB,IAAI,eAAe,KAAK,CAAC,EAAE;4CAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;yCAAE;qCAClD;iCACF;gCACD,IAAI,EAAE,KAAK,UAAU,EAAE;oCACrB,YAAY,GAAG,EAAE,CAAC;oCAClB,EAAE,GAAG,OAAO,EAAE,CAAC;iCAChB;gCACD,EAAE,GAAG,EAAE,CAAC;6BACT;yBACF;qBACF;iBACF;aACF;SACF;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,gBAAgB;QACvB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEnC,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,qBAAqB,EAAE,CAAC;QAC7B,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,WAAW,CAAC;YACjB,EAAE,GAAG,UAAU,EAAE,CAAC;YAClB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;oBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,qBAAqB,EAAE,CAAC;wBAC7B,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;4BACtB,EAAE,GAAG,EAAE,CAAC;yBACT;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;YACD,OAAO,EAAE,KAAK,UAAU,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,EAAE,GAAG,WAAW,CAAC;gBACjB,EAAE,GAAG,UAAU,EAAE,CAAC;gBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,uBAAuB,EAAE,CAAC;oBAC/B,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;wBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,qBAAqB,EAAE,CAAC;4BAC7B,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gCACtB,EAAE,GAAG,EAAE,CAAC;6BACT;iCAAM;gCACL,WAAW,GAAG,EAAE,CAAC;gCACjB,EAAE,GAAG,UAAU,CAAC;6BACjB;yBACF;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpB,EAAE,GAAG,EAAE,CAAC;aACT;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,uBAAuB;QAC9B,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;YACxC,EAAE,GAAG,OAAO,CAAC;YACb,WAAW,EAAE,CAAC;SACf;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;aAAE;SAClD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,OAAO,EAAE,CAAC;SAChB;QACD,EAAE,GAAG,EAAE,CAAC;QACR,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,WAAW,CAAC;YACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;gBACxC,EAAE,GAAG,OAAO,CAAC;gBACb,WAAW,EAAE,CAAC;aACf;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAAE;aAClD;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,OAAO,EAAE,CAAC;aAChB;YACD,EAAE,GAAG,EAAE,CAAC;SACT;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,qBAAqB;QAC5B,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEnC,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,kBAAkB,EAAE,CAAC;QAC1B,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,WAAW,CAAC;YACjB,EAAE,GAAG,UAAU,EAAE,CAAC;YAClB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,oBAAoB,EAAE,CAAC;gBAC5B,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;oBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,kBAAkB,EAAE,CAAC;wBAC1B,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;4BACtB,EAAE,GAAG,EAAE,CAAC;yBACT;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;YACD,OAAO,EAAE,KAAK,UAAU,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,EAAE,GAAG,WAAW,CAAC;gBACjB,EAAE,GAAG,UAAU,EAAE,CAAC;gBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,oBAAoB,EAAE,CAAC;oBAC5B,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;wBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,kBAAkB,EAAE,CAAC;4BAC1B,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gCACtB,EAAE,GAAG,EAAE,CAAC;6BACT;iCAAM;gCACL,WAAW,GAAG,EAAE,CAAC;gCACjB,EAAE,GAAG,UAAU,CAAC;6BACjB;yBACF;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpB,EAAE,GAAG,EAAE,CAAC;aACT;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,oBAAoB;QAC3B,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;YACxC,EAAE,GAAG,OAAO,CAAC;YACb,WAAW,EAAE,CAAC;SACf;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;aAAE;SAClD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,OAAO,EAAE,CAAC;SAChB;QACD,EAAE,GAAG,EAAE,CAAC;QACR,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,WAAW,CAAC;YACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;gBACxC,EAAE,GAAG,OAAO,CAAC;gBACb,WAAW,EAAE,CAAC;aACf;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAAE;aAClD;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,OAAO,EAAE,CAAC;aAChB;YACD,EAAE,GAAG,EAAE,CAAC;YACR,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,WAAW,CAAC;gBACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;oBACxC,EAAE,GAAG,OAAO,CAAC;oBACb,WAAW,EAAE,CAAC;iBACf;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;qBAAE;iBAClD;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,YAAY,GAAG,EAAE,CAAC;oBAClB,EAAE,GAAG,OAAO,EAAE,CAAC;iBAChB;gBACD,EAAE,GAAG,EAAE,CAAC;aACT;SACF;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,kBAAkB;QACzB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEnC,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,qBAAqB,EAAE,CAAC;QAC7B,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,WAAW,CAAC;YACjB,EAAE,GAAG,UAAU,EAAE,CAAC;YAClB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;oBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,qBAAqB,EAAE,CAAC;wBAC7B,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;4BACtB,EAAE,GAAG,EAAE,CAAC;yBACT;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;YACD,OAAO,EAAE,KAAK,UAAU,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,EAAE,GAAG,WAAW,CAAC;gBACjB,EAAE,GAAG,UAAU,EAAE,CAAC;gBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,mBAAmB,EAAE,CAAC;oBAC3B,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;wBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,qBAAqB,EAAE,CAAC;4BAC7B,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gCACtB,EAAE,GAAG,EAAE,CAAC;6BACT;iCAAM;gCACL,WAAW,GAAG,EAAE,CAAC;gCACjB,EAAE,GAAG,UAAU,CAAC;6BACjB;yBACF;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpB,EAAE,GAAG,EAAE,CAAC;aACT;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,mBAAmB;QAC1B,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;YACxC,EAAE,GAAG,OAAO,CAAC;YACb,WAAW,EAAE,CAAC;SACf;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;aAAE;SAClD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;gBAC1D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAClC,WAAW,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAAE;aAClD;SACF;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,OAAO,EAAE,CAAC;SAChB;QACD,EAAE,GAAG,EAAE,CAAC;QAER,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,qBAAqB;QAC5B,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEnC,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,eAAe,EAAE,CAAC;QACvB,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,WAAW,CAAC;YACjB,EAAE,GAAG,UAAU,EAAE,CAAC;YAClB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;oBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,eAAe,EAAE,CAAC;wBACvB,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,IAAI,CAAC;yBACX;wBACD,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;4BACtB,EAAE,GAAG,EAAE,CAAC;yBACT;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;YACD,OAAO,EAAE,KAAK,UAAU,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,EAAE,GAAG,WAAW,CAAC;gBACjB,EAAE,GAAG,UAAU,EAAE,CAAC;gBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,qBAAqB,EAAE,CAAC;oBAC7B,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;wBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,eAAe,EAAE,CAAC;4BACvB,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,EAAE,GAAG,IAAI,CAAC;6BACX;4BACD,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gCACtB,EAAE,GAAG,EAAE,CAAC;6BACT;iCAAM;gCACL,WAAW,GAAG,EAAE,CAAC;gCACjB,EAAE,GAAG,UAAU,CAAC;6BACjB;yBACF;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrB,EAAE,GAAG,EAAE,CAAC;aACT;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,qBAAqB;QAC5B,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;YAC5C,EAAE,GAAG,OAAO,CAAC;YACb,WAAW,IAAI,CAAC,CAAC;SAClB;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;aAAE;SAClD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;gBAC1D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAClC,WAAW,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAAE;aAClD;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;oBAC1D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAClC,WAAW,IAAI,CAAC,CAAC;iBAClB;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;qBAAE;iBAClD;aACF;SACF;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,OAAO,EAAE,CAAC;SAChB;QACD,EAAE,GAAG,EAAE,CAAC;QACR,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,WAAW,CAAC;YACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;gBAC3D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACnC,WAAW,IAAI,EAAE,CAAC;aACnB;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAAE;aAClD;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;oBAC3D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBACnC,WAAW,IAAI,EAAE,CAAC;iBACnB;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;qBAAE;iBAClD;aACF;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,OAAO,EAAE,CAAC;aAChB;YACD,EAAE,GAAG,EAAE,CAAC;YACR,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,WAAW,CAAC;gBACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;oBAC1D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAClC,WAAW,IAAI,CAAC,CAAC;iBAClB;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;qBAAE;iBAClD;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,YAAY,GAAG,EAAE,CAAC;oBAClB,EAAE,GAAG,OAAO,EAAE,CAAC;iBAChB;gBACD,EAAE,GAAG,EAAE,CAAC;gBACR,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,WAAW,CAAC;oBACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;wBAC1D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;wBAClC,WAAW,IAAI,CAAC,CAAC;qBAClB;yBAAM;wBACL,EAAE,GAAG,UAAU,CAAC;wBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;4BAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;yBAAE;qBAClD;oBACD,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,YAAY,GAAG,EAAE,CAAC;wBAClB,EAAE,GAAG,OAAO,EAAE,CAAC;qBAChB;oBACD,EAAE,GAAG,EAAE,CAAC;iBACT;aACF;SACF;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,eAAe;QACtB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAE3B,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;YACxC,EAAE,GAAG,OAAO,CAAC;YACb,WAAW,EAAE,CAAC;SACf;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;aAAE;SAClD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,UAAU,EAAE,CAAC;YAClB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;oBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;4BACxC,EAAE,GAAG,OAAO,CAAC;4BACb,WAAW,EAAE,CAAC;yBACf;6BAAM;4BACL,EAAE,GAAG,UAAU,CAAC;4BAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gCAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;6BAAE;yBAClD;wBACD,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,IAAI,CAAC;yBACX;wBACD,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,YAAY,GAAG,EAAE,CAAC;4BAClB,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;4BACjB,EAAE,GAAG,EAAE,CAAC;yBACT;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,mBAAmB,EAAE,CAAC;YAC3B,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,wBAAwB,EAAE,CAAC;gBAChC,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,aAAa,EAAE,CAAC;oBACrB,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,gBAAgB,EAAE,CAAC;qBACzB;iBACF;aACF;SACF;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,mBAAmB;QAC1B,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEvB,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,yBAAyB,EAAE,CAAC;QACjC,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;gBACxC,EAAE,GAAG,OAAO,CAAC;gBACb,WAAW,EAAE,CAAC;aACf;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAAE;aAClD;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,iBAAiB,EAAE,CAAC;gBACzB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;wBACxC,EAAE,GAAG,OAAO,CAAC;wBACb,WAAW,EAAE,CAAC;qBACf;yBAAM;wBACL,EAAE,GAAG,UAAU,CAAC;wBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;4BAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;yBAAE;qBAClD;oBACD,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,IAAI,CAAC;qBACX;oBACD,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,YAAY,GAAG,EAAE,CAAC;wBAClB,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBACrB,EAAE,GAAG,EAAE,CAAC;qBACT;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,wBAAwB;QAC/B,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEnB,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;YACxC,EAAE,GAAG,OAAO,CAAC;YACb,WAAW,EAAE,CAAC;SACf;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;aAAE;SAClD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;gBAC1D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAClC,WAAW,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAAE;aAClD;SACF;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,UAAU,EAAE,CAAC;YAClB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,YAAY,GAAG,EAAE,CAAC;oBAClB,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;oBACjB,EAAE,GAAG,EAAE,CAAC;iBACT;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,WAAW,CAAC;YACjB,EAAE,GAAG,aAAa,EAAE,CAAC;YACrB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;gBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,oBAAoB,EAAE,CAAC;oBAC5B,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,YAAY,GAAG,EAAE,CAAC;wBAClB,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBACrB,EAAE,GAAG,EAAE,CAAC;qBACT;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,oBAAoB;QAC3B,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;YAC1D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAClC,WAAW,IAAI,CAAC,CAAC;SAClB;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;aAAE;SAClD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,OAAO,EAAE,CAAC;SAChB;QACD,EAAE,GAAG,EAAE,CAAC;QACR,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,WAAW,CAAC;YACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;gBAC1D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAClC,WAAW,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAAE;aAClD;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,OAAO,EAAE,CAAC;aAChB;YACD,EAAE,GAAG,EAAE,CAAC;SACT;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,aAAa;QACpB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEvB,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,UAAU,EAAE,CAAC;QAClB,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;gBAC7C,EAAE,GAAG,QAAQ,CAAC;gBACd,WAAW,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBAAE;aACnD;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;oBAC7C,EAAE,GAAG,QAAQ,CAAC;oBACd,WAAW,IAAI,CAAC,CAAC;iBAClB;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAAE;iBACnD;aACF;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAChB,EAAE,GAAG,EAAE,CAAC;aACT;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,WAAW,CAAC;YACjB,EAAE,GAAG,UAAU,EAAE,CAAC;YAClB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,YAAY,GAAG,EAAE,CAAC;oBAClB,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAClB,EAAE,GAAG,EAAE,CAAC;iBACT;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,WAAW,CAAC;gBACjB,EAAE,GAAG,UAAU,EAAE,CAAC;gBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;wBACzC,EAAE,GAAG,QAAQ,CAAC;wBACd,WAAW,EAAE,CAAC;qBACf;yBAAM;wBACL,EAAE,GAAG,UAAU,CAAC;wBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;4BAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;yBAAE;qBACnD;oBACD,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,mBAAmB,EAAE,CAAC;wBAC3B,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE;gCACzC,EAAE,GAAG,QAAQ,CAAC;gCACd,WAAW,EAAE,CAAC;6BACf;iCAAM;gCACL,EAAE,GAAG,UAAU,CAAC;gCAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oCAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;iCAAE;6BACnD;4BACD,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,YAAY,GAAG,EAAE,CAAC;gCAClB,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;gCAClB,EAAE,GAAG,EAAE,CAAC;6BACT;iCAAM;gCACL,WAAW,GAAG,EAAE,CAAC;gCACjB,EAAE,GAAG,UAAU,CAAC;6BACjB;yBACF;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;SACF;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,mBAAmB;QAC1B,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEnB,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,mBAAmB,EAAE,CAAC;QAC3B,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;SACnB;QACD,EAAE,GAAG,EAAE,CAAC;QACR,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,WAAW,CAAC;YACjB,EAAE,GAAG,wBAAwB,EAAE,CAAC;YAChC,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;aACnB;YACD,EAAE,GAAG,EAAE,CAAC;YACR,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,WAAW,CAAC;gBACjB,EAAE,GAAG,yBAAyB,EAAE,CAAC;gBACjC,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,YAAY,GAAG,EAAE,CAAC;oBAClB,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;iBACnB;gBACD,EAAE,GAAG,EAAE,CAAC;gBACR,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,WAAW,CAAC;oBACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;wBAC7C,EAAE,GAAG,QAAQ,CAAC;wBACd,WAAW,IAAI,CAAC,CAAC;qBAClB;yBAAM;wBACL,EAAE,GAAG,UAAU,CAAC;wBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;4BAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;yBAAE;qBACnD;oBACD,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,YAAY,GAAG,EAAE,CAAC;wBAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;qBACjB;oBACD,EAAE,GAAG,EAAE,CAAC;oBACR,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,WAAW,CAAC;wBACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;4BAC7C,EAAE,GAAG,QAAQ,CAAC;4BACd,WAAW,IAAI,CAAC,CAAC;yBAClB;6BAAM;4BACL,EAAE,GAAG,UAAU,CAAC;4BAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gCAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;6BAAE;yBACnD;wBACD,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,YAAY,GAAG,EAAE,CAAC;4BAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;yBACjB;wBACD,EAAE,GAAG,EAAE,CAAC;wBACR,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,WAAW,CAAC;4BACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;gCACxC,EAAE,GAAG,QAAQ,CAAC;gCACd,WAAW,EAAE,CAAC;6BACf;iCAAM;gCACL,EAAE,GAAG,UAAU,CAAC;gCAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oCAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;iCAAE;6BACnD;4BACD,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,EAAE,GAAG,iBAAiB,EAAE,CAAC;gCACzB,IAAI,EAAE,KAAK,UAAU,EAAE;oCACrB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;wCACxC,EAAE,GAAG,QAAQ,CAAC;wCACd,WAAW,EAAE,CAAC;qCACf;yCAAM;wCACL,EAAE,GAAG,UAAU,CAAC;wCAChB,IAAI,eAAe,KAAK,CAAC,EAAE;4CAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;yCAAE;qCACnD;oCACD,IAAI,EAAE,KAAK,UAAU,EAAE;wCACrB,YAAY,GAAG,EAAE,CAAC;wCAClB,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;wCAClB,EAAE,GAAG,EAAE,CAAC;qCACT;yCAAM;wCACL,WAAW,GAAG,EAAE,CAAC;wCACjB,EAAE,GAAG,UAAU,CAAC;qCACjB;iCACF;qCAAM;oCACL,WAAW,GAAG,EAAE,CAAC;oCACjB,EAAE,GAAG,UAAU,CAAC;iCACjB;6BACF;iCAAM;gCACL,WAAW,GAAG,EAAE,CAAC;gCACjB,EAAE,GAAG,UAAU,CAAC;6BACjB;4BACD,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,EAAE,GAAG,WAAW,CAAC;gCACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;oCACxC,EAAE,GAAG,QAAQ,CAAC;oCACd,WAAW,EAAE,CAAC;iCACf;qCAAM;oCACL,EAAE,GAAG,UAAU,CAAC;oCAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wCAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;qCAAE;iCACnD;gCACD,IAAI,EAAE,KAAK,UAAU,EAAE;oCACrB,EAAE,GAAG,iBAAiB,EAAE,CAAC;oCACzB,IAAI,EAAE,KAAK,UAAU,EAAE;wCACrB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;4CACxC,EAAE,GAAG,QAAQ,CAAC;4CACd,WAAW,EAAE,CAAC;yCACf;6CAAM;4CACL,EAAE,GAAG,UAAU,CAAC;4CAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gDAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;6CAAE;yCACnD;wCACD,IAAI,EAAE,KAAK,UAAU,EAAE;4CACrB,YAAY,GAAG,EAAE,CAAC;4CAClB,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;4CAClB,EAAE,GAAG,EAAE,CAAC;yCACT;6CAAM;4CACL,WAAW,GAAG,EAAE,CAAC;4CACjB,EAAE,GAAG,UAAU,CAAC;yCACjB;qCACF;yCAAM;wCACL,WAAW,GAAG,EAAE,CAAC;wCACjB,EAAE,GAAG,UAAU,CAAC;qCACjB;iCACF;qCAAM;oCACL,WAAW,GAAG,EAAE,CAAC;oCACjB,EAAE,GAAG,UAAU,CAAC;iCACjB;6BACF;yBACF;qBACF;iBACF;aACF;SACF;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,gBAAgB;QACvB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEnB,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;YACxC,EAAE,GAAG,QAAQ,CAAC;YACd,WAAW,EAAE,CAAC;SACf;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAAE;SACnD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,iBAAiB,EAAE,CAAC;YACzB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;oBACxC,EAAE,GAAG,QAAQ,CAAC;oBACd,WAAW,EAAE,CAAC;iBACf;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAAE;iBACnD;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,YAAY,GAAG,EAAE,CAAC;oBAClB,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAClB,EAAE,GAAG,EAAE,CAAC;iBACT;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,iBAAiB;QACxB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEnC,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,mBAAmB,EAAE,CAAC;QAC3B,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,IAAI,CAAC;SACX;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,WAAW,CAAC;YACjB,EAAE,GAAG,UAAU,EAAE,CAAC;YAClB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;oBACxC,EAAE,GAAG,QAAQ,CAAC;oBACd,WAAW,EAAE,CAAC;iBACf;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAAE;iBACnD;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;oBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,mBAAmB,EAAE,CAAC;wBAC3B,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;4BACtB,EAAE,GAAG,EAAE,CAAC;yBACT;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;YACD,OAAO,EAAE,KAAK,UAAU,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,EAAE,GAAG,WAAW,CAAC;gBACjB,EAAE,GAAG,UAAU,EAAE,CAAC;gBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;wBACxC,EAAE,GAAG,QAAQ,CAAC;wBACd,WAAW,EAAE,CAAC;qBACf;yBAAM;wBACL,EAAE,GAAG,UAAU,CAAC;wBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;4BAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;yBAAE;qBACnD;oBACD,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,UAAU,EAAE,CAAC;wBAClB,IAAI,EAAE,KAAK,UAAU,EAAE;4BACrB,EAAE,GAAG,mBAAmB,EAAE,CAAC;4BAC3B,IAAI,EAAE,KAAK,UAAU,EAAE;gCACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gCACtB,EAAE,GAAG,EAAE,CAAC;6BACT;iCAAM;gCACL,WAAW,GAAG,EAAE,CAAC;gCACjB,EAAE,GAAG,UAAU,CAAC;6BACjB;yBACF;6BAAM;4BACL,WAAW,GAAG,EAAE,CAAC;4BACjB,EAAE,GAAG,UAAU,CAAC;yBACjB;qBACF;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtB,EAAE,GAAG,EAAE,CAAC;aACT;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,mBAAmB;QAC1B,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE;YAC3D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAClC,WAAW,IAAI,CAAC,CAAC;SAClB;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAAE;SACnD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;SACjB;QACD,EAAE,GAAG,EAAE,CAAC;QACR,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,WAAW,CAAC;YACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE;gBAC3D,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAClC,WAAW,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBAAE;aACnD;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;aACjB;YACD,EAAE,GAAG,EAAE,CAAC;SACT;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,wBAAwB;QAC/B,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEf,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;YAC7C,EAAE,GAAG,QAAQ,CAAC;YACd,WAAW,IAAI,CAAC,CAAC;SAClB;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAAE;SACnD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,eAAe,EAAE,CAAC;YACvB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAChB,EAAE,GAAG,EAAE,CAAC;aACT;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,WAAW,CAAC;YACjB,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;gBAC5C,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC/B,WAAW,EAAE,CAAC;aACf;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBAAE;aACnD;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,IAAI,CAAC;aACX;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,eAAe,EAAE,CAAC;gBACvB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,YAAY,GAAG,EAAE,CAAC;oBAClB,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACtB,EAAE,GAAG,EAAE,CAAC;iBACT;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,eAAe;QACtB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEnB,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,eAAe,EAAE,CAAC;QACvB,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;gBACxC,EAAE,GAAG,QAAQ,CAAC;gBACd,WAAW,EAAE,CAAC;aACf;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBAAE;aACnD;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,eAAe,EAAE,CAAC;gBACvB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,YAAY,GAAG,EAAE,CAAC;oBAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;oBAChB,EAAE,GAAG,EAAE,CAAC;iBACT;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,WAAW,CAAC;YACjB,EAAE,GAAG,sBAAsB,EAAE,CAAC;YAC9B,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,eAAe,EAAE,CAAC;gBACvB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,IAAI,CAAC;iBACX;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,YAAY,GAAG,EAAE,CAAC;oBAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;oBAChB,EAAE,GAAG,EAAE,CAAC;iBACT;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,WAAW,CAAC;gBACjB,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;oBACxC,EAAE,GAAG,QAAQ,CAAC;oBACd,WAAW,EAAE,CAAC;iBACf;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAAE;iBACnD;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,YAAY,GAAG,EAAE,CAAC;oBAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;iBACjB;gBACD,EAAE,GAAG,EAAE,CAAC;aACT;SACF;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,mBAAmB;QAC1B,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEf,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,wBAAwB,EAAE,CAAC;QAChC,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,OAAO,EAAE,KAAK,UAAU,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,EAAE,GAAG,wBAAwB,EAAE,CAAC;aACjC;SACF;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;SACjB;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;SACnB;QACD,EAAE,GAAG,EAAE,CAAC;QAER,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,iBAAiB;QACxB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEf,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,sBAAsB,EAAE,CAAC;QAC9B,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,OAAO,EAAE,KAAK,UAAU,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,EAAE,GAAG,sBAAsB,EAAE,CAAC;aAC/B;SACF;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;SACjB;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;SACnB;QACD,EAAE,GAAG,EAAE,CAAC;QAER,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,sBAAsB;QAC7B,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;YAC7C,EAAE,GAAG,QAAQ,CAAC;YACd,WAAW,IAAI,CAAC,CAAC;SAClB;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAAE;SACnD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;SACjB;QACD,EAAE,GAAG,EAAE,CAAC;QACR,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,WAAW,CAAC;YACjB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;gBAC7C,EAAE,GAAG,QAAQ,CAAC;gBACd,WAAW,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBAAE;aACnD;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;aACjB;YACD,EAAE,GAAG,EAAE,CAAC;YACR,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,WAAW,CAAC;gBACjB,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;oBAC5C,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC/B,WAAW,EAAE,CAAC;iBACf;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAAE;iBACnD;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,YAAY,GAAG,EAAE,CAAC;oBAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;iBACjB;gBACD,EAAE,GAAG,EAAE,CAAC;aACT;SACF;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,wBAAwB;QAC/B,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;YAC5C,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/B,WAAW,EAAE,CAAC;SACf;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAAE;SACnD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;SACjB;QACD,EAAE,GAAG,EAAE,CAAC;QAER,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,yBAAyB;QAChC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAE/B,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,WAAW,CAAC;QACjB,EAAE,GAAG,gBAAgB,EAAE,CAAC;QACxB,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,WAAW,CAAC;YACjB,EAAE,GAAG,eAAe,EAAE,CAAC;YACvB,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,EAAE,GAAG,EAAE,CAAC;gBACR,EAAE,GAAG,gBAAgB,EAAE,CAAC;gBACxB,OAAO,EAAE,KAAK,UAAU,EAAE;oBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACZ,EAAE,GAAG,gBAAgB,EAAE,CAAC;iBACzB;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACd,EAAE,GAAG,EAAE,CAAC;iBACT;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;YACD,OAAO,EAAE,KAAK,UAAU,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,EAAE,GAAG,WAAW,CAAC;gBACjB,EAAE,GAAG,eAAe,EAAE,CAAC;gBACvB,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,EAAE,GAAG,EAAE,CAAC;oBACR,EAAE,GAAG,gBAAgB,EAAE,CAAC;oBACxB,OAAO,EAAE,KAAK,UAAU,EAAE;wBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACZ,EAAE,GAAG,gBAAgB,EAAE,CAAC;qBACzB;oBACD,IAAI,EAAE,KAAK,UAAU,EAAE;wBACrB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBACd,EAAE,GAAG,EAAE,CAAC;qBACT;yBAAM;wBACL,WAAW,GAAG,EAAE,CAAC;wBACjB,EAAE,GAAG,UAAU,CAAC;qBACjB;iBACF;qBAAM;oBACL,WAAW,GAAG,EAAE,CAAC;oBACjB,EAAE,GAAG,UAAU,CAAC;iBACjB;aACF;YACD,IAAI,EAAE,KAAK,UAAU,EAAE;gBACrB,YAAY,GAAG,EAAE,CAAC;gBAClB,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAChB,EAAE,GAAG,EAAE,CAAC;aACT;iBAAM;gBACL,WAAW,GAAG,EAAE,CAAC;gBACjB,EAAE,GAAG,UAAU,CAAC;aACjB;SACF;aAAM;YACL,WAAW,GAAG,EAAE,CAAC;YACjB,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,eAAe;QACtB,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,EAAE,CAAC;QACR,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;YAC5C,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/B,WAAW,EAAE,CAAC;SACf;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAAE;SACnD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,OAAO,EAAE,KAAK,UAAU,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;oBAC5C,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC/B,WAAW,EAAE,CAAC;iBACf;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAAE;iBACnD;aACF;SACF;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,sBAAsB;QAC7B,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,EAAE,CAAC;QACR,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;YAC5C,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/B,WAAW,EAAE,CAAC;SACf;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAAE;SACnD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,OAAO,EAAE,KAAK,UAAU,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;oBAC5C,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC/B,WAAW,EAAE,CAAC;iBACf;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAAE;iBACnD;aACF;SACF;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,gBAAgB;QACvB,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,EAAE,GAAG,EAAE,CAAC;QACR,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;YAC5C,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/B,WAAW,EAAE,CAAC;SACf;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAAE;SACnD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,OAAO,EAAE,KAAK,UAAU,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;oBAC5C,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC/B,WAAW,EAAE,CAAC;iBACf;qBAAM;oBACL,EAAE,GAAG,UAAU,CAAC;oBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;wBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAAE;iBACnD;aACF;SACF;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;SACjB;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,UAAU;QACjB,IAAI,EAAE,EAAE,EAAE,CAAC;QAEX,IAAM,GAAG,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,IAAM,MAAM,GAAY,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,eAAe,EAAE,CAAC;QAClB,EAAE,GAAG,EAAE,CAAC;QACR,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;YAC5C,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/B,WAAW,EAAE,CAAC;SACf;aAAM;YACL,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAAE;SACnD;QACD,OAAO,EAAE,KAAK,UAAU,EAAE;YACxB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACZ,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;gBAC5C,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC/B,WAAW,EAAE,CAAC;aACf;iBAAM;gBACL,EAAE,GAAG,UAAU,CAAC;gBAChB,IAAI,eAAe,KAAK,CAAC,EAAE;oBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBAAE;aACnD;SACF;QACD,eAAe,EAAE,CAAC;QAClB,IAAI,EAAE,KAAK,UAAU,EAAE;YACrB,EAAE,GAAG,UAAU,CAAC;YAChB,IAAI,eAAe,KAAK,CAAC,EAAE;gBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAAE;SACnD;QAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE7D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,kBAAkB,CAAC,IAAa,EAAE,IAAgB,EAAE,cAA+B;QAA/B,uDAA+B;QAC1F,OAAO,IAAI,CAAC,MAAM,CAChB,UAAS,MAAM,EAAE,QAAQ;YACvB,OAAO,IAAI,0DAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC7E,CAAC,EACD,IAAI,CAAC,CAAC;IACV,CAAC;IAED,SAAS,YAAY,CAAC,KAAiB;QACrC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAErC,IAAI,UAAU,KAAK,UAAU,IAAI,WAAW,KAAK,KAAK,CAAC,MAAM,EAAE;QAC7D,OAAO,UAAU,CAAC;KACnB;SAAM;QACL,IAAI,UAAU,KAAK,UAAU,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE;YAC3D,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;SAChC;QAED,MAAM,wBAAwB,CAC5B,mBAAmB,EACnB,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EACnE,cAAc,GAAG,KAAK,CAAC,MAAM;YAC3B,CAAC,CAAC,mBAAmB,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC;YACzD,CAAC,CAAC,mBAAmB,CAAC,cAAc,EAAE,cAAc,CAAC,CACxD,CAAC;KACH;AACH,CAAC;AASM,IAAM,KAAK,GAAkB,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACh7FE;AACM;AACE;AACjB;AAEvC;IAAA;IAmBA,CAAC;IAlBQ,0BAAQ,GAAf,UAAgB,IAAyC;QAAzC,uCAAyC;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC;IAIM,6BAAW,GAAlB;QACE,OAAO,KAAK,CAAC;IACf,CAAC;IACM,kCAAgB,GAAvB,cAAqC,OAAO,KAAK,CAAC,CAAC,CAAC;IAC7C,gCAAc,GAArB,UAAsB,IAA4B,IAAS,CAAC;IACrD,yBAAO,GAAd,UAAe,EAAW;QACxB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAES,oCAAkB,GAA5B,UAA6B,GAAY,EAAE,GAAY;QACrD,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IACH,cAAC;AAAD,CAAC;;AAED;IAAmC,iCAAO;IAGxC,uBACU,YAAoB,EACpB,IAAgB,EAChB,KAAiB,EACzB,cAA+B;QAFvB,kCAAgB;QAChB,oCAAiB;QACzB,uDAA+B;QAJjC,YAME,iBAAO,SAaR;QAlBS,kBAAY,GAAZ,YAAY,CAAQ;QACpB,UAAI,GAAJ,IAAI,CAAY;QAChB,WAAK,GAAL,KAAK,CAAY;QAIzB,KAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC;QACxC,IAAI,cAAc,EAAE;YAClB,KAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC,cAAc,CAAC,CAC1D,YAAY,CACb,CAAC;SACH;aAAM;YACL,KAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;SAC5D;QAED,IAAI,KAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;YACzB,YAAY,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;SACtD;;IACH,CAAC;IACD,sBAAY,+CAAoB;aAAhC;YACE,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IACO,iDAAyB,GAAjC,UAAkC,EAAO;QACvC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,oBAAoB,CAAC;IACzC,CAAC;IACM,+BAAO,GAAd;QACE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,sBAAW,uCAAY;aAAvB;YACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;;;OAAA;IACD,sBAAW,wCAAa;aAAxB;YACE,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC;QACjE,CAAC;;;OAAA;IACD,sBAAW,sCAAW;aAAtB;YACE,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,CAAC;;;OAAA;IACD,sBAAW,mCAAQ;aAAnB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAW,sCAAW;aAAtB;YACE,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;;;OAAA;IACD,sBAAW,uCAAY;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IACS,sCAAc,GAAxB,UAAyB,EAAW;QAClC,IAAM,GAAG,GAAkB,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;YAC5C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IACO,qCAAa,GAArB,UAAsB,CAAM,EAAE,YAA2B;QACvD,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAEM,gCAAQ,GAAf,UAAgB,YAA2B;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACvB,IAAI,EACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,EAC5C,IAAI,CAAC,oBAAoB,CAC1B,CAAC;IACJ,CAAC;IAEM,gCAAQ,GAAf,UAAgB,IAAyC;QAAzC,uCAAyC;QACvD,IAAI,CAAC,CAAC,IAAI,EAAE;YACV,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,GAAG;gBAAE,OAAO,GAAG,CAAC;SACvB;QACD,OAAO,CACL,GAAG;YACH,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;YAC1C,GAAG;YACH,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC;YAChD,GAAG;YACH,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;YAC3C,GAAG,CACJ,CAAC;IACJ,CAAC;IAEM,oCAAY,GAAnB,UAAoB,SAAwB;QAC1C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IAEM,mCAAW,GAAlB;QACE,OAAO,CACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAC3C,CAAC;IACJ,CAAC;IACM,wCAAgB,GAAvB;QACE,OAAO,CACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7C,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAChD,CAAC;IACJ,CAAC;IACM,sCAAc,GAArB,UAAsB,IAA4B;QAChD,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IACH,oBAAC;AAAD,CAAC,CA3GkC,OAAO,GA2GzC;;AAED;IAAkC,gCAAO;IAEvC,sBAAoB,eAAwB,EAAU,YAAoB;QAA1E,YACE,iBAAO,SAKR;QANmB,qBAAe,GAAf,eAAe,CAAS;QAAU,kBAAY,GAAZ,YAAY,CAAQ;QAExE,KAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,KAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;YACzB,YAAY,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;SACtD;;IACH,CAAC;IACD,sBAAW,kCAAQ;aAAnB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAW,oCAAU;aAArB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;;;OAAA;IACM,8BAAO,GAAd;QACE,OAAO,OAAO,CAAC;IACjB,CAAC;IACM,+BAAQ,GAAf,UAAgB,IAAyC;QAAzC,uCAAyC;QACvD,IAAI,CAAC,CAAC,IAAI,EAAE;YACV,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,GAAG;gBAAE,OAAO,GAAG,CAAC;SACvB;QACD,OAAO,CACL,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC;YAChD,GAAG;YACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC/B,CAAC;IACJ,CAAC;IACS,qCAAc,GAAxB,UAAyB,EAAW;QAClC,IAAM,GAAG,GAAiB,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACnG,CAAC;IACM,+BAAQ,GAAf,UAAgB,YAA2B;QACzC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAEM,mCAAY,GAAnB,UAAoB,SAAwB;QAC1C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IACH,mBAAC;AAAD,CAAC,CAzCiC,OAAO,GAyCxC;;AAED;IAAkC,gCAAO;IACvC,sBAAmB,MAAsB;QAAzC,YACE,iBAAO,SACR;QAFkB,YAAM,GAAN,MAAM,CAAgB;;IAEzC,CAAC;IACM,8BAAO,GAAd;QACE,OAAO,OAAO,CAAC;IACjB,CAAC;IACM,+BAAQ,GAAf,UAAgB,IAAyC;QAAzC,uCAAyC;QACvD,IAAI,CAAC,CAAC,IAAI,EAAE;YACV,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,GAAG;gBAAE,OAAO,GAAG,CAAC;SACvB;QACD,OAAO,CACL,GAAG;YACH,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,UAAS,EAAW;gBACvB,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC;YACb,GAAG,CACJ,CAAC;IACJ,CAAC;IAEM,+BAAQ,GAAf,UAAgB,YAA2B;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAS,EAAW;YACzC,OAAO,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,mCAAY,GAAnB,UAAoB,SAAwB;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,EAAE;YACrB,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kCAAW,GAAlB;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,OAAO,IAAK,cAAO,CAAC,WAAW,EAAE,EAArB,CAAqB,CAAC,CAAC;IAC9D,CAAC;IACM,uCAAgB,GAAvB;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,OAAO,IAAK,cAAO,CAAC,gBAAgB,EAAE,EAA1B,CAA0B,CAAC,CAAC;IACnE,CAAC;IACM,qCAAc,GAArB,UAAsB,IAA4B;QAChD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,OAAO,IAAK,cAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAA5B,CAA4B,CAAC,CAAC;IACjE,CAAC;IACS,qCAAc,GAAxB,UAAyB,EAAW;QAClC,IAAM,GAAG,GAAiB,EAAE,CAAC;QAC7B,IAAG,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1D,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAG,EAAE;YAC3C,IAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;SACzD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACH,mBAAC;AAAD,CAAC,CApDiC,OAAO,GAoDxC;;AAED;IAA2B,yBAAO;IAChC,eAAoB,KAAU;QAA9B,YACE,iBAAO,SACR;QAFmB,WAAK,GAAL,KAAK,CAAK;;IAE9B,CAAC;IACM,uBAAO,GAAd;QACE,OAAO,OAAO,CAAC;IACjB,CAAC;IACM,wBAAQ,GAAf,UAAgB,IAAyC;QAAzC,uCAAyC;QACvD,IAAI,CAAC,CAAC,IAAI,EAAE;YACV,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,GAAG;gBAAE,OAAO,GAAG,CAAC;SACvB;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IACD,sBAAW,+BAAY;aAAvB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;;;OAAA;IACD,sBAAW,uCAAoB;aAA/B,cAA6C,OAAO,KAAK,CAAC,CAAC,CAAC;;;OAAA;IACrD,wBAAQ,GAAf;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEM,4BAAY,GAAnB,UAAoB,SAAwB,IAAG,CAAC;IACtC,+BAAe,GAAzB,UAA0B,KAAU;QAClC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,IAAI,QAAQ;YAAE,OAAO,KAAK,CAAC;QACrD,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QACtE,IACE,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAErC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtH,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;SAC1B;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACS,8BAAc,GAAxB,UAAyB,EAAW;QAClC,IAAM,GAAG,GAAU,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;IACjC,CAAC;IACO,uBAAO,GAAf,UAAgB,EAAU;QACxB,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC;IAChC,CAAC;IACO,8BAAc,GAAtB,UAAuB,KAAU;QAC/B,OAAO,CACL,KAAK;YACL,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,CACpE,CAAC;IACJ,CAAC;IACH,YAAC;AAAD,CAAC,CApD0B,OAAO,GAoDjC;;AAED;IAA8B,4BAAK;IAKjC,kBAAoB,YAAoB;QAAxC,YACE,kBAAM,YAAY,CAAC,SASpB;QAVmB,kBAAY,GAAZ,YAAY,CAAQ;QAFhC,eAAS,GAAQ,EAAE,CAAC;QACpB,oBAAc,GAAY,KAAK,CAAC;QAGtC,IACE,CAAC,CAAC,KAAI,CAAC,YAAY;YACnB,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAC5B,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,qBAAqB,EACvD;YACA,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnD,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;;IACH,CAAC;IAdD,sBAAkB,iCAAqB;aAAvC,cAAoD,OAAO,kDAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC;aACtG,UAAwC,GAAW,IAAI,kDAAQ,CAAC,+BAA+B,GAAG,GAAG,CAAC,CAAC,CAAC;;;OADF;IAetG,sBAAW,0CAAoB;aAA/B;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,KAAK,IAAI,CAAC;QAChD,CAAC;;;OAAA;IACM,0BAAO,GAAd;QACE,OAAO,UAAU,CAAC;IACpB,CAAC;IACM,2BAAQ,GAAf,UAAgB,IAAyC;QAAzC,uCAAyC;QACvD,IAAI,CAAC,CAAC,IAAI,EAAE;YACV,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,GAAG;gBAAE,OAAO,GAAG,CAAC;SACvB;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;IAChD,CAAC;IACD,sBAAW,8BAAQ;aAAnB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IACM,2BAAQ,GAAf,UAAgB,YAA2B;QACzC,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ;YAC5B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACM,+BAAY,GAAnB,UAAoB,SAAwB;QAC1C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IACS,kCAAe,GAAzB,UAA0B,KAAU;QAClC,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QACtC,OAAO,iBAAM,eAAe,YAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACS,iCAAc,GAAxB,UAAyB,EAAW;QAClC,IAAM,GAAG,GAAa,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;IACvC,CAAC;IACH,eAAC;AAAD,CAAC,CAnD6B,KAAK,GAmDlC;;AAED;IAAqC,mCAAO;IAI1C,yBAAoB,aAAqB,EAAU,UAAwB;QAA3E,YACE,iBAAO,SAKR;QANmB,mBAAa,GAAb,aAAa,CAAQ;QAAU,gBAAU,GAAV,UAAU,CAAc;QAEzE,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACxD,KAAI,CAAC,UAAU,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;SACxC;;IACH,CAAC;IACM,iCAAO,GAAd;QACE,OAAO,UAAU,CAAC;IACpB,CAAC;IACM,uCAAa,GAApB,UAAqB,YAA0B;QAA/C,iBAWC;QAVC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,iBAAiB,GAAG,IAAI,mEAAY,EAAE,CAAC;QAC3C,iBAAiB,CAAC,MAAM,GAAG,gDAAO,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACnE,iBAAiB,CAAC,UAAU,GAAG,gDAAO,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC3E,iBAAiB,CAAC,UAAU,CAAC,YAAY,GAAG,UAAC,MAAW;YACtD,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,KAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IACM,kCAAQ,GAAf,UAAgB,YAA2B;QACzC,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IACO,sCAAY,GAApB,UAAqB,YAA2B;QAC9C,OAAO,iEAAe,CAAC,QAAQ,CAAC,GAAG,CACjC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EACtC,YAAY,CAAC,UAAU,CACxB,CAAC;IACJ,CAAC;IAEM,kCAAQ,GAAf,UAAgB,IAAyC;QAAzC,uCAAyC;QACvD,IAAI,CAAC,CAAC,IAAI,EAAE;YACV,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,GAAG;gBAAE,OAAO,GAAG,CAAC;SACvB;QACD,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IACzE,CAAC;IAEM,sCAAY,GAAnB,UAAoB,SAAwB;QAC1C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IACD,sBAAW,oCAAO;aAAlB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IACM,qCAAW,GAAlB;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IACM,0CAAgB,GAAvB;QACE,OAAO,iEAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACtE,CAAC;IACM,wCAAc,GAArB,UAAsB,IAA4B;QAChD,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjB;IACH,CAAC;IACS,wCAAc,GAAxB,UAAyB,EAAW;QAClC,IAAM,GAAG,GAAoB,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7G,CAAC;IACH,sBAAC;AAAD,CAAC,CAnEoC,OAAO,GAmE3C;;AAED;IAAA;IAiPA,CAAC;IAhPQ,sCAAyB,GAAhC,UAAiC,EAAU;QACzC,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IACpD,CAAC;IAEM,yBAAY,GAAnB,UAAoB,OAAgB,EAAE,IAA6B;QACjE,OAAO,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEM,4BAAe,GAAtB,UAAuB,KAAa;QAClC,IACE,CAAC,CAAC,KAAK;YACP,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC;YAC9B,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC;YAEnC,KAAK,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,0BAAa,GAApB,UAAqB,GAAW;QAC9B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAEM,sBAAS,GAAhB,UAAiB,KAAa;QAC5B,IACE,CAAC,CAAC,KAAK;YACP,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBACtB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAE1B,OAAO,KAAK,CAAC;QACf,IAAI,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACpD,OAAO,gDAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAEM,2BAAc,GAArB,UAAsB,KAAa;QACjC,OAAO,CACL,CAAC,CAAC,KAAK;YACP,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,CACpE,CAAC;IACJ,CAAC;IACM,0BAAa,GAApB,UAAqB,KAAa;QAChC,IAAI,gDAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;YAC1D,IAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;SAC/C;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACM,sBAAS,GAAhB,UAAiB,CAAS,EAAE,CAAS,EAAE,GAAW;QAChD,IAAM,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAM,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAG,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE;YAC7B,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SACvC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAoJM,6BAAgB,GAAvB,UAAwB,CAAM,EAAE,CAAM,EAAE,WAA2B;QAA3B,gDAA2B;QACjE,IAAI,CAAC,KAAK,WAAW;YAAE,CAAC,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,KAAK,WAAW;YAAE,CAAC,GAAG,SAAS,CAAC;QACrC,OAAO,gDAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IACM,6BAAgB,GAAvB,UAAwB,YAAoB;QAC1C,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7C,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC;IACM,qCAAwB,GAA/B,UAAgC,GAAQ,EAAE,MAAW;QACnD,IAAG,MAAM,YAAY,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACpD,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC;SACZ;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAlKI,2BAAc,GAAwB;QAC3C,KAAK,EAAE,UAAS,KAAU;YACxB,OAAO,gDAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,QAAQ,EAAE,UAAS,KAAU;YAC3B,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,EAAE,UAAS,KAAc;YAC7B,OAAO,CAAC,KAAK,CAAC;QAChB,CAAC;KACF,CAAC;IAEO,4BAAe,GAAwB;QAC5C,YAAY,EAAZ,UAAa,YAAoB;YAC/B,IAAM,sBAAsB,GAAG,UAAC,GAAQ,EAAE,MAAW;gBACnD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,GAAG,CAAC;oBAAE,OAAO,GAAG,CAAC;gBAC3C,IAAG,OAAO,MAAM,KAAK,QAAQ;oBAAE,OAAO,CAAC,CAAC;gBACxC,IAAG,OAAO,GAAG,KAAK,QAAQ;oBAAE,OAAO,GAAG,CAAC;gBACvC,IAAG,OAAO,MAAM,KAAK,QAAQ;oBAAE,OAAO,EAAE,CAAC;gBACzC,IAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAAE,OAAO,EAAE,CAAC;gBACpC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;YACF,OAAO,UAAS,CAAM,EAAE,CAAM;gBAC5B,CAAC,GAAG,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjC,CAAC,GAAG,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjC,IAAI,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;gBAC1D,OAAO,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC;QACJ,CAAC;QACD,GAAG,EAAE,UAAS,CAAU,EAAE,CAAU;YAClC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,EAAE,EAAE,UAAS,CAAU,EAAE,CAAU;YACjC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,IAAI,EAAE,UAAS,CAAM,EAAE,CAAM;YAC3B,OAAO,gDAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,EAAE,UAAS,CAAS,EAAE,CAAS;YAClC,OAAO,gDAAO,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,GAAG,EAAE,UAAS,CAAS,EAAE,CAAS;YAChC,OAAO,gDAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,GAAG,EAAE,UAAS,CAAS,EAAE,CAAS;YAChC,IAAI,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QACD,GAAG,EAAE,UAAS,CAAS,EAAE,CAAS;YAChC,IAAI,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QACD,KAAK,EAAE,UAAS,CAAS,EAAE,CAAS;YAClC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,EAAE,UAAS,IAAS,EAAE,KAAU;YACrC,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO,KAAK,CAAC;YAChD,IAAI,GAAG,YAAY,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC1D,KAAK,GAAG,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3D,OAAO,IAAI,GAAG,KAAK,CAAC;QACtB,CAAC;QACD,IAAI,EAAE,UAAS,IAAS,EAAE,KAAU;YAClC,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO,KAAK,CAAC;YAChD,IAAI,GAAG,YAAY,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC1D,KAAK,GAAG,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3D,OAAO,IAAI,GAAG,KAAK,CAAC;QACtB,CAAC;QACD,cAAc,EAAE,UAAS,IAAS,EAAE,KAAU;YAC5C,IAAI,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACjE,OAAO,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;QACD,WAAW,EAAE,UAAS,IAAS,EAAE,KAAU;YACzC,IAAI,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACjE,OAAO,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,EAAE,UAAS,IAAS,EAAE,KAAU,EAAE,aAAuB;YAC5D,IAAI,GAAG,YAAY,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC1D,KAAK,GAAG,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3D,OAAO,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,CAAC;QAC5E,CAAC;QACD,QAAQ,EAAE,UAAS,IAAS,EAAE,KAAU;YACtC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;QACD,QAAQ,EAAE,UAAS,IAAS,EAAE,KAAU;YACtC,OAAO,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,WAAW,EAAE,UAAS,IAAS,EAAE,KAAU;YACzC,IAAI,CAAC,IAAI,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvD,OAAO,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,EAAE,UAAS,IAAS,EAAE,KAAU;YACnC,IAAI,gDAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,gDAAO,CAAC,YAAY,CAAC,KAAK,CAAC;gBAC3D,OAAO,IAAI,CAAC;YACd,IACE,gDAAO,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC1B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;gBAE3C,OAAO,KAAK,CAAC;YACf,IAAI,gDAAO,CAAC,YAAY,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACtB,OAAO,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACvB,OAAO,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,IAAI,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;aACxE;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,EAAE,UAAS,IAAS,EAAE,KAAU;YACnC,IAAI,CAAC,IAAI,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACvB,OAAO,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;oBACxD,OAAO,KAAK,CAAC;aAChB;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,YAAY,EAAE,UAAS,IAAS,EAAE,KAAU,EAAE,UAAe;YAC3D,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE;oBACxD,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC1B,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;iBAC7B;aACF;YACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,YAAY,MAAM,EAAE;gBACtD,IAAI,CAAC,KAAK;oBAAE,OAAO,KAAK,CAAC;gBACzB,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACzB,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrC,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;aACpC;YACD,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACzD,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3B,IAAI,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;wBAAE,MAAM;iBAC1D;gBACD,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;oBAAE,OAAO,CAAC,UAAU,CAAC;aAC1C;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC;IAmBK,kBAAK,GAAsB;QAChC,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,GAAG;QACZ,cAAc,EAAE,IAAI;QACpB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,GAAG;QACV,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,GAAG;QACV,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG;KACZ,CAAC;IACJ,mBAAC;CAAA;AAjPwB;;;;;;;;;;;;;ACxZzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACT;AACe;AAErD;IAAA;QAEU,iBAAY,GAAsC,EAAE,CAAC;QACrD,gBAAW,GAAuB,EAAE,CAAC;IAoD/C,CAAC;IAlDQ,kCAAQ,GAAf,UACE,IAAY,EACZ,IAA4B,EAC5B,OAAwB;QAAxB,yCAAwB;QAExB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC/B,IAAI,OAAO;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,CAAC;IACM,oCAAU,GAAjB,UAAkB,IAAY;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACM,qCAAW,GAAlB,UAAmB,IAAY;QAC7B,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACM,yCAAe,GAAtB,UAAuB,IAAY;QACjC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEM,+BAAK,GAAZ;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IACM,gCAAM,GAAb;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IACM,6BAAG,GAAV,UACE,IAAY,EACZ,MAAa,EACb,UAAiC;QAAjC,8CAAiC;QAEjC,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE;YACT,iEAAe,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;SACb;QACD,IAAI,WAAW,GAAG;YAChB,IAAI,EAAE,IAAI;SACX,CAAC;QAEF,IAAI,UAAU,EAAE;YACd,KAAK,IAAI,GAAG,IAAI,UAAU,EAAE;gBACpB,WAAY,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;aAC3C;SACF;QACD,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IArDa,wBAAQ,GAAoB,IAAI,eAAe,EAAE,CAAC;IAsDlE,sBAAC;CAAA;AAvD2B;AAyDrB,IAAI,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAEhE,SAAS,gBAAgB,CAAC,KAAU,EAAE,GAAU;IAC9C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACjC;KACF;SAAM;QACL,IAAI,gDAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC3B,KAAK,GAAG,gDAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAClC;QACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjB;AACH,CAAC;AAED,SAAS,GAAG,CAAC,MAAa;IACxB,IAAI,GAAG,GAAU,EAAE,CAAC;IACpB,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,GAAG,GAAG,gDAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAE9C,SAAS,OAAO,CAAC,MAAa,EAAE,KAAc;IAC5C,IAAI,GAAG,GAAU,EAAE,CAAC;IACpB,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,SAAS,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SACd;QACD,IAAI,KAAK,EAAE;YACT,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;gBAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAChC;aAAM;YACL,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;gBAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAChC;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,GAAG,CAAC,MAAa;IACxB,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAE9C,SAAS,GAAG,CAAC,MAAa;IACxB,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAE9C,SAAS,KAAK,CAAC,MAAa;IAC1B,IAAI,GAAG,GAAU,EAAE,CAAC;IACpB,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAElD,SAAS,GAAG,CAAC,MAAa;IACxB,IAAI,GAAG,GAAU,EAAE,CAAC;IACpB,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,IAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAE9C,SAAS,gBAAgB,CAAC,MAAa;IACrC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACzE,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,YAAY,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,GAAQ;IAC/B,IAAG,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,gDAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gDAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9F,OAAO,GAAG,CAAC;AACb,CAAC;AACD,SAAS,kBAAkB,CAAC,IAAS,EAAE,IAAY,EAAE,GAAW,EAC9D,IAA0C,EAAE,aAAsB;IAClE,IAAG,CAAC,IAAI,IAAI,gDAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACzD,IAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACxB,CAAC;AACD,SAAS,WAAW,CAClB,MAAa,EACb,IAA0C,EAAE,aAA6B;IAA7B,oDAA6B;IAEzE,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,IAAI,GAAG,GAAG,SAAS,CAAC;IACpB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;SACvE;KACF;SAAM;QACL,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE;YACtB,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;SACzE;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,MAAa;IAC/B,IAAI,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,UAAS,GAAW,EAAE,GAAW;QAC7D,IAAI,GAAG,IAAI,SAAS;YAAE,GAAG,GAAG,CAAC,CAAC;QAC9B,IAAG,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,GAAG,CAAC;QAC/C,OAAO,gDAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAE5D,SAAS,UAAU,CAAC,MAAa;IAC/B,OAAO,WAAW,CAAC,MAAM,EAAE,UAAS,GAAW,EAAE,GAAW;QAC1D,IAAI,GAAG,IAAI,SAAS;YAAE,OAAO,GAAG,CAAC;QACjC,IAAG,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,GAAG,CAAC;QAC/C,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAE5D,SAAS,UAAU,CAAC,MAAa;IAC/B,OAAO,WAAW,CAAC,MAAM,EAAE,UAAS,GAAW,EAAE,GAAW;QAC1D,IAAI,GAAG,IAAI,SAAS;YAAE,OAAO,GAAG,CAAC;QACjC,IAAG,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,GAAG,CAAC;QAC/C,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAE5D,SAAS,YAAY,CAAC,MAAa;IACjC,IAAI,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,UAAS,GAAW,EAAE,GAAW;QAC7D,IAAI,GAAG,IAAI,SAAS;YAAE,GAAG,GAAG,CAAC,CAAC;QAC9B,IAAG,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,GAAG,CAAC;QAC/C,OAAO,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC,EAAE,KAAK,CAAC,CAAC;IACV,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AAEhE,SAAS,UAAU,CAAC,MAAa;IAC/B,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACzB,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;AACpC,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAE5D,SAAS,GAAG,CAAC,MAAa;IACxB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAE9C,SAAS,OAAO,CAAC,MAAa;IAC5B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEtD,SAAS,GAAG,CAAC,MAAa;IACxB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,IAAI,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACxD,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;IAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE;QAC/D,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACxB;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAE9C,SAAS,oBAAoB,CAAC,SAAc;IAC1C,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;KACjD;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,gBAAgB,CAAC,MAAa;IACrC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,SAAS;QAAE,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAG,CAAC,SAAS,EAAE;QACb,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrD,IAAG,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9D,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAG,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;gBACrC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aACxC;SACF;aAAM;YACL,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAG,EAAE;gBAC/C,IAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;aAC5D;YACD,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;AAExE,SAAS,aAAa;IACpB,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;AAClD,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAElE,SAAS,WAAW;IAClB,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AAE9D,SAAS,KAAK,CAAC,MAAa;IAC1B,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,IAAG,kDAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE;QACzC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC1B;SAAM;QACL,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC7B;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;QAC/C,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KACxC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAElD,SAAS,OAAO,CAAC,MAAa;IAC5B,IAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACvD,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3C,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEtD,SAAS,WAAW;IAClB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AAE9D,SAAS,QAAQ,CAAC,MAAa;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACvC,IAAM,KAAK,GAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,IAAM,KAAK,GAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAExD,SAAS,6BAA6B,CAAC,MAAa;IAClD,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5B,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;QACvB,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5B;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,IAAI,CAAC,MAAa;IACzB,IAAI,IAAI,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAEhD,SAAS,KAAK,CAAC,MAAa;IAC1B,IAAI,IAAI,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAElD,SAAS,GAAG,CAAC,MAAa;IACxB,IAAI,IAAI,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;AACxB,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAE9C,SAAS,OAAO,CAAC,MAAa;IAC5B,IAAI,IAAI,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEtD,SAAS,yBAAyB,CAAC,OAAY,EAAE,IAAY;IAC3D,IAAG,CAAC,OAAO,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IACvC,IAAM,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxC,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAG,EAAE;QACpC,IAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAG,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE;YAC/B,IAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAG,GAAG;gBAAE,OAAO,GAAG,CAAC;SACpB;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,YAAY,CAAC,MAAa;IACjC,IAAM,CAAC,GAAG,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AAEhE,SAAS,aAAa,CAAC,MAAa;IAClC,IAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACrE,IAAM,CAAC,GAAG,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;;;;;;;;;;;;;ACrXlE;AAAA;AAAA;AAAsC;AAMtC;IAAA;IAgZA,CAAC;IA/YC;;;OAGG;IACW,oBAAY,GAA1B,UAA2B,KAAU;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5D,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,EAAE;YAC3E,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;aACrD;YACD,OAAO,IAAI,CAAC;SACb;QACD,OAAO,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC;IAClD,CAAC;IACa,4BAAoB,GAAlC,UAAmC,CAAM,EAAE,CAAM;QAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACzD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAAE,MAAM;aACjD;YACD,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;SAClC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACa,qBAAa,GAA3B,UACE,CAAM,EACN,CAAM,EACN,WAA4B,EAC5B,aAAuB,EACvB,WAAsB;QAFtB,iDAA4B;QAI5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACzD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,WAAW,EAAE;YACf,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACpB;YACD,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,CAAC,GAAG,OAAO,CAAC;YACZ,CAAC,GAAG,OAAO,CAAC;SACb;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC;gBAAE,OAAO,KAAK,CAAC;SAClG;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACa,sBAAc,GAA5B,UAA6B,CAAS,EAAE,CAAS;QAC/C,IAAM,SAAS,GAAG,kDAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;QAC5D,IAAG,CAAC,CAAC,CAAC;YAAE,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAG,CAAC,CAAC,CAAC;YAAE,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACtB,IAAG,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;QACjB,IAAG,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAChB,IAAG,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QACrB,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;QACpB,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAG,EAAE;YACjD,IAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnD,UAAU,GAAG,CAAC,CAAC;gBACf,MAAM;aACP;YACD,IAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,MAAM;SACzB;QACD,IAAG,UAAU,GAAG,CAAC,CAAC,EAAE;YAClB,IAAI,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC9C,IAAI,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC9C,IAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACtD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;SACF;QACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACa,wBAAgB,GAA9B,UACE,CAAM,EACN,CAAM,EACN,WAA4B,EAC5B,aAAuB,EACvB,WAAsB;QAFtB,iDAA4B;QAI5B,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,WAAW;YAChE,OAAO,IAAI,CAAC;QACd,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,WAAW;YAChE,OAAO,IAAI,CAAC;QACd,IAAI,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7D,IAAI,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7D,IAAG,WAAW,KAAK,SAAS;YAAE,WAAW,GAAG,kDAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAC5E,IAAG,aAAa,KAAK,SAAS;YAAE,aAAa,GAAG,kDAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;QAElF,IAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YACjD,IAAM,SAAS,GAAG,kDAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;YAC5D,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAC5B,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAC5B,IAAG,WAAW,EAAE;gBACd,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACb,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;aACd;YACD,IAAG,CAAC,aAAa,EAAE;gBACjB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBACpB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;aACrB;YACD,OAAO,CAAC,KAAK,CAAC,CAAC;SAChB;QACD,IAAG,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI;YAAE,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAE7E,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE;YACxE,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE;gBAClE,OAAO,IAAI,CAAC;aACb;SACF;QAED,IACE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrD,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAErD,OAAO,KAAK,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;YACvD,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;SAC/C;QACD,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;YACvD,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;SAC/C;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1E,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACzE,IAAI,CAAC,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YAC1D,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC;YAC7C,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE;gBAAE,OAAO,KAAK,CAAC;YAC9C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YAChD,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;SAC/F;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACtC,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEpD,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;YACf,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBAAE,SAAS;YACnC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC;gBAAE,OAAO,KAAK,CAAC;SAC/F;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;SAC/D;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACa,sBAAc,GAA5B,UAAgC,KAAe;QAC7C,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;SACjB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACa,sBAAc,GAA5B,UAA6B,KAAU;QACrC,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,IAAM,GAAG,GAAG,EAAE,CAAC;YACf,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAG,EAAE;gBACrC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5C;YACD,OAAO,GAAG,CAAC;SACZ;QACD,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,EAAE;YACvE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC1C;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACa,kBAAU,GAAxB,UAAyB,GAAQ;QAC/B,IAAI,GAAG,GAAQ,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACrB,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;YACnB,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;SACrB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACa,6BAAqB,GAAnC,UAAoC,KAAU;QAC5C,OAAO,CACL,KAAK,KAAK,SAAS;YACnB,KAAK,KAAK,IAAI;YACd,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,CAAC,KAAK,CAAC,KAAK,CAAC,CACd,CAAC;IACJ,CAAC;IACa,qBAAa,GAA3B,UAA4B,GAAQ,EAAE,YAAsB;QAC1D,OAAO,GAAG,YAAY,MAAM,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;IACa,gBAAQ,GAAtB,UAAuB,KAAU;QAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IACa,iBAAS,GAAvB,UAAwB,KAAU;QAChC,IACE,OAAO,KAAK,IAAI,QAAQ;YACxB,CAAC,CAAC,KAAK;YACP,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,KAAK,CAAC,MAAM,GAAG,EAAE;YAEjB,OAAO,GAAG,CAAC;QACb,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QAC9C,OAAO,GAAG,CAAC;IACb,CAAC;IACc,6BAAqB,GAApC,UAAqC,GAAQ;QAC3C,IAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QAC/C,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,IAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;YACxC,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SAC9B;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACa,oBAAY,GAA1B,UAA2B,SAAiB,EAAE,YAAoB;QAChE,IAAI,SAAS,GAAG,CAAC,EAAE;YACjB,SAAS,GAAG,YAAY,CAAC;SAC1B;QACD,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IACa,wCAAgC,GAA9C,UAA+C,QAA4B,EAAE,SAAwB;QACnG,IAAG,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,kDAAQ,CAAC,sBAAsB,EAAE;YACnE,OAAO,EAAE,CAAC;SACX;QACD,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/C,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IACa,wBAAgB,GAA9B,UAA+B,KAAa,EAAE,aAAqB;QACjE,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QACzB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,QAAQ,GAAG,GAAG,CAAC;QACnB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,aAAa,EAAE;YACnB,GAAG,GAAG,aAAa,CAAC;YACpB,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC/B,QAAQ,GAAG,IAAI,CAAC;oBAChB,MAAM;iBACP;aACF;YACD,IAAI,WAAW,GAAG;gBAChB,OAAO,CACL,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC5C,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAC1C,CAAC;YACJ,CAAC,CAAC;YACF,OAAO,GAAG,IAAI,CAAC,IAAI,WAAW,EAAE;gBAAE,GAAG,EAAE,CAAC;YACxC,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBACpC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;aACjC;YACD,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YACrB,OAAO,GAAG,IAAI,CAAC,EAAE;gBACf,IAAI,WAAW,EAAE;oBAAE,MAAM;gBACzB,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,QAAQ;oBAAE,MAAM;aACtB;YACD,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,QAAQ,CAAC,QAAQ,CAAC;gBAAE,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBACnD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;gBAAE,SAAS,GAAG,KAAK,CAAC;YACjD,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAAE;gBAC5B,OAAO,GAAG,UAAU,CAAC;aACtB;SACF;QACD,IAAI,SAAS,EAAE;YACb,IAAI,GAAG,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAM,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;gBAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;YACpD,OAAO,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC;SAC/B;QACD,OAAO,CACL,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,CACvE,CAAC;IACJ,CAAC;IACa,+BAAuB,GAArC,UAAsC,EAAU;QAC9C,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IACa,mBAAW,GAAzB,UAA0B,EAAU;QAClC,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC;IAChC,CAAC;IACc,wBAAgB,GAA/B,UAAgC,GAAW,EAAE,KAAa;QACxD,IAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QAC7C,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,OAAM,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YACxD,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,EAAG,CAAC;SACV;QACD,IAAG,CAAC,IAAI;YAAE,OAAO,GAAG,CAAC;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACc,qBAAa,GAA5B,UAA6B,KAAa;QACxC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;YAC1D,IAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;SAC/C;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACa,6BAAqB,GAAnC,UAAoC,CAAS,EAAE,CAAS,EAAE,GAAW;QACnE,IAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACzC,IAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACzC,IAAG,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE;YAC7B,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SACvC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACa,oBAAY,GAA1B,UAA2B,CAAM,EAAE,CAAM;QACvC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAChD,IAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBACrC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChC,IAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACvC,IAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAG,OAAO,GAAG,KAAK,QAAQ,EAAE;oBAC1B,IAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;iBAC1C;gBACD,IAAG,OAAO,GAAG,KAAK,QAAQ,EAAE;oBAC1B,IAAI,GAAG,GAAG,CAAC,CAAC;oBACZ,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAG,EAAE;wBACnC,IAAG,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;4BAC7B,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;yBAChE;qBACF;oBACD,OAAO,OAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;iBAC3D;aACF;YACD,OAAO,CAAC,GAAG,CAAC,CAAC;SACd;QACD,IAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IACa,4BAAoB,GAAlC,UAAmC,CAAS,EAAE,CAAS,EAAE,GAAW;QAClE,IAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACnE,IAAG,MAAM,GAAG,CAAC,EAAE;YACb,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SACvC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACa,iCAAyB,GAAvC,UAAwC,GAAe,EAAE,QAAgB,EAAE,IAA4B;QAA5B,uCAA4B;QACrG,IAAM,GAAG,GAAG,IAAI,KAAK,EAAO,CAAC;QAC7B,IAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QAC3C,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAG,EAAE;YACnC,IAAI,IAAI,SAAK,CAAC;YACd,IAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACtB,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3D;YACD,IAAG,CAAC,IAAI,EAAE;gBACR,IAAI,GAAG,EAAE,CAAC;gBACV,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;aACzB;YACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACc,0BAAkB,GAAjC,UAAkC,GAAe,EAAE,QAAgB,EAAE,GAAQ;QAC3E,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAG,EAAE;YACnC,IAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;SACnE;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACa,iCAAyB,GAAvC,UAAwC,GAAe,EAAE,QAAgB;QACvE,IAAM,GAAG,GAAG,IAAI,KAAK,EAAO,CAAC;QAC7B,IAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QAC3C,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAG,EAAE;YACnC,IAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,IAAG,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACtD;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACa,2BAAmB,GAAjC,UAAkC,IAAU;QAC1C,IAAM,KAAK,GAAG,UAAC,GAAW;YACxB,IAAG,GAAG,GAAG,EAAE;gBAAE,OAAO,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7F,CAAC;IACa,+BAAuB,GAArC,UAAsC,IAAU;QAC9C,IAAM,KAAK,GAAG,UAAC,GAAW;YACxB,IAAG,GAAG,GAAG,EAAE;gBAAE,OAAO,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACxG,CAAC;IACa,+BAAuB,GAArC,UAAsC,GAAQ,EAAE,SAAkB;QAChE,IAAI,GAAG,YAAY,IAAI,EAAE;YACvB,IAAG,SAAS,KAAK,gBAAgB;gBAAE,OAAO,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAC/E,OAAO,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;SACzC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACH,cAAC;AAAD,CAAC;;AACD,IAAI,CAAO,MAAM,CAAC,SAAU,CAAC,QAAQ,CAAC,EAAE;IAChC,MAAM,CAAC,SAAU,CAAC,QAAQ,CAAC,GAAG;QAClC,IAAI,IAAI,GAAG,SAAS,CAAC;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,UAAS,KAAU,EAAE,MAAW;YAC9D,OAAO,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;CACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9ZoD;AACN;AACA;AAY/C,SAAS,eAAe,CACtB,MAAW,EACX,OAAkC,EAClC,GAAW;IAEX,IAAI,SAAS,GAAG,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,CAAC,SAAS,EAAE;QACd,SAAS,GAAG,MAAM,CAAC,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9D,IACE,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ;YACvC,OAAO,OAAO,CAAC,WAAW,CAAC,iBAAiB,KAAK,UAAU,EAC3D;YACA,SAAS,CAAC,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC;SACrE;KACF;AACH,CAAC;AACD,SAAS,iBAAiB,CACxB,MAAW,EACX,OAAkC,EAClC,GAAW;IAEX,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,GAAG,MAAM,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,CAAC,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IACtB,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE;QAC7E,IAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO,iEAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;KAC1E;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAEM,SAAS,QAAQ,CAAC,OAAuC;IAAvC,sCAAuC;IAC9D,6EAA6E;IAC7E,OAAO,UAAU,MAAW,EAAE,GAAW;QACvC,IAAI,sBAAsB,GAAG,UAAC,GAAQ,EAAE,GAAQ;YAC9C,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,qDAAe,CAAC,mBAAmB,EAAE;gBACxF,0CAAI,CAAC,wBAAwB,CAAC,cAAM,UAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,EAAxB,CAAwB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxE,IAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC7B,IAAM,YAAY,GAAG,0CAAI,CAAC,yBAAyB,EAAE,CAAC;gBACtD,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;gBAClC,IAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;oBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;iBACjC;gBACD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBAC5B,OAAO,MAAM,CAAC;aACf;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YACpC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;gBACjC,GAAG,EAAE;oBACH,IAAI,UAAU,GAAG,IAAI,CAAC;oBACtB,IAAI,CAAC,CAAC,OAAO,EAAE;wBACb,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,UAAU,EAAE;4BACjD,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;yBAC5C;wBACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;4BACtC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;yBACnC;qBACF;oBACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBAChD,CAAC;gBACD,GAAG,EAAE,UAAU,GAAQ;oBACrB,IAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACnD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBACrC,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;wBAC9B,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;qBAC/B;gBACH,CAAC;aACF,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;gBACjC,GAAG,EAAE;oBACH,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC/C,CAAC;gBACD,GAAG,EAAE,UAAU,GAAQ;oBACrB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;oBACpC,IAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACnD,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAC7C,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;wBAC9B,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;qBAC/B;gBACH,CAAC;aACF,CAAC,CAAC;YACH,MAAM,CAAC,cAAc,CACnB,MAAM,EACN,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACrE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAC/E;gBACE,GAAG,EAAE;oBACH,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;oBACpC,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBACxC,CAAC;aACF,CACF,CAAC;SACH;IACH,CAAC,CAAC;AACJ,CAAC;AAQD,SAAS,WAAW,CAClB,MAAW,EACX,OAAuC,EACvC,GAAW;IAEX,MAAM,CAAC,WAAW,CAChB,GAAG,EACH,UAAC,IAAS,EAAE,KAAa;QACvB,IAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAClD,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC,EACD,UAAC,IAAS,EAAE,KAAa;QACvB,IAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC,CACF,CAAC;AACJ,CAAC;AAEM,SAAS,aAAa,CAAC,OAAwC;IACpE,OAAO,UAAU,MAAW,EAAE,GAAW;QACvC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YACjC,GAAG,EAAE;gBACH,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBAChC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;YACD,GAAG,EAAE,UAAU,GAAQ;gBACrB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBAChC,IAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,GAAG,KAAK,GAAG,EAAE;oBACf,OAAO;iBACR;gBACD,IAAI,GAAG,EAAE;oBACP,GAAG,CAAC,MAAM,OAAV,GAAG,iBAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,GAAK,CAAC,GAAG,IAAI,EAAE,CAAC,GAAE;iBAC3C;qBAAM;oBACL,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;iBACjC;gBACD,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;oBAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;iBAC1B;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAMD;;;;;;GAMG;AACH;IAyFE,4BACE,SAA4B,EACrB,IAAY,EACnB,UAA2B;QAA3B,+CAA2B;QADpB,SAAI,GAAJ,IAAI,CAAQ;QAzCb,oBAAe,GAAY,KAAK,CAAC;QACjC,kBAAa,GAAY,KAAK,CAAC;QAOhC,mBAAc,GAAY,IAAI,CAAC;QAC/B,wBAAmB,GAAY,IAAI,CAAC;QACpC,aAAQ,GAAY,KAAK,CAAC;QAC1B,qBAAgB,GAAY,KAAK,CAAC,CAAC,wCAAwC;QAC3E,eAAU,GAAY,KAAK,CAAC;QAS5B,aAAQ,GAAW,EAAE,CAAC;QACtB,kBAAa,GAAW,CAAC,CAAC,CAAC;QAC3B,iBAAY,GAAW,CAAC,CAAC,CAAC;QAI1B,cAAS,GAAW,CAAC,CAAC,CAAC;QAuCvB,YAAO,GAAG,KAAK,CAAC;QAtBrB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IACD,sBAAW,kCAAE;aAAb;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;;;OAAA;IACD,sBAAW,yCAAS;aAApB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAW,oCAAI;aAAf;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpD,CAAC;aACD,UAAgB,KAAa;YAC3B,IAAI,KAAK,KAAK,YAAY;gBAAE,KAAK,GAAG,aAAa,CAAC;YAClD,IAAI,KAAK,KAAK,WAAW;gBAAE,KAAK,GAAG,YAAY,CAAC;YAChD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACzE;QACH,CAAC;;;OATA;IAWD,sBAAW,0CAAU;aAArB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;aACD,UAAsB,GAAY;YAChC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC7B,CAAC;;;OAHA;IAID,sBAAW,wCAAQ;aAAnB;YACE,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;aACD,UAAoB,GAAY;YAC9B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QAC3B,CAAC;;;OAHA;IAID,sBAAW,kDAAkB;aAA7B;YACE,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAClC,CAAC;aACD,UAA8B,GAAW;YACvC,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QACjC,CAAC;;;OAHA;IAID,sBAAW,gDAAgB;aAA3B;YACE,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC;QACvD,CAAC;;;OAAA;IACD,sBAAW,4CAAY;aAAvB;YACE,IAAI,MAAM,GAAQ,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC7F,IACE,CAAC,CAAC,kBAAkB,CAAC,yBAAyB;gBAC9C,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAC/D;gBACA,MAAM,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACrG;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;aACD,UAAwB,QAAQ;YAC9B,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QACpC,CAAC;;;OAHA;IAIM,2CAAc,GAArB,UAAsB,KAAU;QAC9B,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAC5C,OAAO,gDAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SAC/E;QACD,IAAG,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;QACpE,OAAO,CACL,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC;YACtE,KAAK,KAAK,EAAE,IAAI,gDAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAC5C,CAAC;IACJ,CAAC;IACM,qCAAQ,GAAf,UAAgB,GAAQ;QACtB,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;YACjE,OAAO,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC;QACnD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACM,6CAAgB,GAAvB,UAAwB,GAAQ;QAC9B,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;gBACtC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI;gBACtC,CAAC,CAAC,IAAI,CAAC;SACV;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,sBAAW,gDAAgB;aAA3B;YACE,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC;QACvD,CAAC;;;OAAA;IACM,yCAAY,GAAnB,UAAoB,GAAQ,EAAE,KAAU;QACtC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAChE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IACM,qCAAQ,GAAf,UAAgB,GAAQ,EAAE,KAAU,EAAE,QAAoB;QACxD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;SACvC;aAAM;YACL,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;gBACjE,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAC5C;gBACH,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBACtC,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE;wBACzB,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;qBACzB;oBACD,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE;wBACnD,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;qBACxC;iBACF;gBACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aACxB;SACF;IACH,CAAC;IACM,uCAAU,GAAjB,UAAkB,OAAe;QAC/B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,OAAO,CAAC;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAID,sBAAW,uCAAO;QAHlB;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;;;OAAA;IACD,sBAAW,0CAAU;aAArB;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACnD,CAAC;;;OAAA;IACM,uCAAU,GAAjB,UAAkB,GAAQ,EAAE,eAA2B;QAA3B,wDAA2B;QACrD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QACxD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IACM,uCAAU,GAAjB,UACE,KAAiB,EACjB,SAA0C;QAA1C,4CAA0C;QAE1C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IACM,yCAAY,GAAnB;QACE,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAC/B,IAAI,OAAO,IAAI,CAAC,SAAS,IAAI,UAAU;YAAE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACM,yCAAY,GAAnB,UAAoB,GAAQ;QAC1B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACvB,CAAC;IACD,sBAAW,wCAAQ;aAAnB;YACE,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;QACjE,CAAC;aACD,UAAoB,GAAY;YAC9B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QAC3B,CAAC;;;OAHA;IAIM,sCAAS,GAAhB,UAAiB,MAAc,EAAE,GAAe;QAAf,gCAAe;QAC9C,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC7C,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,sBAAW,uCAAO;aAAlB;YACE,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,CAAC;aACD,UAAmB,GAAY;YAC7B,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC;;;OAHA;IAID,sBAAW,6CAAa;aAAxB;YACE,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3E,CAAC;aACD,UAAyB,GAAY;YACnC,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAChC,CAAC;;;OAHA;IAID,sBAAW,wCAAQ;aAAnB;YACE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,CAAC;aACD,UAAoB,GAAkB;YACpC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QAC3B,CAAC;;;OAHA;IAIM,sCAAS,GAAhB,UAAiB,IAAwB;QACvC,IAAI,WAAW,GAAG,kBAAkB,CAAC,cAAc,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC;IACH,CAAC;IACM,gDAAmB,GAA1B,UAA2B,IAAY;QACrC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;SAC9B;QACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC7C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC;IACH,CAAC;IACM,kDAAqB,GAA5B;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,CAAC;IACM,uCAAU,GAAjB;QACE,IAAG,IAAI,CAAC,SAAS,KAAK,cAAc;YAAE,OAAO,SAAS,CAAC;QACvD,IAAG,IAAI,CAAC,SAAS,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QACtD,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,OAAO,CAAC;QACrC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,OAAO,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QACtE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACM,sCAAS,GAAhB;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IACO,uCAAU,GAAlB,UAAmB,IAAwB,EAAE,SAAiB;QAC5D,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;YACtD,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;SACnC;IACH,CAAC;IAvSc,wBAAK,GAAG,CAAC,CAAC;IACV,iCAAc,GAAG;QAC9B,WAAW;QACX,cAAc;QACd,WAAW;QACX,eAAe;QACf,cAAc;QACd,gBAAgB;QAChB,qBAAqB;QACrB,UAAU;QACV,YAAY;QACZ,UAAU;QACV,oBAAoB;QACpB,kBAAkB;QAClB,oBAAoB;QACpB,WAAW;QACX,iBAAiB;QACjB,QAAQ;QACR,eAAe;QACf,eAAe;QACf,cAAc;QACd,kBAAkB;QAClB,uBAAuB;QACvB,YAAY;QACZ,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,UAAU;QACV,eAAe;QACf,cAAc;QACd,gBAAgB;QAChB,oBAAoB;QACpB,UAAU;QACV,oBAAoB;QACpB,WAAW;QACX,qBAAqB;QACrB,wBAAwB;QACxB,WAAW;QACX,UAAU;QACV,UAAU;QACV,eAAe;KAChB,CAAC;IA+PJ,yBAAC;CAAA;AA3S8B;AA4S/B;IAAA;IA+IA,CAAC;IA5Ie,sCAAW,GAAzB,UAA0B,SAAiB,EAAE,QAAa;QACxD,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,0BAA0B,CAAC,UAAU,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACrB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;SACvB;QACD,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IACa,yCAAc,GAA5B,UAA6B,SAAiB,EAAE,YAAoB;QAClE,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,0BAA0B,CAAC,UAAU,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO;QAC9B,IAAI,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,EAAE;gBACtC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9B,MAAM;aACP;SACF;IACH,CAAC;IACa,8CAAmB,GAAjC,UAAkC,SAAiB;QACjD,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,0BAA0B,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IACa,mCAAQ,GAAtB,UAAuB,SAAiB,EAAE,eAAuB;QAC/D,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,eAAe,EAAE;YACnB,eAAe,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;SACjD;QACD,0BAA0B,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC;IACxE,CAAC;IACa,wCAAa,GAA3B,UAA4B,SAAiB;QAC3C,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,KAAK,GAAG,0BAA0B,CAAC,UAAU,CAAC;QAClD,OAAO,SAAS,EAAE;YAChB,IAAI,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,UAAU,EAAE;gBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzB;aACF;YACD,SAAS,GAAG,0BAA0B,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SACjE;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACa,2CAAgB,GAA9B,UAA+B,GAAQ;QACrC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO;QACjC,0BAA0B,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IACc,+CAAoB,GAAnC,UAAoC,GAAQ,EAAE,SAAiB;QAC7D,IAAI,KAAK,GAAG,0BAA0B,CAAC,UAAU,CAAC;QAClD,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;YACpB,0BAA0B,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SACzE;QACD,IAAI,WAAW,GAAG,0BAA0B,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,WAAW,EAAE;YACf,0BAA0B,CAAC,oBAAoB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;SACnE;IACH,CAAC;IACc,gDAAqB,GAApC,UAAqC,GAAQ,EAAE,UAAiB;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,0BAA0B,CAAC,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SACpE;IACH,CAAC;IACc,8CAAmB,GAAlC,UAAmC,GAAQ,EAAE,IAAwB;QACnE,IAAI,0BAA0B,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QAC7E,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,IAAI,0BAA0B,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,qBAAqB,CAAC;YAAE,OAAO;QAC9H,IACE,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,qBAAqB;YAC1B,GAAG,CAAC,0BAA0B,EAC9B;YACA,GAAG,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,OAAO,GAAG;gBACZ,GAAG,EAAE;oBACH,OAAO,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;aACF,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;YAChE,IAAI,IAAI,GAAG;gBACT,GAAG,EAAE;oBACH,OAAO,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACpE,CAAC;gBACD,GAAG,EAAE,UAAU,CAAM;oBACnB,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC7C,CAAC;aACF,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC7C;aAAM;YACL,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACrC,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC;YACjE,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,UAAU,EAAE;gBAC5C,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE;oBACnE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,IAAS;wBAC/C,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;wBACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC;oBACrC,CAAC,CAAC,CAAC;oBACH,WAAW,GAAG,IAAI,CAAC;iBACpB;qBAAM;oBACL,+BAA+B;oBAC/B,IAAI,WAAW,EAAE;wBACf,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC/B;iBACF;gBACD,IAAI,WAAW,EAAE;oBACf,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;wBAC/B,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;qBAC/C;oBACD,YAAY,GAAG,IAAI,CAAC;iBACrB;aACF;YACD,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE;gBACpD,IAAI,IAAI,GAAG;oBACT,GAAG,EAAE;wBACH,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;4BACrB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;yBAC7B;wBACD,OAAO,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACvD,CAAC;oBACD,GAAG,EAAE,UAAU,CAAM;wBACnB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;4BACrB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;yBAC/B;6BAAM;4BACL,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;yBACpC;oBACH,CAAC;iBACF,CAAC;gBACF,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC7C;SACF;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE;YAC3D,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC9B,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;aAChE;SACF;IACH,CAAC;IACc,gDAAqB,GAApC,UAAqC,GAAQ,EAAE,IAAY;QACzD,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IA7Ic,qCAAU,GAAY,EAAE,CAAC;IACzB,wCAAa,GAA8B,EAAE,CAAC;IA6I/D,iCAAC;CAAA;AA/IsC;AAiJvC;IAOE,2BACS,IAAY,EACnB,UAAsB,EACf,OAAmC,EACnC,UAAyB;QADzB,wCAAmC;QACnC,8CAAyB;QAHzB,SAAI,GAAJ,IAAI,CAAQ;QAEZ,YAAO,GAAP,OAAO,CAA4B;QACnC,eAAU,GAAV,UAAU,CAAe;QAEhC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,CAAC,OAAO,IAAI,IAAI,KAAK,QAAQ,CAAC;QACnD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAChD,0BAA0B,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,CAAC,CAAC,OAAO,EAAE;gBACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;SACF;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,EAAsB,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACnD;IACH,CAAC;IACD,UAAU;IACH,gCAAI,GAAX,UAAY,IAAY;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAChE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACM,wCAAY,GAAnB,UAAoB,IAAY;QAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACM,4CAAgB,GAAvB;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACM,8CAAkB,GAAzB;QACE,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,YAAY,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;SACtC;IACH,CAAC;IACD,sBAAW,uCAAQ;aAAnB,cAAiC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;;;OAAA;IACrD,6CAAiB,GAAzB;QAAA,iBAwBC;QAvBC,IAAG,CAAC,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAM,eAAe,GAAkC,EAAE,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAI,IAAI,sBAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAjC,CAAiC,CAAC,CAAC;QACnE,IAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,IAAG,CAAC,CAAC,WAAW,EAAE;YAChB,IAAM,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACxD,gBAAgB,CAAC,OAAO,CAAC,cAAI;gBAC3B,IAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAG,CAAC,CAAC,aAAa,EAAE;oBAClB,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC9B,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;iBACjC;qBAAM;oBACL,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAI;YAC1B,IAAG,CAAC,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAClC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACxB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACO,uCAAW,GAAnB,UAAoB,IAAwB;QAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACtC,IAAG,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;SAClD;IACH,CAAC;IACO,2CAAe,GAAvB,UAAwB,QAAgB;QACtC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACnF,CAAC;IACO,gDAAoB,GAA5B;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;SACrC;QACD,0BAA0B,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IACO,kDAAsB,GAA9B;QACE,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,IAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,CAAC,MAAM,EAAE;YACZ,MAAM,CAAC,oBAAoB,EAAE,CAAC;SAC/B;IACH,CAAC;IACM,0CAAc,GAArB,UAAsB,QAAa,EAAE,QAAyB;QAAzB,2CAAyB;QAC5D,IAAI,YAAY,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE;YAClB,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACrD,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACrD;QACD,IAAI,UAAU,GACZ,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxE,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,IAAI,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;SAC1B;QACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACjB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;aAC3B;YACD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;gBAClC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;aACtC;YACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE;gBACtC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC;aAC9C;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAClD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;aAC/C;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;gBACvD,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;aACzD;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAC7C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;aACrC;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAC/C,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;aACzC;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;aACnC;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBACjD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;aAC7C;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAClD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;aAC/C;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;gBACtD,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC;aACvD;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;gBAChD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;aAC3C;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;aACnC;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;aACnC;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;aACnC;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;aACnC;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBACpD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;aACnD;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAC9C,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;aACvC;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;aACnC;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAClD,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC;aACnD;YACD,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAC3C,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;aACjC;YACD,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE;gBAC3D,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;aACjC;YACD,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE;gBACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;aACrC;YACD,IAAI,CAAC,CAAC,QAAQ,CAAC,mBAAmB,EAAE;gBAClC,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;aACzD;YACD,IAAI,CAAC,CAAC,QAAQ,CAAC,sBAAsB,EAAE;gBACrC,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC,sBAAsB,CAAC;aAC/D;YACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;YACD,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACpB,IAAI,WAAW,GACb,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnE,IAAI,YAAY,GACd,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;aAC5C;YACD,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE;gBACxB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aACvC;YACD,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACvB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;aACvC;YACD,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACvB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;aACvC;YACD,IAAI,QAAQ,CAAC,cAAc,EAAE;gBAC3B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;aAC/C;YACD,IAAI,QAAQ,CAAC,aAAa,EAAE;gBAC1B,QAAQ,CAAC,qBAAqB,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;aACpD;YACD,IAAI,QAAQ,CAAC,qBAAqB,EAAE;gBAClC,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;gBAC5D,IAAI,CAAS,CAAC;gBACd,IACE,IAAI,CAAC,qBAAqB;oBAC1B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAC9C;oBACA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;aACF;YACD,IAAI,QAAQ,CAAC,aAAa,EAAE;gBAC1B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;aAC7C;YACD,IAAI,QAAQ,CAAC,SAAS,EAAE;gBACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;aACrC;YACD,IAAI,QAAQ,CAAC,aAAa,EAAE;gBAC1B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;aAC7C;YACD,IAAI,QAAQ,CAAC,aAAa,EAAE;gBAC1B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;aAC7C;YACD,IAAI,QAAQ,CAAC,eAAe,EAAE;gBAC5B,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;aACjD;YACD,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACnB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;aAC/B;YACD,IAAI,QAAQ,CAAC,SAAS,EAAE;gBACtB,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;aACvD;SACF;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,0BAA0B,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACzD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACO,kDAAsB,GAA9B,UAA+B,IAAwB,EAAE,SAAc;QACrE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/C;SACF;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAC5C;IACH,CAAC;IACO,gDAAoB,GAA5B,UAA6B,IAAwB,EAAE,SAAiB;QACtE,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACO,qDAAyB,GAAjC,UAAkC,YAAoB;QACpD,OAAO,CACL,YAAY,CAAC,MAAM,GAAG,CAAC;YACvB,YAAY,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,cAAc,CACpD,CAAC;IACJ,CAAC;IACO,2CAAe,GAAvB,UAAwB,YAAoB;QAC1C,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC;YAAE,OAAO,YAAY,CAAC;QACvE,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,YAAY,CAAC;IACtB,CAAC;IA5RM,gCAAc,GAAG,GAAG,CAAC;IACrB,4BAAU,GAAG,GAAG,CAAC;IA4R1B,wBAAC;CAAA;AA9R6B;AAgS9B;;GAEG;AACH;IAAA;QACU,YAAO,GAAiC,EAAE,CAAC;QAC3C,qBAAgB,GAAsB,EAAE,CAAC;QACzC,oBAAe,GAAwC,EAAE,CAAC;IAkdpE,CAAC;IAhdQ,0CAAmB,GAA1B,UAA2B,GAAQ,EAAE,IAAY;QAC/C,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;YAC1B,IAAI,UAAU,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;YACtC,IAAI,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;YAC/D,IAAI,CAAC,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACnE;QACD,IAAI,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IACM,0CAAmB,GAA1B,UAA2B,GAAQ,EAAE,IAAY,EAAE,GAAQ;QACzD,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO;QAC9B,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;YACtC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACxB;aAAM;YACL,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAM,MAAM,GAAG,EAAE,CAAC;gBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,GAAG,GAAG,MAAM,CAAC;aACd;YACD,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;SACjB;IACH,CAAC;IACO,8CAAuB,GAA/B,UAAgC,GAAQ,EAAE,IAAwB;QAChE,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB;gBAC9B,OAAO,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC;SAC/C;QACD,OAAO,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACO,mCAAY,GAApB,UAAqB,GAAQ;QAC3B,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IACxD,CAAC;IACM,+BAAQ,GAAf,UACE,IAAY,EACZ,UAAsB,EACtB,OAAmC,EACnC,UAAyB;QADzB,wCAAmC;QACnC,8CAAyB;QAEzB,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,aAAa,GAAG,IAAI,iBAAiB,CACvC,IAAI,EACJ,UAAU,EACV,OAAO,EACP,UAAU,CACX,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;QACnC,IAAI,UAAU,EAAE;YACd,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;aACvC;YACD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACtD;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IACM,kCAAW,GAAlB,UAAmB,IAAY;QAC7B,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE;YAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACd,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC7D;SACF;IACH,CAAC;IACM,4CAAqB,GAA5B,UAA6B,IAAY,EAAE,OAAkB;QAC3D,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IACM,2CAAoB,GAA3B,UAA4B,IAAY,EAAE,OAAkB;QAC1D,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC;SACjC;IACH,CAAC;IACM,oCAAa,GAApB,UAAqB,SAAiB;QACpC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC,gBAAgB,EAAE,CAAC;IACtC,CAAC;IACM,yCAAkB,GAAzB,UAA0B,GAAQ;QAChC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACpC,IAAI,GAAG,GAAQ,EAAE,CAAC;QAClB,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SAC/B;QACD,IAAI,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc;YACrC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,IAAI,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAChC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aACzB;SACF;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,UAAG,CAAC,GAAG,CAAC,EAAR,CAAQ,CAAC,CAAC;IACjD,CAAC;IACM,gDAAyB,GAAhC,UACE,GAAQ,EACR,WAA0B;QAA1B,gDAA0B;QAE1B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,WAAW,CAAC;YAC/D,OAAO,EAAE,CAAC;QACZ,IAAI,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC/D,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QACzD,IAAI,IAAI,GAAQ,EAAE,CAAC;QACnB,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBACrB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjB;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACM,0CAAmB,GAA1B,UAA2B,GAAS,EAAE,QAAgB;QACpD,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IACM,0CAAmB,GAA1B,UAA2B,GAAS,EAAE,QAAgB;QACpD,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACtB,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;YACxB,OAAO,IAAI,CAAC,YAAY,CAAO,GAAI,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IACM,kCAAW,GAAlB,UACE,SAAiB,EACjB,YAAoB;QAEpB,IAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC9C,IAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9E,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,SAAS,CAAC,kBAAkB,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IACM,mCAAY,GAAnB,UACE,SAAiB,EACjB,YAAoB;QAEpB,IAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,EAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IACM,qCAAc,GAArB,UACE,SAAiB,EACjB,aAA4B;QAE5B,IAAI,MAAM,GAAG,IAAI,KAAK,EAAsB,CAAC;QAC7C,IAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,IAAG,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,IAAI,EAAE;gBACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,6CAAsB,GAA7B,UACE,YAAoB;QAEpB,IAAI,GAAG,GAAG,IAAI,KAAK,EAAsB,CAAC;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,EAAE;oBAChD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,MAAM;iBACP;aACF;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACM,oCAAa,GAApB;QACE,IAAI,GAAG,GAAG,IAAI,KAAK,EAAU,CAAC;QAC9B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;YAC7B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACM,kCAAW,GAAlB,UAAmB,IAAY,EAAE,IAAqB;QAArB,uCAAqB;QACpD,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,aAAa,CAAC,OAAO;YAAE,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QAC1C,OAAO,UAAU,EAAE;YACjB,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,aAAa;gBAAE,OAAO,IAAI,CAAC;YAChC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;YACtC,IAAI,aAAa,CAAC,OAAO;gBACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACnE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACO,uCAAgB,GAAxB,UACE,IAAY,EACZ,OAAY,EACZ,IAAqB;QAArB,uCAAqB;QAErB,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,cAAc,GAAG,IAAI,CAAC;QAC1B,IAAI,kBAAkB,GAAG,GAAG,CAAC,WAAW;YACtC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;YACnB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAClB,GAAG,CAAC,OAAO,GAAG;YACZ,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC;QACF,GAAG,CAAC,WAAW,GAAG;YAChB,OAAO,kBAAkB,CAAC;QAC5B,CAAC,CAAC;QACF,0BAA0B,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC;IACb,CAAC;IACM,yCAAkB,GAAzB,UACE,IAAY,EACZ,YAA6B;QAA7B,mDAA6B;QAE7B,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,MAAM,GAA6B,EAAE,CAAC;QAC1C,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IACM,4CAAqB,GAA5B,UAA6B,IAAY;QACvC,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;gBAC5B,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC9B;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACM,oCAAa,GAApB,UAAqB,SAAiB,EAAE,eAA2B;QACjE,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/D;IACH,CAAC;IACM,kCAAW,GAAlB,UAAmB,SAAiB,EAAE,YAAiB;QACrD,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;IAC7E,CAAC;IACO,4CAAqB,GAA7B,UACE,aAAgC,EAChC,YAAiB;QAEjB,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,QAAQ,GAAG,aAAa,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAChE,IAAI,QAAQ,EAAE;YACZ,aAAa,CAAC,kBAAkB,EAAE,CAAC;SACpC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACM,qCAAc,GAArB,UAAsB,SAAiB,EAAE,YAAoB;QAC3D,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACjC,IAAI,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACtD,aAAa,CAAC,kBAAkB,EAAE,CAAC;YACnC,0BAA0B,CAAC,cAAc,CACvC,aAAa,CAAC,IAAI,EAClB,YAAY,CACb,CAAC;SACH;IACH,CAAC;IACO,8CAAuB,GAA/B,UACE,aAAgC,EAChC,QAA4B;QAE5B,IAAI,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO;QACtB,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IACO,0CAAmB,GAA3B,UACE,IAAY,EACZ,YAAqB,EACrB,MAAgC;QAEhC,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1B;YACD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;SAClE;IACH,CAAC;IACM,gCAAS,GAAhB,UAAiB,IAAY;QAC3B,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE;YACR,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAClE;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACM,qCAAc,GAArB,UAAsB,SAAiB,EAAE,iBAAyB;QAChE,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB,EAAE;YACpC,OAAO,KAAK,CAAC;SACd;QACD,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,iBAAiB,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACpD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,KAAK,CAAC;SACd;QACD,IAAI,WAAW,GAAG,MAAM,CAAC;QACzB,GAAG;YACD,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB,EAAE;gBAC1C,OAAO,IAAI,CAAC;aACb;YACD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SACpD,QAAQ,CAAC,CAAC,WAAW,EAAE;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACM,8CAAuB,GAA9B,UAA+B,IAAY,EAAE,eAAuB;QAClE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5E,CAAC;IACM,qCAAc,GAArB,UAAsB,SAA6B;QAA7B,iDAA6B;QACjD,IAAI,CAAC,SAAS;YAAE,SAAS,GAAG,QAAQ,CAAC;QACrC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,GAAG,GAAG;YACR,OAAO,EAAE,yCAAyC;YAClD,KAAK,EAAE,8BAA8B;YACrC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE;SACvD,CAAC;QACF,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC;IACb,CAAC;IACO,0CAAmB,GAA3B;QACE,IAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,IAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAG,CAAC,CAAC,OAAO,EAAE;YACZ,IAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzC,IAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,IAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;iBAC5B;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;gBAChC,OAAO,CAAC,OAAO,CAAC,WAAC,IAAM,IAAG,CAAC,CAAC,CAAC,EAAE;oBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iBAAE,CAAC,CAAC,CAAC,CAAC;aACtE;SACF;QACD,OAAO;YACL,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,KAAK;SAClB,CAAC;IACJ,CAAC;IACO,+CAAwB,GAAhC,UAAiC,SAA4B,EAAE,WAAgB,EAAE,SAAc,EAAE,MAAe;QAC9G,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC;QAChD,IAAM,aAAa,GAAG,EAAE,CAAC;QACzB,IAAG,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;YAC9D,gBAAgB,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC3C,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC5B;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,IAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrC,IAAG,CAAC,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YAClG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACnF,IAAG,IAAI,CAAC,UAAU;gBAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnD;QACD,IAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,WAAW,CAAC,QAAQ,GAAG,aAAa,CAAC;SACtC;IACH,CAAC;IACO,6CAAsB,GAA9B,UAA+B,IAAwB,EAAE,SAAc,EAAE,MAAe;QACtF,IAAG,IAAI,CAAC,aAAa,EAAE;YACrB,OAAO,EAAE,KAAK,EAAE;oBACd,EAAE,MAAM,EAAE,QAAQ,EAAE;oBACpB,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;iBACtD,EAAE,CAAC;SACL;QACD,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,GAAG,GAAQ,EAAG,CAAC;QACnB,IAAG,CAAC,CAAC,QAAQ,EAAE;YACb,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtC,IAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/C,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;aACpB;SACF;QACD,IAAG,CAAC,CAAC,OAAO,EAAE;YACZ,IAAG,QAAQ,KAAK,OAAO,EAAE;gBACvB,IAAG,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;oBAC9B,GAAG,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;iBACtC;qBAAM;oBACL,GAAG,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;iBACpE;aACF;iBAAM;gBACL,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;aACrD;YACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;SAC3D;QACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE;YACxB,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,aAAa,IAAI,UAAU,EAAE;gBACpC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aAC3C;YACD,GAAG,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;aACtD;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACO,sCAAe,GAAvB,UAAwB,SAAiB,EAAE,MAAe;QACxD,oKAAoK;QACpK,OAAO,gBAAgB,GAAG,SAAS,CAAC;QACpC,iEAAiE;IACnE,CAAC;IACO,yCAAkB,GAA1B,UAA2B,SAAiB,EAAE,SAAc,EAAE,MAAe;QAC3E,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;YAAE,OAAO;QACnC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,IAAI,MAAM,CAAC;QACzE,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SAClE;QACD,IAAM,GAAG,GAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;QACpD,SAAS,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;QAC3B,IAAM,UAAU,GAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACxE,IAAI,SAAS,EAAE;YACb,GAAG,CAAC,KAAK,GAAG;gBACV,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE;gBAC5D,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE;aACtC,CAAC;SACH;aAAM;YACL,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;SACxC;QACD,IAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YACrC,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;SACpC;IACH,CAAC;IACH,mBAAC;AAAD,CAAC;;AACD;IAME,mBAAmB,IAAY,EAAS,OAAe;QAApC,SAAI,GAAJ,IAAI,CAAQ;QAAS,YAAO,GAAP,OAAO,CAAQ;QALhD,gBAAW,GAAW,EAAE,CAAC;QACzB,OAAE,GAAW,CAAC,CAAC,CAAC;QAChB,QAAG,GAAW,CAAC,CAAC,CAAC;IAGmC,CAAC;IACrD,sCAAkB,GAAzB;QACE,OAAO,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IACH,gBAAC;AAAD,CAAC;;AACD;IAA8C,4CAAS;IACrD,kCAAmB,YAAoB,EAAS,SAAiB;QAAjE,YACE,kBACE,iBAAiB,EACjB,gBAAgB;YAChB,YAAY;YACZ,cAAc;YACd,SAAS;YACT,eAAe,CAChB,SAUF;QAlBkB,kBAAY,GAAZ,YAAY,CAAQ;QAAS,eAAS,GAAT,SAAS,CAAQ;QAS/D,IAAI,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,UAAU,EAAE;YACd,KAAI,CAAC,WAAW,GAAG,wCAAwC,CAAC;YAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,IAAI,CAAC,GAAG,CAAC;oBAAE,KAAI,CAAC,WAAW,IAAI,IAAI,CAAC;gBACpC,KAAI,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aACxC;YACD,KAAI,CAAC,WAAW,IAAI,GAAG,CAAC;SACzB;;IACH,CAAC;IACH,+BAAC;AAAD,CAAC,CApB6C,SAAS,GAoBtD;;AACD;IAA8C,4CAAS;IACrD,kCACS,aAAqB,EACrB,IAAY,EACZ,OAAe;QAHxB,YAKE,kBAAM,IAAI,EAAE,OAAO,CAAC,SAQrB;QAZQ,mBAAa,GAAb,aAAa,CAAQ;QACrB,UAAI,GAAJ,IAAI,CAAQ;QACZ,aAAO,GAAP,OAAO,CAAQ;QAGtB,KAAI,CAAC,WAAW,GAAG,qCAAqC,CAAC;QACzD,IAAI,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC;gBAAE,KAAI,CAAC,WAAW,IAAI,IAAI,CAAC;YACpC,KAAI,CAAC,WAAW,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;SAC/C;QACD,KAAI,CAAC,WAAW,IAAI,GAAG,CAAC;;IAC1B,CAAC;IACH,+BAAC;AAAD,CAAC,CAf6C,SAAS,GAetD;;AACD;IAA0C,wCAAwB;IAChE,8BAAmB,YAAoB,EAAS,aAAqB;QAArE,YACE,kBACE,aAAa,EACb,qBAAqB,EACrB,+EAA+E;YAC/E,YAAY;YACZ,IAAI,CACL,SACF;QARkB,kBAAY,GAAZ,YAAY,CAAQ;QAAS,mBAAa,GAAb,aAAa,CAAQ;;IAQrE,CAAC;IACH,2BAAC;AAAD,CAAC,CAVyC,wBAAwB,GAUjE;;AACD;IAA4C,0CAAwB;IAClE,gCAAmB,YAAoB,EAAS,aAAqB;QAArE,YACE,kBACE,aAAa,EACb,uBAAuB,EACvB,iFAAiF;YACjF,YAAY;YACZ,IAAI,CACL,SACF;QARkB,kBAAY,GAAZ,YAAY,CAAQ;QAAS,mBAAa,GAAb,aAAa,CAAQ;;IAQrE,CAAC;IACH,6BAAC;AAAD,CAAC,CAV2C,wBAAwB,GAUnE;;AACD;IAA+C,6CAAS;IACtD,mCAAmB,YAAoB,EAAS,SAAiB;QAAjE,YACE,kBACE,kBAAkB,EAClB,gBAAgB;YAChB,YAAY;YACZ,0BAA0B;YAC1B,SAAS;YACT,IAAI,CACL,SACF;QATkB,kBAAY,GAAZ,YAAY,CAAQ;QAAS,eAAS,GAAT,SAAS,CAAQ;;IASjE,CAAC;IACH,gCAAC;AAAD,CAAC,CAX8C,SAAS,GAWvD;;AAED;IAAA;QAOS,WAAM,GAAG,IAAI,KAAK,EAAa,CAAC;QAChC,qBAAgB,GAAY,KAAK,CAAC;IAsT3C,CAAC;IA1TC,sBAAkB,sBAAQ;aAA1B;YACE,OAAO,UAAU,CAAC,aAAa,CAAC;QAClC,CAAC;;;OAAA;IAGM,iCAAY,GAAnB,UAAoB,GAAQ,EAAE,aAAqB;QAArB,qDAAqB;QACjD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IACM,6BAAQ,GAAf,UAAgB,OAAY,EAAE,GAAQ;QACpC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC,KAAK,EAAE;YACX,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IACM,iCAAY,GAAnB,UAAoB,OAAY,EAAE,GAAQ;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,OAAO,GAAG,SAAS,CAAC;QACxB,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;YACxB,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACxD,aAAa;gBACX,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SAC1E;QACD,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,IAAI,GAAG,CAAC,oBAAoB,EAAE;YAC5B,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;SACnC;QACD,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACjE,KAAK,IAAI,GAAG,IAAI,OAAO,EAAE;YACvB,IAAI,GAAG,KAAK,UAAU,CAAC,gBAAgB;gBAAE,SAAS;YAClD,IAAI,GAAG,KAAK,UAAU,CAAC,oBAAoB,EAAE;gBAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBACxB,SAAS;aACV;YACD,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAI,aAAa,EAAE;oBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;iBACvF;gBACD,SAAS;aACV;YACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;SAC9C;QACD,IAAI,GAAG,CAAC,kBAAkB,EAAE;YAC1B,GAAG,CAAC,kBAAkB,EAAE,CAAC;SAC1B;IACH,CAAC;IACM,qCAAgB,GAAvB,UACE,GAAQ,EACR,QAA4B,EAC5B,aAAqB;QAArB,qDAAqB;QAErB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC;QACrC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU;YAAE,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5D,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YACrC,MAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,UAAU,CAC9D,GAAG,CAAC,OAAO,EAAE,CACd,CAAC;SACH;QACD,IAAI,CAAC,gBAAgB,CACnB,GAAG,EACH,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAChD,MAAM,EACN,aAAa,CACd,CAAC;QACF,IAAI,CAAC,gBAAgB,CACnB,GAAG,EACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAC9B,MAAM,EACN,aAAa,CACd,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IACO,yCAAoB,GAA5B,UAA6B,GAAQ;QACnC,OAAO,UAAU,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IACO,yCAAoB,GAA5B,UACE,GAAQ,EACR,OAAY,EACZ,UAAqC;QAErC,IAAI,CAAC,GAAG,CAAC,sBAAsB;YAAE,OAAO,UAAU,CAAC;QACnD,IAAI,eAAe,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;QACnD,IAAI,CAAC,eAAe;YAAE,OAAO,UAAU,CAAC;QACxC,IAAI,OAAO,CAAC,eAAe,CAAC,EAAE;YAC5B,GAAG,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;SACjD;QACD,IAAI,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SACzB;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACO,qCAAgB,GAAxB,UACE,GAAQ,EACR,UAAqC,EACrC,IAAS,EACT,aAAqB;QAArB,qDAAqB;QAErB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;SAC3D;IACH,CAAC;IACM,gCAAW,GAAlB,UACE,GAAQ,EACR,MAAW,EACX,QAA4B,EAC5B,aAAqB;QAArB,qDAAqB;QAErB,IACE,QAAQ,CAAC,cAAc,KAAK,KAAK;YACjC,CAAC,QAAQ,CAAC,mBAAmB,KAAK,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC;YAEjE,OAAO;QACT,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;YAAE,OAAO;QAC7D,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5B,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;aACzE;YACD,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;SAC/C;aAAM;YACL,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;SAC/D;QACD,IAAI,QAAQ,GACV,OAAO,GAAG,CAAC,kBAAkB,CAAC,KAAK,UAAU;YAC7C,GAAG,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;QACxD,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAClE,IAAI,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;gBACxG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aAC/B;SACF;IACH,CAAC;IACM,+BAAU,GAAjB,UAAkB,KAAU,EAAE,GAAQ,EAAE,QAA4B;QAClE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAClD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChC,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,gBAAgB,EAAE;YACjD,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACpC,OAAO;SACR;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACvD,OAAO;SACR;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACxC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;SACvB;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACjB,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACpB,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;aACrC;iBAAM;gBACL,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aAC5B;SACF;IACH,CAAC;IACO,8BAAS,GAAjB,UAAkB,QAA4B,EAAE,KAAU;QACxD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;YACnE,OAAO;QACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACO,qCAAgB,GAAxB,UAAyB,GAAQ;QAC/B,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/B;SACF;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;YAC1C,OAAO,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;SAC7C;IACH,CAAC;IACO,iCAAY,GAApB,UAAqB,KAAU;QAC7B,OAAO,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IACO,iCAAY,GAApB,UAAqB,KAAU,EAAE,QAA4B;QAC3D,IAAI,MAAM,GAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAChD,IAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,GAAG,SAAS;YACvB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,sBAAsB,CACxC,MAAM,CAAC,MAAM,EACb,KAAK,EACL,QAAQ,EACR,SAAS,CACV,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IACO,0CAAqB,GAA7B,UAA8B,KAAU,EAAE,QAA4B;QACpE,IAAI,GAAG,GAAG,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,IAAI,CAAC,GAAG,EAAE;YACR,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;SAC1C;QACD,IAAG,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACxB,IAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC7C,IAAG,aAAa,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;YAClD,GAAG,IAAI,aAAa,CAAC;SACtB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACO,2CAAsB,GAA9B,UACE,MAAW,EACX,KAAU,EACV,QAA4B,EAC5B,SAAiB;QAEjB,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,MAAM,EAAE;YACV,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAC9C;aAAM;YACL,IAAI,QAAQ,CAAC,aAAa,EAAE;gBAC1B,IAAI,CAAC,SAAS,EAAE;oBACd,KAAK,GAAG,IAAI,oBAAoB,CAC9B,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,aAAa,CACvB,CAAC;iBACH;qBAAM;oBACL,KAAK,GAAG,IAAI,sBAAsB,CAChC,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,aAAa,CACvB,CAAC;iBACH;aACF;SACF;QACD,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACxC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACO,qCAAgB,GAAxB,UAAyB,GAAQ,EAAE,SAAc;QAC/C,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACnE,IAAI,SAAS,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,kBAAkB,GAAG,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAChE,SAAS,CACV,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,IAAM,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,IAAI,IAAI,CAAC,gDAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;gBAAE,SAAS;YAChE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACzB,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aAC5D;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACO,gCAAW,GAAnB,UAAoB,KAAgB,EAAE,OAAY,EAAE,OAAc;QAChE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAG,CAAC,OAAO;YAAE,OAAO;QACpB,IAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACxD,IAAG,CAAC,MAAM;YAAE,OAAO;QACnB,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;QACxB,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACzB,CAAC;IACO,iCAAY,GAApB,UACE,KAAiB,EACjB,GAAQ,EACR,GAAQ,EACR,QAA4B;QAE5B,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1C,OAAO;QACT,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IACrC,CAAC;IACO,uCAAkB,GAA1B,UACE,KAAiB,EACjB,MAAkB,EAClB,QAA4B;QAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACnB,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACnB,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;iBACtC;gBACD,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;oBACxB,QAAQ,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;iBAC3D;gBACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;aAC9C;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;oBACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvB;aACF;SACF;IACH,CAAC;IACO,iCAAY,GAApB,UACE,UAAqC,EACrC,GAAQ;QAER,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,eAAe,IAAI,GAAG;gBAAE,OAAO,IAAI,CAAC;SAClE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IA5Tc,2BAAgB,GAAG,MAAM,CAAC;IAC1B,+BAAoB,GAAG,KAAK,CAAC;IAC7B,wBAAa,GAAG,IAAI,YAAY,EAAE,CAAC;IA2TpD,iBAAC;CAAA;AA9TsB;AAgUvB;;;GAGG;AACI,IAAI,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC;;;;;;;;;;;;;AC3vD5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoC;AACiB;AACf;AACH;AAgBnC;;;GAGG;AACH;IAkCE,2BACS,KAAwB,EACxB,WAA4B,EAC5B,IAAa;QADb,iDAA4B;QAD5B,UAAK,GAAL,KAAK,CAAmB;QACxB,gBAAW,GAAX,WAAW,CAAiB;QAC5B,SAAI,GAAJ,IAAI,CAAS;QA3Bd,WAAM,GAAG,EAAE,CAAC;QACZ,eAAU,GAAG,EAAE,CAAC;QAuSjB,oBAAe,GAAiC,IAAI,+CAAS,EAAqB,CAAC;QA3QxF,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAtCD,sBAAkB,kCAAa;aAA/B;YACE,OAAO,kDAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC;QACjD,CAAC;aACD,UAAgC,GAAW;YACzC,kDAAQ,CAAC,YAAY,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAChD,CAAC;;;OAHA;IAWD,sBAAW,+CAAgB;aAA3B;YACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;aACD,UAA4B,GAAW;YACrC,IAAI,IAAI,CAAC,iBAAiB,IAAI,GAAG,EAAE;gBACjC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;gBAC7B,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;QACH,CAAC;;;OANA;IAwBM,yCAAa,GAApB,cAAkC,OAAO,KAAK,CAAC,CAAC,CAAC;IACjD,sBAAW,qCAAM;aAAjB;YACE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACtC,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU;oBAAE,OAAO,GAAG,CAAC;aAC3C;YACD,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACrD,OAAO,EAAE,CAAC;QACZ,CAAC;;;OAAA;IACM,sCAAU,GAAjB;QACE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAAE,OAAO;QAC5C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,mBAAmB,EAAE;YAClD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;SACtC;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,sBAAW,mCAAI;aAAf;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;aACD,UAAgB,KAAa;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;;;OAHA;IAID,sBAAW,6CAAc;aAAzB;YACE,IAAI,CAAC,YAAY;gBACf,IAAI,CAAC,mBAAmB,KAAK,SAAS;oBACpC,CAAC,CAAC,IAAI,CAAC,mBAAmB;oBAC1B,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IACO,oCAAQ,GAAhB;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxB,IACE,GAAG;YACH,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAC3B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EACrB;YACA,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;SACxC;QACD,IAAI,IAAI,CAAC,iBAAiB;YAAE,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IACD,sBAAW,uCAAQ;aAAnB;YACE,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;YACtB,IAAI,CAAC,GAAG;gBAAE,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;YAChC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU,EAAE;gBACrD,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,iEAAkB,CAAC,aAAa,CAAC,CAAC;aACvD;YACD,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;gBAC1B,IAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,CAAC,OAAO,EAAE;oBACb,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAC9B;aACF;YACD,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU,EAAE;gBACrD,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACtC;YACD,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE;gBAC1D,GAAG,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAChC,IAAI,CAAC,CAAC,IAAI,CAAC,6BAA6B,EAAE;oBACxC,GAAG,GAAG,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;iBAC/C;aACF;YACD,IAAI,CAAC,GAAG;gBAAE,GAAG,GAAG,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC;QACb,CAAC;;;OAAA;IACO,0CAAc,GAAtB,UAAuB,GAAW;QAChC,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACrB,IAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IACO,+CAAmB,GAA3B;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACtF,CAAC;IACO,8CAAkB,GAA1B;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iEAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC;IACD,sBAAW,sCAAO;aAAlB;YACE,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAW,mCAAI;aAAf;YACE,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAW,sCAAO;aAAlB;YACE,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;QAC1C,CAAC;;;OAAA;IACD,sBAAW,yCAAU;aAArB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAClE,CAAC;;;OAAA;IACD,sBAAW,2CAAY;aAAvB;YACE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;;;OAAA;IACM,yCAAa,GAApB,UAAqB,GAAW;QAC9B,IAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,CAAC;IACO,6CAAiB,GAAzB,UAA0B,GAAW;QACnC,IAAI,CAAC,GAAG;YAAE,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IACO,yDAA6B,GAArC,UAAsC,GAAW,EAAE,GAAW;QAC5D,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,wBAAwB,EAAE;YACzC,GAAG,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACvC;QACD,IAAI,GAAG,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;IACM,iCAAK,GAAZ;QACE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IACM,uCAAW,GAAlB,UAAmB,GAAY;QAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;IACM,yCAAa,GAApB,UAAqB,GAAW,EAAE,KAAa;QAC7C,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;YAC5E,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU;gBAAE,OAAO;YAC1E,IAAI,EAAE,GAAG,iEAAkB,CAAC,aAAa,CAAC;YAC1C,IAAI,UAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAQ,CAAC,EAAE;gBACxC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACzB,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,UAAQ,CAAC,CAAC;aACnC;YACD,OAAO;SACR;QACD,IAAI,CAAC,kDAAQ,CAAC,YAAY,CAAC,2BAA2B;YACpD,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU;YAC1D,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YACnB,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YAE5C,OAAO;QACT,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,OAAa,IAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SACvB;aAAM;YACL,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;oBACtC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;iBAC/B;qBAAM;oBACL,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC1B,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;wBAC1B,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;qBACzC;iBACF;aACF;SACF;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IACO,wCAAY,GAApB,UAAqB,GAAW;QAC9B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACnD,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QACxC,OAAO,GAAG,KAAK,EAAE,CAAC;IACpB,CAAC;IACD,sBAAY,wCAAS;aAArB;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACvD,CAAC;;;OAAA;IACO,6CAAiB,GAAzB,UAA0B,GAAW,EAAE,GAAW;QAChD,IAAI,kDAAQ,CAAC,YAAY,CAAC,2BAA2B;YAAE,OAAO,KAAK,CAAC;QACpE,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC,OAAO,EAAE;YACb,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,CAAC,UAAU;gBAAE,OAAO,UAAU,IAAI,GAAG,CAAC;YAC3C,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SAC7C;aAAM;YACL,OAAO,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACnD;IACH,CAAC;IACO,0CAAc,GAAtB,UAAuB,GAAW,EAAE,QAAgB;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,IAAI,QAAQ,KAAK,KAAK,EAAE;YAChD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SACpC;IACH,CAAC;IACM,6CAAiB,GAAxB;QACE,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;IACvD,CAAC;IACM,sCAAU,GAAjB;QACE,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACM,mCAAO,GAAd;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxD,IAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,IACE,IAAI,CAAC,MAAM,IAAI,CAAC;YAChB,IAAI,CAAC,CAAC,CAAC,IAAI,kDAAQ,CAAC,YAAY,CAAC,iBAAiB;YAClD,CAAC,kDAAQ,CAAC,aAAa,CAAC,kCAAkC;YAE1D,OAAa,IAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACM,mCAAO,GAAd,UAAe,KAAU;QACvB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;YACrB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO;SACR;QACD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACjC;aAAM;YACL,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;gBACrB,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;aACrC;SACF;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IACD,sBAAW,uCAAQ;aAAnB;YACE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,UAAU,EAAE;gBAC/D,OAAO,iBAAiB,CAAC,eAAe,CAAC;aAC1C;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,eAAe,CAAC;QAChF,CAAC;;;OAAA;IACD,sBAAW,2CAAY;aAAvB;YACE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,UAAU,EAAE;gBACtE,OAAO,IAAI,CAAC;aACb;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QACrD,CAAC;;;OAAA;IACM,kCAAM,GAAb,UAAc,GAAQ;QACpB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACtC,OAAO,gDAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/E,CAAC;IAEM,uCAAW,GAAlB,UAAmB,IAAY;QAC7B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;YAAE,OAAO;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;QAC9B,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,IAAI,KAAK,GAAG,CAAC;YAAE,KAAK,GAAG,SAAS,CAAC;QACjC,IAAI,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,EAAE;YACnD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE;gBAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;SACF;QACD,OAAO,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;IACvC,CAAC;IACM,qCAAS,GAAhB,cAAqB,CAAC;IAEZ,sCAAU,GAApB,cAAyB,CAAC;IAClB,wCAAY,GAApB;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QACnD,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG;YAAE,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,IAAU,IAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,CAAO,IAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACpF,IAAI,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,YAAY,KAAK,IAAI,CAAC,kBAAkB,EAAE;YAAE,OAAO,KAAK,CAAC;QAC7F,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAClC,OAAO,CAAC,CAAC,GAAG,CAAC;IACf,CAAC;IACM,wCAAY,GAAnB;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG;YAAE,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,OAAa,IAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IACO,uDAA2B,GAAnC,UAAoC,YAAoB;QACtD,IAAI,kDAAQ,CAAC,YAAY,CAAC,2BAA2B;YAAE,OAAO;QAC9D,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU;gBAAE,SAAS;YACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;gBAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B;SACF;IACH,CAAC;IACO,oCAAQ,GAAhB,UAAiB,GAAW;QAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5D,OAAa,IAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;IACO,oCAAQ,GAAhB,UAAiB,GAAW,EAAE,KAAa;QACzC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;;YACjD,IAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IACzD,CAAC;IACO,uCAAW,GAAnB,UAAoB,GAAW;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;;YACnD,OAAa,IAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IACO,uCAAW,GAAnB,UAAoB,GAAW;QAC7B,IAAI,IAAI,CAAC,mBAAmB;YAAE,OAAO,kDAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC;QAC7E,OAAO,GAAG,CAAC;IACb,CAAC;IACO,yCAAa,GAArB;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,sBAAY,yCAAU;aAAtB;YACE,OAAO,kDAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC;QACjD,CAAC;;;OAAA;IApWa,mCAAiB,GAAY,KAAK,CAAC;IAOnC,iCAAe,GAAG,kBAAkB,CAAC;IACrC,kCAAgB,GAAG,kBAAkB,CAAC;IA6VtD,wBAAC;CAAA;AAtW6B;AAuW9B;;GAEG;AACH;IAGE,4BAAmB,KAAwB;QAAxB,UAAK,GAAL,KAAK,CAAmB;QAFnC,WAAM,GAAQ,EAAE,CAAC;IAEsB,CAAC;IACzC,0CAAa,GAApB,cAAkC,OAAO,IAAI,CAAC,CAAC,CAAC;IAChD,sBAAW,sCAAM;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,CAAC;;;OAAA;IACD,sBAAW,qCAAK;aAAhB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;aACD,UAAiB,GAAkB;YACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACzB,CAAC;;;OAHA;IAID,sBAAW,oCAAI;aAAf;YACE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,CAAC;aACD,UAAgB,GAAW;YACzB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,CAAC;;;OAHA;IAIM,0CAAa,GAApB,UAAqB,GAAW;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAC9D,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACM,0CAAa,GAApB,UAAqB,GAAW,EAAE,QAAgB;QAChD,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IACM,qCAAQ,GAAf,UAAgB,GAAW;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IACO,yCAAY,GAApB,UAAqB,GAAW,EAAE,UAA0B;QAA1B,8CAA0B;QAC1D,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,UAAU,EAAE;YACd,IAAI,MAAM,GAAG,kDAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC;YACrD,IAAI,GAAG,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACvE;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IACM,qCAAQ,GAAf,UAAgB,GAAW,EAAE,GAAkB;QAC7C,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAM,QAAQ,GAAG,gDAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;SACxB;QACD,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE;YACzB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SAC5C;IACH,CAAC;IACM,qCAAQ,GAAf,UAAgB,GAAgB;QAAhB,8BAAgB;QAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,sBAAW,uCAAO;aAAlB;YACE,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;QAC1C,CAAC;;;OAAA;IACO,sCAAS,GAAjB,UAAkB,GAAW;QAC3B,IAAI,CAAC,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACtB,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QAClB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,kDAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC;IAC/D,CAAC;IACM,uCAAU,GAAjB;QACE,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACM,oCAAO,GAAd;QACE,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,IACE,IAAI,CAAC,MAAM,IAAI,CAAC;YAChB,IAAI,CAAC,CAAC,CAAC,IAAI,kDAAQ,CAAC,YAAY,CAAC,iBAAiB;YAClD,CAAC,kDAAQ,CAAC,aAAa,CAAC,kCAAkC;YAC1D,OAAa,IAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,gDAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IACM,oCAAO,GAAd,UAAe,KAAU;QACvB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAC5B;aAAM;YACL,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;gBACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;aAChC;SACF;IACH,CAAC;IACO,0CAAa,GAArB;QACE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IACH,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;AC9dD;AAAA;AAAA,6DAA6D;AAC7D,oDAAoD;AAE7C,IAAI,cAAc,GAAG;IAC1B,YAAY,EAAE,UAAU;IACxB,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,UAAU;IACxB,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,MAAM;IAChB,eAAe,EAAE,OAAO;IACxB,aAAa,EAAE,kBAAkB;IACjC,YAAY,EAAE,MAAM;IACpB,iBAAiB,EAAE,YAAY;IAC/B,YAAY,EAAE,iBAAiB;IAC/B,SAAS,EAAE,YAAY;IACvB,wBAAwB,EAAE,YAAY;IACtC,yBAAyB,EAAE,oBAAoB;IAC/C,qBAAqB,EAAE,4BAA4B;IACnD,WAAW,EAAE,wDAAwD;IACrE,gBAAgB,EAAE,qCAAqC;IACvD,sBAAsB,EACpB,+DAA+D;IACjE,aAAa,EAAE,mBAAmB;IAClC,WAAW,EAAE,WAAW;IACxB,oBAAoB,EAAE,WAAW;IACjC,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,oBAAoB;IACnC,oBAAoB,EAAE,kDAAkD;IACxE,sBAAsB,EAAE,kDAAkD;IAC1E,YAAY,EAAE,8BAA8B;IAC5C,QAAQ,EAAE,uCAAuC;IACjD,QAAQ,EAAE,0CAA0C;IACpD,aAAa,EAAE,yCAAyC;IACxD,aAAa,EAAE,6CAA6C;IAC5D,gBAAgB,EACd,4DAA4D;IAC9D,gBAAgB,EAAE,qCAAqC;IACvD,cAAc,EAAE,wCAAwC;IACxD,cAAc,EAAE,4CAA4C;IAC5D,aAAa,EAAE,kDAAkD;IACjE,UAAU,EAAE,kCAAkC;IAC9C,UAAU,EAAE,iCAAiC;IAC7C,YAAY,EAAE,sCAAsC;IACpD,iBAAiB,EAAE,2CAA2C;IAC9D,eAAe,EAAE,uCAAuC;IACxD,kBAAkB,EAChB,qEAAqE;IACvE,aAAa,EAAE,sCAAsC;IACrD,kBAAkB,EAAE,yCAAyC;IAC7D,aAAa,EACX,oEAAoE;IACtE,WAAW,EAAE,YAAY;IACzB,UAAU,EAAE,mBAAmB;IAC/B,YAAY,EAAE,gBAAgB;IAC9B,uBAAuB,EAAE,iFAAiF;IAC1G,aAAa,EAAE,mCAAmC;IAClD,mBAAmB,EAAE,8BAA8B;IACnD,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,QAAQ;IACnB,aAAa,EAAE,oBAAoB;IACnC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,MAAM;IACpB,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,KAAK;IACjB,qBAAqB,EAAE,MAAM;IAC7B,UAAU,EAAE,8CAA8C;IAC1D,eAAe,EAAE,sDAAsD;IACvE,iBAAiB,EAAE,sCAAsC;IACzD,eAAe,EAAE,WAAW;IAC5B,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,mDAAmD;IAClE,cAAc,EAAE,kCAAkC;IAClD,gBAAgB,EAAE,8BAA8B;IAChD,aAAa,EACX,iEAAiE;IACnE,cAAc,EAAE,yCAAyC;IACzD,gBAAgB,EAAE,qCAAqC;IACvD,YAAY,EAAE,OAAO;IACrB,oBAAoB,EAAE,WAAW;IACjC,iBAAiB,EAAE,aAAa;IAChC,gBAAgB,EAAE,YAAY;IAC9B,iBAAiB,EAAE,0DAA0D;IAC7E,6BAA6B,EAAE,4EAA4E;IAC3G,kBAAkB,EAAE,cAAc;IAClC,iBAAiB,EAAE,kBAAkB;IACrC,mBAAmB,EAAE,KAAK;IAC1B,qBAAqB,EAAE,IAAI;IAC3B,iBAAiB,EAAE,sDAAsD;IACzE,qBAAqB,EAAE,iDAAiD;IACxE,wBAAwB,EAAE,gBAAgB;IAC1C,qBAAqB,EAAE,QAAQ;IAC/B,oBAAoB,EAAE,OAAO;IAC7B,uBAAuB,EAAE,mBAAmB;IAC5C,YAAY,EAAE,oBAAoB;IAClC,aAAa,EAAE,uEAAuE;IACtF,qBAAqB,EAAE,uBAAuB;IAC9C,IAAI,EAAE,MAAM;IACZ,uBAAuB,EAAE,IAAI;IAC7B,+BAA+B,EAAE,wBAAwB;IACzD,iCAAiC,EAAE,yCAAyC;IAC5E,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,+DAA+D;AAC/D,sEAAsE;AACtE,8FAA8F;AAC9F,qDAAqD;AACrD,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/GrB;AACe;AACiB;AACb;AACc;AACJ;AAE5D;IAAmD,iDAAqB;IACtE,uCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,qDAAa,GAAvB;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACrD,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YAC3D,wEAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,YAAY;YACrC,6DAAK,SAAS,EAAE,SAAS;gBACvB,+DAAO,SAAS,EAAE,UAAU,CAAC,aAAa;oBACxC,+DACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,KAAK,EACH,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI;4BACjC,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAEhC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,UAAU,CAAC,eAAe,EACrC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,KAAK,EAC5C,QAAQ,EAAE,IAAI,CAAC,cAAc,mBACd,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;oBACF,8DAAM,SAAS,EAAE,UAAU,CAAC,yBAAyB;wBAClD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;4BACtB,6DACE,SAAS,EAAE,UAAU,CAAC,qBAAqB;gCAE3C,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAQ,CACzC,CAAC,CAAC,CAAC,IAAI;wBAEf,8DAAM,SAAS,EAAC,OAAO,GAAG,CACrB;oBACN,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,CAChC,8DAAM,SAAS,EAAE,UAAU,CAAC,oBAAoB,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB;wBACrF,oDAAC,4EAAY,IAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAiB,CACtF,CACR,CACK;gBACP,WAAW,CACR,CACF,CACP,CAAC;IACJ,CAAC;IACH,oCAAC;AAAD,CAAC,CArDkD,8DAAqB,GAqDvE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAC5C,qBAAqB,EACrB,UAAC,KAAK;IACJ,OAAO,mDAAmB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC,CACF,CAAC;AAEF,2DAAe,CAAC,QAAQ,CAAC,gBAAgB,CACvC,SAAS,EACT,UAAU,EACV,qBAAqB,CACtB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzE6B;AACe;AACiB;AACb;AAElD;IAAgD,8CAAqB;IACnE,oCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SACb;QA8BD,oBAAc,GAAG,UAAC,KAAU;YAC1B,KAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC;QACxE,CAAC;;IAhCD,CAAC;IACO,oDAAe,GAAvB,UAAwB,KAAU,EAAE,OAAY;QAC9C,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,OAAO,CACL,6DAAK,IAAI,EAAC,cAAc,EAAC,SAAS,EAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC;YACrF,+DAAO,SAAS,EAAI,UAAU,CAAC,UAAU;gBACvC,+DACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,EAC3B,KAAK,EAAK,KAAK,sBACM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAClD,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EACrD,QAAQ,EAAK,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC1C,SAAS,EAAK,UAAU,CAAC,gBAAgB,EACzC,QAAQ,EAAG,IAAI,CAAC,cAAc,GAC9B;gBACA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAC;oBAChD,CAAC,8DAAM,SAAS,EAAG,UAAU,CAAC,sBAAsB,IAChD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBAC3B,CAAC,6DAAK,SAAS,EAAE,UAAU,CAAC,kBAAkB;4BAC5C,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAQ,CAC7C,CAAC,EAAC,KAAI,CACT,CAAC,EAAC,KAAI;gBACf,8DAAM,SAAS,EAAI,UAAU,CAAC,iBAAiB,IAC3C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAC1B,CACD,CACJ,CACP,CAAC;IACJ,CAAC;IAIS,kDAAa,GAAvB;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,SAAS;YAClC,kEAAU,IAAI,EAAC,cAAc,EAAC,SAAS,EAAI,UAAU,CAAC,aAAa;gBAChE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACxD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC9C,CACP,CACP,CAAC;IACJ,CAAC;IACH,iCAAC;AAAD,CAAC,CA/C+C,8DAAqB,GA+CpE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAC5C,kBAAkB,EAClB,UAAC,KAAK;IACJ,OAAO,mDAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CACF,CAAC;AAEF,2DAAe,CAAC,QAAQ,CAAC,gBAAgB,CACvC,SAAS,EACT,OAAO,EACP,kBAAkB,CACnB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjE6B;AAEqC;AACL;AAE/D;IAA2C,yCAAyB;IAElE,+BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAOb;QANC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACrD,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnD,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC7D,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/D,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACvD,KAAI,CAAC,QAAQ,GAAG,+CAAe,EAAE,CAAC;;IACpC,CAAC;IACS,+CAAe,GAAzB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,sBAAc,2CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAoC,CAAC;QACnD,CAAC;;;OAAA;IACD;;;;MAIE;IACM,uCAAO,GAAf,UAAgB,KAAc;QAC5B,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;IACrC,CAAC;IACD,8CAAc,GAAd,UAAe,KAAU;QACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,6CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,mDAAmB,GAAnB,UAAoB,KAAU;QAC5B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IACD,kDAAkB,GAAlB,UAAmB,KAAU,EAAE,KAAc;QAC3C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,+CAAe,GAAf,UAAgB,KAAU;QACxB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAES,gDAAgB,GAA1B;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,EAAE;YACN,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;SAClD;QACD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACpB,iBAAM,gBAAgB,WAAE,CAAC;IAC3B,CAAC;IACS,6CAAa,GAAvB;QAAA,iBA+CC;QA9CC,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAM,SAAS,GAAW,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrD,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,eAAe;YAC9D,+DAAO,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa;gBACtD,+DACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,KAAK,EACH,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI;wBACjC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAEhC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,UAAU,CAAC,OAAO,EAC7B,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,KAAK,EAC5C,QAAQ,EAAE,IAAI,CAAC,cAAc,mBACd,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;gBACF,6DAAK,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,UAAC,KAAK,IAAK,YAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,EAArC,CAAqC;oBAC/F,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAC7C,CACH;gBACN,6DAAK,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB;oBAClE,8DAAM,SAAS,EAAE,UAAU,CAAC,MAAM,IAE9B,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;wBACrD,8DAAM,SAAS,EAAE,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAS;wBACxG,CAAC,CAAC,IAAI,CAEL,CACH;gBACN,6DAAK,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,UAAC,KAAK,IAAK,YAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,EAApC,CAAoC;oBAC9F,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC5C,CACH,CACA,CACJ,CACP,CAAC;IACJ,CAAC;IACH,4BAAC;AAAD,CAAC,CAlG0C,gFAAyB,GAkGnE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,KAAK;IAC9D,OAAO,mDAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3GuB;AAC2D;AACzB;AACrB;AACiB;AAExD;IAAiD,+CAAmB;IAElE,qCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,SAAS,GAAG,IAAI,mEAAuB,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC;;IAC1D,CAAC;IACD,uDAAiB,GAAjB;QACE,IAAM,MAAM,GAAG,iBAAM,iBAAiB,WAAE,CAAC;QACzC,OAAO,CACL;YACG,MAAM;YACP,2DAAC,kDAAK,IAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,yEAA6B,GAAU,CACrF,CACJ,CAAC;IACJ,CAAC;IACD,0DAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACH,kCAAC;AAAD,CAAC,CAnBgD,oEAAmB,GAmBnE;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,6BAA6B,EAAE,UAAC,KAAK;IAChF,OAAO,4CAAK,CAAC,aAAa,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BuB;AAEkC;AACI;AACZ;AACL;AACmB;AAMlE;IAAkC,gCAA2C;IAA7E;;IA8BA,CAAC;IA7BC,sBAAI,8BAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACS,sCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,oCAAa,GAAb;QACE,UAAU;QACV,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/C,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAC1C,2DAAC,8EAAwB,OAA4B,CACtD,CAAC,CAAC,CAAC,IAAI,CAAC;QAET,IAAM,aAAa,GAAG,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAC9D,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,oBAAoB,EAC3C;YACE,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CACF,CAAC;QACF,OAAO,CACL,oEAAK,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YACzC,oEAAK,SAAS,EAAC,oBAAoB;gBAChC,SAAS;gBACT,aAAa,CACV,CACF,CACP,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,CA9BiC,wEAAiB,GA8BlD;;AAED;IAAyC,uCAGxC;IAHD;;IA6DA,CAAC;IAzDC,sBAAI,qCAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACS,6CAAe,GAAzB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,2CAAa,GAAb;QACE,OAAO,wHAAG,IAAI,CAAC,iBAAiB,EAAE,CAAI,CAAC;IACzC,CAAC;IAED,wCAAU,GAAV;QACE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QACrC,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACxD,OAAO,qEAAM,SAAS,EAAE,UAAU,IAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAQ,CAAC;IAC/D,CAAC;IAED,iDAAmB,GAAnB;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACrC,2DAAC,0DAAO,IACN,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EACxC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EACxB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC5B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAClC,CACZ,CAAC,CAAC,CAAC,IAAI,CAAC;QACT,OAAO,CACL;YACG,OAAO;YACP,IAAI,CACJ,CACJ,CAAC;IACJ,CAAC;IAED,+CAAiB,GAAjB;QAAA,iBAqBC;QApBC,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAClD,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACnD,IAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjD,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,IAAM,MAAM,GAAG,oEAAe,CAC5B,uEACE,SAAS,EAAE,SAAS,EACpB,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC5B,OAAO,EAAE,UAAC,IAAI,IAAK,YAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAzD,CAAyD,EAC5E,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,kBACJ,IAAI,CAAC,IAAI,CAAC,WAAW,mBACpB,IAAI,CAAC,IAAI,CAAC,YAAY,EACrC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAEvB,aAAa,CACP,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1C,OAAO,MAAM,CAAC;IAChB,CAAC;IACH,0BAAC;AAAD,CAAC,CA7DwC,wEAAiB,GA6DzD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,EAAE,UAAC,KAAK;IACvE,OAAO,4CAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7GuB;AACkC;AAE5D;IAA8C,4CAAyB;IACrE,kCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,yCAAM,GAAN;QACE,IAAI,SAAS,GAAG,6BAA2B,IAAI,CAAC,KAAK,CAAC,UAAY,CAAC;QACnE,OAAO,oEAAK,SAAS,EAAE,SAAS,GAAQ,CAAC;IAC3C,CAAC;IACH,+BAAC;AAAD,CAAC,CAR6C,4CAAK,CAAC,SAAS,GAQ5D;;AACD,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,yBAAyB,EACzB,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBwB;AAMkC;AACI;AACf;AAEN;AACJ;AAOvC;IAAqC,mCAAuC;IAG1E,yBAAY,KAAsB;QAAlC,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,OAAO,GAAG,4CAAK,CAAC,SAAS,EAAE,CAAC;;IACnC,CAAC;IAED,sBAAY,wCAAW;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,CAAC;;;OAAA;IAED,sBAAI,kCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IAED,2CAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO;QACnC,IAAM,SAAS,GAA0B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9D,IAAG,CAAC,CAAC,SAAS,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;SAC/C;IACH,CAAC;IACD,8CAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;SACvC;IACH,CAAC;IAES,yCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,uCAAa,GAAb;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QACxC,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,OAAO,CACL,oEACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAClC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,UAAS,KAAK;gBACxC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC,CAAC,SAAS,IAEZ,KAAK,CACF,CACP,CAAC;IACJ,CAAC;IAED,qCAAW,GAAX;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CACnC,UAAC,IAAY,EAAE,SAAiB;YAC9B,OAAO,CACL,2DAAC,6DAAY,IAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAiB,CACnE,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IACH,sBAAC;AAAD,CAAC,CA5DoC,wEAAiB,GA4DrD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,EAAE,UAAC,KAAK;IAClE,OAAO,4CAAK,CAAC,aAAa,CACxB,eAAe,EACd,KAAgC,CAClC,CAAC;AACJ,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrFuB;AAE1B;IAA+B,6BAAyB;IAAxD;;IAUA,CAAC;IATC,0BAAM,GAAN;QACE,OAAO,CACL,oEAAK,SAAS,EAAC,eAAe;YAC5B,kEAAG,SAAS,EAAC,qBAAqB,EAAC,IAAI,EAAC,wGAAwG;gBAAC,oEAAK,GAAG,EAAC,kDAAkD,GAAE,CAAI;YAClN,oEAAK,SAAS,EAAC,qBAAqB;;gBAA+B,kEAAG,IAAI,EAAC,sHAAsH,sBAAoB,CAAM;YAC3N,oEAAK,SAAS,EAAC,sBAAsB;gBAAC,kEAAG,IAAI,EAAC,gCAAgC,uCAAqC,CAAM,CACrH,CACP,CAAC;IACJ,CAAC;IACH,gBAAC;AAAD,CAAC,CAV8B,4CAAK,CAAC,SAAS,GAU7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZyB;AAE+B;AACI;AAO7D;IAA+C,6CAAuD;IAAtG;;IAQA,CAAC;IAPW,mDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,iDAAa,GAAb;QACE,OAAO,CAAC,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,yBAAyB,IAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAO,CAAC,CAAC;IACtH,CAAC;IACH,gCAAC;AAAD,CAAC,CAR8C,wEAAiB,GAQ/D;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,EAAE,UAAC,KAAK;IACzE,OAAO,4CAAK,CAAC,aAAa,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBuB;AAE+B;AAEzD;IAAyC,uCAAyB;IAAlE;;IAoBA,CAAC;IAnBC,oCAAM,GAAN;QAAA,iBAkBC;QAjBC,IAAM,UAAU,GAAgC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5G,IAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,IAAG,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YACzB,OAAO,IAAI,CAAC;SACb;QACD,IAAG,CAAC,iBAAiB,EAAE;YACrB,OAAO,wHACJ,UAAU,CAAC,GAAG,CAAC,mBAAS;gBACvB,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,SAAmB,EAAE,EAAE,MAAM,EAAE,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7L,CAAC,CAAC,CACD,CAAC;SACL;QACD,OAAO,oEAAK,SAAS,EAAC,sBAAsB,IACzC,UAAU,CAAC,GAAG,CAAC,mBAAS;YACvB,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,SAAmB,EAAE,EAAE,MAAM,EAAE,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7L,CAAC,CAAC,CACE,CAAC;IACT,CAAC;IACH,0BAAC;AAAD,CAAC,CApBwC,4CAAK,CAAC,SAAS,GAoBvD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,EAAE,UAAC,KAAU;IACjF,OAAO,4CAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BuB;AAEmC;AACJ;AACJ;AAOrD;IAAwC,sCAAyB;IAAjE;;IAoCA,CAAC;IAnCC,sBAAI,qCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACO,4CAAe,GAAvB;QACE,IAAM,aAAa,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAC5E,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,YAAY,CACb,CAAC;QACF,IAAM,aAAa,GAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CACzE,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,YAAY,CACb,CAAC;QACF,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;IACL,CAAC;IAED,mCAAM,GAAN;QACE,OAAO,CAAC,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAC7D,oEAAK,SAAS,EAAC,wBAAwB,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;gBACnE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,oEAAK,SAAS,EAAC,gBAAgB,IACpD,IAAI,CAAC,eAAe,EAAE,CACnB,CAAC,CAAC,CAAC,CAAC,IAAI;gBACb,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oEAAK,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;oBAEjG,2DAAC,iEAAY,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CACvC,CAAC,CAAC,CAAC,CAAC,IAAI;gBACb,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,oEAAK,SAAS,EAAC,uBAAuB,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;oBAC7G,mEAAI,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,IAC7C,wEAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CACjE,CACD,CAAC,CAAC,CAAC,CAAC,IAAI,CACV,CACF,CAAC,CAAC;IACV,CAAC;IACH,yBAAC;AAAD,CAAC,CApCuC,4CAAK,CAAC,SAAS,GAoCtD;;AAED;IAAoC,kCAAkD;IAAtF;;IAwBA,CAAC;IAvBC,sBAAI,iCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACS,wCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,sCAAa,GAAb;QACE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAEtC,IAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;YACpF,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CACL,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YAClF,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,oEAAK,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB,GAAQ,CAAC,CAAC,CAAC,IAAI;YACtI,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,IACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,kEAAC,kBAAkB,IAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,GAAG,EAA9C,CAA8C,CAAC,CAClF,CACF,CACP,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,CAxBmC,wEAAiB,GAwBpD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,UAAC,KAAK;IAC7D,OAAO,4CAAK,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7EuB;AAC0B;AACa;AAElB;AACa;AAE5D;IAA4C,0CAAkB;IAC5D,gCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,4CAAQ;aAAtB;YACE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;QACxF,CAAC;;;OAAA;IACD,uCAAM,GAAN;QACE,OAAO,oEAAe,CACpB,sEACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAC3C,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,gBAClB,IAAI,CAAC,QAAQ,CAAC,gBAAgB;YAEzC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,2DAAC,0DAAO,IAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAY,EAAC,CAAC,IAAI;YACpL,yEAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAQ,CACvC,CACT,CAAC;IACJ,CAAC;IACH,6BAAC;AAAD,CAAC,CArB2C,yEAAkB,GAqB7D;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,oBAAoB,EACpB,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCwB;AACsC;AAEjB;AACa;AAE5D;IAAuC,qCAAsD;IAA7F;;IAkEA,CAAC;IAhEC,sBAAc,uCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IAES,0CAAc,GAAxB,UAAyB,SAAiB,EAAE,GAAQ;QAApD,iBAiBC;QAhBC,IAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,CACL,oEAAK,SAAS,EAAE,SAAS;YACvB,kEACE,IAAI,EAAE,GAAG,CAAC,OAAO,EACjB,OAAO,EAAE,eAAK;oBACZ,KAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC3C,CAAC,EACD,KAAK,EAAE,GAAG,CAAC,IAAI,EACf,QAAQ,EAAE,GAAG,CAAC,IAAI,EAClB,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAEzC,GAAG,CAAC,IAAI,CACP,CACA,CACP,CAAC;IACJ,CAAC;IAES,yCAAa,GAAvB;QAAA,iBAqCC;QApCC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,KAAK;YACvD,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,OAAO,CACL,qEACE,GAAG,EAAE,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,GAAG,KAAK,EACxC,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAC3C,KAAK,EAAE,EAAE,OAAO,EAAE,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE;gBAE7E,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;gBAC5D,oEAAK,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY;oBAClD,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACpC,oEACE,GAAG,EAAE,GAAG,CAAC,OAAO,EAChB,KAAK,EAAE,EAAE,MAAM,EAAE,KAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAC7E,GAAG,EAAC,cAAc,GAClB,CACH,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAC,EACzC,2DAAC,0DAAO,IAAC,QAAQ,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAY,CAC3I,EAAC,KAAI,CAAC;oBACN,GAAG,CAAC,IAAI,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CACvC,oEAAK,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,cAAM,YAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,EAA/B,CAA+B;wBAChG,qEACE,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,IAE7C,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAC3B;wBACN,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;4BAC/C,CAAC,2DAAC,0DAAO,IAAC,KAAK,EAAE,KAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,GAAY,CAAC,EAAC,CAAC,IAAI,CAC1L,CACP,CAAC,CAAC,CAAC,IAAI,CACJ;gBACL,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,CAC7D,CACR,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,oEAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,IAAI,SAAS,IAAG,QAAQ,CAAO,CAAC;IAC1F,CAAC;IACS,qCAAS,GAAnB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC5C,CAAC;IACH,wBAAC;AAAD,CAAC,CAlEsC,wEAAiB,GAkEvD;;AACD,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,iBAAiB,EACjB,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9EwB;AAEkC;AACI;AACZ;AACL;AAO/C;IAA8B,4BAAsC;IAApE;QAAA,qEA4EC;QArEC,mBAAa,GAAG,UAAC,KAAU;YACzB,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC;;IAmEJ,CAAC;IA3EC,sBAAI,2BAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAI,0BAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IAID,kCAAe,GAAf;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,yBAAM,GAAN;QAAA,iBAyDC;QAxDC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAM,gBAAgB,GAAG;YACvB,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;SACxD,CAAC;QACF,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACxB,IAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC9E,IAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACrB,IAAM,IAAI,GAAG,2DAAC,0DAAO,IACnB,GAAG,EAAE,CAAC,EACN,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EACzC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,gBACZ,IAAI,CAAC,IAAI,CAAC,KAAK,GAClB,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,qEAAM,GAAG,EAAE,CAAC,IAAG,IAAI,CAAQ,CAAC,CAAC;aAC3C;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpB;SACF;aAAM;YACL,IAAM,UAAU,GAAG,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3H,IAAG,CAAC,CAAC,UAAU,EAAE;gBACf,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC1B;SACF;QAED,IAAM,WAAW,GACb,oEACE,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,IAExC,OAAO,CACJ,CAAC;QACX,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,oEAAK,SAAS,EAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,GAAG,EAAC,KAAI,CAAC;QAC1G,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAM,KAAK,GAAG;YACZ,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;SACnC,CAAC;QACF,OAAO,oEAAe,CACpB,mEACE,SAAS,EAAE,SAAS,EACpB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,KAAY,EACnB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,mBACR,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EACnD,OAAO,EAAE,UAAC,KAAU;gBAClB,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,CAAC,EACD,aAAa,EAAE,UAAC,KAAU,IAAK,YAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAI,CAAC,IAAI,CAAC,EAA1C,CAA0C;YACxE,SAAS;YACT,WAAW,CACT,CACN,CAAC;IACJ,CAAC;IACD,oCAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAE1B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACH,eAAC;AAAD,CAAC,CA5E6B,wEAAiB,GA4E9C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,UAAC,KAAK;IACjE,OAAO,4CAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5FuB;AACiC;AACC;AACI;AACjB;AACR;AAMvC;IAA0B,wBAAkC;IAG1D,cAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAKb;QAID,mBAAa,GAAG,UAAC,KAAU;YACzB,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC;QACF,qBAAe,GAAG,UAAC,KAAU;YAC3B,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC;QAbA,KAAI,CAAC,KAAK,GAAG;YACX,YAAY,EAAE,KAAI,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE;SAC5C,CAAC;QACF,KAAI,CAAC,gBAAgB,GAAG,4CAAK,CAAC,SAAS,EAAE,CAAC;;IAC5C,CAAC;IACD,sBAAI,uBAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IAOD,8BAAe,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,gCAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC7D,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;SACxE;IACH,CAAC;IACD,mCAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,SAAgB,CAAC,CAAC;SAC3D;IACH,CAAC;IACD,4BAAa,GAAb;QACE,OAAO,CACL,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB;YACnE,IAAI,CAAC,oBAAoB,EAAE;YAC3B,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,UAAU,EAAE,CACd,CACP,CAAC;IACJ,CAAC;IACD,yBAAU,GAAV;QACE,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAE3C,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAM,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEhE,OAAO,CACL,mEACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EACpC,KAAK,EAAE,OAAc,EACrB,IAAI,EAAC,SAAS,EACd,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EACxB,WAAW,EAAE,UAAC,CAAC;gBACb,CAAC,CAAC,cAAc,EAAE,CAAC;YACrB,CAAC,EACD,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,WAAW,EAAE,IAAI,CAAC,eAAe,IAEhC,KAAK,CACH,CAAC,CAAC;IACX,CAAC;IACD,0BAAW,GAAX;QAAA,iBAaC;QAZC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QACD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,UAAC,IAAa,EAAE,SAAiB;YAChD,OAAO,CACL,2DAAC,mDAAQ,IAAC,KAAK,EAAE,KAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAa,CAC9E,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAoB,GAApB;QAAA,iBA2CC;QA1CC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;aACnC;YACH,IAAM,QAAQ,GAAG,UAAC,CAAM;gBACd,QAAI,GAAK,oDAAQ,CAAC,WAAW,KAAzB,CAA0B;gBACtC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE;oBACnC,KAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC1C;YACH,CAAC,CAAC;YACF,IAAM,OAAO,GAAG,UAAC,CAAM;gBACrB,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC;YACF,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACjF,uEAAQ,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,qBAAqB,EAAE,OAAO,EAAE,UAAC,KAAK,IAAO,KAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjI,2DAAC,0DAAO,IACN,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,MAAM,GAEJ,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;YAEnB,OAAO,CACL,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM;gBAC1C,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU;oBAC9C,2DAAC,0DAAO,IACN,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,GAEJ,CACN;gBACN,sEACE,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,gBAChC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAC9C,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAC/C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,GACX;gBACR,WAAW,CACR,CACP,CAAC;SACH;IACH,CAAC;IACD,2BAAY,GAAZ;QACE,IAAM,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAE9D,OAAO,CAAC,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,EAAE,KAAY;YAC/E,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,gBAAc,IAAI,CAAC,KAAK,CAAC,YAAY,IAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAO,CACjH,CAAC,CAAC;IACV,CAAC;IACH,WAAC;AAAD,CAAC,CAlIyB,wEAAiB,GAkI1C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,UAAC,KAAK;IAC5D,OAAO,4CAAK,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjJ4B;AACe;AAE9C;IAA+C,6CAAyB;IAAxE;;IAIA,CAAC;IAHC,0CAAM,GAAN;QACE,OAAO,CAAC,6DAAK,SAAS,EAAC,sBAAsB;YAAC,oDAAC,0DAAO,IAAC,QAAQ,EAAC,cAAc,EAAC,IAAI,EAAC,MAAM,GAAW,CAAM,CAAC,CAAC;IAC/G,CAAC;IACH,gCAAC;AAAD,CAAC,CAJ8C,+CAAe,GAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPyB;AAEqC;AACK;AAClB;AAElD;IAAsD,oDAAkB;IACtE,0CAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,qBAAqB,GAAG,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACrE,CAAC;IACS,0DAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IACD,sBAAI,kDAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,sBAAY,sDAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvC,CAAC;;;OAAA;IACD,sBAAY,iDAAG;aAAf;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAClC,CAAC;;;OAAA;IACD,gEAAqB,GAArB,UAAsB,KAAU;QAC9B,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;IACtC,CAAC;IACS,wDAAa,GAAvB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC/C,IAAI,YAAY,GAAG,UAAU,CAAC;QAC9B,IAAI,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,OAAO,CACL,uEACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,qBAAqB,EACnC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,mBAC3C,YAAY,mBACZ,YAAY;YAE3B,2DAAC,0DAAO,IACN,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EACxD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EACtD,IAAI,EAAE,MAAM,GAEJ,CACH,CACV,CAAC;IACJ,CAAC;IACH,uCAAC;AAAD,CAAC,CAzCqD,yEAAkB,GAyCvE;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,yBAAyB,EACzB,eAAK;IACH,OAAO,4CAAK,CAAC,aAAa,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDwB;AAEqC;AACK;AAEpE;IAA6D,2DAAkB;IAA/E;;IAcA,CAAC;IAbC,sBAAY,6DAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvC,CAAC;;;OAAA;IAES,+DAAa,GAAvB;QACE,IAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;YAChC,OAAO,CAAC,oEAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB;gBACnE,oEAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAQ,CACjD,CAAC,CAAC;SACT;aAAM;YACL,OAAO,CAAC,qEAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAI,CAAC,CAAC;SACjE;IACH,CAAC;IACH,8CAAC;AAAD,CAAC,CAd4D,yEAAkB,GAc9E;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,0BAA0B,EAC1B,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;AAC7E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BwB;AAKqC;AACK;AAEpE;IAA6D,2DAAkB;IAC7E,iDAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,sBAAsB,GAAG,KAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACvE,CAAC;IACD,sBAAY,6DAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvC,CAAC;;;OAAA;IACD,sBAAY,wDAAG;aAAf;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAClC,CAAC;;;OAAA;IACD,wEAAsB,GAAtB,UAAuB,KAAU;QAC/B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IACS,+DAAa,GAAvB;QACE,IAAI,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACzE,OAAO,CACL,uEACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,EAChD,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,sBAAsB,EACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe;YAEtC,aAAa;YACd,qEAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,GAAI,CACjD,CACV,CAAC;IACJ,CAAC;IACH,8CAAC;AAAD,CAAC,CA5B4D,yEAAkB,GA4B9E;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,yBAAyB,EACzB,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;AAC7E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3CwB;AAGkC;AACI;AAOhE;IAA+B,6BAAuC;IACpE,mBAAY,KAAsB;QAAlC,YACE,kBAAM,KAAK,CAAC,SACb;QAUS,0BAAoB,GAAG,UAAC,KAAU;YAC1C,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,CAAC;;IAZD,CAAC;IACD,sBAAI,4BAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAI,mCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QACjC,CAAC;;;OAAA;IACS,mCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAKD,0BAAM,GAAN;QAAA,iBAYC;QAXC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAG,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,CACL,mEACE,SAAS,EAAE,KAAK,CAAC,SAAS,oCACM,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,EACzD,aAAa,EAAE,UAAC,KAAU,IAAK,YAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAhC,CAAgC,IAE9D,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,CACN,CAAC;IACJ,CAAC;IACH,gBAAC;AAAD,CAAC,CA9B8B,wEAAiB,GA8B/C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,eAAe,EACf,UAAC,KAAsB;IACrB,OAAO,4CAAK,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChDwB;AAEmC;AACJ;AACC;AAM1D;IAAuC,qCAA+C;IAAtF;;IAoBA,CAAC;IAnBC,sBAAI,uCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACS,2CAAe,GAAzB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,yCAAa,GAAb;QACE,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAE3C,IAAM,KAAK,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAyB,CAAC;QAEjG,OAAO,CACL,oEAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,OAAO,eAAW,QAAQ;YAC9E,yEAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAQ;YACpC,2DAAC,sEAAe,IAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAoB,CAC/D,CACP,CAAC;IACJ,CAAC;IACH,wBAAC;AAAD,CAAC,CApBsC,wEAAiB,GAoBvD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,UAAC,KAAK;IAChE,OAAO,4CAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCuB;AAIkC;AACK;AAEjE;IAAsD,oDAAkB;IACtE,0CAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,kDAAI;aAAlB;YACE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACtE,CAAC;;;OAAA;IACD,sBAAc,sDAAQ;aAAtB;YACE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;QACxF,CAAC;;;OAAA;IACH,uCAAC;AAAD,CAAC,CAVqD,yEAAkB,GAUvE;;AAED;IAAyD,uDAAgC;IAAzF;QAAA,qEAYC;QAXW,iBAAW,GAAG,UAAC,KAAU;YACjC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC7B,CAAC;;IASH,CAAC;IARW,2DAAa,GAAvB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO,CACL,uEAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW;YACzF,qEAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,IAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAQ,CACrF,CACV,CAAC;IACJ,CAAC;IACH,0CAAC;AAAD,CAAC,CAZwD,gCAAgC,GAYxF;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,yBAAyB,EACzB,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;AACzE,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCwB;AACkC;AACb;AAC2B;AAE1E;IAA0D,wDAAgC;IAA1F;QAAA,qEAeC;QAdW,iBAAW,GAAG,UAAC,KAAU;YACjC,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAChC,CAAC;;IAYH,CAAC;IAXW,4DAAa,GAAvB;QACE,OAAO,CACL,oEAAK,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC7G,2DAAC,0DAAO,IACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAClD,IAAI,EAAE,MAAM,GAEJ,CACN,CACP,CAAC;IACJ,CAAC;IACH,2CAAC;AAAD,CAAC,CAfyD,sFAAgC,GAezF;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,0BAA0B,EAC1B,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BwB;AACkC;AACb;AAC2B;AAE1E;IAA0D,wDAAgC;IAA1F;QAAA,qEAeC;QAdW,iBAAW,GAAG,UAAC,KAAU;YACjC,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAChC,CAAC;;IAYH,CAAC;IAXW,4DAAa,GAAvB;QACE,OAAO,CACL,oEAAK,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC7G,2DAAC,0DAAO,IACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAClD,IAAI,EAAE,MAAM,GAEJ,CACN,CACP,CAAC;IACJ,CAAC;IACH,2CAAC;AAAD,CAAC,CAfyD,sFAAgC,GAezF;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,0BAA0B,EAC1B,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BwB;AACkC;AACc;AAE1E;IAA4D,0DAAgC;IAA5F;;IAMA,CAAC;IALW,8DAAa,GAAvB;QACE,OAAO,CAAC,oEAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,IAC1D,IAAI,CAAC,QAAQ,CAAC,YAAY,CACvB,CAAC,CAAC;IACV,CAAC;IACH,6CAAC;AAAD,CAAC,CAN2D,sFAAgC,GAM3F;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,+BAA+B,EAC/B,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;AAC5E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBwB;AACkC;AAGc;AAE1E;IAA4D,0DAAgC;IAA5F;QAAA,qEAmBC;QAlBW,iBAAW,GAAG,UAAC,KAAU;YACjC,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;;IAgBH,CAAC;IAfW,8DAAa,GAAvB;QACE,OAAO,CACL,uEACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,EAClD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAC,QAAQ;YACb,qEACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,IACpD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAQ;YACvC,qEACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,GACxC,CACD,CACV,CAAC;IACJ,CAAC;IACH,6CAAC;AAAD,CAAC,CAnB2D,sFAAgC,GAmB3F;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,4BAA4B,EAC5B,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;AAC5E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChC+B;AACP;AACkL;AAChJ;AACI;AACL;AAO3D;IAA2B,yBAAmC;IAG5D,eAAY,KAAkB;QAA9B,YACE,kBAAM,KAAK,CAAC,SAGb;QAFC,KAAI,CAAC,YAAY,GAAG,4CAAK,CAAC,SAAS,EAAE,CAAC;QACtC,KAAI,CAAC,WAAW,EAAE,CAAC;;IACrB,CAAC;IACD,sBAAI,wBAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACS,+BAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACO,2BAAW,GAAnB;QACE,IAAI,CAAC,KAAK,GAAG,wEAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAgB,CAAC,CAAC;IACxE,CAAC;IACO,gCAAgB,GAAxB;QACE,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAsB,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChH,CAAC;IACD,iCAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,kCAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,oCAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IACD,qCAAqB,GAArB,UAAsB,SAAsB,EAAE,SAAc;;QAC1D,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QACrE,IAAM,YAAY,GAAG,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1D,IAAG,YAAY,EAAE;YACf,UAAI,CAAC,KAAK,0CAAE,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,sBAAM,GAAN;QACE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9B,IAAI,cAAc,CAAC;QACnB,IAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACrB,cAAc,GAAG,2DAAC,cAAc,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAmB,CAAC;SACvE;aAAM;YACL,cAAc,GAAG,2DAAC,sBAAsB,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAA2B,CAAC;SACvF;QACD,OAAO,oEAAK,GAAG,EAAE,IAAI,CAAC,YAAY,IAAG,cAAc,CAAO,CAAC;IAC7D,CAAC;IACH,YAAC;AAAD,CAAC,CApD0B,wEAAiB,GAoD3C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,UAAU,EACV,UAAC,KAAkB;IACjB,OAAO,4CAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC,CACF,CAAC;AAEF;IAAoC,kCAA2B;IAE7D,wBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SACb;QAHM,mBAAa,GAAY,KAAK,CAAC;QAItC,mBAAa,GAAG,UAAC,KAAU;YACzB,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC;QAOF,iBAAW,GAAG,UAAC,EAAO;YACpB,EAAE,CAAC,eAAe,EAAE,CAAC;QACvB,CAAC,CAAC;;IAZF,CAAC;IAID,sBAAI,iCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACS,wCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAID,2CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAC/C,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC5C,CAAC;IACD,wCAAe,GAAf,UAAgB,kBAAsC;QAAtD,iBA+BC;QA9BC,IAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtG,IAAM,aAAa,GAAG,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,IAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,IAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3F,OAAO,CACL,oEACE,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAE;gBACL,IAAI,EAAE,kBAAkB,CAAC,IAAI;gBAC7B,GAAG,EAAE,kBAAkB,CAAC,GAAG;gBAC3B,MAAM,EAAE,kBAAkB,CAAC,MAAM;gBACjC,KAAK,EAAE,kBAAkB,CAAC,KAAK;gBAC/B,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;aACtC,EACD,OAAO,EAAE,UAAC,EAAO;gBACf,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;YAED,oEAAK,SAAS,EAAC,kBAAkB;gBAC9B,WAAW;gBACZ,oEAAK,SAAS,EAAC,wBAAwB;oBACpC,aAAa;oBACd,oEAAK,SAAS,EAAC,6BAA6B,IACzC,OAAO,CACJ;oBACL,aAAa,CACV,CACF,CACF,CACP,CAAC;IACJ,CAAC;IACD,4CAAmB,GAAnB;QACE,OAAO,oEAAK,SAAS,EAAC,uBAAuB,IAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAO,CAAC;IACzE,CAAC;IACD,sCAAa,GAAb;QACE,IAAM,gBAAgB,GAAG,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CACjE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAC/B,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAChC,CAAC;QACF,OAAO,oEAAK,SAAS,EAAC,mBAAmB,IAAE,gBAAgB,CAAO,CAAC;IACrE,CAAC;IAES,0CAAiB,GAA3B,UAA4B,UAA8B;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IACS,qCAAY,GAAtB,UAAuB,SAA6B;QAClD,OAAO,CACL,oEAAK,SAAS,EAAC,uBAAuB;YACpC,2DAAC,sEAAe,IAAC,KAAK,EAAE,SAAS,CAAC,aAAa,GAAoB,CAC/D,CACP,CAAC;IACJ,CAAC;IACD,+BAAM,GAAN;QAAA,iBAoBC;QAnBC,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnD,IAAM,SAAS,GAAG,IAAI,2DAAe,EAAE;aACpC,MAAM,CAAC,UAAU,CAAC;aAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;aAC7B,QAAQ,EAAE,CAAC;QACd,IAAM,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;QAC/D,OAAO,CACL,oEACE,QAAQ,EAAE,CAAC,CAAC,EACZ,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,UAAC,CAAM;gBACd,KAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC,EACD,SAAS,EAAE,IAAI,CAAC,aAAa,IAE5B,SAAS,CACN,CACP,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,CAlGmC,wEAAiB,GAkGpD;;AACD;IAA4C,0CAAc;IAA1D;;IAgBA,CAAC;IAdW,kDAAiB,GAA3B,UAA4B,UAA8B;QACxD,IAAM,kBAAkB,GAAG,UAAoC,CAAC;QAChE,IAAG,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAEpC,OAAO,CACL,qEACE,KAAK,EAAE;gBACL,IAAI,EAAE,kBAAkB,CAAC,aAAa,CAAC,IAAI;gBAC3C,GAAG,EAAE,kBAAkB,CAAC,aAAa,CAAC,GAAG;aAC1C,EACD,SAAS,EAAC,mBAAmB,GACvB,CACT,CAAC;IACJ,CAAC;IACH,6BAAC;AAAD,CAAC,CAhB2C,cAAc,GAgBzD;;AAED,oCAAoC;AAC7B,SAAS,SAAS,CACvB,aAAqB,EACrB,IAAS,EACT,OAAsB,EACtB,QAAqB,EACrB,QAAiB,EACjB,KAAc,EACd,WAA0C;IAA1C,mDAA0C;IAE1C,IAAM,OAAO,GAAG,uEAAmB,CACjC,aAAa,EACb,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,KAAK,EACL,WAAW,CACZ,CAAC;IACF,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AACM,SAAS,UAAU,CAAC,aAA6B,EAAE,WAAyB;IACjF,aAAa,CAAC,MAAM,GAAG;QACrB,gDAAQ,CAAC,sBAAsB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1D,cAAc,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC,CAAC;IACF,IAAM,cAAc,GAAuB,6EAAyB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACjG,gDAAQ,CAAC,MAAM,CAAC,2DAAC,cAAc,IAAC,KAAK,EAAE,cAAc,GAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACrF,cAAc,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IAEtC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,oDAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/B,oDAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClOP;AAEkC;AAGb;AACkB;AAEjE;IAAsC,oCAAc;IAApD;;IAgCA,CAAC;IA/BC,iCAAM,GAAN;QAAA,iBA8BC;QA7BC,OAAO,CACL,sEAAO,WAAW,EAAE,IAAI,CAAC,iBAAiB,EACxC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAC3E,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAC1D,WAAW,EAAE,WAAC,IAAI,YAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAI,CAAC,IAAI,CAAC,EAAtC,CAAsC,EACxD,UAAU,EAAE,WAAC,IAAI,YAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,CAAC,EAAvC,CAAuC;YAExD,sEACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,mBAAmB,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EACxC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EACtB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAC/C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EACjC,QAAQ,EAAE,cAAQ,CAAC,mBACJ,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;YACF,2DAAC,0DAAO,IACN,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAClE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GACZ,CACL,CACT,CAAC;IACJ,CAAC;IACH,uBAAC;AAAD,CAAC,CAhCqC,2DAAc,GAgCnD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,uBAAuB,EAAE,UAAC,KAAK;IAC1E,OAAO,4CAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5CuB;AAEkC;AAGb;AACkB;AAEjE;IAAoC,kCAAc;IAAlD;;IAsCA,CAAC;IArCC,+BAAM,GAAN;QAAA,iBAoCC;QAnCC,OAAO,CACL,sEAAO,WAAW,EAAE,IAAI,CAAC,iBAAiB,EACxC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAC1D,WAAW,EAAE,WAAC,IAAI,YAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAI,CAAC,IAAI,CAAC,EAAtC,CAAsC,EACxD,UAAU,EAAE,WAAC,IAAI,YAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,CAAC,EAAvC,CAAuC;YAExD,sEACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,mBAAmB,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EACxC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EACtB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAC/C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EACjC,QAAQ,EAAE,cAAQ,CAAC,mBACJ,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;YACF,2DAAC,0DAAO,IACN,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EACpC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GACZ;YACX,2DAAC,0DAAO,IACN,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GACZ,CACL,CACT,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,CAtCmC,2DAAc,GAsCjD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,UAAC,KAAK;IACxE,OAAO,4CAAK,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClDuB;AAEkC;AACI;AAWhE;IAAoC,kCAAwC;IAC1E,wBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IAC7D,CAAC;IACD,sBAAI,oCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAI,gCAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,sBAAI,iCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,wCAAe,GAAf;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,0CAAiB,GAAjB,UAAkB,KAAU;QAC1B,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IACH,qBAAC;AAAD,CAAC,CApBmC,wEAAiB,GAoBpD;;AACD;IAAgC,8BAAc;IAA9C;;IA2BA,CAAC;IA1BC,2BAAM,GAAN;QACE,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,CACL,sEAAO,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1H,sEACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,mBAAmB,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EACxC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EACtB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAC/C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EACjC,QAAQ,EAAE,cAAQ,CAAC,mBACJ,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;YACF,qEAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,IAAG,QAAQ,CAAQ,CAC/D,CACT,CAAC;IACJ,CAAC;IACD,sCAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;IAC5B,CAAC;IACH,iBAAC;AAAD,CAAC,CA3B+B,cAAc,GA2B7C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,gBAAgB,EAAE,UAAC,KAAK;IACnE,OAAO,4CAAK,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClEuB;AAC+B;AAEzD;IAA8B,4BAAyB;IAAvD;;IAOA,CAAC;IANC,yBAAM,GAAN;;QACE,OAAO,CACL,oEAAK,SAAS,EAAC,qBAAqB,EAAC,EAAE,EAAE,UAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,EAAE,GACzD,CACP,CAAC;IACJ,CAAC;IACH,eAAC;AAAD,CAAC,CAP6B,4CAAK,CAAC,SAAS,GAO5C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,UAAC,KAAU;IACrE,OAAO,4CAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACduB;AAEkC;AACK;AAEjE;IAA4C,0CAAkB;IAA9D;;IAoBA,CAAC;IAnBC,sBAAc,wCAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACS,0CAAS,GAAnB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7B,CAAC;IACS,8CAAa,GAAvB;QACE,OAAO,CACL,sEACE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC7B,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EACvD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EACzB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAC7B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GACtB,CACH,CAAC;IACJ,CAAC;IACH,6BAAC;AAAD,CAAC,CApB2C,yEAAkB,GAoB7D;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,YAAY,EACZ,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChCwB;AAEkC;AAM5D;IAA+B,6BAAqC;IAClE,mBAAY,KAAsB;eAChC,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAY,6BAAM;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACM,0BAAM,GAAb;QACE,IAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CACV,oEAAK,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;YAC3D,oEACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EACpC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EACrC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EACtC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EACpC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,EACtC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAc,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,GACxI,CACE,CACP,CAAC;QACF,OAAO,wHAAG,OAAO,CAAI,CAAC;IACxB,CAAC;IACH,gBAAC;AAAD,CAAC,CAvB8B,4CAAK,CAAC,SAAS,GAuB7C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,EAAE,UAAC,KAAsB;IACnF,OAAO,4CAAK,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCuB;AAEsC;AACJ;AACN;AAMtD;IAAkC,gCAAwC;IACxE,sBAAY,KAAyB;QAArC,YACE,kBAAM,KAAK,CAAC,SAGb;QAFC,KAAI,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC5B,KAAI,CAAC,OAAO,GAAG,4CAAK,CAAC,SAAS,EAAE,CAAC;;IACnC,CAAC;IAED,sBAAY,gCAAM;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAY,6BAAG;aAAf;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACzB,CAAC;;;OAAA;IAGD,wCAAiB,GAAjB;QACE,IAAM,IAAI,GAAiB,IAAI,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAyB,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG;YAC9B,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC;IACD,2CAAoB,GAApB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC;IAClD,CAAC;IAEO,kCAAW,GAAnB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAM,WAAW,GAAG,wEAAiB,CAAC,eAAe,CACnD,IAAI,CAAC,MAAM,CAAC,cAAc,CAC3B,CAAC;QACF,OAAO,CACL,oEACE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YAE9C,2DAAC,iEAAY,IAAC,OAAO,EAAE,IAAI,CAAC,MAAM,GAAiB;YACjD,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,mEAAI,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,IAAG,WAAW,CAAM,CAAC,CAAC,CAAC,IAAI,CACjG,CACP,CAAC;IACJ,CAAC;IAEO,sCAAe,GAAvB,UAAwB,QAAiB;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAM,aAAa,GAAW,IAAI,CAAC,MAAM,CAAC,8BAA8B,CACtE,IAAI,CAAC,MAAM,EACX,YAAY,CACb,CAAC;QACF,IAAM,aAAa,GAAQ,IAAI,CAAC,MAAM,CAAC,8BAA8B,CACnE,IAAI,CAAC,MAAM,EACX,YAAY,CACb,CAAC;QACF,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;IACL,CAAC;IACM,6BAAM,GAAb;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,CACL,oEAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO;YAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9C,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAC9C,oEAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,GAAQ,CACxC,CACP,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,CAnEiC,4CAAK,CAAC,SAAS,GAmEhD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,eAAe,EACf,UAAC,KAAyB;IACxB,OAAO,4CAAK,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpFwB;AACkC;AACpB;AAExC;IAA6B,2BAAyB;IAEpD,iBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,UAAU,GAAG,4CAAK,CAAC,SAAS,EAAE,CAAC;;IACtC,CAAC;IAED,2BAAS,GAAT;QACE,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ;YACpB,6DAAS,CACP,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,IAAI,CAAC,UAAU,CAAC,OAAO,EACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CACjB,CAAC;IACN,CAAC;IACD,oCAAkB,GAAlB;QACE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACD,wBAAM,GAAN;QACE,IAAI,SAAS,GAAG,aAAa,CAAC;QAC9B,IAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACvB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;SACzC;QACD,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnB,oEAAK,SAAS,EAAG,SAAS,EAAG,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAC,KAAK,gBAAa,IAAI,CAAC,KAAK,CAAC,KAAK;gBAAE,uEAAW,CAAM;YACnK,CAAC,CAAC,IAAI,CACT,CAAC;IACJ,CAAC;IACD,mCAAiB,GAAjB;QACE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACH,cAAC;AAAD,CAAC,CAnC4B,4CAAK,CAAC,SAAS,GAmC3C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,UAAC,KAAK;IAChE,OAAO,4CAAK,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3CuB;AACmC;AACD;AACD;AACZ;AAE/C;IAAkC,gCAAyB;IAA3D;;IAkBA,CAAC;IAjBC,sBAAc,oCAAU;aAAxB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,CAAC;;;OAAA;IACD,sBAAc,iCAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IAED,6BAAM,GAAN;QACE,IAAM,YAAY,GAAgB,2DAAC,2DAAY,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,GAAiB,CAAC;QACpH,IAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe;YAAE,OAAO,YAAY,CAAC;QACtD,OAAO,CACL,oEAAK,SAAS,EAAC,kBAAkB;YAC/B,qEAAM,SAAS,EAAC,yBAAyB,IAAE,YAAY,CAAQ;YAC/D,2DAAC,sEAAe,IAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAoB,CACtE,CACP,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,CAlBiC,4CAAK,CAAC,SAAS,GAkBhD;;AAED,2DAAe,CAAC,QAAQ,CAAC,gBAAgB,CACvC,SAAS,EACT,eAAe,EACf,kBAAkB,CACnB,CAAC;AAEF,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,EAAE,UAAC,KAAK;IACrE,OAAO,4CAAK,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCuB;AAEsC;AAEhE;IAAkC,gCAAyB;IACzD,sBAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IAED,sBAAY,oCAAU;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,CAAC;;;OAAA;IAED,sBAAY,iCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,6BAAM,GAAN;QACE,IAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB;YACrC,OAAO,wEAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACjF,OAAO,wHAAG,KAAK,CAAI,CAAC;IACtB,CAAC;IACS,uCAAgB,GAA1B,UAA2B,OAAoB,EAAE,UAAe;QAC9D,IAAI,YAAY,GAAG,UAAC,GAAQ;YAC1B,OAAO,CACL,iFAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,aAEtB,CACR,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,KAAK,GAAuB,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;SACpC;QACD,IAAI,cAAc,GAAG,OAAO,CAAC,EAAE,CAAC;QAChC,IAAI,cAAc,EAAE;YAClB,IAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,KAAK,CAAC,IAAI,CACR,iFACY,OAAO,EACjB,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,UAAU,CAAC,MAAM,IAAI,WAAW,EAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAChB,IAAI,IAEhB,cAAc,CACV,CACR,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;SACpC;QACD,IAAI,OAAO,CAAC,wBAAwB,EAAE;YACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;SACpC;QACD,KAAK,CAAC,IAAI,CACR,wEAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CACrE,CAAC;QACF,IAAI,OAAO,CAAC,uBAAuB,EAAE;YACnC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;SACzD;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,wCAAiB,GAAzB,UACE,OAAoB,EACpB,UAAe;QAEf,OAAO,CACL,iFACY,UAAU,EACpB,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,iBACtD,IAAI,IAEhB,OAAO,CAAC,YAAY,CAChB,CACR,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,CA5EiC,4CAAK,CAAC,SAAS,GA4EhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChFyB;AACqC;AAChB;AAE/C;IAAkC,gCAAyB;IACzD,sBAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAY,iCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,6BAAM,GAAN;QACE,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAM,SAAS,GAAG,OAAO,CAAC,cAAc,IAAI,SAAS,CAAC;QACtD,IAAM,YAAY,GAAG,CACnB,2DAAC,2DAAY,IACX,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,CAAC,UAAU,GAChB,CACjB,CAAC;QACF,IAAI,OAAO,GAAmC,SAAS,CAAC;QACxD,IAAI,OAAO,GAAmC,SAAS,CAAC;QACxD,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,OAAO,GAAG,UAAC,GAAQ;gBACjB,iEAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjC,CAAC,CAAC;SACH;QAED,IAAM,SAAS,GAAG,OAAO,CAAC,YAA2C,CAAC;QACtE,OAAO,CACL,2DAAC,SAAS,IACR,SAAS,EAAE,OAAO,CAAC,QAAQ,EAC3B,EAAE,EAAE,OAAO,CAAC,WAAW,gBACX,SAAS,EACrB,QAAQ,EAAE,OAAO,CAAC,aAAa,mBAChB,OAAO,CAAC,iBAAiB,EACxC,IAAI,EAAE,OAAO,CAAC,aAAa,EAC3B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,IAEf,YAAY,CACH,CACb,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,CAzCiC,4CAAK,CAAC,SAAS,GAyChD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7C8B;AACqC;AAEpE;IAAwC,sCAAyB;IAE/D,4BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,SAAS,GAAG,+CAAe,EAAE,CAAC;;IACrC,CAAC;IACO,yCAAY,GAApB;QACE,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;YAClC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,CAAC,EAAE,EAAE;gBACR,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,YAAY,GAAG,KAAK,CAAC;aACzD;SACF;IACH,CAAC;IACD,8CAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IACD,+CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,eAAe,GACjB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY;YAChC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,eAAe,CAAC;QACjD,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IACD,iDAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;YAClC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,CAAC,EAAE,EAAE;gBACR,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;aACnE;SACF;IACH,CAAC;IACS,sCAAS,GAAnB;QACE,OAAO,iBAAM,SAAS,WAAE,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IACxD,CAAC;IACS,0CAAa,GAAvB;QACE,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;QAElD,IAAI,YAAY,CAAC,eAAe,EAAE;YAChC,OAAO,CACL,6DAAK,GAAG,EAAE,IAAI,CAAC,SAAS,IACrB,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAClD,CACP,CAAC;SACH;QAED,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE;YAClC,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC5D;aAAM;YACL,IAAI,YAAY,CAAC,YAAY,EAAE;gBAC7B,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC;gBACtD,OAAO,6DAAK,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,uBAAuB,EAAE,SAAS,GAAI,CAAC;aACzE;SACF;QACD,OAAO,6DAAK,GAAG,EAAE,IAAI,CAAC,SAAS,IAAG,MAAM,CAAO,CAAC;IAClD,CAAC;IACH,yBAAC;AAAD,CAAC,CAhEuC,gFAAyB,GAgEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnE8B;AAC8C;AAC5B;AACQ;AACD;AACe;AACK;AAE5E;IAAoE,8CAAoC;IAAxG;QAAA,qEAoMC;QAjMC,WAAK,GAAG,UAAC,KAAU;;YACjB,WAAI,CAAC,QAAQ,CAAC,iBAAiB,0CAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,wBAAkB,GAAG,UAAC,KAAU;;YAC9B,WAAI,CAAC,QAAQ,CAAC,iBAAiB,0CAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC,CAAC;QACF,WAAK,GAAG,UAAC,KAAU;;YACjB,WAAI,CAAC,QAAQ,CAAC,iBAAiB,0CAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,gBAAU,GAAG,UAAC,KAAU;;YACtB,WAAI,CAAC,QAAQ,CAAC,iBAAiB,0CAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC;QACF,UAAI,GAAG,UAAC,KAAU;;YAChB,WAAI,CAAC,QAAQ,CAAC,iBAAiB,0CAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/C,KAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC;QACF,WAAK,GAAG,UAAC,KAAU;;YACjB,WAAI,CAAC,QAAQ,CAAC,iBAAiB,0CAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC;;IA+KJ,CAAC;IA9KW,oDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC5C,CAAC;IACS,iDAAY,GAAtB,UAAuB,QAAa;QAClC,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,QAAQ,CAAC;IAC7C,CAAC;IACS,iDAAY,GAAtB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;IACzC,CAAC;IACS,iDAAY,GAAtB,UAAuB,UAAe;;QACpC,IAAI,aAAa,GAAuB,IAAI,CAAC;QAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC5B,IAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChH,6DAA6D;YAC7D,aAAa;YACb,aAAa,GAAG,6DAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ;gBACjG,IAAI;gBACL,iEAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAO,CACnC,CAAC;SACR;aAAM;YACL,IAAI,CAAE,IAAI,CAAC,QAAgB,CAAC,mBAAmB,CAAC,EAAE;gBAC/C,IAAI,CAAC,QAAgB,CAAC,mBAAmB,CAAC,GAAG,IAAI,6DAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpF;YACD,aAAa,GAAG;gBACb,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBACrD,oDAAC,6DAAK,IAAC,KAAK,EAAE,gBAAI,CAAC,QAAQ,0CAAE,iBAAiB,0CAAE,UAAU,GAAU,CACnE,CAAC;SACL;QAED,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK;YAC1D,aAAa;YACb,IAAI,CAAC,mBAAmB,EAAE,CACvB,CACP,CAAC;IACJ,CAAC;IAED,uDAAkB,GAAlB,UAAmB,iBAAoC;QACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE;YACzC,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACpK;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE;YAChD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;SAChE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gDAAW,GAArB,UAAsB,iBAAoC;QAA1D,iBA4DC;QA3DC,IAAI,YAAY,GAAuB,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QAC1E,QAAI,GAAK,oDAAQ,CAAC,WAAW,KAAzB,CAA0B;QAEtC,IAAM,aAAa,GAAG,UAAC,CAAM;YAC3B,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE;gBACnC,iBAAiB,CAAC,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aACxD;QACH,CAAC,CAAC;QACF,OAAO,CAAC,6DACN,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAC1C,QAAQ,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACzD,6DAA6D;YAC7D,aAAa;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAClC,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,EACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,mBACb,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,mBAChC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,MAAM,mBACvF,iBAAiB,CAAC,aAAa,2BACvB,iBAAiB,CAAC,oBAAoB;YAE5D,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBACjC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU;oBAClD,kEAAO,iBAAiB,CAAC,gBAAgB,CAAQ,CAC7C,CAAC,CAAC,CAAC,CAAC,IAAI;YAChB,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY;gBAClD,iBAAiB,CAAC,cAAc,CAAC,CAAC;oBACjC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU;wBAClD,8DAAM,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAY,0BAA0B,IAAE,iBAAiB,CAAC,mBAAmB,CAAQ;wBAC1H,kEAAO,iBAAiB,CAAC,gBAAgB,CAAQ,CAC7C,CAAC,CAAC,CAAC,CAAC,IAAI;gBACf,YAAY;gBACb,+DAAO,IAAI,EAAC,MAAM,EAAC,YAAY,EAAC,KAAK,EACnC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAC9B,GAAG,EAAE,UAAC,OAAO,IAAK,QAAC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC,EAA7B,CAA6B,EAC/C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EACrD,IAAI,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,gBACpE,IAAI,CAAC,QAAQ,CAAC,WAAW,mBACtB,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,MAAM,mBACvF,iBAAiB,CAAC,aAAa,2BACvB,iBAAiB,CAAC,oBAAoB,EAC7D,WAAW,EAAE,iBAAiB,CAAC,mBAAmB,EAClD,QAAQ,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAC7D,QAAQ,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,SAAS,EAAE,iBAAiB,CAAC,SAAS,EACtC,QAAQ,EAAE,UAAC,CAAC,IAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtC,MAAM,EAAE,IAAI,CAAC,IAAI,EACjB,OAAO,EAAE,IAAI,CAAC,KAAK,GACZ,CACL;YACL,IAAI,CAAC,iBAAiB,EAAE,CACrB,CAAC,CAAC;IACV,CAAC;IAED,sDAAiB,GAAjB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAE1F,IAAM,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACjE,OAAO,CACL,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAC/C,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,IAAI,CAAC,KAAK;YAEnB,oDAAC,qEAAO,IACN,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAClD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EACpD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EACjC,IAAI,EAAE,MAAM,GACH,CACP,CACP,CAAC;IACJ,CAAC;IAED,wDAAmB,GAAnB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB;YAAE,OAAO,IAAI,CAAC;QAE/D,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EACpD,aAAa,EAAE,IAAI,CAAC,kBAAkB;YACtC,oDAAC,qEAAO,IACN,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EACpD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,EACtD,IAAI,EAAE,MAAM,GACH,CACP,CACP,CAAC;IACJ,CAAC;IAES,gDAAW,GAArB,UAAsB,UAAe;QACnC,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACnD,oDAAC,mFAA4B,IAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,UAAU,CAAC,KAAK,EAC1B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,OAAO,EAAE,IAAI,GACb,CACE,CACP,CAAC;IACJ,CAAC;IAED,uDAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IACD,sDAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IACD,0DAAqB,GAArB;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,IAAM,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC;YACvC,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;YACrE,IAAI,CAAC,mDAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;gBAC1E,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;aACrE;SACF;IACH,CAAC;IACH,iCAAC;AAAD,CAAC,CApMmE,wFAAiC,GAoMpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5M8B;AAC8B;AAG7D;IAA8C,4CAAkB;IAC9D,kCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAGb;QAFC,KAAI,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC5B,KAAI,CAAC,UAAU,EAAE,CAAC;;IACpB,CAAC;IACD,qDAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IACD,uDAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,cAAQ,CAAC,CAAC;SACzC;IACH,CAAC;IACO,6CAAU,GAAlB;QACE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC/B,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;YAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC;IACS,kDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,sBAAY,0CAAI;aAAhB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACS,4CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACS,gDAAa,GAAvB;QACE,OAAO,CACL,gEAAQ,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,CACR,CACV,CAAC;IACJ,CAAC;IACH,+BAAC;AAAD,CAAC,CAvC6C,yEAAkB,GAuC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3C8B;AAC0B;AACM;AACG;AACP;AAE3D;IAAkD,gDAAsB;IACtE,sCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IAES,mDAAY,GAAtB,UAAuB,UAAe;QAAtC,iBAmCC;QAlCC,IAAM,KAAK,GAAG,UAAC,KAAU;YACvB,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,IAAM,KAAK,GAAG,UAAC,KAAU;YACvB,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,IAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACzC,6DAA6D;QAC7D,aAAa;QACb,6DAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,UAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAO,CAAC,CAAC,CAAC;YAC1H,CAAC,gEACC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAC1C,GAAG,EAAE,UAAC,MAAM,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAzB,CAAyB,EAC1C,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EACxC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,KAAK,mBACC,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;gBACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gEAAQ,KAAK,EAAC,EAAE,IAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAU,CAAC,CAAC,CAAC,CAAC,IAAI;gBACzF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,UAAC,IAAe,EAAE,CAAS,IAAK,2DAAC,uEAAwB,IAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,GAAI,EAAzD,CAAyD,CAAC,CACrH,CAAC,CAAC;QACb,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,aAAa;YACrC,aAAa;YACb,IAAI,CAAC,mBAAmB,EAAE,CACvB,CACP,CAAC;IACJ,CAAC;IACH,mCAAC;AAAD,CAAC,CAzCiD,8EAAsB,GAyCvE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,UAAC,KAAK;IACzE,OAAO,mDAAmB,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH,2DAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;;;;;;;;;;;;;ACnDtF;AAAA;AAAA;IAAA;QAEU,gBAAW,GAA6C,EAAE,CAAC;IAuBrE,CAAC;IArBQ,6CAAe,GAAtB,UACE,WAAmB,EACnB,cAA2C;QAE3C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC;IACjD,CAAC;IACM,yCAAW,GAAlB;QACE,IAAI,MAAM,GAAG,IAAI,KAAK,EAAU,CAAC;QACjC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IACM,iDAAmB,GAA1B,UAA2B,WAAmB;QAC5C,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IACM,2CAAa,GAApB,UAAqB,WAAmB,EAAE,MAAW;QACnD,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAvBa,4BAAQ,GAAwB,IAAI,mBAAmB,EAAE,CAAC;IAwB1E,0BAAC;CAAA;AAzB+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFN;AAE2C;AACL;AACJ;AAE5D;IAAyC,uCAAyB;IAAlE;;IAuBA,CAAC;IAtBC,sBAAY,wCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACM,oCAAM,GAAb;QACE,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC/B,2DAAC,4EAAY,IAAC,OAAO,EAAE,OAAO,GAAiB,CAChD,CAAC,CAAC,CAAC,IAAI,CAAC;QACT,IAAM,WAAW,GAAG,OAAO,CAAC,wBAAwB;YAClD,CAAC,CAAC,wEAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC;QAET,IAAM,6BAA6B,GAAG,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,2DAAC,iFAAe,IAAC,KAAK,EAAG,OAAO,CAAC,sBAAsB,GAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;QAE5J,OAAO,CACL,oEAAK,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,UAAC,CAAC,IAAK,cAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,EAAvE,CAAuE;YACvH,KAAK;YACL,WAAW;YACX,6BAA6B,CAC1B,CACP,CAAC;IACJ,CAAC;IACH,0BAAC;AAAD,CAAC,CAvBwC,4CAAK,CAAC,SAAS,GAuBvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7B8B;AAG6B;AACJ;AAGxD;IAAsC,oCAA2B;IAE/D,0BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADE,KAAI,CAAC,OAAoB,CAAC,UAAU,CAAC;;IACxC,CAAC;IACS,0CAAe,GAAzB;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,sBAAY,qCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAY,mCAAK;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAY,iCAAG;aAAf;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,CAAC;;;OAAA;IACD,sBAAY,oCAAM;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAY,qCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAc,iCAAG;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,CAAC;;;OAAA;IAEM,gDAAqB,GAA5B,UAA6B,SAAc,EAAE,SAAc;QACzD,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAEpE,IAAI,CAAC,OAAoB,CAAC,UAAU,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAES,wCAAa,GAAvB;QACE,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAM,GAAG,GAAI,OAAoB,CAAC,eAAe,CAAC;QAClD,IAAM,OAAO,GAAG;YACd,IAAM,EAAE,GAAQ,OAAO,CAAC;YACxB,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE;gBACvB,EAAE,CAAC,OAAO,EAAE,CAAC;aACd;QACH,CAAC,CAAC;QACF,OAAO,CACL,6DACE,SAAS,EAAE,GAAG,CAAC,eAAe,EAC9B,KAAK,EAAG,OAAe,CAAC,SAAS,cACvB,YAAY,CAAC,GAAG,EAC1B,GAAG,EAAE,YAAY,CAAC,GAAG,EACrB,OAAO,EAAE,OAAO,IAEf,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CACnJ,CACP,CAAC;IACJ,CAAC;IAES,wCAAa,GAAvB,UAAwB,OAAiB,EAAE,YAAqB;QAC9D,IAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,oEAAmB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE;YAClE,WAAW,GAAG,UAAU,CAAC;SAC1B;QACD,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE;YAC7D,GAAG,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK;YACzB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IACH,uBAAC;AAAD,CAAC,CAxEqC,wEAAiB,GAwEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/E8B;AAEyB;AAClB;AACW;AAEjD;IAAqC,mCAAW;IAC9C,yBAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAW,sCAAS;aAApB;YACE,OAAO,IAAI,CAAC,KAAuB,CAAC;QACtC,CAAC;;;OAAA;IACD,2CAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,qBAAqB,GAAG;gBACrC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC;SAC3D;IACH,CAAC;IACD,8CAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,qBAAqB,GAAG,IAAW,CAAC;YACnD,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAW,CAAC;SACnD;IACH,CAAC;IACS,qCAAW,GAArB,UAAsB,IAAY;QAChC,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IACS,wCAAc,GAAxB,UAAyB,QAAkB;QACzC,OAAO,YAAY,GAAG,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;IACtD,CAAC;IACS,oCAAU,GAApB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,IAAG,CAAC,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,MAAM,CAAC,CAAC;SACjB;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAEO,sCAAY,GAApB;QACE,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IACS,oCAAU,GAApB;QACE,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QACjC,IAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC;QACjE,IAAI,CAAC,SAAS,EAAE;YACd,IAAM,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACnC,OAAO,6DAAK,uBAAuB,EAAE,SAAS,GAAI,CAAC;SACpD;QACD,IAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACS,qCAAW,GAArB,UAAsB,QAAqB;QACzC,IAAM,KAAK,GAAuB,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAG,CAAC,CAAC,IAAI,EAAE;gBACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACO,kCAAQ,GAAhB,UAAiB,QAAgB;QAC/B,IAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE;YAClC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;SAC3B;QACD,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE;YAClC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;SAC5B;QACD,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE;YAClC,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC;SACpC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACS,0CAAgB,GAA1B,UAA2B,IAAU;QACnC,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,QAAQ,KAAK,KAAK;YACpB,OAAO,6DAAK,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,IAAG,QAAQ,CAAO,CAAC;QACzD,OAAO,CACL,8DAAM,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAC3D,QAAQ,CACJ,CACR,CAAC;IACJ,CAAC;IACS,oCAAU,GAApB,UAAqB,IAAU;QAC7B,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,QAAQ,KAAK,UAAU,EAAE;YAC3B,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAkB,CAAC,CAAC;YAC3E,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC3B,IAAM,YAAY,GAAG,CACnB,oDAAC,6DAAc,IACb,GAAG,EAAE,QAAQ,CAAC,IAAI,EAClB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,GAAG,EAAE,IAAI,CAAC,GAAG,GACb,CACH,CAAC;YACF,OAAO,8DAAM,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,IAAG,YAAY,CAAQ,CAAC;SAC9D;QACD,IAAI,QAAQ,KAAK,KAAK,EAAE;YACtB,OAAO,6DAAK,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,IAAG,IAAI,CAAC,WAAW,CAAO,CAAC;SAChE;QACD,OAAO,CACL,8DAAM,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAC3D,IAAI,CAAC,WAAW,CACZ,CACR,CAAC;IACJ,CAAC;IACO,0CAAgB,GAAxB,UAAyB,IAAU;QACjC,IAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACO,+CAAqB,GAA7B,UAA8B,IAAU;QACtC,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;SAC/D;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACS,uCAAa,GAAvB,UAAwB,KAAU,EAAE,IAAmB;QACrD,OAAO,mDAAmB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IACH,sBAAC;AAAD,CAAC,CAlIoC,kDAAW,GAkI/C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,eAAK;IAC7D,OAAO,mDAAmB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5I4B;AACqC;AAEL;AACN;AAEzD;IAAyC,uCAAyB;IAChE,6BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,+CAAiB,GAAjB;QAAA,iBAKC;QAJC,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,GAAG;YACrC,KAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IACD,kDAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,GAAG,cAAQ,CAAC,CAAC;IACnD,CAAC;IAED,sBAAc,yCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAkC,CAAC;QACjD,CAAC;;;OAAA;IAES,2CAAa,GAAvB;QAAA,iBA2DC;QA1DC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,KAAK,GAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAC3I,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC7D,KAAK,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;SAC3B;QACD,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,OAAO,EAAE;YAC1C,OAAO,GAAG,CACR,6DACE,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAC5C,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EACjD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAClC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc;gBACpC,+BAA+B;gBAC/B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,UAAC,KAAU,IAAO,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAC1D,OAAO,EAAE,UAAC,KAAU,IAAO,KAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,GAC5D,CACH,CAAC;SACH;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,OAAO,EAAE;YAC1C,OAAO,GAAG,CACR,+DAAO,QAAQ,QACb,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAC5C,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAClC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EACpC,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,UAAC,KAAU,IAAO,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EACpE,OAAO,EAAE,UAAC,KAAU,IAAO,KAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,GACrD,CACV,CAAC;SACH;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;YAC5C,OAAO,GAAG,CACR,gEACE,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAC5C,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAClC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EACpC,KAAK,EAAE,KAAK,GACJ,CACX,CAAC;SACH;QACD,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC7D,OAAO,GAAG,CACR,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO;gBAC9C,oDAAC,qEAAO,IACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EACnD,IAAI,EAAE,EAAE,GAEA,CACN,CACP,CAAC;SACH;QACD,OAAO,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;YAAG,OAAO;YAAE,OAAO,CAAO,CAAC;IACjF,CAAC;IACH,0BAAC;AAAD,CAAC,CA/EwC,gFAAyB,GA+EjE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,KAAK;IAC5D,OAAO,mDAAmB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzF4B;AAC4E;AAE5C;AACC;AACP;AAEzD;IAA+C,6CAAyB;IACtE,mCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,+CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAwC,CAAC;QACvD,CAAC;;;OAAA;IACS,iDAAa,GAAvB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,OAAO,CACL,kEAAU,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE;YACvD,gEACE,IAAI,EAAC,OAAO,gBACA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,GAAI;YACpD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC1E,CACZ,CAAC;IACJ,CAAC;IAES,8CAAU,GAApB,UAAqB,UAAe;QAApC,iBAeC;QAdC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAW,EAAE,EAAU;YACvD,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,EAAU;gBAC3C,YAAI,CAAC,UAAU,CACb,MAAM,GAAG,EAAE,EACX,IAAI,EACJ,UAAU,CACX;YAJD,CAIC,CACF,CAAC;YACF,OAAO,CACL,6DAAK,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAC,cAAc,IACpF,KAAK,CACF,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAES,4CAAQ,GAAlB,UAAmB,UAAe;QAChC,IAAI,KAAK,GAAsB,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5D,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAsB,EAAE,UAAU,CAAC,CAAC,CAAC;SACtE;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,sBAAc,gDAAS;aAAvB;YACE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACtE,CAAC;;;OAAA;IACS,8CAAU,GAApB,UACE,GAAW,EACX,IAAoB,EACpB,UAAe;QAEf,IAAM,YAAY,GAAG,oDAAC,6BAA6B,IAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,GAAkC,CAAC;QAC5J,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QACnD,IAAI,WAAW,GAAuB,IAAI,CAAC;QAC3C,IAAG,CAAC,CAAC,MAAM,EAAE;YACX,WAAW,GAAG,4EAA0B,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACnG;QACD,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,YAAY,CAAC;IACrC,CAAC;IACH,gCAAC;AAAD,CAAC,CA7D8C,gFAAyB,GA6DvE;;AACD;IAAmD,iDAAkB;IACnE,uCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACvD,CAAC;IACS,uDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,yDAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,4DAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,cAAa,CAAC,CAAC;IACpD,CAAC;IACD,0DAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACO,yDAAiB,GAAzB;QAAA,iBAIC;QAHC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG;YACjC,KAAI,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,IAAI,KAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpH,CAAC,CAAC;IACJ,CAAC;IACD,sBAAc,qDAAU;aAAxB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,CAAC;;;OAAA;IAED,sBAAc,+CAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IAED,sBAAc,mDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IAED,sDAAc,GAAd,UAAe,KAAU;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;gBACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACtE;iBAAM;gBACL,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACpC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;aACjC;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;SAC1C;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAES,qDAAa,GAAvB;QAAA,iBAsGC;QArGC,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,GAAuB,IAAI,CAAC;QACpC,IAAI,QAAQ,CAAC,SAAS,EAAE;YACtB,IAAI,GAAG,CACL,8DACE,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,IAEtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,wEAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CACpE,CACR,CAAC;SACH;QAED,IAAI,KAAK,GAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAEvD,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,OAAO,EAAE;YAC3E,OAAO,GAAG,CACR,6DACE,SAAS,EAAE,UAAU,CAAC,KAAK,EAC3B,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,EACnC,KAAK,EAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EACxC,MAAM,EAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAC1C,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAC9B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,UAAC,KAAU,IAAO,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EACtF,OAAO,EAAE,UAAC,KAAU,IAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAC1E,CACH,CAAC;SACH;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,OAAO,EAAE;YAC3E,OAAO,GAAG,CACR,+DAAO,QAAQ,QACb,SAAS,EAAE,UAAU,CAAC,KAAK,EAC3B,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,EACnC,KAAK,EAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EACxC,MAAM,EAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAC1C,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,UAAC,KAAU,IAAO,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAChG,OAAO,EAAE,UAAC,KAAU,IAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACnE,CACV,CAAC;SACH;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC5D,IAAI,OAAK,GAAQ;gBACf,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB;gBACvC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB;gBACzC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;aAClC,CAAC;YACF,OAAO,GAAG,CACR,6DACE,SAAS,EAAE,UAAU,CAAC,WAAW,EACjC,KAAK,EAAE,OAAK,IAGV,UAAU,CAAC,kBAAkB,CAAC,CAAC;gBAC7B,oDAAC,qEAAO,IACN,SAAS,EAAE,UAAU,CAAC,kBAAkB,EACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,EACvD,IAAI,EAAE,EAAE,GACC,EAAC;gBACZ,IAAI,CAEJ,CACP,CAAC;SACH;QAED,IAAM,YAAY,GAAG,CACnB,6DAAK,SAAS,EAAE,SAAS;YACvB,+DAAO,SAAS,EAAE,UAAU,CAAC,KAAK;gBAChC,+DACE,SAAS,EAAE,UAAU,CAAC,WAAW,EACjC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EACjC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAChC,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAC7C,QAAQ,EAAE,IAAI,CAAC,cAAc,mBACd,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;gBACF,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa;oBACpD,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc;wBACpD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;4BAChD,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,IAC3D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,oDAAC,qEAAO,IAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,GAAY,CAAC,CAAC,CAAC,IAAI,CACvM,CAAC,CAAC,CAAC,IAAI;wBACf,OAAO,CACJ;oBACL,IAAI,CACD,CACA,CACJ,CACP,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IACH,oCAAC;AAAD,CAAC,CA3JkD,yEAAkB,GA2JpE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,UAAC,KAAK;IAClE,OAAO,mDAAmB,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpO4B;AAE6B;AACb;AACiB;AAEhE;IAAgC,8BAAe;IAC7C,oBAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,iCAAY,GAAtB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IACD,sBAAW,4BAAI;aAAf;YACE,OAAO,IAAI,CAAC,SAAsB,CAAC;QACrC,CAAC;;;OAAA;IACS,kCAAa,GAAvB;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACtD,OAAO,CACL,6DAAK,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YACjD,KAAK;YACL,WAAW;YACX,IAAI,CACA,CACR,CAAC;IACJ,CAAC;IACS,gCAAW,GAArB;QACE,OAAO,oDAAC,4EAAY,IAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAiB,CAAC;IAC3D,CAAC;IACS,sCAAiB,GAA3B;QACE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC;QAC7C,IAAI,IAAI,GAAG,wEAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvE,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,IAAG,IAAI,CAAO,CACzE,CAAC;IACJ,CAAC;IACH,iBAAC;AAAD,CAAC,CAhC+B,2DAAe,GAgC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtC8B;AAG6B;AAC1B;AAElC;IAAqC,mCAA2B;IAE9D,yBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QAoEO,uBAAiB,GAAQ,EAAE,CAAC;QArElC,KAAI,CAAC,OAAO,GAAG,+CAAe,EAAE,CAAC;;IACnC,CAAC;IACS,yCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACS,2CAAiB,GAA3B,UAA4B,GAAW;QACrC,OAAO,GAAG,KAAK,UAAU,IAAI,iBAAM,iBAAiB,YAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,sBAAc,mCAAM;aAApB;YACE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAc,oCAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAc,gCAAG;aAAjB;YACE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;;;OAAA;IACD,sBAAW,sCAAS;aAApB;YACE,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7B,CAAC;;;OAAA;IACS,sCAAY,GAAtB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IACnD,CAAC;IACS,mCAAS,GAAnB;QACE,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CACvE,CAAC;IACJ,CAAC;IACS,gCAAM,GAAhB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IACxB,CAAC;IACD,2CAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,8CAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,CAAC,EAAE,EAAE;YACR,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;SACrC;IACH,CAAC;IACD,4CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IACE,CAAC,CAAC,SAAS,CAAC,IAAI;YAChB,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YACzB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;YAEhD,OAAO;QACT,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACO,uCAAa,GAArB;QACE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9B,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;YACrB,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAuB,EAAE,EAAE,CAAC,CAAC;aAChE;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;aACjC;SACF;IACH,CAAC;IACS,mCAAS,GAAnB;QACE,OAAO,CACL,iBAAM,SAAS,WAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS;eACnD,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CACvD,CAAC;IACJ,CAAC;IAES,oCAAU,GAApB,UAAqB,GAAQ;QAC3B,IAAI,IAAI,CAAC,oBAAoB,KAAK,MAAM,EAAE;YACxC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC7B;QACD,IAAI,IAAI,GAAsB,EAAE,CAAC;QACjC,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,GAAG,EAAE;gBACR,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC3C,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;aAClD;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACS,mCAAS,GAAnB,UAAoB,GAAqB,EAAE,GAAQ;QACjD,OAAO,CACL,oDAAC,8CAAS,IACR,GAAG,EAAE,GAAG,CAAC,EAAE,EACX,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,GAAG,EAAE,GAAG,GACR,CACH,CAAC;IACJ,CAAC;IACH,sBAAC;AAAD,CAAC,CArGoC,wEAAiB,GAqGrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3G8B;AACuB;AACM;AACJ;AAET;AAEiB;AACK;AACL;AACT;AAEvD;IAAiC,+BAAe;IAE9C,qBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SACb;QAHO,qBAAe,GAAY,KAAK,CAAC;;IAGzC,CAAC;IACD,sBAAW,8BAAK;aAAhB;YACE,OAAO,IAAI,CAAC,SAAuB,CAAC;QACtC,CAAC;;;OAAA;IACS,mCAAa,GAAvB;QAAA,iBAqCC;QApCC,IAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,IAAM,MAAM,GAAG,CACb,oDAAC,kEAAmB,IAClB,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EACrC,OAAO,EAAE,IAAI,CAAC,OAAO,GACrB,CACH,CAAC;QACF,IAAM,KAAK,GAAG;YACZ,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;YACxC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;SACtD,CAAC;QACF,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,EAAE;YACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAM,IAAI,GAAkB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACvE,IAAM,SAAS,GAAW,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;YAClE,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SACtD;QACD,IAAM,OAAO,GAAG;YACd,IAAG,KAAI,CAAC,SAAS;gBAAG,KAAI,CAAC,SAAwB,CAAC,OAAO,EAAE,CAAC;QAC9D,CAAC,CAAC;QACF,OAAO,CACL,6DACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,SAAS,EAAG,IAAI,CAAC,SAAwB,CAAC,eAAe,EAAE,EAC3D,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;YAGpB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YAC/C,MAAM;YACN,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YAC/C,OAAO,CACJ,CACP,CAAC;IACJ,CAAC;IACS,kCAAY,GAAtB;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YACtD,OAAO,IAAI,CAAC;SACb;QACD,OAAO,oDAAC,mEAAmB,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,GAAwB,CAAC;IAC1E,CAAC;IACS,iCAAW,GAArB,UAAsB,OAAoB;QACxC,IAAM,MAAM,GAAgB,IAAI,CAAC,KAAK,CAAC,MAAqB,CAAC;QAC7D,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,4EAA0B,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/E;QACD,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,CAAC;IAC5B,CAAC;IACS,mCAAa,GAAvB,UAAwB,KAAU,EAAE,IAAmB,EAAE,SAAiB;QACxE,IAAM,MAAM,GAAuB,IAAI,CAAC,YAAY,EAAE,CAAC;QACvD,OAAO,CACL,6DAAK,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;YAC9D,IAAI;YACJ,MAAM,CACH,CACP,CAAC;IACJ,CAAC;IACS,iCAAW,GAArB;QACE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,oDAAC,4EAAY,IAAC,OAAO,EAAE,IAAI,CAAC,SAAS,GAAiB,CAAC;IAChE,CAAC;IACS,uCAAiB,GAA3B;QACE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC7C,IAAI,IAAI,GAAG,wEAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC5E,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,IAAG,IAAI,CAAO,CACtE,CAAC;IACJ,CAAC;IACS,kCAAY,GAAtB;QACE,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACpD,IAAI,CAAC,aAAa,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,oDAAC,iFAAe,IAAC,KAAK,EAAE,aAAa,GAAoB,CAAC;IACnE,CAAC;IACH,kBAAC;AAAD,CAAC,CArFgC,2DAAe,GAqF/C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,UAAC,KAAK;IAC1D,OAAO,mDAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrG4B;AACoC;AACN;AACE;AAE/D;IAAkD,gDAA+C;IAC/F,sCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,oDAAa,GAAvB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC3C,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,IAClD,MAAM,CACH,CACP,CAAC;IACJ,CAAC;IACH,mCAAC;AAAD,CAAC,CAbiD,yEAA0B,GAa3E;;AACD,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAC5C,oBAAoB,EACpB,UAAC,KAAK;IACJ,OAAO,mDAAmB,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC,CACF,CAAC;AAEF,2DAAe,CAAC,QAAQ,CAAC,gBAAgB,CACvC,QAAQ,EACR,UAAU,EACV,oBAAoB,CACrB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9B6B;AACQ;AACqB;AACP;AACI;AAEzD;IAAiC,+BAAM;IAErC,qBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IAC3D,CAAC;IACS,sCAAgB,GAA1B;QACE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,sCAAgB,GAAhB,UAAiB,KAAU;QACzB,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;IACpC,CAAC;IACS,+BAAS,GAAnB;QACE,OAAO,iBAAM,SAAS,WAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IACnD,CAAC;IACS,mCAAa,GAAvB;QACE,IAAI,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,IAAI,KAAK,GAAwB;YAC/B,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,EAAE;SACV,CAAC;QACF,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC9B,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YACvC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;SAC3C;QACD,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK;YAC7C,MAAM;YACN,IAAI,CACD,CACP,CAAC;IACJ,CAAC;IACS,wCAAkB,GAA5B;QAAA,iBAoCC;QAnCC,IAAI,MAAM,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAClD,IAAI,UAAU,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAC1C,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1C,cAAc,GAAG,uBAAuB,GAAG,cAAc,CAAC;QAC1D,IAAI,KAAK,GAAG,wEAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpE,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACtC,8DAAM,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM;gBACjD,8DAAM,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,UAAU,IAC1D,KAAK,CACD;gBACP,8DAAM,SAAS,EAAE,cAAc,iBAAc,MAAM,GAAG,CACjD;YACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CACvB,8DACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EACrC,OAAO,EAAE,cAAQ,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EACrC,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;gBAEvG,oDAAC,qEAAO,IAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,GACtC,CACL,CACR,CAAC,CAAC,CAAC,IAAI;YACP,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CACvB,8DACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EACrC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;gBAE3E,oDAAC,qEAAO,IAAC,QAAQ,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,GACxC,CACL,CACR,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;IACJ,CAAC;IACS,gCAAU,GAApB;QAAA,iBAEC;QADC,OAAO,6DAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAM,YAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAArB,CAAqB,IAAG,IAAI,CAAC,QAAQ,EAAE,CAAO,CAAC;IAC5G,CAAC;IACS,kCAAY,GAAtB,UAAuB,QAAa;QAClC,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,EAAE,CAAC;QAC7B,iBAAM,YAAY,YAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,4DAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,QAAQ,CAAC,sBAAsB,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,sBAAsB,GAAG,QAAQ,CAAC,sBAAsB,CAAC;SACrE;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC;YACtE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IACH,kBAAC;AAAD,CAAC,CAtFgC,mDAAM,GAsFtC;;AACD;;GAEG;AACH;IAAkC,gCAAW;IAA7C;;IAA+C,CAAC;IAAD,mBAAC;AAAD,CAAC,CAAd,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChGjB;AAC6K;AACxK;AAEwB;AACJ;AACgB;AAET;AACP;AAEJ;AACM;AACc;AAExE;IAA4B,0BAA2B;IAerD,gBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAMb;QApBO,kBAAY,GAAG,EAAE,CAAC;QAwBlB,qBAAe,GAAG,KAAK,CAAC;QAT9B,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,KAAI,CAAC,OAAO,GAAG,+CAAe,EAAE,CAAC;QACjC,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC;QACnC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;;IACjD,CAAC;IAlBD,sBAAkB,iBAAO;aAAzB;YACE,OAAO,qDAAS,CAAC,WAAW,CAAC;QAC/B,CAAC;aACD,UAA0B,KAAa;YACrC,yDAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;;;OAHA;IAiBS,gCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,gCAAe,GAAvB;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;YACjB,IAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,CAAC,EAAE;gBAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;SAChC;IACH,CAAC;IACD,sCAAqB,GAArB,UAAsB,SAAc,EAAE,SAAc;QAClD,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QACrE,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;YACtC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,mCAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzC,IAAG,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;IACH,CAAC;IACD,kCAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IACD,8BAAa,GAAb;QACE,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,SAAgB,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;SACrC;IACH,CAAC;IACD,qCAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,yBAAQ,GAAR;QACE,IAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;YACjC,uDAAW,CAAC,WAAW,EAAE,CAAC;SAC3B;QACD,IAAI,YAAgC,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;YACpC,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;SACvC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,iBAAiB,EAAE;YACjD,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC7C;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;YACzC,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;SACrC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE;YACvC,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;SACzC;aAAM;YACL,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;SACpC;QACD,IAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7J,IAAM,MAAM,GAAuB,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,oDAAC,oFAAY,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjI,IAAM,QAAQ,GAAG,UAAU,KAAuC;YAChE,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC,CAAC;QACF,IAAI,YAAY,GAAuB,6DAAK,SAAS,EAAC,kBAAkB,GAAG,CAAC;QAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,YAAY,GAAG,IAAI,CAAC;SACrB;QACD,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,IAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAE7F,OAAO,CACL,6DAAK,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;YACnG,6DAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBACvC,eAAe;gBAChB,8DAAM,QAAQ,EAAE,QAAQ;oBACrB,YAAY;oBACb,6DAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;wBAC/B,MAAM;wBACP,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,GAAwB;wBAC9G,YAAY;wBACb,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,GAAwB,CAC3G,CACD;gBACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,oDAAC,gEAAS,OAAE,CAAC,CAAC,CAAC,IAAI;gBACjD,oDAAC,sEAAiB,IAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAuB,CACpE,CACF,CACP,CAAC;IACJ,CAAC;IACS,8BAAa,GAAvB;QACE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACD,sBAAW,uBAAG;aAAd;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACzB,CAAC;aACD,UAAe,KAAU;YACvB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC;QAC1B,CAAC;;;OAHA;IAIS,gCAAe,GAAzB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAEhD,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;QAC/D,OAAO,CACL,oDAAC,8CAAc;YACb,6DACE,uBAAuB,EAAE,SAAS,EAClC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,GACnC;YACF,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,KAAK,GAAwB,CACtG,CAClB,CAAC;IACJ,CAAC;IACS,sCAAqB,GAA/B;QACE,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC;QACrE,OAAO,CACL,6DAAK,uBAAuB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAI,CACvF,CAAC;IACJ,CAAC;IACS,8BAAa,GAAvB;QACE,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAC7D,OAAO,CACL,6DAAK,uBAAuB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,GAAI,CACnF,CAAC;IACJ,CAAC;IACS,6BAAY,GAAtB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;YACrC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC;QACT,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QACjD,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAErE,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,IAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,IAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YAC9B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;SAC5C;QACD,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAC1C,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAwB;YACnF,6DACE,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK;gBAEZ,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,GAAwB;gBACxF,UAAU;gBACX,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,GAAwB,CACxF;YACN,oDAAC,qFAAmB,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,GAAwB,CAChF,CACP,CAAC;IACJ,CAAC;IACS,2BAAU,GAApB,UAAqB,IAAe;QAClC,OAAO,CACL,oDAAC,gDAAU,IACT,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,OAAO,EAAE,IAAI,GACb,CACH,CAAC;IACJ,CAAC;IACS,kCAAiB,GAA3B;QACE,OAAO,6DAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,IAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAO,CAAC;IACjF,CAAC;IACS,6BAAY,GAAtB,UAAuB,QAAa;QAClC,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,QAAQ,EAAE;YACZ,IAAI,QAAQ,CAAC,KAAK,EAAE;gBAClB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;aAC9B;iBAAM;gBACL,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACjB,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAClC,IAAI,CAAC,MAAM,GAAG,IAAI,uDAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBAC9C;aACF;SACF;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,uDAAW,EAAE,CAAC;SACjC;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SAC5B;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IACO,mCAAkB,GAA1B,UAA2B,QAAa;QACtC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACtB,OAAO,CAAC,mDAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SACvE;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACS,6BAAY,GAAtB,UAAuB,QAAa,EAAE,QAAc;QAClD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC1B,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE;YACxB,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,IAAI,MAAM,EAAE;gBACxD,SAAS;aACV;YACD,IAAI,GAAG,IAAI,KAAK,EAAE;gBAChB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAClC,SAAS;aACV;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC9C,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;gBACtE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;iBACxC;gBACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;aACrC;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;aAClC;SACF;IACH,CAAC;IACS,gCAAe,GAAzB;QACE,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG;YAC3B,IAAI,OAAO,GACT,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,UAAC,MAAM;YACnC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;gBAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IACT,sCAAqB,GAA5B,UAA6B,QAAkB;QAC7C,OAAO,2EAAoB,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EACtI;YACE,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,QAAQ,CAAC,eAAe;YACvC,OAAO,EAAE,IAAI;SACd,CACF,CAAC;IACJ,CAAC;IACM,4BAAW,GAAlB,UACE,GAAW,EACX,KAAkB,EAClB,UAAe;QAEf,OAAO,CACL,6DAAK,GAAG,EAAE,GAAG;YACX,8DAAM,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,iBAAc,MAAM,GAAG;YAC1E,8DAAM,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS;gBACjD,oDAAC,oEAAqB,IAAC,MAAM,EAAE,KAAK,CAAC,OAAO,GAAI,CAC3C,CACH,CACP,CAAC;IACJ,CAAC;IACM,sCAAqB,GAA5B;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAC3C,CAAC;IACM,sCAAqB,GAA5B;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAC3C,CAAC;IACH,aAAC;AAAD,CAAC,CAlS2B,wEAAiB,GAkS5C;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAC,KAAK;IAC3D,OAAO,mDAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEI,SAAS,eAAe,CAAC,OAAoB,EAAE,SAAe,EAAE,OAA8E;IAA9E,sCAAqC,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;IACnJ,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE;QACtF,OAAO,kDAAkB,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;KACtD;IACD,OAAO,gBAAQ,OAAO,CAAE,CAAC;IACzB,OAAO,kDAAkB,CACvB,OAAO,EACP;QACE,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,UAAC,GAAkB;YAC1B,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,iEAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,SAAS,EAAE,UAAC,GAAQ,IAAK,0EAAe,CAAC,GAAG,EAAE,OAAO,CAAC,EAA7B,CAA6B;QACtD,MAAM,EAAE,UAAC,GAAQ,IAAK,0EAAe,CAAC,GAAG,CAAC,EAApB,CAAoB;KAC3C,CACF,CAAC;AACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1U8B;AAG/B;IAA0C,wCAAyB;IACjE,8BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QAOO,yBAAmB,GAAQ,IAAI,CAAC;QARtC,KAAI,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;;IAC7B,CAAC;IACD,sBAAc,wCAAM;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAc,qCAAG;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3C,CAAC;;;OAAA;IAED,gDAAiB,GAAjB;QACE,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,mBAAmB,GAAG;gBACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAChE;IACH,CAAC;IACD,mDAAoB,GAApB;QACE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC3C,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACjC;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,CA3ByC,+CAAe,GA2BxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9B8B;AACmB;AACiB;AACX;AAExD;IAAoC,kCAAoB;IACtD,wBAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,iCAAK;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAc,oCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACnC,CAAC;;;OAAA;IACD,sBAAc,wCAAY;aAA1B;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAClC,CAAC;;;OAAA;IACD,+BAAM,GAAN;QACE,IAAI,aAAa,GAAG;YAClB,KAAK,EAAE,IAAI,CAAC,QAAQ,GAAG,GAAG;SAC3B,CAAC;QACF,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YACrE,6DACE,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAC/B,IAAI,EAAC,aAAa,mBACH,CAAC,mBACD,GAAG;gBAElB,8DACE,SAAS,EAAE,+DAAmB,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,IAE/D,IAAI,CAAC,YAAY,CACb,CACH;YACN,8DACE,SAAS,EAAE,+DAAmB,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,IAElE,IAAI,CAAC,YAAY,CACb,CACH,CACP,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,CAxCmC,+EAAoB,GAwCvD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,mBAAmB,EAAE,eAAK;IACrE,OAAO,mDAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AACH,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,uBAAuB,EAAE,eAAK;IACzE,OAAO,mDAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AACH,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,8BAA8B,EAC9B,eAAK;IACH,OAAO,mDAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CACF,CAAC;AACF,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,+BAA+B,EAC/B,eAAK;IACH,OAAO,mDAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChE6B;AACqC;AACD;AACX;AAExD;IAA2C,yCAAoB;IAI7D,+BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAGb;QANO,oBAAc,GAAQ,SAAS,CAAC;QAItC,KAAI,CAAC,oBAAoB,GAAG,IAAI,sEAA0B,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;QACxE,KAAI,CAAC,gBAAgB,GAAG,+CAAe,EAAE,CAAC;;IAC5C,CAAC;IACD,sCAAM,GAAN;QAAA,iBA6BC;QA5BC,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,8BAA8B;YACrD,6DAAK,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,wBAAwB;gBAC/C,6DACE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EACxC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE;wBACP,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC;oBAA3D,CAA2D,GAExD;gBACP,6DACE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAChD,GAAG,EAAE,IAAI,CAAC,gBAAgB;oBAE1B,4DAAI,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,IACxC,IAAI,CAAC,eAAe,EAAE,CACpB,CACD;gBACN,6DACE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EACzC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE;wBACP,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC;oBAA5D,CAA4D,GAEzD,CACH,CACF,CACP,CAAC;IACJ,CAAC;IACS,+CAAe,GAAzB;QAAA,iBAMC;QALC,IAAI,OAAO,GAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,IAAe,EAAE,KAAa;YAC9D,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IACS,iDAAiB,GAA3B,UAA4B,IAAe,EAAE,KAAa;QAA1D,iBAyBC;QAxBC,OAAO,CACL,4DACE,GAAG,EAAE,aAAa,GAAG,KAAK,EAC1B,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EACxC,OAAO,EACL,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;gBAChC,CAAC,CAAC,cAAM,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B;gBACpC,CAAC,CAAC,SAAS;YAGf,6DACE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAC5C,KAAK,EAAE,IAAI,CAAC,uBAAuB,IAElC,IAAI,CAAC,uBAAuB,CACzB;YACN,6DACE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,8BAA8B,EAClD,KAAK,EAAE,IAAI,CAAC,qBAAqB,IAEhC,IAAI,CAAC,qBAAqB,CACvB,CACH,CACN,CAAC;IACJ,CAAC;IACS,sDAAsB,GAAhC,UAAiC,KAAa;QAC5C,OAAO,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IACS,iDAAiB,GAA3B,UAA4B,KAAa;QACvC,OAAO,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IACS,gDAAgB,GAA1B,UAA2B,KAAa;QACtC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IACS,kDAAkB,GAA5B,UAA6B,YAAqB;QAChD,OAAO,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5F,CAAC;IACS,iDAAiB,GAA3B,UACE,oBAAoC,EACpC,YAAqB;QAErB,IAAG,CAAC,CAAC,oBAAoB,EAAE;YACzB,oBAAoB,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;SACjE;IACH,CAAC;IACD,iDAAiB,GAAjB;QAAA,iBAMC;QALC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;YAChC,IAAG,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBAClC,KAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,GAAG,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;aACxH;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IACD,oDAAoB,GAApB;QACE,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;YAC9C,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;SACjC;IACH,CAAC;IACH,4BAAC;AAAD,CAAC,CAzG0C,+EAAoB,GAyG9D;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,UAAC,KAAK;IACxE,OAAO,mDAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClH4B;AAC2C;AACP;AACX;AACV;AACG;AACQ;AAEzD;IAAuC,qCAAoB;IAA3D;;IAkBA,CAAC;IAjBC,kCAAM,GAAN;QACE,IAAM,QAAQ,GAAG,IAAI,oDAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,OAAoB,CAAC;QACzB,IAAG,QAAQ,CAAC,QAAQ,EAAE;YACpB,OAAO,GAAG,6DAAK,OAAO,EAAE,QAAQ,CAAC,WAAW;gBAC1C,oDAAC,qEAAO,IAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG;gBAC7C,oDAAC,6DAAK,IAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,GAAG,CAChC,CAAC;SACR;aAAM;YACL,OAAO,GAAG,oDAAC,0DAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,GAAI,CAAC;SAC/C;QACD,OAAO,CACL,6DAAK,SAAS,EAAE,QAAQ,CAAC,YAAY,IAClC,OAAO,CACJ,CACP,CAAC;IACJ,CAAC;IACH,wBAAC;AAAD,CAAC,CAlBsC,+EAAoB,GAkB1D;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,iBAAiB,EAAE,UAAC,KAAK;IACpE,OAAO,mDAAmB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9B4B;AASiC;AACR;AACwB;AACZ;AACf;AACE;AASvD;IAAoC,kCAA2B;IAc7D,wBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QAhBO,iBAAW,GAAG,KAAK,CAAC;QAe1B,KAAI,CAAC,OAAO,GAAG,+CAAe,EAAE,CAAC;;IACnC,CAAC;IAfa,iCAAkB,GAAhC,UACE,OAAuB,EACvB,QAAkB;QAElB,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;SAChD;QACD,OAAO,oDAAC,iEAAkB,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC;IACtE,CAAC;IAMS,wCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,sBAAc,oCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAY,mCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,0CAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;SAC/B;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,6CAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;SAC/B;QACD,IAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,CAAC,EAAE,EAAE;YACR,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;SACrC;IACH,CAAC;IACD,2CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACO,sCAAa,GAArB;QACE,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;aACpC;YACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC9B,IAAI,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,GAAG,EAAE;gBAClD,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;gBACtC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC7B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBAC/B;aACF;SACF;IACH,CAAC;IACS,kCAAS,GAAnB;QACE,OAAO,CACL,iBAAM,SAAS,WAAE;YACjB,CAAC,CAAC,IAAI,CAAC,QAAQ;YACf,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,IAAI,CAAC,QAAQ,CAAC,SAAS,CACxB,CAAC;IACJ,CAAC;IAES,8CAAqB,GAA/B;QACE,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,YAAY,GAAG;YACjB,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;SAClD,CAAC;QACF,IAAI,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACrC,IAAI,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc;YAC1C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB;YAChD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,OAAO,GACT,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,IAAI,qBAAqB,GAAG,QAAQ,CAAC,wBAAwB;YAC3D,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC1B,CAAC,CAAC,IAAI,CAAC;QACT,OAAO,CACL,6DACE,SAAS,EAAE,QAAQ,CAAC,UAAU,IAAI,SAAS,EAC3C,KAAK,EAAE,YAAY,EACnB,IAAI,EAAC,cAAc;YAElB,SAAS;YACT,cAAc;YACd,OAAO;YACP,YAAY;YACZ,qBAAqB,CAClB,CACP,CAAC;IACJ,CAAC;IACS,sCAAa,GAAvB;QACE,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACrC,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,IAAI,YAAY,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7D,IAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB;YAC/D,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC;QAET,IAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB;YAC/D,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAE7E,OAAO,CACL;YACE,6DACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,EAAE,EAAE,QAAQ,CAAC,EAAE,EACf,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,EAChC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,QAAQ,CAAC,QAAQ,mBACR,IAAI,CAAC,QAAQ,CAAC,YAAY,kBAC3B,IAAI,CAAC,QAAQ,CAAC,WAAW,qBACtB,QAAQ,CAAC,cAAc,mBACzB,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,KAAK,MAAM;gBAE3F,mBAAmB;gBACnB,SAAS;gBACT,eAAe;gBACf,YAAY;gBACZ,mBAAmB,CAChB,CACL,CACJ,CAAC;IACJ,CAAC;IACS,oCAAW,GAArB,UAAsB,OAAoB;QACxC,IAAM,MAAM,GAAgB,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QAChE,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,4EAA0B,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClF;QACD,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,CAAC;IAC5B,CAAC;IACS,4CAAmB,GAA7B,UAA8B,OAAoB;QAChD,IAAM,MAAM,GAAgB,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QAChE,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,4EAA0B,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1F;QACD,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,CAAC;IAC5B,CAAC;IACS,uCAAc,GAAxB;QACE,OAAO,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;IACS,0CAAiB,GAA3B;QACE,OAAO,wEAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;IACS,sCAAa,GAAvB,UAAwB,UAAe;QACrC,IAAM,WAAW,GAAG,wEAAiB,CAAC,eAAe,CACnD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC7B,CAAC;QACF,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;YAC/C,iEAAM,WAAW,CAAO;YACxB,oDAAC,gFAAyB,IACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,UAAU,CAAC,KAAK,EAC1B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC5C,CACE,CACP,CAAC;IACJ,CAAC;IACS,qCAAY,GAAtB,UAAuB,QAAkB;QACvC,OAAO,oDAAC,mEAAmB,IAAC,OAAO,EAAE,QAAQ,GAAwB,CAAC;IACxE,CAAC;IACS,qCAAY,GAAtB,UAAuB,UAAe,EAAE,QAAgB;QACtD,OAAO,CACL,oDAAC,mBAAmB,IAClB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,SAAS,GAChC,CACH,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,CAvMmC,wEAAiB,GAuMpD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,UAAC,KAAK;IAC7D,OAAO,mDAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH;IAAyC,uCAAkB;IACzD,6BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,QAAQ,EAAE,CAAC;;IAC/B,CAAC;IACD,sBAAc,mCAAE;aAAhB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;QAC3C,CAAC;;;OAAA;IACD,sBAAc,wCAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAY,wCAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAc,yCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACO,sCAAQ,GAAhB,UAAiB,SAAqB;QAArB,4CAAqB;QACpC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;IACpE,CAAC;IACS,uCAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACzD,CAAC;IACD,kDAAoB,GAApB;IACA,CAAC;IACS,2CAAa,GAAvB;QACE,IAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,IAAM,GAAG,GAAW,OAAO,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CACvE,CAAC;SACH;QAED,OAAO,CACL,6DACE,IAAI,EAAC,OAAO,eACF,QAAQ,EAClB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAChC,EAAE,EAAE,IAAI,CAAC,EAAE,IAEV,MAAM,CACH,CACP,CAAC;IACJ,CAAC;IACH,0BAAC;AAAD,CAAC,CA7CwC,yEAAkB,GA6C1D;;AAED;IAA6D,kDAAkB;IAE7E,wCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,wDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,sBAAc,oDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAc,mDAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACS,oDAAW,GAArB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IACD,sBAAc,mDAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,0DAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,2DAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACS,sDAAa,GAAvB,cAA4B,CAAC;IACnB,kDAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACS,sDAAa,GAAvB;QACE,IAAI,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,OAAO,CACL,0GACG,gBAAgB,CAChB,CACJ,CAAC;IACJ,CAAC;IAES,sDAAa,GAAvB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;IACjC,CAAC;IACS,uDAAc,GAAxB;QACE,OAAO,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;IACH,qCAAC;AAAD,CAAC,CA/C4D,yEAAkB,GA+C9E;;AAED;IAAiD,+CAA8B;IAG7E,qCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,OAAO,GAAG,+CAAe,EAAE,CAAC;;IACnC,CAAC;IACD,0DAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,CAAC,EAAE,EAAE;gBACR,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;aACrC;SACF;IACH,CAAC;IACS,mDAAa,GAAvB;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,IAAM,OAAO,GAAG,cAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CACL,4DACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,SAAS,EAAE,IAAI,CAAC,OAAO,EACvB,OAAO,EAAE,IAAI,CAAC,QAAQ,2BACC,IAAI,CAAC,aAAa,EAAE,EAC3C,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EACtB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,IAEf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAC5B,CACE,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,IAChD,IAAI,CAAC,cAAc,EAAE,CAClB,CAAC,CACV,CACE,CACN,CAAC;IACJ,CAAC;IACS,kDAAY,GAAtB;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IACS,mDAAa,GAAvB;QACE,OAAO,EAAE,CAAC;IACZ,CAAC;IACS,8CAAQ,GAAlB,UACE,IAAwC,EACxC,OAAoB;QAEpB,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,OAAO,CAAC;SAChB;QACD,IAAM,MAAM,GAAgB,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QAChE,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,4EAA0B,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC/F;QACD,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,CAAC;IAC5B,CAAC;IACH,kCAAC;AAAD,CAAC,CA3DgD,8BAA8B,GA2D9E;;AAED;IAA6C,2CAAyB;IACpE,iCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAOb;QANC,KAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,CAAC;SACX,CAAC;QACF,IAAG,KAAI,CAAC,QAAQ,EAAE;YAChB,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;SACtC;;IACH,CAAC;IACD,sBAAY,6CAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACO,wCAAM,GAAd;QACE,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IACO,kDAAgB,GAAxB,UAAyB,QAAkB;QAA3C,iBAIC;QAHC,QAAQ,CAAC,sCAAsC,CAAC,QAAQ,EAAE;YACxD,KAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC5B,CAAC;IACO,oDAAkB,GAA1B,UAA2B,QAAkB;QAC3C,QAAQ,CAAC,wCAAwC,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IACrF,CAAC;IACD,oDAAkB,GAAlB,UAAmB,SAAwB;QACzC,IAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;YAC7D,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACzC;QACD,IAAG,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtC;IACH,CAAC;IACD,sDAAoB,GAApB;QACE,IAAG,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxC;IACH,CAAC;IACD,wCAAM,GAAN;QACE,OAAO,oDAAC,mBAAmB,IAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAwB,CAAC;IAChJ,CAAC;IACH,8BAAC;AAAD,CAAC,CAxC4C,+CAAe,GAwC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzamE;AAC1C;AAEkC;AACH;AAKpC;AAGrB;IAA+C,6CAAyB;IACtE,mCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,+CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAwC,CAAC;QACvD,CAAC;;;OAAA;IACD,mDAAe,GAAf;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,iDAAa,GAAb;QACE,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,OAAO,oEAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAG,KAAK,CAAO,CAAC;IACtE,CAAC;IACD,+CAAW,GAAX;QAAA,iBAaC;QAZC,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CACrC,UAAC,IAA0B,EAAE,KAAa;YACxC,OAAO,CACL,2DAAC,qBAAqB,IACpB,GAAG,EAAE,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,GAAG,KAAK,EACxC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,KAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,KAAK,GACW,CAC1B,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IACH,gCAAC;AAAD,CAAC,CA5B8C,gFAAyB,GA4BvE;;AAED;IAA2C,yCAA2B;IAEpE,+BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAI,wCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAI,2CAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAI,uCAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,+CAAe,GAAf;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACM,6CAAa,GAApB;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,gEAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,OAAO,CACL,sEACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY;YAErC,KAAK;YACN,oEAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS;gBACrC,IAAI;gBACJ,OAAO,CACJ,CACA,CACT,CAAC;IACJ,CAAC;IACS,0CAAU,GAApB;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACzB,OAAO,CACL,2DAAC,qEAAO,IACN,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAC9B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,GACtB,CACZ,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACS,2CAAW,GAArB;QAAA,iBAoBC;QAnBC,OAAO,CACL,sEACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EACjC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EACjB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EACrB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,QAAQ,EAAE;gBACR,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC,mBACc,IAAI,CAAC,KAAK,CAAC,UAAU,gBACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,kBAC7B,IAAI,CAAC,KAAK,CAAC,SAAS,sBAChB,IAAI,CAAC,KAAK,CAAC,WAAW,EACxC,IAAI,EAAC,OAAO,GACZ,CACH,CAAC;IACJ,CAAC;IACS,6CAAa,GAAvB;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,CACL,qEACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,IAErC,OAAO,CACH,CACR,CAAC;IACJ,CAAC;IACH,4BAAC;AAAD,CAAC,CAjF0C,wEAAiB,GAiF3D;;AAED,2EAA2E;AAC3E,kEAAkE;AAClE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/HyB;AAIE;AACsC;AACR;AACC;AAER;AAExD;IAA4C,0CAAyB;IACnE,gCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,4CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAqC,CAAC;QACpD,CAAC;;;OAAA;IACS,8CAAa,GAAvB;QAAA,iBAsBC;QArBC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,OAAO,CACL,kEACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAC/C,GAAG,EAAE,UAAC,QAAQ,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAA3B,CAA2B,EAC9C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,mBACxB,IAAI,CAAC,QAAQ,CAAC,uBAAuB,gBACxC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,qBAC7B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,kBAC1C,IAAI,CAAC,QAAQ,CAAC,sBAAsB,sBAChC,IAAI,CAAC,QAAQ,CAAC,0BAA0B;YAE1D,gEAAQ,IAAI,EAAC,cAAc,EAAC,SAAS,EAAE,WAAW,GAAW;YAC5D,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,UAAU;gBACvB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3B,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CACjD,CACZ,CAAC;IACJ,CAAC;IAES,0CAAS,GAAnB;QAAA,iBAWC;QAVC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;YAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,EAAU;gBACvD,YAAI,CAAC,UAAU,CACb,QAAQ,GAAG,EAAE,EACb,IAAI,EACJ,KAAK,EACL,KAAI,CAAC,QAAQ,CAAC,UAAU,CACzB;YALD,CAKC,CACF,CAAC;SACH;IACH,CAAC;IACS,0CAAS,GAAnB;QAAA,iBAWC;QAVC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;YAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,EAAU;gBACvD,YAAI,CAAC,UAAU,CACb,QAAQ,GAAG,EAAE,EACb,IAAI,EACJ,KAAK,EACL,KAAI,CAAC,QAAQ,CAAC,UAAU,CACzB;YALD,CAKC,CACF,CAAC;SACH;IACH,CAAC;IACS,gDAAe,GAAzB,UAA0B,UAAe;QACvC,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,eAAe,IACvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CACxB,CACP,CAAC;IACJ,CAAC;IACS,2CAAU,GAApB,UAAqB,UAAe;QAApC,iBAiBC;QAhBC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAW,EAAE,EAAU;YACvD,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,EAAU;gBAC3C,YAAI,CAAC,UAAU,CACb,MAAM,GAAG,EAAE,EACX,IAAI,EACJ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EACpB,UAAU,EACV,EAAE,GAAG,EAAE,GAAG,EAAE,CACb;YAND,CAMC,CACF,CAAC;YACF,OAAO,CACL,6DAAK,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAC,cAAc,IACpF,KAAK,CACF,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAES,wCAAO,GAAjB,UAAkB,UAAe;QAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC5B,OAAO,6DAAK,SAAS,EAAE,UAAU,CAAC,OAAO,IAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAO,CAAC;SACzG;;YACI,OAAO,0GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAI,CAAC;IACxE,CAAC;IACS,yCAAQ,GAAlB,UAAmB,UAAe,EAAE,OAAyB;QAC3D,IAAI,aAAa,GAAsB,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;YACrB,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1E,IAAG,CAAC,CAAC,YAAY,EAAE;gBACjB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAClC;SACF;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,sBAAc,6CAAS;aAAvB;YACE,OAAO,IAAI,CAAC;QACd,CAAC;;;OAAA;IACS,4CAAW,GAArB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACnD,oDAAC,mFAA4B,IAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,UAAU,CAAC,KAAK,EAC1B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,IAAI,CAAC,aAAa,GACjC,CACE,CACP,CAAC;IACJ,CAAC;IACS,2CAAU,GAApB,UACE,GAAW,EACX,IAAS,EACT,OAAgB,EAChB,UAAe,EACf,KAAc;QAEd,IAAM,YAAY,GAAG,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;YAC3F,GAAG,EAAE,GAAG;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,UAAU;YACtB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QACnD,IAAI,WAAW,GAAuB,IAAI,CAAC;QAC3C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,YAAY,EAAE;YAC9B,WAAW,GAAG,4EAA0B,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACnG;QACD,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,YAAY,CAAC;IACrC,CAAC;IACH,6BAAC;AAAD,CAAC,CA3I2C,gFAAyB,GA2IpE;;AACD;IAAgD,8CAAkB;IAChE,oCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SACb;QAgCD,oBAAc,GAAG,UAAC,KAAU;YAC1B,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClE,CAAC;QACD,sBAAgB,GAAG,UAAC,KAAU;YAC5B,KAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAClC,CAAC;;IArCD,CAAC;IACS,oDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,sBAAc,gDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAc,4CAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,sBAAc,iDAAS;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,CAAC;;;OAAA;IACD,sBAAc,+CAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAc,6CAAK;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAY,mDAAW;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;QACzC,CAAC;;;OAAA;IACM,0DAAqB,GAA5B,UAA6B,SAAc,EAAE,SAAc;QACzD,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QACrE,IAAG,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChC,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY;YAC3B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY;YAC7C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe;YACvD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAC/C,CAAC;IACJ,CAAC;IAOS,8CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxC,CAAC;IACS,kDAAa,GAAvB;QACE,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,sBAAc,kDAAU;aAAxB;YACE,OAAO,IAAI,CAAC,0BAAyB;QACvC,CAAC;;;OAAA;IACS,mDAAc,GAAxB,UACE,SAAkB,EAClB,SAA6B;QAE7B,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,aAAa,GACf,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa;YACtC,CAAC,CAAC,IAAI,CAAC,gBAAgB;YACvB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAC1B,IAAM,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,8DAAM,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,IAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7J,OAAO,CACL,6DAAK,SAAS,EAAE,SAAS,EAAE,IAAI,EAAC,cAAc;YAC5C,+DAAO,SAAS,EAAE,UAAU;gBAC1B,+DACE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EACtC,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACnE,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAClD,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,aAAa,GACvB;gBAEA,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;oBACjC,8DAAM,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBAC1B,6DACE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;4BAExC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAQ,CAC7C,CAAC,CAAC;wBACR,IAAI,CAED,CAAC,CAAC;oBACT,IAAI;gBAEP,SAAS,CACJ;YACP,SAAS,CACN,CACP,CAAC;IACJ,CAAC;IACH,iCAAC;AAAD,CAAC,CAnG+C,yEAAkB,GAmGjE;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,EAAE,UAAC,KAAU;IAC9E,OAAO,mDAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAC,KAAK;IAC/D,OAAO,mDAAmB,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClQ4B;AACiE;AAEjC;AACY;AAE3E;IAA2C,yCAAuD;IAChG,+BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,6CAAa,GAAvB;QAAA,iBA0CC;QAzCC,IAAI,MAAM,GAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;QACpH,IAAI,OAAO,GAAG,UAAC,KAAU;YACvB,IAAI,KAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;gBACnC,KAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;aAChC;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;aAC/B;YAED,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACpC,KAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC,CAAC;QACF,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE;YACvC,OAAO,iEAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAO,CAAC;SACzC;QACD,IAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,oDAAC,uFAAyB,IAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,yBAAyB,GAA8B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1O,OAAO,CACL;YACE,kEACE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,GAAG,EAAE,UAAC,QAAQ,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAA3B,CAA2B,EAC9C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EACvC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,UAAC,KAAK,IAAO,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACzD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,mBACT,IAAI,CAAC,QAAQ,CAAC,uBAAuB,gBACxC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,qBAC7B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,kBAC1C,IAAI,CAAC,QAAQ,CAAC,sBAAsB,sBAChC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAC1D,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAC5C;YACD,OAAO,CACP,CACJ,CAAC;IACJ,CAAC;IACH,4BAAC;AAAD,CAAC,CA/C0C,wFAAiC,GA+C3E;;AAED;IAA+C,6CAAkB;IAAjE;;IAqDA,CAAC;IApDW,6CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC/B,CAAC;IACS,mDAAe,GAAzB,UAA0B,KAAU;QAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IACS,kDAAc,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACS,8CAAU,GAApB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;IACrC,CAAC;IACS,yCAAK,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;IACvC,CAAC;IACS,kDAAc,GAAxB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACxD,CAAC;IACS,iDAAa,GAAvB;QAAA,iBAiCC;QAhCC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnC,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAC/D,IAAI,cAAc,GAAG,UAAC,KAAU;YAC9B,KAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/C,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC;QACF,IAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,YAAY,GAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,eAAe,EAAE;YACzE,YAAY,GAAG,eAAe,CAAC;SAChC;QACD,IAAI,OAAO,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC;QAEhF,IAAI,QAAQ,CAAC,mBAAmB,EAAE,EAAE;YAClC,OAAO,iEAAM,OAAO,CAAO,CAAC;SAC7B;QACD,OAAO,CACL,kEACE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAChB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,SAAS,EAAE,QAAQ,CAAC,kBAAkB,EAAE,EACxC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,EAClC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,UAAC,CAAC,IAAO,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9D,OAAO,EAAE,UAAC,CAAC,IAAK,YAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAtB,CAAsB,mBACvB,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,uBAAuB,gBAC1D,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,oBAAoB,EAC/D,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,GACvC,CACH,CAAC;IACJ,CAAC;IACH,gCAAC;AAAD,CAAC,CArD8C,yEAAkB,GAqDhE;;AACD;IAAkD,gDAAyB;IAA3E;;IAgBA,CAAC;IAfW,sDAAe,GAAzB,UAA0B,KAAU;QAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IACS,qDAAc,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IACS,iDAAU,GAApB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;IACxC,CAAC;IACS,4CAAK,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;IACrC,CAAC;IACS,qDAAc,GAAxB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC9C,CAAC;IACH,mCAAC;AAAD,CAAC,CAhBiD,yBAAyB,GAgB1E;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,KAAK;IAC9D,OAAO,mDAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjI4B;AAC6C;AAC3B;AAEc;AACzB;AAEtC;IAA0C,wCAAsD;IAC9F,8BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,+CAAgB,GAA1B;QACE,IAAM,GAAG,GAAG,iBAAM,gBAAgB,WAAE,CAAC;QACrC,IAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;YAClC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;SACzC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACS,4CAAa,GAAvB;QACE,OAAO,6DAAc,CAAC,kBAAkB,CACtC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC9B,CAAC;IACJ,CAAC;IACH,2BAAC;AAAD,CAAC,CAjByC,wFAAiC,GAiB1E;;AAED;IAA6C,2CAAyD;IACpG,iCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACS,2CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IACtC,CAAC;IACS,+CAAa,GAAvB;QACE,OAAO,CACL,oDAAC,kDAAW,IACV,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GACf,CAChB,CAAC;IACJ,CAAC;IACH,8BAAC;AAAD,CAAC,CAhB4C,wFAAiC,GAgB7E;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAC,KAAK;IAC7D,OAAO,mDAAmB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AACH,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAC,KAAK;IAChE,OAAO,mDAAmB,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjD4B;AAEgC;AACF;AAE7D;IAA4C,0CAAoC;IAC9E,gCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IAES,8CAAa,GAAvB;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;YACxC,MAAM;YACN,OAAO,CACJ,CACP,CAAC;IACJ,CAAC;IACH,6BAAC;AAAD,CAAC,CAhB2C,yEAA0B,GAgBrE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAC,KAAK;IAC/D,OAAO,mDAAmB,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzB4B;AACiF;AAExD;AACQ;AAEhE;IAA6C,qCAAqB;IAiBhE,2BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SACb;QAUO,2BAAqB,GAAG,IAAI,CAAC;;IAVrC,CAAC;IAlBa,iCAAe,GAA7B,UACE,MAAyB,EACzB,KAAiB,EACjB,GAAY;QADZ,oCAAiB;QAGjB,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;YACjE,MAAM,EAAE,MAAM,CAAC,YAAY;YAC3B,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;IACL,CAAC;IACa,2CAAyB,GAAvC,UAAwC,QAA+B;QACrE,IAAI,eAAe,GAAG,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACjF,OAAO,6DAAK,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAG,SAAS,EAAE,QAAQ,CAAC,cAAc,IAAG,eAAe,CAAO,CAAC;IAC7I,CAAC;IAKD,6CAAiB,GAAjB;QACE,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IACD,gDAAoB,GAApB;QACE,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IACD,8CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAES,gDAAoB,GAA9B;QACE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACS,+CAAmB,GAA7B;QACE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IACD,iDAAqB,GAArB,UAAsB,SAAa,EAAE,SAAa;QAChD,IAAG,IAAI,CAAC,qBAAqB,EAAE;YAC7B,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IACD,kCAAM,GAAN;QACE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3B,IAAG,CAAC,CAAC,GAAG,EAAE;YACR,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC;IACS,uCAAW,GAArB,UAAsB,OAAoB;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,sBAAc,0CAAW;aAAzB;YACE,IAAI,QAAQ,GAAe,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACtD,KAAmB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;gBAAzB,IAAI,OAAO;gBACb,IAAG,OAAO,CAAC,cAAc,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;aAC5C;YACD,OAAO,KAAK,CAAC;QACf,CAAC;;;OAAA;IACS,+CAAmB,GAA7B;QACE,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;IACO,6CAAiB,GAAzB,UAA0B,GAAW;QACnC,IAAI,QAAQ,GAAe,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACtD,KAAmB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;YAAzB,IAAI,OAAO;YACb,IAAI,CAAC,OAAO,CAAC,cAAc;gBAAE,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;YACxD,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC;SAC/B;IACH,CAAC;IACS,qCAAS,GAAnB;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IACS,yCAAa,GAAvB;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,sBAAc,mDAAoB;aAAlC;YACE,OAAO,IAAI,CAAC,yBAAyB,CAAC;QACxC,CAAC;;;OAAA;IACO,iDAAqB,GAA7B;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;IACH,CAAC;IACO,mDAAuB,GAA/B;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;IACH,CAAC;IACS,4CAAgB,GAA1B;QACE,IAAI,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAChC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,CAAC;IACS,2CAAe,GAAzB;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,sBAAc,4CAAa;aAA3B;YACE,IAAM,KAAK,GAAQ,IAAI,CAAC,KAAK,CAAC;YAC9B,OAAO,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC;QACtC,CAAC;;;OAAA;IACS,2CAAe,GAAzB,UACE,MAAyB,EACzB,KAAiB,EACjB,GAAY;QADZ,oCAAiB;QAGjB,OAAO,iBAAiB,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;IACO,wCAAY,GAApB,UAAqB,YAAkB;QACrC,OAAO,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC;IAChE,CAAC;IACO,gDAAoB,GAA5B,UAA6B,YAAkB;QAA/C,iBAmCC;QAlCC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAAE,OAAO;QAC7C,YAAY,CAAC,qBAAqB,CAAC,UAAC,IAAI,EAAE,GAAG;YAC3C,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;gBAAE,OAAO;YACzC,IAAI,GAAG,GAAQ,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,GAAG,GAAQ,GAAG,CAAC;gBACnB,GAAG,CAAC,gBAAgB,CAAC,GAAG,UAAC,YAA0B;oBACjD,IAAI,KAAI,CAAC,WAAW;wBAAE,OAAO;oBAC7B,KAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;oBACrC,KAAI,CAAC,QAAQ,CAAC,UAAC,KAAU;wBACvB,IAAI,QAAQ,GAA6B,EAAE,CAAC;wBAC5C,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;wBACpB,OAAO,QAAa,CAAC;oBACvB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,2BAA2B,GAAG,UACzC,IAAS,EACT,GAAW,EACX,GAAQ;YAER,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE;gBACrB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBAChB,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;oBAAE,OAAO;gBACzC,IAAI,KAAI,CAAC,WAAW;oBAAE,OAAO;gBAC7B,KAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;gBACrC,KAAI,CAAC,QAAQ,CAAC,UAAC,KAAU;oBACvB,IAAI,QAAQ,GAA6B,EAAE,CAAC;oBAC5C,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;oBACpB,OAAO,QAAa,CAAC;gBACvB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;IACJ,CAAC;IACS,6CAAiB,GAA3B,UAA4B,GAAW;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACO,kDAAsB,GAA9B,UAA+B,YAAkB;QAC/C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAAE,OAAO;QAC7C,YAAY,CAAC,2BAA2B,GAAG,SAAgB,CAAC;QAC5D,YAAY,CAAC,qBAAqB,CAAC,UAAC,IAAI,EAAE,GAAG;YAC3C,IAAI,GAAG,GAAQ,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,GAAG,GAAQ,GAAG,CAAC;gBACnB,GAAG,CAAC,gBAAgB,CAAC,GAAG,cAAO,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACH,wBAAC;AAAD,CAAC,CA3K4C,+CAAe,GA2K3D;;AAED;IAAwC,sCAA2B;IACjE,4BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,0CAAU;aAAxB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,CAAC;;;OAAA;IACH,yBAAC;AAAD,CAAC,CAPuC,iBAAiB,GAOxD;;AAED;IAA+C,6CAA2B;IAExE,mCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sDAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,qDAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,wDAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,IAAM,EAAE,GAAgB,IAAI,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,CAAC,EAAE,EAAE;gBACR,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;aACrC;SACF;IACH,CAAC;IACS,oDAAgB,GAA1B;QACE,IAAM,EAAE,GAAgB,IAAI,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,CAAC,EAAE,EAAE;YACR,IAAI,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,GAAG,EAAE;gBAC5C,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;gBACtC,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;aAClD;SACF;IACH,CAAC;IACD,sBAAc,mDAAY;aAA1B;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACS,uDAAmB,GAA7B;QACE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IACD,sBAAc,8CAAO;aAArB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACS,6CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/C,CAAC;IACM,yDAAqB,GAA5B,UAA6B,SAAc,EAAE,SAAc;QACzD,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAErE,OAAO,CACL,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY;YAC/B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,YAAY;YACjD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe;YAC3D,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CACnD,CAAC;IACJ,CAAC;IACD,sBAAc,oDAAa;aAA3B;YACE,IAAM,KAAK,GAAQ,IAAI,CAAC,KAAK,CAAC;YAC9B,OAAO,CACL,KAAK,CAAC,aAAa;gBACnB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,KAAK,CACpE,CAAC;QACJ,CAAC;;;OAAA;IACS,4CAAQ,GAAlB,UACE,IAAS,EACT,OAAoB,EACpB,MAAc;QAEd,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,OAAO,CAAC;SAChB;QACD,IAAM,MAAM,GAAgB,IAAI,CAAC,YAAY;aAC1C,MAAqB,CAAC;QACzB,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,4EAA0B,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SACpF;QACD,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,CAAC;IAC5B,CAAC;IACM,8CAAU,GAAjB,UAAkB,OAA2B;QAC3C,IAAG,CAAC,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;IACH,CAAC;IACH,gCAAC;AAAD,CAAC,CAlF8C,iBAAiB,GAkF/D;;AAED;IAEU,qDAAyB;IACjC,2CAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QAID,wBAAkB,GAAG,UAAC,KAAU;YAC9B,IACE,CAAC,mDAAO,CAAC,gBAAgB,CAAC,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAC1F;gBACA,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;QAXA,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IAC/D,CAAC;IACD,sBAAc,uDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAiB,CAAC;QAChC,CAAC;;;OAAA;IAQS,wDAAY,GAAtB,UAAuB,QAAa;QAClC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;IACrC,CAAC;IACS,wDAAY,GAAtB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;IACjC,CAAC;IACS,4DAAgB,GAA1B;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB,IAAM,OAAO,GAAQ,IAAI,CAAC,OAAO,CAAC;YAClC,IAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,IAAI,CAAC,mDAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;gBAC1E,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACzC;SACF;QACD,iBAAM,gBAAgB,WAAE,CAAC;IAC3B,CAAC;IACO,oDAAQ,GAAhB,UAAiB,GAAQ;QACvB,IAAI,mDAAO,CAAC,YAAY,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QACzC,OAAO,GAAG,CAAC;IACb,CAAC;IACH,wCAAC;AAAD,CAAC,CAnCS,yBAAyB,GAmClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrT8B;AACqC;AAEL;AAE/D;IAAyC,uCAAyB;IAChE,6BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,KAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;;IAC9C,CAAC;IACD,sBAAc,yCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAkC,CAAC;QACjD,CAAC;;;OAAA;IACS,2CAAa,GAAvB;QACE,OAAO,gEAAO,CAAC;IACjB,CAAC;IACH,0BAAC;AAAD,CAAC,CAXwC,gFAAyB,GAWjE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,KAAK;IAC5D,OAAO,mDAAmB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpB4B;AACqC;AAEL;AAE/D;IAA8C,4CAAyB;IACrE,kCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,8CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAuC,CAAC;QACtD,CAAC;;;OAAA;IACS,gDAAa,GAAvB;QAAA,iBAWC;QAVC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,OAAO,CACL,6DACE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,UAAU,CAAC,IAAI,EAC1B,GAAG,EAAE,UAAC,GAAG,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAtB,CAAsB,IAEnC,IAAI,CAAC,QAAQ,CAAC,aAAa,CACxB,CACP,CAAC;IACJ,CAAC;IACH,+BAAC;AAAD,CAAC,CAnB6C,gFAAyB,GAmBtE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAC,KAAK;IACjE,OAAO,mDAAmB,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;;;;;;;;;;;;;AC1BH;AAAA;AAAA;IAAA;QAEU,gBAAW,GAA6C,EAAE,CAAC;IAoBrE,CAAC;IAlBQ,+CAAgB,GAAvB,UACE,YAAoB,EACpB,eAA8C;QAE9C,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,eAAe,CAAC;IACnD,CAAC;IACM,0CAAW,GAAlB;QACE,IAAI,MAAM,GAAG,IAAI,KAAK,EAAU,CAAC;QACjC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IACM,6CAAc,GAArB,UAAsB,YAAoB,EAAE,MAAW;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IApBa,6BAAQ,GAAyB,IAAI,oBAAoB,EAAE,CAAC;IAqB5E,2BAAC;CAAA;AAtBgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFF;AAEsC;AACZ;AACW;AACL;AAEY;AACJ;AACiB;AAExF;IAAwC,sCAAyB;IAC/D,4BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,wCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAiC,CAAC;QAChD,CAAC;;;OAAA;IACS,0CAAa,GAAvB;QAAA,iBAgEC;QA/DC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnG,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,IAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CACzE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CACtC,CAAC,CAAC,CAAC,IAAI,CAAC;QACT,IAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CACrF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAC5C,EAAC,CAAC,IAAI,CAAC;QACR,IAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAC,EAAC,oDAAC,iFAAe,IAAC,KAAK,EAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5I,IAAM,SAAS,GAAG,CAChB,IAAI,CAAC,aAAa,CAAC,CAAC;YAClB,+DACE,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EACxG,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,GAAG,EAAE,eAAK,IAAI,QAAC,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAxB,CAAwB,EACtC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAC1D,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAO,CAAC,CAAC,EACnE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EACrC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAChC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,GACnC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC5B,+DACE,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,QAAQ,EAAE,CAAC,CAAC,EACZ,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EACxG,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,GAAG,EAAE,eAAK,IAAI,QAAC,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAxB,CAAwB,EACtC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAC1D,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAO,CAAC,CAAC,mBACpD,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EACrC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAC/B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EACnC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,GACpC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;YACtC,SAAS;YACV,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAC5C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAC5B,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EACpC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EACtC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;gBAErC,aAAa;gBACb,gBAAgB;gBAChB,KAAK;gBACL,WAAW;gBACX,OAAO;gBACP,iBAAiB;gBACjB,aAAa,CACV,CACF,CACP,CAAC;IACJ,CAAC;IACS,gDAAmB,GAA7B;QACE,IAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvF,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,oDAAC,iFAAe,IAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;QACnJ,IAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAC7C,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,IACnD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC7B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClB,OAAO,CACL,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;YAE9C,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,IAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;YACzG,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO;gBAC7C,YAAY;gBACZ,gBAAgB;gBAChB,YAAY,CACT,CACF,CACP,CAAC;IACJ,CAAC;IACS,+CAAkB,GAA5B;QACE,OAAO,oDAAC,8EAAsB,IAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAA2B,CAAC;IAC9F,CAAC;IACS,8CAAiB,GAA3B,UAA4B,SAAiB;QAC3C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAClC,gEAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS;YACxE,kEAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;YAC9C,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,oDAAC,qEAAO,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAY,EAAC,CAAC,IAAI,CACnL,CACV,CAAC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACS,0CAAa,GAAvB;QACE,OAAO,2EAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpG,CAAC;IACS,mDAAsB,GAAhC;QACE,OAAO,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB;YAAE,oDAAC,uFAAyB,OAA6B,CAAM,CAAC;IAClI,CAAC;IACS,wCAAW,GAArB;QACE,OAAO,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc;YAC7D,oDAAC,mFAAY,IAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAiB;YACrE,oDAAC,mFAAY,IAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAiB;YACpE,+DAAO,QAAQ,QAAC,WAAW,QAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAU;YAC1G,oDAAC,mFAAY,IAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAiB,CAChE,CAAC,CAAC;IACV,CAAC;IACH,yBAAC;AAAD,CAAC,CArHuC,gFAAyB,GAqHhE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,eAAK;IAC1D,OAAO,mDAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpI4B;AACqC;AAEL;AAE/D;IAAwC,sCAAyB;IAC/D,4BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,wCAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAiC,CAAC;QAChD,CAAC;;;OAAA;IACD,8CAAiB,GAAjB;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,iDAAoB,GAApB;QACE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG,cAAa,CAAC,CAAC;IACnD,CAAC;IACD,+CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACO,8CAAiB,GAAzB;QAAA,iBAIC;QAHC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG;YAChC,KAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,IAAI,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC,CAAC;IACJ,CAAC;IACS,sCAAS,GAAnB;QACE,OAAO,iBAAM,SAAS,WAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IACnD,CAAC;IACS,0CAAa,GAAvB;QACE,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC/D,OAAO,CACL,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EACtC,uBAAuB,EAAE,SAAS,GAClC,CACH,CAAC;IACJ,CAAC;IACH,yBAAC;AAAD,CAAC,CAjCuC,gFAAyB,GAiChE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAC,KAAK;IAC3D,OAAO,mDAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1C4B;AAIE;AAE8B;AACC;AAEhE;IAA0C,wCAAyB;IACjE,8BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,KAAK,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;;IAClC,CAAC;IACD,sBAAc,0CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAmC,CAAC;QAClD,CAAC;;;OAAA;IACD,gDAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,0BAA0B,GAAG;gBACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC,CAAC;SACH;IACH,CAAC;IACD,mDAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,0BAA0B,GAAG,IAAW,CAAC;SACxD;IACH,CAAC;IAES,4CAAa,GAAvB;QAAA,iBAyDC;QAxDC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,+DAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,IAAI,OAAO,GAAsB,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5D,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;YACvB,IAAI,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,IAAM,KAAK,GAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;gBAClC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC9C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;aAC5C;YACD,OAAO,CAAC,IAAI,CACV,4DAAI,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IACvE,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAC3D,CACN,CAAC;SACH;QACD,IAAI,IAAI,GAAsB,EAAE,CAAC;QACjC,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CACP,oDAAC,uBAAuB,IACtB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,CAAC,IAAI,CAAC,GACf,CACH,CAAC;SACH;QACD,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9C;YACE;gBACG,MAAM;gBACN,OAAO,CACL,CACC,CACT,CAAC;QACF,OAAO,CACL,6DACE,SAAS,EAAE,UAAU,CAAC,YAAY,EAClC,GAAG,EAAE,cAAI,IAAI,QAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAvB,CAAuB;YAEpC;gBACE,8EAAoB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,GAAI;gBAC3D,+DAAO,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC1C,MAAM;oBACP,mEAAQ,IAAI,CAAS,CACf,CACC,CACP,CACP,CAAC;IACJ,CAAC;IACH,2BAAC;AAAD,CAAC,CAlFyC,gFAAyB,GAkFlE;;AAED;IAA6C,2CAAkB;IAC7D,iCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAGb;QAFC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACrD,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IAC7D,CAAC;IACD,sBAAY,6CAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAY,wCAAG;aAAf;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,CAAC;;;OAAA;IACD,gDAAc,GAAd,UAAe,KAAU;QACvB,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,mDAAiB,GAAjB,UAAkB,KAAU;QAC1B,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IACS,0CAAQ,GAAlB,UAAmB,IAAS,EAAE,OAAoB,EAAE,MAAc;QAChE,IAAG,CAAC,MAAM,EAAE;YACV,OAAO,OAAO,CAAC;SAChB;QACD,IAAM,MAAM,GAAgB,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QAChE,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,OAAO,GAAG,4EAA0B,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SACpF;QACD,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,CAAC;IAC5B,CAAC;IACS,2CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IACS,+CAAa,GAAvB;QACE,IAAI,MAAM,GAAuB,IAAI,CAAC;QAEtC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzB,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrD,IAAM,KAAK,GAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;gBACjC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC7C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;aAC3C;YACD,MAAM,GAAG,4DAAI,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,IACvE,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,CACrD,CAAC;SACP;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,OAAO,CACL,4DAAI,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,SAAS;YAC5C,MAAM;YACN,GAAG,CACD,CACN,CAAC;IACJ,CAAC;IAED,6CAAW,GAAX;QAAA,iBAsEC;QArEC,IAAI,GAAG,GAAsB,EAAE,CAAC;QAChC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5D,IAAI,EAAE,GAAuB,IAAI,CAAC;YAClC,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC;YAEtB,IAAI,SAAS,GAAG,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;gBAC7B,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe;oBAC7C,CAAC,CAAC,UAAC,MAAW,IAAK,qBAAM,YAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,EAA3B,CAA2B,EAAjC,CAAiC;oBACpD,CAAC,CAAC,IAAI,CAAC;gBACT,EAAE,GAAG,CACH,4DACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAO,CAAC,IAElD,IAAI,CAAC,eAAe,CACnB,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CACtD,CACE,CACN,CAAC;aACH;iBAAM;gBACL,EAAE,GAAG,CACH,4DACE,GAAG,EAAE,GAAG,2BACe,MAAM,CAAC,OAAO,CAAC,YAAY,EAClD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;oBAExC,+DAAO,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS;wBAC9D,+DACE,EAAE,EAAE,OAAO,EACX,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EACpC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAClB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,IAAI,CAAC,cAAc,mBACd,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,MAAM,CAAC,OAAO,CAAC,YAAY,kBACzB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAC/C;wBACF,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,IACxD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;4BAC1B,6DACE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;gCAExC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAQ,CAC7C,CAAC,CAAC;4BACR,IAAI,CAED;wBACP,8DAAM,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,EAAG,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,IAC7H,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAChC,CACD,CACL,CACN,CAAC;aACH;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACd;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IACD,2CAAS,GAAT,UAAU,GAAQ,EAAE,MAAW;QAC7B,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC;IACH,8BAAC;AAAD,CAAC,CApI4C,yEAAkB,GAoI9D;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAK;IAC5D,OAAO,mDAAmB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrO4B;AACuD;AACvB;AAE/D;IAAkD,gDAAgC;IAChF,sCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACH,mCAAC;AAAD,CAAC,CAJiD,kGAAgC,GAIjF;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,eAAK;IACpE,OAAO,mDAAmB,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZ4B;AAIE;AAC2F;AAUtD;AACD;AAC/B;AAC+B;AACjB;AACgE;AAC7C;AACf;AAExD;IAAsD,oDAAyB;IAC7E,0CAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAIb;QAHC,0DAA0D;QAC1D,IAAM,KAAK,GAAG,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC1C,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,QAAQ,EAAE,CAAC;;IAC/B,CAAC;IACD,sBAAc,sDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAA+C,CAAC;QAC9D,CAAC;;;OAAA;IACO,mDAAQ,GAAhB,UAAiB,SAAqB;QAArB,4CAAqB;QACpC,OAAO,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;IACnE,CAAC;IACO,gEAAqB,GAA7B;QACE,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,4DAAiB,GAAjB;QAAA,iBAcC;QAbC,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,0BAA0B,GAAG;YACzC,KAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,4BAA4B,GAAG;YAC3C,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,2BAA2B,GAAG;gBACxD,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,CAAC,CAAC;YACF,KAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,2BAA2B,GAAG;YACxD,KAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC;IACD,+DAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,0BAA0B,GAAG,cAAO,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,4BAA4B,GAAG,cAAO,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,2BAA2B,GAAG,cAAO,CAAC,CAAC;IACrE,CAAC;IACS,wDAAa,GAAvB;QACE,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IACD,yDAAc,GAAd;QAAA,iBAgBC;QAfC,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB;YAC/C,CAAC,CAAE,EAAE,SAAS,EAAE,QAAQ,EAA0B;YAClD,CAAC,CAAE,EAA0B,CAAC;QAChC,OAAO,CACL,6DAAK,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,EAAE,UAAC,IAAI,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAvB,CAAuB;YAC5G,+DAAO,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;gBAC1C,MAAM;gBACN,IAAI;gBACJ,OAAO,CACF,CACJ,CACP,CAAC;IACJ,CAAC;IACD,uDAAY,GAAZ;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,OAAO,GAAU,EAAE,CAAC;QACxB,IAAI,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;YACvB,IAAI,WAAW,GAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;gBAChB,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;aAChC;YACD,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACnB,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;aACtC;YACD,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;YACpE,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,4DAAI,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW;;oBAAI,WAAW;wBAAO;gBACjF,CAAC,CAAC,4DAAI,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,GAAO,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtB;QACD,OAAO,CACL;YACE,gEAAK,OAAO,CAAM,CACZ,CACT,CAAC;IACJ,CAAC;IACD,uDAAY,GAAZ;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CACtB,QAAQ,EACR,KAAK,CAAC,SAAS,EACf,IAAI,CAAC,QAAQ,CAAC,UAAU,EACxB,YAAY,CACb,CAAC;QACF,OAAO,mEAAQ,GAAG,CAAS,CAAC;IAC9B,CAAC;IACD,qDAAU,GAAV;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,IAAI,GAAsB,EAAE,CAAC;QACjC,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAChE,CAAC;SACH;QACD,OAAO,mEAAQ,IAAI,CAAS,CAAC;IAC/B,CAAC;IACD,oDAAS,GAAT,UACE,QAAa,EACb,GAAsC,EACtC,UAAe,EACf,MAAe;QAEf,IAAI,SAAS,GAAsB,EAAE,CAAC;QACtC,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;SAClE;QACD,IAAI,GAAG,GAAG,KAAK,GAAG,QAAQ,CAAC;QAE3B,OAAO,CACL,oDAAC,8CAAc,IAAC,GAAG,EAAE,GAAG;YACtB,oDAAC,gEAAS,IAAC,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,IAAG,SAAS,CAAa,CAC5D,CAClB,CAAC;IACJ,CAAC;IAED,qDAAU,GAAV,UACE,IAAwC,EACxC,KAAa,EACb,UAAe,EACf,MAAe;QAEf,IAAI,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,CACL,oDAAC,gCAAgC,IAC/B,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,MAAM,GACd,CACH,CAAC;SACH;QACD,IAAI,UAAU,GAAG,MAAM,CAAC;QACxB,IAAG,CAAC,UAAU,EAAE;YACd,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD;QACD,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;QAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnC,SAAS,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK;gBAAE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/C,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ;gBAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SACzD;QAED,OAAO,CACL,4DACE,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,IAAI,CAAC,QAAQ,2BACC,IAAI,CAAC,OAAO,EACnC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAErB,WAAW,CACT,CACN,CAAC;IACJ,CAAC;IACO,4DAAiB,GAAzB,UACE,IAAwC,EACxC,MAAc,EACd,UAAe;QAEf,IAAI,WAAW,GAAuB,IAAI,CAAC;QAC3C,IAAI,SAAS,GAAQ,IAAI,CAAC;QAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnC,SAAS,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK;gBAAE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/C,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ;gBAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SACzD;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,GAAG,YAAY,CAAC;YACtB,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAM,SAAO,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,oDAAC,kCAAkC,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3H,WAAW,GAAG,CAAC;gBAAG,GAAG;gBAAE,SAAO,CAAI,CAAC,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,WAAW,GAAG,CAAC;gBACb,oDAAC,gIAAuC,IAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,CACrG,CAAC,CAAC;SACN;QACD,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,WAAW,GAAG,CACZ,qEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,+BAA+B,EAAE;gBAC1E,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBAAE,UAAU,cAAE,IAAI;gBAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;aACtE,CAAC,CACH,CAAC;SACH;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,WAAW,GAAG,CACZ,oDAAC,kDAAW,IACV,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAC5B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,OAAO,EAAE,IAAI,CAAC,OAAO,GACrB,CACH,CAAC;SACH;QACD,IAAG,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,OAAO,CACL,oDAAC,sEAAuB,IACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,GAEG,CAC3B,CAAC;aACH;SACF;QACD,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAE9B,IAAM,SAAS,GAAG,CAChB,0GACG,WAAW,CACX,CACJ,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IACH,uCAAC;AAAD,CAAC,CAzOqD,gFAAyB,GAyO9E;;AAED;IAA8C,mDAAkB;IAC9D,yCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAI,kDAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACS,uDAAa,GAAvB;QACE,OAAO,CACL,oDAAC,iFAAe,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,GAAoB,CAC3E,CAAC;IACJ,CAAC;IACH,sCAAC;AAAD,CAAC,CAZ6C,yEAAkB,GAY/D;AAED,qEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,+BAA+B,EAC/B,UAAC,KAAK;IACJ,OAAO,mDAAmB,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;AACrE,CAAC,CACF,CAAC;AACF;IAAiD,sDAAkB;IACjE,4CAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAI,sDAAM;aAAV;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAI,wDAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACS,4DAAe,GAAzB;QACE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACS,0DAAa,GAAvB;QACE,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,CACL;YACE,2EAAmB;YACnB,8DAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,IAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAQ,CAC5F,CACJ,CAAC;IACJ,CAAC;IACH,yCAAC;AAAD,CAAC,CAtBgD,yEAAkB,GAsBlE;AAED;IAAsD,oDAA2B;IAC/E,0CAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAY,kDAAI;aAAhB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,sBAAc,qDAAO;aAArB;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC;;;OAAA;IACS,sDAAW,GAArB;QACE,IAAI,CAAC,GAAG,iBAAM,WAAW,WAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IACS,wDAAa,GAAvB;QACE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9B,IACE,EAAE;YACF,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,QAAQ,CAAC,MAAM;YACpB,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,GAAG,EACxC;YACA,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YACtC,IAAM,OAAO,GAAG;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,YAAY,EAAE,IAAI,CAAC,QAAQ;gBAC3B,WAAW,EAAE,EAAE;gBACf,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gBAClB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;aAC9B,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;SACnC;IACH,CAAC;IACS,wDAAa,GAAvB;QACE,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,SAAS;YACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CACjD,CAAC;IACJ,CAAC;IACS,uDAAY,GAAtB;QACE,IAAI,GAAG,GAAQ,iBAAM,YAAY,WAAE,CAAC;QACpC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC7C,IAAI,CAAC,GAAG;gBAAE,GAAG,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACnD,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC7D;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAES,wDAAa,GAAvB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC3B,CAAC;IACS,yDAAc,GAAxB;QACE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YACrB,OAAO,6DAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9D,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAC3C,CAAC;IACO,6DAAkB,GAA1B;QACE,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,IAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;QAC7C,OAAO,oDAAC,mFAA4B,IAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,eAAe,GAAI,CAAC;IAC3J,CAAC;IACO,mEAAwB,GAAhC;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACjE,OAAO,CACL,oDAAC,kFAA0B,IACzB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EACzC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EACjD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EACpB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAChC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EACvC,WAAW,EAAE,IAAI,GACjB,CACH,CAAC;IACJ,CAAC;IACO,qEAA0B,GAAlC;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACjE,OAAO,CACL,oDAAC,iFAAuB,IACtB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EACzC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EACjD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EACpB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EACvC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAC5D,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EACtE,WAAW,EAAE,IAAI,GACjB,CACH,CAAC;IACJ,CAAC;IACH,uCAAC;AAAD,CAAC,CAnGqD,0EAA2B,GAmGhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClZ8B;AACgC;AACuB;AAE9B;AACK;AAE7D;IAAiD,+CAAgC;IAC/E,qCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACjE,CAAC;IACD,sBAAc,+CAAM;aAApB;YACE,OAAO,IAAI,CAAC,YAA0C,CAAC;QACzD,CAAC;;;OAAA;IACD,yDAAmB,GAAnB,UAAoB,KAAU;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACS,mDAAa,GAAvB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;QACtD,IAAI,OAAO,GAAG,SAAS;YACrB,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE;YACvB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO,CACL;YACG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC;YACxC,OAAO;YACP,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CACxC,CACP,CAAC;IACJ,CAAC;IACS,6DAAuB,GAAjC,UAAkC,UAAe;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QAC5D,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IACS,gEAA0B,GAApC,UAAqC,UAAe;QAClD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAC/D,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IACS,yDAAmB,GAA7B,UAA8B,UAAe;QAC3C,IAAM,IAAI,GAAgB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC7E,IAAM,OAAO,GAAgB,6DAAK,SAAS,EAAE,UAAU,CAAC,aAAa,IAAG,IAAI,CAAO,CAAC;QACpF,IAAM,GAAG,GAA0B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChI,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,gBAAgB;YACxC,OAAO;YACP,GAAG,CACA,CACP,CAAC;IACJ,CAAC;IACS,wDAAkB,GAA5B,UACE,UAAe,EACf,cAA+B;QAA/B,uDAA+B;QAE/B,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,0BAA0B,EAAE;YAC5E,QAAQ,EAAE,IAAI,CAAC,QAAQ;YAAE,UAAU,cAAE,cAAc;SACpD,CAAC,CAAC;IACL,CAAC;IACH,kCAAC;AAAD,CAAC,CApDgD,kGAAgC,GAoDhF;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,EAAE,UAAC,KAAK;IACpE,OAAO,mDAAmB,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH;IAA0D,wDAAkB;IAC1E,8CAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACjE,CAAC;IACD,sBAAc,wDAAM;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAsC,CAAC;QAC3D,CAAC;;;OAAA;IACD,kEAAmB,GAAnB,UAAoB,KAAU;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACS,4DAAa,GAAvB;QACE,IAAM,UAAU,GAAgB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAChF,IAAM,SAAS,GAAG,CAAC,gEACjB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EACpE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EACrC,OAAO,EACL,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB;YAGhE,UAAU;YACX,8DAAM,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,GAAI,CAC3C,CAAC,CAAC;QACX,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,IAAG,SAAS,CAAO,CACxG,CAAC;IACJ,CAAC;IACH,2CAAC;AAAD,CAAC,CA5ByD,yEAAkB,GA4B3E;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,0BAA0B,EAC1B,UAAC,KAAK;IACJ,OAAO,mDAAmB,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpG6B;AACqC;AACsC;AAE3C;AACF;AACG;AAEhE;IAAgD,8CAAyB;IACvE,oCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,gDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAyC,CAAC;QACxD,CAAC;;;OAAA;IACS,kDAAa,GAAvB;QACE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,IAAI,GAAsB,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;gBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;aAC9D;SACF;QACD,OAAO,CACL,+DAAO,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YAClD,mEAAQ,IAAI,CAAS,CACf,CACT,CAAC;IACJ,CAAC;IAES,+CAAU,GAApB,UAAqB,IAAsB,EAAE,UAAe,EAAE,KAAa;QACzE,IAAI,WAAwB,CAAC;QAC7B,IAAM,OAAO,GAAG,cAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAG,IAAI,CAAC,YAAY,EAAE;YACpB,WAAW,GAAG,oDAAC,sEAAuB,IAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAA4B,CAAC;SACtH;aAAM;YACL,WAAW,GAAG,oDAAC,sBAAsB,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,GAA2B,CAAC;SAC1J;QACD,OAAO,CAAC,4DAAI,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,IAAG,WAAW,CAAM,CAAC,CAAC;IACpG,CAAC;IAES,8CAAS,GAAnB,UACE,QAAgB,EAChB,KAA8B,EAC9B,UAAe;QAEf,IAAM,GAAG,GAAW,MAAM,GAAG,QAAQ,CAAC;QACtC,IAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CACrC,CAAC;SACH;QACD,OAAO,CACL,4DAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,IACpC,GAAG,CACD,CACN,CAAC;IACJ,CAAC;IACH,iCAAC;AAAD,CAAC,CArD+C,gFAAyB,GAqDxE;;AAED;IAA4C,0CAAkB;IAA9D;;IA6BA,CAAC;IA5BC,sBAAY,4CAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAY,wCAAI;aAAhB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACS,iDAAgB,GAA1B;QACE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,sBAAY,2CAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IAES,8CAAa,GAAvB;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,OAAO,CAAC,+DAAO,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;YAC3D,8DAAM,SAAS,EAAE,UAAU,CAAC,SAAS;gBACnC,oDAAC,4EAAY,IAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAiB,CAClF;YACP,oDAAC,4BAA4B,IAC3B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,GACrB,CACI,CAAC,CAAC;IACZ,CAAC;IACH,6BAAC;AAAD,CAAC,CA7B2C,yEAAkB,GA6B7D;;AAED;IAAkD,gDAA8B;IAAhF;;IAIA,CAAC;IAHW,oDAAa,GAAvB;QACE,OAAO,6DAAK,SAAS,EAAE,IAAI,CAAC,OAAO,IAAG,IAAI,CAAC,aAAa,EAAE,CAAO,CAAC;IACpE,CAAC;IACH,mCAAC;AAAD,CAAC,CAJiD,6EAA8B,GAI/E;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAC,KAAK;IACnE,OAAO,mDAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtG4B;AACqC;AAE9B;AACyB;AAEM;AAC0C;AACA;AACO;AAG9D;AAExD;IAAgD,8CAAyB;IACvE,oCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,gDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAyC,CAAC;QACxD,CAAC;;;OAAA;IACD,sDAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,IAAM,IAAI,GAA+B,IAAI,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,yBAAyB,GAAG;YACxC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,2BAA2B,GAAG;YAC1C,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,yBAAyB,GAAG;YACxC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC;IACD,yDAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,GAAG,cAAO,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,2BAA2B,GAAG,cAAO,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,yBAAyB,GAAG,cAAO,CAAC,CAAC;IACrD,CAAC;IACO,4DAAuB,GAA/B;QACE,IAAI,CAAC,QAAQ,CAAC;YACZ,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACS,kDAAa,GAAvB;QACE,IAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,CAAC,IAAI,CACT,oDAAC,8BAA8B,IAC7B,GAAG,EAAE,KAAK,CAAC,EAAE,EACb,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EACpC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,OAAO,EAAE,IAAI,CAAC,OAAO,GACrB,CACH,CAAC;aACH;SACF;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE;gBACtC,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACzC,MAAM,CAAC,IAAI,CACT,oDAAC,8BAA8B,IAC7B,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAC/B,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EACjC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EACpC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,OAAO,EAAE,IAAI,CAAC,OAAO,GACrB,CACH,CAAC;aACH;SACF;QACD,IAAM,MAAM,GAAuB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACxG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC3B,CAAC,CAAC,IAAI,CAAC;QACT,IAAM,MAAM,GAAuB,IAAI,CAAC,QAAQ,CAAC,oBAAoB;YACnE,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE;YACxB,CAAC,CAAC,IAAI,CAAC;QACT,IAAM,SAAS,GAAuB,IAAI,CAAC,QAAQ,CAAC,uBAAuB;YACzE,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE;YACxB,CAAC,CAAC,IAAI,CAAC;QAET,IAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,IAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,IAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtD,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;YAC1C,oBAAoB;YACpB,MAAM;YACN,MAAM;YACN,SAAS;YACT,MAAM;YACN,KAAK,CACF,CACP,CAAC;IACJ,CAAC;IACS,oDAAe,GAAzB;QACE,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;YACzC,IAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE;gBACrE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;aAC3B;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;QACD,IAAM,KAAK,GAAuB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3F,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtD,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtD,IAAM,MAAM,GAAuB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7D,IAAM,aAAa,GAAW,IAAI,CAAC,QAAQ,CAAC,oBAAoB;YAC9D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW;YACtC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC;QAC5C,OAAO,CACL,6DAAK,SAAS,EAAE,aAAa;YAC3B,6DAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC3B,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB;oBACvD,OAAO;oBACP,KAAK;oBACL,OAAO,CACJ;gBACL,MAAM;gBACN,IAAI,CAAC,kBAAkB,EAAE,CACtB,CACF,CACP,CAAC;IACJ,CAAC;IACO,uDAAkB,GAA1B;QACE,OAAO,CACL,oDAAC,kIAAsC,IAAC,IAAI,EAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAA2C,CACtH,CAAC;IACJ,CAAC;IAES,sDAAiB,GAA3B;QACE,OAAO,CACL,oDAAC,2HAAoC,IAAC,IAAI,EAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAyC,CAClH,CAAC;IACJ,CAAC;IACS,sDAAiB,GAA3B;QACE,OAAO,CACL,oDAAC,2HAAoC,IAAC,IAAI,EAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAyC,CAClH,CAAC;IACJ,CAAC;IAES,gDAAW,GAArB;QACE,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ;YAC/C,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAC/C,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EACxC,IAAI,EAAC,aAAa,GAClB,CACE,CACP,CAAC;IACJ,CAAC;IACS,uDAAkB,GAA5B;QACE,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,yBAAyB,EAAE;YAC3E,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IACS,sDAAiB,GAA3B;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAM,KAAK,GAAuB,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpI,OAAO,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM;YACrD,4DAAI,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAI;YACpD,KAAK;YACL,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,sBAAsB;gBACnH,oDAAC,iFAAe,IAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAoB,CACnE,CAAC,CAAC,CAAC,CAAC,IAAI,CACV,CAAC,CAAC;IACV,CAAC;IACS,sDAAiB,GAA3B;QACE,IAAI,IAAI,CAAC,QAAQ,CAAC,2BAA2B,EAAE,EAAE;YAC/C,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB;gBAC3D,kEAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAQ;gBAClE,IAAI,CAAC,kBAAkB,EAAE,CACtB,CACP,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACH,iCAAC;AAAD,CAAC,CA7K+C,gFAAyB,GA6KxE;;AAED;IAAoD,kDAAW;IAA/D;;IAyCA,CAAC;IAxCC,sBAAY,oDAAQ;aAApB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAY,iDAAK;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACS,kDAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,QAAQ,CAAC,MAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,CAAC;IACS,+CAAM,GAAhB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC;IACM,+CAAM,GAAb;QACE,IAAM,KAAK,GAAG,iBAAM,MAAM,WAAE,CAAC;QAC7B,IAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACzC,IAAM,SAAS,GAAuB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7E,CAAC,4DAAI,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,OAAO,CACL;YACE,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;gBAC/C,KAAK;gBACL,YAAY,CACT;YACL,SAAS,CACT,CACJ,CAAC;IACJ,CAAC;IACS,qDAAY,GAAtB;QACE,IACE,IAAI,CAAC,QAAQ,CAAC,yBAAyB,KAAK,OAAO;YACnD,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc;YAC7B,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAC1D;YACA,OAAO,IAAI,CAAC;SACb;QACD,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,4BAA4B,EAAE;YAC9E,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;SACrD,CAAC,CAAC;IACL,CAAC;IACH,qCAAC;AAAD,CAAC,CAzCmD,kDAAW,GAyC9D;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,eAAK;IAClE,OAAO,mDAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1O4B;AACyD;AAEjB;AACR;AACC;AACR;AAExD;IAA8C,4CAAyB;IACrE,kCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,8CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAuC,CAAC;QACtD,CAAC;;;OAAA;IACS,gDAAa,GAAvB;QAAA,iBAkCC;QAjCC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,WAAW,GAAuB,IAAI,CAAC;QAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE;YAC1C,WAAW,GAAG,CACZ;gBACE,+DACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAC/C,OAAO,EAAE,cAAM,YAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAA1B,CAA0B,EACzC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GACvC,CACE,CACP,CAAC;SACH;QACD,OAAO,CACL,kEACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAC/C,GAAG,EAAE,UAAC,QAAQ,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAA3B,CAA2B,EAC9C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,mBACxB,IAAI,CAAC,QAAQ,CAAC,uBAAuB,gBACxC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,qBAC7B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,kBAC1C,IAAI,CAAC,QAAQ,CAAC,sBAAsB,sBAChC,IAAI,CAAC,QAAQ,CAAC,0BAA0B;YAEzD,IAAI,CAAC,QAAQ,CAAC,UAAU;gBACvB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3B,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;YACnE,WAAW,CACH,CACZ,CAAC;IACJ,CAAC;IACS,4CAAS,GAAnB;QAAA,iBAWC;QAVC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;YAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,EAAU;gBACvD,YAAI,CAAC,UAAU,CACb,QAAQ,GAAG,EAAE,EACb,IAAI,EACJ,KAAK,EACL,KAAI,CAAC,QAAQ,CAAC,UAAU,CACzB;YALD,CAKC,CACF,CAAC;SACH;IACH,CAAC;IACS,kDAAe,GAAzB,UAA0B,UAAe;QACvC,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,eAAe,IACvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CACxB,CACP,CAAC;IACJ,CAAC;IACS,6CAAU,GAApB,UAAqB,UAAe;QAApC,iBAYC;QAXC,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAW,EAAE,EAAU;YACvD,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,EAAU;gBAC3C,YAAI,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YAAxE,CAAwE,CACzE,CAAC;YACF,OAAO,CACL,6DAAK,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAC,cAAc,IACpF,KAAK,CACF,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAES,0CAAO,GAAjB,UAAkB,UAAe;QAC/B,IAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC3B,OAAO,6DAAK,SAAS,EAAE,UAAU,CAAC,OAAO,IAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAO,CAAC;SACzG;;YACI,OAAO,0GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAI,CAAC;IACxE,CAAC;IAES,2CAAQ,GAAlB,UAAmB,UAAe,EAAE,OAA0B;QAC5D,IAAI,KAAK,GAAsB,EAAE,CAAC;QAClC,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAChF,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC1B;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,sBAAc,+CAAS;aAAvB;YACE,OAAO,IAAI,CAAC,6CAA4C;QAC1D,CAAC;;;OAAA;IACS,8CAAW,GAArB,UAAsB,UAAe;QACnC,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACnD,oDAAC,mFAA4B,IAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,UAAU,CAAC,KAAK,EAC1B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,IAAI,CAAC,aAAa,GACjC,CACE,CACP,CAAC;IACJ,CAAC;IACO,6CAAU,GAAlB,UACE,GAAW,EACX,IAAe,EACf,KAAU,EACV,UAAe,EACf,KAAc;QAEd,IAAM,YAAY,GAAG,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;YAC3F,GAAG,EAAE,GAAG;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,UAAU;YACtB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,KAAK,KAAK,IAAI,CAAC,KAAK;SAChC,CAAC,CAAC;QACH,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QACnD,IAAI,WAAW,GAAuB,IAAI,CAAC;QAC3C,IAAI,CAAC,CAAC,MAAM,EAAE;YACZ,WAAW,GAAG,4EAA0B,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACnG;QACD,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,YAAY,CAAC;IACrC,CAAC;IACO,gDAAa,GAArB;QACE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,CAAC;IACH,+BAAC;AAAD,CAAC,CAtI6C,gFAAyB,GAsItE;;AAED;IAA6C,2CAAkB;IAC7D,iCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAGb;QAFC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACrD,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IAC7D,CAAC;IACS,iDAAe,GAAzB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,sBAAc,6CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAc,yCAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,sBAAc,8CAAS;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,CAAC;;;OAAA;IACD,sBAAc,0CAAK;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAc,8CAAS;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,CAAC;;;OAAA;IACD,sBAAY,gDAAW;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;QACzC,CAAC;;;OAAA;IACM,uDAAqB,GAA5B,UAA6B,SAAc,EAAE,SAAc;QACzD,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QACrE,IAAG,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChC,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY;YAC3B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY;YAC7C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe;YACvD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAC/C,CAAC;IACJ,CAAC;IACD,gDAAc,GAAd,UAAe,KAAU;QACvB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,mDAAiB,GAAjB,UAAkB,KAAU;QAC1B,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IACS,2CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACxC,CAAC;IACS,+CAAa,GAAvB;QACE,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,IAAM,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,8DAAM,SAAS,EAAE,iBAAiB,IAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAClJ,OAAO,CACL,6DACE,SAAS,EAAE,SAAS,EACpB,IAAI,EAAC,cAAc;YAEnB,+DAAO,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,UAAU;gBAC/D,mFACoB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC/C,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EACtC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACtC,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAChC,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EACtB,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAClD,QAAQ,EAAE,IAAI,CAAC,cAAc,GAC7B;gBAEA,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;oBACjC,8DAAM,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBAC1B,6DACE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;4BAExC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAQ,CAC7C,CAAC,CAAC;wBACR,IAAI,CAED,CAAC,CAAC;oBACT,IAAI;gBAEP,SAAS,CACJ,CACJ,CACP,CAAC;IACJ,CAAC;IACH,8BAAC;AAAD,CAAC,CAvF4C,yEAAkB,GAuF9D;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,wBAAwB,EAAE,UAAC,KAAU;IAChF,OAAO,mDAAmB,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAC,KAAK;IACjE,OAAO,mDAAmB,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/O4B;AAIE;AAE8B;AACC;AAEhE;IAA2C,yCAAyB;IAApE;;IA4GA,CAAC;IA3GC,sBAAc,2CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAoC,CAAC;QACnD,CAAC;;;OAAA;IAES,6CAAa,GAAvB;QAAA,iBAgCC;QA9BC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;YACtC,OAAO,CACL,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAClC,GAAG,EAAE,UAAC,IAAI,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAvB,CAAuB,IAErC,IAAI,CAAC,QAAQ,EAAE,CACZ,CACP,CAAC;SACH;aAAM;YACL,IAAM,YAAY,GAAG,IAAI,CAAC;YAC1B,OAAO,CACL,6DACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAClC,GAAG,EAAE,UAAC,IAAI,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAvB,CAAuB;gBAEtC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAe,gBAAgB;oBACrF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC;oBAC3D,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB;;wBAAI,IAAI,CAAC,QAAQ,CAAC,+BAA+B;4BAAQ,CAAC,CAAC,CAAC,IAAI,CACxK;gBAEN,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,GAAQ;gBAElE,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAe,cAAc;oBACjF,IAAI,CAAC,QAAQ,EAAE;oBACf,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,IAAG,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAO,CAAC,CAAC,CAAC,IAAI,CACtK,CACF,CACP,CAAC;SACH;IACH,CAAC;IAES,wCAAQ,GAAlB,UAAmB,OAA2C,EAAE,YAAsB;QAAtF,iBA6BC;QA7BkB,oCAAe,IAAI,CAAC,QAAQ,CAAC,cAAc;QAC5D,IAAM,KAAK,GAAuB,EAAE,CAAC;gCAC5B,CAAC;YACR,IAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CACR,OAAK,UAAU,CACb,IAAI,EACJ,CAAC,EACD,UAAC,KAAmB;gBAClB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC/D,CAAC,EACD,UAAC,KAAU;gBACT,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,yBAAyB;gBACzB,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAClC,KAAI,CAAC,QAAQ,EACb,KAAK,EACL,IAAI,EACJ,KAAK,CAAC,aAAa,CACpB,CAAC;YACJ,CAAC,EACD,OAAK,QAAQ,CAAC,UAAU,EACxB,OAAK,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAChC,OAAK,QAAQ,EACb,YAAY,CACb,CACF,CAAC;;;QAxBJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;oBAA9B,CAAC;SAyBT;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,0CAAU,GAApB,UACE,IAAe,EACf,CAAS,EACT,aAAmC,EACnC,iBAAgD,EAChD,UAAe,EACf,SAAiB,EACjB,QAA8B,EAC9B,YAAsB;QAEtB,IAAM,GAAG,GAAW,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC;QACnD,IAAM,IAAI,GAAgB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAM,KAAK,GAAG,CAAC,CAAC;QAChB,IAAM,SAAS,GAAW,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAM,QAAQ,GAAW,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAM,YAAY,GAAG,CACnB,oDAAC,yBAAyB,IACxB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,QAAQ,EACtB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,GACV,CACH,CAAC;QACF,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAqB,CAAC;QACnD,IAAI,WAAW,GAAuB,IAAI,CAAC;QAC3C,IAAI,CAAC,CAAC,MAAM,EAAE;YACZ,WAAW,GAAG,4EAA0B,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACnG;QACD,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,YAAY,CAAC;IACrC,CAAC;IACH,4BAAC;AAAD,CAAC,CA5G0C,gFAAyB,GA4GnE;;AAED;IAA+C,6CAAkB;IAAjE;;IA4EA,CAAC;IA3EC,sBAAc,2CAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACD,sBAAc,4CAAK;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAc,gDAAS;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,CAAC;;;OAAA;IACD,sBAAc,oDAAa;aAA3B;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAClC,CAAC;;;OAAA;IACD,sBAAc,wDAAiB;aAA/B;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACtC,CAAC;;;OAAA;IACD,sBAAc,iDAAU;aAAxB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,CAAC;;;OAAA;IACD,sBAAc,gDAAS;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,CAAC;;;OAAA;IACD,sBAAc,mDAAY;aAA1B;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QACjC,CAAC;;;OAAA;IACD,sBAAc,+CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAc,mDAAY;aAA1B;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QACjC,CAAC;;;OAAA;IACD,sBAAc,2CAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IAES,iDAAa,GAAvB;QACE,OAAO,CACL,6DACE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,aAAa,EAAE,IAAI,CAAC,iBAAiB,sCACH,IAAI,CAAC,KAAK;YAE5C,6DAAK,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;gBAC3C,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,GAAI;gBACjD,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;oBACzC,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB;wBAC/C,6DACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAC1C,KAAK,EAAC,4BAA4B;4BAElC,8DAAM,CAAC,EAAC,ycAAyc,GAAG,CAChd;wBACN,6DACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAC1C,KAAK,EAAC,4BAA4B;4BAElC,8DAAM,CAAC,EAAC,2BAA2B,GAAG;4BACtC,8DAAM,CAAC,EAAC,+BAA+B,GAAG,CACtC,CACF;oBAEN,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAO;oBAC7G,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,IAAG,IAAI,CAAC,IAAI,CAAO,CAC3D,CACF,CACF,CACP,CAAC;IACJ,CAAC;IACH,gCAAC;AAAD,CAAC,CA5E8C,yEAAkB,GA4EhE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,KAAK;IAC9D,OAAO,mDAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvM4B;AACqC;AAEL;AACP;AAExD;IAA0C,wCAAyB;IACjE,8BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACrD,CAAC;IACD,sBAAc,0CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAmC,CAAC;QAClD,CAAC;;;OAAA;IACD,4CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAES,yCAAU,GAApB,UACE,IAAS,EACT,KAAa;QAEb,IAAM,YAAY,GAAG,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;YAC/F,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,OAAO,GAAG,KAAK;YACpB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,4CAAa,GAAvB;QAAA,iBAkBC;QAjBC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB;YAC5C,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB;YAC5C,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC;QACT,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,UAAC,GAAG,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAtB,CAAsB;YAC/E,kEAAU,IAAI,EAAC,YAAY;gBACzB,gEAAQ,IAAI,EAAC,cAAc,EAAC,SAAS,EAAE,WAAW,GAAW;gBAC5D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,8DAAM,SAAS,EAAE,UAAU,CAAC,OAAO,IAAG,OAAO,CAAQ,EAAC,CAAC,IAAI;gBACzF,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,YAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAA5B,CAA4B,CAAC;gBAClF,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,8DAAM,SAAS,EAAE,UAAU,CAAC,OAAO,IAAG,OAAO,CAAQ,EAAC,CAAC,IAAI,CACjF,CACP,CACP,CAAC;IACJ,CAAC;IAEH,2BAAC;AAAD,CAAC,CAhDyC,gFAAyB,GAgDlE;;AACD,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAC,KAAK;IAC7D,OAAO,mDAAmB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzD4B;AAEgC;AACF;AACJ;AACJ;AAErD;IAA0C,wCAA+C;IACvF,8BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IAES,yCAAU,GAApB,UAAqB,GAAW,EAAE,IAAS;QACzC,IAAM,YAAY,GAAG,CACnB,oDAAC,qEAAwB,IACvB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,GACV,CACH,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,0CAAW,GAArB,UAAsB,iBAAoC;QAA1D,iBA6BC;QA5BC,IAAM,4BAA4B,GAAG,iBAAiD,CAAC;QACvF,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK,IAAO,OAAO,KAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxH,OAAO,CACL,6DACE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAC1C,QAAQ,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACzD,6DAA6D;YAC7D,aAAa;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAClC,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,EACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,mBACb,IAAI,CAAC,QAAQ,CAAC,YAAY,gBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,kBACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,sBACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,mBAChC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,MAAM,mBACvF,iBAAiB,CAAC,aAAa,2BACvB,iBAAiB,CAAC,oBAAoB;YAE7D,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY;gBAClD,KAAK;gBACN,oDAAC,iEAAkB,IAAC,KAAK,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAuB,CACnG;YACL,IAAI,CAAC,iBAAiB,EAAE,CACrB,CAAC,CAAC;IACZ,CAAC;IAES,4CAAa,GAAvB;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;YACxC,MAAM;YACN,OAAO,CACJ,CACP,CAAC;IACJ,CAAC;IACH,2BAAC;AAAD,CAAC,CA1DyC,yEAA0B,GA0DnE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAC,KAAK;IAC7D,OAAO,mDAAmB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrE4B;AAC6C;AAEb;AACY;AAE3E;IAAwC,sCAEvC;IACC,gDAAgD;IAChD,4BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;QACZ,sCAAsC;IACxC,CAAC;IACS,wCAAW,GAArB;QAAA,iBAyCC;QAxCC,IAAM,UAAU,GAAI,IAAI,CAAC,QAA8B,CAAC,eAAe,EAAE,CAAC;QAE1E,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE;YACvC,OAAO,iEAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAO,CAAC;SACzC;QACD,IAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,oDAAC,uFAAyB,IAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,yBAAyB,GAA8B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1O,OAAO,CACL;YACE,+DACE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EACzB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAC7B,uBAAuB;gBACvB,GAAG,EAAE,UAAC,KAAK,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAxB,CAAwB,EACxC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EACvC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAC9B,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAChC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAC9B,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EACxC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAChC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAC9B,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAClC,mBAAmB,EAAE,UAAC,KAAK,IAAK,YAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,EAApD,CAAoD,mBACrE,IAAI,CAAC,QAAQ,CAAC,uBAAuB,gBACxC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,qBAC7B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,kBAC1C,IAAI,CAAC,QAAQ,CAAC,sBAAsB,sBAChC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,GAC1D;YACD,OAAO,CACP,CACJ,CAAC;IACJ,CAAC;IACS,0CAAa,GAAvB;QACE,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACxB;gBACI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,cAAc,EAAE,CACnB,EAAC;YACP,IAAI,CAAC,WAAW,EAAE,CACrB,CAAC;IACJ,CAAC;IACO,2CAAc,GAAtB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,OAAO,GAAsB,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,OAAO,CAAC,IAAI,CAAC,gEAAQ,GAAG,EAAE,MAAM,GAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAW,CAAC,CAAC;SACjE;QACD,OAAO,kEAAU,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAG,OAAO,CAAY,CAAC;IACtE,CAAC;IAKH,yBAAC;AAAD,CAAC,CA1EuC,wFAAiC,GA0ExE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAC,KAAK;IAC3D,OAAO,mDAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;;;;;;;;;;;;;ACpFH;AAAA;AAAA;AAAA;AAAA;AAA8I;AACtF;AAExD;IAAA;IAgDA,CAAC;IA/Ce,kCAAO,GAArB,UAAsB,MAAmB,EAAE,OAAoB,EAAE,GAAqB;QACpF,IAAM,aAAa,GAAG,MAAM,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAM,aAAa,GAAG,MAAM,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,OAAO;YACP,GAAG;YACH,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IACa,sCAAW,GAAzB,UAA0B,MAAmB,EAAE,OAAoB,EAAE,QAAuB;QAC1F,IAAM,aAAa,GAAG,MAAM,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAM,aAAa,GAAG,MAAM,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QACtE,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,OAAO;YACP,QAAQ;YACR,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IACa,8CAAmB,GAAjC,UAAkC,MAAmB,EAAE,OAAoB,EAAE,QAAuB;QAClG,IAAM,aAAa,GAAG,MAAM,CAAC,sCAAsC,CAAC,QAAQ,CAAC,CAAC;QAC9E,IAAM,aAAa,GAAG,MAAM,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QACtE,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,OAAO;YACP,QAAQ;YACR,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IACa,wCAAa,GAA3B,UAA4B,MAAmB,EAAE,OAAoB,EAAE,QAA4B,EAAE,IAAe;QAClH,IAAM,aAAa,GAAG,MAAM,CAAC,gCAAgC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9E,IAAM,aAAa,GAAG,MAAM,CAAC,gCAAgC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9E,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,GAAG,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG;YACjB,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IACa,yCAAc,GAA5B,UAA6B,MAAmB,EAAE,OAAoB,EAAE,IAAwC,EAAE,MAAuB;QAAvB,wCAAuB;QACvI,IAAM,aAAa,GAAG,MAAM,CAAC,8BAA8B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1E,IAAM,aAAa,GAAG,MAAM,CAAC,8BAA8B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1E,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,OAAO;YACP,IAAI;YACJ,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IACH,iCAAC;AAAD,CAAC;;AAED,uDAAW,CAAC,QAAQ,GAAG,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDA;AAE0B;AACD;AACK;AAE7D;IAAsC,oCAAkB;IACtD,0BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SACb;QAOgB,kBAAY,GAAG,GAAG,CAAC;;IAPpC,CAAC;IACS,0CAAe,GAAzB;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,sBAAc,wCAAU;aAAxB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAY,sCAAQ;aAApB;YACE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,CAAC;;;OAAA;IACD,iCAAM,GAAN;QACE,IAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;YAC7B,OAAO,IAAI,CAAC;SACb;QACD,IAAI,MAAM,GAAG,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,SAAS,IAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAO,CAAC;QACrG,IAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE;YACnC,IAAI,KAAK,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpF,IAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,oDAAC,qEAAO,IAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAY,EAAC,CAAC,IAAI,CAAC,CAAC;YACnL,MAAM;gBACN,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;oBACrC,QAAQ;oBACT,6DAAK,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB;wBAC9C,8DAAM,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,IAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAS;wBACtF,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,8DAAM,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,IAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAC9H,CACF,CAAC,CAAC;SACT;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACH,uBAAC;AAAD,CAAC,CAjCqC,yEAAkB,GAiCvD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,EAAE,UAAC,KAAK;IAClE,OAAO,mDAAmB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3C4B;AAG6B;AACf;AACW;AACQ;AAEhE;IAA+B,6BAA2B;IAExD,mBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAGb;QAFC,KAAI,CAAC,OAAO,GAAG,+CAAe,EAAE,CAAC;QACjC,KAAI,CAAC,cAAc,EAAE,CAAC;;IACxB,CAAC;IACO,kCAAc,GAAtB;QACE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAO,IAAI,OAAC,OAAoB,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC;IAC5E,CAAC;IACS,mCAAe,GAAzB;QACE,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IACD,sBAAY,0BAAG;aAAf;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,CAAC;;;OAAA;IACD,sBAAY,6BAAM;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAY,8BAAO;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,CAAC;;;OAAA;IACD,sBAAc,0BAAG;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,CAAC;;;OAAA;IACS,6BAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAC3E,CAAC;IACS,wCAAoB,GAA9B;QAAA,iBAuBC;QAtBC,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,YAAY;YAClE,IAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,IAAM,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;YACjC,OAAO,CACL,oDAAC,yDAAgB,IACf,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,KAAI,CAAC,GAAG,EACb,MAAM,EAAE,KAAI,CAAC,MAAM,EACnB,OAAO,EAAE,KAAI,CAAC,OAAO,EACrB,GAAG,EAAE,KAAI,CAAC,GAAG,EACb,GAAG,EAAE,GAAG,GAES,CACpB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,CACL,6DAAK,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IACpD,QAAQ,CACL,CACP,CAAC;IACJ,CAAC;IACS,iCAAa,GAAvB;QACE,IAAM,MAAM,GAAgB,IAAI,CAAC,MAAqB,CAAC;QACvD,IAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5C,IAAM,OAAO,GAAG,4EAA0B,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9E,OAAO,OAAO,IAAI,OAAO,CAAC;IAC5B,CAAC;IACD,qCAAiB,GAAjB;QAAA,iBASC;QARC,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;YAClC,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,UAAU,CAAC;gBACT,KAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAC/C,CAAC,EAAE,EAAE,CAAC,CAAC;SACR;IACH,CAAC;IACM,yCAAqB,GAA5B,UAA6B,SAAc,EAAE,SAAc;QACzD,IAAI,CAAC,iBAAM,qBAAqB,YAAC,SAAS,EAAE,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAErE,IAAI,SAAS,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE;YAC9B,SAAS,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;YACnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACO,qCAAiB,GAAzB;QACE,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IACtD,CAAC;IACD,wCAAoB,GAApB;QACE,iBAAM,oBAAoB,WAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAES,iCAAa,GAAvB,UAAwB,OAAiB,EAAE,YAAqB;QAC9D,IAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,oEAAmB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE;YAClE,WAAW,GAAG,UAAU,CAAC;SAC1B;QACD,OAAO,oEAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE;YAC7D,GAAG,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK;YACzB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IACH,gBAAC;AAAD,CAAC,CArG8B,wEAAiB,GAqG/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7G8B;AACqC;AAEL;AACN;AAEzD;IAAgD,8CAAyB;IACvE,oCAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,KAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;;IAC9C,CAAC;IACD,sBAAc,gDAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,YAAyC,CAAC;QACxD,CAAC;;;OAAA;IACS,kDAAa,GAAvB;QAAA,iBAkBC;QAjBC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,OAAO,CACL,6DAAK,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,UAAC,IAAI,IAAK,QAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAvB,CAAuB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;YAC5J,6DACE,SAAS,EAAE,UAAU,CAAC,WAAW,EACjC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAEpE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC1B;YACN;gBACG,IAAI,CAAC,qBAAqB,EAAE;gBAC7B,gEAAQ,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAW,CACtE;YACL,WAAW,CACR,CACP,CAAC;IACJ,CAAC;IAED,0DAAqB,GAArB;QACE,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QAE/C,OAAO,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAQ,CAAC;IAC3L,CAAC;IAED,sDAAiB,GAAjB;QAAA,iBAcC;QAbC,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAElD,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1C,OAAO,6DAAK,SAAS,EAAE,UAAU,CAAC,QAAQ;YACxC,gEACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,UAAU,CAAC,WAAW,EACjC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EACvC,OAAO,EAAE,cAAM,YAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAA1B,CAA0B,IAExC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,oDAAC,qEAAO,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAY,CAAC,CAAC,CAAC,2EAAc,CAC/I,CACL,CAAC;IACT,CAAC;IACH,iCAAC;AAAD,CAAC,CAjD+C,gFAAyB,GAiDxE;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAC,KAAK;IACnE,OAAO,mDAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3DuB;AACsB;AACQ;AAExD;IAA2C,yCAAyB;IAClE,+BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QAkBD,aAAO,GAAG,UAAC,KAAU;YACnB,KAAI,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;QAC5C,CAAC,CAAC;QACF,aAAO,GAAG,UAAC,KAAU;YACnB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC,CAAC;QAzBA,KAAI,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;IAC9B,CAAC;IACD,sBAAY,yCAAM;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAY,wCAAK;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,iDAAiB,GAAjB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC;IACD,oDAAoB,GAApB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,cAAa,CAAC,CAAC;IACzC,CAAC;IAQD,sCAAM,GAAN;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,IAAM,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACvD,OAAO,CACL,qEACE,SAAS,EAAC,kBAAkB,EAC5B,eAAe,EAAC,MAAM,EACtB,8BAA8B,EAAE,IAAI,EACpC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,uBAAuB,EAAE,SAAS,EAClC,MAAM,EAAE,IAAI,CAAC,OAAO,EACpB,OAAO,EAAE,IAAI,CAAC,OAAO,GACrB,CACH,CAAC;SACH;QACD,OAAO,CACL,qEACE,SAAS,EAAC,kBAAkB,EAC5B,eAAe,EAAC,MAAM,EACtB,8BAA8B,EAAE,IAAI,EACpC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,OAAO,EACpB,OAAO,EAAE,IAAI,CAAC,OAAO,IAEpB,IAAI,CAAC,MAAM,CAAC,YAAY,CACpB,CACR,CAAC;IACJ,CAAC;IACH,4BAAC;AAAD,CAAC,CA5D0C,4CAAK,CAAC,SAAS,GA4DzD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,6DAAiB,CAAC,gBAAgB,EAClC,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvEwB;AACsB;AACQ;AAExD;IAA2C,yCAAyB;IAClE,+BAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAEb;QAsBO,sBAAgB,GAAG,UAAC,MAAW,EAAE,OAAY;YACnD,IAAG,KAAI,CAAC,WAAW;gBAAE,OAAO;YAC5B,KAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,IAAI,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QA1BC,KAAI,CAAC,OAAO,GAAG,4CAAK,CAAC,SAAS,EAAE,CAAC;;IACnC,CAAC;IAED,sBAAY,yCAAM;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;;;OAAA;IACD,sBAAY,wCAAK;aAAjB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,iDAAiB,GAAjB;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,oDAAoB,GAApB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IACD,kDAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,IAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE;YACrB,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAMO,iDAAiB,GAAzB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzD,CAAC;IACD,sCAAM,GAAN;QACE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACS,4CAAY,GAAtB;QACE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACrD,OAAO,qEAAM,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,uBAAuB,EAAE,SAAS,GAAI,CAAC;SACxH;QACD,OAAO,qEAAM,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAQ,CAAC;IACpH,CAAC;IACH,4BAAC;AAAD,CAAC,CAhD0C,4CAAK,CAAC,SAAS,GAgDzD;;AAED,oEAAmB,CAAC,QAAQ,CAAC,eAAe,CAC1C,6DAAiB,CAAC,eAAe,EACjC,UAAC,KAAK;IACJ,OAAO,4CAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3D6B;AACoE;AACpC;AACH;AAO5D;IAAwC,sCAA0C;IAyChF,4BAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IAxCD,sBAAI,qCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC;;;OAAA;IACD,sBAAI,wCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,+CAAkB,GAAlB,UAAmB,SAAc,EAAE,SAAc;QAC/C,iBAAM,kBAAkB,YAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,8CAAiB,GAAjB;QACE,iBAAM,iBAAiB,WAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,6CAAgB,GAAhB;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,IAAM,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC;YACvC,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;YAChD,IAAI,CAAC,mDAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;gBAC1E,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;aAChD;SACF;IACH,CAAC;IACD,qCAAQ,GAAR,UAAS,CAAM;QACL,QAAI,GAAK,oDAAQ,CAAC,WAAW,KAAzB,CAA0B;QACtC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SACjD;IACH,CAAC;IACD,uCAAU,GAAV,UAAW,CAAM;QACf,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,mCAAM,GAAN,UAAO,CAAM;QACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,oCAAO,GAAP,UAAQ,CAAM;QACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAID,4CAAe,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,mCAAM,GAAN;QAAA,iBAoCC;QAnCC,OAAO,CACL,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;YAC1C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC1B,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU;oBAClD,kEAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAQ,CACtC,CAAC,CAAC,CAAC,CAAC,IAAI;YAChB,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB;gBACvD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAC1B,CAAC,6DAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU;wBAClD,8DAAM,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAY,0BAA0B,IAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAQ;wBACnH,kEAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAQ,CACtC,CAAC,CAAC,CAAC,CAAC,IAAI;gBAEhB,+DAAO,IAAI,EAAC,MAAM,EAAC,YAAY,EAAC,KAAK,EACnC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAC9B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,GAAG,EAAE,UAAC,OAAO,IAAK,QAAC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC,EAA7B,CAA6B,EAC/C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EACvC,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACtD,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACrD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,gBAC7D,IAAI,CAAC,QAAQ,CAAC,WAAW,mBACtB,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,MAAM,mBACvF,IAAI,CAAC,KAAK,CAAC,aAAa,2BAChB,IAAI,CAAC,KAAK,CAAC,oBAAoB,EACtD,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAC/C,SAAS,EAAE,UAAC,CAAC,IAAO,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACzC,QAAQ,EAAE,UAAC,CAAC,IAAO,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtC,MAAM,EAAE,UAAC,CAAC,IAAO,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAClC,OAAO,EAAE,UAAC,CAAC,IAAO,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC7B,CACL,CACF,CACP,CAAC;IACJ,CAAC;IACH,yBAAC;AAAD,CAAC,CApFuC,wEAAiB,GAoFxD;;AAED,2EAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,UAAC,KAAK;IACvE,OAAO,mDAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClG4B;AAC8B;AAEJ;AAEzD;IAA8C,4CAAkB;IAC9D,kCAAY,KAAU;eACpB,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,sBAAc,8CAAQ;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;;;OAAA;IACD,sBAAc,0CAAI;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,CAAC;;;OAAA;IACS,4CAAS,GAAnB;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxC,CAAC;IACS,gDAAa,GAAvB;QAAA,iBAuBC;QAtBC,IAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErD,IAAM,UAAU,GAAG,UAAC,KAAU;YAC5B,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9D,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC,CAAC;QAEF,OAAO,CACL,6DAAK,SAAS,EAAC,iBAAiB;YAC9B,6DAAK,SAAS,EAAC,sBAAsB,IAAE,IAAI,CAAO;YAClD,6DACE,SAAS,EAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EACpD,OAAO,EAAE,UAAU;gBAEnB,oDAAC,qEAAO,IACN,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EACtD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,EACxD,IAAI,EAAE,MAAM,GACH,CACP,CACF,CACP,CAAC;IACJ,CAAC;IACH,+BAAC;AAAD,CAAC,CArC6C,yEAAkB,GAqC/D;;;;;;;;;;;;;;ACzCD;AAAA;AAAA;AAAkD;AASlD,IAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;AACrC,IAAM,kBAAkB,GAA4C,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChF,IAAI,EAAE,QAAQ;IAEd,YAAY,EAAE,QAAQ,CAAC,IAAI;IAC3B,IAAI,WAAW;;QACb,OAAO,UAAI,CAAC,YAAY,mCAAI,QAAQ,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,IAAI,WAAW,CAAC,WAAqC;QAClD,IAAI,CAAC,YAAoB,GAAG,WAAW,CAAC;IAC3C,CAAC;IAED,oBAAoB,EAAE,QAAQ,CAAC,IAAI;IACnC,IAAI,mBAAmB;;QACrB,OAAO,UAAI,CAAC,oBAAoB,mCAAI,QAAQ,CAAC,IAAI,CAAC;IACpD,CAAC;IACD,IAAI,mBAAmB,CAAC,mBAAyC;QAC9D,IAAI,CAAC,oBAA4B,GAAG,mBAAmB,CAAC;IAC3D,CAAC;IACD,iBAAiB,EAAE,QAAQ,CAAC,IAAI;IAChC,0BAA0B,EAAE,QAAQ,CAAC,IAAI;CAC1C,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACf,IAAM,kBAAkB,GAA+D;IACrF,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;CACjC,CAAC;AACF;;;;;;;;GAQG;AAEI,IAAI,QAAQ,GAAG;IACpB;;;;;;;;;;OAUG;IACH,UAAU,EAAE;QACV,qBAAqB,EAAE,IAAI;QAC3B,eAAe,EAAE,IAAI;KACtB;IACD,iDAAiD;IACjD;;OAEG;IACH,IAAI,qCAAqC,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACtG,IAAI,qCAAqC,CAAC,GAAY,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC;IACxG;;OAEG;IACH,IAAI,+BAA+B,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1F,IAAI,+BAA+B,CAAC,GAAY,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5F,YAAY;IAEZ;;;;;;;;;;;;;OAaG;IACH,YAAY,EAAE;QACZ,gBAAgB,EAAE,IAAI;QACtB,2BAA2B,EAAE,KAAK;QAClC,iBAAiB,EAAE,SAAS;KAC7B;IACD,mDAAmD;IACnD;;OAEG;IACH,IAAI,gBAAgB,KAAc,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC9E,IAAI,gBAAgB,CAAC,GAAY,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC;IAChF;;OAEG;IACH,IAAI,2BAA2B,KAAc,OAAO,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACpG,IAAI,2BAA2B,CAAC,GAAY,IAAI,IAAI,CAAC,YAAY,CAAC,2BAA2B,GAAG,GAAG,CAAC,CAAC,CAAC;IACtG;;OAEG;IACH,IAAI,iBAAiB,KAAa,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC/E,IAAI,iBAAiB,CAAC,GAAW,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;IACjF,YAAY;IACZ;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,EAAE;QACH,eAAe,EAAE,IAAI;QACrB,kBAAkB,EAAE,IAAI;QACxB,kCAAkC,EAAE,KAAK;QACzC,gBAAgB,EAAE,0CAA0C;KAC7D;IACD,0CAA0C;IAC1C;;OAEG;IACH,IAAI,0BAA0B,KAAc,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IAC9E,IAAI,0BAA0B,CAAC,GAAY,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC;IAChF;;OAEG;IACH,IAAI,2BAA2B,KAAc,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAClF,IAAI,2BAA2B,CAAC,GAAY,IAAI,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC,CAAC;IACpF,IAAI,4BAA4B,KAAc,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnF,IAAI,4BAA4B,CAAC,GAAY,IAAI,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC,CAAC;IACrF;;OAEG;IACH,IAAI,8BAA8B,KAAc,OAAO,IAAI,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;IACrG,IAAI,8BAA8B,CAAC,GAAY,IAAI,IAAI,CAAC,GAAG,CAAC,kCAAkC,GAAG,GAAG,CAAC,CAAC,CAAC;IACvG;;OAEG;IACH,IAAI,gBAAgB,KAAa,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACpE,IAAI,gBAAgB,CAAC,GAAW,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC;IACtE,YAAY;IAEZ;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,EAAE;QACR,iCAAiC,EAAE,IAAI;QACvC,6BAA6B,EAAE,KAAK;QACpC,yBAAyB,EAAE,IAAI;KAChC;IACD,+CAA+C;IAC/C;;OAEG;IACH,IAAI,oCAAoC,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC3G,IAAI,oCAAoC,CAAC,GAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,6BAA6B,GAAG,GAAG,CAAC,CAAC,CAAC;IAC7G;;OAEG;IACH,IAAI,wCAAwC,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,CAAC;IACnH,IAAI,wCAAwC,CAAC,GAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,iCAAiC,GAAG,GAAG,CAAC,CAAC,CAAC;IACrH;;OAEG;IACH,IAAI,gCAAgC,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACnG,IAAI,gCAAgC,CAAC,GAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,GAAG,GAAG,CAAC,CAAC,CAAC;IACrG,YAAY;IAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,aAAa,EAAE;QACb,0BAA0B,EAAE,KAAK;QACjC,6BAA6B,EAAE,KAAK;QACpC,kCAAkC,EAAE,KAAK;KAC1C;IACD,oDAAoD;IACpD;;OAEG;IACH,IAAI,gCAAgC,KAAc,OAAO,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACzG,IAAI,gCAAgC,CAAC,GAAY,IAAI,IAAI,CAAC,aAAa,CAAC,0BAA0B,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3G;;OAEG;IACH,IAAI,4BAA4B,KAAc,OAAO,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACxG,IAAI,4BAA4B,CAAC,GAAY,IAAI,IAAI,CAAC,aAAa,CAAC,6BAA6B,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1G;;OAEG;IACH,IAAI,kCAAkC,KAAc,OAAO,IAAI,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC,CAAC;IACnH,IAAI,kCAAkC,CAAC,GAAY,IAAI,IAAI,CAAC,aAAa,CAAC,kCAAkC,GAAG,GAAG,CAAC,CAAC,CAAC;IACrH,YAAY;IACZ;;;;;;;;;OASG;IACH,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,CAAC;KAClB;IACD,iDAAiD;IACjD;;OAEG;IACH,IAAI,iBAAiB,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,IAAI,iBAAiB,CAAC,GAAY,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;IACtE,IAAI,yBAAyB,KAAa,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IAClF,IAAI,yBAAyB,CAAC,GAAW,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC;IACpF,YAAY;IACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,MAAM,EAAE;QACN,eAAe,EAAE,UAAU;QAC3B,cAAc,EAAE,SAAS;QACzB,YAAY,EAAE,QAAQ;QACtB,WAAW,EAAE,IAAI;QACjB,sBAAsB,EAAE,CAAC;QACzB,kBAAkB,EAAE,IAAI;QACxB,kBAAkB,EAAE,kBAAkB;QACtC,QAAQ,EAAE,OAA6B;KACxC;IACD,6CAA6C;IAC7C;;OAEG;IACH,IAAI,oBAAoB,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IACzE,IAAI,oBAAoB,CAAC,GAAW,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3E;;OAEG;IACH,IAAI,qBAAqB,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3E,IAAI,qBAAqB,CAAC,GAAW,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC;IAC7E;;OAEG;IACH,IAAI,uBAAuB,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,IAAI,uBAAuB,CAAC,GAAW,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5E;;OAEG;IACH,IAAI,qBAAqB,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IACvE,IAAI,qBAAqB,CAAC,GAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC;IACzE;;OAEG;IACH,IAAI,4BAA4B,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACzF,IAAI,4BAA4B,CAAC,GAAW,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3F;;OAEG;IACH,IAAI,wBAAwB,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAClF,IAAI,wBAAwB,CAAC,GAAY,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC,CAAC;IACpF,YAAY;IACZ;;;;;;;;;;;;OAYG;IACH,KAAK,EAAE;QACL,aAAa,EAAE,GAAG;QAClB,wBAAwB,EAAE,CAAC;KAC5B;IACD,4CAA4C;IAC5C;;OAEG;IACH,IAAI,oCAAoC,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAClG,IAAI,oCAAoC,CAAC,GAAW,IAAI,IAAI,CAAC,KAAK,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAC,CAAC;IACpG;;OAEG;IACH,IAAI,sBAAsB,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IACzE,IAAI,sBAAsB,CAAC,GAAW,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3E,YAAY;IACZ;;;;;;;;;;OAUG;IACH,QAAQ,EAAE;QACR,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,UAAU;QAC7B,cAAc,EAAE,OAAO;KACxB;IACD,+CAA+C;IAC/C;;OAEG;IACH,IAAI,yBAAyB,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACnF,IAAI,yBAAyB,CAAC,GAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;IACrF;;OAEG;IACH,IAAI,sBAAsB,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7E,IAAI,sBAAsB,CAAC,GAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/E,YAAY;IACZ;;;;;;;;;;OAUG;IACH,SAAS,EAAE;QACT,gCAAgC,EAAE,KAAK;QACvC,+BAA+B,EAAE,KAAK;KACvC;IACD,gDAAgD;IAChD;;OAEG;IACH,IAAI,qCAAqC,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC/G,IAAI,qCAAqC,CAAC,GAAY,IAAI,IAAI,CAAC,SAAS,CAAC,+BAA+B,GAAG,GAAG,CAAC,CAAC,CAAC;IACjH;;OAEG;IACH,IAAI,sCAAsC,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC,CAAC;IACjH,IAAI,sCAAsC,CAAC,GAAY,IAAI,IAAI,CAAC,SAAS,CAAC,gCAAgC,GAAG,GAAG,CAAC,CAAC,CAAC;IACnH,YAAY;IACZ;;;;;;;;OAQG;IACH,cAAc,EAAE,SAAyD;IACzE;;;;;;;;;;OAUG;IACH,UAAU,EAAE;QACV,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,KAAK;QACpB,qBAAqB,EAAE,UAAC,GAAW,EAAE,MAAc,IAAe,OAAO,GAAG,CAAC,CAAC,CAAC;KAChF;IACD,+BAA+B,EAAE,GAAG;IACpC,IAAI,aAAa,KAAa,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9D,IAAI,aAAa,CAAC,GAAW,IAAI,QAAQ,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC;IAChE;;;;;;OAMG;IACH,aAAa,EAAE,UAAU;IACzB;;;;OAIG;IACH,kBAAkB,EAAE,GAAG;IACvB;;;;OAIG;IACH,2BAA2B,EAAE,EAAE;IAC/B;;;;OAIG;IACH,mBAAmB,EAAE,KAAK;IAC1B;;;;;OAKG;IACH,iBAAiB,EAAE,UAAU,OAAe;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD;;;;;;;;;;;;;;;;;OAiBG;IACH,kBAAkB,EAAE,UAAU,OAAe,EAAE,QAAgC;QAC7E,OAAO,sEAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IACD;;;;;;OAMG;IACH,QAAQ,EAAE,OAAO;IACjB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM;IAChB;;;;OAIG;IACH,kCAAkC,EAAE,EAAE;IACtC;;;;;;;OAOG;IACH,aAAa,EAAE;QACb,QAAQ,EAAE,IAAI;KACf;IACD;;;;;;;OAOG;IACH,gBAAgB,EAAE,SAAS;IAC3B;;;;OAIG;IACH,aAAa,EAAE,MAAM;IACrB;;OAEG;IACH,mBAAmB,EAAE;QACnB,QAAQ,EAAE,CAAC,YAAY,CAAC;QACxB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QAC3C,QAAQ,EAAE,CAAC,aAAa,CAAC;QACzB,WAAW,EAAE,CAAC,aAAa,CAAC;KAC7B;IACD;;OAEG;IACH,OAAO,EAAE,EAAE;IACX;;OAEG;IACH,OAAO,EAAE,EAAE;IACX,SAAS,EAUN,SAAS;IACZ,UAAU,EAAiE,SAAS;IACpF,gBAAgB,EAAE,KAAK;IACvB,2BAA2B,EAAE,IAAI;IACjC;;;;;;;;;;OAUG;IACH,WAAW,EAAE,EAAE;IACf;;;;;;;OAOG;IACH,qBAAqB,EAAE,YAAY;IAEnC,WAAW,EAAE,kBAAkB;IAE/B;;;;;;OAMG;IACH,sBAAsB,EAAE,IAAI;IAE5B;;;;;;OAMG;IACH,SAAS,EAAE;QACT,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,UAAU,EAAE;YACV,OAAO;YACP,MAAM;YACN,gBAAgB;YAChB,OAAO;YACP,OAAO;YACP,QAAQ;YACR,UAAU;YACV,OAAO;YACP,KAAK;YACL,MAAM;YACN,MAAM;YACN,KAAK;YACL,MAAM;SACP;QACD,QAAQ,EAAE;YACR,EAAE;YACF,MAAM;YACN,kBAAkB;YAClB,YAAY;YACZ,iBAAiB;YACjB,aAAa;YACb,kBAAkB;YAClB,UAAU;YACV,oBAAoB;YACpB,UAAU;YACV,cAAc;YACd,kBAAkB;YAClB,cAAc;YACd,gBAAgB;YAChB,eAAe;YACf,eAAe;YACf,eAAe;YACf,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;YAChB,SAAS;YACT,cAAc;YACd,aAAa;YACb,SAAS;YACT,eAAe;YACf,oBAAoB;YACpB,gBAAgB;YAChB,WAAW;YACX,QAAQ;YACR,cAAc;YACd,aAAa;YACb,QAAQ;YACR,SAAS;YACT,sBAAsB;YACtB,oBAAoB;YACpB,UAAU;YACV,MAAM;YACN,UAAU;YACV,YAAY;YACZ,WAAW;YACX,KAAK;YACL,KAAK;YACL,OAAO;YACP,KAAK;YACL,kBAAkB;YAClB,cAAc;YACd,eAAe;YACf,WAAW;YACX,kBAAkB;YAClB,kBAAkB;YAClB,eAAe;YACf,OAAO;YACP,MAAM;SACP;KACF;CACF,CAAC;;;;;;;;;;;;;AC1sBF;AAAA;AAAA;AAAA;AAAwD;AAEjD,IAAI,kBAAkB,GAAG;IAC9B,kBAAkB,EAAE,EAAE;IACtB,kBAAkB,EAAE,IAAI;IACxB,OAAO,EAA4B,EAAE;IACrC,WAAW,EAA4B,EAAE;IACzC,gBAAgB,EAAc,EAAE;IAChC,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAC5F,CAAC;IACD,IAAI,aAAa,CAAC,GAAW;QAC3B,IAAI,GAAG,KAAK,IAAI;YAAE,GAAG,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;IAChC,CAAC;IACD,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IACD,IAAI,aAAa,CAAC,GAAW;QAC3B,IAAI,GAAG,KAAK,IAAI;YAAE,GAAG,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;IAChC,CAAC;IACD,gBAAgB,EAAhB,UAAiB,GAAW;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,SAAS,EAAE,UAAU,OAAe,EAAE,MAAqB;QAAhD,iBAyBV;QAzBqC,sCAAqB;QACzD,IAAM,IAAI,GAAG,IAAI,KAAK,EAAO,CAAC;QAC9B,IAAM,aAAa,GAAG,UAAC,OAAe;YACpC,IAAM,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnC,IAAG,CAAC,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,IAAM,SAAS,GAAG,UAAC,OAAe;YAChC,IAAG,CAAC,OAAO;gBAAE,OAAO;YACpB,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,IAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACnC,IAAG,KAAK,GAAG,CAAC;gBAAE,OAAO;YACrB,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtC,aAAa,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,IAAG,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAC9B,aAAa,CAAC,IAAI,CAAC,CAAC;SACrB;QACD,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAG,EAAE;YACpC,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAG,GAAG,KAAK,SAAS;gBAAE,OAAO,GAAG,CAAC;SAClC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IACD,UAAU,EAAE,UAAU,gBAAiC;QAAjC,2DAAiC;QACrD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7D,IAAI,GAAG,EAAE,CAAC;YACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;aACvC;SACF;QACD,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;YACpB,IAAI,gBAAgB,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa;gBAAE,SAAS;YAC5D,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACf;QACD,IAAI,OAAO,GAAG,UAAC,GAAW;YACxB,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,CAAC;YACpB,IAAI,GAAG,GAAS,kBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,GAAG;gBAAE,GAAG,GAAG,GAAG,CAAC;YACpB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;YACZ,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC5B,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IACD,mBAAmB,EAAE,UAAU,IAAY,EAAE,MAAc,IAAY,OAAO,SAAS,CAAC,CAAC,CAAC;CAC3F,CAAC;AAEK,IAAI,aAAa,GAAG,oEAAc,CAAC;AACpC,kBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,oEAAc,CAAC;AACnD,kBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClFX;AAO7C;IAcE,6BACY,SAAyB,EAC3B,KAA8B,EAC9B,aAAqB,EACrB,YAA2B;QAJrC,iBAmBC;QAfS,kDAA2B;QAHzB,cAAS,GAAT,SAAS,CAAgB;QAC3B,UAAK,GAAL,KAAK,CAAyB;QAC9B,kBAAa,GAAb,aAAa,CAAQ;QACrB,iBAAY,GAAZ,YAAY,CAAe;QAjB7B,mBAAc,GAAmB,SAAS,CAAC;QAC3C,kBAAa,GAAG,KAAK,CAAC;QACpB,sBAAiB,GAAG,EAAE,CAAC;QACzB,kBAAa,GAAG,EAAE,CAAC;QACnB,sBAAiB,GAAG,CAAC,CAAC;QACtB,qBAAgB,GAAG,CAAC,CAAC;QACrB,kBAAa,GAAG,EAAE,CAAC;QACjB,4BAAuB,GAAG,IAAI,CAAC;QAElC,qBAAgB,GAEI,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAQ9D,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,UAAC,kBAA2B;YACtD,IAAI,kBAAkB;gBACpB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,UAAU,CAAC,cAAQ,KAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YACzC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,UAAC,OAA8B;gBACtE,MAAM,CAAC,qBAAqB,CAAC;oBAC3B,KAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;SAC3D;IACH,CAAC;IAES,2CAAa,GAAvB,UAAwB,OAAoB;QAC1C,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,WAAW;YAC3B,MAAM,EAAE,OAAO,CAAC,WAAW;SAC5B,CAAC;IACJ,CAAC;IAES,+CAAiB,GAA3B;QACE,IAAM,KAAK,GAAwB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzE,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QACvC,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,EAAE;YACpC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SACzE;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,0CAAY,GAAtB,UAAuB,IAAoB;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,8CAAgB,GAAxB,UAAyB,aAAqB;QAC5C,IAAI,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC/C,IAAI,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAC1D,iBAAiB,GAAG,CAAC,GAAG,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;SACxE;QACD,OAAO,aAAa,CAAC,SAAS;YAC5B,CAAC,CAAC,iBAAiB;gBACnB,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC;IACjC,CAAC;IAEO,4CAAc,GAAtB;QAAA,iBAOC;QANC,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,IAAoB,EAAE,KAAa;YACzD,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACnC,KAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IACS,kDAAoB,GAA9B,UAA+B,aAAqB,EAAE,IAAoB;QACxE,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrD,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;IACD,sBAAY,mDAAkB;aAA9B;YACE,OAAO,iEAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IACO,qCAAO,GAAf;;QACE,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE;YACnE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACnC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;YACD,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,IAAM,eAAe,GAAmB,UAAI,CAAC,SAAS,0CAAE,aAAa,CAAC,UAAU,CAAC,CAAC;gBAClF,YAAY,GAAG,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC;aAC5F;YACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,YAAY,CAAC,CAAC;SACxD;IACH,CAAC;IAEM,qCAAO,GAAd;QACE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE;YACzB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;SAClC;IACH,CAAC;IACH,0BAAC;AAAD,CAAC;;AAED;IAAiD,+CAAmB;IAClE,qCACE,SAAyB,EACzB,KAA8B,EAC9B,aAAqB,EACrB,YAAqB,EACrB,YAAiB;QAAjB,gDAAiB;QALnB,YAOE,kBAAM,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,SAGrD;QAFC,KAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACtC,KAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;;IACvC,CAAC;IAES,mDAAa,GAAvB;QACE,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;YACnC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;SACpC,CAAC;IACJ,CAAC;IAES,uDAAiB,GAA3B;QACE,IAAM,KAAK,GAAwB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzE,IAAI,KAAK,GAAW,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAChD,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,EAAE;YACpC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SACzE;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,kDAAY,GAAtB,UAAuB,IAAoB;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACS,0DAAoB,GAA9B,UAA+B,aAAqB,EAAE,IAAoB;QACxE,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrD,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IACH,kCAAC;AAAD,CAAC,CApCgD,mBAAmB,GAoCnE;;;;;;;;;;;;;;ACtJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;AACI;AAEP;AAGtD,SAAS,eAAe,CAAC,CAAM,EAAE,CAAM;IACrC,IAAM,WAAW,GAAW,UAAU,CAAC;IACvC,IAAM,SAAS,GAAa,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClE,IAAM,SAAS,GAAa,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClE,IAAM,GAAG,GAAW,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACjE,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QACpC,IAAM,IAAI,GACR,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,IAAI,CAAC,CAAC,kDAAQ,IAAI,CAAC,CAAC,kDAAQ,CAAC,iBAAiB;QAC5C,OAAO,kDAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe,EAAE,SAAqB,EAAE,QAAqB;IACvF,IAAM,YAAY,GAAG,UAAC,GAAY;QAChC,IAAG,GAAG;YAAE,SAAS,EAAE,CAAC;aACf,IAAG,CAAC,CAAC,QAAQ;YAAE,QAAQ,EAAE,CAAC;IACjC,CAAC,CAAC;IAEF,IAAG,CAAC,CAAC,kDAAQ,IAAI,CAAC,CAAC,kDAAQ,CAAC,kBAAkB,EAAE;QAC9C,IAAG,kDAAQ,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC;YAAE,OAAO;KAC/D;IAED,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AACvC,CAAC;AACD,SAAS,eAAe;IACtB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAChD,IAAM,EAAE,GAAW,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;IAC9C,IAAM,KAAK,GAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAM,QAAQ,GAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,OAAO,KAAK,GAAG,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC;AACD,SAAS,cAAc;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,OAAa,cAAe,CAAC,UAAU,KAAK,WAAW,EAAE;QAC3D,IAAM,EAAE,GAAW,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;QAC9C,IAAM,IAAI,GAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzC,IAAM,OAAO,GAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAM,IAAI,GAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnC,cAAe,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;KACxE;IACD,OAAa,cAAe,CAAC,UAAU,CAAC;AAC1C,CAAC;AACD,SAAS,kBAAkB,CAAC,OAAe,EAAE,QAAgB;IAC3D,IAAI;QACF,IAAM,UAAU,GAAW,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvD,kCAAkC;QAClC,IAAM,UAAU,GAAW,OAAO;aAC/B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACb,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACb,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjB,kDAAkD;QAClD,IAAM,EAAE,GAAgB,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAM,EAAE,GAAe,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAClC;QACD,mDAAmD;QACnD,IAAM,EAAE,GAAS,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtD,IACE,OAAO,MAAM,KAAK,WAAW;YAC7B,MAAM,CAAC,SAAS;YACV,MAAM,CAAC,SAAU,CAAC,YAAY,CAAC,EACrC;YACM,MAAM,CAAC,SAAU,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;SAC3D;KACF;IAAC,OAAO,GAAG,EAAE,GAAG;AACnB,CAAC;AACD,SAAS,QAAQ;IACf,OAAO,CACL,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,WAAW,CAC3E,CAAC;AACJ,CAAC;AAED,IAAM,WAAW,GAAG,UAAC,WAAgD;IACnE,OAAO,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,IAAM,UAAU,GAAG,UAAC,OAA6B;IACvC,QAAI,GAAyB,kDAAQ,CAAC,WAAW,KAA7C,CAA8C;IAC1D,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC9E,CAAC,CAAC;AAEF,SAAS,gBAAgB,CACvB,OAAoB,EACpB,SAAqB;IAArB,yCAAqB;IAErB,IAAI,OAAO,kDAAQ,CAAC,WAAW,KAAK,WAAW,EAAE;QAC/C,OAAO,KAAK,CAAC;KACd;IAEO,QAAI,GAAyB,kDAAQ,CAAC,WAAW,KAA7C,CAA8C;IAC1D,IAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;QACxB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;IACtC,IAAM,WAAW,GAAY,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAC7D,IAAM,UAAU,GAAW,IAAI,CAAC,GAAG,CACjC,YAAY,EACZ,MAAM,CAAC,WAAW,CACnB,CAAC;IACF,IAAM,MAAM,GAAW,CAAC,SAAS,CAAC;IAClC,IAAM,SAAS,GAAW,UAAU,GAAG,SAAS,CAAC;IACjD,IAAM,KAAK,GAAW,WAAW,CAAC,GAAG,CAAC;IACtC,IAAM,QAAQ,GAAW,WAAW,CAAC,MAAM,CAAC;IAE5C,IAAM,MAAM,GAAW,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAM,SAAS,GAAW,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACxD,OAAO,MAAM,IAAI,SAAS,CAAC;AAC7B,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAoB;IACxC,QAAI,GAAyB,kDAAQ,CAAC,WAAW,KAA7C,CAA8C;IAC1D,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,WAAW,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,IAAmB;YAC1B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;KAC1B;IACD,IACE,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY;QAC3C,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;YAC/C,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EACjD;QACA,OAAO,OAAO,CAAC;KAChB;IAED,IACE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;QACzC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;YAC/C,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EACjD;QACA,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,sBAAsB,CAAC,EAAU;IACxC,IAAM,WAAW,GAAwB,kDAAQ,CAAC,WAAW,CAAC;IAC9D,IAAI,CAAC,WAAW;QAAE,OAAO;IACjB,QAAI,GAAK,WAAW,KAAhB,CAAiB;IAC7B,IAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE;QAAE,OAAO;IAChB,IAAM,YAAY,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,CAAC,YAAY,EAAE;QAClB,YAAY,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;KACvD;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC,GAAG,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO;IACtE,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;AAC7B,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAW;IAC5C,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC/B,IAAI,SAAS,GAAS,kDAAQ,CAAC,WAAY,CAAC,QAAQ,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CAChB,IAAqB,EACrB,KAAa,EACb,MAAc,EACd,QAAgB,EAChB,OAAY,EACZ,KAAa;IAEb,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,MAAM,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;KACtD;IACD,IAAM,IAAI,GAAQ,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxC,IAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,cAAc,CACjB,8BAA8B,EAC9B,YAAY,EACZ,GAAG,GAAG,YAAY,CACnB,CAAC;IAEF,IAAI,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE;QACV,IAAI,CAAC,CAAC,YAAY,EAAE;YAClB,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;SACnC;QACD,OAAO;KACR;SAAM;QACL,IAAI,CAAC,YAAY,EAAE;YACjB,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;SACnC;KACF;IACD,YAAY,CAAC,WAAW,GAAG,KAAK,CAAC;AACnC,CAAC;AAEM,SAAS,MAAM,CAAI,KAAoB;IAC5C,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,OAAO,KAAK,CAAC;KACd;SAAM;QACL,OAAiB,KAAM,EAAE,CAAC;KAC3B;AACH,CAAC;AAED,gDAAgD;AAChD,qCAAqC;AACrC,oBAAoB;AACpB,MAAM;AACN,6DAA6D;AAC7D,8BAA8B;AAC9B,MAAM;AACN,oEAAoE;AACpE,0DAA0D;AAC1D,2EAA2E;AAC3E,cAAc;AACd,+CAA+C;AAC/C,sBAAsB;AACtB,oBAAoB;AACpB,QAAQ;AACR,MAAM;AACN,kBAAkB;AAClB,IAAI;AAEG,SAAS,eAAe,CAAC,GAAoB;IAClD,IAAG,OAAO,GAAG,IAAI,QAAQ,EAAE;QACzB,IAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;YACtB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;SACpB;aACI,IAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC1B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;SACxB;KACF;IACD,IAAG,OAAO,GAAG,IAAI,QAAQ,EAAE;QACzB,OAAO,GAAG,CAAC;KACZ;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AACM,SAAS,oBAAoB,CAAC,GAAoB;IACvD,IAAG,eAAe,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;QACrC,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,GAAa,CAAC;AACvB,CAAC;AAOD,IAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAC1C,SAAS,eAAe,CAAC,GAAkB;IAChD,IAAM,OAAO,GAAQ,GAAG,CAAC,MAAM,CAAC;IAChC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO;IAC3C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAChD,CAAC;AAEM,SAAS,aAAa,CAAC,GAAkB,EAAE,OAAiC;IACjF,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAU,GAAG,CAAC,MAAO,CAAC,iBAAiB,CAAC,KAAK,MAAM,EAAE;QACnE,OAAO;KACR;IACD,IAAM,OAAO,GAAQ,GAAG,CAAC,MAAM,CAAC;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAM,IAAI,GAAW,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC;IAC9C,IAAI,IAAI,KAAK,CAAC,EAAE;QACd,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YAC3E,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;SAC5C;QACD,OAAO;KACR;IAED,IAAI,OAAO,EAAE;QACX,IAAI,CAAC,OAAO,CAAC,iBAAiB;YAAE,OAAO;QACvC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;KACnC;IAED,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE;QAC9B,IAAI,OAAO,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,EAAE,CAAC;KACpC;SAAM,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,KAAK,EAAE,EAAE;QAC1D,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,EAAE,CAAC;KAClC;AACH,CAAC;AAEM,SAAS,eAAe,CAAC,GAAkB,EAAE,OAAuD;IAAvD,sCAAqC,UAAU,EAAE,IAAI,EAAE;IACzG,IAAI,OAAO;QAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAC9C,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAU,GAAG,CAAC,MAAO,CAAC,iBAAiB,CAAC,KAAK,MAAM,EAAE;QACnE,OAAO;KACR;IACD,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC;IACpC,IAAM,cAAc,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,UAAU,EAAE;QACtB,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACzB;IACD,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;QACvC,GAAG,CAAC,cAAc,EAAE,CAAC;KACtB;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAoB,EAAE,gBAAwC;IAC7F,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,CAAC,gBAAgB;QAAE,gBAAgB,GAAG,UAAC,GAAY,IAAO,OAAO,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAErG,IAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC;AAChI,CAAC;AACD,SAAS,gBAAgB,CAAC,KAAU;IAClC,OAAO,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC;AACtC,CAAC;AACD,SAAS,eAAe,CAAC,KAAU;IACjC,KAAK,CAAC,cAAc,EAAE,CAAC;IACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AAC1B,CAAC;AACD,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAM,EAAE,GAAG,mBAAmB,CAAC;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CAAC,EAAe;IACtC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC;AAC7F,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAe;IACzC,OAAO,CAAC,CAAC,CACP,EAAE,CAAC,WAAW;QACd,EAAE,CAAC,YAAY;QACf,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAe;IAC3C,IAAI,MAAM,CAAC;IACX,KAAI,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACtD,IAAG,CAAC,MAAM,IAAI,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,EAAE;YACrE,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC7B;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,SAAS,sBAAsB,CAAC,OAAoB,EAAE,UAAyB;IAC7E,IAAI,CAAC,CAAC,OAAO,EAAE;QACb,IAAI,UAAU,CAAC,KAAK,CAAC,mBAAS,IAAI,QAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAnD,CAAmD,CAAC,EAAE;YACtF,OAAO,OAAO,CAAC;SAChB;aAAM;YACL,OAAO,sBAAsB,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;SAClE;KACF;AACH,CAAC;AACM,SAAS,uBAAuB,CAAC,OAAY;IAClD,IAAI,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QAChF,IAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE1C,IAAI,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,SAAS,CAAC,eAAe,EAAE,CAAC;QAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QAEhE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/B,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;QAC3E,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrB,SAAS,CAAC,eAAe,EAAE,CAAC;QAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC3B;AACH,CAAC;AACD,SAAS,WAAW,CAAC,GAAQ,EAAE,IAAS;IACtC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO;IAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO;IACrC,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;QACnB,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC/D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAChE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SACnB;KACF;AACH,CAAC;AAED;IAAA;QACU,YAAO,GAAG,EAAE,CAAC;IAOvB,CAAC;IANQ,oBAAG,GAAV,UAAW,MAAc;QACvB,IAAI,CAAC,OAAO,IAAI,IAAI,GAAG,MAAM,CAAC;IAChC,CAAC;IACD,sBAAW,0BAAM;aAAjB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;;;OAAA;IACH,aAAC;AAAD,CAAC;;AAEM,SAAS,iBAAiB,CAAC,OAAe,EAAE,QAAgC;IACjF,IAAM,MAAM,GAAG,IAAI,oEAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,IAAM,cAAc,GAAsB,kDAAQ,CAAC,UAAU,CAAiB;QAC5E,aAAa,EAAE,kBAAkB;QACjC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;QAC1D,OAAO,EAAE;YACP,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,QAAQ,EAAE;YACR,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,OAAO;QACpB,gBAAgB,EAAE,KAAK;QACvB,QAAQ,EAAE,0BAA0B;KACrC,EAAE,wBAAwB,SAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB;IAC7D,IAAM,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC;IAC7C,IAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAChD,IAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAClD,SAAS,CAAC,KAAK,GAAG,iEAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzD,SAAS,CAAC,QAAQ,GAAG,kEAAkE,CAAC;IACxF,QAAQ,CAAC,KAAK,GAAG,iEAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpD,QAAQ,CAAC,QAAQ,GAAG,0GAA0G,CAAC;IAC/H,cAAc,CAAC,KAAK,GAAG,OAAO,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AA4BC;;;;;;;;;;;;AChdF,mD;;;;;;;;;;;ACAA,uD;;;;;;;;;;;ACAA,yD","file":"survey-react-ui.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"), require(\"survey-core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"survey-react-ui\", [\"react\", \"react-dom\", \"survey-core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"survey-react-ui\"] = factory(require(\"react\"), require(\"react-dom\"), require(\"survey-core\"));\n\telse\n\t\troot[\"SurveyReact\"] = factory(root[\"React\"], root[\"ReactDOM\"], root[\"Survey\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_react_dom__, __WEBPACK_EXTERNAL_MODULE_survey_core__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/entries/react-ui.ts\");\n","import { ILocalizableOwner, LocalizableString } from \"./localizablestring\";\nimport { Helpers, HashTable } from \"./helpers\";\nimport {\n CustomPropertiesCollection,\n JsonObject,\n JsonObjectProperty,\n JsonMetadataClass,\n Serializer,\n} from \"./jsonobject\";\nimport { settings } from \"./settings\";\nimport { ItemValue } from \"./itemvalue\";\nimport { IElement, IFindElement, IProgressInfo, ISurvey } from \"./base-interfaces\";\nimport { ExpressionRunner } from \"./conditions\";\nimport { surveyLocalization } from \"./surveyStrings\";\nimport { ConsoleWarnings } from \"./console-warnings\";\n\ninterface IExpressionRunnerInfo {\n onExecute: (obj: Base, res: any) => void;\n canRun?: (obj: Base) => boolean;\n runner?: ExpressionRunner;\n}\n\nexport class Bindings {\n private properties: Array<JsonObjectProperty> = null;\n private values: any = null;\n constructor(private obj: Base) { }\n public getType(): string {\n return \"bindings\";\n }\n public getNames(): Array<string> {\n var res: Array<string> = [];\n this.fillProperties();\n for (var i = 0; i < this.properties.length; i++) {\n if (this.properties[i].isVisible(\"\", this.obj)) {\n res.push(this.properties[i].name);\n }\n }\n return res;\n }\n public getProperties(): Array<JsonObjectProperty> {\n var res: Array<JsonObjectProperty> = [];\n this.fillProperties();\n for (var i = 0; i < this.properties.length; i++) {\n res.push(this.properties[i]);\n }\n return res;\n }\n public setBinding(propertyName: string, valueName: string) {\n if (!this.values) this.values = {};\n const oldValue = this.getJson();\n if(oldValue === valueName) return;\n if (!!valueName) {\n this.values[propertyName] = valueName;\n } else {\n delete this.values[propertyName];\n if (Object.keys(this.values).length == 0) {\n this.values = null;\n }\n }\n this.onChangedJSON(oldValue);\n }\n public clearBinding(propertyName: string) {\n this.setBinding(propertyName, \"\");\n }\n public isEmpty(): boolean {\n if(!this.values) return true;\n for(var key in this.values) return false;\n return true;\n }\n public getValueNameByPropertyName(propertyName: string): string {\n if (!this.values) return undefined;\n return this.values[propertyName];\n }\n public getPropertiesByValueName(valueName: string): Array<string> {\n if (!this.values) return [];\n var res: Array<string> = [];\n for (var key in this.values) {\n if (this.values[key] == valueName) {\n res.push(key);\n }\n }\n return res;\n }\n public getJson(): any {\n if (this.isEmpty()) return undefined;\n var res: any = {};\n for (var key in this.values) {\n res[key] = this.values[key];\n }\n return res;\n }\n public setJson(value: any) {\n const oldValue = this.getJson();\n this.values = null;\n if (!!value) {\n this.values = {};\n for (var key in value) {\n this.values[key] = value[key];\n }\n }\n this.onChangedJSON(oldValue);\n }\n private fillProperties() {\n if (this.properties !== null) return;\n this.properties = [];\n var objProperties = Serializer.getPropertiesByObj(this.obj);\n for (var i = 0; i < objProperties.length; i++) {\n if (objProperties[i].isBindable) {\n this.properties.push(objProperties[i]);\n }\n }\n }\n private onChangedJSON(oldValue: any): void {\n if(this.obj) {\n this.obj.onBindingChanged(oldValue, this.getJson());\n }\n }\n}\n\nexport class Dependencies {\n private static DependenciesCount = 0;\n constructor(public currentDependency: () => void, public target: Base, public property: string) {\n }\n dependencies: Array<{ obj: Base, prop: string, id: string }> = [];\n id: string = \"\" + (++Dependencies.DependenciesCount);\n addDependency(target: Base, property: string): void {\n if (this.target === target && this.property === property)\n return;\n if (this.dependencies.some(dependency => dependency.obj === target && dependency.prop === property))\n return;\n\n this.dependencies.push({\n obj: target,\n prop: property,\n id: this.id\n });\n target.registerPropertyChangedHandlers([property], this.currentDependency, this.id);\n\n }\n public dispose(): void {\n this.dependencies.forEach(dependency => {\n dependency.obj.unregisterPropertyChangedHandlers([dependency.prop], dependency.id);\n });\n // this.currentDependency = undefined;\n }\n}\n\nexport class ComputedUpdater<T = any> {\n public static readonly ComputedUpdaterType = \"__dependency_computed\";\n private dependencies: Dependencies = undefined;\n constructor(private _updater: () => T) {\n }\n readonly type = ComputedUpdater.ComputedUpdaterType;\n public get updater(): () => T {\n return this._updater;\n }\n public setDependencies(dependencies: Dependencies): void {\n this.clearDependencies();\n this.dependencies = dependencies;\n }\n protected getDependencies(): Dependencies {\n return this.dependencies;\n }\n private clearDependencies() {\n if (this.dependencies) {\n this.dependencies.dispose();\n this.dependencies = undefined;\n }\n }\n dispose(): any {\n this.clearDependencies();\n }\n}\n\n/**\n * A base class for all SurveyJS objects.\n */\nexport class Base {\n private static currentDependencis: Dependencies = undefined;\n public static finishCollectDependencies(): Dependencies {\n const deps = Base.currentDependencis;\n Base.currentDependencis = undefined;\n return deps;\n }\n public static startCollectDependencies(updater: () => void, target: Base, property: string): void {\n if (Base.currentDependencis !== undefined) {\n throw new Error(\"Attempt to collect nested dependencies. Nested dependencies are not supported.\");\n }\n Base.currentDependencis = new Dependencies(updater, target, property);\n }\n private static collectDependency(target: Base, property: string): void {\n if (Base.currentDependencis === undefined) return;\n Base.currentDependencis.addDependency(target, property);\n }\n public dependencies: {[key: string]: ComputedUpdater } = {};\n public static get commentSuffix(): string {\n return settings.commentSuffix;\n }\n public static set commentSuffix(val: string) {\n settings.commentSuffix = val;\n }\n public static get commentPrefix(): string {\n return Base.commentSuffix;\n }\n public static set commentPrefix(val: string) {\n Base.commentSuffix = val;\n }\n public static createItemValue: (item: any, type?: string) => any;\n public static itemValueLocStrChanged: (arr: Array<any>) => void;\n /**\n * Returns `true` if a passed `value` is an empty string, array, or object or if it equals to `undefined` or `null`.\n *\n * @param value A value to be checked.\n * @param trimString (Optional) When this parameter is `true`, the method ignores whitespace characters at the beginning and end of a string value. Pass `false` to disable this functionality.\n */\n public isValueEmpty(value: any, trimString: boolean = true): boolean {\n if (trimString) {\n value = this.trimValue(value);\n }\n return Helpers.isValueEmpty(value);\n }\n protected trimValue(value: any): any {\n if (!!value && (typeof value === \"string\" || value instanceof String))\n return value.trim();\n return value;\n }\n protected isPropertyEmpty(value: any): boolean {\n return value !== \"\" && this.isValueEmpty(value);\n }\n public static createPropertiesHash() {\n return {};\n }\n\n private propertyHash: { [index: string]: any } = Base.createPropertiesHash();\n private localizableStrings: { [index: string]: LocalizableString };\n private arraysInfo: { [index: string]: any };\n private eventList: Array<EventBase<any>> = [];\n private expressionInfo: { [index: string]: IExpressionRunnerInfo };\n private bindingsValue: Bindings;\n private isDisposedValue: boolean;\n private classMetaData: JsonMetadataClass;\n private onPropChangeFunctions: Array<{\n name: string,\n func: (...args: any[]) => void,\n key: string,\n }>;\n protected isLoadingFromJsonValue: boolean = false;\n public loadingOwner: Base = null;\n\n protected jsonObj: any;\n /**\n * An event that is raised when a property of this SurveyJS object has changed.\n *\n * Parameters:\n *\n * - `sender`: `this`\\\n * A SurveyJS object whose property has changed.\n * - `options.name`: `string`\\\n * The name of the changed property.\n * - `options.newValue`: `any`\\\n * A new value for the property.\n * - `options.oldValue`: `any`\\\n * An old value of the property. If the property is an array, `oldValue` contains the same array as `newValue` does.\n */\n public onPropertyChanged: EventBase<Base> = this.addEvent<Base>();\n /**\n * An event that is raised when an [`ItemValue`](https://surveyjs.io/form-library/documentation/itemvalue) property is changed.\n *\n * Parameters:\n *\n * - `sender`: `this`\\\n * A SurveyJS object whose property contains an array of `ItemValue` objects.\n * - `options.obj`: [`ItemValue`](https://surveyjs.io/form-library/documentation/itemvalue)\\\n * An `ItemValue` object.\n * - `options.propertyName`: `string`\\\n * The name of the property to which an array of `ItemValue` objects is assigned (for example, `\"choices\"` or `\"rows\"`).\n * - `options.name`: `\"text\"` | `\"value\"`\\\n * The name of the changed property.\n * - `options.newValue`: `any`\\\n * A new value for the property.\n */\n public onItemValuePropertyChanged: Event<\n (sender: Base, options: any) => any,\n Base,\n any\n > = this.addEvent<Base>();\n\n getPropertyValueCoreHandler: (propertiesHash: any, name: string) => any;\n\n setPropertyValueCoreHandler: (\n propertiesHash: any,\n name: string,\n val: any\n ) => void;\n createArrayCoreHandler: (propertiesHash: any, name: string) => Array<any>;\n surveyChangedCallback: () => void;\n\n private isCreating = true;\n\n public constructor() {\n this.bindingsValue = new Bindings(this);\n CustomPropertiesCollection.createProperties(this);\n this.onBaseCreating();\n this.isCreating = false;\n }\n public dispose(): void {\n for (var i = 0; i < this.eventList.length; i++) {\n this.eventList[i].clear();\n }\n this.onPropertyValueChangedCallback = undefined;\n this.isDisposedValue = true;\n Object.keys(this.dependencies).forEach(key => this.dependencies[key].dispose());\n }\n public get isDisposed() {\n return this.isDisposedValue === true;\n }\n protected addEvent<T, Options = any>(): EventBase<T, Options> {\n const res = new EventBase<T, Options>();\n this.eventList.push(res);\n return res;\n }\n protected onBaseCreating() { }\n /**\n * Returns the object type as it is used in the JSON schema.\n */\n public getType(): string {\n return \"base\";\n }\n /**\n * Use this method to find out if the current object is of a given `typeName` or inherited from it.\n *\n * @param typeName One of the values listed in the [getType()](https://surveyjs.io/form-library/documentation/question#getType) description.\n * @returns `true` if the current object is of a given `typeName` or inherited from it.\n * @see getType\n */\n public isDescendantOf(typeName: string): boolean {\n return Serializer.isDescendantOf(this.getType(), typeName);\n }\n public getSurvey(isLive: boolean = false): ISurvey {\n return null;\n }\n /**\n * Returns `true` if the survey is being designed in Survey Creator.\n */\n public get isDesignMode(): boolean {\n const survey = this.getSurvey();\n return !!survey && survey.isDesignMode;\n }\n /**\n * Returns `true` if the object is included in a survey.\n *\n * This property may return `false`, for example, when you [create a survey model dynamically](https://surveyjs.io/form-library/documentation/design-survey-create-a-simple-survey#create-or-change-a-survey-model-dynamically).\n */\n public get inSurvey(): boolean {\n return !!this.getSurvey(true);\n }\n public get bindings(): Bindings {\n return this.bindingsValue;\n }\n checkBindings(valueName: string, value: any) { }\n protected updateBindings(propertyName: string, value: any) {\n var valueName = this.bindings.getValueNameByPropertyName(propertyName);\n if (!!valueName) {\n this.updateBindingValue(valueName, value);\n }\n }\n protected updateBindingValue(valueName: string, value: any) { }\n public getTemplate(): string {\n return this.getType();\n }\n /**\n * Returns `true` if the object configuration is being loaded from JSON.\n */\n public get isLoadingFromJson(): boolean {\n return this.isLoadingFromJsonValue || this.getIsLoadingFromJson();\n }\n protected getIsLoadingFromJson(): boolean {\n if (!!this.loadingOwner && this.loadingOwner.isLoadingFromJson) return true;\n return this.isLoadingFromJsonValue;\n }\n\n startLoadingFromJson(json?: any) {\n this.isLoadingFromJsonValue = true;\n this.jsonObj = json;\n }\n endLoadingFromJson() {\n this.isLoadingFromJsonValue = false;\n }\n /**\n * Returns a JSON object that corresponds to the current SurveyJS object.\n * @see fromJSON\n */\n public toJSON(): any {\n return new JsonObject().toJsonObject(this);\n }\n /**\n * Assigns a new configuration to the current SurveyJS object. This configuration is taken from a passed JSON object.\n *\n * The JSON object should contain only serializable properties of this SurveyJS object. Event handlers and properties that do not belong to the SurveyJS object are ignored.\n *\n * @param json A JSON object with properties that you want to apply to the current SurveyJS object.\n * @see toJSON\n */\n public fromJSON(json: any): void {\n new JsonObject().toObject(json, this);\n this.onSurveyLoad();\n }\n public onSurveyLoad() { }\n /**\n * Creates a new object that has the same type and properties as the current SurveyJS object.\n */\n public clone(): Base {\n var clonedObj = <Base>Serializer.createClass(this.getType());\n clonedObj.fromJSON(this.toJSON());\n return clonedObj;\n }\n /**\n * Returns a `JsonObjectProperty` object with metadata about a serializable property that belongs to the current SurveyJS object.\n *\n * If the property is not found, this method returns `null`.\n * @param propName A property name.\n */\n public getPropertyByName(propName: string): JsonObjectProperty {\n const type = this.getType();\n if(!this.classMetaData || this.classMetaData.name !== type) {\n this.classMetaData = Serializer.findClass(type);\n }\n return !!this.classMetaData ? this.classMetaData.findProperty(propName) : null;\n }\n public isPropertyVisible(propName: string): boolean {\n const prop = this.getPropertyByName(propName);\n return !!prop ? prop.isVisible(\"\", this) : false;\n }\n public static createProgressInfo(): IProgressInfo {\n return {\n questionCount: 0,\n answeredQuestionCount: 0,\n requiredQuestionCount: 0,\n requiredAnsweredQuestionCount: 0,\n };\n }\n public getProgressInfo(): IProgressInfo {\n return Base.createProgressInfo();\n }\n public localeChanged() { }\n public locStrsChanged() {\n if (!!this.arraysInfo) {\n for (let key in this.arraysInfo) {\n let item = this.arraysInfo[key];\n if (item && item.isItemValues) {\n var arr = this.getPropertyValue(key);\n if (arr && !!Base.itemValueLocStrChanged)\n Base.itemValueLocStrChanged(arr);\n }\n }\n }\n if (!!this.localizableStrings) {\n for (let key in this.localizableStrings) {\n let item = this.getLocalizableString(key);\n if (item) item.strChanged();\n }\n }\n }\n /**\n * Returns the value of a property with a specified name.\n *\n * If the property is not found or does not have a value, this method returns either `undefined`, `defaultValue` specified in the property configuration, or a value passed as the `defaultValue` parameter.\n *\n * @param name A property name.\n * @param defaultValue (Optional) A value to return if the property is not found or does not have a value.\n */\n public getPropertyValue(name: string, defaultValue: any = null): any {\n const res = this.getPropertyValueWithoutDefault(name);\n if (this.isPropertyEmpty(res)) {\n const locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;\n if(locStr) return locStr.text;\n if (defaultValue !== null && defaultValue !== undefined) return defaultValue;\n const propDefaultValue = this.getDefaultPropertyValue(name);\n if(propDefaultValue !== undefined) return propDefaultValue;\n }\n return res;\n }\n public getDefaultPropertyValue(name: string): any {\n const prop = this.getPropertyByName(name);\n if(!prop || prop.isCustom && this.isCreating) return undefined;\n const dValue = prop.defaultValue;\n if (!this.isPropertyEmpty(dValue) && !Array.isArray(dValue)) return dValue;\n const locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;\n if(locStr && locStr.localizationName) return this.getLocalizationString(locStr.localizationName);\n if (prop.type == \"boolean\" || prop.type == \"switch\") return false;\n if (prop.isCustom && !!prop.onGetValue) return prop.onGetValue(this);\n return undefined;\n }\n public hasDefaultPropertyValue(name: string): boolean {\n return this.getDefaultPropertyValue(name) !== undefined;\n }\n public resetPropertyValue(name: string): void {\n const locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;\n if(locStr) {\n locStr.clearLocale();\n }\n else {\n this.setPropertyValue(name, undefined);\n }\n }\n protected getPropertyValueWithoutDefault(name: string): any {\n return this.getPropertyValueCore(this.propertyHash, name);\n }\n protected getPropertyValueCore(propertiesHash: any, name: string): any {\n if(!this.isLoadingFromJson) {\n Base.collectDependency(this, name);\n }\n if (this.getPropertyValueCoreHandler)\n return this.getPropertyValueCoreHandler(propertiesHash, name);\n else return propertiesHash[name];\n }\n public geValueFromHash(): any {\n return this.propertyHash[\"value\"];\n }\n protected setPropertyValueCore(propertiesHash: any, name: string, val: any): void {\n if (this.setPropertyValueCoreHandler) {\n if (!this.isDisposedValue) {\n this.setPropertyValueCoreHandler(propertiesHash, name, val);\n } else {\n ConsoleWarnings.disposedObjectChangedProperty(name, this.getType());\n }\n }\n else propertiesHash[name] = val;\n }\n public get isEditingSurveyElement(): boolean {\n var survey = this.getSurvey();\n return !!survey && survey.isEditingSurveyElement;\n }\n public iteratePropertiesHash(func: (hash: any, key: any) => void) {\n var keys: any[] = [];\n for (var key in this.propertyHash) {\n if (\n key === \"value\" &&\n this.isEditingSurveyElement &&\n Array.isArray((<any>this).value)\n )\n continue;\n\n keys.push(key);\n }\n keys.forEach((key) => func(this.propertyHash, key));\n }\n /**\n * Assigns a new value to a specified property.\n * @param name A property name.\n * @param val A new value for the property.\n */\n public setPropertyValue(name: string, val: any): void {\n if(!this.isLoadingFromJson) {\n const prop = this.getPropertyByName(name);\n if(!!prop) {\n val = prop.settingValue(this, val);\n }\n }\n var oldValue = this.getPropertyValue(name);\n if (\n oldValue &&\n Array.isArray(oldValue) &&\n !!this.arraysInfo &&\n (!val || Array.isArray(val))\n ) {\n if (this.isTwoValueEquals(oldValue, val)) return;\n this.setArrayPropertyDirectly(name, val);\n } else {\n this.setPropertyValueDirectly(name, val);\n if (!this.isDisposedValue && !this.isTwoValueEquals(oldValue, val)) {\n this.propertyValueChanged(name, oldValue, val);\n }\n }\n }\n protected setArrayPropertyDirectly(name: string, val: any, sendNotification: boolean = true): void {\n var arrayInfo = this.arraysInfo[name];\n this.setArray(\n name,\n this.getPropertyValue(name),\n val,\n arrayInfo ? arrayInfo.isItemValues : false,\n arrayInfo ? sendNotification && arrayInfo.onPush : null\n );\n }\n protected setPropertyValueDirectly(name: string, val: any) : void {\n this.setPropertyValueCore(this.propertyHash, name, val);\n }\n protected clearPropertyValue(name: string) {\n this.setPropertyValueCore(this.propertyHash, name, null);\n delete this.propertyHash[name];\n }\n public onPropertyValueChangedCallback(\n name: string,\n oldValue: any,\n newValue: any,\n sender: Base,\n arrayChanges: ArrayChanges\n ) { }\n public itemValuePropertyChanged(\n item: ItemValue,\n name: string,\n oldValue: any,\n newValue: any\n ) {\n this.onItemValuePropertyChanged.fire(this, {\n obj: item,\n name: name,\n oldValue: oldValue,\n newValue: newValue,\n propertyName: item.ownerPropertyName,\n });\n }\n protected onPropertyValueChanged(\n name: string,\n oldValue: any,\n newValue: any\n ) { }\n protected propertyValueChanged(\n name: string,\n oldValue: any,\n newValue: any,\n arrayChanges?: ArrayChanges,\n target?: Base\n ) {\n if (this.isLoadingFromJson) return;\n this.updateBindings(name, newValue);\n this.onPropertyValueChanged(name, oldValue, newValue);\n this.onPropertyChanged.fire(this, {\n name: name,\n oldValue: oldValue,\n newValue: newValue,\n });\n\n this.doPropertyValueChangedCallback(\n name,\n oldValue,\n newValue,\n arrayChanges,\n this\n );\n this.checkConditionPropertyChanged(name);\n if (!this.onPropChangeFunctions) return;\n for (var i = 0; i < this.onPropChangeFunctions.length; i++) {\n if (this.onPropChangeFunctions[i].name == name)\n this.onPropChangeFunctions[i].func(newValue);\n }\n }\n public onBindingChanged(oldValue: any, newValue: any): void {\n if(this.isLoadingFromJson) return;\n this.doPropertyValueChangedCallback(\"bindings\", oldValue, newValue);\n }\n protected get isInternal(): boolean {\n return false;\n }\n private doPropertyValueChangedCallback(\n name: string,\n oldValue: any,\n newValue: any,\n arrayChanges?: ArrayChanges,\n target?: Base\n ) {\n if (this.isInternal) return;\n if (!target) target = this;\n var notifier: any = this.getSurvey();\n if (!notifier) notifier = this;\n if (!!notifier.onPropertyValueChangedCallback) {\n notifier.onPropertyValueChangedCallback(\n name,\n oldValue,\n newValue,\n target,\n arrayChanges\n );\n }\n if (notifier !== this && !!this.onPropertyValueChangedCallback) {\n this.onPropertyValueChangedCallback(\n name,\n oldValue,\n newValue,\n target,\n arrayChanges\n );\n }\n }\n public addExpressionProperty(name: string, onExecute: (obj: Base, res: any) => void, canRun?: (obj: Base) => boolean): void {\n if(!this.expressionInfo) {\n this.expressionInfo = {};\n }\n this.expressionInfo[name] = { onExecute: onExecute, canRun: canRun };\n }\n public getDataFilteredValues(): any {\n return {};\n }\n public getDataFilteredProperties(): any {\n return {};\n }\n protected runConditionCore(values: HashTable<any>, properties: HashTable<any>): void {\n if(!this.expressionInfo) return;\n for(var key in this.expressionInfo) {\n this.runConditionItemCore(key, values, properties);\n }\n }\n protected canRunConditions(): boolean {\n return !this.isDesignMode;\n }\n private checkConditionPropertyChanged(propName: string): void {\n if(!this.expressionInfo || !this.expressionInfo[propName]) return;\n if(!this.canRunConditions()) return;\n this.runConditionItemCore(propName, this.getDataFilteredValues(), this.getDataFilteredProperties());\n }\n private runConditionItemCore(propName: string, values: HashTable<any>, properties: HashTable<any>): void {\n const info = this.expressionInfo[propName];\n const expression = this.getPropertyValue(propName);\n if(!expression) return;\n if(!!info.canRun && !info.canRun(this)) return;\n if(!info.runner) {\n info.runner = this.createExpressionRunner(expression);\n info.runner.onRunComplete = (res: any) => {\n info.onExecute(this, res);\n };\n }\n info.runner.expression = expression;\n info.runner.run(values, properties);\n }\n private asynExpressionHash: any;\n private doBeforeAsynRun(id: number): void {\n if(!this.asynExpressionHash) this.asynExpressionHash = [];\n const isChanged = !this.isAsyncExpressionRunning;\n this.asynExpressionHash[id] = true;\n if(isChanged) {\n this.onAsyncRunningChanged();\n }\n }\n private doAfterAsynRun(id: number): void {\n if(!!this.asynExpressionHash) {\n delete this.asynExpressionHash[id];\n if(!this.isAsyncExpressionRunning) {\n this.onAsyncRunningChanged();\n }\n }\n }\n protected onAsyncRunningChanged(): void {}\n public get isAsyncExpressionRunning(): boolean {\n return !!this.asynExpressionHash && Object.keys(this.asynExpressionHash).length > 0;\n }\n protected createExpressionRunner(expression: string): ExpressionRunner {\n const res = new ExpressionRunner(expression);\n res.onBeforeAsyncRun = (id: number): void => { this.doBeforeAsynRun(id); };\n res.onAfterAsyncRun = (id: number): void => { this.doAfterAsynRun(id); };\n return res;\n }\n /**\n * Registers a function to call when a property value changes.\n * @param propertyNames An array of one or multiple property names.\n * @param handler A function to call when one of the listed properties change.\n * @param key (Optional) A key that identifies the current registration. If a function for one of the properties is already registered with the same key, the function will be overwritten. You can also use the key to subsequently unregister handlers.\n * @see unregisterPropertyChangedHandlers\n */\n public registerPropertyChangedHandlers(propertyNames: Array<string>, handler: any, key: string = null): void {\n for (var i = 0; i < propertyNames.length; i++) {\n this.registerFunctionOnPropertyValueChanged(propertyNames[i], handler, key);\n }\n }\n /**\n * Unregisters value change event handlers for the specified properties.\n * @param propertyNames An array of one or multiple property names.\n * @param key (Optional) A key of the registration that you want to cancel.\n * @see registerPropertyChangedHandlers\n */\n public unregisterPropertyChangedHandlers(propertyNames: Array<string>, key: string = null): void {\n for (var i = 0; i < propertyNames.length; i++) {\n this.unRegisterFunctionOnPropertyValueChanged(propertyNames[i], key);\n }\n }\n public registerFunctionOnPropertyValueChanged(name: string, func: any, key: string = null): void {\n if (!this.onPropChangeFunctions) {\n this.onPropChangeFunctions = [];\n }\n if (key) {\n for (var i = 0; i < this.onPropChangeFunctions.length; i++) {\n var item = this.onPropChangeFunctions[i];\n if (item.name == name && item.key == key) {\n item.func = func;\n return;\n }\n }\n }\n this.onPropChangeFunctions.push({ name: name, func: func, key: key });\n }\n public registerFunctionOnPropertiesValueChanged(names: Array<string>, func: any, key: string = null): void {\n this.registerPropertyChangedHandlers(names, func, key);\n }\n public unRegisterFunctionOnPropertyValueChanged(name: string, key: string = null): void {\n if (!this.onPropChangeFunctions) return;\n for (var i = 0; i < this.onPropChangeFunctions.length; i++) {\n var item = this.onPropChangeFunctions[i];\n if (item.name == name && item.key == key) {\n this.onPropChangeFunctions.splice(i, 1);\n return;\n }\n }\n }\n public unRegisterFunctionOnPropertiesValueChanged(names: Array<string>, key: string = null): void {\n this.unregisterPropertyChangedHandlers(names, key);\n }\n public createCustomLocalizableObj(name: string) {\n var locStr = this.getLocalizableString(name);\n if (locStr) return;\n this.createLocalizableString(name, <ILocalizableOwner>(<any>this), false, true);\n }\n public getLocale(): string {\n const locOwner = this.getSurvey();\n return !!locOwner ? locOwner.getLocale(): \"\";\n }\n public getLocalizationString(strName: string): string {\n return surveyLocalization.getString(strName, this.getLocale());\n }\n public getLocalizationFormatString(strName: string, ...args: any[]): string {\n const str: any = this.getLocalizationString(strName);\n if(!str || !str.format) return \"\";\n return str.format(...args);\n }\n protected createLocalizableString(\n name: string,\n owner: ILocalizableOwner,\n useMarkDown: boolean = false,\n defaultStr: boolean|string = false\n ): LocalizableString {\n var locStr = new LocalizableString(owner, useMarkDown, name);\n if (defaultStr) {\n locStr.localizationName = defaultStr === true ? name : defaultStr;\n }\n locStr.onStrChanged = (oldValue: string, newValue: string) => {\n this.propertyValueChanged(name, oldValue, newValue);\n };\n if (!this.localizableStrings) {\n this.localizableStrings = {};\n }\n this.localizableStrings[name] = locStr;\n const prop = this.getPropertyByName(name);\n locStr.disableLocalization = prop && prop.isLocalizable === false;\n return locStr;\n }\n public getLocalizableString(name: string): LocalizableString {\n return !!this.localizableStrings ? this.localizableStrings[name] : null;\n }\n public getLocalizableStringText(\n name: string,\n defaultStr: string = \"\"\n ): string {\n Base.collectDependency(this, name);\n var locStr = this.getLocalizableString(name);\n if (!locStr) return \"\";\n var res = locStr.text;\n return res ? res : defaultStr;\n }\n public setLocalizableStringText(name: string, value: string) {\n let locStr = this.getLocalizableString(name);\n if (!locStr) return;\n let oldValue = locStr.text;\n if(oldValue != value) {\n locStr.text = value;\n // this.propertyValueChanged(name, oldValue, value);\n }\n }\n public addUsedLocales(locales: Array<string>) {\n if (!!this.localizableStrings) {\n for (let key in this.localizableStrings) {\n let item = this.getLocalizableString(key);\n if (item) this.AddLocStringToUsedLocales(item, locales);\n }\n }\n if (!!this.arraysInfo) {\n for (let key in this.arraysInfo) {\n let items = this.getPropertyValue(key);\n if (!items || !items.length) continue;\n for (let i = 0; i < items.length; i++) {\n let item = items[i];\n if (item && item.addUsedLocales) {\n item.addUsedLocales(locales);\n }\n }\n }\n }\n }\n public searchText(text: string, founded: Array<IFindElement>) {\n var strs: Array<LocalizableString> = [];\n this.getSearchableLocalizedStrings(strs);\n for (var i = 0; i < strs.length; i++) {\n if (strs[i].setFindText(text)) {\n founded.push({ element: this, str: strs[i] });\n }\n }\n }\n private getSearchableLocalizedStrings(arr: Array<LocalizableString>) {\n if (!!this.localizableStrings) {\n let keys: Array<string> = [];\n this.getSearchableLocKeys(keys);\n for (var i = 0; i < keys.length; i++) {\n let item = this.getLocalizableString(keys[i]);\n if (item) arr.push(item);\n }\n }\n if (!this.arraysInfo) return;\n let keys: Array<string> = [];\n this.getSearchableItemValueKeys(keys);\n for (var i = 0; i < keys.length; i++) {\n var items = this.getPropertyValue(keys[i]);\n if (!items) continue;\n for (var j = 0; j < items.length; j++) {\n arr.push(items[j].locText);\n }\n }\n }\n protected getSearchableLocKeys(keys: Array<string>) { }\n protected getSearchableItemValueKeys(keys: Array<string>) { }\n protected AddLocStringToUsedLocales(\n locStr: LocalizableString,\n locales: Array<string>\n ) {\n var locs = locStr.getLocales();\n for (var i = 0; i < locs.length; i++) {\n if (locales.indexOf(locs[i]) < 0) {\n locales.push(locs[i]);\n }\n }\n }\n protected createItemValues(name: string): Array<any> {\n var self = this;\n var result = this.createNewArray(name, function (item: any) {\n item.locOwner = self;\n item.ownerPropertyName = name;\n if (typeof item.getSurvey == \"function\") {\n const survey: any = item.getSurvey();\n if (!!survey && typeof survey.makeReactive == \"function\") {\n survey.makeReactive(item);\n }\n }\n });\n this.arraysInfo[name].isItemValues = true;\n return result;\n }\n private notifyArrayChanged(ar: any, arrayChanges: ArrayChanges) {\n !!ar.onArrayChanged && ar.onArrayChanged(arrayChanges);\n }\n protected createNewArrayCore(name: string): Array<any> {\n var res = null;\n if (!!this.createArrayCoreHandler) {\n res = this.createArrayCoreHandler(this.propertyHash, name);\n }\n if (!res) {\n res = new Array<any>();\n this.setPropertyValueCore(this.propertyHash, name, res);\n }\n return res;\n }\n protected ensureArray(\n name: string,\n onPush: any = null,\n onRemove: any = null\n ) {\n if (this.arraysInfo && this.arraysInfo[name]) {\n return;\n }\n\n return this.createNewArray(name, onPush, onRemove);\n }\n\n protected createNewArray(\n name: string,\n onPush: any = null,\n onRemove: any = null\n ): Array<any> {\n var newArray = this.createNewArrayCore(name);\n if (!this.arraysInfo) {\n this.arraysInfo = {};\n }\n this.arraysInfo[name] = { onPush: onPush, isItemValues: false };\n var self = this;\n newArray.push = function (value): number {\n var result = Object.getPrototypeOf(newArray).push.call(newArray, value);\n if (!self.isDisposedValue) {\n if (onPush) onPush(value, newArray.length - 1);\n const arrayChanges = new ArrayChanges(\n newArray.length - 1,\n 0,\n [value],\n []\n );\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.shift = function (): number {\n var result = Object.getPrototypeOf(newArray).shift.call(newArray);\n if (!self.isDisposedValue && result) {\n if (onRemove) onRemove(result);\n const arrayChanges = new ArrayChanges(newArray.length - 1, 1, [], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.unshift = function (value): number {\n var result = Object.getPrototypeOf(newArray).unshift.call(\n newArray,\n value\n );\n if (!self.isDisposedValue) {\n if (onPush) onPush(value, newArray.length - 1);\n const arrayChanges = new ArrayChanges(0, 0, [value], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.pop = function (): number {\n var result = Object.getPrototypeOf(newArray).pop.call(newArray);\n if (!self.isDisposedValue) {\n if (onRemove) onRemove(result);\n const arrayChanges = new ArrayChanges(newArray.length - 1, 1, [], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.splice = function (\n start?: number,\n deleteCount?: number,\n ...items: any[]\n ): any[] {\n if (!start) start = 0;\n if (!deleteCount) deleteCount = 0;\n var result = Object.getPrototypeOf(newArray).splice.call(\n newArray,\n start,\n deleteCount,\n ...items\n );\n if (!items) items = [];\n if (!self.isDisposedValue) {\n if (onRemove && result) {\n for (var i = 0; i < result.length; i++) {\n onRemove(result[i]);\n }\n }\n if (onPush) {\n for (var i = 0; i < items.length; i++) {\n onPush(items[i], start + i);\n }\n }\n const arrayChanges = new ArrayChanges(\n start,\n deleteCount,\n items,\n result\n );\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n\n return newArray;\n }\n protected getItemValueType(): string {\n return undefined;\n }\n protected setArray(\n name: string,\n src: any[],\n dest: any[],\n isItemValues: boolean,\n onPush: any\n ) {\n var deletedItems = [].concat(src);\n Object.getPrototypeOf(src).splice.call(src, 0, src.length);\n if (!!dest) {\n for (var i = 0; i < dest.length; i++) {\n var item = dest[i];\n if (isItemValues) {\n if (!!Base.createItemValue) {\n item = Base.createItemValue(item, this.getItemValueType());\n }\n }\n Object.getPrototypeOf(src).push.call(src, item);\n if (onPush) onPush(src[i]);\n }\n }\n const arrayChanges = new ArrayChanges(\n 0,\n deletedItems.length,\n src,\n deletedItems\n );\n this.propertyValueChanged(name, deletedItems, src, arrayChanges);\n this.notifyArrayChanged(src, arrayChanges);\n }\n protected isTwoValueEquals(\n x: any,\n y: any,\n caseInSensitive: boolean = false,\n trimString: boolean = false\n ): boolean {\n return Helpers.isTwoValueEquals(x, y, false, !caseInSensitive, trimString);\n }\n private static copyObject(dst: any, src: any) {\n for (var key in src) {\n var source = src[key];\n if (typeof source === \"object\") {\n source = {};\n this.copyObject(source, src[key]);\n }\n dst[key] = source;\n }\n }\n protected copyCssClasses(dest: any, source: any): void {\n if (!source) return;\n if (typeof source === \"string\" || source instanceof String) {\n dest[\"root\"] = source;\n } else {\n Base.copyObject(dest, source);\n }\n }\n private getValueInLowCase(val: any): any {\n if (!!val && typeof val == \"string\") return val.toLowerCase();\n return val;\n }\n public getElementsInDesign(includeHidden: boolean = false): Array<IElement> {\n return [];\n }\n}\n\nexport class ArrayChanges {\n constructor(\n public index: number,\n public deleteCount: number,\n public itemsToAdd: any[],\n public deletedItems: any[]\n ) { }\n}\n\nexport class Event<CallbackFunction extends Function, Sender, Options> {\n public onCallbacksChanged: () => void;\n protected callbacks: Array<CallbackFunction>;\n public get isEmpty(): boolean {\n return this.length === 0;\n }\n public get length(): number {\n return !!this.callbacks ? this.callbacks.length : 0;\n }\n public fireByCreatingOptions(sender: any, createOptions: () => Options): void {\n if (!this.callbacks) return;\n for (var i = 0; i < this.callbacks.length; i++) {\n this.callbacks[i](sender, createOptions());\n if (!this.callbacks) return;\n }\n }\n public fire(sender: Sender, options: Options): void {\n if (!this.callbacks) return;\n for (var i = 0; i < this.callbacks.length; i++) {\n this.callbacks[i](sender, options);\n if (!this.callbacks) return;\n }\n }\n public clear(): void {\n this.callbacks = undefined;\n }\n public add(func: CallbackFunction): void {\n if (this.hasFunc(func)) return;\n if (!this.callbacks) {\n this.callbacks = new Array<CallbackFunction>();\n }\n this.callbacks.push(func);\n this.fireCallbackChanged();\n }\n public remove(func: CallbackFunction): void {\n if (this.hasFunc(func)) {\n var index = this.callbacks.indexOf(func, 0);\n this.callbacks.splice(index, 1);\n this.fireCallbackChanged();\n }\n }\n public hasFunc(func: CallbackFunction): boolean {\n if (this.callbacks == null) return false;\n return this.callbacks.indexOf(func, 0) > -1;\n }\n private fireCallbackChanged(): void {\n if (!!this.onCallbacksChanged) {\n this.onCallbacksChanged();\n }\n }\n}\n\nexport class EventBase<Sender, Options = any> extends Event<\n (sender: Sender, options: Options) => any,\n Sender,\n Options\n> { }\n","import { Helpers, HashTable } from \"./helpers\";\n\nconst surveyBuiltInVarible: string = \"@survey\";\nexport class ProcessValue {\n public values: HashTable<any> = null;\n public properties: HashTable<any> = null;\n constructor() {}\n public getFirstName(text: string, obj: any = null): string {\n if (!text) return text;\n var res = \"\";\n if (!!obj) {\n res = this.getFirstPropertyName(text, obj);\n if (!!res) return res;\n }\n for (var i = 0; i < text.length; i++) {\n var ch = text[i];\n if (ch == \".\" || ch == \"[\") break;\n res += ch;\n }\n return res;\n }\n public hasValue(text: string, values: HashTable<any> = null): boolean {\n if (!values) values = this.values;\n var res = this.getValueCore(text, values);\n return res.hasValue;\n }\n public getValue(text: string, values: HashTable<any> = null): any {\n if (!values) values = this.values;\n var res = this.getValueCore(text, values);\n return res.value;\n }\n public setValue(obj: any, text: string, value: any) {\n if (!text) return;\n var nonNestedObj = this.getNonNestedObject(obj, text, true);\n if (!nonNestedObj) return;\n obj = nonNestedObj.value;\n text = nonNestedObj.text;\n if (!!obj && !!text) {\n obj[text] = value;\n }\n }\n public getValueInfo(valueInfo: any) {\n if (!!valueInfo.path) {\n valueInfo.value = this.getValueFromPath(valueInfo.path, this.values);\n valueInfo.hasValue =\n valueInfo.value !== null && !Helpers.isValueEmpty(valueInfo.value);\n if (\n !valueInfo.hasValue &&\n valueInfo.path.length > 1 &&\n valueInfo.path[valueInfo.path.length - 1] == \"length\"\n ) {\n valueInfo.hasValue = true;\n valueInfo.value = 0;\n }\n return;\n }\n var res = this.getValueCore(valueInfo.name, this.values);\n valueInfo.value = res.value;\n valueInfo.hasValue = res.hasValue;\n valueInfo.path = res.hasValue ? res.path : null;\n valueInfo.sctrictCompare = res.sctrictCompare;\n }\n public isAnyKeyChanged(keys: any, usedNames: string[]): boolean {\n for (var i = 0; i < usedNames.length; i++) {\n var name = usedNames[i];\n if (keys.hasOwnProperty(name)) return true;\n var firstName = this.getFirstName(name);\n if (!keys.hasOwnProperty(firstName)) continue;\n if (name === firstName) return true;\n var keyValue = keys[firstName];\n if (keyValue == undefined) continue;\n if (\n !keyValue.hasOwnProperty(\"oldValue\") ||\n !keyValue.hasOwnProperty(\"newValue\")\n )\n return true;\n var v: any = {};\n v[firstName] = keyValue[\"oldValue\"];\n var oldValue = this.getValue(name, v);\n v[firstName] = keyValue[\"newValue\"];\n var newValue = this.getValue(name, v);\n if(!Helpers.isTwoValueEquals(oldValue, newValue, false, false, false)) return true;\n }\n return false;\n\n }\n private getValueFromPath(path: Array<string | number>, values: any): any {\n if(path.length === 2 && path[0] === surveyBuiltInVarible) {\n return this.getValueFromSurvey(<string>path[1]);\n }\n var index = 0;\n while (!!values && index < path.length) {\n var ind_name = path[index];\n if (\n Helpers.isNumber(ind_name) &&\n Array.isArray(values) &&\n ind_name >= values.length\n )\n return null;\n values = values[ind_name];\n index++;\n }\n return values;\n }\n private getValueCore(text: string, values: any): any {\n const question = this.getQuestionDirectly(text);\n if(question) {\n return { hasValue: true, value: question.value, path: [text], sctrictCompare: question.requireStrictCompare };\n }\n const res = this.getValueFromValues(text, values);\n if(!!text && !res.hasValue) {\n const val = this.getValueFromSurvey(text);\n if(val !== undefined) {\n res.hasValue = true;\n res.value = val;\n res.path = [surveyBuiltInVarible, text];\n }\n }\n return res;\n }\n private getQuestionDirectly(name: string): any {\n if(!!this.properties && !!this.properties.survey)\n return this.properties.survey.getQuestionByValueName(name);\n return undefined;\n }\n private getValueFromSurvey(name: string): any {\n if(!!this.properties && !!this.properties.survey)\n return this.properties.survey.getBuiltInVariableValue(name.toLocaleLowerCase());\n return undefined;\n }\n private getValueFromValues(text: string, values: any): any {\n var res: any = { hasValue: false, value: null, path: null };\n var curValue = values;\n if (!curValue && curValue !== 0 && curValue !== false) return res;\n if (\n text &&\n text.lastIndexOf(\".length\") > -1 &&\n text.lastIndexOf(\".length\") === text.length - \".length\".length\n ) {\n res.value = 0;\n res.hasValue = true;\n }\n var nonNestedObj = this.getNonNestedObject(curValue, text, false);\n if (!nonNestedObj) return res;\n res.path = nonNestedObj.path;\n res.value = !!nonNestedObj.text\n ? this.getObjectValue(nonNestedObj.value, nonNestedObj.text)\n : nonNestedObj.value;\n res.hasValue = !Helpers.isValueEmpty(res.value);\n return res;\n }\n private getNonNestedObject(obj: any, text: string, createPath: boolean): any {\n var curName = this.getFirstPropertyName(text, obj, createPath);\n var path = !!curName ? [curName] : null;\n while (text != curName && !!obj) {\n var isArray = text[0] == \"[\";\n if (!isArray) {\n if (!curName && text == this.getFirstName(text))\n return { value: obj, text: text, path: path };\n obj = this.getObjectValue(obj, curName);\n if (Helpers.isValueEmpty(obj) && !createPath) return null;\n text = text.substring(curName.length);\n } else {\n var objInArray = this.getObjInArray(obj, text);\n if (!objInArray) return null;\n obj = objInArray.value;\n text = objInArray.text;\n path.push(objInArray.index);\n }\n if (!!text && text[0] == \".\") {\n text = text.substring(1);\n }\n curName = this.getFirstPropertyName(text, obj, createPath);\n if (!!curName) {\n path.push(curName);\n }\n }\n return { value: obj, text: text, path: path };\n }\n private getObjInArray(curValue: any, text: string): any {\n if (!Array.isArray(curValue)) return null;\n var index = 1;\n var str = \"\";\n while (index < text.length && text[index] != \"]\") {\n str += text[index];\n index++;\n }\n text = index < text.length ? text.substring(index + 1) : \"\";\n index = this.getIntValue(str);\n if (index < 0 || index >= curValue.length) return null;\n return { value: curValue[index], text: text, index: index };\n }\n private getFirstPropertyName(\n name: string,\n obj: any,\n createProp: boolean = false\n ): string {\n if (!name) return name;\n if (!obj) obj = {};\n if (obj.hasOwnProperty(name)) return name;\n var nameInLow = name.toLowerCase();\n var A = nameInLow[0];\n var a = A.toUpperCase();\n for (var key in obj) {\n var first = key[0];\n if (first === a || first === A) {\n var keyName = key.toLowerCase();\n if (keyName == nameInLow) return key;\n if (nameInLow.length <= keyName.length) continue;\n var ch = nameInLow[keyName.length];\n if (ch != \".\" && ch != \"[\") continue;\n if (keyName == nameInLow.substring(0, keyName.length)) return key;\n }\n }\n if (createProp && name[0] !== \"[\") {\n var ind = name.indexOf(\".\");\n if (ind > -1) {\n name = name.substring(0, ind);\n obj[name] = {};\n }\n return name;\n }\n return \"\";\n }\n private getObjectValue(obj: any, name: string): any {\n if (!name) return null;\n return obj[name];\n }\n private getIntValue(str: any) {\n if (str == \"0\" || ((str | 0) > 0 && str % 1 == 0)) return Number(str);\n return -1;\n }\n}\n","import { HashTable } from \"./helpers\";\nimport { ProcessValue } from \"./conditionProcessValue\";\nimport { ConsoleWarnings } from \"./console-warnings\";\nimport { Operand, FunctionOperand } from \"./expressions/expressions\";\nimport { ConditionsParser } from \"./conditionsParser\";\n\n/**\n * Base interface for expression execution\n */\nexport interface IExpresionExecutor {\n /**\n * This call back runs on executing expression if there is at least one async function\n */\n onComplete: (res: any) => void;\n /**\n * The expression as string, property with get\n */\n expression: string;\n /**\n * Returns true if the expression is valid and can be executed\n */\n canRun(): boolean;\n /**\n * Run the expression. Returns the result of execution.\n * The result can be undefined if there is an asyn function. In this case result will be returned onComplete callback.\n * @param values has with values names and their results. Normally it is question names and their values\n * @param properties the list of properties that are available in functions. Commonly it is survey and question, if expression execuited in a question context\n */\n run(values: HashTable<any>, properties: HashTable<any>): any;\n /**\n * Returns the list of variables that used in the expression. They defined as: {variableName} in default parser.\n */\n getVariables(): Array<string>;\n /**\n * Returns true if there is a function in the expression\n */\n hasFunction(): boolean;\n /**\n * Returns true if there is an async function in the expression\n */\n isAsync: boolean;\n}\n\nexport class ExpressionExecutor implements IExpresionExecutor {\n public static createExpressionExecutor: (expression: string) => IExpresionExecutor =\n (expression: string) => { return new ExpressionExecutor(expression); }\n public onComplete: (res: any) => void;\n private expressionValue: string;\n private operand: Operand;\n private processValue = new ProcessValue();\n private parser = new ConditionsParser();\n private isAsyncValue: boolean = false;\n private hasFunctionValue: boolean = false;\n private asyncFuncList: Array<FunctionOperand>;\n constructor(expression: string) {\n this.setExpression(expression);\n }\n public get expression(): string {\n return this.expressionValue;\n }\n private setExpression(value: string): void {\n if (this.expression === value) return;\n this.expressionValue = value;\n this.operand = this.parser.parseExpression(value);\n this.hasFunctionValue = this.canRun() ? this.operand.hasFunction() : false;\n this.isAsyncValue = this.hasFunction()\n ? this.operand.hasAsyncFunction()\n : false;\n }\n public getVariables(): Array<string> {\n if (!this.operand) return [];\n\n var variables: Array<string> = [];\n this.operand.setVariables(variables);\n return variables;\n }\n\n public hasFunction(): boolean {\n return this.hasFunctionValue;\n }\n public get isAsync(): boolean {\n return this.isAsyncValue;\n }\n\n public canRun(): boolean {\n return !!this.operand;\n }\n\n public run(\n values: HashTable<any>,\n properties: HashTable<any> = null\n ): any {\n if (!this.operand) {\n if(!!this.expression) {\n ConsoleWarnings.warn(\"Invalid expression: \" + this.expression);\n }\n return null;\n }\n this.processValue.values = values;\n this.processValue.properties = properties;\n if (!this.isAsync) return this.runValues();\n this.asyncFuncList = [];\n this.operand.addToAsyncList(this.asyncFuncList);\n for (var i = 0; i < this.asyncFuncList.length; i++) {\n this.asyncFuncList[i].onAsyncReady = () => {\n this.doAsyncFunctionReady();\n };\n }\n for (var i = 0; i < this.asyncFuncList.length; i++) {\n this.asyncFuncList[i].evaluateAsync(this.processValue);\n }\n return false;\n }\n private doAsyncFunctionReady() {\n for (var i = 0; i < this.asyncFuncList.length; i++) {\n if (!this.asyncFuncList[i].isReady) return;\n }\n this.runValues();\n }\n private runValues(): any {\n var res = this.operand.evaluate(this.processValue);\n if(!!this.onComplete) {\n this.onComplete(res);\n }\n return res;\n }\n}\n\nexport class ExpressionRunnerBase {\n private expressionExecutor: IExpresionExecutor;\n private variables: string[];\n private containsFunc: boolean;\n private static IdCounter = 1;\n private _id: number = ExpressionRunnerBase.IdCounter ++;\n public onBeforeAsyncRun: (id: number) => void;\n public onAfterAsyncRun: (id: number) => void;\n\n public constructor(expression: string) {\n this.expression = expression;\n }\n public get id(): number { return this._id; }\n public get expression(): string {\n return !!this.expressionExecutor ? this.expressionExecutor.expression : \"\";\n }\n\n public set expression(value: string) {\n if(!!this.expressionExecutor && value === this.expression) return;\n this.expressionExecutor = ExpressionExecutor.createExpressionExecutor(value);\n this.expressionExecutor.onComplete = (res: any) => { this.doOnComplete(res); };\n this.variables = undefined;\n this.containsFunc = undefined;\n }\n\n public getVariables(): Array<string> {\n if(this.variables === undefined) {\n this.variables = this.expressionExecutor.getVariables();\n }\n return this.variables;\n }\n\n public hasFunction(): boolean {\n if(this.containsFunc === undefined) {\n this.containsFunc = this.expressionExecutor.hasFunction();\n }\n return this.containsFunc;\n }\n public get isAsync(): boolean {\n return this.expressionExecutor.isAsync;\n }\n\n public canRun(): boolean {\n return this.expressionExecutor.canRun();\n }\n protected runCore(\n values: HashTable<any>,\n properties: HashTable<any> = null\n ): any {\n if(this.onBeforeAsyncRun && this.isAsync) {\n this.onBeforeAsyncRun(this.id);\n }\n return this.expressionExecutor.run(values, properties);\n }\n protected doOnComplete(res: any): void {\n if(this.onAfterAsyncRun && this.isAsync) {\n this.onAfterAsyncRun(this.id);\n }\n }\n}\n\nexport class ConditionRunner extends ExpressionRunnerBase {\n public onRunComplete: (result: boolean) => void;\n public run(\n values: HashTable<any>,\n properties: HashTable<any> = null\n ): boolean {\n return this.runCore(values, properties) == true;\n }\n protected doOnComplete(res: any): void {\n if (!!this.onRunComplete) this.onRunComplete(res == true);\n super.doOnComplete(res);\n }\n}\n\nexport class ExpressionRunner extends ExpressionRunnerBase {\n public onRunComplete: (result: any) => void;\n public run(values: HashTable<any>, properties: HashTable<any> = null): any {\n return this.runCore(values, properties);\n }\n protected doOnComplete(res: any): void {\n if (!!this.onRunComplete) this.onRunComplete(res);\n super.doOnComplete(res);\n }\n}\n","import { Operand, Const } from \"./expressions/expressions\";\nimport { SyntaxError, parse } from \"./expressions/expressionParser\";\n\nexport class ConditionsParserError {\n constructor(public at: number, public code: string) {}\n}\n\nexport class ConditionsParser {\n private conditionError: ConditionsParserError;\n private static parserCache: { [index: string]: Operand } = {};\n\n private patchExpression(text: string) {\n return text\n .replace(/=>/g, \">=\")\n .replace(/=</g, \"<=\")\n .replace(/<>/g, \"!=\")\n .replace(/equals/g, \"equal \")\n .replace(/notequals/g, \"notequal \");\n }\n\n public createCondition(text: string): Operand {\n return this.parseExpression(text);\n }\n\n public parseExpression(text: string): Operand {\n try {\n var result = ConditionsParser.parserCache[text];\n if (result === undefined) {\n result = parse(this.patchExpression(text));\n if (!result.hasAsyncFunction()) {\n ConditionsParser.parserCache[text] = result;\n }\n }\n return result;\n } catch (e) {\n if (e instanceof SyntaxError) {\n this.conditionError = new ConditionsParserError(\n e.location.start.offset,\n e.message\n );\n }\n }\n }\n\n public get error(): ConditionsParserError {\n return this.conditionError;\n }\n}\n","export class ConsoleWarnings {\n public static disposedObjectChangedProperty(propName: string, objType: string): void {\n ConsoleWarnings.warn(\"An attempt to set a property \\\"\" + propName + \"\\\" of a disposed object \\\"\" + objType + \"\\\"\");\n }\n public static inCorrectQuestionValue(questionName: string, val: any): void {\n const valStr = JSON.stringify(val, null, 3);\n ConsoleWarnings.warn(\"An attempt to assign an incorrect value\" + valStr + \" to the following question: \\\"\" + questionName + \"\\\"\");\n }\n public static warn(text: string): void {\n // eslint-disable-next-line no-console\n console.warn(text);\n }\n}","export { SurveyModel, SurveyWindowModel } from \"survey-core\";\nexport { settings, ISurveyEnvironment } from \"survey-core\";\nexport { surveyLocalization, surveyStrings } from \"survey-core\";\n","// react\nexport { Survey, attachKey2click } from \"../react/reactSurvey\";\nexport { ReactSurveyElementsWrapper } from \"../react/reactsurveymodel\";\nexport { SurveyNavigationBase } from \"../react/reactSurveyNavigationBase\";\nexport { SurveyTimerPanel } from \"../react/reacttimerpanel\";\nexport { SurveyPage } from \"../react/page\";\nexport { SurveyRow } from \"../react/row\";\nexport { SurveyPanel } from \"../react/panel\";\nexport { SurveyFlowPanel } from \"../react/flow-panel\";\nexport {\n SurveyQuestion,\n SurveyElementErrors,\n SurveyQuestionAndErrorsCell,\n ISurveyCreator\n} from \"../react/reactquestion\";\nexport {\n ReactSurveyElement,\n SurveyElementBase,\n SurveyQuestionElementBase,\n} from \"../react/reactquestion_element\";\nexport {\n SurveyQuestionCommentItem,\n SurveyQuestionComment,\n} from \"../react/reactquestion_comment\";\nexport {\n SurveyQuestionCheckbox,\n SurveyQuestionCheckboxItem,\n} from \"../react/reactquestion_checkbox\";\nexport {\n SurveyQuestionRanking,\n SurveyQuestionRankingItem,\n} from \"../react/reactquestion_ranking\";\n\nexport { RatingItem } from \"../react/components/rating/rating-item\";\nexport { RatingItemStar } from \"../react/components/rating/rating-item-star\";\nexport { RatingItemSmiley } from \"../react/components/rating/rating-item-smiley\";\n\nexport { TagboxFilterString } from \"../react/tagbox-filter\";\nexport { SurveyQuestionOptionItem } from \"../react/dropdown-item\";\nexport { SurveyQuestionDropdownBase } from \"../react/dropdown-base\";\nexport { SurveyQuestionDropdown } from \"../react/reactquestion_dropdown\";\nexport { SurveyQuestionTagboxItem } from \"../react/tagbox-item\";\nexport { SurveyQuestionTagbox } from \"../react/reactquestion_tagbox\";\nexport { SurveyQuestionDropdownSelect } from \"../react/dropdown-select\";\nexport {\n SurveyQuestionMatrix,\n SurveyQuestionMatrixRow,\n} from \"../react/reactquestion_matrix\";\nexport { SurveyQuestionHtml } from \"../react/reactquestion_html\";\nexport { SurveyQuestionFile } from \"../react/reactquestion_file\";\nexport { SurveyFileChooseButton } from \"../react/components/file/file-choose-button\";\nexport { SurveyFilePreview } from \"../react/components/file/file-preview\";\nexport { SurveyQuestionMultipleText } from \"../react/reactquestion_multipletext\";\nexport { SurveyQuestionRadiogroup, SurveyQuestionRadioItem } from \"../react/reactquestion_radiogroup\";\nexport { SurveyQuestionText } from \"../react/reactquestion_text\";\nexport { SurveyQuestionBoolean } from \"../react/boolean\";\nexport { SurveyQuestionBooleanCheckbox } from \"../react/boolean-checkbox\";\nexport { SurveyQuestionBooleanRadio } from \"../react/boolean-radio\";\nexport { SurveyQuestionEmpty } from \"../react/reactquestion_empty\";\nexport { SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDropdownBase } from \"../react/reactquestion_matrixdropdownbase\";\nexport { SurveyQuestionMatrixDropdown } from \"../react/reactquestion_matrixdropdown\";\nexport { SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton } from \"../react/reactquestion_matrixdynamic\";\nexport { SurveyQuestionPanelDynamic } from \"../react/reactquestion_paneldynamic\";\nexport { SurveyProgress } from \"../react/reactSurveyProgress\";\nexport { SurveyProgressButtons } from \"../react/reactSurveyProgressButtons\";\nexport { SurveyProgressToc } from \"../react/reactSurveyProgressToc\";\nexport { SurveyQuestionRating } from \"../react/reactquestion_rating\";\nexport { SurveyQuestionRatingDropdown } from \"../react/rating-dropdown\";\nexport { SurveyQuestionExpression } from \"../react/reactquestion_expression\";\nexport { PopupSurvey, SurveyWindow } from \"../react/react-popup-survey\";\nexport { ReactQuestionFactory } from \"../react/reactquestion_factory\";\nexport { ReactElementFactory } from \"../react/element-factory\";\nexport { SurveyQuestionImagePicker } from \"../react/imagepicker\";\nexport { SurveyQuestionImage } from \"../react/image\";\nexport { SurveyQuestionSignaturePad } from \"../react/signaturepad\";\nexport { SurveyQuestionButtonGroup } from \"../react/reactquestion_buttongroup\";\nexport { SurveyQuestionCustom, SurveyQuestionComposite } from \"../react/reactquestion_custom\";\n\nexport { Popup } from \"../react/components/popup/popup\";\nexport { List } from \"../react/components/list/list\";\nexport { TitleActions } from \"../react/components/title/title-actions\";\nexport { TitleElement } from \"../react/components/title/title-element\";\nexport { SurveyActionBar } from \"../react/components/action-bar/action-bar\";\nexport { LogoImage } from \"../react/components/survey-header/logo-image\";\nexport { SurveyHeader } from \"../react/components/survey-header/survey-header\";\nexport { SvgIcon } from \"../react/components/svg-icon/svg-icon\";\nexport { SurveyQuestionMatrixDynamicRemoveButton } from \"../react/components/matrix-actions/remove-button/remove-button\";\nexport { SurveyQuestionMatrixDetailButton } from \"../react/components/matrix-actions/detail-button/detail-button\";\nexport { SurveyQuestionMatrixDynamicDragDropIcon } from \"../react/components/matrix-actions/drag-drop-icon/drag-drop-icon\";\nexport { SurveyQuestionPanelDynamicAddButton } from \"../react/components/paneldynamic-actions/paneldynamic-add-btn\";\nexport { SurveyQuestionPanelDynamicRemoveButton } from \"../react/components/paneldynamic-actions/paneldynamic-remove-btn\";\nexport { SurveyQuestionPanelDynamicPrevButton } from \"../react/components/paneldynamic-actions/paneldynamic-prev-btn\";\nexport { SurveyQuestionPanelDynamicNextButton } from \"../react/components/paneldynamic-actions/paneldynamic-next-btn\";\nexport { SurveyQuestionPanelDynamicProgressText } from \"../react/components/paneldynamic-actions/paneldynamic-progress-text\";\nexport { SurveyNavigationButton } from \"../react/components/survey-actions/survey-nav-button\";\n\nexport { MatrixRow } from \"../react/components/matrix/row\";\nexport { Skeleton } from \"../react/components/skeleton\";\nexport { NotifierComponent } from \"../react/components/notifier\";\nexport { ComponentsContainer } from \"../react/components/components-container\";\nexport { CharacterCounterComponent } from \"../react/components/character-counter\";\nexport * from \"../react/components/cover\";\n\nexport { SurveyLocStringViewer } from \"../react/string-viewer\";\nexport { SurveyLocStringEditor } from \"../react/string-editor\";\nexport { LoadingIndicatorComponent } from \"../react/components/loading-indicator\";\n\n//Uncomment to include the \"date\" question type.\n//export {default as SurveyQuestionDate} from \"../plugins/react/reactquestiondate\";\n","export * from \"./react-ui-model\";\nexport * from \"./core-export\";\nexport { SurveyModel as Model } from \"survey-core\";\n\nexport * from \"../utils/responsivity-manager\";\nexport { unwrap } from \"../utils/utils\";\n\nimport { checkLibraryVersion } from \"survey-core\";\n\ncheckLibraryVersion(`${process.env.VERSION}`, \"survey-react-ui\");","/* eslint-disable */\nimport {\n Const,\n BinaryOperand,\n Variable,\n Operand,\n UnaryOperand,\n FunctionOperand,\n ArrayOperand\n} from \"./expressions\";\n\n// Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.3.1 )\n//\n// https://pegjs.org/ https://github.com/metadevpro/ts-pegjs\n\n\"use strict\";\n\nexport interface IFilePosition {\n offset: number;\n line: number;\n column: number;\n}\n\nexport interface IFileRange {\n start: IFilePosition;\n end: IFilePosition;\n}\n\nexport interface ILiteralExpectation {\n type: \"literal\";\n text: string;\n ignoreCase: boolean;\n}\n\nexport interface IClassParts extends Array<string | IClassParts> {}\n\nexport interface IClassExpectation {\n type: \"class\";\n parts: IClassParts;\n inverted: boolean;\n ignoreCase: boolean;\n}\n\nexport interface IAnyExpectation {\n type: \"any\";\n}\n\nexport interface IEndExpectation {\n type: \"end\";\n}\n\nexport interface IOtherExpectation {\n type: \"other\";\n description: string;\n}\n\nexport type Expectation = ILiteralExpectation | IClassExpectation | IAnyExpectation | IEndExpectation | IOtherExpectation;\n\nexport class SyntaxError extends Error {\n public static buildMessage(expected: Expectation[], found: string | null) {\n function hex(ch: string): string {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n\n function literalEscape(s: string): string {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\"/g, \"\\\\\\\"\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, (ch) => \"\\\\x0\" + hex(ch))\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, (ch) => \"\\\\x\" + hex(ch));\n }\n\n function classEscape(s: string): string {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\]/g, \"\\\\]\")\n .replace(/\\^/g, \"\\\\^\")\n .replace(/-/g, \"\\\\-\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, (ch) => \"\\\\x0\" + hex(ch))\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, (ch) => \"\\\\x\" + hex(ch));\n }\n\n function describeExpectation(expectation: Expectation) {\n switch (expectation.type) {\n case \"literal\":\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n case \"class\":\n const escapedParts = expectation.parts.map((part) => {\n return Array.isArray(part)\n ? classEscape(part[0] as string) + \"-\" + classEscape(part[1] as string)\n : classEscape(part);\n });\n\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n case \"any\":\n return \"any character\";\n case \"end\":\n return \"end of input\";\n case \"other\":\n return expectation.description;\n }\n }\n\n function describeExpected(expected1: Expectation[]) {\n const descriptions = expected1.map(describeExpectation);\n let i: number;\n let j: number;\n\n descriptions.sort();\n\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n\n function describeFound(found1: string | null) {\n return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n }\n\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n }\n\n public message: string;\n public expected: Expectation[];\n public found: string | null;\n public location: IFileRange;\n public name: string;\n\n constructor(message: string, expected: Expectation[], found: string | null, location: IFileRange) {\n super();\n this.message = message;\n this.expected = expected;\n this.found = found;\n this.location = location;\n this.name = \"SyntaxError\";\n\n if (typeof (Error as any).captureStackTrace === \"function\") {\n (Error as any).captureStackTrace(this, SyntaxError);\n }\n }\n}\n\nexport interface ICached {\n nextPos: number;\n result: any;\n}\n\nfunction peg$parse(input: string, options?: IParseOptions) {\n options = options !== undefined ? options : {};\n\n const peg$FAILED: Readonly<any> = {};\n\n const peg$startRuleFunctions: {[id: string]: any} = { Expression: peg$parseExpression };\n let peg$startRuleFunction: () => any = peg$parseExpression;\n\n const peg$c0 = function(head: any, tail: any): any {\n return buildBinaryOperand(head, tail, true);\n };\n const peg$c1 = \"||\";\n const peg$c2 = peg$literalExpectation(\"||\", false);\n const peg$c3 = \"or\";\n const peg$c4 = peg$literalExpectation(\"or\", true);\n const peg$c5 = function(): any { return \"or\"; };\n const peg$c6 = \"&&\";\n const peg$c7 = peg$literalExpectation(\"&&\", false);\n const peg$c8 = \"and\";\n const peg$c9 = peg$literalExpectation(\"and\", true);\n const peg$c10 = function(): any { return \"and\"; };\n const peg$c11 = function(head: any, tail: any): any {\n return buildBinaryOperand(head, tail);\n };\n const peg$c12 = \"<=\";\n const peg$c13 = peg$literalExpectation(\"<=\", false);\n const peg$c14 = \"lessorequal\";\n const peg$c15 = peg$literalExpectation(\"lessorequal\", true);\n const peg$c16 = function(): any { return \"lessorequal\"; };\n const peg$c17 = \">=\";\n const peg$c18 = peg$literalExpectation(\">=\", false);\n const peg$c19 = \"greaterorequal\";\n const peg$c20 = peg$literalExpectation(\"greaterorequal\", true);\n const peg$c21 = function(): any { return \"greaterorequal\"; };\n const peg$c22 = \"==\";\n const peg$c23 = peg$literalExpectation(\"==\", false);\n const peg$c24 = \"equal\";\n const peg$c25 = peg$literalExpectation(\"equal\", true);\n const peg$c26 = function(): any { return \"equal\"; };\n const peg$c27 = \"=\";\n const peg$c28 = peg$literalExpectation(\"=\", false);\n const peg$c29 = \"!=\";\n const peg$c30 = peg$literalExpectation(\"!=\", false);\n const peg$c31 = \"notequal\";\n const peg$c32 = peg$literalExpectation(\"notequal\", true);\n const peg$c33 = function(): any { return \"notequal\"; };\n const peg$c34 = \"<\";\n const peg$c35 = peg$literalExpectation(\"<\", false);\n const peg$c36 = \"less\";\n const peg$c37 = peg$literalExpectation(\"less\", true);\n const peg$c38 = function(): any { return \"less\"; };\n const peg$c39 = \">\";\n const peg$c40 = peg$literalExpectation(\">\", false);\n const peg$c41 = \"greater\";\n const peg$c42 = peg$literalExpectation(\"greater\", true);\n const peg$c43 = function(): any { return \"greater\"; };\n const peg$c44 = \"+\";\n const peg$c45 = peg$literalExpectation(\"+\", false);\n const peg$c46 = function(): any { return \"plus\"; };\n const peg$c47 = \"-\";\n const peg$c48 = peg$literalExpectation(\"-\", false);\n const peg$c49 = function(): any { return \"minus\"; };\n const peg$c50 = \"*\";\n const peg$c51 = peg$literalExpectation(\"*\", false);\n const peg$c52 = function(): any { return \"mul\"; };\n const peg$c53 = \"/\";\n const peg$c54 = peg$literalExpectation(\"/\", false);\n const peg$c55 = function(): any { return \"div\"; };\n const peg$c56 = \"%\";\n const peg$c57 = peg$literalExpectation(\"%\", false);\n const peg$c58 = function(): any { return \"mod\"; };\n const peg$c59 = \"^\";\n const peg$c60 = peg$literalExpectation(\"^\", false);\n const peg$c61 = \"power\";\n const peg$c62 = peg$literalExpectation(\"power\", true);\n const peg$c63 = function(): any { return \"power\"; };\n const peg$c64 = \"*=\";\n const peg$c65 = peg$literalExpectation(\"*=\", false);\n const peg$c66 = \"contains\";\n const peg$c67 = peg$literalExpectation(\"contains\", true);\n const peg$c68 = \"contain\";\n const peg$c69 = peg$literalExpectation(\"contain\", true);\n const peg$c70 = function(): any { return \"contains\"; };\n const peg$c71 = \"notcontains\";\n const peg$c72 = peg$literalExpectation(\"notcontains\", true);\n const peg$c73 = \"notcontain\";\n const peg$c74 = peg$literalExpectation(\"notcontain\", true);\n const peg$c75 = function(): any { return \"notcontains\"; };\n const peg$c76 = \"anyof\";\n const peg$c77 = peg$literalExpectation(\"anyof\", true);\n const peg$c78 = function(): any { return \"anyof\"; };\n const peg$c79 = \"allof\";\n const peg$c80 = peg$literalExpectation(\"allof\", true);\n const peg$c81 = function(): any { return \"allof\"; };\n const peg$c82 = \"(\";\n const peg$c83 = peg$literalExpectation(\"(\", false);\n const peg$c84 = \")\";\n const peg$c85 = peg$literalExpectation(\")\", false);\n const peg$c86 = function(expr: any): any { return expr; };\n const peg$c87 = function(name: any, params: any): any { return new FunctionOperand(name, params); };\n const peg$c88 = \"!\";\n const peg$c89 = peg$literalExpectation(\"!\", false);\n const peg$c90 = \"negate\";\n const peg$c91 = peg$literalExpectation(\"negate\", true);\n const peg$c92 = function(expr: any): any { return new UnaryOperand(expr, \"negate\"); };\n const peg$c93 = function(expr: any, op: any): any { return new UnaryOperand(expr, op); };\n const peg$c94 = \"empty\";\n const peg$c95 = peg$literalExpectation(\"empty\", true);\n const peg$c96 = function(): any { return \"empty\"; };\n const peg$c97 = \"notempty\";\n const peg$c98 = peg$literalExpectation(\"notempty\", true);\n const peg$c99 = function(): any { return \"notempty\"; };\n const peg$c100 = \"undefined\";\n const peg$c101 = peg$literalExpectation(\"undefined\", false);\n const peg$c102 = \"null\";\n const peg$c103 = peg$literalExpectation(\"null\", false);\n const peg$c104 = function(): any { return null; };\n const peg$c105 = function(value: any): any { return new Const(value); };\n const peg$c106 = \"{\";\n const peg$c107 = peg$literalExpectation(\"{\", false);\n const peg$c108 = \"}\";\n const peg$c109 = peg$literalExpectation(\"}\", false);\n const peg$c110 = function(value: any): any { return new Variable(value); };\n const peg$c111 = function(value: any): any { return value; };\n const peg$c112 = \"''\";\n const peg$c113 = peg$literalExpectation(\"''\", false);\n const peg$c114 = function(): any { return \"\"; };\n const peg$c115 = \"\\\"\\\"\";\n const peg$c116 = peg$literalExpectation(\"\\\"\\\"\", false);\n const peg$c117 = \"'\";\n const peg$c118 = peg$literalExpectation(\"'\", false);\n const peg$c119 = function(value: any): any { return \"'\" + value + \"'\"; };\n const peg$c120 = \"\\\"\";\n const peg$c121 = peg$literalExpectation(\"\\\"\", false);\n const peg$c122 = \"[\";\n const peg$c123 = peg$literalExpectation(\"[\", false);\n const peg$c124 = \"]\";\n const peg$c125 = peg$literalExpectation(\"]\", false);\n const peg$c126 = function(sequence: any): any { return sequence; };\n const peg$c127 = \",\";\n const peg$c128 = peg$literalExpectation(\",\", false);\n const peg$c129 = function(expr: any, tail: any): any {\n if (expr == null)\n return new ArrayOperand([]);\n\n var array = [expr];\n if (Array.isArray(tail)) {\n var flatten = flattenArray(tail);\n for (var i = 3; i < flatten.length; i += 4) {\n array.push(flatten[i]);\n }\n }\n\n return new ArrayOperand(array);\n };\n const peg$c130 = \"true\";\n const peg$c131 = peg$literalExpectation(\"true\", true);\n const peg$c132 = function(): any { return true; };\n const peg$c133 = \"false\";\n const peg$c134 = peg$literalExpectation(\"false\", true);\n const peg$c135 = function(): any { return false; };\n const peg$c136 = \"0x\";\n const peg$c137 = peg$literalExpectation(\"0x\", false);\n const peg$c138 = function(): any { return parseInt(text(), 16); };\n const peg$c139 = /^[\\-]/;\n const peg$c140 = peg$classExpectation([\"-\"], false, false);\n const peg$c141 = function(sign: any, num: any): any { return sign == null ? num : -num; };\n const peg$c142 = \".\";\n const peg$c143 = peg$literalExpectation(\".\", false);\n const peg$c144 = function(): any { return parseFloat(text()); };\n const peg$c145 = function(): any { return parseInt(text(), 10); };\n const peg$c146 = \"0\";\n const peg$c147 = peg$literalExpectation(\"0\", false);\n const peg$c148 = function(): any { return 0; };\n const peg$c149 = function(chars: any): any { return chars.join(\"\"); };\n const peg$c150 = \"\\\\'\";\n const peg$c151 = peg$literalExpectation(\"\\\\'\", false);\n const peg$c152 = function(): any { return \"'\"; };\n const peg$c153 = \"\\\\\\\"\";\n const peg$c154 = peg$literalExpectation(\"\\\\\\\"\", false);\n const peg$c155 = function(): any { return \"\\\"\"; };\n const peg$c156 = /^[^\"']/;\n const peg$c157 = peg$classExpectation([\"\\\"\", \"'\"], true, false);\n const peg$c158 = function(): any { return text(); };\n const peg$c159 = /^[^{}]/;\n const peg$c160 = peg$classExpectation([\"{\", \"}\"], true, false);\n const peg$c161 = /^[0-9]/;\n const peg$c162 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n const peg$c163 = /^[1-9]/;\n const peg$c164 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n const peg$c165 = /^[a-zA-Z_]/;\n const peg$c166 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"_\"], false, false);\n const peg$c167 = peg$otherExpectation(\"whitespace\");\n const peg$c168 = /^[ \\t\\n\\r]/;\n const peg$c169 = peg$classExpectation([\" \", \"\\t\", \"\\n\", \"\\r\"], false, false);\n\n let peg$currPos = 0;\n let peg$savedPos = 0;\n const peg$posDetailsCache = [{ line: 1, column: 1 }];\n let peg$maxFailPos = 0;\n let peg$maxFailExpected: Expectation[] = [];\n let peg$silentFails = 0;\n\n const peg$resultsCache: {[id: number]: ICached} = {};\n\n let peg$result;\n\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text(): string {\n return input.substring(peg$savedPos, peg$currPos);\n }\n\n function location(): IFileRange {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n\n function expected(description: string, location1?: IFileRange) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n\n throw peg$buildStructuredError(\n [peg$otherExpectation(description)],\n input.substring(peg$savedPos, peg$currPos),\n location1\n );\n }\n\n function error(message: string, location1?: IFileRange) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n\n throw peg$buildSimpleError(message, location1);\n }\n\n function peg$literalExpectation(text1: string, ignoreCase: boolean): ILiteralExpectation {\n return { type: \"literal\", text: text1, ignoreCase: ignoreCase };\n }\n\n function peg$classExpectation(parts: IClassParts, inverted: boolean, ignoreCase: boolean): IClassExpectation {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n\n function peg$anyExpectation(): IAnyExpectation {\n return { type: \"any\" };\n }\n\n function peg$endExpectation(): IEndExpectation {\n return { type: \"end\" };\n }\n\n function peg$otherExpectation(description: string): IOtherExpectation {\n return { type: \"other\", description: description };\n }\n\n function peg$computePosDetails(pos: number) {\n let details = peg$posDetailsCache[pos];\n let p;\n\n if (details) {\n return details;\n } else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n } else {\n details.column++;\n }\n\n p++;\n }\n\n peg$posDetailsCache[pos] = details;\n\n return details;\n }\n }\n\n function peg$computeLocation(startPos: number, endPos: number): IFileRange {\n const startPosDetails = peg$computePosDetails(startPos);\n const endPosDetails = peg$computePosDetails(endPos);\n\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n\n function peg$fail(expected1: Expectation) {\n if (peg$currPos < peg$maxFailPos) { return; }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected1);\n }\n\n function peg$buildSimpleError(message: string, location1: IFileRange) {\n return new SyntaxError(message, [], \"\", location1);\n }\n\n function peg$buildStructuredError(expected1: Expectation[], found: string | null, location1: IFileRange) {\n return new SyntaxError(\n SyntaxError.buildMessage(expected1, found),\n expected1,\n found,\n location1\n );\n }\n\n function peg$parseExpression(): Operand {\n let s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n const key = peg$currPos * 34 + 0;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseLogicOr();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$currPos;\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseOrSign();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseLogicOr();\n if (s8 !== peg$FAILED) {\n s5 = [s5, s6, s7, s8];\n s4 = s5;\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$currPos;\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseOrSign();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseLogicOr();\n if (s8 !== peg$FAILED) {\n s5 = [s5, s6, s7, s8];\n s4 = s5;\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s2, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseOrSign(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 1;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c1) {\n s1 = peg$c1;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c2); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 2).toLowerCase() === peg$c3) {\n s1 = input.substr(peg$currPos, 2);\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c5();\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLogicOr(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 2;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseLogicAnd();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseAndSign();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseLogicAnd();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseAndSign();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseLogicAnd();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseAndSign(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 3;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c6) {\n s1 = peg$c6;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 3).toLowerCase() === peg$c8) {\n s1 = input.substr(peg$currPos, 3);\n peg$currPos += 3;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c9); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c10();\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLogicAnd(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 4;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseCompOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseComparableOperators();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseCompOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseComparableOperators();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseCompOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseComparableOperators(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 5;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c12) {\n s1 = peg$c12;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c13); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 11).toLowerCase() === peg$c14) {\n s1 = input.substr(peg$currPos, 11);\n peg$currPos += 11;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c15); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c17) {\n s1 = peg$c17;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c18); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 14).toLowerCase() === peg$c19) {\n s1 = input.substr(peg$currPos, 14);\n peg$currPos += 14;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c20); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c23); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c24) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c25); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s1 = peg$c27;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c28); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c24) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c25); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c29) {\n s1 = peg$c29;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c30); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c31) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c32); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 60) {\n s1 = peg$c34;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4).toLowerCase() === peg$c36) {\n s1 = input.substr(peg$currPos, 4);\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c37); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c38();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 62) {\n s1 = peg$c39;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c40); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 7).toLowerCase() === peg$c41) {\n s1 = input.substr(peg$currPos, 7);\n peg$currPos += 7;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c42); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c43();\n }\n s0 = s1;\n }\n }\n }\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseCompOps(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 6;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parsePlusMinusOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePlusMinusSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsePlusMinusOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePlusMinusSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsePlusMinusOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parsePlusMinusSigns(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 7;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 43) {\n s1 = peg$c44;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c45); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c46();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 45) {\n s1 = peg$c47;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c48); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c49();\n }\n s0 = s1;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parsePlusMinusOps(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 8;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseMulDivOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseMulDivSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseMulDivOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseMulDivSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseMulDivOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseMulDivSigns(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 9;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 42) {\n s1 = peg$c50;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c51); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 47) {\n s1 = peg$c53;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c54); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 37) {\n s1 = peg$c56;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c57); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c58();\n }\n s0 = s1;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseMulDivOps(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 10;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseBinaryFuncOp();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePowerSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseBinaryFuncOp();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePowerSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseBinaryFuncOp();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parsePowerSigns(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 11;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 94) {\n s1 = peg$c59;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c60); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c61) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c62); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c63();\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseBinaryFuncOp(): any {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 12;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseFactor();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseBinFunctions();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseFactor();\n if (s7 === peg$FAILED) {\n s7 = null;\n }\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseBinFunctions();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseFactor();\n if (s7 === peg$FAILED) {\n s7 = null;\n }\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseBinFunctions(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 13;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c64) {\n s1 = peg$c64;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c65); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c66) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c67); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 7).toLowerCase() === peg$c68) {\n s1 = input.substr(peg$currPos, 7);\n peg$currPos += 7;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c69); }\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 11).toLowerCase() === peg$c71) {\n s1 = input.substr(peg$currPos, 11);\n peg$currPos += 11;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c72); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 10).toLowerCase() === peg$c73) {\n s1 = input.substr(peg$currPos, 10);\n peg$currPos += 10;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c74); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c75();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c76) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c77); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c78();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c79) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c80); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c81();\n }\n s0 = s1;\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseFactor(): Operand {\n let s0, s1, s2, s3, s4, s5;\n\n const key = peg$currPos * 34 + 14;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 40) {\n s1 = peg$c82;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c83); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseExpression();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s5 = peg$c84;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c85); }\n }\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c86(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseFunctionOp();\n if (s0 === peg$FAILED) {\n s0 = peg$parseUnaryFunctionOp();\n if (s0 === peg$FAILED) {\n s0 = peg$parseAtom();\n if (s0 === peg$FAILED) {\n s0 = peg$parseArrayOp();\n }\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseFunctionOp(): any {\n let s0, s1, s2, s3, s4;\n\n const key = peg$currPos * 34 + 15;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseLettersAndDigits();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s2 = peg$c82;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c83); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseSequence();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s4 = peg$c84;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c85); }\n }\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c87(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseUnaryFunctionOp(): any {\n let s0, s1, s2, s3;\n\n const key = peg$currPos * 34 + 16;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 33) {\n s1 = peg$c88;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c89); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 6).toLowerCase() === peg$c90) {\n s1 = input.substr(peg$currPos, 6);\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c91); }\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseExpression();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c92(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseAtom();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseUnFunctions();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c93(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseUnFunctions(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 17;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c94) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c95); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c96();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c97) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c98); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c99();\n }\n s0 = s1;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseAtom(): any {\n let s0, s1, s2, s3, s4;\n\n const key = peg$currPos * 34 + 18;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.substr(peg$currPos, 9) === peg$c100) {\n s2 = peg$c100;\n peg$currPos += 9;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c101); }\n }\n if (s2 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c102) {\n s2 = peg$c102;\n peg$currPos += 4;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c103); }\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c104();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseConstValue();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c105(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s2 = peg$c106;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c107); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseValueInput();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s4 = peg$c108;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c109); }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c110(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseConstValue(): any {\n let s0, s1, s2, s3;\n\n const key = peg$currPos * 34 + 19;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseLogicValue();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseArithmeticValue();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseLettersAndDigits();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c112) {\n s1 = peg$c112;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c113); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c114();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c115) {\n s1 = peg$c115;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c116); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c114();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c117;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c118); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseAnyInput();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s3 = peg$c117;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c118); }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c119(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 34) {\n s1 = peg$c120;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c121); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseAnyInput();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 34) {\n s3 = peg$c120;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c121); }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c119(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n }\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseArrayOp(): any {\n let s0, s1, s2, s3;\n\n const key = peg$currPos * 34 + 20;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 91) {\n s1 = peg$c122;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c123); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseSequence();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 93) {\n s3 = peg$c124;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c125); }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c126(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseSequence(): ArrayOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 21;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseExpression();\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c127;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c128); }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseExpression();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c127;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c128); }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseExpression();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c129(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLogicValue(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 22;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 4).toLowerCase() === peg$c130) {\n s1 = input.substr(peg$currPos, 4);\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c131); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c132();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c133) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c134); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c135();\n }\n s0 = s1;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseArithmeticValue(): any {\n let s0, s1, s2;\n\n const key = peg$currPos * 34 + 23;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c136) {\n s1 = peg$c136;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c137); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseDigits();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c138();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (peg$c139.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c140); }\n }\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseNumber();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c141(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseNumber(): any {\n let s0, s1, s2, s3;\n\n const key = peg$currPos * 34 + 24;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseDigits();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 46) {\n s2 = peg$c142;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c143); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseDigits();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c144();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseNonZeroDigits();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseDigits();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c145();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c146;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c147); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c148();\n }\n s0 = s1;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseValueInput(): any {\n let s0, s1, s2;\n\n const key = peg$currPos * 34 + 25;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseValueCharacters();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseValueCharacters();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c149(s1);\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseAnyInput(): any {\n let s0, s1, s2;\n\n const key = peg$currPos * 34 + 26;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseAnyCharacters();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseAnyCharacters();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c149(s1);\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseAnyCharacters(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 27;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c150) {\n s1 = peg$c150;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c151); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c152();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c153) {\n s1 = peg$c153;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c154); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c155();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (peg$c156.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c157); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c158();\n }\n s0 = s1;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseValueCharacters(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 28;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (peg$c159.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c160); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c158();\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLettersAndDigits(): any {\n let s0, s1, s2, s3, s4, s5, s6;\n\n const key = peg$currPos * 34 + 29;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseLetters();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parseDigits();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseLetters();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseLetters();\n }\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parseDigits();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseLetters();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseLetters();\n }\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c158();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseDigits(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 30;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = [];\n if (peg$c161.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c162); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c161.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c162); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseNonZeroDigits(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 31;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = [];\n if (peg$c163.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c164); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c163.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c164); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLetters(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 32;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = [];\n if (peg$c165.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c166); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c165.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c166); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parse_(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 33;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n peg$silentFails++;\n s0 = [];\n if (peg$c168.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c169); }\n }\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c168.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c169); }\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c167); }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function buildBinaryOperand(head: Operand, tail: Array<any>, isArithmeticOp: boolean = false) {\n return tail.reduce(\n function(result, elements) {\n return new BinaryOperand(elements[1], result, elements[3], isArithmeticOp);\n },\n head);\n }\n\n function flattenArray(array: Array<any>): Array<any> {\n return [].concat.apply([], array);\n }\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n\n throw peg$buildStructuredError(\n peg$maxFailExpected,\n peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,\n peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)\n );\n }\n}\n\nexport interface IParseOptions {\n filename?: string;\n startRule?: string;\n tracer?: any;\n [key: string]: any;\n}\nexport type ParseFunction = (input: string, options?: IParseOptions) => any;\nexport const parse: ParseFunction = peg$parse;\n","import { HashTable, Helpers } from \"../helpers\";\nimport { FunctionFactory } from \"../functionsfactory\";\nimport { ProcessValue } from \"../conditionProcessValue\";\nimport { settings } from \"../settings\";\n\nexport abstract class Operand {\n public toString(func: (op: Operand) => string = undefined): string {\n return \"\";\n }\n public abstract getType(): string;\n public abstract evaluate(processValue?: ProcessValue): any;\n public abstract setVariables(variables: Array<string>): any;\n public hasFunction(): boolean {\n return false;\n }\n public hasAsyncFunction(): boolean { return false; }\n public addToAsyncList(list: Array<FunctionOperand>): void {}\n public isEqual(op: Operand): boolean {\n return !!op && op.getType() === this.getType() && this.isContentEqual(op);\n }\n protected abstract isContentEqual(op: Operand): boolean;\n protected areOperatorsEquals(op1: Operand, op2: Operand): boolean {\n return !op1 && !op2 || !!op1 && op1.isEqual(op2);\n }\n}\n\nexport class BinaryOperand extends Operand {\n private consumer: Function;\n private isArithmeticValue: boolean;\n constructor(\n private operatorName: string,\n private left: any = null,\n private right: any = null,\n isArithmeticOp: boolean = false\n ) {\n super();\n this.isArithmeticValue = isArithmeticOp;\n if (isArithmeticOp) {\n this.consumer = OperandMaker.binaryFunctions[\"arithmeticOp\"](\n operatorName\n );\n } else {\n this.consumer = OperandMaker.binaryFunctions[operatorName];\n }\n\n if (this.consumer == null) {\n OperandMaker.throwInvalidOperatorError(operatorName);\n }\n }\n private get requireStrictCompare(): boolean {\n return this.getIsOperandRequireStrict(this.left) ||\n this.getIsOperandRequireStrict(this.right);\n }\n private getIsOperandRequireStrict(op: any): boolean {\n return !!op && op.requireStrictCompare;\n }\n public getType(): string {\n return \"binary\";\n }\n public get isArithmetic(): boolean {\n return this.isArithmeticValue;\n }\n public get isConjunction(): boolean {\n return this.operatorName == \"or\" || this.operatorName == \"and\";\n }\n public get conjunction(): string {\n return this.isConjunction ? this.operatorName : \"\";\n }\n public get operator(): string {\n return this.operatorName;\n }\n public get leftOperand() {\n return this.left;\n }\n public get rightOperand() {\n return this.right;\n }\n protected isContentEqual(op: Operand): boolean {\n const bOp = <BinaryOperand>op;\n return bOp.operator === this.operator &&\n this.areOperatorsEquals(this.left, bOp.left) &&\n this.areOperatorsEquals(this.right, bOp.right);\n }\n private evaluateParam(x: any, processValue?: ProcessValue): any {\n return x == null ? null : x.evaluate(processValue);\n }\n\n public evaluate(processValue?: ProcessValue): any {\n return this.consumer.call(\n this,\n this.evaluateParam(this.left, processValue),\n this.evaluateParam(this.right, processValue),\n this.requireStrictCompare\n );\n }\n\n public toString(func: (op: Operand) => string = undefined): string {\n if (!!func) {\n var res = func(this);\n if (!!res) return res;\n }\n return (\n \"(\" +\n OperandMaker.safeToString(this.left, func) +\n \" \" +\n OperandMaker.operatorToString(this.operatorName) +\n \" \" +\n OperandMaker.safeToString(this.right, func) +\n \")\"\n );\n }\n\n public setVariables(variables: Array<string>) {\n if (this.left != null) this.left.setVariables(variables);\n if (this.right != null) this.right.setVariables(variables);\n }\n\n public hasFunction(): boolean {\n return (\n (!!this.left && this.left.hasFunction()) ||\n (!!this.right && this.right.hasFunction())\n );\n }\n public hasAsyncFunction(): boolean {\n return (\n (!!this.left && this.left.hasAsyncFunction()) ||\n (!!this.right && this.right.hasAsyncFunction())\n );\n }\n public addToAsyncList(list: Array<FunctionOperand>) {\n if (!!this.left) this.left.addToAsyncList(list);\n if (!!this.right) this.right.addToAsyncList(list);\n }\n}\n\nexport class UnaryOperand extends Operand {\n private consumer: Function;\n constructor(private expressionValue: Operand, private operatorName: string) {\n super();\n this.consumer = OperandMaker.unaryFunctions[operatorName];\n if (this.consumer == null) {\n OperandMaker.throwInvalidOperatorError(operatorName);\n }\n }\n public get operator(): string {\n return this.operatorName;\n }\n public get expression(): Operand {\n return this.expressionValue;\n }\n public getType(): string {\n return \"unary\";\n }\n public toString(func: (op: Operand) => string = undefined): string {\n if (!!func) {\n var res = func(this);\n if (!!res) return res;\n }\n return (\n OperandMaker.operatorToString(this.operatorName) +\n \" \" +\n this.expression.toString(func)\n );\n }\n protected isContentEqual(op: Operand): boolean {\n const uOp = <UnaryOperand>op;\n return uOp.operator == this.operator && this.areOperatorsEquals(this.expression, uOp.expression);\n }\n public evaluate(processValue?: ProcessValue): boolean {\n let value = this.expression.evaluate(processValue);\n return this.consumer.call(this, value);\n }\n\n public setVariables(variables: Array<string>) {\n this.expression.setVariables(variables);\n }\n}\n\nexport class ArrayOperand extends Operand {\n constructor(public values: Array<Operand>) {\n super();\n }\n public getType(): string {\n return \"array\";\n }\n public toString(func: (op: Operand) => string = undefined): string {\n if (!!func) {\n var res = func(this);\n if (!!res) return res;\n }\n return (\n \"[\" +\n this.values\n .map(function(el: Operand) {\n return el.toString(func);\n })\n .join(\", \") +\n \"]\"\n );\n }\n\n public evaluate(processValue?: ProcessValue): Array<any> {\n return this.values.map(function(el: Operand) {\n return el.evaluate(processValue);\n });\n }\n\n public setVariables(variables: Array<string>) {\n this.values.forEach((el) => {\n el.setVariables(variables);\n });\n }\n\n public hasFunction(): boolean {\n return this.values.some((operand) => operand.hasFunction());\n }\n public hasAsyncFunction(): boolean {\n return this.values.some((operand) => operand.hasAsyncFunction());\n }\n public addToAsyncList(list: Array<FunctionOperand>) {\n this.values.forEach((operand) => operand.addToAsyncList(list));\n }\n protected isContentEqual(op: Operand): boolean {\n const aOp = <ArrayOperand>op;\n if(aOp.values.length !== this.values.length) return false;\n for(var i = 0; i < this.values.length; i ++) {\n if(!aOp.values[i].isEqual(this.values[i])) return false;\n }\n return true;\n }\n}\n\nexport class Const extends Operand {\n constructor(private value: any) {\n super();\n }\n public getType(): string {\n return \"const\";\n }\n public toString(func: (op: Operand) => string = undefined): string {\n if (!!func) {\n var res = func(this);\n if (!!res) return res;\n }\n return this.value.toString();\n }\n public get correctValue(): any {\n return this.getCorrectValue(this.value);\n }\n public get requireStrictCompare(): boolean { return false; }\n public evaluate(): any {\n return this.getCorrectValue(this.value);\n }\n\n public setVariables(variables: Array<string>) {}\n protected getCorrectValue(value: any): any {\n if (!value || typeof value != \"string\") return value;\n if (this.isBooleanValue(value)) return value.toLowerCase() === \"true\";\n if (\n value.length > 1 &&\n this.isQuote(value[0]) &&\n this.isQuote(value[value.length - 1])\n )\n return value.substring(1, value.length - 1);\n if (OperandMaker.isNumeric(value)) {\n if (value.indexOf(\"0x\") == 0) return parseInt(value);\n if (value.length > 1 && value[0] == \"0\" && (value.length < 2 || (value[1] !== \".\" && value[1] !== \",\"))) return value;\n return parseFloat(value);\n }\n return value;\n }\n protected isContentEqual(op: Operand): boolean {\n const cOp = <Const>op;\n return cOp.value == this.value;\n }\n private isQuote(ch: string): boolean {\n return ch == \"'\" || ch == '\"';\n }\n private isBooleanValue(value: any): boolean {\n return (\n value &&\n (value.toLowerCase() === \"true\" || value.toLowerCase() === \"false\")\n );\n }\n}\n\nexport class Variable extends Const {\n public static get DisableConversionChar(): string { return settings.expressionDisableConversionChar; }\n public static set DisableConversionChar(val: string) { settings.expressionDisableConversionChar = val; }\n private valueInfo: any = {};\n private useValueAsItIs: boolean = false;\n constructor(private variableName: string) {\n super(variableName);\n if (\n !!this.variableName &&\n this.variableName.length > 1 &&\n this.variableName[0] === Variable.DisableConversionChar\n ) {\n this.variableName = this.variableName.substring(1);\n this.useValueAsItIs = true;\n }\n }\n public get requireStrictCompare(): boolean {\n return this.valueInfo.sctrictCompare === true;\n }\n public getType(): string {\n return \"variable\";\n }\n public toString(func: (op: Operand) => string = undefined): string {\n if (!!func) {\n var res = func(this);\n if (!!res) return res;\n }\n var prefix = this.useValueAsItIs ? Variable.DisableConversionChar : \"\";\n return \"{\" + prefix + this.variableName + \"}\";\n }\n public get variable(): string {\n return this.variableName;\n }\n public evaluate(processValue?: ProcessValue): any {\n this.valueInfo.name = this.variableName;\n processValue.getValueInfo(this.valueInfo);\n return this.valueInfo.hasValue\n ? this.getCorrectValue(this.valueInfo.value)\n : null;\n }\n public setVariables(variables: Array<string>) {\n variables.push(this.variableName);\n }\n protected getCorrectValue(value: any): any {\n if (this.useValueAsItIs) return value;\n return super.getCorrectValue(value);\n }\n protected isContentEqual(op: Operand): boolean {\n const vOp = <Variable>op;\n return vOp.variable == this.variable;\n }\n}\n\nexport class FunctionOperand extends Operand {\n private isReadyValue: boolean;\n private asynResult: any;\n public onAsyncReady: () => void;\n constructor(private originalValue: string, private parameters: ArrayOperand) {\n super();\n this.isReadyValue = false;\n if (Array.isArray(parameters) && parameters.length === 0) {\n this.parameters = new ArrayOperand([]);\n }\n }\n public getType(): string {\n return \"function\";\n }\n public evaluateAsync(processValue: ProcessValue) {\n this.isReadyValue = false;\n var asyncProcessValue = new ProcessValue();\n asyncProcessValue.values = Helpers.createCopy(processValue.values);\n asyncProcessValue.properties = Helpers.createCopy(processValue.properties);\n asyncProcessValue.properties.returnResult = (result: any) => {\n this.asynResult = result;\n this.isReadyValue = true;\n this.onAsyncReady();\n };\n this.evaluateCore(asyncProcessValue);\n }\n public evaluate(processValue?: ProcessValue): any {\n if (this.isReady) return this.asynResult;\n return this.evaluateCore(processValue);\n }\n private evaluateCore(processValue?: ProcessValue): any {\n return FunctionFactory.Instance.run(\n this.originalValue,\n this.parameters.evaluate(processValue),\n processValue.properties\n );\n }\n\n public toString(func: (op: Operand) => string = undefined) {\n if (!!func) {\n var res = func(this);\n if (!!res) return res;\n }\n return this.originalValue + \"(\" + this.parameters.toString(func) + \")\";\n }\n\n public setVariables(variables: Array<string>) {\n this.parameters.setVariables(variables);\n }\n public get isReady() {\n return this.isReadyValue;\n }\n public hasFunction(): boolean {\n return true;\n }\n public hasAsyncFunction(): boolean {\n return FunctionFactory.Instance.isAsyncFunction(this.originalValue);\n }\n public addToAsyncList(list: Array<FunctionOperand>) {\n if (this.hasAsyncFunction()) {\n list.push(this);\n }\n }\n protected isContentEqual(op: Operand): boolean {\n const fOp = <FunctionOperand>op;\n return fOp.originalValue == this.originalValue && this.areOperatorsEquals(fOp.parameters, this.parameters);\n }\n}\n\nexport class OperandMaker {\n static throwInvalidOperatorError(op: string) {\n throw new Error(\"Invalid operator: '\" + op + \"'\");\n }\n\n static safeToString(operand: Operand, func: (op: Operand) => string): string {\n return operand == null ? \"\" : operand.toString(func);\n }\n\n static toOperandString(value: string): string {\n if (\n !!value &&\n !OperandMaker.isNumeric(value) &&\n !OperandMaker.isBooleanValue(value)\n )\n value = \"'\" + value + \"'\";\n return value;\n }\n\n static isSpaceString(str: string): boolean {\n return !!str && !str.replace(\" \", \"\");\n }\n\n static isNumeric(value: string): boolean {\n if (\n !!value &&\n (value.indexOf(\"-\") > -1 ||\n value.indexOf(\"+\") > 1 ||\n value.indexOf(\"*\") > -1 ||\n value.indexOf(\"^\") > -1 ||\n value.indexOf(\"/\") > -1 ||\n value.indexOf(\"%\") > -1)\n )\n return false;\n if (OperandMaker.isSpaceString(value)) return false;\n return Helpers.isNumber(value);\n }\n\n static isBooleanValue(value: string): boolean {\n return (\n !!value &&\n (value.toLowerCase() === \"true\" || value.toLowerCase() === \"false\")\n );\n }\n static countDecimals(value: number): number {\n if (Helpers.isNumber(value) && Math.floor(value) !== value) {\n const strs = value.toString().split(\".\");\n return strs.length > 1 && strs[1].length || 0;\n }\n return 0;\n }\n static plusMinus(a: number, b: number, res: number): number {\n const digitsA = OperandMaker.countDecimals(a);\n const digitsB = OperandMaker.countDecimals(b);\n if(digitsA > 0 || digitsB > 0) {\n const digits = Math.max(digitsA, digitsB);\n res = parseFloat(res.toFixed(digits));\n }\n return res;\n }\n\nstatic unaryFunctions: HashTable<Function> = {\n empty: function(value: any): boolean {\n return Helpers.isValueEmpty(value);\n },\n notempty: function(value: any): boolean {\n return !OperandMaker.unaryFunctions.empty(value);\n },\n negate: function(value: boolean): boolean {\n return !value;\n },\n};\n\n static binaryFunctions: HashTable<Function> = {\n arithmeticOp(operatorName: string) {\n const convertForArithmeticOp = (val: any, second: any): any => {\n if (!Helpers.isValueEmpty(val)) return val;\n if(typeof second === \"number\") return 0;\n if(typeof val === \"string\") return val;\n if(typeof second === \"string\") return \"\";\n if(Array.isArray(second)) return [];\n return 0;\n };\n return function(a: any, b: any): any {\n a = convertForArithmeticOp(a, b);\n b = convertForArithmeticOp(b, a);\n let consumer = OperandMaker.binaryFunctions[operatorName];\n return consumer == null ? null : consumer.call(this, a, b);\n };\n },\n and: function(a: boolean, b: boolean): boolean {\n return a && b;\n },\n or: function(a: boolean, b: boolean): boolean {\n return a || b;\n },\n plus: function(a: any, b: any): any {\n return Helpers.sumAnyValues(a, b);\n },\n minus: function(a: number, b: number): number {\n return Helpers.correctAfterPlusMinis(a, b, a - b);\n },\n mul: function(a: number, b: number): number {\n return Helpers.correctAfterMultiple(a, b, a * b);\n },\n div: function(a: number, b: number): number {\n if (!b) return null;\n return a / b;\n },\n mod: function(a: number, b: number): number {\n if (!b) return null;\n return a % b;\n },\n power: function(a: number, b: number): number {\n return Math.pow(a, b);\n },\n greater: function(left: any, right: any): boolean {\n if (left == null || right == null) return false;\n left = OperandMaker.convertValForDateCompare(left, right);\n right = OperandMaker.convertValForDateCompare(right, left);\n return left > right;\n },\n less: function(left: any, right: any): boolean {\n if (left == null || right == null) return false;\n left = OperandMaker.convertValForDateCompare(left, right);\n right = OperandMaker.convertValForDateCompare(right, left);\n return left < right;\n },\n greaterorequal: function(left: any, right: any): boolean {\n if (OperandMaker.binaryFunctions.equal(left, right)) return true;\n return OperandMaker.binaryFunctions.greater(left, right);\n },\n lessorequal: function(left: any, right: any): boolean {\n if (OperandMaker.binaryFunctions.equal(left, right)) return true;\n return OperandMaker.binaryFunctions.less(left, right);\n },\n equal: function(left: any, right: any, strictCompare?: boolean): boolean {\n left = OperandMaker.convertValForDateCompare(left, right);\n right = OperandMaker.convertValForDateCompare(right, left);\n return OperandMaker.isTwoValueEquals(left, right, strictCompare !== true);\n },\n notequal: function(left: any, right: any): boolean {\n return !OperandMaker.binaryFunctions.equal(left, right);\n },\n contains: function(left: any, right: any): boolean {\n return OperandMaker.binaryFunctions.containsCore(left, right, true);\n },\n notcontains: function(left: any, right: any): boolean {\n if (!left && !Helpers.isValueEmpty(right)) return true;\n return OperandMaker.binaryFunctions.containsCore(left, right, false);\n },\n anyof: function(left: any, right: any): boolean {\n if (Helpers.isValueEmpty(left) && Helpers.isValueEmpty(right))\n return true;\n if (\n Helpers.isValueEmpty(left) ||\n (!Array.isArray(left) && left.length === 0)\n )\n return false;\n if (Helpers.isValueEmpty(right)) return true;\n if (!Array.isArray(left))\n return OperandMaker.binaryFunctions.contains(right, left);\n if (!Array.isArray(right))\n return OperandMaker.binaryFunctions.contains(left, right);\n for (var i = 0; i < right.length; i++) {\n if (OperandMaker.binaryFunctions.contains(left, right[i])) return true;\n }\n return false;\n },\n allof: function(left: any, right: any): boolean {\n if (!left && !Helpers.isValueEmpty(right)) return false;\n if (!Array.isArray(right))\n return OperandMaker.binaryFunctions.contains(left, right);\n for (var i = 0; i < right.length; i++) {\n if (!OperandMaker.binaryFunctions.contains(left, right[i]))\n return false;\n }\n return true;\n },\n containsCore: function(left: any, right: any, isContains: any): boolean {\n if (!left && left !== 0 && left !== false) return false;\n if (!left.length) {\n left = left.toString();\n if (typeof right === \"string\" || right instanceof String) {\n left = left.toUpperCase();\n right = right.toUpperCase();\n }\n }\n if (typeof left === \"string\" || left instanceof String) {\n if (!right) return false;\n right = right.toString();\n var found = left.indexOf(right) > -1;\n return isContains ? found : !found;\n }\n var rightArray = Array.isArray(right) ? right : [right];\n for (var rIndex = 0; rIndex < rightArray.length; rIndex++) {\n var i = 0;\n right = rightArray[rIndex];\n for (; i < left.length; i++) {\n if (OperandMaker.isTwoValueEquals(left[i], right)) break;\n }\n if (i == left.length) return !isContains;\n }\n return isContains;\n },\n };\n\n static isTwoValueEquals(x: any, y: any, ignoreOrder: boolean = true): boolean {\n if (x === \"undefined\") x = undefined;\n if (y === \"undefined\") y = undefined;\n return Helpers.isTwoValueEquals(x, y, ignoreOrder);\n }\n static operatorToString(operatorName: string): string {\n let opStr = OperandMaker.signs[operatorName];\n return opStr == null ? operatorName : opStr;\n }\n static convertValForDateCompare(val: any, second: any): any {\n if(second instanceof Date && typeof val === \"string\") {\n let res = new Date(val);\n res.setHours(0, 0, 0);\n return res;\n }\n return val;\n }\n static signs: HashTable<string> = {\n less: \"<\",\n lessorequal: \"<=\",\n greater: \">\",\n greaterorequal: \">=\",\n equal: \"==\",\n notequal: \"!=\",\n plus: \"+\",\n minus: \"-\",\n mul: \"*\",\n div: \"/\",\n and: \"and\",\n or: \"or\",\n power: \"^\",\n mod: \"%\",\n negate: \"!\",\n };\n}","import { HashTable, Helpers } from \"./helpers\";\nimport { settings } from \"./settings\";\nimport { ConsoleWarnings } from \"./console-warnings\";\n\nexport class FunctionFactory {\n public static Instance: FunctionFactory = new FunctionFactory();\n private functionHash: HashTable<(params: any[]) => any> = {};\n private isAsyncHash: HashTable<boolean> = {};\n\n public register(\n name: string,\n func: (params: any[]) => any,\n isAsync: boolean = false\n ): void {\n this.functionHash[name] = func;\n if (isAsync) this.isAsyncHash[name] = true;\n }\n public unregister(name: string): void {\n delete this.functionHash[name];\n delete this.isAsyncHash[name];\n }\n public hasFunction(name: string): boolean {\n return !!this.functionHash[name];\n }\n public isAsyncFunction(name: string): boolean {\n return !!this.isAsyncHash[name];\n }\n\n public clear(): void {\n this.functionHash = {};\n }\n public getAll(): Array<string> {\n var result = [];\n for (var key in this.functionHash) {\n result.push(key);\n }\n return result.sort();\n }\n public run(\n name: string,\n params: any[],\n properties: HashTable<any> = null\n ): any {\n var func = this.functionHash[name];\n if (!func) {\n ConsoleWarnings.warn(\"Unknown function name: \" + name);\n return null;\n }\n let classRunner = {\n func: func,\n };\n\n if (properties) {\n for (var key in properties) {\n (<any>classRunner)[key] = properties[key];\n }\n }\n return classRunner.func(params);\n }\n}\n\nexport var registerFunction = FunctionFactory.Instance.register;\n\nfunction getParamsAsArray(value: any, arr: any[]) {\n if (value === undefined || value === null) return;\n if (Array.isArray(value)) {\n for (var i = 0; i < value.length; i++) {\n getParamsAsArray(value[i], arr);\n }\n } else {\n if (Helpers.isNumber(value)) {\n value = Helpers.getNumber(value);\n }\n arr.push(value);\n }\n}\n\nfunction sum(params: any[]): any {\n var arr: any[] = [];\n getParamsAsArray(params, arr);\n var res = 0;\n for (var i = 0; i < arr.length; i++) {\n res = Helpers.correctAfterPlusMinis(res, arr[i], res + arr[i]);\n }\n return res;\n}\nFunctionFactory.Instance.register(\"sum\", sum);\n\nfunction min_max(params: any[], isMin: boolean): any {\n var arr: any[] = [];\n getParamsAsArray(params, arr);\n var res = undefined;\n for (var i = 0; i < arr.length; i++) {\n if (res === undefined) {\n res = arr[i];\n }\n if (isMin) {\n if (res > arr[i]) res = arr[i];\n } else {\n if (res < arr[i]) res = arr[i];\n }\n }\n return res;\n}\n\nfunction min(params: any[]): any {\n return min_max(params, true);\n}\nFunctionFactory.Instance.register(\"min\", min);\n\nfunction max(params: any[]): any {\n return min_max(params, false);\n}\nFunctionFactory.Instance.register(\"max\", max);\n\nfunction count(params: any[]): any {\n var arr: any[] = [];\n getParamsAsArray(params, arr);\n return arr.length;\n}\nFunctionFactory.Instance.register(\"count\", count);\n\nfunction avg(params: any[]): any {\n var arr: any[] = [];\n getParamsAsArray(params, arr);\n const res = sum(params);\n return arr.length > 0 ? res / arr.length : 0;\n}\nFunctionFactory.Instance.register(\"avg\", avg);\n\nfunction getInArrayParams(params: any[]): any {\n if (params.length != 2) return null;\n var arr = params[0];\n if (!arr) return null;\n if (!Array.isArray(arr) && !Array.isArray(Object.keys(arr))) return null;\n var name = params[1];\n if (typeof name !== \"string\" && !(name instanceof String)) return null;\n return { data: arr, name: name };\n}\n\nfunction convertToNumber(val: any): number {\n if(typeof val === \"string\") return Helpers.isNumber(val) ? Helpers.getNumber(val) : undefined;\n return val;\n}\nfunction processItemInArray(item: any, name: string, res: number,\n func: (res: number, val: number) => number, needToConvert: boolean): number {\n if(!item || Helpers.isValueEmpty(item[name])) return res;\n const val = needToConvert ? convertToNumber(item[name]) : 1;\n return func(res, val);\n}\nfunction calcInArray(\n params: any[],\n func: (res: number, val: number) => number, needToConvert: boolean = true\n): any {\n var v = getInArrayParams(params);\n if (!v) return undefined;\n var res = undefined;\n if (Array.isArray(v.data)) {\n for (var i = 0; i < v.data.length; i++) {\n res = processItemInArray(v.data[i], v.name, res, func, needToConvert);\n }\n } else {\n for (var key in v.data) {\n res = processItemInArray(v.data[key], v.name, res, func, needToConvert);\n }\n }\n return res;\n}\n\nfunction sumInArray(params: any[]): any {\n var res = calcInArray(params, function(res: number, val: number): number {\n if (res == undefined) res = 0;\n if(val == undefined || val == null) return res;\n return Helpers.correctAfterPlusMinis(res, val, res + val);\n });\n return res !== undefined ? res : 0;\n}\nFunctionFactory.Instance.register(\"sumInArray\", sumInArray);\n\nfunction minInArray(params: any[]): any {\n return calcInArray(params, function(res: number, val: number): number {\n if (res == undefined) return val;\n if(val == undefined || val == null) return res;\n return res < val ? res : val;\n });\n}\nFunctionFactory.Instance.register(\"minInArray\", minInArray);\n\nfunction maxInArray(params: any[]): any {\n return calcInArray(params, function(res: number, val: number): number {\n if (res == undefined) return val;\n if(val == undefined || val == null) return res;\n return res > val ? res : val;\n });\n}\nFunctionFactory.Instance.register(\"maxInArray\", maxInArray);\n\nfunction countInArray(params: any[]): any {\n var res = calcInArray(params, function(res: number, val: number): number {\n if (res == undefined) res = 0;\n if(val == undefined || val == null) return res;\n return res + 1;\n }, false);\n return res !== undefined ? res : 0;\n}\nFunctionFactory.Instance.register(\"countInArray\", countInArray);\n\nfunction avgInArray(params: any[]): any {\n var count = countInArray(params);\n if (count == 0) return 0;\n return sumInArray(params) / count;\n}\nFunctionFactory.Instance.register(\"avgInArray\", avgInArray);\n\nfunction iif(params: any[]): any {\n if (!params && params.length !== 3) return \"\";\n return params[0] ? params[1] : params[2];\n}\nFunctionFactory.Instance.register(\"iif\", iif);\n\nfunction getDate(params: any[]): any {\n if (!params && params.length < 1) return null;\n if (!params[0]) return null;\n return new Date(params[0]);\n}\nFunctionFactory.Instance.register(\"getDate\", getDate);\n\nfunction age(params: any[]): any {\n if (!params && params.length < 1) return null;\n if (!params[0]) return null;\n var birthDate = new Date(params[0]);\n var today = new Date();\n var age = today.getFullYear() - birthDate.getFullYear();\n var m = today.getMonth() - birthDate.getMonth();\n if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {\n age -= age > 0 ? 1 : 0;\n }\n return age;\n}\nFunctionFactory.Instance.register(\"age\", age);\n\nfunction isContainerReadyCore(container: any): boolean {\n if (!container) return false;\n var questions = container.questions;\n for (var i = 0; i < questions.length; i++) {\n if (!questions[i].validate(false)) return false;\n }\n return true;\n}\nfunction isContainerReady(params: any[]): any {\n if (!params && params.length < 1) return false;\n if (!params[0] || !this.survey) return false;\n const name = params[0];\n let container = this.survey.getPageByName(name);\n if (!container) container = this.survey.getPanelByName(name);\n if(!container) {\n const question = this.survey.getQuestionByName(name);\n if(!question || !Array.isArray(question.panels)) return false;\n if(params.length > 1) {\n if(params[1] < question.panels.length) {\n container = question.panels[params[1]];\n }\n } else {\n for(let i = 0; i < question.panels.length; i ++) {\n if(!isContainerReadyCore(question.panels[i])) return false;\n }\n return true;\n }\n }\n return isContainerReadyCore(container);\n}\nFunctionFactory.Instance.register(\"isContainerReady\", isContainerReady);\n\nfunction isDisplayMode() {\n return this.survey && this.survey.isDisplayMode;\n}\nFunctionFactory.Instance.register(\"isDisplayMode\", isDisplayMode);\n\nfunction currentDate() {\n return new Date();\n}\nFunctionFactory.Instance.register(\"currentDate\", currentDate);\n\nfunction today(params: any[]) {\n var res = new Date();\n if(settings.localization.useLocalTimeZone) {\n res.setHours(0, 0, 0, 0);\n } else {\n res.setUTCHours(0, 0, 0, 0);\n }\n if (Array.isArray(params) && params.length == 1) {\n res.setDate(res.getDate() + params[0]);\n }\n return res;\n}\nFunctionFactory.Instance.register(\"today\", today);\n\nfunction getYear(params: any[]) {\n if(params.length !== 1 || !params[0]) return undefined;\n return new Date(params[0]).getFullYear();\n}\nFunctionFactory.Instance.register(\"getYear\", getYear);\n\nfunction currentYear() {\n return new Date().getFullYear();\n}\nFunctionFactory.Instance.register(\"currentYear\", currentYear);\n\nfunction diffDays(params: any[]) {\n if (!Array.isArray(params) || params.length !== 2) return 0;\n if (!params[0] || !params[1]) return 0;\n const date1: any = new Date(params[0]);\n const date2: any = new Date(params[1]);\n const diffTime = Math.abs(date2 - date1);\n return Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n}\nFunctionFactory.Instance.register(\"diffDays\", diffDays);\n\nfunction dateFromFirstParameterOrToday(params: any[]) {\n let date = today(undefined);\n if (params && params[0]) {\n date = new Date(params[0]);\n }\n return date;\n}\n\nfunction year(params: any[]): any {\n let date = dateFromFirstParameterOrToday(params);\n return date.getFullYear();\n}\nFunctionFactory.Instance.register(\"year\", year);\n\nfunction month(params: any[]): any {\n let date = dateFromFirstParameterOrToday(params);\n return date.getMonth() + 1;\n}\nFunctionFactory.Instance.register(\"month\", month);\n\nfunction day(params: any[]): any {\n let date = dateFromFirstParameterOrToday(params);\n return date.getDate();\n}\nFunctionFactory.Instance.register(\"day\", day);\n\nfunction weekday(params: any[]): any {\n let date = dateFromFirstParameterOrToday(params);\n return date.getDay();\n}\nFunctionFactory.Instance.register(\"weekday\", weekday);\n\nfunction getQuestionValueByContext(context: any, name: string): any {\n if(!context || !name) return undefined;\n const keys = [\"row\", \"panel\", \"survey\"];\n for(let i = 0; i < keys.length; i ++) {\n const ctx = context[keys[i]];\n if(ctx && ctx.getQuestionByName) {\n const res = ctx.getQuestionByName(name);\n if(res) return res;\n }\n }\n return null;\n}\nfunction displayValue(params: any[]): any {\n const q = getQuestionValueByContext(this, params[0]);\n return q ? q.displayValue : \"\";\n}\nFunctionFactory.Instance.register(\"displayValue\", displayValue);\n\nfunction propertyValue(params: any[]): any {\n if(params.length !== 2 || !params[0] || !params[1]) return undefined;\n const q = getQuestionValueByContext(this, params[0]);\n return q ? q[params[1]] : undefined;\n}\nFunctionFactory.Instance.register(\"propertyValue\", propertyValue);","import { settings } from \"./settings\";\n\nexport interface HashTable<T = any> {\n [key: string]: T;\n}\n\nexport class Helpers {\n /**\n * A static methods that returns true if a value undefined, null, empty string or empty array.\n * @param value\n */\n public static isValueEmpty(value: any) {\n if (Array.isArray(value) && value.length === 0) return true;\n if (!!value && Helpers.isValueObject(value) && value.constructor === Object) {\n for (var key in value) {\n if (!Helpers.isValueEmpty(value[key])) return false;\n }\n return true;\n }\n return !value && value !== 0 && value !== false;\n }\n public static isArrayContainsEqual(x: any, y: any): boolean {\n if (!Array.isArray(x) || !Array.isArray(y)) return false;\n if (x.length !== y.length) return false;\n for (var i = 0; i < x.length; i++) {\n var j = 0;\n for (; j < y.length; j++) {\n if (Helpers.isTwoValueEquals(x[i], y[j])) break;\n }\n if (j === y.length) return false;\n }\n return true;\n }\n public static isArraysEqual(\n x: any,\n y: any,\n ignoreOrder: boolean = false,\n caseSensitive?: boolean,\n trimStrings? : boolean\n ): boolean {\n if (!Array.isArray(x) || !Array.isArray(y)) return false;\n if (x.length !== y.length) return false;\n if (ignoreOrder) {\n var xSorted = [];\n var ySorted = [];\n for (var i = 0; i < x.length; i++) {\n xSorted.push(x[i]);\n ySorted.push(y[i]);\n }\n xSorted.sort();\n ySorted.sort();\n x = xSorted;\n y = ySorted;\n }\n for (var i = 0; i < x.length; i++) {\n if (!Helpers.isTwoValueEquals(x[i], y[i], ignoreOrder, caseSensitive, trimStrings)) return false;\n }\n return true;\n }\n public static compareStrings(x: string, y: string): number {\n const normalize = settings.comparator.normalizeTextCallback;\n if(!!x) x = normalize(x, \"compare\").trim();\n if(!!y) y = normalize(y, \"compare\").trim();\n if(!x && !y) return 0;\n if(!x) return -1;\n if(!y) return 1;\n if(x === y) return 0;\n let digitIndex = -1;\n for(let i = 0; i < x.length && i < y.length; i ++) {\n if(this.isCharDigit(x[i]) && this.isCharDigit(y[i])) {\n digitIndex = i;\n break;\n }\n if(x[i] !== y[i]) break;\n }\n if(digitIndex > -1) {\n let nX = this.getNumberFromStr(x, digitIndex);\n let nY = this.getNumberFromStr(y, digitIndex);\n if(!Number.isNaN(nX) && !Number.isNaN(nY) && nX !== nY) {\n return nX > nY ? 1 : -1;\n }\n }\n return x > y ? 1 : -1;\n }\n public static isTwoValueEquals(\n x: any,\n y: any,\n ignoreOrder: boolean = false,\n caseSensitive?: boolean,\n trimStrings? : boolean\n ): boolean {\n if (x === y) return true;\n\n if (Array.isArray(x) && x.length === 0 && typeof y === \"undefined\")\n return true;\n if (Array.isArray(y) && y.length === 0 && typeof x === \"undefined\")\n return true;\n if ((x === undefined || x === null) && y === \"\") return true;\n if ((y === undefined || y === null) && x === \"\") return true;\n if(trimStrings === undefined) trimStrings = settings.comparator.trimStrings;\n if(caseSensitive === undefined) caseSensitive = settings.comparator.caseSensitive;\n\n if(typeof x === \"string\" && typeof y === \"string\") {\n const normalize = settings.comparator.normalizeTextCallback;\n x = normalize(x, \"compare\");\n y = normalize(y, \"compare\");\n if(trimStrings) {\n x = x.trim();\n y = y.trim();\n }\n if(!caseSensitive) {\n x = x.toLowerCase();\n y = y.toLowerCase();\n }\n return x === y;\n }\n if(x instanceof Date && y instanceof Date) return x.getTime() == y.getTime();\n\n if (Helpers.isConvertibleToNumber(x) && Helpers.isConvertibleToNumber(y)) {\n if (parseInt(x) === parseInt(y) && parseFloat(x) === parseFloat(y)) {\n return true;\n }\n }\n\n if (\n (!Helpers.isValueEmpty(x) && Helpers.isValueEmpty(y)) ||\n (Helpers.isValueEmpty(x) && !Helpers.isValueEmpty(y))\n )\n return false;\n if ((x === true || x === false) && typeof y == \"string\") {\n return x.toString() === y.toLocaleLowerCase();\n }\n if ((y === true || y === false) && typeof x == \"string\") {\n return y.toString() === x.toLocaleLowerCase();\n }\n if (!Helpers.isValueObject(x) && !Helpers.isValueObject(y)) return x == y;\n if (!Helpers.isValueObject(x) || !Helpers.isValueObject(y)) return false;\n if (x[\"equals\"]) return x.equals(y);\n if (!!x.toJSON && !!y.toJSON && !!x.getType && !!y.getType) {\n if (x.isDiposed || y.isDiposed) return false;\n if (x.getType() !== y.getType()) return false;\n if (!!x.name && x.name !== y.name) return false;\n return this.isTwoValueEquals(x.toJSON(), y.toJSON(), ignoreOrder, caseSensitive, trimStrings);\n }\n if (Array.isArray(x) && Array.isArray(y))\n return Helpers.isArraysEqual(x, y, ignoreOrder, caseSensitive, trimStrings);\n if(!!x.equalsTo && y.equalsTo) return x.equalsTo(y);\n\n for (var p in x) {\n if (!x.hasOwnProperty(p)) continue;\n if (!y.hasOwnProperty(p)) return false;\n if (!this.isTwoValueEquals(x[p], y[p], ignoreOrder, caseSensitive, trimStrings)) return false;\n }\n for (p in y) {\n if (y.hasOwnProperty(p) && !x.hasOwnProperty(p)) return false;\n }\n return true;\n }\n public static randomizeArray<T>(array: Array<T>): Array<T> {\n for (var i = array.length - 1; i > 0; i--) {\n var j = Math.floor(Math.random() * (i + 1));\n var temp = array[i];\n array[i] = array[j];\n array[j] = temp;\n }\n return array;\n }\n public static getUnbindValue(value: any): any {\n if(Array.isArray(value)) {\n const res = [];\n for(let i = 0; i < value.length; i ++) {\n res.push(Helpers.getUnbindValue(value[i]));\n }\n return res;\n }\n if (!!value && Helpers.isValueObject(value) && !(value instanceof Date)) {\n return JSON.parse(JSON.stringify(value));\n }\n return value;\n }\n public static createCopy(obj: any): any {\n var res: any = {};\n if (!obj) return res;\n for (var key in obj) {\n res[key] = obj[key];\n }\n return res;\n }\n public static isConvertibleToNumber(value: any): boolean {\n return (\n value !== undefined &&\n value !== null &&\n !Array.isArray(value) &&\n !isNaN(value)\n );\n }\n public static isValueObject(val: any, excludeArray?: boolean): boolean {\n return val instanceof Object && (!excludeArray || !Array.isArray(val));\n }\n public static isNumber(value: any): boolean {\n return !isNaN(this.getNumber(value));\n }\n public static getNumber(value: any): number {\n if (\n typeof value == \"string\" &&\n !!value &&\n value.indexOf(\"0x\") == 0 &&\n value.length > 32\n )\n return NaN;\n value = this.prepareStringToNumber(value);\n const res = parseFloat(value);\n if(isNaN(res) || !isFinite(value)) return NaN;\n return res;\n }\n private static prepareStringToNumber(val: any): any {\n if(typeof val !== \"string\" || !val) return val;\n let i = val.indexOf(\",\");\n if(i > -1 && val.indexOf(\",\", i + 1) < 0) {\n return val.replace(\",\", \".\");\n }\n return val;\n }\n public static getMaxLength(maxLength: number, surveyLength: number): any {\n if (maxLength < 0) {\n maxLength = surveyLength;\n }\n return maxLength > 0 ? maxLength : null;\n }\n public static getRemainingCharacterCounterText(newValue: string | undefined, maxLength: number | null): string {\n if(!maxLength || maxLength <= 0 || !settings.showMaxLengthIndicator) {\n return \"\";\n }\n const value = newValue ? newValue.length : \"0\";\n return [value, maxLength].join(\"/\");\n }\n public static getNumberByIndex(index: number, startIndexStr: string): string {\n if (index < 0) return \"\";\n var startIndex = 1;\n var prefix = \"\";\n var postfix = \".\";\n var isNumeric = true;\n var strIndex = \"A\";\n var str = \"\";\n if (!!startIndexStr) {\n str = startIndexStr;\n var ind = str.length - 1;\n var hasDigit = false;\n for (var i = 0; i < str.length; i++) {\n if (Helpers.isCharDigit(str[i])) {\n hasDigit = true;\n break;\n }\n }\n var checkLetter = function() {\n return (\n (hasDigit && !Helpers.isCharDigit(str[ind])) ||\n Helpers.isCharNotLetterAndDigit(str[ind])\n );\n };\n while (ind >= 0 && checkLetter()) ind--;\n var newPostfix = \"\";\n if (ind < str.length - 1) {\n newPostfix = str.substring(ind + 1);\n str = str.substring(0, ind + 1);\n }\n ind = str.length - 1;\n while (ind >= 0) {\n if (checkLetter()) break;\n ind--;\n if (!hasDigit) break;\n }\n strIndex = str.substring(ind + 1);\n prefix = str.substring(0, ind + 1);\n if (parseInt(strIndex)) startIndex = parseInt(strIndex);\n else if (strIndex.length == 1) isNumeric = false;\n if (!!newPostfix || !!prefix) {\n postfix = newPostfix;\n }\n }\n if (isNumeric) {\n let val = (index + startIndex).toString();\n while(val.length < strIndex.length) val = \"0\" + val;\n return prefix + val + postfix;\n }\n return (\n prefix + String.fromCharCode(strIndex.charCodeAt(0) + index) + postfix\n );\n }\n public static isCharNotLetterAndDigit(ch: string): boolean {\n return ch.toUpperCase() == ch.toLowerCase() && !Helpers.isCharDigit(ch);\n }\n public static isCharDigit(ch: string): boolean {\n return ch >= \"0\" && ch <= \"9\";\n }\n private static getNumberFromStr(str: string, index: number): number {\n if(!this.isCharDigit(str[index])) return NaN;\n let nStr = \"\";\n while(index < str.length && this.isCharDigit(str[index])) {\n nStr += str[index];\n index ++;\n }\n if(!nStr) return NaN;\n return this.getNumber(nStr);\n }\n private static countDecimals(value: number): number {\n if (Helpers.isNumber(value) && Math.floor(value) !== value) {\n const strs = value.toString().split(\".\");\n return strs.length > 1 && strs[1].length || 0;\n }\n return 0;\n }\n public static correctAfterPlusMinis(a: number, b: number, res: number): number {\n const digitsA = Helpers.countDecimals(a);\n const digitsB = Helpers.countDecimals(b);\n if(digitsA > 0 || digitsB > 0) {\n const digits = Math.max(digitsA, digitsB);\n res = parseFloat(res.toFixed(digits));\n }\n return res;\n }\n public static sumAnyValues(a: any, b: any): any {\n if (!Helpers.isNumber(a) || !Helpers.isNumber(b)) {\n if(Array.isArray(a) && Array.isArray(b))\n return [].concat(a).concat(b);\n if(Array.isArray(a) || Array.isArray(b)) {\n const arr = Array.isArray(a) ? a : b;\n const val = arr === a ? b : a;\n if(typeof val === \"string\") {\n const str = arr.join(\", \");\n return arr === a ? str + val : val + str;\n }\n if(typeof val === \"number\") {\n let res = 0;\n for(var i = 0; i < arr.length; i ++) {\n if(typeof arr[i] === \"number\") {\n res = Helpers.correctAfterPlusMinis(res, arr[i], res + arr[i]);\n }\n }\n return Helpers.correctAfterPlusMinis(res, val, res + val);\n }\n }\n return a + b;\n }\n if(typeof a === \"string\" || typeof b === \"string\") return a + b;\n return Helpers.correctAfterPlusMinis(a, b, a + b);\n }\n public static correctAfterMultiple(a: number, b: number, res: number): number {\n const digits = Helpers.countDecimals(a) + Helpers.countDecimals(b);\n if(digits > 0) {\n res = parseFloat(res.toFixed(digits));\n }\n return res;\n }\n public static convertArrayValueToObject(src: Array<any>, propName: string, dest: Array<any> = undefined): Array<any> {\n const res = new Array<any>();\n if(!src || !Array.isArray(src)) return res;\n for(var i = 0; i < src.length; i ++) {\n let item: any;\n if(Array.isArray(dest)) {\n item = Helpers.findObjByPropValue(dest, propName, src[i]);\n }\n if(!item) {\n item = {};\n item[propName] = src[i];\n }\n res.push(item);\n }\n return res;\n }\n private static findObjByPropValue(arr: Array<any>, propName: string, val: any): any {\n for(var i = 0; i < arr.length; i ++) {\n if(Helpers.isTwoValueEquals(arr[i][propName], val)) return arr[i];\n }\n return undefined;\n }\n public static convertArrayObjectToValue(src: Array<any>, propName: string): Array<any> {\n const res = new Array<any>();\n if(!src || !Array.isArray(src)) return res;\n for(var i = 0; i < src.length; i ++) {\n const itemVal = !!src[i] ? src[i][propName] : undefined;\n if(!Helpers.isValueEmpty(itemVal)) res.push(itemVal);\n }\n return res;\n }\n public static convertDateToString(date: Date): string {\n const toStr = (val: number): string => {\n if(val < 10) return \"0\" + val.toString();\n return val.toString();\n };\n return date.getFullYear() + \"-\" + toStr(date.getMonth() + 1) + \"-\" + toStr(date.getDate());\n }\n public static convertDateTimeToString(date: Date): string {\n const toStr = (val: number): string => {\n if(val < 10) return \"0\" + val.toString();\n return val.toString();\n };\n return this.convertDateToString(date) + \" \" + toStr(date.getHours()) + \":\" + toStr(date.getMinutes());\n }\n public static convertValToQuestionVal(val: any, inputType?: string): any {\n if (val instanceof Date) {\n if(inputType === \"datetime-local\") return Helpers.convertDateTimeToString(val);\n return Helpers.convertDateToString(val);\n }\n return val;\n }\n}\nif (!(<any>String.prototype)[\"format\"]) {\n (<any>String.prototype)[\"format\"] = function() {\n var args = arguments;\n return this.replace(/{(\\d+)}/g, function(match: any, number: any) {\n return typeof args[number] != \"undefined\" ? args[number] : match;\n });\n };\n}\n","import { surveyLocalization } from \"./surveyStrings\";\nimport { Base, ComputedUpdater } from \"./base\";\nimport { Helpers, HashTable } from \"./helpers\";\n\nexport interface IPropertyDecoratorOptions<T = any> {\n defaultValue?: T;\n defaultSource?: string;\n getDefaultValue?: (objectInstance?: any) => T;\n localizable?:\n | { name?: string, onGetTextCallback?: (str: string) => string, defaultStr?: string }\n | boolean;\n onSet?: (val: T, objectInstance: any) => void;\n}\n\nfunction ensureLocString(\n target: any,\n options: IPropertyDecoratorOptions,\n key: string\n) {\n let locString = target.getLocalizableString(key);\n if (!locString) {\n locString = target.createLocalizableString(key, target, true);\n if (\n typeof options.localizable === \"object\" &&\n typeof options.localizable.onGetTextCallback === \"function\"\n ) {\n locString.onGetTextCallback = options.localizable.onGetTextCallback;\n }\n }\n}\nfunction getLocStringValue(\n target: any,\n options: IPropertyDecoratorOptions,\n key: string\n) {\n ensureLocString(target, options, key);\n let res = target.getLocalizableStringText(key);\n if (!!res) return res;\n if (typeof options.localizable === \"object\" && options.localizable.defaultStr) {\n const loc = !!target.getLocale ? target.getLocale() : \"\";\n return surveyLocalization.getString(options.localizable.defaultStr, loc);\n }\n return \"\";\n}\n\nexport function property(options: IPropertyDecoratorOptions = {}) {\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n return function (target: any, key: string): void {\n let processComputedUpdater = (obj: any, val: any) => {\n if (!!val && typeof val === \"object\" && val.type === ComputedUpdater.ComputedUpdaterType) {\n Base.startCollectDependencies(() => obj[key] = val.updater(), obj, key);\n const result = val.updater();\n const dependencies = Base.finishCollectDependencies();\n val.setDependencies(dependencies);\n if(obj.dependencies[key]) {\n obj.dependencies[key].dispose();\n }\n obj.dependencies[key] = val;\n return result;\n }\n return val;\n };\n if (!options || !options.localizable) {\n Object.defineProperty(target, key, {\n get: function () {\n let defaultVal = null;\n if (!!options) {\n if (typeof options.getDefaultValue === \"function\") {\n defaultVal = options.getDefaultValue(this);\n }\n if (options.defaultValue !== undefined) {\n defaultVal = options.defaultValue;\n }\n }\n return this.getPropertyValue(key, defaultVal);\n },\n set: function (val: any) {\n const newValue = processComputedUpdater(this, val);\n this.setPropertyValue(key, newValue);\n if (!!options && options.onSet) {\n options.onSet(newValue, this);\n }\n },\n });\n } else {\n Object.defineProperty(target, key, {\n get: function () {\n return getLocStringValue(this, options, key);\n },\n set: function (val: any) {\n ensureLocString(this, options, key);\n const newValue = processComputedUpdater(this, val);\n this.setLocalizableStringText(key, newValue);\n if (!!options && options.onSet) {\n options.onSet(newValue, this);\n }\n },\n });\n Object.defineProperty(\n target,\n typeof options.localizable === \"object\" && !!options.localizable.name ?\n options.localizable.name : \"loc\" + key.charAt(0).toUpperCase() + key.slice(1),\n {\n get: function () {\n ensureLocString(this, options, key);\n return this.getLocalizableString(key);\n },\n }\n );\n }\n };\n}\n\nexport interface IArrayPropertyDecoratorOptions {\n onPush?: any;\n onRemove?: any;\n onSet?: (val: any, target: any) => void;\n}\n\nfunction ensureArray(\n target: any,\n options: IArrayPropertyDecoratorOptions,\n key: string\n) {\n target.ensureArray(\n key,\n (item: any, index: number) => {\n const handler = !!options ? options.onPush : null;\n handler && handler(item, index, target);\n },\n (item: any, index: number) => {\n const handler = !!options ? options.onRemove : null;\n handler && handler(item, index, target);\n },\n );\n}\n\nexport function propertyArray(options?: IArrayPropertyDecoratorOptions) {\n return function (target: any, key: string) {\n Object.defineProperty(target, key, {\n get: function () {\n ensureArray(this, options, key);\n return this.getPropertyValue(key);\n },\n set: function (val: any) {\n ensureArray(this, options, key);\n const arr = this.getPropertyValue(key);\n if (val === arr) {\n return;\n }\n if (arr) {\n arr.splice(0, arr.length, ...(val || []));\n } else {\n this.setPropertyValue(key, val);\n }\n if (!!options && options.onSet) {\n options.onSet(val, this);\n }\n },\n });\n };\n}\n\nexport interface IObject {\n [key: string]: any;\n}\n\n/**\n * Contains information about a property of a survey element (page, panel, questions, and etc).\n * @see addProperty\n * @see removeProperty\n * @see [Add Properties](https://surveyjs.io/Documentation/Survey-Creator#addproperties)\n * @see [Remove Properties](https://surveyjs.io/Documentation/Survey-Creator#removeproperties)\n */\nexport class JsonObjectProperty implements IObject {\n public static getItemValuesDefaultValue: (val: any, type: string) => any;\n [key: string]: any;\n private static Index = 1;\n private static mergableValues = [\n \"typeValue\",\n \"choicesValue\",\n \"baseValue\",\n \"readOnlyValue\",\n \"visibleValue\",\n \"isSerializable\",\n \"isLightSerializable\",\n \"isCustom\",\n \"isBindable\",\n \"isUnique\",\n \"uniquePropertyName\",\n \"isDynamicChoices\",\n \"isLocalizableValue\",\n \"className\",\n \"alternativeName\",\n \"layout\",\n \"classNamePart\",\n \"baseClassName\",\n \"defaultValue\",\n \"defaultValueFunc\",\n \"serializationProperty\",\n \"onGetValue\",\n \"onSetValue\",\n \"onSettingValue\",\n \"displayName\",\n \"category\",\n \"categoryIndex\",\n \"visibleIndex\",\n \"nextToProperty\",\n \"overridingProperty\",\n \"showMode\",\n \"dependedProperties\",\n \"visibleIf\",\n \"onExecuteExpression\",\n \"onPropertyEditorUpdate\",\n \"maxLength\",\n \"maxValue\",\n \"minValue\",\n \"dataListValue\",\n ];\n private idValue: number;\n private classInfoValue: JsonMetadataClass;\n private typeValue: string;\n private choicesValue: Array<any>;\n private baseValue: any;\n private isRequiredValue: boolean = false;\n private isUniqueValue: boolean = false;\n private uniquePropertyValue: string\n private readOnlyValue: boolean | null;\n private visibleValue: boolean | null;\n private isLocalizableValue: boolean | null;\n private choicesfunc: (obj: any, choicesCallback: any) => Array<any>;\n private dependedProperties: Array<string>;\n public isSerializable: boolean = true;\n public isLightSerializable: boolean = true;\n public isCustom: boolean = false;\n public isDynamicChoices: boolean = false; //TODO obsolete, use dependsOn attribute\n public isBindable: boolean = false;\n public className: string;\n public alternativeName: string;\n public classNamePart: string;\n public baseClassName: string;\n public defaultValueValue: any;\n public defaultValueFunc: () => any;\n public serializationProperty: string;\n public displayName: string;\n public category: string = \"\";\n public categoryIndex: number = -1;\n public visibleIndex: number = -1;\n public nextToProperty: string;\n public overridingProperty: string;\n public showMode: string;\n public maxLength: number = -1;\n public maxValue: any;\n public minValue: any;\n private dataListValue: Array<string>;\n public layout: string;\n public onGetValue: (obj: any) => any;\n public onSettingValue: (obj: any, value: any) => any;\n public onSetValue: (obj: any, value: any, jsonConv: JsonObject) => any;\n public visibleIf: (obj: any) => boolean;\n public onExecuteExpression: (obj: any, res: any) => any;\n public onPropertyEditorUpdate: (obj: any, propEditor: any) => any;\n\n constructor(\n classInfo: JsonMetadataClass,\n public name: string,\n isRequired: boolean = false\n ) {\n this.classInfoValue = classInfo;\n this.isRequiredValue = isRequired;\n this.idValue = JsonObjectProperty.Index++;\n }\n public get id(): number {\n return this.idValue;\n }\n public get classInfo(): JsonMetadataClass {\n return this.classInfoValue;\n }\n public get type(): string {\n return this.typeValue ? this.typeValue : \"string\";\n }\n public set type(value: string) {\n if (value === \"itemvalues\") value = \"itemvalue[]\";\n if (value === \"textitems\") value = \"textitem[]\";\n this.typeValue = value;\n if (this.typeValue.indexOf(\"[]\") === this.typeValue.length - 2) {\n this.isArray = true;\n this.className = this.typeValue.substring(0, this.typeValue.length - 2);\n }\n }\n public isArray = false;\n public get isRequired() {\n return this.isRequiredValue;\n }\n public set isRequired(val: boolean) {\n this.isRequiredValue = val;\n }\n public get isUnique(): boolean {\n return this.isUniqueValue;\n }\n public set isUnique(val: boolean) {\n this.isUniqueValue = val;\n }\n public get uniquePropertyName(): string {\n return this.uniquePropertyValue;\n }\n public set uniquePropertyName(val: string) {\n this.uniquePropertyValue = val;\n }\n public get hasToUseGetValue() {\n return this.onGetValue || this.serializationProperty;\n }\n public get defaultValue() {\n let result: any = !!this.defaultValueFunc ? this.defaultValueFunc() : this.defaultValueValue;\n if (\n !!JsonObjectProperty.getItemValuesDefaultValue &&\n JsonObject.metaData.isDescendantOf(this.className, \"itemvalue\")\n ) {\n result = JsonObjectProperty.getItemValuesDefaultValue(this.defaultValueValue || [], this.className);\n }\n return result;\n }\n public set defaultValue(newValue) {\n this.defaultValueValue = newValue;\n }\n public isDefaultValue(value: any): boolean {\n if (!Helpers.isValueEmpty(this.defaultValue)) {\n return Helpers.isTwoValueEquals(value, this.defaultValue, false, true, false);\n }\n if(this.isLocalizable) return value === null || value === undefined;\n return (\n (value === false && (this.type == \"boolean\" || this.type == \"switch\")) ||\n value === \"\" || Helpers.isValueEmpty(value)\n );\n }\n public getValue(obj: any): any {\n if (this.onGetValue) return this.onGetValue(obj);\n if (this.serializationProperty && !!obj[this.serializationProperty])\n return obj[this.serializationProperty].getJson();\n return obj[this.name];\n }\n public getPropertyValue(obj: any): any {\n if (this.isLocalizable) {\n return !!obj[this.serializationProperty]\n ? obj[this.serializationProperty].text\n : null;\n }\n return this.getValue(obj);\n }\n public get hasToUseSetValue() {\n return this.onSetValue || this.serializationProperty;\n }\n public settingValue(obj: any, value: any): any {\n if (!this.onSettingValue || obj.isLoadingFromJson) return value;\n return this.onSettingValue(obj, value);\n }\n public setValue(obj: any, value: any, jsonConv: JsonObject): void {\n if (this.onSetValue) {\n this.onSetValue(obj, value, jsonConv);\n } else {\n if (this.serializationProperty && !!obj[this.serializationProperty])\n obj[this.serializationProperty].setJson(value);\n else {\n if (value && typeof value === \"string\") {\n if (this.type == \"number\") {\n value = parseInt(value);\n }\n if (this.type == \"boolean\" || this.type == \"switch\") {\n value = value.toLowerCase() === \"true\";\n }\n }\n obj[this.name] = value;\n }\n }\n }\n public getObjType(objType: string) {\n if (!this.classNamePart) return objType;\n return objType.replace(this.classNamePart, \"\");\n }\n /**\n * Depricated, please use getChoices\n */\n public get choices(): Array<any> {\n return this.getChoices(null);\n }\n public get hasChoices(): boolean {\n return !!this.choicesValue || !!this.choicesfunc;\n }\n public getChoices(obj: any, choicesCallback: any = null): Array<any> {\n if (this.choicesValue != null) return this.choicesValue;\n if (this.choicesfunc != null) return this.choicesfunc(obj, choicesCallback);\n return null;\n }\n public setChoices(\n value: Array<any>,\n valueFunc: (obj: any) => Array<any> = null\n ) {\n this.choicesValue = value;\n this.choicesfunc = valueFunc;\n }\n public getBaseValue(): string {\n if (!this.baseValue) return \"\";\n if (typeof this.baseValue == \"function\") return this.baseValue();\n return this.baseValue;\n }\n public setBaseValue(val: any) {\n this.baseValue = val;\n }\n public get readOnly(): boolean {\n return this.readOnlyValue != null ? this.readOnlyValue : false;\n }\n public set readOnly(val: boolean) {\n this.readOnlyValue = val;\n }\n public isVisible(layout: string, obj: any = null): boolean {\n let isLayout = !this.layout || this.layout == layout;\n if (!this.visible || !isLayout) return false;\n if (!!this.visibleIf && !!obj) return this.visibleIf(obj);\n return true;\n }\n public get visible(): boolean {\n return this.visibleValue != null ? this.visibleValue : true;\n }\n public set visible(val: boolean) {\n this.visibleValue = val;\n }\n public get isLocalizable(): boolean {\n return this.isLocalizableValue != null ? this.isLocalizableValue : false;\n }\n public set isLocalizable(val: boolean) {\n this.isLocalizableValue = val;\n }\n public get dataList(): Array<string> {\n return Array.isArray(this.dataListValue) ? this.dataListValue : [];\n }\n public set dataList(val: Array<string>) {\n this.dataListValue = val;\n }\n public mergeWith(prop: JsonObjectProperty) {\n var valuesNames = JsonObjectProperty.mergableValues;\n for (var i = 0; i < valuesNames.length; i++) {\n this.mergeValue(prop, valuesNames[i]);\n }\n }\n public addDependedProperty(name: string) {\n if (!this.dependedProperties) {\n this.dependedProperties = [];\n }\n if (this.dependedProperties.indexOf(name) < 0) {\n this.dependedProperties.push(name);\n }\n }\n public getDependedProperties(): Array<string> {\n return !!this.dependedProperties ? this.dependedProperties : [];\n }\n public schemaType(): string {\n if(this.className === \"choicesByUrl\") return undefined;\n if(this.className === \"string\") return this.className;\n if (!!this.className) return \"array\";\n if (!!this.baseClassName) return \"array\";\n if (this.type == \"switch\") return \"boolean\";\n if (this.type == \"boolean\" || this.type == \"number\") return this.type;\n return \"string\";\n }\n public schemaRef(): string {\n if (!!this.className) return this.className;\n return undefined;\n }\n private mergeValue(prop: JsonObjectProperty, valueName: string) {\n if (this[valueName] == null && prop[valueName] != null) {\n this[valueName] = prop[valueName];\n }\n }\n}\nexport class CustomPropertiesCollection {\n private static properties: IObject = {};\n private static parentClasses: { [key: string]: string } = {};\n public static addProperty(className: string, property: any) {\n className = className.toLowerCase();\n var props = CustomPropertiesCollection.properties;\n if (!props[className]) {\n props[className] = [];\n }\n props[className].push(property);\n }\n public static removeProperty(className: string, propertyName: string) {\n className = className.toLowerCase();\n var props = CustomPropertiesCollection.properties;\n if (!props[className]) return;\n var properties = props[className];\n for (var i = 0; i < properties.length; i++) {\n if (properties[i].name == propertyName) {\n props[className].splice(i, 1);\n break;\n }\n }\n }\n public static removeAllProperties(className: string): void {\n className = className.toLowerCase();\n delete CustomPropertiesCollection.properties[className];\n }\n public static addClass(className: string, parentClassName: string) {\n className = className.toLowerCase();\n if (parentClassName) {\n parentClassName = parentClassName.toLowerCase();\n }\n CustomPropertiesCollection.parentClasses[className] = parentClassName;\n }\n public static getProperties(className: string): Array<any> {\n className = className.toLowerCase();\n var res = [];\n var props = CustomPropertiesCollection.properties;\n while (className) {\n var properties = props[className];\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n res.push(properties[i]);\n }\n }\n className = CustomPropertiesCollection.parentClasses[className];\n }\n return res;\n }\n public static createProperties(obj: any) {\n if (!obj || !obj.getType) return;\n CustomPropertiesCollection.createPropertiesCore(obj, obj.getType());\n }\n private static createPropertiesCore(obj: any, className: string) {\n var props = CustomPropertiesCollection.properties;\n if (props[className]) {\n CustomPropertiesCollection.createPropertiesInObj(obj, props[className]);\n }\n var parentClass = CustomPropertiesCollection.parentClasses[className];\n if (parentClass) {\n CustomPropertiesCollection.createPropertiesCore(obj, parentClass);\n }\n }\n private static createPropertiesInObj(obj: any, properties: any[]) {\n for (var i = 0; i < properties.length; i++) {\n CustomPropertiesCollection.createPropertyInObj(obj, properties[i]);\n }\n }\n private static createPropertyInObj(obj: any, prop: JsonObjectProperty) {\n if (CustomPropertiesCollection.checkIsPropertyExists(obj, prop.name)) return;\n if (!!prop.serializationProperty && CustomPropertiesCollection.checkIsPropertyExists(obj, prop.serializationProperty)) return;\n if (\n prop.isLocalizable &&\n prop.serializationProperty &&\n obj.createCustomLocalizableObj\n ) {\n obj.createCustomLocalizableObj(prop.name);\n var locDesc = {\n get: function () {\n return obj.getLocalizableString(prop.name);\n },\n };\n Object.defineProperty(obj, prop.serializationProperty, locDesc);\n var desc = {\n get: function () {\n return obj.getLocalizableStringText(prop.name, prop.defaultValue);\n },\n set: function (v: any) {\n obj.setLocalizableStringText(prop.name, v);\n },\n };\n Object.defineProperty(obj, prop.name, desc);\n } else {\n var defaultValue = prop.defaultValue;\n var isArrayProp = prop.isArray || prop.type === \"multiplevalues\";\n if (typeof obj.createNewArray === \"function\") {\n if (JsonObject.metaData.isDescendantOf(prop.className, \"itemvalue\")) {\n obj.createNewArray(prop.name, function (item: any) {\n item.locOwner = obj;\n item.ownerPropertyName = prop.name;\n });\n isArrayProp = true;\n } else {\n //It is a simple array property\n if (isArrayProp) {\n obj.createNewArray(prop.name);\n }\n }\n if (isArrayProp) {\n if (Array.isArray(defaultValue)) {\n obj.setPropertyValue(prop.name, defaultValue);\n }\n defaultValue = null;\n }\n }\n if (!!obj.getPropertyValue && !!obj.setPropertyValue) {\n var desc = {\n get: () => {\n if (!!prop.onGetValue) {\n return prop.onGetValue(obj);\n }\n return obj.getPropertyValue(prop.name, defaultValue);\n },\n set: function (v: any) {\n if (!!prop.onSetValue) {\n prop.onSetValue(obj, v, null);\n } else {\n obj.setPropertyValue(prop.name, v);\n }\n },\n };\n Object.defineProperty(obj, prop.name, desc);\n }\n }\n if (prop.type === \"condition\" || prop.type === \"expression\") {\n if (!!prop.onExecuteExpression) {\n obj.addExpressionProperty(prop.name, prop.onExecuteExpression);\n }\n }\n }\n private static checkIsPropertyExists(obj: any, name: string): boolean {\n return obj.hasOwnProperty(name) || obj[name];\n }\n}\n\nexport class JsonMetadataClass {\n static requiredSymbol = \"!\";\n static typeSymbol = \":\";\n properties: Array<JsonObjectProperty>;\n private isCustomValue: boolean;\n private allProperties: Array<JsonObjectProperty>;\n private hashProperties: HashTable<JsonObjectProperty>;\n constructor(\n public name: string,\n properties: Array<any>,\n public creator: (json?: any) => any = null,\n public parentName: string = null\n ) {\n name = name.toLowerCase();\n this.isCustomValue = !creator && name !== \"survey\";\n if (this.parentName) {\n this.parentName = this.parentName.toLowerCase();\n CustomPropertiesCollection.addClass(name, this.parentName);\n if (!!creator) {\n this.makeParentRegularClass();\n }\n }\n this.properties = new Array<JsonObjectProperty>();\n for (var i = 0; i < properties.length; i++) {\n this.createProperty(properties[i], this.isCustom);\n }\n }\n //Obsolete\n public find(name: string): JsonObjectProperty {\n for (var i = 0; i < this.properties.length; i++) {\n if (this.properties[i].name == name) return this.properties[i];\n }\n return null;\n }\n public findProperty(name: string): JsonObjectProperty {\n this.fillAllProperties();\n return this.hashProperties[name];\n }\n public getAllProperties(): Array<JsonObjectProperty> {\n this.fillAllProperties();\n return this.allProperties;\n }\n public resetAllProperties(): void {\n this.allProperties = undefined;\n this.hashProperties = undefined;\n var childClasses = Serializer.getChildrenClasses(this.name);\n for (var i = 0; i < childClasses.length; i++) {\n childClasses[i].resetAllProperties();\n }\n }\n public get isCustom(): boolean { return this.isCustomValue; }\n private fillAllProperties(): void {\n if(!!this.allProperties) return;\n this.allProperties = [];\n this.hashProperties = {};\n const localProperties: HashTable<JsonObjectProperty> = {};\n this.properties.forEach(prop => localProperties[prop.name] = prop);\n const parentClass = !!this.parentName ? Serializer.findClass(this.parentName) : null;\n if(!!parentClass) {\n const parentProperties = parentClass.getAllProperties();\n parentProperties.forEach(prop => {\n const overridedProp = localProperties[prop.name];\n if(!!overridedProp) {\n overridedProp.mergeWith(prop);\n this.addPropCore(overridedProp);\n } else {\n this.addPropCore(prop);\n }\n });\n }\n this.properties.forEach(prop => {\n if(!this.hashProperties[prop.name]) {\n this.addPropCore(prop);\n }\n });\n }\n private addPropCore(prop: JsonObjectProperty): void {\n this.allProperties.push(prop);\n this.hashProperties[prop.name] = prop;\n if(!!prop.alternativeName) {\n this.hashProperties[prop.alternativeName] = prop;\n }\n }\n private isOverridedProp(propName: string): boolean {\n return !!this.parentName && !!Serializer.findProperty(this.parentName, propName);\n }\n private hasRegularChildClass(): void {\n if (!this.isCustom) return;\n this.isCustomValue = false;\n for (var i = 0; i < this.properties.length; i++) {\n this.properties[i].isCustom = false;\n }\n CustomPropertiesCollection.removeAllProperties(this.name);\n this.makeParentRegularClass();\n }\n private makeParentRegularClass(): void {\n if (!this.parentName) return;\n const parent = Serializer.findClass(this.parentName);\n if (!!parent) {\n parent.hasRegularChildClass();\n }\n }\n public createProperty(propInfo: any, isCustom: boolean = false): JsonObjectProperty {\n var propertyName = typeof propInfo === \"string\" ? propInfo : propInfo.name;\n if (!propertyName) return;\n var propertyType = null;\n var typeIndex = propertyName.indexOf(JsonMetadataClass.typeSymbol);\n if (typeIndex > -1) {\n propertyType = propertyName.substring(typeIndex + 1);\n propertyName = propertyName.substring(0, typeIndex);\n }\n var isRequired =\n this.getIsPropertyNameRequired(propertyName) || !!propInfo.isRequired;\n propertyName = this.getPropertyName(propertyName);\n var prop = new JsonObjectProperty(this, propertyName, isRequired);\n if (propertyType) {\n prop.type = propertyType;\n }\n if (typeof propInfo === \"object\") {\n if (propInfo.type) {\n prop.type = propInfo.type;\n }\n if (propInfo.default !== undefined) {\n prop.defaultValue = propInfo.default;\n }\n if (propInfo.defaultFunc !== undefined) {\n prop.defaultValueFunc = propInfo.defaultFunc;\n }\n if (!Helpers.isValueEmpty(propInfo.isSerializable)) {\n prop.isSerializable = propInfo.isSerializable;\n }\n if (!Helpers.isValueEmpty(propInfo.isLightSerializable)) {\n prop.isLightSerializable = propInfo.isLightSerializable;\n }\n if (!Helpers.isValueEmpty(propInfo.maxLength)) {\n prop.maxLength = propInfo.maxLength;\n }\n if (!Helpers.isValueEmpty(propInfo.displayName)) {\n prop.displayName = propInfo.displayName;\n }\n if (!Helpers.isValueEmpty(propInfo.category)) {\n prop.category = propInfo.category;\n }\n if (!Helpers.isValueEmpty(propInfo.categoryIndex)) {\n prop.categoryIndex = propInfo.categoryIndex;\n }\n if (!Helpers.isValueEmpty(propInfo.nextToProperty)) {\n prop.nextToProperty = propInfo.nextToProperty;\n }\n if (!Helpers.isValueEmpty(propInfo.overridingProperty)) {\n prop.overridingProperty = propInfo.overridingProperty;\n }\n if (!Helpers.isValueEmpty(propInfo.visibleIndex)) {\n prop.visibleIndex = propInfo.visibleIndex;\n }\n if (!Helpers.isValueEmpty(propInfo.showMode)) {\n prop.showMode = propInfo.showMode;\n }\n if (!Helpers.isValueEmpty(propInfo.maxValue)) {\n prop.maxValue = propInfo.maxValue;\n }\n if (!Helpers.isValueEmpty(propInfo.minValue)) {\n prop.minValue = propInfo.minValue;\n }\n if (!Helpers.isValueEmpty(propInfo.dataList)) {\n prop.dataList = propInfo.dataList;\n }\n if (!Helpers.isValueEmpty(propInfo.isDynamicChoices)) {\n prop.isDynamicChoices = propInfo.isDynamicChoices;\n }\n if (!Helpers.isValueEmpty(propInfo.isBindable)) {\n prop.isBindable = propInfo.isBindable;\n }\n if (!Helpers.isValueEmpty(propInfo.isUnique)) {\n prop.isUnique = propInfo.isUnique;\n }\n if (!Helpers.isValueEmpty(propInfo.uniqueProperty)) {\n prop.uniquePropertyName = propInfo.uniqueProperty;\n }\n if (!Helpers.isValueEmpty(propInfo.isArray)) {\n prop.isArray = propInfo.isArray;\n }\n if (propInfo.visible === true || propInfo.visible === false) {\n prop.visible = propInfo.visible;\n }\n if (!!propInfo.visibleIf) {\n prop.visibleIf = propInfo.visibleIf;\n }\n if (!!propInfo.onExecuteExpression) {\n prop.onExecuteExpression = propInfo.onExecuteExpression;\n }\n if (!!propInfo.onPropertyEditorUpdate) {\n prop.onPropertyEditorUpdate = propInfo.onPropertyEditorUpdate;\n }\n if (propInfo.readOnly === true) {\n prop.readOnly = true;\n }\n if (propInfo.choices) {\n var choicesFunc =\n typeof propInfo.choices === \"function\" ? propInfo.choices : null;\n var choicesValue =\n typeof propInfo.choices !== \"function\" ? propInfo.choices : null;\n prop.setChoices(choicesValue, choicesFunc);\n }\n if (!!propInfo.baseValue) {\n prop.setBaseValue(propInfo.baseValue);\n }\n if (propInfo.onGetValue) {\n prop.onGetValue = propInfo.onGetValue;\n }\n if (propInfo.onSetValue) {\n prop.onSetValue = propInfo.onSetValue;\n }\n if (propInfo.onSettingValue) {\n prop.onSettingValue = propInfo.onSettingValue;\n }\n if (propInfo.isLocalizable) {\n propInfo.serializationProperty = \"loc\" + prop.name;\n }\n if (propInfo.serializationProperty) {\n prop.serializationProperty = propInfo.serializationProperty;\n var s: string;\n if (\n prop.serializationProperty &&\n prop.serializationProperty.indexOf(\"loc\") == 0\n ) {\n prop.isLocalizable = true;\n }\n }\n if (propInfo.isLocalizable) {\n prop.isLocalizable = propInfo.isLocalizable;\n }\n if (propInfo.className) {\n prop.className = propInfo.className;\n }\n if (propInfo.baseClassName) {\n prop.baseClassName = propInfo.baseClassName;\n }\n if (propInfo.classNamePart) {\n prop.classNamePart = propInfo.classNamePart;\n }\n if (propInfo.alternativeName) {\n prop.alternativeName = propInfo.alternativeName;\n }\n if (propInfo.layout) {\n prop.layout = propInfo.layout;\n }\n if (propInfo.dependsOn) {\n this.addDependsOnProperties(prop, propInfo.dependsOn);\n }\n }\n this.properties.push(prop);\n if (isCustom && !this.isOverridedProp(prop.name)) {\n prop.isCustom = true;\n CustomPropertiesCollection.addProperty(this.name, prop);\n }\n return prop;\n }\n private addDependsOnProperties(prop: JsonObjectProperty, dependsOn: any) {\n if (Array.isArray(dependsOn)) {\n for (var i = 0; i < dependsOn.length; i++) {\n this.addDependsOnProperty(prop, dependsOn[i]);\n }\n } else {\n this.addDependsOnProperty(prop, dependsOn);\n }\n }\n private addDependsOnProperty(prop: JsonObjectProperty, dependsOn: string) {\n var property = this.find(dependsOn);\n if (!property) {\n property = Serializer.findProperty(this.parentName, dependsOn);\n }\n if (!property) return;\n property.addDependedProperty(prop.name);\n }\n private getIsPropertyNameRequired(propertyName: string): boolean {\n return (\n propertyName.length > 0 &&\n propertyName[0] == JsonMetadataClass.requiredSymbol\n );\n }\n private getPropertyName(propertyName: string): string {\n if (!this.getIsPropertyNameRequired(propertyName)) return propertyName;\n propertyName = propertyName.slice(1);\n return propertyName;\n }\n}\n\n/**\n * The metadata object. It contains object properties' runtime information and allows you to modify it.\n */\nexport class JsonMetadata {\n private classes: HashTable<JsonMetadataClass> = {};\n private alternativeNames: HashTable<string> = {};\n private childrenClasses: HashTable<Array<JsonMetadataClass>> = {};\n public onSerializingProperty: ((obj: Base, prop: JsonObjectProperty, value: any, json: any) => boolean) | undefined;\n public getObjPropertyValue(obj: any, name: string): any {\n if (this.isObjWrapper(obj)) {\n var orignalObj = obj.getOriginalObj();\n var prop = Serializer.findProperty(orignalObj.getType(), name);\n if (!!prop) return this.getObjPropertyValueCore(orignalObj, prop);\n }\n var prop = Serializer.findProperty(obj.getType(), name);\n if (!prop) return obj[name];\n return this.getObjPropertyValueCore(obj, prop);\n }\n public setObjPropertyValue(obj: any, name: string, val: any) {\n if (obj[name] === val) return;\n if (!!obj[name] && !!obj[name].setJson) {\n obj[name].setJson(val);\n } else {\n if (Array.isArray(val)) {\n const newVal = [];\n for (var i = 0; i < val.length; i++) newVal.push(val[i]);\n val = newVal;\n }\n obj[name] = val;\n }\n }\n private getObjPropertyValueCore(obj: any, prop: JsonObjectProperty): any {\n if (!prop.isSerializable) return obj[prop.name];\n if (prop.isLocalizable) {\n if (prop.isArray) return obj[prop.name];\n if (!!prop.serializationProperty)\n return obj[prop.serializationProperty].text;\n }\n return obj.getPropertyValue(prop.name);\n }\n private isObjWrapper(obj: any): boolean {\n return !!obj.getOriginalObj && !!obj.getOriginalObj();\n }\n public addClass(\n name: string,\n properties: Array<any>,\n creator: (json?: any) => any = null,\n parentName: string = null\n ): JsonMetadataClass {\n name = name.toLowerCase();\n var metaDataClass = new JsonMetadataClass(\n name,\n properties,\n creator,\n parentName\n );\n this.classes[name] = metaDataClass;\n if (parentName) {\n parentName = parentName.toLowerCase();\n var children = this.childrenClasses[parentName];\n if (!children) {\n this.childrenClasses[parentName] = [];\n }\n this.childrenClasses[parentName].push(metaDataClass);\n }\n return metaDataClass;\n }\n public removeClass(name: string) {\n var metaClass = this.findClass(name);\n if (!metaClass) return;\n delete this.classes[metaClass.name];\n if (!!metaClass.parentName) {\n var index = this.childrenClasses[metaClass.parentName].indexOf(metaClass);\n if (index > -1) {\n this.childrenClasses[metaClass.parentName].splice(index, 1);\n }\n }\n }\n public overrideClassCreatore(name: string, creator: () => any) {\n this.overrideClassCreator(name, creator);\n }\n public overrideClassCreator(name: string, creator: () => any) {\n name = name.toLowerCase();\n var metaDataClass = this.findClass(name);\n if (metaDataClass) {\n metaDataClass.creator = creator;\n }\n }\n public getProperties(className: string): Array<JsonObjectProperty> {\n var metaClass = this.findClass(className);\n if (!metaClass) return [];\n return metaClass.getAllProperties();\n }\n public getPropertiesByObj(obj: any): Array<JsonObjectProperty> {\n if (!obj || !obj.getType) return [];\n var res: any = {};\n var props = this.getProperties(obj.getType());\n for (var i = 0; i < props.length; i++) {\n res[props[i].name] = props[i];\n }\n var dynamicProps = !!obj.getDynamicType\n ? this.getProperties(obj.getDynamicType())\n : null;\n if (dynamicProps && dynamicProps.length > 0) {\n for (var i = 0; i < dynamicProps.length; i++) {\n let dProp = dynamicProps[i];\n if (!!res[dProp.name]) continue;\n res[dProp.name] = dProp;\n }\n }\n return Object.keys(res).map((key) => res[key]);\n }\n public getDynamicPropertiesByObj(\n obj: any,\n dynamicType: string = null\n ): Array<JsonObjectProperty> {\n if (!obj || !obj.getType || (!obj.getDynamicType && !dynamicType))\n return [];\n var dType = !!dynamicType ? dynamicType : obj.getDynamicType();\n if (!dType) return [];\n var dynamicProps = this.getProperties(dType);\n if (!dynamicProps || dynamicProps.length == 0) return [];\n var hash: any = {};\n var props = this.getProperties(obj.getType());\n for (var i = 0; i < props.length; i++) {\n hash[props[i].name] = props[i];\n }\n var res = [];\n for (var i = 0; i < dynamicProps.length; i++) {\n let dProp = dynamicProps[i];\n if (!hash[dProp.name]) {\n res.push(dProp);\n }\n }\n return res;\n }\n public hasOriginalProperty(obj: Base, propName: string): boolean {\n return !!this.getOriginalProperty(obj, propName);\n }\n public getOriginalProperty(obj: Base, propName: string): JsonObjectProperty {\n var res = this.findProperty(obj.getType(), propName);\n if (!!res) return res;\n if (this.isObjWrapper(obj))\n return this.findProperty((<any>obj).getOriginalObj().getType(), propName);\n return null;\n }\n public getProperty(\n className: string,\n propertyName: string\n ): JsonObjectProperty {\n const prop = this.findProperty(className, propertyName);\n if (!prop) return prop;\n const classInfo = this.findClass(className);\n if (prop.classInfo === classInfo) return prop;\n const newProp = new JsonObjectProperty(classInfo, prop.name, prop.isRequired);\n newProp.mergeWith(prop);\n newProp.isArray = prop.isArray;\n classInfo.properties.push(newProp);\n classInfo.resetAllProperties();\n return newProp;\n }\n public findProperty(\n className: string,\n propertyName: string\n ): JsonObjectProperty {\n const cl = this.findClass(className);\n return !!cl ? cl.findProperty(propertyName): null;\n }\n public findProperties(\n className: string,\n propertyNames: Array<string>\n ): Array<JsonObjectProperty> {\n var result = new Array<JsonObjectProperty>();\n const cl = this.findClass(className);\n if(!cl) return result;\n for (var i = 0; i < propertyNames.length; i++) {\n var prop = cl.findProperty(propertyNames[i]);\n if (prop) {\n result.push(prop);\n }\n }\n return result;\n }\n public getAllPropertiesByName(\n propertyName: string\n ): Array<JsonObjectProperty> {\n var res = new Array<JsonObjectProperty>();\n var classes = this.getAllClasses();\n for (var i = 0; i < classes.length; i++) {\n var classInfo = this.findClass(classes[i]);\n for (var j = 0; j < classInfo.properties.length; j++) {\n if (classInfo.properties[j].name == propertyName) {\n res.push(classInfo.properties[j]);\n break;\n }\n }\n }\n return res;\n }\n public getAllClasses(): Array<string> {\n var res = new Array<string>();\n for (var name in this.classes) {\n res.push(name);\n }\n return res;\n }\n public createClass(name: string, json: any = undefined): any {\n name = name.toLowerCase();\n var metaDataClass = this.findClass(name);\n if (!metaDataClass) return null;\n if (metaDataClass.creator) return metaDataClass.creator(json);\n var parentName = metaDataClass.parentName;\n while (parentName) {\n metaDataClass = this.findClass(parentName);\n if (!metaDataClass) return null;\n parentName = metaDataClass.parentName;\n if (metaDataClass.creator)\n return this.createCustomType(name, metaDataClass.creator, json);\n }\n return null;\n }\n private createCustomType(\n name: string,\n creator: any,\n json: any = undefined\n ): any {\n name = name.toLowerCase();\n var res = creator(json);\n var customTypeName = name;\n var customTemplateName = res.getTemplate\n ? res.getTemplate()\n : res.getType();\n res.getType = function () {\n return customTypeName;\n };\n res.getTemplate = function () {\n return customTemplateName;\n };\n CustomPropertiesCollection.createProperties(res);\n return res;\n }\n public getChildrenClasses(\n name: string,\n canBeCreated: boolean = false\n ): Array<JsonMetadataClass> {\n name = name.toLowerCase();\n var result: Array<JsonMetadataClass> = [];\n this.fillChildrenClasses(name, canBeCreated, result);\n return result;\n }\n public getRequiredProperties(name: string): Array<string> {\n var properties = this.getProperties(name);\n var res = [];\n for (var i = 0; i < properties.length; i++) {\n if (properties[i].isRequired) {\n res.push(properties[i].name);\n }\n }\n return res;\n }\n public addProperties(className: string, propertiesInfos: Array<any>) {\n className = className.toLowerCase();\n var metaDataClass = this.findClass(className);\n for (var i = 0; i < propertiesInfos.length; i++) {\n this.addCustomPropertyCore(metaDataClass, propertiesInfos[i]);\n }\n }\n public addProperty(className: string, propertyInfo: any): JsonObjectProperty {\n return this.addCustomPropertyCore(this.findClass(className), propertyInfo);\n }\n private addCustomPropertyCore(\n metaDataClass: JsonMetadataClass,\n propertyInfo: any\n ): JsonObjectProperty {\n if (!metaDataClass) return null;\n var property = metaDataClass.createProperty(propertyInfo, true);\n if (property) {\n metaDataClass.resetAllProperties();\n }\n return property;\n }\n public removeProperty(className: string, propertyName: string) {\n var metaDataClass = this.findClass(className);\n if (!metaDataClass) return false;\n var property = metaDataClass.find(propertyName);\n if (property) {\n this.removePropertyFromClass(metaDataClass, property);\n metaDataClass.resetAllProperties();\n CustomPropertiesCollection.removeProperty(\n metaDataClass.name,\n propertyName\n );\n }\n }\n private removePropertyFromClass(\n metaDataClass: JsonMetadataClass,\n property: JsonObjectProperty\n ) {\n var index = metaDataClass.properties.indexOf(property);\n if (index < 0) return;\n metaDataClass.properties.splice(index, 1);\n }\n private fillChildrenClasses(\n name: string,\n canBeCreated: boolean,\n result: Array<JsonMetadataClass>\n ) {\n var children = this.childrenClasses[name];\n if (!children) return;\n for (var i = 0; i < children.length; i++) {\n if (!canBeCreated || children[i].creator) {\n result.push(children[i]);\n }\n this.fillChildrenClasses(children[i].name, canBeCreated, result);\n }\n }\n public findClass(name: string): JsonMetadataClass {\n name = name.toLowerCase();\n var res = this.classes[name];\n if (!res) {\n var newName = this.alternativeNames[name];\n if (!!newName && newName != name) return this.findClass(newName);\n }\n return res;\n }\n public isDescendantOf(className: string, ancestorClassName: string) {\n if (!className || !ancestorClassName) {\n return false;\n }\n className = className.toLowerCase();\n ancestorClassName = ancestorClassName.toLowerCase();\n var class_ = this.findClass(className);\n if (!class_) {\n return false;\n }\n var parentClass = class_;\n do {\n if (parentClass.name === ancestorClassName) {\n return true;\n }\n parentClass = this.classes[parentClass.parentName];\n } while (!!parentClass);\n return false;\n }\n public addAlterNativeClassName(name: string, alternativeName: string) {\n this.alternativeNames[alternativeName.toLowerCase()] = name.toLowerCase();\n }\n public generateSchema(className: string = undefined): any {\n if (!className) className = \"survey\";\n var classInfo = this.findClass(className);\n if (!classInfo) return null;\n var res = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n title: \"SurveyJS Library json schema\",\n type: \"object\",\n properties: {},\n definitions: { locstring: this.generateLocStrClass() },\n };\n this.generateSchemaProperties(classInfo, res, res.definitions, true);\n return res;\n }\n private generateLocStrClass(): any {\n const props: any = {};\n const locProp = Serializer.findProperty(\"survey\", \"locale\");\n if(!!locProp) {\n const choices = locProp.getChoices(null);\n if(Array.isArray(choices)) {\n if(choices.indexOf(\"en\") < 0) {\n choices.splice(0, 0, \"en\");\n }\n choices.splice(0, 0, \"default\");\n choices.forEach(l => { if(!!l) { props[l] = { type: \"string\" }; } });\n }\n }\n return {\n $id: \"locstring\",\n type: \"object\",\n properties: props\n };\n }\n private generateSchemaProperties(classInfo: JsonMetadataClass, classSchema: any, schemaDef: any, isRoot: boolean): void {\n if (!classInfo) return;\n const schemaProperties = classSchema.properties;\n const requiredProps = [];\n if(classInfo.name === \"question\" || classInfo.name === \"panel\") {\n schemaProperties.type = { type: \"string\" };\n requiredProps.push(\"type\");\n }\n for (let i = 0; i < classInfo.properties.length; i++) {\n const prop = classInfo.properties[i];\n if(!!classInfo.parentName && !!Serializer.findProperty(classInfo.parentName, prop.name)) continue;\n schemaProperties[prop.name] = this.generateSchemaProperty(prop, schemaDef, isRoot);\n if(prop.isRequired) requiredProps.push(prop.name);\n }\n if(requiredProps.length > 0) {\n classSchema.required = requiredProps;\n }\n }\n private generateSchemaProperty(prop: JsonObjectProperty, schemaDef: any, isRoot: boolean): any {\n if(prop.isLocalizable) {\n return { oneOf: [\n { \"type\": \"string\" },\n { \"$ref\": this.getChemeRefName(\"locstring\", isRoot) }\n ] };\n }\n const propType = prop.schemaType();\n const refType = prop.schemaRef();\n var res: any = { };\n if(!!propType) {\n res.type = propType;\n }\n if (prop.hasChoices) {\n const enumRes = prop.getChoices(null);\n if(Array.isArray(enumRes) && enumRes.length > 0) {\n res.enum = enumRes;\n }\n }\n if(!!refType) {\n if(propType === \"array\") {\n if(prop.className === \"string\") {\n res.items = { type: prop.className };\n } else {\n res.items = { $ref: this.getChemeRefName(prop.className, isRoot) };\n }\n } else {\n res[\"$ref\"] = this.getChemeRefName(refType, isRoot);\n }\n this.generateChemaClass(prop.className, schemaDef, false);\n }\n if (!!prop.baseClassName) {\n var usedClasses = this.getChildrenClasses(prop.baseClassName, true);\n if (prop.baseClassName == \"question\") {\n usedClasses.push(this.findClass(\"panel\"));\n }\n res.items = { anyOf: [] };\n for (var i = 0; i < usedClasses.length; i++) {\n var className = usedClasses[i].name;\n res.items.anyOf.push({ $ref: this.getChemeRefName(className, isRoot) });\n this.generateChemaClass(className, schemaDef, false);\n }\n }\n return res;\n }\n private getChemeRefName(className: string, isRoot: boolean): string {\n //Fix for #6486, according to https://niem.github.io/json/reference/json-schema/references/#:~:text=In%20a%20JSON%20schema%2C%20a,%2C%20an%20in%2Dschema%20reference\n return \"#/definitions/\" + className;\n //return isRoot ? \"#/definitions/\" + className : className + \"#\";\n }\n private generateChemaClass(className: string, schemaDef: any, isRoot: boolean) {\n if (!!schemaDef[className]) return;\n var classInfo = this.findClass(className);\n if (!classInfo) return;\n var hasParent = !!classInfo.parentName && classInfo.parentName != \"base\";\n if (hasParent) {\n this.generateChemaClass(classInfo.parentName, schemaDef, isRoot);\n }\n const res: any = { type: \"object\", $id: className };\n schemaDef[className] = res;\n const chemaProps: any = { properties: {} };\n this.generateSchemaProperties(classInfo, chemaProps, schemaDef, isRoot);\n if (hasParent) {\n res.allOf = [\n { $ref: this.getChemeRefName(classInfo.parentName, isRoot) },\n { properties: chemaProps.properties },\n ];\n } else {\n res.properties = chemaProps.properties;\n }\n if(Array.isArray(chemaProps.required)) {\n res.required = chemaProps.required;\n }\n }\n}\nexport class JsonError {\n public description: string = \"\";\n public at: number = -1;\n public end: number = -1;\n public jsonObj: any;\n public element: Base;\n constructor(public type: string, public message: string) { }\n public getFullDescription(): string {\n return this.message + (this.description ? \"\\n\" + this.description : \"\");\n }\n}\nexport class JsonUnknownPropertyError extends JsonError {\n constructor(public propertyName: string, public className: string) {\n super(\n \"unknownproperty\",\n \"The property '\" +\n propertyName +\n \"' in class '\" +\n className +\n \"' is unknown.\"\n );\n var properties = JsonObject.metaData.getProperties(className);\n if (properties) {\n this.description = \"The list of available properties are: \";\n for (var i = 0; i < properties.length; i++) {\n if (i > 0) this.description += \", \";\n this.description += properties[i].name;\n }\n this.description += \".\";\n }\n }\n}\nexport class JsonMissingTypeErrorBase extends JsonError {\n constructor(\n public baseClassName: string,\n public type: string,\n public message: string\n ) {\n super(type, message);\n this.description = \"The following types are available: \";\n var types = JsonObject.metaData.getChildrenClasses(baseClassName, true);\n for (var i = 0; i < types.length; i++) {\n if (i > 0) this.description += \", \";\n this.description += \"'\" + types[i].name + \"'\";\n }\n this.description += \".\";\n }\n}\nexport class JsonMissingTypeError extends JsonMissingTypeErrorBase {\n constructor(public propertyName: string, public baseClassName: string) {\n super(\n baseClassName,\n \"missingtypeproperty\",\n \"The property type is missing in the object. Please take a look at property: '\" +\n propertyName +\n \"'.\"\n );\n }\n}\nexport class JsonIncorrectTypeError extends JsonMissingTypeErrorBase {\n constructor(public propertyName: string, public baseClassName: string) {\n super(\n baseClassName,\n \"incorrecttypeproperty\",\n \"The property type is incorrect in the object. Please take a look at property: '\" +\n propertyName +\n \"'.\"\n );\n }\n}\nexport class JsonRequiredPropertyError extends JsonError {\n constructor(public propertyName: string, public className: string) {\n super(\n \"requiredproperty\",\n \"The property '\" +\n propertyName +\n \"' is required in class '\" +\n className +\n \"'.\"\n );\n }\n}\n\nexport class JsonObject {\n private static typePropertyName = \"type\";\n private static positionPropertyName = \"pos\";\n private static metaDataValue = new JsonMetadata();\n public static get metaData() {\n return JsonObject.metaDataValue;\n }\n public errors = new Array<JsonError>();\n public lightSerializing: boolean = false;\n public toJsonObject(obj: any, storeDefaults = false): any {\n return this.toJsonObjectCore(obj, null, storeDefaults);\n }\n public toObject(jsonObj: any, obj: any) {\n this.toObjectCore(jsonObj, obj);\n var error = this.getRequiredError(obj, jsonObj);\n if (!!error) {\n this.addNewError(error, jsonObj, obj);\n }\n }\n public toObjectCore(jsonObj: any, obj: any) {\n if (!jsonObj) return;\n var properties = null;\n var objType = undefined;\n var needAddErrors = true;\n if (obj.getType) {\n objType = obj.getType();\n properties = JsonObject.metaData.getProperties(objType);\n needAddErrors =\n !!objType && !JsonObject.metaData.isDescendantOf(objType, \"itemvalue\");\n }\n if (!properties) return;\n if (obj.startLoadingFromJson) {\n obj.startLoadingFromJson(jsonObj);\n }\n properties = this.addDynamicProperties(obj, jsonObj, properties);\n for (var key in jsonObj) {\n if (key === JsonObject.typePropertyName) continue;\n if (key === JsonObject.positionPropertyName) {\n obj[key] = jsonObj[key];\n continue;\n }\n var property = this.findProperty(properties, key);\n if (!property) {\n if (needAddErrors) {\n this.addNewError(new JsonUnknownPropertyError(key.toString(), objType), jsonObj, obj);\n }\n continue;\n }\n this.valueToObj(jsonObj[key], obj, property);\n }\n if (obj.endLoadingFromJson) {\n obj.endLoadingFromJson();\n }\n }\n public toJsonObjectCore(\n obj: any,\n property: JsonObjectProperty,\n storeDefaults = false\n ): any {\n if (!obj || !obj.getType) return obj;\n if (typeof obj.getData === \"function\") return obj.getData();\n var result = {};\n if (property != null && !property.className) {\n (<any>result)[JsonObject.typePropertyName] = property.getObjType(\n obj.getType()\n );\n }\n this.propertiesToJson(\n obj,\n JsonObject.metaData.getProperties(obj.getType()),\n result,\n storeDefaults\n );\n this.propertiesToJson(\n obj,\n this.getDynamicProperties(obj),\n result,\n storeDefaults\n );\n return result;\n }\n private getDynamicProperties(obj: any): Array<JsonObjectProperty> {\n return Serializer.getDynamicPropertiesByObj(obj);\n }\n private addDynamicProperties(\n obj: any,\n jsonObj: any,\n properties: Array<JsonObjectProperty>\n ): Array<JsonObjectProperty> {\n if (!obj.getDynamicPropertyName) return properties;\n var dynamicPropName = obj.getDynamicPropertyName();\n if (!dynamicPropName) return properties;\n if (jsonObj[dynamicPropName]) {\n obj[dynamicPropName] = jsonObj[dynamicPropName];\n }\n var dynamicProperties = this.getDynamicProperties(obj);\n var res = [];\n for (var i = 0; i < properties.length; i++) {\n res.push(properties[i]);\n }\n for (var i = 0; i < dynamicProperties.length; i++) {\n res.push(dynamicProperties[i]);\n }\n return res;\n }\n private propertiesToJson(\n obj: any,\n properties: Array<JsonObjectProperty>,\n json: any,\n storeDefaults = false\n ) {\n for (var i: number = 0; i < properties.length; i++) {\n this.valueToJson(obj, json, properties[i], storeDefaults);\n }\n }\n public valueToJson(\n obj: any,\n result: any,\n property: JsonObjectProperty,\n storeDefaults = false\n ): void {\n if (\n property.isSerializable === false ||\n (property.isLightSerializable === false && this.lightSerializing)\n )\n return;\n var value = property.getValue(obj);\n if (!storeDefaults && property.isDefaultValue(value)) return;\n if (this.isValueArray(value)) {\n var arrValue = [];\n for (var i = 0; i < value.length; i++) {\n arrValue.push(this.toJsonObjectCore(value[i], property, storeDefaults));\n }\n value = arrValue.length > 0 ? arrValue : null;\n } else {\n value = this.toJsonObjectCore(value, property, storeDefaults);\n }\n var hasValue =\n typeof obj[\"getPropertyValue\"] === \"function\" &&\n obj[\"getPropertyValue\"](property.name, null) !== null;\n if ((storeDefaults && hasValue) || !property.isDefaultValue(value)) {\n if (!Serializer.onSerializingProperty || !Serializer.onSerializingProperty(obj, property, value, result)) {\n result[property.name] = value;\n }\n }\n }\n public valueToObj(value: any, obj: any, property: JsonObjectProperty) {\n if (value === null || value === undefined) return;\n this.removePos(property, value);\n if (property != null && property.hasToUseSetValue) {\n property.setValue(obj, value, this);\n return;\n }\n if (this.isValueArray(value)) {\n this.valueToArray(value, obj, property.name, property);\n return;\n }\n var newObj = this.createNewObj(value, property);\n if (newObj.newObj) {\n this.toObjectCore(value, newObj.newObj);\n value = newObj.newObj;\n }\n if (!newObj.error) {\n if (property != null) {\n property.setValue(obj, value, this);\n } else {\n obj[property.name] = value;\n }\n }\n }\n private removePos(property: JsonObjectProperty, value: any) {\n if (!property || !property.type || property.type.indexOf(\"value\") < 0)\n return;\n this.removePosFromObj(value);\n }\n private removePosFromObj(obj: any) {\n if (!obj) return;\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n this.removePosFromObj(obj[i]);\n }\n }\n if (!!obj[JsonObject.positionPropertyName]) {\n delete obj[JsonObject.positionPropertyName];\n }\n }\n private isValueArray(value: any): boolean {\n return value && Array.isArray(value);\n }\n private createNewObj(value: any, property: JsonObjectProperty): any {\n var result: any = { newObj: null, error: null };\n const className = this.getClassNameForNewObj(value, property);\n result.newObj = className\n ? JsonObject.metaData.createClass(className, value)\n : null;\n result.error = this.checkNewObjectOnErrors(\n result.newObj,\n value,\n property,\n className\n );\n return result;\n }\n private getClassNameForNewObj(value: any, property: JsonObjectProperty): string {\n var res = property != null && property.className ? property.className : undefined;\n if (!res) {\n res = value[JsonObject.typePropertyName];\n }\n if(!res) return res;\n res = res.toLowerCase();\n const classNamePart = property.classNamePart;\n if(classNamePart && res.indexOf(classNamePart) < 0) {\n res += classNamePart;\n }\n return res;\n }\n private checkNewObjectOnErrors(\n newObj: any,\n value: any,\n property: JsonObjectProperty,\n className: string\n ): JsonError {\n var error = null;\n if (newObj) {\n error = this.getRequiredError(newObj, value);\n } else {\n if (property.baseClassName) {\n if (!className) {\n error = new JsonMissingTypeError(\n property.name,\n property.baseClassName\n );\n } else {\n error = new JsonIncorrectTypeError(\n property.name,\n property.baseClassName\n );\n }\n }\n }\n if (error) {\n this.addNewError(error, value, newObj);\n }\n return error;\n }\n private getRequiredError(obj: any, jsonValue: any): JsonError {\n if (!obj.getType || typeof obj.getData === \"function\") return null;\n var className = obj.getType();\n var requiredProperties = JsonObject.metaData.getRequiredProperties(\n className\n );\n if (!Array.isArray(requiredProperties)) return null;\n for (var i = 0; i < requiredProperties.length; i++) {\n const prop = Serializer.findProperty(className, requiredProperties[i]);\n if (!prop || !Helpers.isValueEmpty(prop.defaultValue)) continue;\n if (!jsonValue[prop.name]) {\n return new JsonRequiredPropertyError(prop.name, className);\n }\n }\n return null;\n }\n private addNewError(error: JsonError, jsonObj: any, element?: Base) {\n error.jsonObj = jsonObj;\n error.element = element;\n this.errors.push(error);\n if(!jsonObj) return;\n const posObj = jsonObj[JsonObject.positionPropertyName];\n if(!posObj) return;\n error.at = posObj.start;\n error.end = posObj.end;\n }\n private valueToArray(\n value: Array<any>,\n obj: any,\n key: any,\n property: JsonObjectProperty\n ) {\n if (obj[key] && !this.isValueArray(obj[key]))\n return;\n if (obj[key] && value.length > 0) obj[key].splice(0, obj[key].length);\n var valueRes = obj[key] ? obj[key] : [];\n this.addValuesIntoArray(value, valueRes, property);\n if (!obj[key]) obj[key] = valueRes;\n }\n private addValuesIntoArray(\n value: Array<any>,\n result: Array<any>,\n property: JsonObjectProperty\n ) {\n for (var i = 0; i < value.length; i++) {\n var newValue = this.createNewObj(value[i], property);\n if (newValue.newObj) {\n if (!!value[i].name) {\n newValue.newObj.name = value[i].name;\n }\n if (!!value[i].valueName) {\n newValue.newObj.valueName = value[i].valueName.toString();\n }\n result.push(newValue.newObj);\n this.toObjectCore(value[i], newValue.newObj);\n } else {\n if (!newValue.error) {\n result.push(value[i]);\n }\n }\n }\n }\n private findProperty(\n properties: Array<JsonObjectProperty>,\n key: any\n ): JsonObjectProperty {\n if (!properties) return null;\n for (var i = 0; i < properties.length; i++) {\n var prop = properties[i];\n if (prop.name == key || prop.alternativeName == key) return prop;\n }\n return null;\n }\n}\n\n/**\n * An alias for the metadata object. It contains object properties' runtime information and allows you to modify it.\n * @see JsonMetadata\n */\nexport var Serializer = JsonObject.metaData;\n","import { Helpers } from \"./helpers\";\nimport { surveyLocalization } from \"./surveyStrings\";\nimport { settings } from \"./settings\";\nimport { EventBase } from \"./base\";\n\nexport interface ILocalizableOwner {\n getLocale(): string;\n getMarkdownHtml(text: string, name: string): string;\n getProcessedText(text: string): string;\n getRenderer(name: string): string;\n getRendererContext(locStr: LocalizableString): any;\n}\nexport interface ILocalizableString {\n getLocaleText(loc: string): string;\n setLocaleText(loc: string, newValue: string): any;\n getJson(): any;\n getLocales(): Array<string>;\n getIsMultiple(): boolean;\n}\n/**\n * The class represents the string that supports multi-languages and markdown.\n * It uses in all objects where support for multi-languages and markdown is required.\n */\nexport class LocalizableString implements ILocalizableString {\n public static SerializeAsObject: boolean = false;\n public static get defaultLocale(): string {\n return settings.localization.defaultLocaleName;\n }\n public static set defaultLocale(val: string) {\n settings.localization.defaultLocaleName = val;\n }\n public static defaultRenderer = \"sv-string-viewer\";\n public static editableRenderer = \"sv-string-editor\";\n private values = {};\n private htmlValues = {};\n private renderedText: string;\n private calculatedTextValue: string;\n private _localizationName: string;\n public get localizationName(): string {\n return this._localizationName;\n }\n public set localizationName(val: string) {\n if (this._localizationName != val) {\n this._localizationName = val;\n this.strChanged();\n }\n }\n public onGetTextCallback: (str: string) => string;\n public onGetDefaultTextCallback: () => string;\n public storeDefaultText: boolean;\n public onGetLocalizationTextCallback: (str: string) => string;\n public onStrChanged: (oldValue: string, newValue: string) => void;\n public onSearchChanged: () => void;\n public sharedData: LocalizableString;\n public searchText: string;\n public searchIndex: number;\n public disableLocalization: boolean;\n constructor(\n public owner: ILocalizableOwner,\n public useMarkdown: boolean = false,\n public name?: string\n ) {\n this.onCreating();\n }\n public getIsMultiple(): boolean { return false; }\n public get locale(): string {\n if (this.owner && this.owner.getLocale) {\n const res = this.owner.getLocale();\n if (!!res || !this.sharedData) return res;\n }\n if (!!this.sharedData) return this.sharedData.locale;\n return \"\";\n }\n public strChanged(): void {\n this.searchableText = undefined;\n if (this.renderedText === undefined) return;\n this.calculatedTextValue = this.calcText();\n if (this.renderedText !== this.calculatedTextValue) {\n this.renderedText = undefined;\n this.calculatedTextValue = undefined;\n }\n this.htmlValues = {};\n this.onChanged();\n this.onStringChanged.fire(this, {});\n }\n public get text(): string {\n return this.pureText;\n }\n public set text(value: string) {\n this.setLocaleText(this.locale, value);\n }\n public get calculatedText(): string {\n this.renderedText =\n this.calculatedTextValue !== undefined\n ? this.calculatedTextValue\n : this.calcText();\n this.calculatedTextValue = undefined;\n return this.renderedText;\n }\n private calcText(): string {\n var res = this.pureText;\n if (\n res &&\n this.owner &&\n this.owner.getProcessedText &&\n res.indexOf(\"{\") > -1\n ) {\n res = this.owner.getProcessedText(res);\n }\n if (this.onGetTextCallback) res = this.onGetTextCallback(res);\n return res;\n }\n public get pureText(): string {\n var loc = this.locale;\n if (!loc) loc = this.defaultLoc;\n var res = this.getValue(loc);\n if (this.isValueEmpty(res) && loc === this.defaultLoc) {\n res = this.getValue(surveyLocalization.defaultLocale);\n }\n if (this.isValueEmpty(res)) {\n const dialect = this.getRootDialect(loc);\n if (!!dialect) {\n res = this.getValue(dialect);\n }\n }\n if (this.isValueEmpty(res) && loc !== this.defaultLoc) {\n res = this.getValue(this.defaultLoc);\n }\n if (this.isValueEmpty(res) && !!this.getLocalizationName()) {\n res = this.getLocalizationStr();\n if (!!this.onGetLocalizationTextCallback) {\n res = this.onGetLocalizationTextCallback(res);\n }\n }\n if (!res) res = \"\";\n return res;\n }\n private getRootDialect(loc: string): string {\n if (!loc) return loc;\n const index = loc.indexOf(\"-\");\n return index > -1 ? loc.substring(0, index) : \"\";\n }\n private getLocalizationName(): string {\n return !!this.sharedData ? this.sharedData.localizationName : this.localizationName;\n }\n private getLocalizationStr(): string {\n const name = this.getLocalizationName();\n return !!name ? surveyLocalization.getString(name, this.locale) : \"\";\n }\n public get hasHtml(): boolean {\n return this.hasHtmlValue();\n }\n public get html(): string {\n if (!this.hasHtml) return \"\";\n return this.getHtmlValue();\n }\n public get isEmpty(): boolean {\n return this.getValuesKeys().length == 0;\n }\n public get textOrHtml(): string {\n return this.hasHtml ? this.getHtmlValue() : this.calculatedText;\n }\n public get renderedHtml(): string {\n return this.textOrHtml;\n }\n public getLocaleText(loc: string): string {\n const res = this.getLocaleTextCore(loc);\n return res ? res : \"\";\n }\n private getLocaleTextCore(loc: string): string {\n if (!loc) loc = this.defaultLoc;\n return this.getValue(loc);\n }\n private isLocaleTextEqualsWithDefault(loc: string, val: string): boolean {\n let res = this.getLocaleTextCore(loc);\n if (!res && this.onGetDefaultTextCallback) {\n res = this.onGetDefaultTextCallback();\n }\n if (res === val) return true;\n return this.isValueEmpty(res) && this.isValueEmpty(val);\n }\n public clear(): void {\n this.setJson(undefined);\n }\n public clearLocale(loc?: string): void {\n this.setLocaleText(loc, undefined);\n }\n public setLocaleText(loc: string, value: string): void {\n loc = this.getValueLoc(loc);\n if (!this.storeDefaultText && this.isLocaleTextEqualsWithDefault(loc, value)) {\n if (!this.isValueEmpty(value) || !!loc && loc !== this.defaultLoc) return;\n let dl = surveyLocalization.defaultLocale;\n let oldValue = this.getValue(dl);\n if (!!dl && !this.isValueEmpty(oldValue)) {\n this.setValue(dl, value);\n this.fireStrChanged(dl, oldValue);\n }\n return;\n }\n if (!settings.localization.storeDuplicatedTranslations &&\n !this.isValueEmpty(value) && loc && loc != this.defaultLoc &&\n !this.getValue(loc) &&\n value == this.getLocaleText(this.defaultLoc)\n )\n return;\n var curLoc = this.curLocale;\n if (!loc) loc = this.defaultLoc;\n var oldValue = this.onStrChanged && loc === curLoc ? this.pureText : undefined;\n delete (<any>this).htmlValues[loc];\n if (this.isValueEmpty(value)) {\n this.deleteValue(loc);\n } else {\n if (typeof value === \"string\") {\n if (this.canRemoveLocValue(loc, value)) {\n this.setLocaleText(loc, null);\n } else {\n this.setValue(loc, value);\n if (loc == this.defaultLoc) {\n this.deleteValuesEqualsToDefault(value);\n }\n }\n }\n }\n this.fireStrChanged(loc, oldValue);\n }\n private isValueEmpty(val: string): boolean {\n if (val === undefined || val === null) return true;\n if (this.localizationName) return false;\n return val === \"\";\n }\n private get curLocale(): string {\n return !!this.locale ? this.locale : this.defaultLoc;\n }\n private canRemoveLocValue(loc: string, val: string): boolean {\n if (settings.localization.storeDuplicatedTranslations) return false;\n if (loc === this.defaultLoc) return false;\n const dialect = this.getRootDialect(loc);\n if (!!dialect) {\n const dialectVal = this.getLocaleText(dialect);\n if (!!dialectVal) return dialectVal == val;\n return this.canRemoveLocValue(dialect, val);\n } else {\n return val == this.getLocaleText(this.defaultLoc);\n }\n }\n private fireStrChanged(loc: string, oldValue: string) {\n this.strChanged();\n if (!this.onStrChanged) return;\n const value = this.pureText;\n if (loc !== this.curLocale || oldValue !== value) {\n this.onStrChanged(oldValue, value);\n }\n }\n public hasNonDefaultText(): boolean {\n var keys = this.getValuesKeys();\n if (keys.length == 0) return false;\n return keys.length > 1 || keys[0] != this.defaultLoc;\n }\n public getLocales(): Array<string> {\n var keys = this.getValuesKeys();\n if (keys.length == 0) return [];\n return keys;\n }\n public getJson(): any {\n if (!!this.sharedData) return this.sharedData.getJson();\n const keys = this.getValuesKeys();\n if (keys.length == 0) return null;\n if (\n keys.length == 1 &&\n keys[0] == settings.localization.defaultLocaleName &&\n !settings.serialization.localizableStringSerializeAsObject\n )\n return (<any>this).values[keys[0]];\n return this.values;\n }\n public setJson(value: any): void {\n if (!!this.sharedData) {\n this.sharedData.setJson(value);\n return;\n }\n this.values = {};\n this.htmlValues = {};\n if (value === null || value === undefined) return;\n if (typeof value === \"string\") {\n this.setLocaleText(null, value);\n } else {\n for (var key in value) {\n this.setLocaleText(key, value[key]);\n }\n }\n this.strChanged();\n }\n public get renderAs(): string {\n if (!this.owner || typeof this.owner.getRenderer !== \"function\") {\n return LocalizableString.defaultRenderer;\n }\n return this.owner.getRenderer(this.name) || LocalizableString.defaultRenderer;\n }\n public get renderAsData(): any {\n if (!this.owner || typeof this.owner.getRendererContext !== \"function\") {\n return this;\n }\n return this.owner.getRendererContext(this) || this;\n }\n public equals(obj: any): boolean {\n if (!!this.sharedData) return this.sharedData.equals(obj);\n if (!obj || !obj.values) return false;\n return Helpers.isTwoValueEquals(this.values, obj.values, false, true, false);\n }\n private searchableText: string;\n public setFindText(text: string): boolean {\n if (this.searchText == text) return;\n this.searchText = text;\n if (!this.searchableText) {\n let textOrHtml = this.textOrHtml;\n this.searchableText = !!textOrHtml ? textOrHtml.toLowerCase() : \"\";\n }\n var str = this.searchableText;\n var index = !!str && !!text ? str.indexOf(text) : undefined;\n if (index < 0) index = undefined;\n if (index != undefined || this.searchIndex != index) {\n this.searchIndex = index;\n if (!!this.onSearchChanged) {\n this.onSearchChanged();\n }\n }\n return this.searchIndex != undefined;\n }\n public onChanged() { }\n public onStringChanged: EventBase<LocalizableString> = new EventBase<LocalizableString>();\n protected onCreating() { }\n private hasHtmlValue(): boolean {\n if (!this.owner || !this.useMarkdown) return false;\n var loc = this.locale;\n if (!loc) loc = this.defaultLoc;\n if ((<any>this).htmlValues[loc] !== undefined) return !!(<any>this).htmlValues[loc];\n var renderedText = this.calculatedText;\n if (!renderedText) return false;\n if (!!this.getLocalizationName() && renderedText === this.getLocalizationStr()) return false;\n const res = this.owner.getMarkdownHtml(renderedText, this.name);\n (<any>this).htmlValues[loc] = res;\n return !!res;\n }\n public getHtmlValue(): string {\n var loc = this.locale;\n if (!loc) loc = this.defaultLoc;\n return (<any>this).htmlValues[loc];\n }\n private deleteValuesEqualsToDefault(defaultValue: string) {\n if (settings.localization.storeDuplicatedTranslations) return;\n var keys = this.getValuesKeys();\n for (var i = 0; i < keys.length; i++) {\n if (keys[i] == this.defaultLoc) continue;\n if (this.getValue(keys[i]) == defaultValue) {\n this.deleteValue(keys[i]);\n }\n }\n }\n private getValue(loc: string): string {\n if (!!this.sharedData) return this.sharedData.getValue(loc);\n return (<any>this).values[this.getValueLoc(loc)];\n }\n private setValue(loc: string, value: string) {\n if (!!this.sharedData) this.sharedData.setValue(loc, value);\n else (<any>this).values[this.getValueLoc(loc)] = value;\n }\n private deleteValue(loc: string) {\n if (!!this.sharedData) this.sharedData.deleteValue(loc);\n else delete (<any>this).values[this.getValueLoc(loc)];\n }\n private getValueLoc(loc: string): string {\n if (this.disableLocalization) return settings.localization.defaultLocaleName;\n return loc;\n }\n private getValuesKeys(): string[] {\n if (!!this.sharedData) return this.sharedData.getValuesKeys();\n return Object.keys(this.values);\n }\n private get defaultLoc(): string {\n return settings.localization.defaultLocaleName;\n }\n}\n/**\n * The class represents the list of strings that supports multi-languages.\n */\nexport class LocalizableStrings implements ILocalizableString {\n private values: any = {};\n public onValueChanged: (oldValue: any, newValue: any) => void;\n constructor(public owner: ILocalizableOwner) { }\n public getIsMultiple(): boolean { return true; }\n public get locale() {\n return this.owner && this.owner.getLocale ? this.owner.getLocale() : \"\";\n }\n public get value(): Array<string> {\n return this.getValue(\"\");\n }\n public set value(val: Array<string>) {\n this.setValue(\"\", val);\n }\n public get text(): string {\n return Array.isArray(this.value) ? this.value.join(\"\\n\") : \"\";\n }\n public set text(val: string) {\n this.value = !!val ? val.split(\"\\n\") : [];\n }\n public getLocaleText(loc: string): string {\n var res = this.getValueCore(loc, !loc || loc === this.locale);\n if (!res || !Array.isArray(res) || res.length == 0) return \"\";\n return res.join(\"\\n\");\n }\n public setLocaleText(loc: string, newValue: string): any {\n var val = !!newValue ? newValue.split(\"\\n\") : null;\n this.setValue(loc, val);\n }\n public getValue(loc: string): Array<string> {\n return this.getValueCore(loc);\n }\n private getValueCore(loc: string, useDefault: boolean = true): Array<string> {\n loc = this.getLocale(loc);\n if (this.values[loc]) return this.values[loc];\n if (useDefault) {\n var defLoc = settings.localization.defaultLocaleName;\n if (loc !== defLoc && this.values[defLoc]) return this.values[defLoc];\n }\n return [];\n }\n public setValue(loc: string, val: Array<string>) {\n loc = this.getLocale(loc);\n const oldValue = Helpers.createCopy(this.values);\n if (!val || val.length == 0) {\n delete this.values[loc];\n } else {\n this.values[loc] = val;\n }\n if (!!this.onValueChanged) {\n this.onValueChanged(oldValue, this.values);\n }\n }\n public hasValue(loc: string = \"\"): boolean {\n return !this.isEmpty && this.getValue(loc).length > 0;\n }\n public get isEmpty(): boolean {\n return this.getValuesKeys().length == 0;\n }\n private getLocale(loc: string): string {\n if (!!loc) return loc;\n loc = this.locale;\n return !!loc ? loc : settings.localization.defaultLocaleName;\n }\n public getLocales(): Array<string> {\n var keys = this.getValuesKeys();\n if (keys.length == 0) return [];\n return keys;\n }\n public getJson(): any {\n var keys = this.getValuesKeys();\n if (keys.length == 0) return null;\n if (\n keys.length == 1 &&\n keys[0] == settings.localization.defaultLocaleName &&\n !settings.serialization.localizableStringSerializeAsObject\n ) return (<any>this).values[keys[0]];\n return Helpers.createCopy(this.values);\n }\n public setJson(value: any) {\n this.values = {};\n if (!value) return;\n if (Array.isArray(value)) {\n this.setValue(null, value);\n } else {\n for (var key in value) {\n this.setValue(key, value[key]);\n }\n }\n }\n private getValuesKeys(): string[] {\n return Object.keys(this.values);\n }\n}\n","// Uncomment the line below if you create a custom dictionary\n// import { surveyLocalization } from \"survey-core\";\n\nexport var englishStrings = {\n pagePrevText: \"Previous\",\n pageNextText: \"Next\",\n completeText: \"Complete\",\n previewText: \"Preview\",\n editText: \"Edit\",\n startSurveyText: \"Start\",\n otherItemText: \"Other (describe)\",\n noneItemText: \"None\",\n selectAllItemText: \"Select All\",\n progressText: \"Page {0} of {1}\",\n indexText: \"{0} of {1}\",\n panelDynamicProgressText: \"{0} of {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Answered {0}/{1} questions\",\n emptySurvey: \"The survey doesn't contain visible pages or questions.\",\n completingSurvey: \"Thank you for completing the survey\",\n completingSurveyBefore:\n \"Our records show that you have already completed this survey.\",\n loadingSurvey: \"Loading Survey...\",\n placeholder: \"Select...\",\n ratingOptionsCaption: \"Select...\",\n value: \"value\",\n requiredError: \"Response required.\",\n requiredErrorInPanel: \"Response required: answer at least one question.\",\n requiredInAllRowsError: \"Response required: answer questions in all rows.\",\n numericError: \"The value should be numeric.\",\n minError: \"The value should not be less than {0}\",\n maxError: \"The value should not be greater than {0}\",\n textMinLength: \"Please enter at least {0} character(s).\",\n textMaxLength: \"Please enter no more than {0} character(s).\",\n textMinMaxLength:\n \"Please enter at least {0} and no more than {1} characters.\",\n minRowCountError: \"Please fill in at least {0} row(s).\",\n minSelectError: \"Please select at least {0} variant(s).\",\n maxSelectError: \"Please select no more than {0} variant(s).\",\n numericMinMax: \"The '{0}' should be at least {1} and at most {2}\",\n numericMin: \"The '{0}' should be at least {1}\",\n numericMax: \"The '{0}' should be at most {1}\",\n invalidEmail: \"Please enter a valid e-mail address.\",\n invalidExpression: \"The expression: {0} should return 'true'.\",\n urlRequestError: \"The request returned error '{0}'. {1}\",\n urlGetChoicesError:\n \"The request returned empty data or the 'path' property is incorrect\",\n exceedMaxSize: \"The file size should not exceed {0}.\",\n otherRequiredError: \"Response required: enter another value.\",\n uploadingFile:\n \"Your file is uploading. Please wait several seconds and try again.\",\n loadingFile: \"Loading...\",\n chooseFile: \"Choose file(s)...\",\n noFileChosen: \"No file chosen\",\n fileDragAreaPlaceholder: \"Drag and drop a file here or click the button below to select a file to upload.\",\n confirmDelete: \"Do you want to delete the record?\",\n keyDuplicationError: \"This value should be unique.\",\n addColumn: \"Add Column\",\n addRow: \"Add Row\",\n removeRow: \"Remove\",\n emptyRowsText: \"There are no rows.\",\n addPanel: \"Add new\",\n removePanel: \"Remove\",\n choices_Item: \"item\",\n matrix_column: \"Column\",\n matrix_row: \"Row\",\n multipletext_itemname: \"text\",\n savingData: \"The results are being saved on the server...\",\n savingDataError: \"An error occurred and we could not save the results.\",\n savingDataSuccess: \"The results were saved successfully!\",\n saveAgainButton: \"Try again\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"You have spent {0} on this page and {1} in total.\",\n timerSpentPage: \"You have spent {0} on this page.\",\n timerSpentSurvey: \"You have spent {0} in total.\",\n timerLimitAll:\n \"You have spent {0} of {1} on this page and {2} of {3} in total.\",\n timerLimitPage: \"You have spent {0} of {1} on this page.\",\n timerLimitSurvey: \"You have spent {0} of {1} in total.\",\n clearCaption: \"Clear\",\n signaturePlaceHolder: \"Sign here\",\n chooseFileCaption: \"Select File\",\n takePhotoCaption: \"Take Photo\",\n cameraPlaceHolder: \"Click the button below to take a photo using the camera.\",\n fileCameraDragAreaPlaceHolder: \"Drag and drop or select a file to upload or take a photo using the camera.\",\n replaceFileCaption: \"Replace file\",\n removeFileCaption: \"Remove this file\",\n booleanCheckedLabel: \"Yes\",\n booleanUncheckedLabel: \"No\",\n confirmRemoveFile: \"Are you sure that you want to remove this file: {0}?\",\n confirmRemoveAllFiles: \"Are you sure that you want to remove all files?\",\n questionTitlePatternText: \"Question Title\",\n modalCancelButtonText: \"Cancel\",\n modalApplyButtonText: \"Apply\",\n filterStringPlaceholder: \"Type to search...\",\n emptyMessage: \"No data to display\",\n noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\",\n noEntriesReadonlyText: \"There are no entries.\",\n more: \"More\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"All choices are ranked\",\n selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\",\n ok: \"OK\",\n cancel: \"Cancel\",\n};\n\n// Uncomment the lines below if you create a custom dictionary.\n// Replace \"en\" with a custom locale code (for example, \"fr\" or \"de\"),\n// Replace `englishStrings` with the name of the variable that contains the custom dictionary.\n// surveyLocalization.locales[\"en\"] = englishStrings;\n// surveyLocalization.localeNames[\"en\"] = \"English\";\n","import * as React from \"react\";\nimport { RendererFactory } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionBoolean } from \"./boolean\";\nimport { TitleActions } from \"./components/title/title-actions\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\nexport class SurveyQuestionBooleanCheckbox extends SurveyQuestionBoolean {\n constructor(props: any) {\n super(props);\n }\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const itemClass = this.question.getCheckboxItemCss();\n const description = this.question.canRenderLabelDescription ?\n SurveyElementBase.renderQuestionDescription(this.question) : null;\n return (\n <div className={cssClasses.rootCheckbox}>\n <div className={itemClass}>\n <label className={cssClasses.checkboxLabel}>\n <input\n ref={this.checkRef}\n type=\"checkbox\"\n name={this.question.name}\n value={\n this.question.booleanValue === null\n ? \"\"\n : this.question.booleanValue\n }\n id={this.question.inputId}\n className={cssClasses.controlCheckbox}\n disabled={this.isDisplayMode}\n checked={this.question.booleanValue || false}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <span className={cssClasses.checkboxMaterialDecorator}>\n {this.question.svgIcon ?\n <svg\n className={cssClasses.checkboxItemDecorator}\n >\n <use xlinkHref={this.question.svgIcon}></use>\n </svg> : null\n }\n <span className=\"check\" />\n </span>\n {this.question.isLabelRendered && (\n <span className={cssClasses.checkboxControlLabel} id={this.question.labelRenderedAriaID}>\n <TitleActions element={this.question} cssClasses={this.question.cssClasses}></TitleActions>\n </span>\n )}\n </label>\n {description}\n </div>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\n \"sv-boolean-checkbox\",\n (props) => {\n return React.createElement(SurveyQuestionBooleanCheckbox, props);\n }\n);\n\nRendererFactory.Instance.registerRenderer(\n \"boolean\",\n \"checkbox\",\n \"sv-boolean-checkbox\"\n);\n","import * as React from \"react\";\nimport { RendererFactory } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionBoolean } from \"./boolean\";\n\nexport class SurveyQuestionBooleanRadio extends SurveyQuestionBoolean {\n constructor(props: any) {\n super(props);\n }\n private renderRadioItem(value: any, locText: any): JSX.Element {\n const cssClasses = this.question.cssClasses;\n return (\n <div role=\"presentation\" className={ this.question.getRadioItemClass(cssClasses, value) }>\n <label className= { cssClasses.radioLabel }>\n <input\n type=\"radio\"\n name = { this.question.name }\n value = { value }\n aria-describedby = { this.question.ariaDescribedBy }\n checked={value === this.question.booleanValueRendered}\n disabled = { this.question.isInputReadOnly }\n className = { cssClasses.itemRadioControl }\n onChange={ this.handleOnChange }\n />\n { this.question.cssClasses.materialRadioDecorator?\n (<span className={ cssClasses.materialRadioDecorator }>\n { this.question.itemSvgIcon ?\n (<svg className={cssClasses.itemRadioDecorator}>\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg>):null}\n </span>):null}\n <span className= { cssClasses.radioControlLabel }>\n { this.renderLocString(locText) }\n </span>\n </label>\n </div>\n );\n }\n handleOnChange = (event: any) => {\n this.question.booleanValue = event.nativeEvent.target.value == \"true\";\n }\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n return (\n <div className={cssClasses.rootRadio}>\n <fieldset role=\"presentation\" className= { cssClasses.radioFieldset }>\n {this.renderRadioItem(false, this.question.locLabelFalse)}\n {this.renderRadioItem(true, this.question.locLabelTrue)}\n </fieldset>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\n \"sv-boolean-radio\",\n (props) => {\n return React.createElement(SurveyQuestionBooleanRadio, props);\n }\n);\n\nRendererFactory.Instance.registerRenderer(\n \"boolean\",\n \"radio\",\n \"sv-boolean-radio\"\n);\n","import * as React from \"react\";\nimport { QuestionBooleanModel, CssClassBuilder, Base } from \"survey-core\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionBoolean extends SurveyQuestionElementBase {\n protected checkRef: React.RefObject<HTMLInputElement>;\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.handleOnClick = this.handleOnClick.bind(this);\n this.handleOnLabelClick = this.handleOnLabelClick.bind(this);\n this.handleOnSwitchClick = this.handleOnSwitchClick.bind(this);\n this.handleOnKeyDown = this.handleOnKeyDown.bind(this);\n this.checkRef = React.createRef();\n }\n protected getStateElement(): Base {\n return this.question;\n }\n protected get question(): QuestionBooleanModel {\n return this.questionBase as QuestionBooleanModel;\n }\n /*\n private get allowClick(): boolean {\n return this.question.isIndeterminate && !this.isDisplayMode;\n }\n */\n private doCheck(value: boolean) {\n this.question.booleanValue = value;\n }\n handleOnChange(event: any) {\n this.doCheck(event.target.checked);\n }\n handleOnClick(event: any) {\n this.question.onLabelClick(event, true);\n }\n handleOnSwitchClick(event: any) {\n this.question.onSwitchClickModel(event.nativeEvent);\n }\n handleOnLabelClick(event: any, value: boolean) {\n this.question.onLabelClick(event, value);\n }\n handleOnKeyDown(event: any) {\n this.question.onKeyDownCore(event);\n }\n\n protected updateDomElement() {\n if (!this.question) return;\n const el = this.checkRef.current;\n if (el) {\n el.indeterminate = this.question.isIndeterminate;\n }\n this.setControl(el);\n super.updateDomElement();\n }\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const itemClass: string = this.question.getItemCss();\n return (\n <div className={cssClasses.root} onKeyDown={this.handleOnKeyDown}>\n <label className={itemClass} onClick={this.handleOnClick}>\n <input\n ref={this.checkRef}\n type=\"checkbox\"\n name={this.question.name}\n value={\n this.question.booleanValue === null\n ? \"\"\n : this.question.booleanValue\n }\n id={this.question.inputId}\n className={cssClasses.control}\n disabled={this.isDisplayMode}\n checked={this.question.booleanValue || false}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <div className={cssClasses.sliderGhost} onClick={(event) => this.handleOnLabelClick(event, false)}>\n <span className={this.question.getLabelCss(false)}>\n {this.renderLocString(this.question.locLabelFalse)}\n </span>\n </div>\n <div className={cssClasses.switch} onClick={this.handleOnSwitchClick}>\n <span className={cssClasses.slider}>\n {\n this.question.isDeterminated && cssClasses.sliderText ?\n <span className={cssClasses.sliderText}>{ this.renderLocString(this.question.getCheckedLabel()) }</span>\n : null\n }\n </span>\n </div>\n <div className={cssClasses.sliderGhost} onClick={(event) => this.handleOnLabelClick(event, true)}>\n <span className={this.question.getLabelCss(true)}>\n {this.renderLocString(this.question.locLabelTrue)}\n </span>\n </div>\n </label>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"boolean\", (props) => {\n return React.createElement(SurveyQuestionBoolean, props);\n});\n","import React from \"react\";\r\nimport { ActionDropdownViewModel, getActionDropdownButtonTarget } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { Popup } from \"../popup/popup\";\r\nimport { SurveyActionBarItem } from \"./action-bar-item\";\r\n\r\nexport class SurveyActionBarItemDropdown extends SurveyActionBarItem {\r\n private viewModel: ActionDropdownViewModel;\r\n constructor(props: any) {\r\n super(props);\r\n this.viewModel = new ActionDropdownViewModel(this.item);\r\n }\r\n renderInnerButton() {\r\n const button = super.renderInnerButton();\r\n return (\r\n <>\r\n {button}\r\n <Popup model={this.item.popupModel} getTarget={getActionDropdownButtonTarget}></Popup>\r\n </>\r\n );\r\n }\r\n componentWillUnmount(): void {\r\n super.componentWillUnmount();\r\n this.viewModel.dispose();\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-action-bar-item-dropdown\", (props) => {\r\n return React.createElement(SurveyActionBarItemDropdown, props);\r\n});\r\n","import React from \"react\";\r\nimport { Base, Action } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { SurveyElementBase } from \"../../reactquestion_element\";\r\nimport { attachKey2click } from \"../../reactSurvey\";\r\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\r\nimport { SurveyActionBarSeparator } from \"./action-bar-separator\";\r\n\r\ninterface IActionBarItemProps {\r\n item: Action;\r\n}\r\n\r\nexport class SurveyAction extends SurveyElementBase<IActionBarItemProps, any> {\r\n get item() {\r\n return this.props.item;\r\n }\r\n protected getStateElement(): Base {\r\n return this.item;\r\n }\r\n\r\n renderElement() {\r\n //refactor\r\n const itemClass = this.item.getActionRootCss();\r\n const separator = this.item.needSeparator ? (\r\n <SurveyActionBarSeparator></SurveyActionBarSeparator>\r\n ) : null;\r\n\r\n const itemComponent = ReactElementFactory.Instance.createElement(\r\n this.item.component || \"sv-action-bar-item\",\r\n {\r\n item: this.item,\r\n }\r\n );\r\n return (\r\n <div className={itemClass} id={this.item.id}>\r\n <div className=\"sv-action__content\">\r\n {separator}\r\n {itemComponent}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport class SurveyActionBarItem extends SurveyElementBase<\r\n IActionBarItemProps,\r\n any\r\n> {\r\n get item(): Action {\r\n return this.props.item;\r\n }\r\n protected getStateElement(): Base {\r\n return this.item;\r\n }\r\n\r\n renderElement() {\r\n return <>{this.renderInnerButton()}</>;\r\n }\r\n\r\n renderText() {\r\n if (!this.item.hasTitle) return null;\r\n const titleClass = this.item.getActionBarItemTitleCss();\r\n return <span className={titleClass}>{this.item.title}</span>;\r\n }\r\n\r\n renderButtonContent() {\r\n const text = this.renderText();\r\n const svgIcon = !!this.item.iconName ? (\r\n <SvgIcon\r\n className={this.item.cssClasses.itemIcon}\r\n size={this.item.iconSize}\r\n iconName={this.item.iconName}\r\n title={this.item.tooltip || this.item.title}\r\n ></SvgIcon>\r\n ) : null;\r\n return (\r\n <>\r\n {svgIcon}\r\n {text}\r\n </>\r\n );\r\n }\r\n\r\n renderInnerButton() {\r\n const className = this.item.getActionBarItemCss();\r\n const title = this.item.tooltip || this.item.title;\r\n const buttonContent = this.renderButtonContent();\r\n const tabIndex = this.item.disableTabStop ? -1 : undefined;\r\n const button = attachKey2click(\r\n <button\r\n className={className}\r\n type=\"button\"\r\n disabled={this.item.disabled}\r\n onClick={(args) => this.item.action(this.item, this.item.getIsTrusted(args))}\r\n title={title}\r\n tabIndex={tabIndex}\r\n aria-checked={this.item.ariaChecked}\r\n aria-expanded={this.item.ariaExpanded}\r\n role={this.item.ariaRole}\r\n >\r\n {buttonContent}\r\n </button>, null, { processEsc: false });\r\n\r\n return button;\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-action-bar-item\", (props) => {\r\n return React.createElement(SurveyActionBarItem, props);\r\n});\r\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\nexport class SurveyActionBarSeparator extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n }\n render() {\n var className = `sv-action-bar-separator ${this.props.cssClasses}`;\n return <div className={className}></div>;\n }\n}\nReactElementFactory.Instance.registerElement(\n \"sv-action-bar-separator\",\n (props) => {\n return React.createElement(SurveyActionBarSeparator, props);\n }\n);\n","import React from \"react\";\nimport {\n Base,\n Action,\n ActionContainer\n} from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { SurveyAction } from \"./action-bar-item\";\n\nexport * from \"./action-bar-item-dropdown\";\nexport * from \"./action-bar-separator\";\n\ninterface IActionBarProps {\n model: ActionContainer<Action>;\n handleClick?: boolean;\n}\n\nexport class SurveyActionBar extends SurveyElementBase<IActionBarProps, any> {\n private rootRef: React.RefObject<HTMLDivElement>;\n\n constructor(props: IActionBarProps) {\n super(props);\n this.rootRef = React.createRef();\n }\n\n private get handleClick() {\n return this.props.handleClick !== undefined ? this.props.handleClick : true;\n }\n\n get model() {\n return this.props.model;\n }\n\n componentDidMount() {\n super.componentDidMount();\n if (!this.model.hasActions) return;\n const container: HTMLDivElement | null = this.rootRef.current;\n if(!!container) {\n this.model.initResponsivityManager(container);\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.model.hasActions) {\n this.model.resetResponsivityManager();\n }\n }\n\n protected getStateElement(): Base {\n return this.model;\n }\n\n renderElement(): any {\n if (!this.model.hasActions) return null;\n const items = this.renderItems();\n return (\n <div\n ref={this.rootRef}\n className={this.model.getRootCss()}\n onClick={this.handleClick ? function(event) {\n event.stopPropagation();\n } : undefined}\n >\n {items}\n </div>\n );\n }\n\n renderItems() {\n return this.model.renderedActions.map(\n (item: Action, itemIndex: number) => {\n return (\n <SurveyAction item={item} key={\"item\" + itemIndex}></SurveyAction>\n );\n }\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-action-bar\", (props) => {\n return React.createElement(\n SurveyActionBar,\n (props as any) as IActionBarProps\n );\n});\n","import React from \"react\";\n\nexport class BrandInfo extends React.Component<any, any> {\n render() {\n return (\n <div className=\"sv-brand-info\">\n <a className=\"sv-brand-info__logo\" href=\"https://surveyjs.io/?utm_source=built-in_links&utm_medium=online_survey_tool&utm_campaign=landing_page\"><img src=\"https://surveyjs.io/Content/Images/poweredby.svg\"/></a>\n <div className=\"sv-brand-info__text\">Try and see how easy it is to <a href=\"https://surveyjs.io/create-survey?utm_source=built-in_links&utm_medium=online_survey_tool&utm_campaign=create_survey\">create a survey</a></div>\n <div className=\"sv-brand-info__terms\"><a href=\"https://surveyjs.io/TermsOfUse\">Terms of Use & Privacy Statement</a></div>\n </div>\n );\n }\n}\n","import React from \"react\";\nimport { Base, CharacterCounter } from \"survey-core\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { SurveyElementBase } from \"../reactquestion_element\";\n\nexport interface ICharacterCounterComponentProps {\n counter: CharacterCounter;\n remainingCharacterCounter: string;\n}\n\nexport class CharacterCounterComponent extends SurveyElementBase<ICharacterCounterComponentProps, any> {\n protected getStateElement(): Base {\n return this.props.counter;\n }\n\n renderElement(): JSX.Element | null {\n return (<div className={this.props.remainingCharacterCounter}>{this.props.counter.remainingCharacterCounter}</div>);\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-character-counter\", (props) => {\n return React.createElement(CharacterCounterComponent, props);\n});","import React from \"react\";\nimport { ISurveyLayoutElement } from \"survey-core\";\nimport { ReactElementFactory } from \"../element-factory\";\n\nexport class ComponentsContainer extends React.Component<any, any> {\n render(): JSX.Element | null {\n const components: Array<ISurveyLayoutElement> = this.props.survey.getContainerContent(this.props.container);\n const needRenderWrapper = this.props.needRenderWrapper === false ? false : true;\n if(components.length == 0) {\n return null;\n }\n if(!needRenderWrapper) {\n return <>\n {components.map(component => {\n return ReactElementFactory.Instance.createElement(component.component as string, { survey: this.props.survey, model: component.data, container: this.props.container, key: component.id });\n })}\n </>;\n }\n return <div className=\"sv-components-column\">\n {components.map(component => {\n return ReactElementFactory.Instance.createElement(component.component as string, { survey: this.props.survey, model: component.data, container: this.props.container, key: component.id });\n })}\n </div>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-components-container\", (props: any) => {\n return React.createElement(ComponentsContainer, props);\n});\n","import React from \"react\";\nimport { Base, SurveyModel, Cover, CoverCell } from \"survey-core\";\nimport { SurveyElementBase } from \"../reactquestion_element\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { TitleElement } from \"./title/title-element\";\n\nexport interface ILayoutElementProps<T = Base> {\n survey: SurveyModel;\n model: T;\n}\n\nexport class CoverCellComponent extends React.Component<any, any> {\n get model(): CoverCell {\n return this.props.model;\n }\n private renderLogoImage(): JSX.Element | null {\n const componentName: string = this.model.survey.getElementWrapperComponentName(\n this.model.survey,\n \"logo-image\"\n );\n const componentData: any = this.model.survey.getElementWrapperComponentData(\n this.model.survey,\n \"logo-image\"\n );\n return ReactElementFactory.Instance.createElement(componentName, {\n data: componentData,\n });\n }\n\n render(): JSX.Element | null {\n return (<div className={this.model.css} style={this.model.style}>\n <div className=\"sv-cover__cell-content\" style={this.model.contentStyle}>\n {this.model.showLogo ? (<div className=\"sv-cover__logo\">\n {this.renderLogoImage()}\n </div>) : null}\n {this.model.showTitle ? (<div className=\"sv-cover__title\" style={{ maxWidth: this.model.textWidth }}>\n {/* {ReactElementFactory.Instance.createElement(\"survey-element-title\", { element: this.model.survey })} */}\n <TitleElement element={this.model.survey}/>\n </div>) : null}\n {this.model.showDescription ? (<div className=\"sv-cover__description\" style={{ maxWidth: this.model.textWidth }}>\n <h5 className={this.model.survey.css.description}>\n {SurveyElementBase.renderLocString(this.model.survey.locDescription)}\n </h5>\n </div>) : null}\n </div>\n </div>);\n }\n}\n\nexport class CoverComponent extends SurveyElementBase<ILayoutElementProps<Cover>, any> {\n get model(): Cover {\n return this.props.model;\n }\n protected getStateElement(): Base {\n return this.model;\n }\n\n renderElement(): JSX.Element | null {\n this.model.survey = this.props.survey;\n\n if(!(this.props.survey.titleView === \"cover\" && this.props.survey.renderedHasHeader)) {\n return null;\n }\n\n return (\n <div className={this.model.coverClasses} style={{ height: this.model.renderedHeight }}>\n {this.model.backgroundImage ? <div style={this.model.backgroundImageStyle} className={this.model.backgroundImageClasses}></div> : null}\n <div className={this.model.contentClasses}>\n {this.model.cells.map((cell, index) => <CoverCellComponent key={index} model={cell}/>)}\n </div>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-cover\", (props) => {\n return React.createElement(CoverComponent, props);\n});","import React from \"react\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\nimport { QuestionFileModel } from \"survey-core\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\nexport class SurveyFileChooseButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionFileModel {\n return (this.props.item && this.props.item.data.question) || this.props.data.question;\n }\n render() {\n return attachKey2click(\n <label\n role=\"button\"\n tabIndex={0}\n className={this.question.getChooseFileCss()}\n htmlFor={this.question.inputId}\n aria-label={this.question.chooseButtonText}\n >\n {(!!this.question.cssClasses.chooseFileIconId) ? <SvgIcon title={this.question.chooseButtonText} iconName={this.question.cssClasses.chooseFileIconId} size={\"auto\"}></SvgIcon>: null }\n <span>{this.question.chooseButtonText}</span>\n </label>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-file-choose-btn\",\n (props) => {\n return React.createElement(SurveyFileChooseButton, props);\n }\n);","import React from \"react\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { QuestionFileModel } from \"survey-core\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\nexport class SurveyFilePreview extends SurveyElementBase<{ question: QuestionFileModel }, {}> {\n\n protected get question(): QuestionFileModel {\n return this.props.question;\n }\n\n protected renderFileSign(className: string, val: any): JSX.Element | null {\n if(!className || !val.name) return null;\n return (\n <div className={className}>\n <a\n href={val.content}\n onClick={event => {\n this.question.doDownloadFile(event, val);\n }}\n title={val.name}\n download={val.name}\n style={{ width: this.question.imageWidth }}\n >\n {val.name}\n </a>\n </div>\n );\n }\n\n protected renderElement(): JSX.Element | null {\n var previews = this.question.previewValue.map((val, index) => {\n if (!val) return null;\n return (\n <span\n key={this.question.inputId + \"_\" + index}\n className={this.question.cssClasses.preview}\n style={{ display: this.question.isPreviewVisible(index) ? undefined : \"none\" }}\n >\n {this.renderFileSign(this.question.cssClasses.fileSign, val)}\n <div className={this.question.cssClasses.imageWrapper}>\n {this.question.canPreviewImage(val) ? (\n <img\n src={val.content}\n style={{ height: this.question.imageHeight, width: this.question.imageWidth }}\n alt=\"File preview\"\n />\n ) : (this.question.cssClasses.defaultImage?(\n <SvgIcon iconName={this.question.cssClasses.defaultImageIconId} size={\"auto\"} className={this.question.cssClasses.defaultImage}></SvgIcon>\n ):null)}\n {val.name && !this.question.isReadOnly ? (\n <div className={this.question.getRemoveButtonCss()} onClick={() => this.question.doRemoveFile(val)}>\n <span\n className={this.question.cssClasses.removeFile}\n >\n {this.question.removeFileCaption}\n </span>\n {(this.question.cssClasses.removeFileSvgIconId) ?\n (<SvgIcon title={this.question.removeFileCaption} iconName={this.question.cssClasses.removeFileSvgIconId} size={\"auto\"} className={this.question.cssClasses.removeFileSvg}></SvgIcon>): null }\n </div>\n ) : null}\n </div>\n {this.renderFileSign(this.question.cssClasses.fileSignBottom, val)}\n </span>\n );\n });\n return <div className={this.question.cssClasses.fileList || undefined}>{previews}</div>;\n }\n protected canRender(): boolean {\n return this.question.showPreviewContainer;\n }\n}\nReactElementFactory.Instance.registerElement(\n \"sv-file-preview\",\n (props) => {\n return React.createElement(SurveyFilePreview, props);\n }\n);","import React from \"react\";\r\nimport { ListModel } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { SurveyElementBase } from \"../../reactquestion_element\";\r\nimport { attachKey2click } from \"../../reactSurvey\";\r\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\r\n\r\ninterface IListItemProps {\r\n model: ListModel;\r\n item: any;\r\n}\r\n\r\nexport class ListItem extends SurveyElementBase<IListItemProps, any> {\r\n get model(): ListModel {\r\n return this.props.model;\r\n }\r\n get item(): any {\r\n return this.props.item;\r\n }\r\n handleKeydown = (event: any) => {\r\n this.model.onKeyDown(event);\r\n };\r\n getStateElement() {\r\n return this.item;\r\n }\r\n render(): JSX.Element | null {\r\n if (!this.item) return null;\r\n const contentWrapStyle = {\r\n paddingInlineStart: this.model.getItemIndent(this.item)\r\n };\r\n const className = this.model.getItemClass(this.item);\r\n const content: Array<JSX.Element> = [];\r\n if (!this.item.component) {\r\n const text = this.renderLocString(this.item.locTitle, undefined, \"locString\");\r\n if(this.item.iconName) {\r\n const icon = <SvgIcon\r\n key={1}\r\n className={this.model.cssClasses.itemIcon}\r\n iconName={this.item.iconName}\r\n size={this.item.iconSize}\r\n aria-label={this.item.title}\r\n ></SvgIcon>;\r\n content.push(icon);\r\n content.push(<span key={2}>{text}</span>);\r\n } else {\r\n content.push(text);\r\n }\r\n } else {\r\n const newElement = ReactElementFactory.Instance.createElement(this.item.component, { item: this.item, key: this.item.id });\r\n if(!!newElement) {\r\n content.push(newElement);\r\n }\r\n }\r\n\r\n const contentWrap =\r\n <div\r\n style={contentWrapStyle}\r\n className={this.model.cssClasses.itemBody}\r\n >\r\n {content}\r\n </div>;\r\n const separator = this.item.needSeparator ? <div className = {this.model.cssClasses.itemSeparator}/>:null;\r\n const isVisible = this.model.isItemVisible(this.item);\r\n const style = {\r\n display: isVisible ? null : \"none\"\r\n };\r\n return attachKey2click(\r\n <li\r\n className={className}\r\n role=\"option\"\r\n style={style as any}\r\n id={this.item.elementId}\r\n aria-selected={this.model.isItemSelected(this.item)}\r\n onClick={(event: any) => {\r\n this.model.onItemClick(this.item);\r\n event.stopPropagation();\r\n }}\r\n onPointerDown={(event: any) => this.model.onPointerDown(event, this.item)}>\r\n {separator}\r\n {contentWrap}\r\n </li>\r\n );\r\n }\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.model.onLastItemRended(this.item);\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-list-item\", (props) => {\r\n return React.createElement(ListItem, props);\r\n});\r\n","import React from \"react\";\r\nimport { IAction, ListModel, settings } from \"survey-core\";\r\nimport { ReactElementFactory } from \"../../element-factory\";\r\nimport { SurveyElementBase } from \"../../reactquestion_element\";\r\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\r\nimport { ListItem } from \"./list-item\";\r\n\r\ninterface IListProps {\r\n model: ListModel;\r\n}\r\n\r\nexport class List extends SurveyElementBase<IListProps, any> {\r\n private listContainerRef: React.RefObject<HTMLDivElement>;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n filterString: this.model.filterString || \"\"\r\n };\r\n this.listContainerRef = React.createRef();\r\n }\r\n get model(): ListModel {\r\n return this.props.model;\r\n }\r\n handleKeydown = (event: any) => {\r\n this.model.onKeyDown(event);\r\n };\r\n handleMouseMove = (event: any) => {\r\n this.model.onMouseMove(event);\r\n };\r\n getStateElement() {\r\n return this.model;\r\n }\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n if(!!this.listContainerRef && !!this.listContainerRef.current) {\r\n this.model.initListContainerHtmlElement(this.listContainerRef.current);\r\n }\r\n }\r\n componentWillUnmount(): void {\r\n super.componentWillUnmount();\r\n if(!!this.model) {\r\n this.model.initListContainerHtmlElement(undefined as any);\r\n }\r\n }\r\n renderElement() {\r\n return (\r\n <div className={this.model.cssClasses.root} ref={this.listContainerRef}>\r\n {this.searchElementContent()}\r\n {this.emptyContent()}\r\n {this.renderList()}\r\n </div>\r\n );\r\n }\r\n renderList() {\r\n if(!this.model.renderElements) return null;\r\n\r\n const items = this.renderItems();\r\n const ulStyle = { display: this.model.isEmpty ? \"none\" : null };\r\n\r\n return (\r\n <ul\r\n className={this.model.getListClass()}\r\n style={ulStyle as any}\r\n role=\"listbox\"\r\n id={this.model.elementId}\r\n onMouseDown={(e) => {\r\n e.preventDefault();\r\n }}\r\n onKeyDown={this.handleKeydown}\r\n onMouseMove={this.handleMouseMove}\r\n >\r\n {items}\r\n </ul>);\r\n }\r\n renderItems() {\r\n if (!this.model) {\r\n return null;\r\n }\r\n const items = this.model.renderedActions;\r\n if (!items) {\r\n return null;\r\n }\r\n return items.map((item: IAction, itemIndex: number) => {\r\n return (\r\n <ListItem model={this.model} item={item} key={\"item\" + itemIndex}></ListItem>\r\n );\r\n });\r\n }\r\n\r\n searchElementContent() {\r\n if (!this.model.showFilter) return null;\r\n else {\r\n const onChange = (e: any) => {\r\n const { root } = settings.environment;\r\n if (e.target === root.activeElement) {\r\n this.model.filterString = e.target.value;\r\n }\r\n };\r\n const onKeyUp = (e: any) => {\r\n this.model.goToItems(e);\r\n };\r\n const clearButton = this.model.showSearchClearButton && !!this.model.filterString ?\r\n <button className={this.model.cssClasses.searchClearButtonIcon} onClick={(event) => { this.model.onClickSearchClearButton(event); }}>\r\n <SvgIcon\r\n iconName={\"icon-searchclear\"}\r\n size={\"auto\"}\r\n >\r\n </SvgIcon>\r\n </button> : null;\r\n\r\n return (\r\n <div className={this.model.cssClasses.filter}>\r\n <div className={this.model.cssClasses.filterIcon}>\r\n <SvgIcon\r\n iconName={\"icon-search\"}\r\n size={\"auto\"}\r\n >\r\n </SvgIcon>\r\n </div>\r\n <input\r\n type=\"text\"\r\n className={this.model.cssClasses.filterInput}\r\n aria-label={this.model.filterStringPlaceholder}\r\n placeholder={this.model.filterStringPlaceholder}\r\n value={this.state.filterString}\r\n onKeyUp={onKeyUp}\r\n onChange={onChange}\r\n ></input>\r\n {clearButton}\r\n </div>\r\n );\r\n }\r\n }\r\n emptyContent() {\r\n const style = { display: this.model.isEmpty ? null : \"none\" };\r\n\r\n return (<div className={this.model.cssClasses.emptyContainer} style={style as any}>\r\n <div className={this.model.cssClasses.emptyText} aria-label={this.model.emptyMessage}>{this.model.emptyMessage}</div>\r\n </div>);\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\"sv-list\", (props) => {\r\n return React.createElement(List, props);\r\n});\r\n","import * as React from \"react\";\nimport { SvgIcon } from \"./svg-icon/svg-icon\";\n\nexport class LoadingIndicatorComponent extends React.Component<any, any> {\n render(): JSX.Element | null {\n return (<div className=\"sd-loading-indicator\"><SvgIcon iconName=\"icon-loading\" size=\"auto\"></SvgIcon></div>);\n }\n}","import React from \"react\";\nimport { Action, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase } from \"survey-core\";\nimport { ReactElementFactory } from \"../../../element-factory\";\nimport { ReactSurveyElement } from \"../../../reactquestion_element\";\nimport { SvgIcon } from \"../../svg-icon/svg-icon\";\n\nexport class SurveyQuestionMatrixDetailButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnShowHideClick = this.handleOnShowHideClick.bind(this);\n }\n protected getStateElement() {\n return this.props.item;\n }\n get item(): Action {\n return this.props.item;\n }\n private get question(): QuestionMatrixDropdownModelBase {\n return this.props.item.data.question;\n }\n private get row(): MatrixDropdownRowModelBase {\n return this.props.item.data.row;\n }\n handleOnShowHideClick(event: any) {\n this.row.showHideDetailPanelClick();\n }\n protected renderElement(): JSX.Element {\n var isExpanded = this.row.isDetailPanelShowing;\n var ariaExpanded = isExpanded;\n var ariaControls = isExpanded ? this.row.detailPanelId : undefined;\n return (\n <button\n type=\"button\"\n onClick={this.handleOnShowHideClick}\n className={this.question.getDetailPanelButtonCss(this.row)}\n aria-expanded={ariaExpanded}\n aria-controls={ariaControls}\n >\n <SvgIcon\n className={this.question.getDetailPanelIconCss(this.row)}\n iconName={this.question.getDetailPanelIconId(this.row)}\n size={\"auto\"}\n >\n </SvgIcon>\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-detail-button\",\n props => {\n return React.createElement(SurveyQuestionMatrixDetailButton, props);\n }\n);\n","import React from \"react\";\nimport { QuestionMatrixDropdownModelBase } from \"survey-core\";\nimport { ReactElementFactory } from \"../../../element-factory\";\nimport { ReactSurveyElement } from \"../../../reactquestion_element\";\n\nexport class SurveyQuestionMatrixDynamicDragDropIcon extends ReactSurveyElement {\n private get question(): QuestionMatrixDropdownModelBase {\n return this.props.item.data.question;\n }\n\n protected renderElement(): JSX.Element {\n if(this.question.iconDragElement) {\n return (<svg className={this.question.cssClasses.dragElementDecorator} >\n <use xlinkHref={this.question.iconDragElement}></use>\n </svg>);\n } else {\n return (<span className={this.question.cssClasses.iconDrag} />);\n }\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-drag-drop-icon\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixDynamicDragDropIcon, props);\n }\n);\n","import React from \"react\";\nimport {\n MatrixDropdownRowModelBase,\n QuestionMatrixDropdownModelBase,\n} from \"survey-core\";\nimport { ReactElementFactory } from \"../../../element-factory\";\nimport { ReactSurveyElement } from \"../../../reactquestion_element\";\n\nexport class SurveyQuestionMatrixDynamicRemoveButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnRowRemoveClick = this.handleOnRowRemoveClick.bind(this);\n }\n private get question(): QuestionMatrixDropdownModelBase {\n return this.props.item.data.question;\n }\n private get row(): MatrixDropdownRowModelBase {\n return this.props.item.data.row;\n }\n handleOnRowRemoveClick(event: any) {\n this.question.removeRowUI(this.row);\n }\n protected renderElement(): JSX.Element {\n var removeRowText = this.renderLocString(this.question.locRemoveRowText);\n return (\n <button\n className={this.question.getRemoveRowButtonCss()}\n type=\"button\"\n onClick={this.handleOnRowRemoveClick}\n disabled={this.question.isInputReadOnly}\n >\n {removeRowText}\n <span className={this.question.cssClasses.iconRemove} />\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-remove-button\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixDynamicRemoveButton, props);\n }\n);\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownModelBase } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\n\ninterface IMatrixRowProps {\n model: QuestionMatrixDropdownRenderedRow;\n parentMatrix: QuestionMatrixDropdownModelBase;\n}\n\nexport class MatrixRow extends SurveyElementBase<IMatrixRowProps, any> {\n constructor(props: IMatrixRowProps) {\n super(props);\n }\n get model(): QuestionMatrixDropdownRenderedRow {\n return this.props.model;\n }\n get parentMatrix(): QuestionMatrixDropdownModelBase {\n return this.props.parentMatrix;\n }\n protected getStateElement() {\n return this.model;\n }\n protected onPointerDownHandler = (event: any) => {\n this.parentMatrix.onPointerDown(event.nativeEvent, this.model.row);\n }\n\n render() {\n const model = this.model;\n if(!model.visible) return null;\n return (\n <tr\n className={model.className}\n data-sv-drop-target-matrix-row={model.row && model.row.id}\n onPointerDown={(event: any) => this.onPointerDownHandler(event)}\n >\n {this.props.children}\n </tr>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrix-row\",\n (props: IMatrixRowProps) => {\n return React.createElement(MatrixRow, props);\n }\n);\n","import React from \"react\";\nimport { Base, Notifier } from \"survey-core\";\nimport { SurveyElementBase } from \"../reactquestion_element\";\nimport { ReactElementFactory } from \"../element-factory\";\nimport { SurveyActionBar } from \"./action-bar/action-bar\";\n\nexport interface INotifierComponentProps {\n notifier: Notifier;\n}\n\nexport class NotifierComponent extends SurveyElementBase<INotifierComponentProps, any> {\n get notifier(): Notifier {\n return this.props.notifier;\n }\n protected getStateElement(): Base {\n return this.notifier;\n }\n\n renderElement(): JSX.Element | null {\n if(!this.notifier.isDisplayed) return null;\n\n const style = { visibility: this.notifier.active ? \"visible\" : \"hidden\" } as React.CSSProperties;\n\n return (\n <div className={this.notifier.css} style={style} role=\"alert\" aria-live=\"polite\">\n <span>{this.notifier.message}</span>\n <SurveyActionBar model={this.notifier.actionBar}></SurveyActionBar>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-notifier\", (props) => {\n return React.createElement(NotifierComponent, props);\n});","import React from \"react\";\nimport {\n QuestionPanelDynamicModel\n} from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\n\nexport class SurveyQuestionPanelDynamicAction extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected get data(): any {\n return (this.props.item && this.props.item.data) || this.props.data;\n }\n protected get question(): QuestionPanelDynamicModel {\n return (this.props.item && this.props.item.data.question) || this.props.data.question;\n }\n}\n\nexport class SurveyQuestionPanelDynamicAddButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.addPanelUI();\n }\n protected renderElement(): JSX.Element | null {\n if (!this.question.canAddPanel) return null;\n return (\n <button type=\"button\" className={this.question.getAddButtonCss()} onClick={this.handleClick} >\n <span className={this.question.cssClasses.buttonAddText}>{this.question.panelAddText}</span>\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-add-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicAddButton, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicNextButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.goToNextPanel();\n }\n protected renderElement(): JSX.Element {\n return (\n <div title={this.question.panelNextText} onClick={this.handleClick} className={this.question.getNextButtonCss()}>\n <SvgIcon\n iconName={this.question.cssClasses.progressBtnIcon}\n size={\"auto\"}\n >\n </SvgIcon>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-next-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicNextButton, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicPrevButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.goToPrevPanel();\n }\n protected renderElement(): JSX.Element {\n return (\n <div title={this.question.panelPrevText} onClick={this.handleClick} className={this.question.getPrevButtonCss()}>\n <SvgIcon\n iconName={this.question.cssClasses.progressBtnIcon}\n size={\"auto\"}\n >\n </SvgIcon>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-prev-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicPrevButton, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicProgressText extends SurveyQuestionPanelDynamicAction {\n protected renderElement(): JSX.Element {\n return (<div className={this.question.cssClasses.progressText}>\n {this.question.progressText}\n </div>);\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-progress-text\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicProgressText, props);\n }\n);","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\nimport { SurveyQuestionPanelDynamic } from \"../../reactquestion_paneldynamic\";\nimport { SurveyQuestionPanelDynamicAction } from \"./paneldynamic-add-btn\";\n\nexport class SurveyQuestionPanelDynamicRemoveButton extends SurveyQuestionPanelDynamicAction {\n protected handleClick = (event: any) => {\n this.question.removePanelUI(this.data.panel);\n }\n protected renderElement(): JSX.Element {\n return (\n <button\n className={this.question.getPanelRemoveButtonCss()}\n onClick={this.handleClick}\n type=\"button\">\n <span\n className={this.question.cssClasses.buttonRemoveText}\n >{this.question.panelRemoveText}</span>\n <span\n className={this.question.cssClasses.iconRemove}\n ></span>\n </button>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-paneldynamic-remove-btn\",\n (props) => {\n return React.createElement(SurveyQuestionPanelDynamicRemoveButton, props);\n }\n);\n","import ReactDOM from \"react-dom\";\nimport React from \"react\";\nimport { Base, PopupModel, PopupBaseViewModel, PopupDropdownViewModel, IDialogOptions, createDialogOptions, createPopupModalViewModel, createPopupViewModel, CssClassBuilder, settings } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { SurveyActionBar } from \"../action-bar/action-bar\";\n\ninterface IPopupProps {\n model: PopupModel;\n getTarget?: (container: HTMLElement) => HTMLElement;\n}\n\nexport class Popup extends SurveyElementBase<IPopupProps, any> {\n private popup: PopupBaseViewModel;\n private containerRef: React.RefObject<HTMLDivElement>;\n constructor(props: IPopupProps) {\n super(props);\n this.containerRef = React.createRef();\n this.createModel();\n }\n get model(): PopupModel {\n return this.props.model;\n }\n protected getStateElement(): Base {\n return this.model;\n }\n private createModel(): void {\n this.popup = createPopupViewModel(this.props.model, undefined as any);\n }\n private setTargetElement(): void {\n const container = this.containerRef.current as HTMLElement;\n this.popup.setComponentElement(container, this.props.getTarget ? this.props.getTarget(container) : undefined);\n }\n componentDidMount(): void {\n super.componentDidMount();\n this.setTargetElement();\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.setTargetElement();\n }\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.popup.resetComponentElement();\n }\n shouldComponentUpdate(nextProps: IPopupProps, nextState: any) {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n const isNeedUpdate = nextProps.model !== this.popup.model;\n if(isNeedUpdate) {\n this.popup?.dispose();\n this.createModel();\n }\n return isNeedUpdate;\n }\n render(): JSX.Element {\n this.popup.model = this.model;\n let popupContainer;\n if(this.model.isModal) {\n popupContainer = <PopupContainer model={this.popup}></PopupContainer>;\n } else {\n popupContainer = <PopupDropdownContainer model={this.popup}></PopupDropdownContainer>;\n }\n return <div ref={this.containerRef}>{popupContainer}</div>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-popup\",\n (props: IPopupProps) => {\n return React.createElement(Popup, props);\n }\n);\n\nexport class PopupContainer extends SurveyElementBase<any, any> {\n public prevIsVisible: boolean = false;\n constructor(props: any) {\n super(props);\n }\n handleKeydown = (event: any) => {\n this.model.onKeyDown(event);\n };\n get model(): PopupBaseViewModel {\n return this.props.model;\n }\n protected getStateElement(): Base {\n return this.model;\n }\n clickInside = (ev: any) => {\n ev.stopPropagation();\n };\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n if (!this.prevIsVisible && this.model.isVisible) {\n this.model.updateOnShowing();\n }\n this.prevIsVisible = this.model.isVisible;\n }\n renderContainer(PopupBaseViewModel: PopupBaseViewModel): JSX.Element {\n const headerPopup = PopupBaseViewModel.showHeader ? this.renderHeaderPopup(PopupBaseViewModel) : null;\n const headerContent = !!PopupBaseViewModel.title ? this.renderHeaderContent() : null;\n const content = this.renderContent();\n const footerContent = PopupBaseViewModel.showFooter ? this.renderFooter(this.model) : null;\n return (\n <div\n className=\"sv-popup__container\"\n style={{\n left: PopupBaseViewModel.left,\n top: PopupBaseViewModel.top,\n height: PopupBaseViewModel.height,\n width: PopupBaseViewModel.width,\n minWidth: PopupBaseViewModel.minWidth,\n }}\n onClick={(ev: any) => {\n this.clickInside(ev);\n }}\n >\n <div className=\"sv-popup__shadow\">\n {headerPopup}\n <div className=\"sv-popup__body-content\">\n {headerContent}\n <div className=\"sv-popup__scrolling-content\">\n {content}\n </div>\n {footerContent}\n </div>\n </div>\n </div>\n );\n }\n renderHeaderContent(): JSX.Element {\n return <div className=\"sv-popup__body-header\">{this.model.title}</div>;\n }\n renderContent(): JSX.Element {\n const contentComponent = ReactElementFactory.Instance.createElement(\n this.model.contentComponentName,\n this.model.contentComponentData\n );\n return <div className=\"sv-popup__content\">{contentComponent}</div>;\n }\n\n protected renderHeaderPopup(popupModel: PopupBaseViewModel): JSX.Element | null {\n return null;\n }\n protected renderFooter(popuModel: PopupBaseViewModel): JSX.Element | null {\n return (\n <div className=\"sv-popup__body-footer\">\n <SurveyActionBar model={popuModel.footerToolbar}></SurveyActionBar>\n </div>\n );\n }\n render(): JSX.Element {\n const container = this.renderContainer(this.model);\n const className = new CssClassBuilder()\n .append(\"sv-popup\")\n .append(this.model.styleClass)\n .toString();\n const style = { display: this.model.isVisible ? \"\" : \"none\", };\n return (\n <div\n tabIndex={-1}\n className={className}\n style={style}\n onClick={(e: any) => {\n this.model.clickOutside(e);\n }}\n onKeyDown={this.handleKeydown}\n >\n {container}\n </div>\n );\n }\n}\nexport class PopupDropdownContainer extends PopupContainer {\n\n protected renderHeaderPopup(popupModel: PopupBaseViewModel): JSX.Element | null {\n const popupDropdownModel = popupModel as PopupDropdownViewModel;\n if(!popupDropdownModel) return null;\n\n return (\n <span\n style={{\n left: popupDropdownModel.pointerTarget.left,\n top: popupDropdownModel.pointerTarget.top,\n }}\n className=\"sv-popup__pointer\"\n ></span>\n );\n }\n}\n\n// replace to showDialog then delete\nexport function showModal(\n componentName: string,\n data: any,\n onApply: () => boolean,\n onCancel?: () => void,\n cssClass?: string,\n title?: string,\n displayMode: \"popup\" | \"overlay\" = \"popup\"\n): PopupBaseViewModel {\n const options = createDialogOptions(\n componentName,\n data,\n onApply,\n onCancel,\n undefined,\n undefined,\n cssClass,\n title,\n displayMode\n );\n return showDialog(options);\n}\nexport function showDialog(dialogOptions: IDialogOptions, rootElement?: HTMLElement): PopupBaseViewModel {\n dialogOptions.onHide = () => {\n ReactDOM.unmountComponentAtNode(popupViewModel.container);\n popupViewModel.dispose();\n };\n const popupViewModel: PopupBaseViewModel = createPopupModalViewModel(dialogOptions, rootElement);\n ReactDOM.render(<PopupContainer model={popupViewModel} />, popupViewModel.container);\n popupViewModel.model.isVisible = true;\n\n return popupViewModel;\n}\n\nsettings.showModal = showModal;\nsettings.showDialog = showDialog;","import React from \"react\";\nimport { QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { IRatingItemProps, RatingItemBase } from \"./rating-item\";\n\nexport class RatingItemSmiley extends RatingItemBase {\n render(): JSX.Element | null {\n return (\n <label onMouseDown={this.handleOnMouseDown}\n style={this.question.getItemStyle(this.item.itemValue, this.item.highlight)}\n className={this.question.getItemClass(this.item.itemValue)}\n onMouseOver={e => this.question.onItemMouseIn(this.item)}\n onMouseOut={e => this.question.onItemMouseOut(this.item)}\n >\n <input\n type=\"radio\"\n className=\"sv-visuallyhidden\"\n name={this.question.name}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.isDisplayMode}\n checked={this.question.value == this.item.value}\n onClick={this.props.handleOnClick}\n onChange={() => { }}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <SvgIcon\n size={\"auto\"}\n iconName={this.question.getItemSmileyIconName(this.item.itemValue)}\n title={this.item.text}\n ></SvgIcon>\n </label>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-item-smiley\", (props) => {\n return React.createElement(RatingItemSmiley, props);\n});\n","import React from \"react\";\nimport { QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\nimport { IRatingItemProps, RatingItemBase } from \"./rating-item\";\n\nexport class RatingItemStar extends RatingItemBase {\n render(): JSX.Element | null {\n return (\n <label onMouseDown={this.handleOnMouseDown}\n className={this.question.getItemClass(this.item.itemValue)}\n onMouseOver={e => this.question.onItemMouseIn(this.item)}\n onMouseOut={e => this.question.onItemMouseOut(this.item)}\n >\n <input\n type=\"radio\"\n className=\"sv-visuallyhidden\"\n name={this.question.name}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.isDisplayMode}\n checked={this.question.value == this.item.value}\n onClick={this.props.handleOnClick}\n onChange={() => { }}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <SvgIcon\n className={\"sv-star\"}\n size={\"auto\"}\n iconName={this.question.itemStarIcon}\n title={this.item.text}\n ></SvgIcon>\n <SvgIcon\n className={\"sv-star-2\"}\n size={\"auto\"}\n iconName={this.question.itemStarIconAlt}\n title={this.item.text}\n ></SvgIcon>\n </label>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-item-star\", (props) => {\n return React.createElement(RatingItemStar, props);\n});\n","import React from \"react\";\nimport { Base, QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { attachKey2click } from \"../../reactSurvey\";\nimport { SvgIcon } from \"../svg-icon/svg-icon\";\n\nexport interface IRatingItemProps {\n question: QuestionRatingModel;\n item: RenderedRatingItem;\n index: any;\n handleOnClick: any;\n isDisplayMode: boolean;\n}\nexport class RatingItemBase extends SurveyElementBase<IRatingItemProps, any> {\n constructor(props: any) {\n super(props);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n }\n get question(): QuestionRatingModel {\n return this.props.question;\n }\n get item(): RenderedRatingItem {\n return this.props.item;\n }\n get index(): any {\n return this.props.index;\n }\n getStateElement(): Base {\n return this.item;\n }\n handleOnMouseDown(event: any) {\n this.question.onMouseDown();\n }\n}\nexport class RatingItem extends RatingItemBase {\n render(): JSX.Element | null {\n var itemText = this.renderLocString(this.item.locText);\n return (\n <label onMouseDown={this.handleOnMouseDown} className={this.question.getItemClassByText(this.item.itemValue, this.item.text)}>\n <input\n type=\"radio\"\n className=\"sv-visuallyhidden\"\n name={this.question.name}\n id={this.question.getInputId(this.index)}\n value={this.item.value}\n disabled={this.isDisplayMode}\n checked={this.question.value == this.item.value}\n onClick={this.props.handleOnClick}\n onChange={() => { }}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <span className={this.question.cssClasses.itemText}>{itemText}</span>\n </label>\n );\n }\n componentDidMount() {\n super.componentDidMount();\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-rating-item\", (props) => {\n return React.createElement(RatingItem, props);\n});\n","import React from \"react\";\nimport { ReactElementFactory } from \"../element-factory\";\n\nexport class Skeleton extends React.Component<any, any> {\n render() {\n return (\n <div className=\"sv-skeleton-element\" id={this.props.element?.id}>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-skeleton\", (props: any) => {\n return React.createElement(Skeleton, props);\n});\n","import React from \"react\";\nimport { Action } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { ReactSurveyElement } from \"../../reactquestion_element\";\n\nexport class SurveyNavigationButton extends ReactSurveyElement {\n protected get item(): Action {\n return this.props.item;\n }\n protected canRender(): boolean {\n return this.item.isVisible;\n }\n protected renderElement(): JSX.Element {\n return (\n <input\n className={this.item.innerCss}\n type=\"button\"\n disabled={this.item.disabled}\n onMouseDown={this.item.data && this.item.data.mouseDown}\n onClick={this.item.action}\n title={this.item.getTooltip()}\n value={this.item.title}\n />\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-nav-btn\",\n (props) => {\n return React.createElement(SurveyNavigationButton, props);\n }\n);","import React from \"react\";\nimport { SurveyModel } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\n\ninterface ILogoImageProps {\n data: SurveyModel;\n}\n\nexport class LogoImage extends React.Component<ILogoImageProps, any> {\n constructor(props: ILogoImageProps) {\n super(props);\n }\n private get survey(): SurveyModel {\n return this.props.data;\n }\n public render() {\n const content: JSX.Element[] = [];\n content.push(\n <div key={\"logo-image\"} className={this.survey.logoClassNames}>\n <img\n className={this.survey.css.logoImage}\n src={this.survey.locLogo.renderedHtml}\n alt={this.survey.locTitle.renderedHtml}\n width={this.survey.renderedLogoWidth}\n height={this.survey.renderedLogoHeight}\n style={{ objectFit: this.survey.logoFit as any, width: this.survey.renderedStyleLogoWidth, height: this.survey.renderedStyleLogoHeight }}\n />\n </div>\n );\n return <>{content}</>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-logo-image\", (props: ILogoImageProps) => {\n return React.createElement(LogoImage, props);\n});\n","import React from \"react\";\nimport { SurveyModel } from \"survey-core\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { TitleElement } from \"../title/title-element\";\n\ninterface ISurveyHeaderProps {\n survey: SurveyModel;\n}\n\nexport class SurveyHeader extends React.Component<ISurveyHeaderProps, any> {\n constructor(props: ISurveyHeaderProps) {\n super(props);\n this.state = { changed: 0 };\n this.rootRef = React.createRef();\n }\n\n private get survey(): SurveyModel {\n return this.props.survey;\n }\n private get css(): any {\n return this.survey.css;\n }\n private rootRef: React.RefObject<HTMLDivElement>;\n\n componentDidMount() {\n const self: SurveyHeader = this;\n this.survey.afterRenderHeader(this.rootRef.current as HTMLDivElement);\n this.survey.locLogo.onChanged = function () {\n self.setState({ changed: self.state.changed + 1 });\n };\n }\n componentWillUnmount() {\n this.survey.locLogo.onChanged = function () { };\n }\n\n private renderTitle(): JSX.Element | null {\n if (!this.survey.renderedHasTitle) return null;\n const description = SurveyElementBase.renderLocString(\n this.survey.locDescription\n );\n return (\n <div\n className={this.css.headerText}\n style={{ maxWidth: this.survey.titleMaxWidth }}\n >\n <TitleElement element={this.survey}></TitleElement>\n { this.survey.renderedHasDescription ? <h5 className={this.css.description}>{description}</h5> : null }\n </div>\n );\n }\n\n private renderLogoImage(isRender: boolean): JSX.Element | null {\n if (!isRender) return null;\n const componentName: string = this.survey.getElementWrapperComponentName(\n this.survey,\n \"logo-image\"\n );\n const componentData: any = this.survey.getElementWrapperComponentData(\n this.survey,\n \"logo-image\"\n );\n return ReactElementFactory.Instance.createElement(componentName, {\n data: componentData,\n });\n }\n public render(): JSX.Element | null {\n if (!this.survey.renderedHasHeader) return null;\n return (\n <div className={this.css.header} ref={this.rootRef}>\n {this.renderLogoImage(this.survey.isLogoBefore)}\n {this.renderTitle()}\n {this.renderLogoImage(this.survey.isLogoAfter)}\n <div className={this.css.headerClose}></div>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"survey-header\",\n (props: ISurveyHeaderProps) => {\n return React.createElement(SurveyHeader, props);\n }\n);\n","import React from \"react\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { createSvg } from \"survey-core\";\n\nexport class SvgIcon extends React.Component<any, any> {\n private svgIconRef: any;\n constructor(props: any) {\n super(props);\n this.svgIconRef = React.createRef();\n }\n\n updateSvg() {\n if(this.props.iconName)\n createSvg(\n this.props.size,\n this.props.width,\n this.props.height,\n this.props.iconName,\n this.svgIconRef.current,\n this.props.title,\n );\n }\n componentDidUpdate() {\n this.updateSvg();\n }\n render() {\n let className = \"sv-svg-icon\";\n if(this.props.className) {\n className += \" \" + this.props.className;\n }\n return (\n this.props.iconName ?\n <svg className={ className } style={this.props.style} onClick={this.props.onClick} ref={this.svgIconRef} role=\"img\" aria-label={this.props.title}><use></use></svg>\n : null\n );\n }\n componentDidMount() {\n this.updateSvg();\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-svg-icon\", (props) => {\n return React.createElement(SvgIcon, props);\n});\n","import React from \"react\";\nimport { SurveyElement, RendererFactory } from \"survey-core\";\nimport { ReactElementFactory } from \"../../element-factory\";\nimport { SurveyActionBar } from \"../action-bar/action-bar\";\nimport { TitleContent } from \"./title-content\";\n\nexport class TitleActions extends React.Component<any, any> {\n protected get cssClasses() {\n return this.props.cssClasses;\n }\n protected get element(): SurveyElement {\n return this.props.element;\n }\n\n render(): JSX.Element {\n const titleContent: JSX.Element = <TitleContent element={this.element} cssClasses={this.cssClasses}></TitleContent>;\n if(!this.element.hasTitleActions) return titleContent;\n return (\n <div className=\"sv-title-actions\">\n <span className=\"sv-title-actions__title\">{titleContent}</span>\n <SurveyActionBar model={this.element.getTitleToolbar()}></SurveyActionBar>\n </div>\n );\n }\n}\n\nRendererFactory.Instance.registerRenderer(\n \"element\",\n \"title-actions\",\n \"sv-title-actions\"\n);\n\nReactElementFactory.Instance.registerElement(\"sv-title-actions\", (props) => {\n return React.createElement(TitleActions, props);\n});\n","import React from \"react\";\nimport { SurveyElementCore, ITitleOwner } from \"survey-core\";\nimport { SurveyElementBase } from \"../../reactquestion_element\";\n\nexport class TitleContent extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n }\n\n private get cssClasses() {\n return this.props.cssClasses;\n }\n\n private get element(): SurveyElementCore {\n return this.props.element;\n }\n render(): JSX.Element {\n if(this.element.isTitleRenderedAsString)\n return SurveyElementBase.renderLocString(this.element.locTitle);\n var spans = this.renderTitleSpans(this.element.getTitleOwner(), this.cssClasses);\n return <>{spans}</>;\n }\n protected renderTitleSpans(element: ITitleOwner, cssClasses: any): Array<JSX.Element> {\n var getSpaceSpan = (key: any) => {\n return (\n <span data-key={key} key={key}>\n &nbsp;\n </span>\n );\n };\n var spans: Array<JSX.Element> = [];\n if (element.isRequireTextOnStart) {\n spans.push(this.renderRequireText(element, cssClasses));\n spans.push(getSpaceSpan(\"req-sp\"));\n }\n var questionNumber = element.no;\n if (questionNumber) {\n const panelNumber = !!cssClasses.panel ? cssClasses.panel.number : undefined;\n spans.push(\n <span\n data-key={\"q_num\"}\n key={\"q_num\"}\n className={cssClasses.number || panelNumber}\n style={{ position: \"static\" }}\n aria-hidden={true}\n >\n {questionNumber}\n </span>\n );\n spans.push(getSpaceSpan(\"num-sp\"));\n }\n if (element.isRequireTextBeforeTitle) {\n spans.push(this.renderRequireText(element, cssClasses));\n spans.push(getSpaceSpan(\"req-sp\"));\n }\n spans.push(\n SurveyElementBase.renderLocString(element.locTitle, null, \"q_title\")\n );\n if (element.isRequireTextAfterTitle) {\n spans.push(getSpaceSpan(\"req-sp\"));\n spans.push(this.renderRequireText(element, cssClasses));\n }\n return spans;\n }\n\n private renderRequireText(\n element: ITitleOwner,\n cssClasses: any\n ): JSX.Element {\n return (\n <span\n data-key={\"req-text\"}\n key={\"req-text\"}\n className={cssClasses.requiredText || cssClasses.panel.requiredText}\n aria-hidden={true}\n >\n {element.requiredText}\n </span>\n );\n }\n}\n","import React from \"react\";\nimport { SurveyElementCore, doKey2ClickUp } from \"survey-core\";\nimport { TitleActions } from \"./title-actions\";\n\nexport class TitleElement extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n }\n private get element(): SurveyElementCore {\n return this.props.element;\n }\n render(): JSX.Element | any {\n const element = this.element;\n if (!element || !element.hasTitle) return null;\n const ariaLabel = element.titleAriaLabel || undefined;\n const titleContent = (\n <TitleActions\n element={element}\n cssClasses={element.cssClasses}\n ></TitleActions>\n );\n let onClick: undefined | ((e: any) => void) = undefined;\n let onKeyUp: undefined | ((e: any) => void) = undefined;\n if (element.hasTitleEvents) {\n onKeyUp = (evt: any) => {\n doKey2ClickUp(evt.nativeEvent);\n };\n }\n\n const CustomTag = element.titleTagName as keyof JSX.IntrinsicElements;\n return (\n <CustomTag\n className={element.cssTitle}\n id={element.ariaTitleId}\n aria-label={ariaLabel}\n tabIndex={element.titleTabIndex}\n aria-expanded={element.titleAriaExpanded}\n role={element.titleAriaRole}\n onClick={onClick}\n onKeyUp={onKeyUp}\n >\n {titleContent}\n </CustomTag>\n );\n }\n}\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\n\nexport class SurveyCustomWidget extends SurveyQuestionElementBase {\n private widgetRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.widgetRef = React.createRef();\n }\n private _afterRender() {\n if (this.questionBase.customWidget) {\n let el = this.widgetRef.current;\n if (!!el) {\n this.questionBase.customWidget.afterRender(this.questionBase, el);\n this.questionBase.customWidgetData.isNeedRender = false;\n }\n }\n }\n componentDidMount() {\n super.componentDidMount();\n if (this.questionBase) {\n this._afterRender();\n }\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n var isDefaultRender =\n !!this.questionBase.customWidget &&\n this.questionBase.customWidget.isDefaultRender;\n if (this.questionBase && !isDefaultRender) {\n this._afterRender();\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.questionBase.customWidget) {\n let el = this.widgetRef.current;\n if (!!el) {\n this.questionBase.customWidget.willUnmount(this.questionBase, el);\n }\n }\n }\n protected canRender(): boolean {\n return super.canRender() && this.questionBase.visible;\n }\n protected renderElement(): JSX.Element {\n let customWidget = this.questionBase.customWidget;\n\n if (customWidget.isDefaultRender) {\n return (\n <div ref={this.widgetRef}>\n {this.creator.createQuestionElement(this.questionBase)}\n </div>\n );\n }\n\n let widget = null;\n if (customWidget.widgetJson.render) {\n widget = customWidget.widgetJson.render(this.questionBase);\n } else {\n if (customWidget.htmlTemplate) {\n let htmlValue = { __html: customWidget.htmlTemplate };\n return <div ref={this.widgetRef} dangerouslySetInnerHTML={htmlValue} />;\n }\n }\n return <div ref={this.widgetRef}>{widget}</div>;\n }\n}\n","import * as React from \"react\";\nimport { Helpers, Question, DropdownListModel, settings } from \"survey-core\";\nimport { Popup } from \"./components/popup/popup\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\n\nexport class SurveyQuestionDropdownBase<T extends Question> extends SurveyQuestionUncontrolledElement<T> {\n inputElement: HTMLInputElement | null;\n\n click = (event: any) => {\n this.question.dropdownListModel?.onClick(event);\n };\n chevronPointerDown = (event: any) => {\n this.question.dropdownListModel?.chevronPointerDown(event);\n };\n clear = (event: any) => {\n this.question.dropdownListModel?.onClear(event);\n };\n keyhandler = (event: any) => {\n this.question.dropdownListModel?.keyHandler(event);\n };\n blur = (event: any) => {\n this.question.dropdownListModel?.onBlur(event);\n this.updateInputDomElement();\n };\n focus = (event: any) => {\n this.question.dropdownListModel?.onFocus(event);\n };\n protected getStateElement() {\n return this.question[\"dropdownListModel\"];\n }\n protected setValueCore(newValue: any) {\n this.questionBase.renderedValue = newValue;\n }\n protected getValueCore(): any {\n return this.questionBase.renderedValue;\n }\n protected renderSelect(cssClasses: any): JSX.Element {\n let selectElement: JSX.Element | null = null;\n if (this.question.isReadOnly) {\n const text = (this.question.selectedItemLocText) ? this.renderLocString(this.question.selectedItemLocText) : \"\";\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n selectElement = <div id={this.question.inputId} className={this.question.getControlClass()} disabled>\n {text}\n <div>{this.question.readOnlyText}</div>\n </div>;\n } else {\n if (!(this.question as any)[\"dropdownListModel\"]) {\n (this.question as any)[\"dropdownListModel\"] = new DropdownListModel(this.question);\n }\n selectElement = <>\n {this.renderInput(this.question[\"dropdownListModel\"])}\n <Popup model={this.question?.dropdownListModel?.popupModel}></Popup>\n </>;\n }\n\n return (\n <div className={cssClasses.selectWrapper} onClick={this.click}>\n {selectElement}\n {this.createChevronButton()}\n </div>\n );\n }\n\n renderValueElement(dropdownListModel: DropdownListModel): JSX.Element | null {\n if (this.question.showInputFieldComponent) {\n return ReactElementFactory.Instance.createElement(this.question.inputFieldComponentName, { item: dropdownListModel.getSelectedAction(), question: this.question });\n } else if (this.question.showSelectedItemLocText) {\n return this.renderLocString(this.question.selectedItemLocText);\n }\n return null;\n }\n\n protected renderInput(dropdownListModel: DropdownListModel): JSX.Element {\n let valueElement: JSX.Element | null = this.renderValueElement(dropdownListModel);\n const { root } = settings.environment;\n\n const onInputChange = (e: any) => {\n if (e.target === root.activeElement) {\n dropdownListModel.inputStringRendered = e.target.value;\n }\n };\n return (<div\n id={this.question.inputId}\n className={this.question.getControlClass()}\n tabIndex={dropdownListModel.inputReadOnly ? undefined : 0}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n disabled={this.question.isInputReadOnly}\n required={this.question.isRequired}\n onKeyDown={this.keyhandler}\n onBlur={this.blur}\n role={this.question.ariaRole}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n >\n {dropdownListModel.showHintPrefix ?\n (<div className={this.question.cssClasses.hintPrefix}>\n <span>{dropdownListModel.hintStringPrefix}</span>\n </div>) : null}\n <div className={this.question.cssClasses.controlValue}>\n {dropdownListModel.showHintString ?\n (<div className={this.question.cssClasses.hintSuffix}>\n <span style={{ visibility: \"hidden\" }} data-bind=\"text: model.filterString\">{dropdownListModel.inputStringRendered}</span>\n <span>{dropdownListModel.hintStringSuffix}</span>\n </div>) : null}\n {valueElement}\n <input type=\"text\" autoComplete=\"off\"\n id={this.question.getInputId()}\n ref={(element) => (this.inputElement = element)}\n className={this.question.cssClasses.filterStringInput}\n role={dropdownListModel.filterStringEnabled ? this.question.ariaRole : undefined}\n aria-label={this.question.placeholder}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n placeholder={dropdownListModel.placeholderRendered}\n readOnly={!dropdownListModel.searchEnabled ? true : undefined}\n tabIndex={dropdownListModel.inputReadOnly ? undefined : -1}\n disabled={this.question.isInputReadOnly}\n inputMode={dropdownListModel.inputMode}\n onChange={(e) => { onInputChange(e); }}\n onBlur={this.blur}\n onFocus={this.focus}\n ></input>\n </div>\n {this.createClearButton()}\n </div>);\n }\n\n createClearButton(): JSX.Element | null {\n if (!this.question.allowClear || !this.question.cssClasses.cleanButtonIconId) return null;\n\n const style = { display: this.question.isEmpty() ? \"none\" : \"\" };\n return (\n <div\n className={this.question.cssClasses.cleanButton}\n style={style}\n onClick={this.clear}\n >\n <SvgIcon\n className={this.question.cssClasses.cleanButtonSvg}\n iconName={this.question.cssClasses.cleanButtonIconId}\n title={this.question.clearCaption}\n size={\"auto\"}\n ></SvgIcon>\n </div>\n );\n }\n\n createChevronButton(): JSX.Element | null {\n if (!this.question.cssClasses.chevronButtonIconId) return null;\n\n return (\n <div className={this.question.cssClasses.chevronButton}\n onPointerDown={this.chevronPointerDown}>\n <SvgIcon\n className={this.question.cssClasses.chevronButtonSvg}\n iconName={this.question.cssClasses.chevronButtonIconId}\n size={\"auto\"}\n ></SvgIcon>\n </div>\n );\n }\n\n protected renderOther(cssClasses: any): JSX.Element {\n return (\n <div className={this.question.getCommentAreaCss(true)}>\n <SurveyQuestionOtherValueItem\n question={this.question}\n otherCss={cssClasses.other}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n isOther={true}\n />\n </div>\n );\n }\n\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateInputDomElement();\n }\n componentDidMount() {\n super.componentDidMount();\n this.updateInputDomElement();\n }\n updateInputDomElement() {\n if (!!this.inputElement) {\n const control: any = this.inputElement;\n const newValue = this.question.dropdownListModel.inputStringRendered;\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true, false)) {\n control.value = this.question.dropdownListModel.inputStringRendered;\n }\n }\n }\n}","import * as React from \"react\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\nimport { Base, ItemValue } from \"survey-core\";\n\nexport class SurveyQuestionOptionItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.state = { changed: 0 };\n this.setupModel();\n }\n componentDidUpdate(prevProps: any, prevState: any): void {\n super.componentDidUpdate(prevProps, prevState);\n this.setupModel();\n }\n componentWillUnmount(): void {\n super.componentWillUnmount();\n if (!!this.item) {\n this.item.locText.onChanged = () => { };\n }\n }\n private setupModel(): void {\n if (!this.item.locText) return;\n const self = this;\n this.item.locText.onChanged = () => {\n self.setState({ changed: self.state.changed + 1 });\n };\n }\n protected getStateElement(): Base {\n return this.item;\n }\n private get item(): ItemValue {\n return this.props.item;\n }\n protected canRender(): boolean {\n return !!this.item;\n }\n protected renderElement(): JSX.Element {\n return (\n <option value={this.item.value} disabled={!this.item.isEnabled}>\n {this.item.text}\n </option>\n );\n }\n}","import * as React from \"react\";\nimport { RendererFactory, ItemValue } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionDropdown } from \"./reactquestion_dropdown\";\nimport { SurveyQuestionOptionItem } from \"./dropdown-item\";\n\nexport class SurveyQuestionDropdownSelect extends SurveyQuestionDropdown {\n constructor(props: any) {\n super(props);\n }\n\n protected renderSelect(cssClasses: any): JSX.Element {\n const click = (event: any) => {\n this.question.onClick(event);\n };\n const keyup = (event: any) => {\n this.question.onKeyUp(event);\n };\n\n const selectElement = this.isDisplayMode ? (\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n <div id={this.question.inputId} className={this.question.getControlClass()} disabled>{this.question.readOnlyText}</div>) :\n (<select\n id={this.question.inputId}\n className={this.question.getControlClass()}\n ref={(select) => (this.setControl(select))}\n autoComplete={this.question.autocomplete}\n onChange={this.updateValueOnEvent}\n onInput={this.updateValueOnEvent}\n onClick={click}\n onKeyUp={keyup}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n required={this.question.isRequired}>\n {this.question.allowClear ? (<option value=\"\">{this.question.placeholder}</option>) : null}\n {this.question.visibleChoices.map((item: ItemValue, i: number) => <SurveyQuestionOptionItem key={\"item\" + i} item={item} />)}\n </select>);\n return (\n <div className={cssClasses.selectWrapper}>\n {selectElement}\n {this.createChevronButton()}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"sv-dropdown-select\", (props) => {\n return React.createElement(SurveyQuestionDropdownSelect, props);\n});\n\nRendererFactory.Instance.registerRenderer(\"dropdown\", \"select\", \"sv-dropdown-select\");","import { HashTable } from \"survey-core\";\n\nexport class ReactElementFactory {\n public static Instance: ReactElementFactory = new ReactElementFactory();\n private creatorHash: HashTable<(name: string) => JSX.Element> = {};\n\n public registerElement(\n elementType: string,\n elementCreator: (props: any) => JSX.Element\n ) {\n this.creatorHash[elementType] = elementCreator;\n }\n public getAllTypes(): Array<string> {\n var result = new Array<string>();\n for (var key in this.creatorHash) {\n result.push(key);\n }\n return result.sort();\n }\n public isElementRegistered(elementType: string) {\n return !!this.creatorHash[elementType];\n }\n public createElement(elementType: string, params: any): JSX.Element | any {\n var creator = this.creatorHash[elementType];\n if (creator == null) return null;\n return creator(params);\n }\n}\n","import React from \"react\";\nimport { Question, PanelModel, QuestionPanelDynamicModel } from \"survey-core\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { TitleElement } from \"./components/title/title-element\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\nexport class SurveyElementHeader extends React.Component<any, any> {\n private get element(): Question | PanelModel {\n return this.props.element;\n }\n public render(): JSX.Element {\n const element = this.element;\n const title = element.hasTitle ? (\n <TitleElement element={element}></TitleElement>\n ) : null;\n const description = element.hasDescriptionUnderTitle\n ? SurveyElementBase.renderQuestionDescription(this.element)\n : null;\n\n const additionalTitleToolbarElement = !!element.additionalTitleToolbar ? <SurveyActionBar model= {element.additionalTitleToolbar}></SurveyActionBar> : null;\n\n return (\n <div className={element.cssHeader} onClick={(e) => element.clickTitleFunction && element.clickTitleFunction(e.nativeEvent)}>\n {title}\n {description}\n {additionalTitleToolbarElement}\n </div>\n );\n }\n}","import * as React from \"react\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { SurveyModel, Question, QuestionRowModel, IElement, Base } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyRowElement extends SurveyElementBase<any, any> {\n private rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n (this.element as Question).cssClasses;\n }\n protected getStateElement(): any {\n return this.element;\n }\n private get element(): IElement {\n return this.props.element;\n }\n private get index(): number {\n return this.props.index;\n }\n private get row(): QuestionRowModel {\n return this.props.row;\n }\n private get survey(): SurveyModel {\n return this.props.survey;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get css(): any {\n return this.props.css;\n }\n\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n\n (this.element as Question).cssClasses;\n return true;\n }\n\n protected renderElement(): JSX.Element {\n const element = this.element;\n const innerElement = this.createElement(element, this.index);\n const css = (element as Question).cssClassesValue;\n const focusIn = () => {\n const el: any = element;\n if (el && el.isQuestion) {\n el.focusIn();\n }\n };\n return (\n <div\n className={css.questionWrapper}\n style={(element as any).rootStyle}\n data-key={innerElement.key}\n key={innerElement.key}\n onFocus={focusIn}\n >\n {this.row.isNeedRender ? innerElement : ReactElementFactory.Instance.createElement(element.skeletonComponentName, { element: element, css: this.css, })}\n </div>\n );\n }\n\n protected createElement(element: IElement, elementIndex?: number): JSX.Element {\n const index = elementIndex ? \"-\" + elementIndex : 0;\n var elementType = element.getType();\n if (!ReactElementFactory.Instance.isElementRegistered(elementType)) {\n elementType = \"question\";\n }\n return ReactElementFactory.Instance.createElement(elementType, {\n key: element.name + index,\n element: element,\n creator: this.creator,\n survey: this.survey,\n css: this.css,\n });\n }\n}\n","import * as React from \"react\";\nimport { FlowPanelModel, Question } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyPanel } from \"./panel\";\nimport { SurveyQuestion } from \"./reactquestion\";\n\nexport class SurveyFlowPanel extends SurveyPanel {\n constructor(props: any) {\n super(props);\n }\n public get flowPanel(): FlowPanelModel {\n return this.panel as FlowPanelModel;\n }\n componentDidMount() {\n super.componentDidMount();\n if (!!this.flowPanel) {\n this.flowPanel.onCustomHtmlProducing = function() {\n return \"\";\n };\n this.flowPanel.onGetHtmlForQuestion = this.renderQuestion;\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.flowPanel) {\n this.flowPanel.onCustomHtmlProducing = null as any;\n this.flowPanel.onGetHtmlForQuestion = null as any;\n }\n }\n protected getQuestion(name: string): Question {\n return this.flowPanel.getQuestionByName(name);\n }\n protected renderQuestion(question: Question): string {\n return \"<question>\" + question.name + \"</question>\";\n }\n protected renderRows(): Array<JSX.Element> {\n const result = this.renderHtml();\n if(!!result) {\n return [result];\n } else {\n return [];\n }\n }\n private renderedIndex: number;\n private getNodeIndex(): number {\n return this.renderedIndex++;\n }\n protected renderHtml(): JSX.Element | null {\n if (!this.flowPanel) return null;\n const html = \"<span>\" + this.flowPanel.produceHtml() + \"</span>\";\n if (!DOMParser) {\n const htmlValue = { __html: html };\n return <div dangerouslySetInnerHTML={htmlValue} />;\n }\n const doc = new DOMParser().parseFromString(html, \"text/xml\");\n this.renderedIndex = 0;\n return this.renderParentNode(doc);\n }\n protected renderNodes(domNodes: Array<Node>): Array<JSX.Element> {\n const nodes: Array<JSX.Element> = [];\n for (let i = 0; i < domNodes.length; i++) {\n const node = this.renderNode(domNodes[i]);\n if(!!node) {\n nodes.push(node);\n }\n }\n return nodes;\n }\n private getStyle(nodeType: string) {\n const style: any = {};\n if (nodeType.toLowerCase() === \"b\") {\n style.fontWeight = \"bold\";\n }\n if (nodeType.toLowerCase() === \"i\") {\n style.fontStyle = \"italic\";\n }\n if (nodeType.toLowerCase() === \"u\") {\n style.textDecoration = \"underline\";\n }\n return style;\n }\n protected renderParentNode(node: Node): JSX.Element {\n const nodeType = node.nodeName.toLowerCase();\n const children = this.renderNodes(this.getChildDomNodes(node));\n if (nodeType === \"div\")\n return <div key={this.getNodeIndex()}>{children}</div>;\n return (\n <span key={this.getNodeIndex()} style={this.getStyle(nodeType)}>\n {children}\n </span>\n );\n }\n protected renderNode(node: Node): JSX.Element | null {\n if (!this.hasTextChildNodesOnly(node)) {\n return this.renderParentNode(node);\n }\n const nodeType = node.nodeName.toLowerCase();\n if (nodeType === \"question\") {\n const question = this.flowPanel.getQuestionByName(node.textContent as any);\n if (!question) return null;\n const questionBody = (\n <SurveyQuestion\n key={question.name}\n element={question}\n creator={this.creator}\n css={this.css}\n />\n );\n return <span key={this.getNodeIndex()}>{questionBody}</span>;\n }\n if (nodeType === \"div\") {\n return <div key={this.getNodeIndex()}>{node.textContent}</div>;\n }\n return (\n <span key={this.getNodeIndex()} style={this.getStyle(nodeType)}>\n {node.textContent}\n </span>\n );\n }\n private getChildDomNodes(node: Node): Array<Node> {\n const domNodes: Array<Node> = [];\n for (let i = 0; i < node.childNodes.length; i++) {\n domNodes.push(node.childNodes[i]);\n }\n return domNodes;\n }\n private hasTextChildNodesOnly(node: Node): boolean {\n const nodes = node.childNodes;\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i].nodeName.toLowerCase() !== \"#text\") return false;\n }\n return true;\n }\n protected renderContent(style: any, rows: JSX.Element[]): JSX.Element {\n return React.createElement(\"f-panel\", { style: style }, rows);\n }\n}\n\nReactElementFactory.Instance.registerElement(\"flowpanel\", props => {\n return React.createElement(SurveyFlowPanel, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionImageModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionImage extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n componentDidMount() {\n super.componentDidMount();\n this.question.locImageLink.onChanged = () => {\n this.forceUpdate();\n };\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.question.locImageLink.onChanged = () => { };\n }\n\n protected get question(): QuestionImageModel {\n return this.questionBase as QuestionImageModel;\n }\n\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.getImageCss();\n var style: any = { objectFit: this.question.imageFit, width: this.question.renderedStyleWidth, height: this.question.renderedStyleHeight };\n if(!this.question.imageLink || this.question.contentNotLoaded) {\n style[\"display\"] = \"none\";\n }\n var control: JSX.Element | null = null;\n if (this.question.renderedMode === \"image\") {\n control = (\n <img\n className={cssClasses}\n src={this.question.locImageLink.renderedHtml}\n alt={this.question.altText || this.question.title}\n width={this.question.renderedWidth}\n height={this.question.renderedHeight}\n //alt={item.text || item.value}\n style={style}\n onLoad={(event: any) => { this.question.onLoadHandler(); } }\n onError={(event: any) => { this.question.onErrorHandler(); } }\n />\n );\n }\n if (this.question.renderedMode === \"video\") {\n control = (\n <video controls\n className={cssClasses}\n src={this.question.locImageLink.renderedHtml}\n width={this.question.renderedWidth}\n height={this.question.renderedHeight}\n style={style}\n onLoadedMetadata={(event: any) => { this.question.onLoadHandler(); } }\n onError={(event: any) => { this.question.onErrorHandler(); } }\n ></video>\n );\n }\n if (this.question.renderedMode === \"youtube\") {\n control = (\n <iframe\n className={cssClasses}\n src={this.question.locImageLink.renderedHtml}\n width={this.question.renderedWidth}\n height={this.question.renderedHeight}\n style={style}\n ></iframe>\n );\n }\n var noImage: JSX.Element | null = null;\n if(!this.question.imageLink || this.question.contentNotLoaded) {\n noImage = (\n <div className={this.question.cssClasses.noImage}>\n <SvgIcon\n iconName={this.question.cssClasses.noImageSvgIconId}\n size={48}\n >\n </SvgIcon>\n </div>\n );\n }\n return <div className={this.question.cssClasses.root}>{control}{noImage}</div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"image\", (props) => {\n return React.createElement(SurveyQuestionImage, props);\n});\n","import * as React from \"react\";\nimport { ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionImagePickerModel, ImageItemValue, SurveyModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionImagePicker extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionImagePickerModel {\n return this.questionBase as QuestionImagePickerModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n return (\n <fieldset className={this.question.getSelectBaseRootCss()}>\n <legend\n role=\"radio\"\n aria-label={this.question.locTitle.renderedHtml} />\n {this.question.hasColumns ? this.getColumns(cssClasses) : this.getItems(cssClasses)}\n </fieldset>\n );\n }\n\n protected getColumns(cssClasses: any) {\n return this.question.columns.map((column: any, ci: number) => {\n var items = column.map((item: any, ii: number) =>\n this.renderItem(\n \"item\" + ii,\n item,\n cssClasses\n )\n );\n return (\n <div key={\"column\" + ci} className={this.question.getColumnClass()} role=\"presentation\">\n {items}\n </div>\n );\n });\n }\n\n protected getItems(cssClasses: any): Array<any> {\n var items:Array<JSX.Element> = [];\n for (var i = 0; i < this.question.visibleChoices.length; i++) {\n var item = this.question.visibleChoices[i];\n var key = \"item\" + i;\n items.push(this.renderItem(key, item as ImageItemValue, cssClasses));\n }\n return items;\n }\n protected get textStyle(): any {\n return { marginLeft: \"3px\", display: \"inline\", position: \"static\" };\n }\n protected renderItem(\n key: string,\n item: ImageItemValue,\n cssClasses: any\n ): JSX.Element {\n const renderedItem = <SurveyQuestionImagePickerItem key={key} question={this.question} item={item} cssClasses={cssClasses}></SurveyQuestionImagePickerItem>;\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if(!!survey) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n}\nexport class SurveyQuestionImagePickerItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n }\n protected getStateElement() {\n return this.item;\n }\n componentDidMount() {\n super.componentDidMount();\n this.reactOnStrChanged();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.item.locImageLink.onChanged = function () {};\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.reactOnStrChanged();\n }\n private reactOnStrChanged() {\n this.item.locImageLink.onChanged = () => {\n this.setState({ locImageLinkchanged: !!this.state && this.state.locImageLink ? this.state.locImageLink + 1 : 1 });\n };\n }\n protected get cssClasses() {\n return this.props.cssClasses;\n }\n\n protected get item() {\n return this.props.item;\n }\n\n protected get question() {\n return this.props.question;\n }\n\n handleOnChange(event: any) {\n if (this.question.multiSelect) {\n if (event.target.checked) {\n this.question.value = this.question.value.concat(event.target.value);\n } else {\n var currValue = this.question.value;\n currValue.splice(this.question.value.indexOf(event.target.value), 1);\n this.question.value = currValue;\n }\n } else {\n this.question.value = event.target.value;\n }\n this.setState({ value: this.question.value });\n }\n\n protected renderElement(): JSX.Element {\n const item = this.item;\n const question = this.question;\n const cssClasses = this.cssClasses;\n var isChecked = question.isItemSelected(item);\n var itemClass = question.getItemClass(item);\n var text: JSX.Element | null = null;\n if (question.showLabel) {\n text = (\n <span\n className={question.cssClasses.itemText}\n >\n {item.text ? SurveyElementBase.renderLocString(item.locText) : item.value}\n </span>\n );\n }\n\n var style: any = { objectFit: this.question.imageFit };\n\n var control: JSX.Element | null = null;\n if (item.locImageLink.renderedHtml && this.question.contentMode === \"image\") {\n control = (\n <img\n className={cssClasses.image}\n src={item.locImageLink.renderedHtml}\n width={ this.question.renderedImageWidth }\n height={ this.question.renderedImageHeight }\n alt={item.locText.renderedHtml}\n style={style}\n onLoad={(event: any) => { this.question[\"onContentLoaded\"](item, event.nativeEvent); }}\n onError={(event: any) => { item.onErrorHandler(item, event.nativeEvent); }}\n />\n );\n }\n if (item.locImageLink.renderedHtml && this.question.contentMode === \"video\") {\n control = (\n <video controls\n className={cssClasses.image}\n src={item.locImageLink.renderedHtml}\n width={ this.question.renderedImageWidth }\n height={ this.question.renderedImageHeight }\n style={style}\n onLoadedMetadata={(event: any) => { this.question[\"onContentLoaded\"](item, event.nativeEvent); }}\n onError={(event: any) => { item.onErrorHandler(item, event.nativeEvent); }}\n ></video>\n );\n }\n if (!item.locImageLink.renderedHtml || item.contentNotLoaded) {\n let style: any = {\n width: this.question.renderedImageWidth,\n height: this.question.renderedImageHeight,\n objectFit: this.question.imageFit\n };\n control = (\n <div\n className={cssClasses.itemNoImage}\n style={style}\n >\n {\n cssClasses.itemNoImageSvgIcon ?\n <SvgIcon\n className={cssClasses.itemNoImageSvgIcon}\n iconName={this.question.cssClasses.itemNoImageSvgIconId}\n size={48}\n ></SvgIcon>:\n null\n }\n </div>\n );\n }\n\n const renderedItem = (\n <div className={itemClass}>\n <label className={cssClasses.label}>\n <input\n className={cssClasses.itemControl}\n id={this.question.getItemId(item)}\n type={this.question.inputType}\n name={this.question.questionName}\n checked={isChecked}\n value={item.value}\n disabled={!this.question.getItemEnabled(item)}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <div className={this.question.cssClasses.itemDecorator}>\n <div className={this.question.cssClasses.imageContainer}>\n {!!this.question.cssClasses.checkedItemDecorator ?\n <span className={this.question.cssClasses.checkedItemDecorator }>\n {!!this.question.cssClasses.checkedItemSvgIconId ? <SvgIcon size={\"auto\"} className={this.question.cssClasses.checkedItemSvgIcon} iconName={this.question.cssClasses.checkedItemSvgIconId}></SvgIcon> : null}\n </span> : null}\n {control}\n </div>\n {text}\n </div>\n </label>\n </div>\n );\n return renderedItem;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"imagepicker\", (props) => {\n return React.createElement(SurveyQuestionImagePicker, props);\n});\n","import * as React from \"react\";\nimport { PageModel, PanelModelBase } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyPanelBase } from \"./panel-base\";\nimport { TitleElement } from \"./components/title/title-element\";\n\nexport class SurveyPage extends SurveyPanelBase {\n constructor(props: any) {\n super(props);\n }\n protected getPanelBase(): PanelModelBase {\n return this.props.page;\n }\n public get page(): PageModel {\n return this.panelBase as PageModel;\n }\n protected renderElement(): JSX.Element {\n var title = this.renderTitle();\n var description = this.renderDescription();\n var rows = this.renderRows(this.panelBase.cssClasses);\n return (\n <div ref={this.rootRef} className={this.page.cssRoot}>\n {title}\n {description}\n {rows}\n </div >\n );\n }\n protected renderTitle(): JSX.Element {\n return <TitleElement element={this.page}></TitleElement>;\n }\n protected renderDescription(): JSX.Element | null {\n if (!this.page._showDescription) return null;\n var text = SurveyElementBase.renderLocString(this.page.locDescription);\n return (\n <div className={this.panelBase.cssClasses.page.description}>{text}</div>\n );\n }\n}\n","import * as React from \"react\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { Base, SurveyModel, QuestionRowModel, PanelModel, PanelModelBase } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyRow } from \"./row\";\n\nexport class SurveyPanelBase extends SurveyElementBase<any, any> {\n protected rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.rootRef = React.createRef();\n }\n protected getStateElement(): Base {\n return this.panelBase;\n }\n protected canUsePropInState(key: string): boolean {\n return key !== \"elements\" && super.canUsePropInState(key);\n }\n protected get survey(): SurveyModel | null {\n return this.getSurvey();\n }\n protected get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get css(): any {\n return this.getCss();\n }\n public get panelBase(): PanelModelBase {\n return this.getPanelBase();\n }\n protected getPanelBase(): PanelModelBase {\n return this.props.element || this.props.question;\n }\n protected getSurvey(): SurveyModel | null {\n return (\n this.props.survey || (!!this.panelBase ? this.panelBase.survey : null)\n );\n }\n protected getCss(): any {\n return this.props.css;\n }\n componentDidMount() {\n super.componentDidMount();\n this.doAfterRender();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n var el = this.rootRef.current;\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n if (\n !!prevProps.page &&\n !!this.survey &&\n !!this.survey.currentPage &&\n prevProps.page.id === this.survey.currentPage.id\n )\n return;\n this.doAfterRender();\n }\n private doAfterRender() {\n var el = this.rootRef.current;\n if (el && this.survey) {\n if (this.panelBase.isPanel) {\n this.survey.afterRenderPanel(this.panelBase as PanelModel, el);\n } else {\n this.survey.afterRenderPage(el);\n }\n }\n }\n protected canRender(): boolean {\n return (\n super.canRender() && !!this.survey && !!this.panelBase\n && this.panelBase.isVisible && !!this.panelBase.survey\n );\n }\n private renderedRowsCache: any = {};\n protected renderRows(css: any): Array<JSX.Element> {\n if (this.changedStatePropName !== \"rows\") {\n this.renderedRowsCache = {};\n }\n var rows:Array<JSX.Element> = [];\n var questionRows = this.panelBase.rows;\n for (var i = 0; i < questionRows.length; i++) {\n var row = this.renderedRowsCache[questionRows[i].id];\n if (!row) {\n row = this.createRow(questionRows[i], css);\n this.renderedRowsCache[questionRows[i].id] = row;\n }\n rows.push(row);\n }\n return rows;\n }\n protected createRow(row: QuestionRowModel, css: any): JSX.Element {\n return (\n <SurveyRow\n key={row.id}\n row={row}\n survey={this.survey}\n creator={this.creator}\n css={css}\n />\n );\n }\n}\n","import * as React from \"react\";\nimport { SurveyElementErrors } from \"./reactquestion\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nimport { SurveyPanelBase } from \"./panel-base\";\nimport { PanelModel, doKey2ClickUp, SurveyModel } from \"survey-core\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { TitleElement } from \"./components/title/title-element\";\nimport { SurveyElementHeader } from \"./element-header\";\n\nexport class SurveyPanel extends SurveyPanelBase {\n private hasBeenExpanded: boolean = false;\n constructor(props: any) {\n super(props);\n }\n public get panel(): PanelModel {\n return this.panelBase as PanelModel;\n }\n protected renderElement(): JSX.Element {\n const header = this.renderHeader();\n const errors = (\n <SurveyElementErrors\n element={this.panelBase}\n cssClasses={this.panelBase.cssClasses}\n creator={this.creator}\n />\n );\n const style = {\n paddingLeft: this.panel.innerPaddingLeft,\n display: !this.panel.isCollapsed ? undefined : \"none\",\n };\n let content: JSX.Element | null = null;\n if (!this.panel.isCollapsed || this.hasBeenExpanded) {\n this.hasBeenExpanded = true;\n const rows: JSX.Element[] = this.renderRows(this.panelBase.cssClasses);\n const className: string = this.panelBase.cssClasses.panel.content;\n content = this.renderContent(style, rows, className);\n }\n const focusIn = () => {\n if(this.panelBase) (this.panelBase as PanelModel).focusIn();\n };\n return (\n <div\n ref={this.rootRef}\n className={(this.panelBase as PanelModel).getContainerCss()}\n onFocus={focusIn}\n id={this.panelBase.id}\n\n >\n {this.panel.showErrorsAbovePanel ? errors : null}\n {header}\n {this.panel.showErrorsAbovePanel ? null : errors}\n {content}\n </div>\n );\n }\n protected renderHeader() {\n if (!this.panel.hasTitle && !this.panel.hasDescription) {\n return null;\n }\n return <SurveyElementHeader element={this.panel}></SurveyElementHeader>;\n }\n protected wrapElement(element: JSX.Element): JSX.Element {\n const survey: SurveyModel = this.panel.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapElement(survey, element, this.panel);\n }\n return wrapper ?? element;\n }\n protected renderContent(style: any, rows: JSX.Element[], className: string): JSX.Element {\n const bottom: JSX.Element | null = this.renderBottom();\n return (\n <div style={style} className={className} id={this.panel.contentId}>\n {rows}\n {bottom}\n </div>\n );\n }\n protected renderTitle(): JSX.Element | null {\n if (!this.panelBase.title) return null;\n return <TitleElement element={this.panelBase}></TitleElement>;\n }\n protected renderDescription(): JSX.Element | null {\n if (!this.panelBase.description) return null;\n var text = SurveyElementBase.renderLocString(this.panelBase.locDescription);\n return (\n <div className={this.panel.cssClasses.panel.description}>{text}</div>\n );\n }\n protected renderBottom(): JSX.Element | null {\n const footerToolbar = this.panel.getFooterToolbar();\n if (!footerToolbar.hasActions) return null;\n return <SurveyActionBar model={footerToolbar}></SurveyActionBar>;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"panel\", (props) => {\n return React.createElement(SurveyPanel, props);\n});\n","import * as React from \"react\";\nimport { QuestionRatingModel, RendererFactory } from \"survey-core\";\nimport { SurveyQuestionDropdownBase } from \"./dropdown-base\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionRatingDropdown extends SurveyQuestionDropdownBase<QuestionRatingModel> {\n constructor(props: any) {\n super(props);\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var select = this.renderSelect(cssClasses);\n return (\n <div className={this.question.cssClasses.rootDropdown}>\n {select}\n </div>\n );\n }\n}\nReactQuestionFactory.Instance.registerQuestion(\n \"sv-rating-dropdown\",\n (props) => {\n return React.createElement(SurveyQuestionRatingDropdown, props);\n }\n);\n\nRendererFactory.Instance.registerRenderer(\n \"rating\",\n \"dropdown\",\n \"sv-rating-dropdown\"\n);\n","import * as React from \"react\";\nimport { Survey } from \"./reactSurvey\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { Base, PopupSurveyModel } from \"survey-core\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class PopupSurvey extends Survey {\n protected popup: PopupSurveyModel;\n constructor(props: any) {\n super(props);\n this.handleOnExpanded = this.handleOnExpanded.bind(this);\n }\n protected getStateElements(): Array<Base> {\n return [this.popup, this.popup.survey];\n }\n handleOnExpanded(event: any) {\n this.popup.changeExpandCollapse();\n }\n protected canRender(): boolean {\n return super.canRender() && this.popup.isShowing;\n }\n protected renderElement(): JSX.Element {\n var header = this.renderWindowHeader();\n var body = this.popup.isExpanded ? this.renderBody() : null;\n let style: React.CSSProperties = {\n position: \"fixed\",\n bottom: 3,\n right: 10\n };\n if (!!this.popup.renderedWidth) {\n style.width = this.popup.renderedWidth;\n style.maxWidth = this.popup.renderedWidth;\n }\n return (\n <div className={this.popup.cssRoot} style={style}>\n {header}\n {body}\n </div>\n );\n }\n protected renderWindowHeader(): JSX.Element {\n var styleA = { width: \"100%\", cursor: \"pointer\" };\n var styleTitle = { paddingRight: \"10px\" };\n var glyphClassName = this.popup.cssButton;\n glyphClassName = \"glyphicon pull-right \" + glyphClassName;\n var title = SurveyElementBase.renderLocString(this.survey.locTitle);\n return (\n <div className={this.popup.cssHeaderRoot}>\n <span onClick={this.handleOnExpanded} style={styleA}>\n <span className={this.popup.cssHeaderTitle} style={styleTitle}>\n {title}\n </span>\n <span className={glyphClassName} aria-hidden=\"true\" />\n </span>\n {this.popup.allowClose ? (\n <span\n className={this.popup.cssHeaderButton}\n onClick={() => { this.popup.hide(); }}\n style={{ transform: \"rotate(45deg)\", float: \"right\", cursor: \"pointer\", width: \"24px\", height: \"24px\" }}\n >\n <SvgIcon iconName={\"icon-expanddetail\"} size={16}>\n </SvgIcon>\n </span>\n ) : null}\n {this.popup.isExpanded ? (\n <span\n className={this.popup.cssHeaderButton}\n onClick={this.handleOnExpanded}\n style={{ float: \"right\", cursor: \"pointer\", width: \"24px\", height: \"24px\" }}\n >\n <SvgIcon iconName={\"icon-collapsedetail\"} size={16}>\n </SvgIcon>\n </span>\n ) : null}\n </div>\n );\n }\n protected renderBody(): JSX.Element {\n return <div className={this.popup.cssBody} onScroll={() => this.popup.onScroll()}>{this.doRender()}</div>;\n }\n protected createSurvey(newProps: any) {\n if (!newProps) newProps = {};\n super.createSurvey(newProps);\n this.popup = new PopupSurveyModel(null, this.survey);\n if (newProps.closeOnCompleteTimeout) {\n this.popup.closeOnCompleteTimeout = newProps.closeOnCompleteTimeout;\n }\n this.popup.allowClose = newProps.allowClose;\n this.popup.isShowing = true;\n if (!this.popup.isExpanded && (newProps.expanded || newProps.isExpanded))\n this.popup.expand();\n }\n}\n/**\n * Obsolete. Please use PopupSurvey\n */\nexport class SurveyWindow extends PopupSurvey {}\n","import * as React from \"react\";\nimport { Base, Question, PageModel, SurveyError, StylesManager, surveyCss, Helpers, doKey2ClickUp, SvgRegistry, SurveyModel, doKey2ClickBlur, doKey2ClickDown, IAttachKey2clickOptions } from \"survey-core\";\nimport { SurveyPage } from \"./page\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyLocStringViewer } from \"./string-viewer\";\nimport { SurveyHeader } from \"./components/survey-header/survey-header\";\nimport { SurveyTimerPanel } from \"./reacttimerpanel\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { BrandInfo } from \"./components/brand-info\";\nimport { NotifierComponent } from \"./components/notifier\";\nimport { ComponentsContainer } from \"./components/components-container\";\n\nexport class Survey extends SurveyElementBase<any, any>\n implements ISurveyCreator {\n private previousJSON = {};\n private rootRef: React.RefObject<HTMLDivElement>;\n public static get cssType(): string {\n return surveyCss.currentType;\n }\n public static set cssType(value: string) {\n StylesManager.applyTheme(value);\n }\n protected survey: SurveyModel;\n\n private rootNodeId: string; // root dom node ID attr\n private rootNodeClassName: string; // root dom node class\n\n constructor(props: any) {\n super(props);\n this.createSurvey(props);\n this.updateSurvey(props, {});\n this.rootRef = React.createRef();\n this.rootNodeId = props.id || null;\n this.rootNodeClassName = props.className || \"\";\n }\n protected getStateElement(): Base {\n return this.survey;\n }\n private isSurveyUpdated = false;\n private onSurveyUpdated() {\n if (!!this.survey) {\n const el = this.rootRef.current;\n if (!!el) this.survey.afterRenderSurvey(el);\n this.survey.startTimerFromUI();\n }\n }\n shouldComponentUpdate(nextProps: any, nextState: any) {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if (this.isModelJSONChanged(nextProps)) {\n this.destroySurvey();\n this.createSurvey(nextProps);\n this.updateSurvey(nextProps, {});\n this.isSurveyUpdated = true;\n }\n return true;\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateSurvey(this.props, prevProps);\n if(this.isSurveyUpdated) {\n this.onSurveyUpdated();\n this.isSurveyUpdated = false;\n }\n }\n componentDidMount() {\n super.componentDidMount();\n this.onSurveyUpdated();\n }\n destroySurvey() {\n if (this.survey) {\n this.survey.renderCallback = undefined as any;\n this.survey.onPartialSend.clear();\n this.survey.stopTimer();\n this.survey.destroyResizeObserver();\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.destroySurvey();\n }\n doRender(): JSX.Element {\n if(this.survey[\"needRenderIcons\"]) {\n SvgRegistry.renderIcons();\n }\n let renderResult: JSX.Element | null;\n if (this.survey.state == \"completed\") {\n renderResult = this.renderCompleted();\n } else if (this.survey.state == \"completedbefore\") {\n renderResult = this.renderCompletedBefore();\n } else if (this.survey.state == \"loading\") {\n renderResult = this.renderLoading();\n } else if (this.survey.state == \"empty\") {\n renderResult = this.renderEmptySurvey();\n } else {\n renderResult = this.renderSurvey();\n }\n const backgroundImage = !!this.survey.backgroundImage ? <div className={this.css.rootBackgroundImage} style={this.survey.backgroundImageStyle}></div> : null;\n const header: JSX.Element | null = this.survey.titleView === \"title\" ? <SurveyHeader survey={this.survey}></SurveyHeader> : null;\n\n const onSubmit = function (event: React.FormEvent<HTMLFormElement>) {\n event.preventDefault();\n };\n let customHeader: JSX.Element | null = <div className=\"sv_custom_header\" />;\n if (this.survey.hasLogo) {\n customHeader = null;\n }\n const rootCss = this.survey.getRootCss();\n const cssClasses = this.rootNodeClassName ? this.rootNodeClassName + \" \" + rootCss : rootCss;\n\n return (\n <div id={this.rootNodeId} ref={this.rootRef} className={cssClasses} style={this.survey.themeVariables}>\n <div className={this.survey.wrapperFormCss}>\n {backgroundImage}\n <form onSubmit={onSubmit}>\n {customHeader}\n <div className={this.css.container}>\n {header}\n <ComponentsContainer survey={this.survey} container={\"header\"} needRenderWrapper={false}></ComponentsContainer>\n {renderResult}\n <ComponentsContainer survey={this.survey} container={\"footer\"} needRenderWrapper={false}></ComponentsContainer>\n </div>\n </form>\n { this.survey.showBrandInfo ? <BrandInfo/> : null }\n <NotifierComponent notifier={this.survey.notifier} ></NotifierComponent>\n </div>\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n return this.doRender();\n }\n public get css(): any {\n return this.survey.css;\n }\n public set css(value: any) {\n this.survey.css = value;\n }\n protected renderCompleted(): JSX.Element | null {\n if (!this.survey.showCompletedPage) return null;\n\n var htmlValue = { __html: this.survey.processedCompletedHtml };\n return (\n <React.Fragment>\n <div\n dangerouslySetInnerHTML={htmlValue}\n className={this.survey.completedCss}\n />\n <ComponentsContainer survey={this.survey} container={\"completePage\"} needRenderWrapper={false}></ComponentsContainer>\n </React.Fragment>\n );\n }\n protected renderCompletedBefore(): JSX.Element {\n var htmlValue = { __html: this.survey.processedCompletedBeforeHtml };\n return (\n <div dangerouslySetInnerHTML={htmlValue} className={this.survey.completedBeforeCss} />\n );\n }\n protected renderLoading(): JSX.Element {\n var htmlValue = { __html: this.survey.processedLoadingHtml };\n return (\n <div dangerouslySetInnerHTML={htmlValue} className={this.survey.loadingBodyCss} />\n );\n }\n protected renderSurvey(): JSX.Element {\n var activePage = this.survey.activePage\n ? this.renderPage(this.survey.activePage)\n : null;\n const isStaring = this.survey.isShowStartingPage;\n var pageId = this.survey.activePage ? this.survey.activePage.id : \"\";\n\n let className = this.survey.bodyCss;\n const style: any = {};\n if(!!this.survey.renderedWidth) {\n style.maxWidth = this.survey.renderedWidth;\n }\n return (\n <div className={this.survey.bodyContainerCss}>\n <ComponentsContainer survey={this.survey} container={\"left\"}></ComponentsContainer>\n <div\n id={pageId}\n className={className}\n style={style}\n >\n <ComponentsContainer survey={this.survey} container={\"contentTop\"}></ComponentsContainer>\n {activePage}\n <ComponentsContainer survey={this.survey} container={\"contentBottom\"}></ComponentsContainer>\n </div>\n <ComponentsContainer survey={this.survey} container={\"right\"}></ComponentsContainer>\n </div>\n );\n }\n protected renderPage(page: PageModel): JSX.Element {\n return (\n <SurveyPage\n survey={this.survey}\n page={page}\n css={this.css}\n creator={this}\n />\n );\n }\n protected renderEmptySurvey(): JSX.Element {\n return <div className={this.css.bodyEmpty}>{this.survey.emptySurveyText}</div>;\n }\n protected createSurvey(newProps: any) {\n if (!newProps) newProps = {};\n this.previousJSON = {};\n if (newProps) {\n if (newProps.model) {\n this.survey = newProps.model;\n } else {\n if (newProps.json) {\n this.previousJSON = newProps.json;\n this.survey = new SurveyModel(newProps.json);\n }\n }\n } else {\n this.survey = new SurveyModel();\n }\n if (!!newProps.css) {\n this.survey.css = this.css;\n }\n this.setSurveyEvents();\n }\n private isModelJSONChanged(newProps: any): boolean {\n if (!!newProps[\"model\"]) {\n return this.survey !== newProps[\"model\"];\n }\n if (!!newProps[\"json\"]) {\n return !Helpers.isTwoValueEquals(newProps[\"json\"], this.previousJSON);\n }\n return false;\n }\n protected updateSurvey(newProps: any, oldProps?: any) {\n if (!newProps) return;\n oldProps = oldProps || {};\n for (var key in newProps) {\n if (key == \"model\" || key == \"children\" || key == \"json\") {\n continue;\n }\n if (key == \"css\") {\n this.survey.mergeValues(newProps.css, this.survey.getCss());\n this.survey[\"updateNavigationCss\"]();\n this.survey[\"updateElementCss\"]();\n continue;\n }\n if (newProps[key] === oldProps[key]) continue;\n if (key.indexOf(\"on\") == 0 && this.survey[key] && this.survey[key].add) {\n if (!!oldProps[key]) {\n this.survey[key].remove(oldProps[key]);\n }\n this.survey[key].add(newProps[key]);\n } else {\n this.survey[key] = newProps[key];\n }\n }\n }\n protected setSurveyEvents() {\n var self = this;\n\n this.survey.renderCallback = function () {\n var counter =\n !!self.state && !!self.state.modelChanged ? self.state.modelChanged : 0;\n self.setState({ modelChanged: counter + 1 });\n };\n this.survey.onPartialSend.add((sender) => {\n if (!!self.state) {\n self.setState(self.state);\n }\n });\n }\n\n //ISurveyCreator\n public createQuestionElement(question: Question): JSX.Element | null {\n return ReactQuestionFactory.Instance.createQuestion(question.isDefaultRendering() ? question.getTemplate() : question.getComponentName(),\n {\n question: question,\n isDisplayMode: question.isInputReadOnly,\n creator: this,\n }\n );\n }\n public renderError(\n key: string,\n error: SurveyError,\n cssClasses: any\n ): JSX.Element {\n return (\n <div key={key}>\n <span className={cssClasses.error.icon || undefined} aria-hidden=\"true\" />\n <span className={cssClasses.error.item || undefined}>\n <SurveyLocStringViewer locStr={error.locText} />\n </span>\n </div>\n );\n }\n public questionTitleLocation(): string {\n return this.survey.questionTitleLocation;\n }\n public questionErrorLocation(): string {\n return this.survey.questionErrorLocation;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey\", (props) => {\n return React.createElement(Survey, props);\n});\n\nexport function attachKey2click(element: JSX.Element, viewModel?: any, options: IAttachKey2clickOptions = { processEsc: true, disableTabStop: false }): JSX.Element {\n if ((!!viewModel && viewModel.disableTabStop) || (!!options && options.disableTabStop)) {\n return React.cloneElement(element, { tabIndex: -1 });\n }\n options = { ...options };\n return React.cloneElement(\n element,\n {\n tabIndex: 0,\n onKeyUp: (evt: KeyboardEvent) => {\n evt.preventDefault();\n evt.stopPropagation();\n doKey2ClickUp(evt, options);\n return false;\n },\n onKeyDown: (evt: any) => doKey2ClickDown(evt, options),\n onBlur: (evt: any) => doKey2ClickBlur(evt)\n }\n );\n}","import * as React from \"react\";\nimport { SurveyModel } from \"survey-core\";\n\nexport class SurveyNavigationBase extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n this.state = { update: 0 };\n }\n protected get survey(): SurveyModel {\n return this.props.survey;\n }\n protected get css(): any {\n return this.props.css || this.survey.css;\n }\n private updateStateFunction: any = null;\n componentDidMount() {\n if (this.survey) {\n var self = this;\n this.updateStateFunction = function () {\n self.setState({ update: self.state.update + 1 });\n };\n this.survey.onPageVisibleChanged.add(this.updateStateFunction);\n }\n }\n componentWillUnmount() {\n if (this.survey && this.updateStateFunction) {\n this.survey.onPageVisibleChanged.remove(this.updateStateFunction);\n this.updateStateFunction = null;\n }\n }\n}\n","import * as React from \"react\";\nimport { SurveyProgressModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyProgress extends SurveyNavigationBase {\n constructor(props: any) {\n super(props);\n }\n protected get isTop(): boolean {\n return this.props.isTop;\n }\n protected get progress(): number {\n return this.survey.progressValue;\n }\n protected get progressText(): string {\n return this.survey.progressText;\n }\n render(): JSX.Element {\n var progressStyle = {\n width: this.progress + \"%\",\n };\n return (\n <div className={this.survey.getProgressCssClasses(this.props.container)}>\n <div\n style={progressStyle}\n className={this.css.progressBar}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n >\n <span\n className={SurveyProgressModel.getProgressTextInBarCss(this.css)}\n >\n {this.progressText}\n </span>\n </div>\n <span\n className={SurveyProgressModel.getProgressTextUnderBarCss(this.css)}\n >\n {this.progressText}\n </span>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-progress-pages\", props => {\n return React.createElement(SurveyProgress, props);\n});\nReactElementFactory.Instance.registerElement(\"sv-progress-questions\", props => {\n return React.createElement(SurveyProgress, props);\n});\nReactElementFactory.Instance.registerElement(\n \"sv-progress-correctquestions\",\n props => {\n return React.createElement(SurveyProgress, props);\n }\n);\nReactElementFactory.Instance.registerElement(\n \"sv-progress-requiredquestions\",\n props => {\n return React.createElement(SurveyProgress, props);\n }\n);\n","import * as React from \"react\";\nimport { SurveyProgressButtonsModel, PageModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyProgressButtons extends SurveyNavigationBase {\n private progressButtonsModel: SurveyProgressButtonsModel;\n private updateScroller: any = undefined;\n private listContainerRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.progressButtonsModel = new SurveyProgressButtonsModel(this.survey);\n this.listContainerRef = React.createRef();\n }\n render(): JSX.Element {\n return (\n <div className={this.css.progressButtonsContainerCenter}>\n <div className={this.css.progressButtonsContainer}>\n <div\n className={this.getScrollButtonCss(true)}\n role=\"button\"\n onClick={() =>\n this.clickScrollButton(this.listContainerRef.current, true)\n }\n ></div>\n <div\n className={this.css.progressButtonsListContainer}\n ref={this.listContainerRef}\n >\n <ul className={this.css.progressButtonsList}>\n {this.getListElements()}\n </ul>\n </div>\n <div\n className={this.getScrollButtonCss(false)}\n role=\"button\"\n onClick={() =>\n this.clickScrollButton(this.listContainerRef.current, false)\n }\n ></div>\n </div>\n </div>\n );\n }\n protected getListElements(): JSX.Element[] {\n let buttons: JSX.Element[] = [];\n this.survey.visiblePages.forEach((page: PageModel, index: number) => {\n buttons.push(this.renderListElement(page, index));\n });\n return buttons;\n }\n protected renderListElement(page: PageModel, index: number): JSX.Element {\n return (\n <li\n key={\"listelement\" + index}\n className={this.getListElementCss(index)}\n onClick={\n this.isListElementClickable(index)\n ? () => this.clickListElement(index)\n : undefined\n }\n >\n <div\n className={this.css.progressButtonsPageTitle}\n title={page.renderedNavigationTitle}\n >\n {page.renderedNavigationTitle}\n </div>\n <div\n className={this.css.progressButtonsPageDescription}\n title={page.navigationDescription}\n >\n {page.navigationDescription}\n </div>\n </li>\n );\n }\n protected isListElementClickable(index: number): boolean {\n return this.progressButtonsModel.isListElementClickable(index);\n }\n protected getListElementCss(index: number): string {\n return this.progressButtonsModel.getListElementCss(index);\n }\n protected clickListElement(index: number): void {\n this.progressButtonsModel.clickListElement(index);\n }\n protected getScrollButtonCss(isLeftScroll: boolean): string {\n return this.progressButtonsModel.getScrollButtonCss(this.state.hasScroller, isLeftScroll);\n }\n protected clickScrollButton(\n listContainerElement: Element | null,\n isLeftScroll: boolean\n ): void {\n if(!!listContainerElement) {\n listContainerElement.scrollLeft += (isLeftScroll ? -1 : 1) * 70;\n }\n }\n componentDidMount() {\n this.updateScroller = setInterval(() => {\n if(!!this.listContainerRef.current) {\n this.setState({ hasScroller: this.listContainerRef.current.scrollWidth > this.listContainerRef.current.offsetWidth, });\n }\n }, 100);\n }\n componentWillUnmount() {\n if (typeof this.updateScroller !== \"undefined\") {\n clearInterval(this.updateScroller);\n this.updateScroller = undefined;\n }\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-progress-buttons\", (props) => {\n return React.createElement(SurveyProgressButtons, props);\n});\n","import * as React from \"react\";\nimport { createTOCListModel, getTocRootCss, TOCModel } from \"survey-core\";\nimport { SurveyNavigationBase } from \"./reactSurveyNavigationBase\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { List } from \"./components/list/list\";\nimport { Popup } from \"./components/popup/popup\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyProgressToc extends SurveyNavigationBase {\n render(): JSX.Element {\n const tocModel = new TOCModel(this.props.model);\n let content: JSX.Element;\n if(tocModel.isMobile) {\n content = <div onClick={tocModel.togglePopup}>\n <SvgIcon iconName={tocModel.icon} size={24}/>\n <Popup model={tocModel.popupModel}/>\n </div>;\n } else {\n content = <List model={tocModel.listModel} />;\n }\n return (\n <div className={tocModel.containerCss}>\n {content}\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-progress-toc\", (props) => {\n return React.createElement(SurveyProgressToc, props);\n});\n","import * as React from \"react\";\nimport {\n Base,\n SurveyElement,\n SurveyError,\n Question,\n QuestionMatrixDropdownRenderedCell,\n SurveyModel\n} from \"survey-core\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyElementBase, ReactSurveyElement } from \"./reactquestion_element\";\nimport { SurveyQuestionCommentItem } from \"./reactquestion_comment\";\nimport { SurveyCustomWidget } from \"./custom-widget\";\nimport { SurveyElementHeader } from \"./element-header\";\n\nexport interface ISurveyCreator {\n createQuestionElement(question: Question): JSX.Element | null;\n renderError(key: string, error: SurveyError, cssClasses: any): JSX.Element;\n questionTitleLocation(): string;\n questionErrorLocation(): string;\n}\n\nexport class SurveyQuestion extends SurveyElementBase<any, any> {\n private isNeedFocus = false;\n public static renderQuestionBody(\n creator: ISurveyCreator,\n question: Question\n ): JSX.Element | any {\n if (!question.isVisible) return null;\n var customWidget = question.customWidget;\n if (!customWidget) {\n return creator.createQuestionElement(question);\n }\n return <SurveyCustomWidget creator={creator} question={question} />;\n }\n private rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.rootRef = React.createRef();\n }\n protected getStateElement(): Base {\n return this.question;\n }\n protected get question(): Question {\n return this.props.element;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n componentDidMount() {\n super.componentDidMount();\n if (!!this.question) {\n this.question[\"react\"] = this;\n }\n this.doAfterRender();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.question) {\n this.question[\"react\"] = null;\n }\n const el = this.rootRef.current;\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.doAfterRender();\n }\n private doAfterRender() {\n if (this.isNeedFocus) {\n if (!this.question.isCollapsed) {\n this.question.clickTitleFunction();\n }\n this.isNeedFocus = false;\n }\n if (this.question) {\n var el = this.rootRef.current;\n if (el && el.getAttribute(\"data-rendered\") !== \"r\") {\n el.setAttribute(\"data-rendered\", \"r\");\n el.setAttribute(\"data-name\", this.question.name);\n if (this.question.afterRender) {\n this.question.afterRender(el);\n }\n }\n }\n }\n protected canRender(): boolean {\n return (\n super.canRender() &&\n !!this.question &&\n !!this.creator &&\n this.question.isVisible\n );\n }\n\n protected renderQuestionContent(): JSX.Element {\n let question = this.question;\n var contentStyle = {\n display: !this.question.isCollapsed ? \"\" : \"none\",\n };\n var cssClasses = question.cssClasses;\n var questionRender = this.renderQuestion();\n var errorsTop = this.question.showErrorOnTop\n ? this.renderErrors(cssClasses, \"top\")\n : null;\n var errorsBottom = this.question.showErrorOnBottom\n ? this.renderErrors(cssClasses, \"bottom\")\n : null;\n var comment =\n question && question.hasComment ? this.renderComment(cssClasses) : null;\n var descriptionUnderInput = question.hasDescriptionUnderInput\n ? this.renderDescription()\n : null;\n return (\n <div\n className={question.cssContent || undefined}\n style={contentStyle}\n role=\"presentation\"\n >\n {errorsTop}\n {questionRender}\n {comment}\n {errorsBottom}\n {descriptionUnderInput}\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n var question = this.question;\n var cssClasses = question.cssClasses;\n var header = this.renderHeader(question);\n var headerTop = question.hasTitleOnLeftTop ? header : null;\n var headerBottom = question.hasTitleOnBottom ? header : null;\n\n const errorsAboveQuestion = this.question.showErrorsAboveQuestion\n ? this.renderErrors(cssClasses, \"\")\n : null;\n\n const errorsBelowQuestion = this.question.showErrorsBelowQuestion\n ? this.renderErrors(cssClasses, \"\")\n : null;\n\n let rootStyle = question.getRootStyle();\n let questionContent = this.wrapQuestionContent(this.renderQuestionContent());\n\n return (\n <>\n <div\n ref={this.rootRef}\n id={question.id}\n className={question.getRootCss()}\n style={rootStyle}\n role={question.ariaRole}\n aria-required={this.question.ariaRequired}\n aria-invalid={this.question.ariaInvalid}\n aria-labelledby={question.ariaLabelledBy}\n aria-expanded={question.ariaExpanded === null ? undefined : question.ariaExpanded === \"true\"}\n >\n {errorsAboveQuestion}\n {headerTop}\n {questionContent}\n {headerBottom}\n {errorsBelowQuestion}\n </div>\n </>\n );\n }\n protected wrapElement(element: JSX.Element): JSX.Element {\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapElement(survey, element, this.question);\n }\n return wrapper ?? element;\n }\n protected wrapQuestionContent(element: JSX.Element): JSX.Element {\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapQuestionContent(survey, element, this.question);\n }\n return wrapper ?? element;\n }\n protected renderQuestion(): JSX.Element {\n return SurveyQuestion.renderQuestionBody(this.creator, this.question);\n }\n protected renderDescription(): JSX.Element {\n return SurveyElementBase.renderQuestionDescription(this.question);\n }\n protected renderComment(cssClasses: any): JSX.Element {\n const commentText = SurveyElementBase.renderLocString(\n this.question.locCommentText\n );\n return (\n <div className={this.question.getCommentAreaCss()}>\n <div>{commentText}</div>\n <SurveyQuestionCommentItem\n question={this.question}\n cssClasses={cssClasses}\n otherCss={cssClasses.other}\n isDisplayMode={this.question.isInputReadOnly}\n />\n </div>\n );\n }\n protected renderHeader(question: Question): JSX.Element {\n return <SurveyElementHeader element={question}></SurveyElementHeader>;\n }\n protected renderErrors(cssClasses: any, location: string): JSX.Element {\n return (\n <SurveyElementErrors\n element={this.question}\n cssClasses={cssClasses}\n creator={this.creator}\n location={location}\n id={this.question.id + \"_errors\"}\n />\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"question\", (props) => {\n return React.createElement(SurveyQuestion, props);\n});\n\nexport class SurveyElementErrors extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.state = this.getState();\n }\n protected get id(): string {\n return this.props.element.id + \"_errors\";\n }\n protected get element(): SurveyElement {\n return this.props.element;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get location(): string {\n return this.props.location;\n }\n private getState(prevState: any = null) {\n return !prevState ? { error: 0 } : { error: prevState.error + 1 };\n }\n protected canRender(): boolean {\n return !!this.element && this.element.hasVisibleErrors;\n }\n componentWillUnmount() {\n }\n protected renderElement(): JSX.Element {\n const errors: Array<JSX.Element> = [];\n for (let i = 0; i < this.element.errors.length; i++) {\n const key: string = \"error\" + i;\n errors.push(\n this.creator.renderError(key, this.element.errors[i], this.cssClasses)\n );\n }\n\n return (\n <div\n role=\"alert\"\n aria-live=\"polite\"\n className={this.element.cssError}\n id={this.id}\n >\n {errors}\n </div>\n );\n }\n}\n\nexport abstract class SurveyQuestionAndErrorsWrapped extends ReactSurveyElement {\n [index: string]: any;\n constructor(props: any) {\n super(props);\n }\n protected getStateElement(): Base {\n return this.question;\n }\n protected get question(): Question {\n return this.getQuestion();\n }\n protected get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected getQuestion(): Question {\n return this.props.question;\n }\n protected get itemCss(): string {\n return this.props.itemCss;\n }\n componentDidMount() {\n super.componentDidMount();\n this.doAfterRender();\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.doAfterRender();\n }\n protected doAfterRender() { }\n protected canRender(): boolean {\n return !!this.question;\n }\n protected renderContent(): JSX.Element {\n var renderedQuestion = this.renderQuestion();\n return (\n <>\n {renderedQuestion}\n </>\n );\n }\n protected abstract renderElement(): JSX.Element;\n protected getShowErrors(): boolean {\n return this.question.isVisible;\n }\n protected renderQuestion(): JSX.Element {\n return SurveyQuestion.renderQuestionBody(this.creator, this.question);\n }\n}\n\nexport class SurveyQuestionAndErrorsCell extends SurveyQuestionAndErrorsWrapped {\n [index: string]: any;\n protected cellRef: React.RefObject<HTMLTableCellElement>;\n constructor(props: any) {\n super(props);\n this.cellRef = React.createRef();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.question) {\n var el = this.cellRef.current;\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n }\n protected renderElement(): JSX.Element {\n var style = this.getCellStyle();\n const cell = this.props.cell;\n const focusIn = () => { cell.focusIn(); };\n return (\n <td\n ref={this.cellRef}\n className={this.itemCss}\n colSpan={cell.colSpans}\n data-responsive-title={this.getHeaderText()}\n title={cell.getTitle()}\n style={style}\n onFocus={focusIn}\n >\n {this.wrapCell(this.props.cell,\n (\n <div className={this.cssClasses.cellQuestionWrapper}>\n {this.renderQuestion()}\n </div>)\n )}\n </td>\n );\n }\n protected getCellStyle(): any {\n return null;\n }\n protected getHeaderText(): string {\n return \"\";\n }\n protected wrapCell(\n cell: QuestionMatrixDropdownRenderedCell,\n element: JSX.Element\n ): JSX.Element {\n if (!cell) {\n return element;\n }\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapMatrixCell(survey, element, cell, this.props.reason);\n }\n return wrapper ?? element;\n }\n}\n\nexport class SurveyQuestionErrorCell extends React.Component<any, any> {\n constructor(props: any) {\n super(props);\n this.state = {\n changed: 0\n };\n if(this.question) {\n this.registerCallback(this.question);\n }\n }\n private get question(): Question {\n return this.props.question;\n }\n private update() {\n this.setState({ changed: this.state.changed + 1 });\n }\n private registerCallback(question: Question) {\n question.registerFunctionOnPropertyValueChanged(\"errors\", () => {\n this.update();\n }, \"__reactSubscription\");\n }\n private unRegisterCallback(question: Question) {\n question.unRegisterFunctionOnPropertyValueChanged(\"errors\", \"__reactSubscription\");\n }\n componentDidUpdate(prevProps: Readonly<any>): void {\n if(prevProps.question && prevProps.question !== this.question) {\n this.unRegisterCallback(prevProps.cell);\n }\n if(this.question) {\n this.registerCallback(this.question);\n }\n }\n componentWillUnmount(): void {\n if(this.question) {\n this.unRegisterCallback(this.question);\n }\n }\n render(): JSX.Element {\n return <SurveyElementErrors element={this.question} creator={this.props.creator} cssClasses={this.question.cssClasses}></SurveyElementErrors>;\n }\n}\n","import { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport React from \"react\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport {\n QuestionButtonGroupModel,\n ButtonGroupItemValue,\n ButtonGroupItemModel,\n} from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionButtonGroup extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionButtonGroupModel {\n return this.questionBase as QuestionButtonGroupModel;\n }\n getStateElement() {\n return this.question;\n }\n renderElement() {\n const items = this.renderItems();\n return <div className={this.question.cssClasses.root}>{items}</div>;\n }\n renderItems() {\n return this.question.visibleChoices.map(\n (item: ButtonGroupItemValue, index: number) => {\n return (\n <SurveyButtonGroupItem\n key={this.question.inputId + \"_\" + index}\n item={item}\n question={this.question}\n index={index}\n ></SurveyButtonGroupItem>\n );\n }\n );\n }\n}\n\nexport class SurveyButtonGroupItem extends SurveyElementBase<any, any> {\n public model: ButtonGroupItemModel;\n constructor(props: any) {\n super(props);\n }\n get index(): number {\n return this.props.index;\n }\n get question(): QuestionButtonGroupModel {\n return this.props.question;\n }\n get item(): ButtonGroupItemValue {\n return this.props.item;\n }\n getStateElement() {\n return this.item;\n }\n public renderElement() {\n this.model = new ButtonGroupItemModel(this.question, this.item, this.index);\n const icon = this.renderIcon();\n const input = this.renderInput();\n const caption = this.renderCaption();\n return (\n <label\n role=\"radio\"\n className={this.model.css.label}\n title={this.model.caption.renderedHtml}\n >\n {input}\n <div className={this.model.css.decorator}>\n {icon}\n {caption}\n </div>\n </label>\n );\n }\n protected renderIcon() {\n if (!!this.model.iconName) {\n return (\n <SvgIcon\n className={this.model.css.icon}\n iconName={this.model.iconName}\n size={this.model.iconSize || 24}\n ></SvgIcon>\n );\n }\n return null;\n }\n protected renderInput() {\n return (\n <input\n className={this.model.css.control}\n id={this.model.id}\n type=\"radio\"\n name={this.model.name}\n checked={this.model.selected}\n value={this.model.value}\n disabled={this.model.readOnly}\n onChange={() => {\n this.model.onChange();\n }}\n aria-required={this.model.isRequired}\n aria-label={this.model.caption.renderedHtml}\n aria-invalid={this.model.hasErrors}\n aria-describedby={this.model.describedBy}\n role=\"radio\"\n />\n );\n }\n protected renderCaption() {\n if (!this.model.showCaption) return null;\n let caption = this.renderLocString(this.model.caption);\n return (\n <span\n className={this.model.css.caption}\n title={this.model.caption.renderedHtml}\n >\n {caption}\n </span>\n );\n }\n}\n\n// ReactQuestionFactory.Instance.registerQuestion(\"buttongroup\", props => {\n// return React.createElement(SurveyQuestionButtonGroup, props);\n// });\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { Base, ItemValue, SurveyModel, QuestionCheckboxModel } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionCheckbox extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionCheckboxModel {\n return this.questionBase as QuestionCheckboxModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n return (\n <fieldset\n className={this.question.getSelectBaseRootCss()}\n ref={(fieldset) => (this.setControl(fieldset))}\n role={this.question.a11y_input_ariaRole}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n >\n <legend role=\"presentation\" className={\"sv-hidden\"}></legend>\n {this.getHeader()}\n {this.question.hasColumns\n ? this.getColumnedBody(cssClasses)\n : this.getBody(cssClasses)}\n {this.getFooter()}\n {this.question.isOtherSelected ? this.renderOther() : null}\n </fieldset>\n );\n }\n\n protected getHeader() {\n if (this.question.hasHeadItems) {\n return this.question.headItems.map((item: any, ii: number) =>\n this.renderItem(\n \"item_h\" + ii,\n item,\n false,\n this.question.cssClasses\n )\n );\n }\n }\n protected getFooter() {\n if (this.question.hasFootItems) {\n return this.question.footItems.map((item: any, ii: number) =>\n this.renderItem(\n \"item_f\" + ii,\n item,\n false,\n this.question.cssClasses\n )\n );\n }\n }\n protected getColumnedBody(cssClasses: any) {\n return (\n <div className={cssClasses.rootMultiColumn}>\n {this.getColumns(cssClasses)}\n </div>\n );\n }\n protected getColumns(cssClasses: any) {\n return this.question.columns.map((column: any, ci: number) => {\n var items = column.map((item: any, ii: number) =>\n this.renderItem(\n \"item\" + ii,\n item,\n ci === 0 && ii === 0,\n cssClasses,\n \"\" + ci + ii\n )\n );\n return (\n <div key={\"column\" + ci} className={this.question.getColumnClass()} role=\"presentation\">\n {items}\n </div>\n );\n });\n }\n\n protected getBody(cssClasses: any): JSX.Element {\n if (this.question.blockedRow) {\n return <div className={cssClasses.rootRow}>{this.getItems(cssClasses, this.question.dataChoices)}</div>;\n }\n else return <>{this.getItems(cssClasses, this.question.bodyItems)}</>;\n }\n protected getItems(cssClasses: any, choices: Array<ItemValue>): Array<any> {\n var renderedItems:Array<JSX.Element> = [];\n for (var i = 0; i < choices.length; i++) {\n var item = choices[i];\n var key = \"item\" + i;\n var renderedItem = this.renderItem(key, item, i == 0, cssClasses, \"\" + i);\n if(!!renderedItem) {\n renderedItems.push(renderedItem);\n }\n }\n return renderedItems;\n }\n protected get textStyle(): any {\n return null;\n }\n protected renderOther(): JSX.Element {\n let cssClasses = this.question.cssClasses;\n return (\n <div className={this.question.getCommentAreaCss(true)}>\n <SurveyQuestionOtherValueItem\n question={this.question}\n otherCss={cssClasses.other}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n />\n </div>\n );\n }\n protected renderItem(\n key: string,\n item: any,\n isFirst: boolean,\n cssClasses: any,\n index?: string\n ): JSX.Element {\n const renderedItem = ReactElementFactory.Instance.createElement(this.question.itemComponent, {\n key: key,\n question: this.question,\n cssClasses: cssClasses,\n isDisplayMode: this.isDisplayMode,\n item: item,\n textStyle: this.textStyle,\n index: index,\n isFirst: isFirst,\n });\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if (!!survey && !!renderedItem) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n}\nexport class SurveyQuestionCheckboxItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected getStateElement(): Base {\n return this.item;\n }\n protected get question(): QuestionCheckboxModel {\n return this.props.question;\n }\n protected get item(): ItemValue {\n return this.props.item;\n }\n protected get textStyle(): any {\n return this.props.textStyle;\n }\n protected get isFirst(): any {\n return this.props.isFirst;\n }\n protected get index(): number {\n return this.props.index;\n }\n private get hideCaption(): boolean {\n return this.props.hideCaption === true;\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if(!this.question) return false;\n return (\n !this.question.customWidget ||\n !!this.question.customWidgetData.isNeedRender ||\n !!this.question.customWidget.widgetJson.isDefaultRender ||\n !!this.question.customWidget.widgetJson.render\n );\n }\n handleOnChange = (event: any) => {\n this.question.clickItemHandler(this.item, event.target.checked);\n }\n selectAllChanged = (event: any) => {\n this.question.toggleSelectAll();\n }\n protected canRender(): boolean {\n return !!this.item && !!this.question;\n }\n protected renderElement(): JSX.Element {\n var isChecked = this.question.isItemSelected(this.item);\n return this.renderCheckbox(isChecked, null);\n }\n protected get inputStyle(): any {\n return null;//{ marginRight: \"3px\" };\n }\n protected renderCheckbox(\n isChecked: boolean,\n otherItem: JSX.Element | null\n ): JSX.Element {\n var id = this.question.getItemId(this.item);\n var text = !this.hideCaption ? this.renderLocString(this.item.locText) : \"\";\n let itemClass = this.question.getItemClass(this.item);\n let labelClass = this.question.getLabelClass(this.item);\n var onItemChanged =\n this.item == this.question.selectAllItem\n ? this.selectAllChanged\n : this.handleOnChange;\n const itemLabel = !this.hideCaption ? <span className={this.cssClasses.controlLabel}>{this.renderLocString(this.item.locText, this.textStyle)}</span> : null;\n\n return (\n <div className={itemClass} role=\"presentation\">\n <label className={labelClass}>\n <input\n className={this.cssClasses.itemControl}\n type=\"checkbox\"\n name={this.question.name}\n value={this.item.value != \"selectall\" ? this.item.value : undefined}\n id={id}\n style={this.inputStyle}\n disabled={!this.question.getItemEnabled(this.item)}\n checked={isChecked}\n onChange={onItemChanged}\n />\n {\n this.cssClasses.materialDecorator ?\n <span className={this.cssClasses.materialDecorator}>\n {this.question.itemSvgIcon ?\n <svg\n className={this.cssClasses.itemDecorator}\n >\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg> :\n null\n }\n </span> :\n null\n }\n {itemLabel}\n </label>\n {otherItem}\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey-checkbox-item\", (props: any) => {\n return React.createElement(SurveyQuestionCheckboxItem, props);\n});\n\nReactQuestionFactory.Instance.registerQuestion(\"checkbox\", (props) => {\n return React.createElement(SurveyQuestionCheckbox, props);\n});\n","import * as React from \"react\";\nimport { ReactSurveyElement, SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\nimport { QuestionCommentModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { CharacterCounterComponent } from \"./components/character-counter\";\n\nexport class SurveyQuestionComment extends SurveyQuestionUncontrolledElement<QuestionCommentModel> {\n constructor(props: any) {\n super(props);\n }\n protected renderElement(): JSX.Element {\n var onBlur: ((e: any) => void) | undefined = !this.question.isInputTextUpdate ? this.updateValueOnEvent : undefined;\n var onInput = (event: any) => {\n if (this.question.isInputTextUpdate) {\n this.updateValueOnEvent(event);\n } else {\n this.question.updateElement();\n }\n\n const newValue = event.target.value;\n this.question.updateRemainingCharacterCounter(newValue);\n };\n const placeholder = this.question.renderedPlaceholder;\n if (this.question.isReadOnlyRenderDiv()) {\n return <div>{this.question.value}</div>;\n }\n const counter = !!this.question.getMaxLength() ? (<CharacterCounterComponent counter={this.question.characterCounter} remainingCharacterCounter={this.question.cssClasses.remainingCharacterCounter}></CharacterCounterComponent>) : null;\n return (\n <>\n <textarea\n id={this.question.inputId}\n className={this.question.className}\n disabled={this.question.isInputReadOnly}\n readOnly={this.question.isInputReadOnly}\n ref={(textarea) => (this.setControl(textarea))}\n maxLength={this.question.getMaxLength()}\n placeholder={placeholder}\n onBlur={onBlur}\n onInput={onInput}\n onKeyDown={(event) => { this.question.onKeyDown(event); }}\n cols={this.question.cols}\n rows={this.question.rows}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n style={{ resize: this.question.resizeStyle }}\n />\n {counter}\n </>\n );\n }\n}\n\nexport class SurveyQuestionCommentItem extends ReactSurveyElement {\n protected canRender(): boolean {\n return !!this.props.question;\n }\n protected onCommentChange(event: any): void {\n this.props.question.onCommentChange(event);\n }\n protected onCommentInput(event: any): void {\n this.props.question.onCommentInput(event);\n }\n protected getComment(): string {\n return this.props.question.comment;\n }\n protected getId(): string {\n return this.props.question.commentId;\n }\n protected getPlaceholder(): string {\n return this.props.question.renderedCommentPlaceholder;\n }\n protected renderElement(): JSX.Element {\n let question = this.props.question;\n let className = this.props.otherCss || this.cssClasses.comment;\n let handleOnChange = (event: any) => {\n this.setState({ comment: event.target.value });\n this.onCommentChange(event);\n };\n const questionComment = this.getComment();\n let stateComment: string = !!this.state ? this.state.comment : undefined;\n if (stateComment !== undefined && stateComment.trim() !== questionComment) {\n stateComment = questionComment;\n }\n let comment = stateComment !== undefined ? stateComment : questionComment || \"\";\n\n if (question.isReadOnlyRenderDiv()) {\n return <div>{comment}</div>;\n }\n return (\n <textarea\n id={this.getId()}\n className={className}\n value={comment}\n disabled={this.isDisplayMode}\n maxLength={question.getOthersMaxLength()}\n placeholder={this.getPlaceholder()}\n onChange={handleOnChange}\n onBlur={(e) => { this.onCommentChange(e); handleOnChange(e); }}\n onInput={(e) => this.onCommentInput(e)}\n aria-required={question.isRequired || question.a11y_input_ariaRequired}\n aria-label={question.ariaLabel || question.a11y_input_ariaLabel}\n style={{ resize: question.resizeStyle }}\n />\n );\n }\n}\nexport class SurveyQuestionOtherValueItem extends SurveyQuestionCommentItem {\n protected onCommentChange(event: any): void {\n this.props.question.onOtherValueChange(event);\n }\n protected onCommentInput(event: any): void {\n this.props.question.onOtherValueInput(event);\n }\n protected getComment(): string {\n return this.props.question.otherValue;\n }\n protected getId(): string {\n return this.props.question.otherId;\n }\n protected getPlaceholder(): string {\n return this.props.question.otherPlaceholder;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"comment\", (props) => {\n return React.createElement(SurveyQuestionComment, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\nimport { SurveyQuestion } from \"./reactquestion\";\nimport { Base, QuestionCustomModel, QuestionCompositeModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyPanel } from \"./panel\";\n\nexport class SurveyQuestionCustom extends SurveyQuestionUncontrolledElement<QuestionCustomModel> {\n constructor(props: any) {\n super(props);\n }\n protected getStateElements(): Array<Base> {\n const res = super.getStateElements();\n if(!!this.question.contentQuestion) {\n res.push(this.question.contentQuestion);\n }\n return res;\n }\n protected renderElement(): JSX.Element {\n return SurveyQuestion.renderQuestionBody(\n this.creator,\n this.question.contentQuestion\n );\n }\n}\n\nexport class SurveyQuestionComposite extends SurveyQuestionUncontrolledElement<QuestionCompositeModel> {\n constructor(props: any) {\n super(props);\n }\n protected canRender(): boolean {\n return !!this.question.contentPanel;\n }\n protected renderElement(): JSX.Element {\n return (\n <SurveyPanel\n element={this.question.contentPanel}\n creator={this.creator}\n survey={this.question.survey}\n ></SurveyPanel>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"custom\", (props) => {\n return React.createElement(SurveyQuestionCustom, props);\n});\nReactQuestionFactory.Instance.registerQuestion(\"composite\", (props) => {\n return React.createElement(SurveyQuestionComposite, props);\n});\n","import * as React from \"react\";\nimport { Question } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionDropdownBase } from \"./dropdown-base\";\n\nexport class SurveyQuestionDropdown extends SurveyQuestionDropdownBase<Question> {\n constructor(props: any) {\n super(props);\n }\n\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const comment = this.question.isOtherSelected ? this.renderOther(cssClasses) : null;\n const select = this.renderSelect(cssClasses);\n return (\n <div className={this.question.renderCssRoot}>\n {select}\n {comment}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"dropdown\", (props) => {\n return React.createElement(SurveyQuestionDropdown, props);\n});","import * as React from \"react\";\nimport { Base, ArrayChanges, SurveyModel, Helpers, PanelModel, LocalizableString, Question } from \"survey-core\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyElementBase<P, S> extends React.Component<P, S> {\n public static renderLocString(\n locStr: LocalizableString,\n style: any = null,\n key?: string\n ): JSX.Element {\n return ReactElementFactory.Instance.createElement(locStr.renderAs, {\n locStr: locStr.renderAsData,\n style: style,\n key: key,\n });\n }\n public static renderQuestionDescription(question: Question | PanelModel): JSX.Element {\n var descriptionText = SurveyElementBase.renderLocString(question.locDescription);\n return <div style={question.hasDescription ? undefined : { display: \"none\" } } className={question.cssDescription}>{descriptionText}</div>;\n }\n private changedStatePropNameValue: string | undefined;\n constructor(props: any) {\n super(props);\n }\n componentDidMount() {\n this.makeBaseElementsReact();\n }\n componentWillUnmount() {\n this.unMakeBaseElementsReact();\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n this.makeBaseElementsReact();\n }\n private _allowComponentUpdate = true;\n protected allowComponentUpdate() {\n this._allowComponentUpdate = true;\n this.forceUpdate();\n }\n protected denyComponentUpdate() {\n this._allowComponentUpdate = false;\n }\n shouldComponentUpdate(nextProps:any, nextState:any):boolean {\n if(this._allowComponentUpdate) {\n this.unMakeBaseElementsReact();\n }\n return this._allowComponentUpdate;\n }\n render(): JSX.Element | null {\n if (!this.canRender()) {\n return null;\n }\n\n this.startEndRendering(1);\n var res = this.renderElement();\n this.startEndRendering(-1);\n\n if(!!res) {\n res = this.wrapElement(res);\n }\n\n this.changedStatePropNameValue = undefined;\n return res;\n }\n protected wrapElement(element: JSX.Element): JSX.Element {\n return element;\n }\n protected get isRendering(): boolean {\n var stateEls: Array<any> = this.getRenderedElements();\n for(let stateEl of stateEls) {\n if(stateEl.reactRendering > 0) return true;\n }\n return false;\n }\n protected getRenderedElements(): Base[] {\n return this.getStateElements();\n }\n private startEndRendering(val: number) {\n var stateEls: Array<any> = this.getRenderedElements();\n for(let stateEl of stateEls) {\n if (!stateEl.reactRendering) stateEl.reactRendering = 0;\n stateEl.reactRendering += val;\n }\n }\n protected canRender(): boolean {\n return true;\n }\n protected renderElement(): JSX.Element | null {\n return null;\n }\n protected get changedStatePropName(): string | undefined {\n return this.changedStatePropNameValue;\n }\n private makeBaseElementsReact() {\n var els = this.getStateElements();\n for (var i = 0; i < els.length; i++) {\n this.makeBaseElementReact(els[i]);\n }\n }\n private unMakeBaseElementsReact() {\n var els = this.getStateElements();\n for (var i = 0; i < els.length; i++) {\n this.unMakeBaseElementReact(els[i]);\n }\n }\n protected getStateElements(): Array<Base> {\n var el = this.getStateElement();\n return !!el ? [el] : [];\n }\n protected getStateElement(): Base | null {\n return null;\n }\n protected get isDisplayMode(): boolean {\n const props: any = this.props;\n return props.isDisplayMode || false;\n }\n protected renderLocString(\n locStr: LocalizableString,\n style: any = null,\n key?: string\n ): JSX.Element {\n return SurveyElementBase.renderLocString(locStr, style, key);\n }\n private canMakeReact(stateElement: Base): boolean {\n return !!stateElement && !!stateElement.iteratePropertiesHash;\n }\n private makeBaseElementReact(stateElement: Base) {\n if (!this.canMakeReact(stateElement)) return;\n stateElement.iteratePropertiesHash((hash, key) => {\n if (!this.canUsePropInState(key)) return;\n var val: any = hash[key];\n if (Array.isArray(val)) {\n var val: any = val;\n val[\"onArrayChanged\"] = (arrayChanges: ArrayChanges) => {\n if (this.isRendering) return;\n this.changedStatePropNameValue = key;\n this.setState((state: any) => {\n var newState: { [index: string]: any } = {};\n newState[key] = val;\n return newState as S;\n });\n };\n }\n });\n stateElement.setPropertyValueCoreHandler = (\n hash: any,\n key: string,\n val: any\n ) => {\n if (hash[key] !== val) {\n hash[key] = val;\n if (!this.canUsePropInState(key)) return;\n if (this.isRendering) return;\n this.changedStatePropNameValue = key;\n this.setState((state: any) => {\n var newState: { [index: string]: any } = {};\n newState[key] = val;\n return newState as S;\n });\n }\n };\n }\n protected canUsePropInState(key: string): boolean {\n return true;\n }\n private unMakeBaseElementReact(stateElement: Base) {\n if (!this.canMakeReact(stateElement)) return;\n stateElement.setPropertyValueCoreHandler = undefined as any;\n stateElement.iteratePropertiesHash((hash, key) => {\n var val: any = hash[key];\n if (Array.isArray(val)) {\n var val: any = val;\n val[\"onArrayChanged\"] = () => {};\n }\n });\n }\n}\n\nexport class ReactSurveyElement extends SurveyElementBase<any, any> {\n constructor(props: any) {\n super(props);\n }\n protected get cssClasses(): any {\n return this.props.cssClasses;\n }\n}\n\nexport class SurveyQuestionElementBase extends SurveyElementBase<any, any> {\n control: HTMLElement;\n constructor(props: any) {\n super(props);\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateDomElement();\n }\n componentDidMount() {\n super.componentDidMount();\n this.updateDomElement();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (!!this.questionBase) {\n const el: HTMLElement = this.control;\n this.questionBase.beforeDestroyQuestionElement(el);\n if (!!el) {\n el.removeAttribute(\"data-rendered\");\n }\n }\n }\n protected updateDomElement() {\n const el: HTMLElement = this.control;\n if (!!el) {\n if (el.getAttribute(\"data-rendered\") !== \"r\") {\n el.setAttribute(\"data-rendered\", \"r\");\n this.questionBase.afterRenderQuestionElement(el);\n }\n }\n }\n protected get questionBase(): Question {\n return this.props.question;\n }\n protected getRenderedElements(): Base[] {\n return [this.questionBase];\n }\n protected get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected canRender(): boolean {\n return !!this.questionBase && !!this.creator;\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n\n return (\n !this.questionBase.customWidget ||\n !!this.questionBase.customWidgetData.isNeedRender ||\n !!this.questionBase.customWidget.widgetJson.isDefaultRender ||\n !!this.questionBase.customWidget.widgetJson.render\n );\n }\n protected get isDisplayMode(): boolean {\n const props: any = this.props;\n return (\n props.isDisplayMode ||\n (!!this.questionBase && this.questionBase.isInputReadOnly) || false\n );\n }\n protected wrapCell(\n cell: any,\n element: JSX.Element,\n reason: string\n ): JSX.Element {\n if (!reason) {\n return element;\n }\n const survey: SurveyModel = this.questionBase\n .survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapMatrixCell(survey, element, cell, reason);\n }\n return wrapper ?? element;\n }\n public setControl(element: HTMLElement | null): void {\n if(!!element) {\n this.control = element;\n }\n }\n}\n\nexport class SurveyQuestionUncontrolledElement<\n T extends Question\n> extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.updateValueOnEvent = this.updateValueOnEvent.bind(this);\n }\n protected get question(): T {\n return this.questionBase as T;\n }\n updateValueOnEvent = (event: any) => {\n if (\n !Helpers.isTwoValueEquals(this.questionBase.value, event.target.value, false, true, false)\n ) {\n this.setValueCore(event.target.value);\n }\n };\n protected setValueCore(newValue: any) {\n this.questionBase.value = newValue;\n }\n protected getValueCore(): any {\n return this.questionBase.value;\n }\n protected updateDomElement() {\n if (!!this.control) {\n const control: any = this.control;\n const newValue = this.getValueCore();\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true, false)) {\n control.value = this.getValue(newValue);\n }\n }\n super.updateDomElement();\n }\n private getValue(val: any): any {\n if (Helpers.isValueEmpty(val)) return \"\";\n return val;\n }\n}\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionEmptyModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionEmpty extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.state = { value: this.question.value };\n }\n protected get question(): QuestionEmptyModel {\n return this.questionBase as QuestionEmptyModel;\n }\n protected renderElement(): JSX.Element {\n return <div />;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"empty\", (props) => {\n return React.createElement(SurveyQuestionEmpty, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionExpressionModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionExpression extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionExpressionModel {\n return this.questionBase as QuestionExpressionModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n return (\n <div\n id={this.question.inputId}\n className={cssClasses.root}\n ref={(div) => (this.setControl(div))}\n >\n {this.question.formatedValue}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"expression\", (props) => {\n return React.createElement(SurveyQuestionExpression, props);\n});\n","import { HashTable } from \"survey-core\";\n\nexport class ReactQuestionFactory {\n public static Instance: ReactQuestionFactory = new ReactQuestionFactory();\n private creatorHash: HashTable<(name: string) => JSX.Element> = {};\n\n public registerQuestion(\n questionType: string,\n questionCreator: (name: string) => JSX.Element\n ) {\n this.creatorHash[questionType] = questionCreator;\n }\n public getAllTypes(): Array<string> {\n var result = new Array<string>();\n for (var key in this.creatorHash) {\n result.push(key);\n }\n return result.sort();\n }\n public createQuestion(questionType: string, params: any): JSX.Element | null {\n var creator = this.creatorHash[questionType];\n if (creator == null) return null;\n return creator(params);\n }\n}\n","import * as React from \"react\";\nimport { QuestionFileModel } from \"survey-core\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { attachKey2click } from \"./reactSurvey\";\nimport { LoadingIndicatorComponent } from \"./components/loading-indicator\";\nimport { SurveyAction } from \"./components/action-bar/action-bar-item\";\nimport { ReactElementFactory, SurveyFileChooseButton } from \"../entries/react-ui-model\";\n\nexport class SurveyQuestionFile extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionFileModel {\n return this.questionBase as QuestionFileModel;\n }\n protected renderElement(): JSX.Element {\n const preview = this.question.allowShowPreview ? this.renderPreview() : null;\n const loadingIndicator = this.question.showLoadingIndicator ? this.renderLoadingIndicator() : null;\n const video = this.question.isPlayingVideo ? this.renderVideo() : null;\n const fileDecorator = this.question.showFileDecorator ? this.renderFileDecorator() : null;\n const clearButton = this.question.showRemoveButton ? this.renderClearButton(\n this.question.cssClasses.removeButton\n ) : null;\n const clearButtonBottom = this.question.showRemoveButtonBottom ? this.renderClearButton(\n this.question.cssClasses.removeButtonBottom\n ): null;\n const fileNavigator = this.question.fileNavigatorVisible?(<SurveyActionBar model = {this.question.fileNavigator}></SurveyActionBar>) : null;\n const fileInput = (\n this.isDisplayMode ?\n <input\n type=\"file\"\n disabled={this.isDisplayMode}\n className={!this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss()}\n id={this.question.inputId}\n ref={input => (this.setControl(input))}\n style={!this.isDisplayMode ? {} : { color: \"transparent\" }}\n onChange={!this.isDisplayMode ? this.question.doChange : (() => {})}\n multiple={this.question.allowMultiple}\n placeholder={this.question.title}\n accept={this.question.acceptedTypes}\n /> : this.question.hasFileUI ?\n <input\n type=\"file\"\n disabled={this.isDisplayMode}\n tabIndex={-1}\n className={!this.isDisplayMode ? this.question.cssClasses.fileInput : this.question.getReadOnlyFileCss()}\n id={this.question.inputId}\n ref={input => (this.setControl(input))}\n style={!this.isDisplayMode ? {} : { color: \"transparent\" }}\n onChange={!this.isDisplayMode ? this.question.doChange : (() => {})}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n multiple={this.question.allowMultiple}\n title={this.question.inputTitle}\n accept={this.question.acceptedTypes}\n capture={this.question.renderCapture}\n /> : null);\n return (\n <div className={this.question.fileRootCss}>\n {fileInput}\n <div\n className={this.question.cssClasses.dragArea}\n onDrop={this.question.onDrop}\n onDragOver={this.question.onDragOver}\n onDragLeave={this.question.onDragLeave}\n onDragEnter={this.question.onDragEnter}\n >\n {fileDecorator}\n {loadingIndicator}\n {video}\n {clearButton}\n {preview}\n {clearButtonBottom}\n {fileNavigator}\n </div>\n </div>\n );\n }\n protected renderFileDecorator(): JSX.Element {\n const chooseButton = this.question.showChooseButton ? this.renderChooseButton() : null;\n const actionsContainer = this.question.actionsContainerVisible ? <SurveyActionBar model={this.question.actionsContainer}></SurveyActionBar> : null;\n const noFileChosen = this.question.isEmpty() ? (\n <span className={this.question.cssClasses.noFileChosen}>\n {this.question.noFileChosenCaption}\n </span>) : null;\n return (\n <div\n className={this.question.getFileDecoratorCss()}\n >\n <span className={this.question.cssClasses.dragAreaPlaceholder}>{this.question.renderedPlaceholder}</span>\n <div className={this.question.cssClasses.wrapper}>\n {chooseButton}\n {actionsContainer}\n {noFileChosen}\n </div>\n </div>\n );\n }\n protected renderChooseButton(): JSX.Element {\n return <SurveyFileChooseButton data={{ question: this.question }}></SurveyFileChooseButton>;\n }\n protected renderClearButton(className: string): JSX.Element | null {\n return !this.question.isUploading ? (\n <button type=\"button\" onClick={this.question.doClean} className={className}>\n <span>{this.question.clearButtonCaption}</span>\n {(!!this.question.cssClasses.removeButtonIconId) ? <SvgIcon iconName={this.question.cssClasses.removeButtonIconId} size={\"auto\"} title={this.question.clearButtonCaption}></SvgIcon>: null }\n </button>\n ) : null;\n }\n protected renderPreview(): JSX.Element {\n return ReactElementFactory.Instance.createElement(\"sv-file-preview\", { question: this.question });\n }\n protected renderLoadingIndicator(): JSX.Element {\n return <div className={this.question.cssClasses.loadingIndicator}><LoadingIndicatorComponent></LoadingIndicatorComponent></div>;\n }\n protected renderVideo(): JSX.Element {\n return (<div className={this.question.cssClasses.videoContainer}>\n <SurveyAction item={this.question.changeCameraAction}></SurveyAction>\n <SurveyAction item={this.question.closeCameraAction}></SurveyAction>\n <video autoPlay playsInline id={this.question.videoId} className={this.question.cssClasses.video}></video>\n <SurveyAction item={this.question.takePictureAction}></SurveyAction>\n </div>);\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"file\", props => {\n return React.createElement(SurveyQuestionFile, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionHtmlModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionHtml extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionHtmlModel {\n return this.questionBase as QuestionHtmlModel;\n }\n componentDidMount() {\n this.reactOnStrChanged();\n }\n componentWillUnmount() {\n this.question.locHtml.onChanged = function () {};\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n this.reactOnStrChanged();\n }\n private reactOnStrChanged() {\n this.question.locHtml.onChanged = () => {\n this.setState({ changed: !!this.state && this.state.changed ? this.state.changed + 1 : 1 });\n };\n }\n protected canRender(): boolean {\n return super.canRender() && !!this.question.html;\n }\n protected renderElement(): JSX.Element {\n var htmlValue = { __html: this.question.locHtml.renderedHtml };\n return (\n <div\n className={this.question.renderCssRoot}\n dangerouslySetInnerHTML={htmlValue}\n />\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"html\", (props) => {\n return React.createElement(SurveyQuestionHtml, props);\n});\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { QuestionMatrixModel, MatrixRowModel, SurveyModel, Helpers } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyQuestionMatrix extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.state = { rowsChanged: 0 };\n }\n protected get question(): QuestionMatrixModel {\n return this.questionBase as QuestionMatrixModel;\n }\n componentDidMount() {\n super.componentDidMount();\n if (this.question) {\n var self = this;\n this.question.visibleRowsChangedCallback = function() {\n self.setState({ rowsChanged: self.state.rowsChanged + 1 });\n };\n }\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.question) {\n this.question.visibleRowsChangedCallback = null as any;\n }\n }\n\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var rowsTH = this.question.hasRows ? <td /> : null;\n var headers:Array<JSX.Element> = [];\n for (var i = 0; i < this.question.visibleColumns.length; i++) {\n var column = this.question.visibleColumns[i];\n var key = \"column\" + i;\n var columText = this.renderLocString(column.locText);\n const style: any = {};\n if (!!this.question.columnMinWidth) {\n style.minWidth = this.question.columnMinWidth;\n style.width = this.question.columnMinWidth;\n }\n headers.push(\n <th className={this.question.cssClasses.headerCell} style={style} key={key}>\n {this.wrapCell({ column: column }, columText, \"column-header\")}\n </th>\n );\n }\n var rows:Array<JSX.Element> = [];\n var visibleRows = this.question.visibleRows;\n for (var i = 0; i < visibleRows.length; i++) {\n var row = visibleRows[i];\n var key = \"row-\" + row.name + \"-\" + i;\n rows.push(\n <SurveyQuestionMatrixRow\n key={key}\n question={this.question}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n row={row}\n isFirst={i == 0}\n />\n );\n }\n var header = !this.question.showHeader ? null : (\n <thead>\n <tr>\n {rowsTH}\n {headers}\n </tr>\n </thead>\n );\n return (\n <div\n className={cssClasses.tableWrapper}\n ref={root => (this.setControl(root))}\n >\n <fieldset>\n <legend aria-label={this.question.locTitle.renderedHtml} />\n <table className={this.question.getTableCss()}>\n {header}\n <tbody>{rows}</tbody>\n </table>\n </fieldset>\n </div>\n );\n }\n}\n\nexport class SurveyQuestionMatrixRow extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n }\n private get question(): QuestionMatrixModel {\n return this.props.question;\n }\n private get row(): MatrixRowModel {\n return this.props.row;\n }\n handleOnChange(event: any) {\n this.row.value = event.target.value;\n this.setState({ value: this.row.value });\n }\n handleOnMouseDown(event: any) {\n this.question.onMouseDown();\n }\n protected wrapCell(cell: any, element: JSX.Element, reason: string): JSX.Element {\n if(!reason) {\n return element;\n }\n const survey: SurveyModel = this.question.survey as SurveyModel;\n let wrapper: JSX.Element | null = null;\n if (survey) {\n wrapper = ReactSurveyElementsWrapper.wrapMatrixCell(survey, element, cell, reason);\n }\n return wrapper ?? element;\n }\n protected canRender(): boolean {\n return !!this.row;\n }\n protected renderElement(): JSX.Element {\n var rowsTD: JSX.Element | null = null;\n\n if (this.question.hasRows) {\n var rowText = this.renderLocString(this.row.locText);\n const style: any = {};\n if (!!this.question.rowTitleWidth) {\n style.minWidth = this.question.rowTitleWidth;\n style.width = this.question.rowTitleWidth;\n }\n rowsTD = <td style={style} className={this.question.cssClasses.rowTextCell}>\n {this.wrapCell({ row: this.row }, rowText, \"row-header\")}\n </td>;\n }\n\n var tds = this.generateTds();\n return (\n <tr className={this.row.rowClasses || undefined}>\n {rowsTD}\n {tds}\n </tr>\n );\n }\n\n generateTds() {\n var tds:Array<JSX.Element> = [];\n var row = this.row;\n\n for (var i = 0; i < this.question.visibleColumns.length; i++) {\n var td: JSX.Element | null = null;\n var column = this.question.visibleColumns[i];\n var key = \"value\" + i;\n\n var isChecked = row.value == column.value;\n let itemClass = this.question.getItemClass(row, column);\n var inputId = this.question.inputId + \"_\" + row.name + \"_\" + i;\n if (this.question.hasCellText) {\n var getHandler = !this.question.isInputReadOnly\n ? (column: any) => () => this.cellClick(row, column)\n : null;\n td = (\n <td\n key={key}\n className={itemClass}\n onClick={getHandler ? getHandler(column) : () => {}}\n >\n {this.renderLocString(\n this.question.getCellDisplayLocText(row.name, column)\n )}\n </td>\n );\n } else {\n td = (\n <td\n key={key}\n data-responsive-title={column.locText.renderedHtml}\n className={this.question.cssClasses.cell}\n >\n <label onMouseDown={this.handleOnMouseDown} className={itemClass}>\n <input\n id={inputId}\n type=\"radio\"\n className={this.cssClasses.itemValue}\n name={row.fullName}\n value={column.value}\n disabled={this.isDisplayMode}\n checked={isChecked}\n onChange={this.handleOnChange}\n aria-required={this.question.ariaRequired}\n aria-label={column.locText.renderedHtml}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n />\n <span className={this.question.cssClasses.materialDecorator}>\n {this.question.itemSvgIcon ?\n <svg\n className={this.cssClasses.itemDecorator}\n >\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg> :\n null\n }\n </span>\n <span style={!this.question.isMobile ? { display: \"none\" } : undefined } className={this.question.cssClasses.cellResponsiveTitle}>\n {this.renderLocString(column.locText)}\n </span>\n </label>\n </td>\n );\n }\n tds.push(td);\n }\n\n return tds;\n }\n cellClick(row: any, column: any) {\n row.value = column.value;\n this.setState({ value: this.row.value });\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"matrix\", props => {\n return React.createElement(SurveyQuestionMatrix, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionMatrixDropdownBase } from \"./reactquestion_matrixdropdownbase\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\n\nexport class SurveyQuestionMatrixDropdown extends SurveyQuestionMatrixDropdownBase {\n constructor(props: any) {\n super(props);\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"matrixdropdown\", props => {\n return React.createElement(SurveyQuestionMatrixDropdown, props);\n});\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase\n} from \"./reactquestion_element\";\nimport { SurveyElementErrors, SurveyQuestion, SurveyQuestionAndErrorsCell, SurveyQuestionErrorCell } from \"./reactquestion\";\nimport {\n QuestionMatrixDropdownModelBase,\n QuestionMatrixDropdownRenderedRow,\n QuestionMatrixDropdownRenderedCell,\n MatrixDropdownColumn,\n AdaptiveActionContainer,\n Question,\n Base\n} from \"survey-core\";\nimport { SurveyQuestionCheckboxItem } from \"./reactquestion_checkbox\";\nimport { SurveyQuestionRadioItem } from \"./reactquestion_radiogroup\";\nimport { SurveyPanel } from \"./panel\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { MatrixRow } from \"./components/matrix/row\";\nimport { SurveyQuestionMatrixDynamicDragDropIcon } from \"./components/matrix-actions/drag-drop-icon/drag-drop-icon\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionMatrixDropdownBase extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n //Create rendered table in contructor and not on rendering\n const table = this.question.renderedTable;\n this.state = this.getState();\n }\n protected get question(): QuestionMatrixDropdownModelBase {\n return this.questionBase as QuestionMatrixDropdownModelBase;\n }\n private getState(prevState: any = null) {\n return { rowCounter: !prevState ? 0 : prevState.rowCounter + 1 };\n }\n private updateStateOnCallback() {\n if (this.isRendering) return;\n this.setState(this.getState(this.state));\n }\n componentDidMount() {\n super.componentDidMount();\n this.question.visibleRowsChangedCallback = () => {\n this.updateStateOnCallback();\n };\n this.question.onRenderedTableResetCallback = () => {\n this.question.renderedTable.renderedRowsChangedCallback = () => {\n this.updateStateOnCallback();\n };\n this.updateStateOnCallback();\n };\n this.question.renderedTable.renderedRowsChangedCallback = () => {\n this.updateStateOnCallback();\n };\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.question.visibleRowsChangedCallback = () => {};\n this.question.onRenderedTableResetCallback = () => {};\n this.question.renderedTable.renderedRowsChangedCallback = () => {};\n }\n protected renderElement(): JSX.Element {\n return this.renderTableDiv();\n }\n renderTableDiv(): JSX.Element {\n var header = this.renderHeader();\n var footers = this.renderFooter();\n var rows = this.renderRows();\n var divStyle = this.question.showHorizontalScroll\n ? ({ overflowX: \"scroll\" } as React.CSSProperties)\n : ({} as React.CSSProperties);\n return (\n <div style={divStyle} className={this.question.cssClasses.tableWrapper} ref={(root) => (this.setControl(root))}>\n <table className={this.question.getTableCss()}>\n {header}\n {rows}\n {footers}\n </table>\n </div>\n );\n }\n renderHeader(): JSX.Element | null {\n var table = this.question.renderedTable;\n if (!table.showHeader) return null;\n var headers: any[] = [];\n var cells = table.headerRow.cells;\n for (var i = 0; i < cells.length; i++) {\n var cell = cells[i];\n var key = \"column\" + i;\n var columnStyle: any = {};\n if (!!cell.width) {\n columnStyle.width = cell.width;\n }\n if (!!cell.minWidth) {\n columnStyle.minWidth = cell.minWidth;\n }\n var cellContent = this.renderCellContent(cell, \"column-header\", {});\n const header = cell.hasTitle ?\n <th className={cell.className} key={key} style={columnStyle}> {cellContent} </th>\n : <td className={cell.className} key={key} style={columnStyle}></td>;\n headers.push(header);\n }\n return (\n <thead>\n <tr>{headers}</tr>\n </thead>\n );\n }\n renderFooter(): JSX.Element | null {\n var table = this.question.renderedTable;\n if (!table.showFooter) return null;\n var row = this.renderRow(\n \"footer\",\n table.footerRow,\n this.question.cssClasses,\n \"row-footer\"\n );\n return <tfoot>{row}</tfoot>;\n }\n renderRows(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var rows:Array<JSX.Element> = [];\n var renderedRows = this.question.renderedTable.rows;\n for (var i = 0; i < renderedRows.length; i++) {\n rows.push(\n this.renderRow(renderedRows[i].id, renderedRows[i], cssClasses)\n );\n }\n return <tbody>{rows}</tbody>;\n }\n renderRow(\n keyValue: any,\n row: QuestionMatrixDropdownRenderedRow,\n cssClasses: any,\n reason?: string\n ): JSX.Element {\n var matrixrow:Array<JSX.Element> = [];\n var cells = row.cells;\n\n for (var i = 0; i < cells.length; i++) {\n matrixrow.push(this.renderCell(cells[i], i, cssClasses, reason));\n }\n var key = \"row\" + keyValue;\n\n return (\n <React.Fragment key={key}>\n <MatrixRow model={row} parentMatrix={this.question}>{matrixrow}</MatrixRow>\n </React.Fragment>\n );\n }\n\n renderCell(\n cell: QuestionMatrixDropdownRenderedCell,\n index: number,\n cssClasses: any,\n reason?: string\n ): JSX.Element {\n var key = \"cell\" + index;\n if (cell.hasQuestion) {\n return (\n <SurveyQuestionMatrixDropdownCell\n key={key}\n cssClasses={cssClasses}\n cell={cell}\n creator={this.creator}\n reason={reason}\n />\n );\n }\n let calcReason = reason;\n if(!calcReason) {\n calcReason = cell.hasTitle ? \"row-header\" : \"\";\n }\n var cellContent = this.renderCellContent(cell, calcReason, cssClasses);\n var cellStyle: any = null;\n if (!!cell.width || !!cell.minWidth) {\n cellStyle = {};\n if (!!cell.width) cellStyle.width = cell.width;\n if (!!cell.minWidth) cellStyle.minWidth = cell.minWidth;\n }\n\n return (\n <td\n className={cell.className}\n key={key}\n style={cellStyle}\n colSpan={cell.colSpans}\n data-responsive-title={cell.headers}\n title={cell.getTitle()}\n >\n {cellContent}\n </td>\n );\n }\n private renderCellContent(\n cell: QuestionMatrixDropdownRenderedCell,\n reason: string,\n cssClasses: any\n ): JSX.Element | null {\n var cellContent: JSX.Element | null = null;\n var cellStyle: any = null;\n if (!!cell.width || !!cell.minWidth) {\n cellStyle = {};\n if (!!cell.width) cellStyle.width = cell.width;\n if (!!cell.minWidth) cellStyle.minWidth = cell.minWidth;\n }\n if (cell.hasTitle) {\n reason = \"row-header\";\n const str = this.renderLocString(cell.locTitle);\n const require = !!cell.column ? <SurveyQuestionMatrixHeaderRequired column={cell.column} question={this.question}/> : null;\n cellContent = (<>{str}{require}</>);\n }\n if (cell.isDragHandlerCell) {\n cellContent = (<>\n <SurveyQuestionMatrixDynamicDragDropIcon item={{ data: { row: cell.row, question: this.question } }}/>\n </>);\n }\n if (cell.isActionsCell) {\n cellContent = (\n ReactElementFactory.Instance.createElement(\"sv-matrixdynamic-actions-cell\", {\n question: this.question, cssClasses, cell, model: cell.item.getData()\n })\n );\n }\n if (cell.hasPanel) {\n cellContent = (\n <SurveyPanel\n key={cell.panel.id}\n element={cell.panel}\n survey={this.question.survey}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\n />\n );\n }\n if(cell.isErrorsCell) {\n if (cell.isErrorsCell) {\n return (\n <SurveyQuestionErrorCell\n question={cell.question}\n creator={this.creator}\n >\n </SurveyQuestionErrorCell>\n );\n }\n }\n if (!cellContent) return null;\n\n const readyCell = (\n <>\n {cellContent}\n </>\n );\n return this.wrapCell(cell, readyCell, reason);\n }\n}\n\nclass SurveyQuestionMatrixActionsCell extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n get model(): AdaptiveActionContainer {\n return this.props.model;\n }\n protected renderElement(): JSX.Element {\n return (\n <SurveyActionBar model={this.model} handleClick={false}></SurveyActionBar>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrixdynamic-actions-cell\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixActionsCell, props);\n }\n);\nclass SurveyQuestionMatrixHeaderRequired extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n get column(): MatrixDropdownColumn {\n return this.props.column;\n }\n get question(): Question {\n return this.props.question;\n }\n protected getStateElement(): Base {\n return this.column;\n }\n protected renderElement(): JSX.Element | null {\n if(!this.column.isRenderedRequired) return null;\n return (\n <>\n <span>&nbsp;</span>\n <span className={this.question.cssClasses.cellRequiredText}>{this.column.requiredText}</span>\n </>\n );\n }\n}\n\nexport class SurveyQuestionMatrixDropdownCell extends SurveyQuestionAndErrorsCell {\n constructor(props: any) {\n super(props);\n }\n private get cell(): QuestionMatrixDropdownRenderedCell {\n return this.props.cell;\n }\n protected get itemCss(): string {\n return !!this.cell ? this.cell.className : \"\";\n }\n protected getQuestion(): Question | any {\n var q = super.getQuestion();\n if (!!q) return q;\n return !!this.cell ? this.cell.question : null;\n }\n protected doAfterRender(): void {\n var el = this.cellRef.current;\n if (\n el &&\n this.cell &&\n this.question &&\n this.question.survey &&\n el.getAttribute(\"data-rendered\") !== \"r\"\n ) {\n el.setAttribute(\"data-rendered\", \"r\");\n const options = {\n cell: this.cell,\n cellQuestion: this.question,\n htmlElement: el,\n row: this.cell.row,\n column: this.cell.cell.column,\n };\n this.question.survey.matrixAfterCellRender(this.question, options);\n this.question.afterRenderCore(el);\n }\n }\n protected getShowErrors(): boolean {\n return (\n this.question.isVisible &&\n (!this.cell.isChoice || this.cell.isFirstChoice)\n );\n }\n protected getCellStyle(): any {\n var res: any = super.getCellStyle();\n if (!!this.cell.width || !!this.cell.minWidth) {\n if (!res) res = {};\n if (!!this.cell.width) res.width = this.cell.width;\n if (!!this.cell.minWidth) res.minWidth = this.cell.minWidth;\n }\n\n return res;\n }\n\n protected getHeaderText(): string {\n return this.cell.headers;\n }\n protected renderQuestion(): JSX.Element {\n if (!this.cell.isChoice)\n return SurveyQuestion.renderQuestionBody(this.creator, this.question);\n if (this.cell.isOtherChoice) return this.renderOtherComment();\n if (this.cell.isCheckbox) return this.renderCellCheckboxButton();\n return this.renderCellRadiogroupButton();\n }\n private renderOtherComment(): JSX.Element {\n const question = this.cell.question;\n const cssClasses = question.cssClasses || {};\n return <SurveyQuestionOtherValueItem question={question} cssClasses={cssClasses} otherCss={cssClasses.other} isDisplayMode={question.isInputReadOnly} />;\n }\n private renderCellCheckboxButton(): JSX.Element {\n var key = this.cell.question.id + \"item\" + this.cell.choiceIndex;\n return (\n <SurveyQuestionCheckboxItem\n key={key}\n question={this.cell.question}\n cssClasses={this.cell.question.cssClasses}\n isDisplayMode={this.cell.question.isInputReadOnly}\n item={this.cell.item}\n isFirst={this.cell.isFirstChoice}\n index={this.cell.choiceIndex.toString()}\n hideCaption={true}\n />\n );\n }\n private renderCellRadiogroupButton(): JSX.Element {\n var key = this.cell.question.id + \"item\" + this.cell.choiceIndex;\n return (\n <SurveyQuestionRadioItem\n key={key}\n question={this.cell.question}\n cssClasses={this.cell.question.cssClasses}\n isDisplayMode={this.cell.question.isInputReadOnly}\n item={this.cell.item}\n index={this.cell.choiceIndex.toString()}\n isChecked={this.cell.question.value === this.cell.item.value}\n isDisabled={this.cell.question.isReadOnly || !this.cell.item.isEnabled}\n hideCaption={true}\n />\n );\n }\n}","import * as React from \"react\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionMatrixDropdownBase } from \"./reactquestion_matrixdropdownbase\";\nimport { QuestionMatrixDynamicModel } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\n\nexport class SurveyQuestionMatrixDynamic extends SurveyQuestionMatrixDropdownBase {\n constructor(props: any) {\n super(props);\n this.handleOnRowAddClick = this.handleOnRowAddClick.bind(this);\n }\n protected get matrix(): QuestionMatrixDynamicModel {\n return this.questionBase as QuestionMatrixDynamicModel;\n }\n handleOnRowAddClick(event: any) {\n this.matrix.addRowUI();\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var showTable = this.question.renderedTable.showTable;\n var mainDiv = showTable\n ? this.renderTableDiv()\n : this.renderNoRowsContent(cssClasses);\n return (\n <div>\n {this.renderAddRowButtonOnTop(cssClasses)}\n {mainDiv}\n {this.renderAddRowButtonOnBottom(cssClasses)}\n </div>\n );\n }\n protected renderAddRowButtonOnTop(cssClasses: any): JSX.Element | null {\n if (!this.matrix.renderedTable.showAddRowOnTop) return null;\n return this.renderAddRowButton(cssClasses);\n }\n protected renderAddRowButtonOnBottom(cssClasses: any): JSX.Element | null {\n if (!this.matrix.renderedTable.showAddRowOnBottom) return null;\n return this.renderAddRowButton(cssClasses);\n }\n protected renderNoRowsContent(cssClasses: any): JSX.Element {\n const text: JSX.Element = this.renderLocString(this.matrix.locEmptyRowsText);\n const textDiv: JSX.Element = <div className={cssClasses.emptyRowsText}>{text}</div>;\n const btn: JSX.Element|undefined = this.matrix.renderedTable.showAddRow ? this.renderAddRowButton(cssClasses, true) : undefined;\n return (\n <div className={cssClasses.emptyRowsSection}>\n {textDiv}\n {btn}\n </div>\n );\n }\n protected renderAddRowButton(\n cssClasses: any,\n isEmptySection: boolean = false\n ): JSX.Element {\n return ReactElementFactory.Instance.createElement(\"sv-matrixdynamic-add-btn\", {\n question: this.question, cssClasses, isEmptySection\n });\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"matrixdynamic\", (props) => {\n return React.createElement(SurveyQuestionMatrixDynamic, props);\n});\n\nexport class SurveyQuestionMatrixDynamicAddButton extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnRowAddClick = this.handleOnRowAddClick.bind(this);\n }\n protected get matrix(): QuestionMatrixDynamicModel {\n return this.props.question as QuestionMatrixDynamicModel;\n }\n handleOnRowAddClick(event: any) {\n this.matrix.addRowUI();\n }\n protected renderElement(): JSX.Element {\n const addRowText: JSX.Element = this.renderLocString(this.matrix.locAddRowText);\n const addButton = (<button\n className={this.matrix.getAddRowButtonCss(this.props.isEmptySection)}\n type=\"button\"\n disabled={this.matrix.isInputReadOnly}\n onClick={\n this.matrix.isDesignMode ? undefined : this.handleOnRowAddClick\n }\n >\n {addRowText}\n <span className={this.props.cssClasses.iconAdd} />\n </button>);\n return (\n this.props.isEmptySection ? addButton : <div className={this.props.cssClasses.footer}>{addButton}</div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\n \"sv-matrixdynamic-add-btn\",\n (props) => {\n return React.createElement(SurveyQuestionMatrixDynamicAddButton, props);\n }\n);\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { ISurveyCreator, SurveyQuestionAndErrorsWrapped, SurveyQuestionErrorCell } from \"./reactquestion\";\nimport { QuestionMultipleTextModel, MultipleTextItemModel, MultipleTextCell } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\nimport { TitleContent } from \"./components/title/title-content\";\n\nexport class SurveyQuestionMultipleText extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionMultipleTextModel {\n return this.questionBase as QuestionMultipleTextModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var tableRows = this.question.getRows();\n var rows:Array<JSX.Element> = [];\n for (var i = 0; i < tableRows.length; i++) {\n if(tableRows[i].isVisible) {\n rows.push(this.renderRow(i, tableRows[i].cells, cssClasses));\n }\n }\n return (\n <table className={this.question.getQuestionRootCss()}>\n <tbody>{rows}</tbody>\n </table>\n );\n }\n\n protected renderCell(cell: MultipleTextCell, cssClasses: any, index: number): JSX.Element {\n let cellContent: JSX.Element;\n const focusIn = () => { cell.item.focusIn(); };\n if(cell.isErrorsCell) {\n cellContent = <SurveyQuestionErrorCell question={cell.item.editor} creator={this.creator}></SurveyQuestionErrorCell>;\n } else {\n cellContent = <SurveyMultipleTextItem question={this.question} item={cell.item} creator={this.creator} cssClasses={cssClasses}></SurveyMultipleTextItem>;\n }\n return (<td key={\"item\" + index} className={cell.className} onFocus={focusIn}>{cellContent}</td>);\n }\n\n protected renderRow(\n rowIndex: number,\n cells: Array<MultipleTextCell>,\n cssClasses: any\n ): JSX.Element {\n const key: string = \"item\" + rowIndex;\n const tds:Array<JSX.Element> = [];\n for (let i = 0; i < cells.length; i++) {\n const cell = cells[i];\n tds.push(\n this.renderCell(cell, cssClasses, i)\n );\n }\n return (\n <tr key={key} className={cssClasses.row}>\n {tds}\n </tr>\n );\n }\n}\n\nexport class SurveyMultipleTextItem extends ReactSurveyElement {\n private get question(): QuestionMultipleTextModel {\n return this.props.question;\n }\n private get item(): MultipleTextItemModel {\n return this.props.item;\n }\n protected getStateElements() {\n return [this.item, this.item.editor];\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n\n protected renderElement() {\n const item = this.item;\n const cssClasses = this.cssClasses;\n return (<label className={this.question.getItemLabelCss(item)}>\n <span className={cssClasses.itemTitle}>\n <TitleContent element={item.editor} cssClasses={item.editor.cssClasses}></TitleContent>\n </span>\n <SurveyMultipleTextItemEditor\n cssClasses={cssClasses}\n itemCss={this.question.getItemCss()}\n question={item.editor}\n creator={this.creator}\n />\n </label>);\n }\n}\n\nexport class SurveyMultipleTextItemEditor extends SurveyQuestionAndErrorsWrapped {\n protected renderElement(): JSX.Element {\n return <div className={this.itemCss}>{this.renderContent()}</div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"multipletext\", (props) => {\n return React.createElement(SurveyQuestionMultipleText, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { SurveyModel, QuestionPanelDynamicModel } from \"survey-core\";\nimport { SurveyPanel } from \"./panel\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { SurveyActionBar } from \"./components/action-bar/action-bar\";\nimport { SurveyQuestionPanelDynamicNextButton } from \"./components/paneldynamic-actions/paneldynamic-next-btn\";\nimport { SurveyQuestionPanelDynamicPrevButton } from \"./components/paneldynamic-actions/paneldynamic-prev-btn\";\nimport { SurveyQuestionPanelDynamicProgressText } from \"./components/paneldynamic-actions/paneldynamic-progress-text\";\nimport { SurveyQuestionPanelDynamicAddButton } from \"./components/paneldynamic-actions/paneldynamic-add-btn\";\nimport { SurveyQuestionPanelDynamicRemoveButton } from \"./components/paneldynamic-actions/paneldynamic-remove-btn\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionPanelDynamicModel {\n return this.questionBase as QuestionPanelDynamicModel;\n }\n componentDidMount() {\n super.componentDidMount();\n this.setState({ panelCounter: 0 });\n const self: SurveyQuestionPanelDynamic = this;\n this.question.panelCountChangedCallback = function () {\n self.updateQuestionRendering();\n };\n this.question.currentIndexChangedCallback = function () {\n self.updateQuestionRendering();\n };\n this.question.renderModeChangedCallback = function () {\n self.updateQuestionRendering();\n };\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.question.panelCountChangedCallback = () => {};\n this.question.currentIndexChangedCallback = () => {};\n this.question.renderModeChangedCallback = () => {};\n }\n private updateQuestionRendering() {\n this.setState({\n panelCounter: this.state ? this.state.panelCounter + 1 : 1,\n });\n }\n protected renderElement(): JSX.Element {\n const panels:Array<JSX.Element> = [];\n if (this.question.isRenderModeList) {\n for (let i = 0; i < this.question.panels.length; i++) {\n const panel = this.question.panels[i];\n panels.push(\n <SurveyQuestionPanelDynamicItem\n key={panel.id}\n element={panel}\n question={this.question}\n index={i}\n cssClasses={this.question.cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\n />\n );\n }\n } else {\n if (this.question.currentPanel != null) {\n const panel = this.question.currentPanel;\n panels.push(\n <SurveyQuestionPanelDynamicItem\n key={this.question.currentIndex}\n element={panel}\n question={this.question}\n index={this.question.currentIndex}\n cssClasses={this.question.cssClasses}\n isDisplayMode={this.isDisplayMode}\n creator={this.creator}\n />\n );\n }\n }\n const btnAdd: JSX.Element | null = this.question.isRenderModeList && this.question[\"showLegacyNavigation\"]\n ? this.renderAddRowButton()\n : null;\n const navTop: JSX.Element | null = this.question.isProgressTopShowing\n ? this.renderNavigator()\n : null;\n const navBottom: JSX.Element | null = this.question.isProgressBottomShowing\n ? this.renderNavigator()\n : null;\n\n const style: any = {};\n const navV2 = this.renderNavigatorV2();\n const noEntriesPlaceholder = this.renderPlaceholder();\n return (\n <div className={this.question.cssClasses.root}>\n {noEntriesPlaceholder}\n {navTop}\n {panels}\n {navBottom}\n {btnAdd}\n {navV2}\n </div>\n );\n }\n protected renderNavigator(): JSX.Element | null {\n if(!this.question[\"showLegacyNavigation\"]) {\n if(this.question.isRangeShowing && this.question.isProgressTopShowing) {\n return this.renderRange();\n } else {\n return null;\n }\n }\n const range: JSX.Element | null = this.question.isRangeShowing ? this.renderRange() : null;\n const btnPrev: JSX.Element = this.rendrerPrevButton();\n const btnNext: JSX.Element = this.rendrerNextButton();\n const btnAdd: JSX.Element | null = this.renderAddRowButton();\n const progressClass: string = this.question.isProgressTopShowing\n ? this.question.cssClasses.progressTop\n : this.question.cssClasses.progressBottom;\n return (\n <div className={progressClass}>\n <div style={{ clear: \"both\" }}>\n <div className={this.question.cssClasses.progressContainer}>\n {btnPrev}\n {range}\n {btnNext}\n </div>\n {btnAdd}\n {this.renderProgressText()}\n </div>\n </div>\n );\n }\n private renderProgressText(): JSX.Element {\n return (\n <SurveyQuestionPanelDynamicProgressText data={ { question: this.question }}></SurveyQuestionPanelDynamicProgressText>\n );\n }\n\n protected rendrerPrevButton() {\n return (\n <SurveyQuestionPanelDynamicPrevButton data={ { question: this.question }}></SurveyQuestionPanelDynamicPrevButton>\n );\n }\n protected rendrerNextButton() {\n return (\n <SurveyQuestionPanelDynamicNextButton data={ { question: this.question }}></SurveyQuestionPanelDynamicNextButton>\n );\n }\n\n protected renderRange(): JSX.Element {\n return (\n <div className={this.question.cssClasses.progress}>\n <div\n className={this.question.cssClasses.progressBar}\n style={{ width: this.question.progress }}\n role=\"progressbar\"\n />\n </div>\n );\n }\n protected renderAddRowButton(): JSX.Element | null {\n return ReactElementFactory.Instance.createElement(\"sv-paneldynamic-add-btn\", {\n data: { question: this.question }\n });\n }\n protected renderNavigatorV2(): JSX.Element | null {\n if (!this.question.showNavigation) return null;\n const range: JSX.Element | null = this.question.isRangeShowing && this.question.isProgressBottomShowing ? this.renderRange() : null;\n return (<div className={this.question.cssClasses.footer}>\n <hr className={this.question.cssClasses.separator} />\n {range}\n {this.question.footerToolbar.visibleActions.length ? (<div className={this.question.cssClasses.footerButtonsContainer}>\n <SurveyActionBar model={this.question.footerToolbar}></SurveyActionBar>\n </div>) : null}\n </div>);\n }\n protected renderPlaceholder(): JSX.Element | null {\n if (this.question.getShowNoEntriesPlaceholder()) {\n return (\n <div className={this.question.cssClasses.noEntriesPlaceholder}>\n <span>{this.renderLocString(this.question.locNoEntriesText)}</span>\n {this.renderAddRowButton()}\n </div>\n );\n }\n return null;\n }\n}\n\nexport class SurveyQuestionPanelDynamicItem extends SurveyPanel {\n private get question(): QuestionPanelDynamicModel {\n return this.props.question;\n }\n private get index(): number {\n return this.props.index;\n }\n protected getSurvey(): SurveyModel | null {\n return !!this.question ? (this.question.survey as SurveyModel) : null;\n }\n protected getCss(): any {\n const survey = this.getSurvey();\n return !!survey ? survey.getCss() : {};\n }\n public render() {\n const panel = super.render();\n const removeButton = this.renderButton();\n const separator: JSX.Element | null = this.question.showSeparator(this.index) ?\n (<hr className={this.question.cssClasses.separator} />) : null;\n return (\n <>\n <div className={this.question.getPanelWrapperCss()}>\n {panel}\n {removeButton}\n </div>\n {separator}\n </>\n );\n }\n protected renderButton(): JSX.Element | null {\n if (\n this.question.panelRemoveButtonLocation !== \"right\" ||\n !this.question.canRemovePanel ||\n (this.question.isRenderModeList && this.panel.isCollapsed)\n ) {\n return null;\n }\n return ReactElementFactory.Instance.createElement(\"sv-paneldynamic-remove-btn\", {\n data: { question: this.question, panel: this.panel }\n });\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"paneldynamic\", props => {\n return React.createElement(SurveyQuestionPanelDynamic, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase, ReactSurveyElement } from \"./reactquestion_element\";\nimport { QuestionRadiogroupModel, ItemValue, Base, SurveyModel } from \"survey-core\";\nimport { SurveyQuestionOtherValueItem } from \"./reactquestion_comment\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionRadiogroup extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionRadiogroupModel {\n return this.questionBase as QuestionRadiogroupModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var clearButton: JSX.Element | null = null;\n if (this.question.showClearButtonInContent) {\n clearButton = (\n <div>\n <input\n type=\"button\"\n className={this.question.cssClasses.clearButton}\n onClick={() => this.question.clearValue()}\n value={this.question.clearButtonCaption}\n />\n </div>\n );\n }\n return (\n <fieldset\n className={this.question.getSelectBaseRootCss()}\n ref={(fieldset) => (this.setControl(fieldset))}\n role={this.question.a11y_input_ariaRole}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n >\n {this.question.hasColumns\n ? this.getColumnedBody(cssClasses)\n : this.getBody(cssClasses)}\n {this.getFooter()}\n {this.question.isOtherSelected ? this.renderOther(cssClasses) : null}\n {clearButton}\n </fieldset>\n );\n }\n protected getFooter() {\n if (this.question.hasFootItems) {\n return this.question.footItems.map((item: any, ii: number) =>\n this.renderItem(\n \"item_f\" + ii,\n item,\n false,\n this.question.cssClasses\n )\n );\n }\n }\n protected getColumnedBody(cssClasses: any) {\n return (\n <div className={cssClasses.rootMultiColumn}>\n {this.getColumns(cssClasses)}\n </div>\n );\n }\n protected getColumns(cssClasses: any) {\n var value = this.getStateValue();\n return this.question.columns.map((column: any, ci: number) => {\n var items = column.map((item: any, ii: number) =>\n this.renderItem(\"item\" + ci + ii, item, value, cssClasses, \"\" + ci + ii)\n );\n return (\n <div key={\"column\" + ci} className={this.question.getColumnClass()} role=\"presentation\">\n {items}\n </div>\n );\n });\n }\n\n protected getBody(cssClasses: any): JSX.Element {\n if(this.question.blockedRow) {\n return <div className={cssClasses.rootRow}>{this.getItems(cssClasses, this.question.dataChoices)}</div>;\n }\n else return <>{this.getItems(cssClasses, this.question.bodyItems)}</>;\n }\n\n protected getItems(cssClasses: any, choices: Array <ItemValue>): Array<any> {\n var items:Array<JSX.Element> = [];\n var value = this.getStateValue();\n for (var i = 0; i < choices.length; i++) {\n var item = choices[i];\n var renderedItem = this.renderItem(\"item\" + i, item, value, cssClasses, \"\" + i);\n items.push(renderedItem);\n }\n return items;\n }\n protected get textStyle(): any {\n return null;//{ display: \"inline\", position: \"static\" };\n }\n protected renderOther(cssClasses: any): JSX.Element {\n return (\n <div className={this.question.getCommentAreaCss(true)}>\n <SurveyQuestionOtherValueItem\n question={this.question}\n otherCss={cssClasses.other}\n cssClasses={cssClasses}\n isDisplayMode={this.isDisplayMode}\n />\n </div>\n );\n }\n private renderItem(\n key: string,\n item: ItemValue,\n value: any,\n cssClasses: any,\n index?: string\n ): JSX.Element {\n const renderedItem = ReactElementFactory.Instance.createElement(this.question.itemComponent, {\n key: key,\n question: this.question,\n cssClasses: cssClasses,\n isDisplayMode: this.isDisplayMode,\n item: item,\n textStyle: this.textStyle,\n index: index,\n isChecked: value === item.value,\n });\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if (!!survey) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n private getStateValue(): any {\n return !this.question.isEmpty() ? this.question.renderedValue : \"\";\n }\n}\n\nexport class SurveyQuestionRadioItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.handleOnMouseDown = this.handleOnMouseDown.bind(this);\n }\n protected getStateElement(): Base {\n return this.item;\n }\n protected get question(): QuestionRadiogroupModel {\n return this.props.question;\n }\n protected get item(): ItemValue {\n return this.props.item;\n }\n protected get textStyle(): any {\n return this.props.textStyle;\n }\n protected get index(): number {\n return this.props.index;\n }\n protected get isChecked(): boolean {\n return this.props.isChecked;\n }\n private get hideCaption(): boolean {\n return this.props.hideCaption === true;\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n if(!this.question) return false;\n return (\n !this.question.customWidget ||\n !!this.question.customWidgetData.isNeedRender ||\n !!this.question.customWidget.widgetJson.isDefaultRender ||\n !!this.question.customWidget.widgetJson.render\n );\n }\n handleOnChange(event: any) {\n this.question.clickItemHandler(this.item);\n }\n handleOnMouseDown(event: any) {\n this.question.onMouseDown();\n }\n protected canRender(): boolean {\n return !!this.question && !!this.item;\n }\n protected renderElement(): JSX.Element {\n var itemClass = this.question.getItemClass(this.item);\n var labelClass = this.question.getLabelClass(this.item);\n var controlLabelClass = this.question.getControlLabelClass(this.item);\n const itemLabel = !this.hideCaption ? <span className={controlLabelClass}>{this.renderLocString(this.item.locText, this.textStyle)}</span> : null;\n return (\n <div\n className={itemClass}\n role=\"presentation\"\n >\n <label onMouseDown={this.handleOnMouseDown} className={labelClass}>\n <input\n aria-describedby={this.question.ariaDescribedBy}\n className={this.cssClasses.itemControl}\n id={this.question.getItemId(this.item)}\n type=\"radio\"\n name={this.question.questionName}\n checked={this.isChecked}\n value={this.item.value}\n disabled={!this.question.getItemEnabled(this.item)}\n onChange={this.handleOnChange}\n />\n {\n this.cssClasses.materialDecorator ?\n <span className={this.cssClasses.materialDecorator}>\n {this.question.itemSvgIcon ?\n <svg\n className={this.cssClasses.itemDecorator}\n >\n <use xlinkHref={this.question.itemSvgIcon}></use>\n </svg> :\n null\n }\n </span> :\n null\n }\n {itemLabel}\n </label>\n </div>\n );\n }\n}\n\nReactElementFactory.Instance.registerElement(\"survey-radiogroup-item\", (props: any) => {\n return React.createElement(SurveyQuestionRadioItem, props);\n});\n\nReactQuestionFactory.Instance.registerQuestion(\"radiogroup\", (props) => {\n return React.createElement(SurveyQuestionRadiogroup, props);\n});\n","import * as React from \"react\";\nimport {\n ReactSurveyElement,\n SurveyQuestionElementBase,\n} from \"./reactquestion_element\";\nimport { QuestionRankingModel, SurveyModel, ItemValue } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyQuestionRanking extends SurveyQuestionElementBase {\n protected get question(): QuestionRankingModel {\n return this.questionBase as QuestionRankingModel;\n }\n\n protected renderElement(): JSX.Element {\n\n if (!this.question.selectToRankEnabled) {\n return (\n <div\n className={this.question.rootClass}\n ref={(root) => (this.setControl(root))}\n >\n {this.getItems()}\n </div>\n );\n } else {\n const unrankedItem = true;\n return (\n <div\n className={this.question.rootClass}\n ref={(root) => (this.setControl(root))}\n >\n <div className={this.question.getContainerClasses(\"from\")} data-ranking=\"from-container\">\n {this.getItems(this.question.unRankingChoices, unrankedItem)}\n {this.question.unRankingChoices.length === 0 ? <div className={this.question.cssClasses.containerPlaceholder}> {this.question.selectToRankEmptyRankedAreaText} </div> : null}\n </div>\n\n <div className={this.question.cssClasses.containersDivider}></div>\n\n <div className={this.question.getContainerClasses(\"to\")} data-ranking=\"to-container\">\n {this.getItems()}\n {this.question.rankingChoices.length === 0 ? <div className={this.question.cssClasses.containerPlaceholder}>{this.question.selectToRankEmptyUnrankedAreaText}</div> : null}\n </div>\n </div>\n );\n }\n }\n\n protected getItems(choices: any = this.question.rankingChoices, unrankedItem?: boolean): Array<any> {\n const items: Array<JSX.Element> = [];\n for (let i = 0; i < choices.length; i++) {\n const item = choices[i];\n items.push(\n this.renderItem(\n item,\n i,\n (event: PointerEvent) => {\n this.question.handleKeydown.call(this.question, event, item);\n },\n (event: any) => {\n event.persist();\n //event.preventDefault();\n this.question.handlePointerDown.call(\n this.question,\n event,\n item,\n event.currentTarget\n );\n },\n this.question.cssClasses,\n this.question.getItemClass(item),\n this.question,\n unrankedItem\n )\n );\n }\n return items;\n }\n\n protected renderItem(\n item: ItemValue,\n i: number,\n handleKeydown: (event: any) => void,\n handlePointerDown: (event: PointerEvent) => void,\n cssClasses: any,\n itemClass: string,\n question: QuestionRankingModel,\n unrankedItem?: boolean\n ): JSX.Element {\n const key: string = item.value + \"-\" + i + \"-item\";\n const text: JSX.Element = this.renderLocString(item.locText);\n const index = i;\n const indexText: string = this.question.getNumberByIndex(i);\n const tabIndex: number = this.question.getItemTabIndex(item);\n const renderedItem = (\n <SurveyQuestionRankingItem\n key={key}\n text={text}\n index={index}\n indexText={indexText}\n itemTabIndex={tabIndex}\n handleKeydown={handleKeydown}\n handlePointerDown={handlePointerDown}\n cssClasses={cssClasses}\n itemClass={itemClass}\n question={question}\n unrankedItem={unrankedItem}\n item={item}\n />\n );\n const survey = this.question.survey as SurveyModel;\n let wrappedItem: JSX.Element | null = null;\n if (!!survey) {\n wrappedItem = ReactSurveyElementsWrapper.wrapItemValue(survey, renderedItem, this.question, item);\n }\n return wrappedItem ?? renderedItem;\n }\n}\n\nexport class SurveyQuestionRankingItem extends ReactSurveyElement {\n protected get text(): string {\n return this.props.text;\n }\n protected get index(): string {\n return this.props.index;\n }\n protected get indexText(): string {\n return this.props.indexText;\n }\n protected get handleKeydown(): (event: any) => void {\n return this.props.handleKeydown;\n }\n protected get handlePointerDown(): (event: any) => void {\n return this.props.handlePointerDown;\n }\n protected get cssClasses(): any {\n return this.props.cssClasses;\n }\n protected get itemClass(): string {\n return this.props.itemClass;\n }\n protected get itemTabIndex(): number {\n return this.props.itemTabIndex;\n }\n protected get question(): any {\n return this.props.question;\n }\n protected get unrankedItem(): any {\n return this.props.unrankedItem;\n }\n protected get item(): any {\n return this.props.item;\n }\n\n protected renderElement(): JSX.Element {\n return (\n <div\n tabIndex={this.itemTabIndex}\n className={this.itemClass}\n onKeyDown={this.handleKeydown}\n onPointerDown={this.handlePointerDown}\n data-sv-drop-target-ranking-item={this.index}\n >\n <div tabIndex={-1} style={{ outline: \"none\" }}>\n <div className={this.cssClasses.itemGhostNode} />\n <div className={this.cssClasses.itemContent}>\n <div className={this.cssClasses.itemIconContainer}>\n <svg\n width=\"10\"\n height=\"16\"\n viewBox=\"0 0 10 16\"\n className={this.question.getIconHoverCss()}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M6 2C6 0.9 6.9 0 8 0C9.1 0 10 0.9 10 2C10 3.1 9.1 4 8 4C6.9 4 6 3.1 6 2ZM2 0C0.9 0 0 0.9 0 2C0 3.1 0.9 4 2 4C3.1 4 4 3.1 4 2C4 0.9 3.1 0 2 0ZM8 6C6.9 6 6 6.9 6 8C6 9.1 6.9 10 8 10C9.1 10 10 9.1 10 8C10 6.9 9.1 6 8 6ZM2 6C0.9 6 0 6.9 0 8C0 9.1 0.9 10 2 10C3.1 10 4 9.1 4 8C4 6.9 3.1 6 2 6ZM8 12C6.9 12 6 12.9 6 14C6 15.1 6.9 16 8 16C9.1 16 10 15.1 10 14C10 12.9 9.1 12 8 12ZM2 12C0.9 12 0 12.9 0 14C0 15.1 0.9 16 2 16C3.1 16 4 15.1 4 14C4 12.9 3.1 12 2 12Z\" />\n </svg>\n <svg\n width=\"10\"\n height=\"24\"\n viewBox=\"0 0 10 24\"\n className={this.question.getIconFocusCss()}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M10 5L5 0L0 5H4V9H6V5H10Z\" />\n <path d=\"M6 19V15H4V19H0L5 24L10 19H6Z\" />\n </svg>\n </div>\n\n <div className={this.question.getItemIndexClasses(this.item)}>{this.unrankedItem ? \"\" : this.indexText}</div>\n <div className={this.cssClasses.controlLabel}>{this.text}</div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"ranking\", (props) => {\n return React.createElement(SurveyQuestionRanking, props);\n});\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionRatingModel, RenderedRatingItem } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class SurveyQuestionRating extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.handleOnClick = this.handleOnClick.bind(this);\n }\n protected get question(): QuestionRatingModel {\n return this.questionBase as QuestionRatingModel;\n }\n handleOnClick(event: any) {\n this.question.setValueFromClick(event.target.value);\n this.setState({ value: this.question.value });\n }\n\n protected renderItem(\n item: any,\n index: Number\n ): JSX.Element {\n const renderedItem = ReactElementFactory.Instance.createElement(this.question.itemComponentName, {\n question: this.question,\n item: item,\n index: index,\n key: \"value\" + index,\n handleOnClick: this.handleOnClick,\n isDisplayMode: this.isDisplayMode\n });\n return renderedItem;\n }\n\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var minText = this.question.minRateDescription\n ? this.renderLocString(this.question.locMinRateDescription)\n : null;\n var maxText = this.question.maxRateDescription\n ? this.renderLocString(this.question.locMaxRateDescription)\n : null;\n return (\n <div className={this.question.ratingRootCss} ref={(div) => (this.setControl(div))}>\n <fieldset role=\"radiogroup\">\n <legend role=\"presentation\" className={\"sv-hidden\"}></legend>\n {!!this.question.hasMinLabel ? <span className={cssClasses.minText}>{minText}</span>: null}\n {this.question.renderedRateItems.map((item, index) => this.renderItem(item, index))}\n {!!this.question.hasMaxLabel ? <span className={cssClasses.maxText}>{maxText}</span>: null}\n </fieldset>\n </div>\n );\n }\n\n}\nReactQuestionFactory.Instance.registerQuestion(\"rating\", (props) => {\n return React.createElement(SurveyQuestionRating, props);\n});\n","import * as React from \"react\";\nimport { QuestionTagboxModel, DropdownListModel, DropdownMultiSelectListModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyQuestionDropdownBase } from \"./dropdown-base\";\nimport { SurveyQuestionTagboxItem } from \"./tagbox-item\";\nimport { TagboxFilterString } from \"./tagbox-filter\";\n\nexport class SurveyQuestionTagbox extends SurveyQuestionDropdownBase<QuestionTagboxModel> {\n constructor(props: any) {\n super(props);\n }\n\n protected renderItem(key: string, item: any): JSX.Element {\n const renderedItem = (\n <SurveyQuestionTagboxItem\n key={key}\n question={this.question}\n item={item}\n />\n );\n return renderedItem;\n }\n\n protected renderInput(dropdownListModel: DropdownListModel): JSX.Element {\n const dropdownMultiSelectListModel = dropdownListModel as DropdownMultiSelectListModel;\n const items = this.question.selectedChoices.map((choice, index) => { return this.renderItem(\"item\" + index, choice); });\n return (\n <div\n id={this.question.inputId}\n className={this.question.getControlClass()}\n tabIndex={dropdownListModel.inputReadOnly ? undefined : 0}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n disabled={this.question.isInputReadOnly}\n required={this.question.isRequired}\n onKeyDown={this.keyhandler}\n onBlur={this.blur}\n role={this.question.ariaRole}\n aria-required={this.question.ariaRequired}\n aria-label={this.question.ariaLabel}\n aria-invalid={this.question.ariaInvalid}\n aria-describedby={this.question.ariaDescribedBy}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={dropdownListModel.listElementId}\n aria-activedescendant={dropdownListModel.ariaActivedescendant}\n >\n <div className={this.question.cssClasses.controlValue}>\n {items}\n <TagboxFilterString model={dropdownMultiSelectListModel} question={this.question}></TagboxFilterString>\n </div>\n {this.createClearButton()}\n </div>);\n }\n\n protected renderElement(): JSX.Element {\n const cssClasses = this.question.cssClasses;\n const comment = this.question.isOtherSelected ? this.renderOther(cssClasses) : null;\n const select = this.renderSelect(cssClasses);\n return (\n <div className={this.question.renderCssRoot}>\n {select}\n {comment}\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"tagbox\", (props) => {\n return React.createElement(SurveyQuestionTagbox, props);\n});","import * as React from \"react\";\nimport { SurveyQuestionUncontrolledElement } from \"./reactquestion_element\";\nimport { QuestionTextModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { CharacterCounterComponent } from \"./components/character-counter\";\n\nexport class SurveyQuestionText extends SurveyQuestionUncontrolledElement<\n QuestionTextModel\n> {\n //controlRef: React.RefObject<HTMLInputElement>;\n constructor(props: any) {\n super(props);\n //this.controlRef = React.createRef();\n }\n protected renderInput() {\n const inputClass = (this.question as QuestionTextModel).getControlClass();\n\n const placeholder = this.question.renderedPlaceholder;\n if (this.question.isReadOnlyRenderDiv()) {\n return <div>{this.question.value}</div>;\n }\n const counter = !!this.question.getMaxLength() ? (<CharacterCounterComponent counter={this.question.characterCounter} remainingCharacterCounter={this.question.cssClasses.remainingCharacterCounter}></CharacterCounterComponent>) : null;\n return (\n <>\n <input\n id={this.question.inputId}\n disabled={this.isDisplayMode}\n className={inputClass}\n type={this.question.inputType}\n //ref={this.controlRef}\n ref={(input) => (this.setControl(input))}\n style={this.question.inputStyle}\n maxLength={this.question.getMaxLength()}\n min={this.question.renderedMin}\n max={this.question.renderedMax}\n step={this.question.renderedStep}\n size={this.question.inputSize}\n placeholder={placeholder}\n list={this.question.dataListId}\n autoComplete={this.question.autocomplete}\n onBlur={this.question.onBlur}\n onFocus={this.question.onFocus}\n onChange={this.question.onChange}\n onKeyUp={this.question.onKeyUp}\n onKeyDown={this.question.onKeyDown}\n onCompositionUpdate={(event) => this.question.onCompositionUpdate(event.nativeEvent)}\n aria-required={this.question.a11y_input_ariaRequired}\n aria-label={this.question.a11y_input_ariaLabel}\n aria-labelledby={this.question.a11y_input_ariaLabelledBy}\n aria-invalid={this.question.a11y_input_ariaInvalid}\n aria-describedby={this.question.a11y_input_ariaDescribedBy}\n />\n {counter}\n </>\n );\n }\n protected renderElement(): JSX.Element {\n return (\n this.question.dataListId ?\n <div>\n { this.renderInput() }\n { this.renderDataList() }\n </div>:\n this.renderInput()\n );\n }\n private renderDataList(): JSX.Element | null {\n if (!this.question.dataListId) return null;\n var items = this.question.dataList;\n if (items.length == 0) return null;\n var options:Array<JSX.Element> = [];\n for (var i = 0; i < items.length; i++) {\n options.push(<option key={\"item\"+i} value={items[i]}></option>);\n }\n return <datalist id={this.question.dataListId}>{options}</datalist>;\n }\n // protected updateDomElement() {\n // this.control = this.controlRef.current;\n // super.updateDomElement();\n // }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"text\", (props) => {\n return React.createElement(SurveyQuestionText, props);\n});\n","import { SurveyModel, QuestionMatrixDropdownRenderedCell, SurveyElement, QuestionRowModel, ItemValue, QuestionSelectBase } from \"survey-core\";\nimport { ReactElementFactory } from \"./element-factory\";\n\nexport class ReactSurveyElementsWrapper {\n public static wrapRow(survey: SurveyModel, element: JSX.Element, row: QuestionRowModel): JSX.Element {\n const componentName = survey.getRowWrapperComponentName(row);\n const componentData = survey.getRowWrapperComponentData(row);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n row,\n componentData,\n });\n }\n public static wrapElement(survey: SurveyModel, element: JSX.Element, question: SurveyElement): JSX.Element {\n const componentName = survey.getElementWrapperComponentName(question);\n const componentData = survey.getElementWrapperComponentData(question);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n question,\n componentData,\n });\n }\n public static wrapQuestionContent(survey: SurveyModel, element: JSX.Element, question: SurveyElement): JSX.Element {\n const componentName = survey.getQuestionContentWrapperComponentName(question);\n const componentData = survey.getElementWrapperComponentData(question);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n question,\n componentData,\n });\n }\n public static wrapItemValue(survey: SurveyModel, element: JSX.Element, question: QuestionSelectBase, item: ItemValue): JSX.Element {\n const componentName = survey.getItemValueWrapperComponentName(item, question);\n const componentData = survey.getItemValueWrapperComponentData(item, question);\n return ReactElementFactory.Instance.createElement(componentName, {\n key: element?.key,\n element,\n question,\n item,\n componentData,\n });\n }\n public static wrapMatrixCell(survey: SurveyModel, element: JSX.Element, cell: QuestionMatrixDropdownRenderedCell, reason: string = \"cell\"): JSX.Element {\n const componentName = survey.getElementWrapperComponentName(cell, reason);\n const componentData = survey.getElementWrapperComponentData(cell, reason);\n return ReactElementFactory.Instance.createElement(componentName, {\n element,\n cell,\n componentData,\n });\n }\n}\n\nSurveyModel.platform = \"react\";\n","import * as React from \"react\";\nimport { Base, SurveyTimerModel } from \"survey-core\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\n\nexport class SurveyTimerPanel extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected getStateElement(): Base {\n return this.timerModel;\n }\n protected get timerModel(): SurveyTimerModel {\n return this.props.model;\n }\n private readonly circleLength = 440;\n private get progress(): number {\n return -this.timerModel.progress * this.circleLength;\n }\n render(): JSX.Element | null {\n if(!this.timerModel.isRunning) {\n return null;\n }\n let result = <div className={this.timerModel.survey.getCss().timerRoot}>{this.timerModel.text}</div>;\n if(this.timerModel.showTimerAsClock) {\n let style = { strokeDasharray: this.circleLength, strokeDashoffset: this.progress };\n const progress = (this.timerModel.showProgress ? <SvgIcon className={this.timerModel.getProgressCss()} style={style} iconName={\"icon-timercircle\"} size={\"auto\"}></SvgIcon>: null);\n result =\n (<div className={this.timerModel.rootCss}>\n {progress}\n <div className={this.timerModel.textContainerCss}>\n <span className={this.timerModel.majorTextCss}>{this.timerModel.clockMajorText }</span>\n {(this.timerModel.clockMinorText ? <span className={this.timerModel.minorTextCss}>{this.timerModel.clockMinorText }</span> : null)}\n </div>\n </div>);\n }\n return result;\n }\n}\n\nReactElementFactory.Instance.registerElement(\"sv-timerpanel\", (props) => {\n return React.createElement(SurveyTimerPanel, props);\n});","import * as React from \"react\";\nimport { ISurveyCreator } from \"./reactquestion\";\nimport { SurveyModel, Question, QuestionRowModel, IElement, Base } from \"survey-core\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\nimport { SurveyRowElement } from \"./element\";\nimport { ReactElementFactory } from \"./element-factory\";\nimport { ReactSurveyElementsWrapper } from \"./reactsurveymodel\";\n\nexport class SurveyRow extends SurveyElementBase<any, any> {\n private rootRef: React.RefObject<HTMLDivElement>;\n constructor(props: any) {\n super(props);\n this.rootRef = React.createRef();\n this.recalculateCss();\n }\n private recalculateCss() {\n this.row.visibleElements.map(element => (element as Question).cssClasses);\n }\n protected getStateElement(): Base {\n return this.row;\n }\n private get row(): QuestionRowModel {\n return this.props.row;\n }\n private get survey(): SurveyModel {\n return this.props.survey;\n }\n private get creator(): ISurveyCreator {\n return this.props.creator;\n }\n protected get css(): any {\n return this.props.css;\n }\n protected canRender(): boolean {\n return !!this.row && !!this.survey && !!this.creator && this.row.visible;\n }\n protected renderElementContent(): JSX.Element {\n const elements = this.row.visibleElements.map((element, elementIndex) => {\n const index = elementIndex ? \"-\" + elementIndex : 0;\n const key = element.name + index;\n return (\n <SurveyRowElement\n element={element}\n index={elementIndex}\n row={this.row}\n survey={this.survey}\n creator={this.creator}\n css={this.css}\n key={key}\n >\n </SurveyRowElement>\n );\n });\n\n return (\n <div ref={this.rootRef} className={this.row.getRowCss()} >\n {elements}\n </div>\n );\n }\n protected renderElement(): JSX.Element {\n const survey: SurveyModel = this.survey as SurveyModel;\n const content = this.renderElementContent();\n const wrapper = ReactSurveyElementsWrapper.wrapRow(survey, content, this.row);\n return wrapper || content;\n }\n componentDidMount() {\n super.componentDidMount();\n var el = this.rootRef.current;\n if (!!el && !this.row.isNeedRender) {\n var rowContainerDiv = el;\n setTimeout(() => {\n this.row.startLazyRendering(rowContainerDiv);\n }, 10);\n }\n }\n public shouldComponentUpdate(nextProps: any, nextState: any): boolean {\n if (!super.shouldComponentUpdate(nextProps, nextState)) return false;\n\n if (nextProps.row !== this.row) {\n nextProps.row.isNeedRender = this.row.isNeedRender;\n this.stopLazyRendering();\n }\n this.recalculateCss();\n return true;\n }\n private stopLazyRendering() {\n this.row.stopLazyRendering();\n this.row.isNeedRender = !this.row.isLazyRendering();\n }\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopLazyRendering();\n }\n\n protected createElement(element: IElement, elementIndex?: number): JSX.Element {\n const index = elementIndex ? \"-\" + elementIndex : 0;\n var elementType = element.getType();\n if (!ReactElementFactory.Instance.isElementRegistered(elementType)) {\n elementType = \"question\";\n }\n return ReactElementFactory.Instance.createElement(elementType, {\n key: element.name + index,\n element: element,\n creator: this.creator,\n survey: this.survey,\n css: this.css,\n });\n }\n}\n","import * as React from \"react\";\nimport { SurveyQuestionElementBase } from \"./reactquestion_element\";\nimport { QuestionSignaturePadModel } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionSignaturePad extends SurveyQuestionElementBase {\n constructor(props: any) {\n super(props);\n this.state = { value: this.question.value };\n }\n protected get question(): QuestionSignaturePadModel {\n return this.questionBase as QuestionSignaturePadModel;\n }\n protected renderElement(): JSX.Element {\n var cssClasses = this.question.cssClasses;\n var clearButton = this.renderCleanButton();\n return (\n <div className={cssClasses.root} ref={(root) => (this.setControl(root))} style={{ height: this.question.signatureHeight, width: this.question.signatureWidth }}>\n <div\n className={cssClasses.placeholder}\n style={{ display: this.question.needShowPlaceholder() ? \"\" : \"none\" }}\n >\n {this.question.placeHolderText}\n </div>\n <div>\n {this.renderBackgroundImage()}\n <canvas tabIndex={0} className={this.question.cssClasses.canvas}></canvas>\n </div>\n {clearButton}\n </div>\n );\n }\n\n renderBackgroundImage(): JSX.Element | null {\n if(!this.question.backgroundImage) return null;\n\n return <img className={this.question.cssClasses.backgroundImage} src={this.question.backgroundImage} width={this.question.signatureWidth} height= {this.question.signatureHeight}></img>;\n }\n\n renderCleanButton(): JSX.Element | null {\n if(!this.question.canShowClearButton) return null;\n\n var cssClasses = this.question.cssClasses;\n return <div className={cssClasses.controls}>\n <button\n type=\"button\"\n className={cssClasses.clearButton}\n title={this.question.clearButtonCaption}\n onClick={() => this.question.clearValue()}\n >\n {this.question.cssClasses.clearButtonIconId ? <SvgIcon iconName={this.question.cssClasses.clearButtonIconId} size={\"auto\"}></SvgIcon> : <span>✖</span>}\n </button>\n </div>;\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"signaturepad\", (props) => {\n return React.createElement(SurveyQuestionSignaturePad, props);\n});\n","import React from \"react\";\r\nimport { LocalizableString } from \"survey-core\";\r\nimport { ReactElementFactory } from \"./element-factory\";\r\n\r\nexport class SurveyLocStringEditor extends React.Component<any, any> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { changed: 0 };\r\n }\r\n private get locStr(): LocalizableString {\r\n return this.props.locStr;\r\n }\r\n private get style(): any {\r\n return this.props.style;\r\n }\r\n componentDidMount() {\r\n if (!this.locStr) return;\r\n var self = this;\r\n this.locStr.onChanged = function () {\r\n self.setState({ changed: self.state.changed + 1 });\r\n };\r\n }\r\n componentWillUnmount() {\r\n if (!this.locStr) return;\r\n this.locStr.onChanged = function () {};\r\n }\r\n onInput = (event: any) => {\r\n this.locStr.text = event.target.innerText;\r\n };\r\n onClick = (event: any) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n render(): JSX.Element | null {\r\n if (!this.locStr) {\r\n return null;\r\n }\r\n if (this.locStr.hasHtml) {\r\n const htmlValue = { __html: this.locStr.renderedHtml };\r\n return (\r\n <span\r\n className=\"sv-string-editor\"\r\n contentEditable=\"true\"\r\n suppressContentEditableWarning={true}\r\n style={this.style}\r\n dangerouslySetInnerHTML={htmlValue}\r\n onBlur={this.onInput}\r\n onClick={this.onClick}\r\n />\r\n );\r\n }\r\n return (\r\n <span\r\n className=\"sv-string-editor\"\r\n contentEditable=\"true\"\r\n suppressContentEditableWarning={true}\r\n style={this.style}\r\n onBlur={this.onInput}\r\n onClick={this.onClick}\r\n >\r\n {this.locStr.renderedHtml}\r\n </span>\r\n );\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\r\n LocalizableString.editableRenderer,\r\n (props) => {\r\n return React.createElement(SurveyLocStringEditor, props);\r\n }\r\n);\r\n","import React from \"react\";\r\nimport { LocalizableString } from \"survey-core\";\r\nimport { ReactElementFactory } from \"./element-factory\";\r\n\r\nexport class SurveyLocStringViewer extends React.Component<any, any> {\r\n constructor(props: any) {\r\n super(props);\r\n this.rootRef = React.createRef();\r\n }\r\n private rootRef: React.RefObject<HTMLSpanElement>;\r\n private get locStr(): LocalizableString {\r\n return this.props.locStr;\r\n }\r\n private get style(): any {\r\n return this.props.style;\r\n }\r\n componentDidMount() {\r\n this.reactOnStrChanged();\r\n }\r\n componentWillUnmount() {\r\n if (!this.locStr) return;\r\n this.locStr.onStringChanged.remove(this.onChangedHandler);\r\n }\r\n componentDidUpdate(prevProps: any, prevState: any) {\r\n if(!!prevProps.locStr) {\r\n prevProps.locStr.onStringChanged.remove(this.onChangedHandler);\r\n }\r\n this.reactOnStrChanged();\r\n }\r\n private isRendering: boolean;\r\n private onChangedHandler = (sender: any, options: any) => {\r\n if(this.isRendering) return;\r\n this.setState({ changed: !!this.state && this.state.changed ? this.state.changed + 1 : 1 });\r\n }\r\n private reactOnStrChanged() {\r\n if (!this.locStr) return;\r\n this.locStr.onStringChanged.add(this.onChangedHandler);\r\n }\r\n render(): JSX.Element | null {\r\n if (!this.locStr) return null;\r\n this.isRendering = true;\r\n const strEl = this.renderString();\r\n this.isRendering = false;\r\n return strEl;\r\n }\r\n protected renderString(): JSX.Element {\r\n if (this.locStr.hasHtml) {\r\n let htmlValue = { __html: this.locStr.renderedHtml };\r\n return <span ref={this.rootRef} className=\"sv-string-viewer\" style={this.style} dangerouslySetInnerHTML={htmlValue} />;\r\n }\r\n return <span ref={this.rootRef} className=\"sv-string-viewer\" style={this.style}>{this.locStr.renderedHtml}</span>;\r\n }\r\n}\r\n\r\nReactElementFactory.Instance.registerElement(\r\n LocalizableString.defaultRenderer,\r\n (props) => {\r\n return React.createElement(SurveyLocStringViewer, props);\r\n }\r\n);\r\n","import * as React from \"react\";\nimport { DropdownMultiSelectListModel, QuestionTagboxModel, Helpers, settings } from \"survey-core\";\nimport { ReactQuestionFactory } from \"./reactquestion_factory\";\nimport { SurveyElementBase } from \"./reactquestion_element\";\n\ninterface ITagboxFilterProps {\n model: DropdownMultiSelectListModel;\n question: QuestionTagboxModel;\n}\n\nexport class TagboxFilterString extends SurveyElementBase<ITagboxFilterProps, any> {\n inputElement: HTMLInputElement | null;\n\n get model(): DropdownMultiSelectListModel {\n return this.props.model;\n }\n get question(): QuestionTagboxModel {\n return this.props.question;\n }\n componentDidUpdate(prevProps: any, prevState: any) {\n super.componentDidUpdate(prevProps, prevState);\n this.updateDomElement();\n }\n componentDidMount() {\n super.componentDidMount();\n this.updateDomElement();\n }\n updateDomElement() {\n if (!!this.inputElement) {\n const control: any = this.inputElement;\n const newValue = this.model.inputStringRendered;\n if (!Helpers.isTwoValueEquals(newValue, control.value, false, true, false)) {\n control.value = this.model.inputStringRendered;\n }\n }\n }\n onChange(e: any) {\n const { root } = settings.environment;\n if (e.target === root.activeElement) {\n this.model.inputStringRendered = e.target.value;\n }\n }\n keyhandler(e: any) {\n this.model.inputKeyHandler(e);\n }\n onBlur(e: any) {\n this.model.onBlur(e);\n }\n onFocus(e: any) {\n this.model.onFocus(e);\n }\n constructor(props: any) {\n super(props);\n }\n getStateElement() {\n return this.model;\n }\n render(): JSX.Element {\n return (\n <div className={this.question.cssClasses.hint}>\n {this.model.showHintPrefix ?\n (<div className={this.question.cssClasses.hintPrefix}>\n <span>{this.model.hintStringPrefix}</span>\n </div>) : null}\n <div className={this.question.cssClasses.hintSuffixWrapper}>\n {this.model.showHintString ?\n (<div className={this.question.cssClasses.hintSuffix}>\n <span style={{ visibility: \"hidden\" }} data-bind=\"text: model.filterString\">{this.model.inputStringRendered}</span>\n <span>{this.model.hintStringSuffix}</span>\n </div>) : null}\n\n <input type=\"text\" autoComplete=\"off\"\n id={this.question.getInputId()}\n inputMode={this.model.inputMode}\n ref={(element) => (this.inputElement = element)}\n className={this.question.cssClasses.filterStringInput}\n disabled={this.question.isInputReadOnly}\n readOnly={!this.model.searchEnabled ? true : undefined}\n size={!this.model.inputStringRendered ? 1 : undefined}\n role={this.model.filterStringEnabled ? this.question.ariaRole : undefined}\n aria-label={this.question.placeholder}\n aria-expanded={this.question.ariaExpanded === null ? undefined : this.question.ariaExpanded === \"true\"}\n aria-controls={this.model.listElementId}\n aria-activedescendant={this.model.ariaActivedescendant}\n placeholder={this.model.filterStringPlaceholder}\n onKeyDown={(e) => { this.keyhandler(e); }}\n onChange={(e) => { this.onChange(e); }}\n onBlur={(e) => { this.onBlur(e); }}\n onFocus={(e) => { this.onFocus(e); }}\n ></input>\n </div>\n </div>\n );\n }\n}\n\nReactQuestionFactory.Instance.registerQuestion(\"sv-tagbox-filter\", (props) => {\n return React.createElement(TagboxFilterString, props);\n});","import * as React from \"react\";\nimport { ReactSurveyElement } from \"./reactquestion_element\";\nimport { Base, QuestionTagboxModel, ItemValue } from \"survey-core\";\nimport { SvgIcon } from \"./components/svg-icon/svg-icon\";\n\nexport class SurveyQuestionTagboxItem extends ReactSurveyElement {\n constructor(props: any) {\n super(props);\n }\n protected get question(): QuestionTagboxModel {\n return this.props.question;\n }\n protected get item(): ItemValue {\n return this.props.item;\n }\n protected canRender(): boolean {\n return !!this.item && !!this.question;\n }\n protected renderElement(): JSX.Element {\n const text = this.renderLocString(this.item.locText);\n\n const removeItem = (event: any) => {\n this.question.dropdownListModel.deselectItem(this.item.value);\n event.stopPropagation();\n };\n\n return (\n <div className=\"sv-tagbox__item\">\n <div className=\"sv-tagbox__item-text\">{text}</div>\n <div\n className={ this.question.cssClasses.cleanItemButton}\n onClick={removeItem}\n >\n <SvgIcon\n className={this.question.cssClasses.cleanItemButtonSvg}\n iconName={this.question.cssClasses.cleanItemButtonIconId}\n size={\"auto\"}\n ></SvgIcon>\n </div>\n </div>\n );\n }\n}","import { IDialogOptions } from \"./popup\";\nimport { showConfirmDialog } from \"./utils/utils\";\n\nexport type ISurveyEnvironment = {\n root: Document | ShadowRoot,\n rootElement: HTMLElement | ShadowRoot,\n popupMountContainer: HTMLElement | string,\n svgMountContainer: HTMLElement | string,\n stylesSheetsMountContainer: HTMLElement,\n}\nconst document = globalThis.document;\nconst defaultEnvironment: ISurveyEnvironment = <ISurveyEnvironment> (!!document ? {\n root: document,\n\n _rootElement: document.body,\n get rootElement(): HTMLElement | ShadowRoot {\n return this._rootElement ?? document.body;\n },\n set rootElement(rootElement: HTMLElement | ShadowRoot) {\n (this._rootElement as any) = rootElement;\n },\n\n _popupMountContainer: document.body,\n get popupMountContainer(): HTMLElement | string {\n return this._popupMountContainer ?? document.body;\n },\n set popupMountContainer(popupMountContainer: HTMLElement | string) {\n (this._popupMountContainer as any) = popupMountContainer;\n },\n svgMountContainer: document.head,\n stylesSheetsMountContainer: document.head,\n} : undefined);\nconst columnWidthsByType: { [index: string]: { minWidth?: string, width?: string } } = {\n \"file\": { minWidth: \"240px\" },\n \"comment\": { minWidth: \"200px\" }\n};\n/**\n * Global settings that apply to all surveys on the page. To specify one of the settings, use the code below:\n *\n * ```js\n * import { settings } from \"survey-core\";\n *\n * settings.settingName = \"value\";\n * ```\n */\n\nexport var settings = {\n /**\n * An object that configures survey appearance when the survey is being designed in Survey Creator.\n *\n * Nested properties:\n *\n * - `showEmptyDescriptions`: `boolean`\\\n * Specifies whether to display an empty description for pages and panels. Default value: `true`.\n *\n * - `showEmptyTitles`: `boolean`\\\n * Specifies whether to display an empty title for pages and panels. Default value: `true`.\n */\n designMode: {\n showEmptyDescriptions: true,\n showEmptyTitles: true\n },\n //#region designMode section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.designMode.showEmptyDescriptions`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.\n */\n get allowShowEmptyDescriptionInDesignMode(): boolean { return this.designMode.showEmptyDescriptions; },\n set allowShowEmptyDescriptionInDesignMode(val: boolean) { this.designMode.showEmptyDescriptions = val; },\n /**\n * This property is obsolete. Use the [`settings.designMode.showEmptyTitles`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.\n */\n get allowShowEmptyTitleInDesignMode(): boolean { return this.designMode.showEmptyTitles; },\n set allowShowEmptyTitleInDesignMode(val: boolean) { this.designMode.showEmptyTitles = val; },\n //#endregion\n\n /**\n * An object that contains properties related to localization.\n *\n * Nested properties:\n *\n * - `useLocalTimeZone`: `boolean`\\\n * Disable this property if you want internal SurveyJS functions to use methods that work with UTC date and time (`setUTCDate()` `setUTCHours()`, etc.) instead of methods that work with local date and time (`setYear`, `setHours()`, etc.). Default value: `true`.\n *\n * - `defaultLocaleName`: `string`\\\n * A property key that stores a translation for the default locale. Default value: `\"default\"`.\n *\n * - `storeDuplicatedTranslations`: `boolean`\\\n * Specifies whether surveys should store translation strings that equal the translation strings in the default locale. Default value: `false`.\n */\n localization: {\n useLocalTimeZone: true,\n storeDuplicatedTranslations: false,\n defaultLocaleName: \"default\"\n },\n //#region localization section, obsolete properties\n /**\n * This property is obsolete. Use the [`settings.localization.useLocalTimeZone`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.\n */\n get useLocalTimeZone(): boolean { return this.localization.useLocalTimeZone; },\n set useLocalTimeZone(val: boolean) { this.localization.useLocalTimeZone = val; },\n /**\n * This property is obsolete. Use the [`settings.localization.storeDuplicatedTranslations`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.\n */\n get storeDuplicatedTranslations(): boolean { return this.localization.storeDuplicatedTranslations; },\n set storeDuplicatedTranslations(val: boolean) { this.localization.storeDuplicatedTranslations = val; },\n /**\n * This property is obsolete. Use the [`settings.localization.defaultLocaleName`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.\n */\n get defaultLocaleName(): string { return this.localization.defaultLocaleName; },\n set defaultLocaleName(val: string) { this.localization.defaultLocaleName = val; },\n //#endregion\n /**\n * An object with properties that configure surveys when they work with a web service.\n *\n * Nested properties:\n *\n * - `encodeUrlParams`: `boolean`\\\n * Specifies whether to encode URL parameters when you access a web service. Default value: `true`.\n *\n * - `cacheLoadedChoices`: `boolean`\\\n * Specifies whether to cache [choices](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#choicesByUrl) loaded from a web service. Default value: `true`.\n *\n * - `disableQuestionWhileLoadingChoices`: `boolean`\\\n * Disables a question while its choices are being loaded from a web service. Default value: `false`.\n *\n * - `surveyServiceUrl`: `string`\\\n * The URL of the SurveyJS Service API endpoint.\n */\n web: {\n encodeUrlParams: true,\n cacheLoadedChoices: true,\n disableQuestionWhileLoadingChoices: false,\n surveyServiceUrl: \"https://api.surveyjs.io/public/v1/Survey\"\n },\n //#region web section, obsolete properties\n /**\n * This property is obsolete. Use the [`settings.web.encodeUrlParams`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get webserviceEncodeParameters(): boolean { return this.web.encodeUrlParams; },\n set webserviceEncodeParameters(val: boolean) { this.web.encodeUrlParams = val; },\n /**\n * This property is obsolete. Use the [`settings.web.cacheLoadedChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get useCachingForChoicesRestful(): boolean { return this.web.cacheLoadedChoices; },\n set useCachingForChoicesRestful(val: boolean) { this.web.cacheLoadedChoices = val; },\n get useCachingForChoicesRestfull(): boolean { return this.web.cacheLoadedChoices; },\n set useCachingForChoicesRestfull(val: boolean) { this.web.cacheLoadedChoices = val; },\n /**\n * This property is obsolete. Use the [`settings.web.disableQuestionWhileLoadingChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get disableOnGettingChoicesFromWeb(): boolean { return this.web.disableQuestionWhileLoadingChoices; },\n set disableOnGettingChoicesFromWeb(val: boolean) { this.web.disableQuestionWhileLoadingChoices = val; },\n /**\n * This property is obsolete. Use the [`settings.web.surveyServiceUrl`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.\n */\n get surveyServiceUrl(): string { return this.web.surveyServiceUrl; },\n set surveyServiceUrl(val: string) { this.web.surveyServiceUrl = val; },\n //#endregion\n\n /**\n * An object that contains properties related to [triggers](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers).\n *\n * Nested properties:\n *\n * - `changeNavigationButtonsOnComplete`: `boolean`\\\n * Specifies whether to re-evaluate an expression associated with the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `false`.\\\n * Keep this property set to `false` if you want to re-evaluate the Complete trigger's expression only when the respondents navigate to another page.\n *\n * - `executeCompleteOnValueChanged`: `boolean`\\\n * Specifies whether to replace the Next button with the Complete button when the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) is going to be executed. Default value: `true`.\n *\n * - `executeSkipOnValueChanged`: `boolean`\\\n * Specifies whether to re-evaluate an expression associated with the [Skip trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#skip) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `true`.\\\n * Disable this property if you want to re-evaluate the Skip trigger's expression only when respondents navigate to another page.\n */\n triggers: {\n changeNavigationButtonsOnComplete: true,\n executeCompleteOnValueChanged: false,\n executeSkipOnValueChanged: true\n },\n //#region triggers section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.triggers.executeCompleteOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.\n */\n get executeCompleteTriggerOnValueChanged(): boolean { return this.triggers.executeCompleteOnValueChanged; },\n set executeCompleteTriggerOnValueChanged(val: boolean) { this.triggers.executeCompleteOnValueChanged = val; },\n /**\n * This property is obsolete. Use the [`settings.triggers.changeNavigationButtonsOnComplete`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.\n */\n get changeNavigationButtonsOnCompleteTrigger(): boolean { return this.triggers.changeNavigationButtonsOnComplete; },\n set changeNavigationButtonsOnCompleteTrigger(val: boolean) { this.triggers.changeNavigationButtonsOnComplete = val; },\n /**\n * This property is obsolete. Use the [`settings.triggers.executeSkipOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.\n */\n get executeSkipTriggerOnValueChanged(): boolean { return this.triggers.executeSkipOnValueChanged; },\n set executeSkipTriggerOnValueChanged(val: boolean) { this.triggers.executeSkipOnValueChanged = val; },\n //#endregion\n\n /**\n * An object that contains properties related to JSON serialization.\n *\n * Nested properties:\n *\n * - `itemValueSerializeAsObject`: `boolean`\\\n * Enable this property if you want to serialize [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) instances as objects even when they include only the `value` property. Default value: `false`. View an example below.\n *\n * - `itemValueSerializeDisplayText`: `boolean`\\\n * Enable this property if you want to serialize the `text` property of [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) objects even when it is empty or equal to the `value` property. Default value: `false`. View an example below.\n *\n * - `localizableStringSerializeAsObject`: `boolean`\\\n * Enable this property if you want to serialize [`LocalizableString`](https://surveyjs.io/form-library/documentation/api-reference/localizablestring) instances as objects even when they include only a translation string for the default locale. For example, `\"Custom String\"` will be serialized as `{ default: \"Custom String\" }`. Default value: `false`.\n *\n * ```js\n * import { ItemValue, settings } from \"survey-core\";\n *\n * // `itemValueSerializeAsObject` example\n * settings.localization.itemValueSerializeAsObject = true;\n * const item = new ItemValue(5);\n * const itemString = item.toJSON(); // Produces { value: 5 } instead of 5\n *\n * // `itemValueSerializeDisplayText` example\n * settings.localization.itemValueSerializeDisplayText = true;\n * const item = new ItemValue(\"item1\");\n * const itemString = item.toJSON(); // Produces { value: \"item1\", text: \"item1\" } instead of \"item1\"\n * ```\n */\n serialization: {\n itemValueSerializeAsObject: false,\n itemValueSerializeDisplayText: false,\n localizableStringSerializeAsObject: false\n },\n //#region serialization section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.serialization.itemValueSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.\n */\n get itemValueAlwaysSerializeAsObject(): boolean { return this.serialization.itemValueSerializeAsObject; },\n set itemValueAlwaysSerializeAsObject(val: boolean) { this.serialization.itemValueSerializeAsObject = val; },\n /**\n * This property is obsolete. Use the [`settings.serialization.itemValueSerializeDisplayText`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.\n */\n get itemValueAlwaysSerializeText(): boolean { return this.serialization.itemValueSerializeDisplayText; },\n set itemValueAlwaysSerializeText(val: boolean) { this.serialization.itemValueSerializeDisplayText = val; },\n /**\n * This property is obsolete. Use the [`settings.serialization.localizableStringSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.\n */\n get serializeLocalizableStringAsObject(): boolean { return this.serialization.localizableStringSerializeAsObject; },\n set serializeLocalizableStringAsObject(val: boolean) { this.serialization.localizableStringSerializeAsObject = val; },\n //#endregion\n /**\n * An object that configures lazy rendering.\n *\n * Nested properties:\n *\n * - `enabled`: `boolean`\\\n * Specifies whether to add questions to the DOM only when they get into the viewport. Default value: `false`.\n *\n * > Lazy rendering is an experimental feature that may not work as expected in all use cases.\n */\n lazyRender: {\n enabled: false,\n firstBatchSize: 3\n },\n //#region lazyRender section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.lazyRender.enabled`](https://surveyjs.io/form-library/documentation/api-reference/settings#lazyRender) property instead.\n */\n get lazyRowsRendering(): boolean { return this.lazyRender.enabled; },\n set lazyRowsRendering(val: boolean) { this.lazyRender.enabled = val; },\n get lazyRowsRenderingStartRow(): number { return this.lazyRender.firstBatchSize; },\n set lazyRowsRenderingStartRow(val: number) { this.lazyRender.firstBatchSize = val; },\n //#endregion\n /**\n * An object with properties that apply to [Single-Choice](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model), [Multiple-Choice](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list), and [Dynamic Matrix](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model) questions.\n *\n * Nested properties:\n *\n * - `defaultRowName`: `string`\\\n * A property key that stores an object with default cell values. Default value: \"default\".\n *\n * - `defaultCellType`: `string`\\\n * The default type of matrix cells. Default value: `\"dropdown\"`.\\\n * You can specify this setting for individual questions or matrix columns: [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#cellType). Refer to the `cellType` property description for information on possible values.\n *\n * - `totalsSuffix`: `string`\\\n * A suffix added to the name of the property that stores total values. The resulting property name consists of the matrix name and the suffix. Default value: `\"-total\"`.\n *\n * - `maxRowCount`: `number`\\\n * A maximum number of rows in a Dynamic Matrix. Default value: 1000.\\\n * You can specify this setting for an individual Dynamic Matrix: [`maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#maxRowCount).\n *\n * - `maxRowCountInCondition`: `number`\\\n * A maximum number of matrix rows included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\\\n * If you set this property to 0, the Condition menu does not include any matrix rows. Users still can specify conditions that use matrix rows but only with Manual Entry.\n *\n * - `renderRemoveAsIcon`: `boolean`\\\n * Disable this property if you want to render the Remove action in Dynamic Matrix as a button. Otherwise, the action is rendered as an icon. Default value: `true`.\n *\n * - `columnWidthsByType`: `object`\\\n * An object that specifies fixed and minimum column width based on the column type.\\\n * Example: `settings.matrix.columnWidthsByType = { \"tagbox\": { minWidth: \"240px\", width: \"300px\" } }`\n *\n * - `rateSize`: `\"small\"` (default) | `\"normal\"`\\\n * Specifies the size of rate values. Applies to [Rating Scale](https://surveyjs.io/form-library/examples/rating-scale/) questions within matrixes.\n */\n matrix: {\n defaultCellType: \"dropdown\",\n defaultRowName: \"default\",\n totalsSuffix: \"-total\",\n maxRowCount: 1000,\n maxRowCountInCondition: 1,\n renderRemoveAsIcon: true,\n columnWidthsByType: columnWidthsByType,\n rateSize: \"small\" as \"small\" | \"normal\",\n },\n //#region matrix section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.matrix.defaultRowName`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixDefaultRowName(): string { return this.matrix.defaultRowName; },\n set matrixDefaultRowName(val: string) { this.matrix.defaultRowName = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.defaultCellType`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixDefaultCellType(): string { return this.matrix.defaultCellType; },\n set matrixDefaultCellType(val: string) { this.matrix.defaultCellType = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.totalsSuffix`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixTotalValuePostFix(): string { return this.matrix.totalsSuffix; },\n set matrixTotalValuePostFix(val: string) { this.matrix.totalsSuffix = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixMaximumRowCount(): number { return this.matrix.maxRowCount; },\n set matrixMaximumRowCount(val: number) { this.matrix.maxRowCount = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.maxRowCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixMaxRowCountInCondition(): number { return this.matrix.maxRowCountInCondition; },\n set matrixMaxRowCountInCondition(val: number) { this.matrix.maxRowCountInCondition = val; },\n /**\n * This property is obsolete. Use the [`settings.matrix.renderRemoveAsIcon`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.\n */\n get matrixRenderRemoveAsIcon(): boolean { return this.matrix.renderRemoveAsIcon; },\n set matrixRenderRemoveAsIcon(val: boolean) { this.matrix.renderRemoveAsIcon = val; },\n //#endregion\n /**\n * An object with properties that apply to [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) questions.\n *\n * Nested properties:\n *\n * - `maxPanelCount`: `number`\\\n * A maximum number of panels in Dynamic Panel. Default value: 100.\\\n * You can specify this setting for an individual Dynamic Panel: [`maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#maxPanelCount).\n *\n * - `maxPanelCountInCondition`: `number`\\\n * A maximum number of Dynamic Panel panels included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\\\n * If you set this property to 0, the Condition menu does not include any panel questions. Users still can specify conditions that use panel questions but only with Manual Entry.\n */\n panel: {\n maxPanelCount: 100,\n maxPanelCountInCondition: 1\n },\n //#region panel section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.panel.maxPanelCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.\n */\n get panelDynamicMaxPanelCountInCondition(): number { return this.panel.maxPanelCountInCondition; },\n set panelDynamicMaxPanelCountInCondition(val: number) { this.panel.maxPanelCountInCondition = val; },\n /**\n * This property is obsolete. Use the [`settings.panel.maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.\n */\n get panelMaximumPanelCount(): number { return this.panel.maxPanelCount; },\n set panelMaximumPanelCount(val: number) { this.panel.maxPanelCount = val; },\n //#endregion\n /**\n * An object with properties that configure questions in read-only mode.\n *\n * Nested properties:\n *\n * - `commentRenderMode`: `\"textarea\"` (default) | `\"div\"`\\\n * Specifies how to render the input field of [Comment](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model) questions in [read-only](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model#readOnly) mode: as a disabled `<textarea>` element or as a `<div>` element with a non-editable question value within it.\n *\n * - `textRenderMode`: `\"input\"` (default) | `\"div\"`\\\n * Specifies how to render the input field of [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) questions in [read-only](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#readOnly) mode: as a disabled `<input>` element or as a `<div>` element with a non-editable question value within it.\n */\n readOnly: {\n enableValidation: false,\n commentRenderMode: \"textarea\",\n textRenderMode: \"input\"\n },\n //#region readOnly section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.readOnly.commentRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.\n */\n get readOnlyCommentRenderMode(): string { return this.readOnly.commentRenderMode; },\n set readOnlyCommentRenderMode(val: string) { this.readOnly.commentRenderMode = val; },\n /**\n * This property is obsolete. Use the [`settings.readOnly.textRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.\n */\n get readOnlyTextRenderMode(): string { return this.readOnly.textRenderMode; },\n set readOnlyTextRenderMode(val: string) { this.readOnly.textRenderMode = val; },\n //#endregion\n /**\n * An object with properties that configure question numbering.\n *\n * Nested properties:\n *\n * - `includeQuestionsWithHiddenNumber`: `boolean`\\\n * Specifies whether to number questions whose [`hideNumber`](https://surveyjs.io/form-library/documentation/api-reference/question#hideNumber) property is enabled. Default value: `false`.\n *\n * - `includeQuestionsWithHiddenTitle`: `boolean`\\\n * Specifies whether to number questions whose [`titleLocation`](https://surveyjs.io/form-library/documentation/api-reference/question#titleLocation) property is set to `\"hidden\"`. Default value: `false`.\n */\n numbering: {\n includeQuestionsWithHiddenNumber: false,\n includeQuestionsWithHiddenTitle: false\n },\n //#region numbering section, Obsolete properties\n /**\n * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenTitle`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.\n */\n get setQuestionVisibleIndexForHiddenTitle(): boolean { return this.numbering.includeQuestionsWithHiddenTitle; },\n set setQuestionVisibleIndexForHiddenTitle(val: boolean) { this.numbering.includeQuestionsWithHiddenTitle = val; },\n /**\n * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenNumber`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.\n */\n get setQuestionVisibleIndexForHiddenNumber(): boolean { return this.numbering.includeQuestionsWithHiddenNumber; },\n set setQuestionVisibleIndexForHiddenNumber(val: boolean) { this.numbering.includeQuestionsWithHiddenNumber = val; },\n //#endregion\n /**\n * Specifies an action to perform when users press the Enter key within a survey.\n *\n * Possible values:\n *\n * - `\"moveToNextEditor\"` - Moves focus to the next editor.\n * - `\"loseFocus\"` - Removes focus from the current editor.\n * - `\"default\"` - Behaves as a standard `<input>` element.\n */\n enterKeyAction: \"default\" as \"moveToNextEditor\" | \"loseFocus\" | \"default\",\n /**\n * An object that configures string comparison.\n *\n * Nested properties:\n *\n * - `trimStrings`: `boolean`\\\n * Specifies whether to remove whitespace from both ends of a string before the comparison. Default value: `true`.\n *\n * - `caseSensitive`: `boolean`\\\n * Specifies whether to differentiate between capital and lower-case letters. Default value: `false`.\n */\n comparator: {\n trimStrings: true,\n caseSensitive: false,\n normalizeTextCallback: (str: string, reason: string): string => { return str; }\n },\n expressionDisableConversionChar: \"#\",\n get commentPrefix(): string { return settings.commentSuffix; },\n set commentPrefix(val: string) { settings.commentSuffix = val; },\n /**\n * A suffix added to the name of the property that stores comments.\n *\n * Default value: \"-Comment\"\n *\n * You can specify this setting for an individual survey: [`commentSuffix`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#commentSuffix).\n */\n commentSuffix: \"-Comment\",\n /**\n * A separator used in a shorthand notation that specifies a value and display text for an [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) object: `\"value|text\"`.\n *\n * Default value: `\"|\"`\n */\n itemValueSeparator: \"|\",\n /**\n * A maximum number of rate values in a [Rating](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) question.\n *\n * Default value: 20\n */\n ratingMaximumRateValueCount: 20,\n /**\n * Specifies whether to close the drop-down menu of a [TagBox](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/) question after a user selects a value.\n *\n * This setting applies to all TagBox questions on a page. You can use the [closeOnSelect](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model#closeOnSelect) property to specify the same setting for an individual TagBox question.\n */\n tagboxCloseOnSelect: false,\n /**\n * A property that allows you to display a custom confirm dialog.\n *\n * Set this property to a function that renders your custom dialog window. This function should return `true` if a user confirms an action or `false` otherwise.\n * @param message A message to be displayed in the confirm dialog window.\n */\n confirmActionFunc: function (message: string): boolean {\n return confirm(message);\n },\n /**\n * A property that allows you to display a custom confirm dialog in async mode or activate the standard browser dialog.\n *\n * To display a custom confirm dialog, set this property to a function that renders it. This function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.\n *\n * To activate the standard browser dialog, set the `confirmActionAsync` property to a function that returns `false`. With this configuration, a survey falls back to the [`confirmActionFunc`](#confirmActionFunc) function, which renders the standard browser dialog by default.\n *\n * ```js\n * import { settings } from \"survey-core\";\n *\n * // Display the standard browser dialog\n * settings.confirmActionAsync = () => {\n * return false;\n * }\n * ```\n * @param message A message to be displayed in the confirm dialog window.\n * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.\n */\n confirmActionAsync: function (message: string, callback: (res: boolean) => void): boolean {\n return showConfirmDialog(message, callback);\n },\n /**\n * A minimum width value for all survey elements.\n *\n * Default value: `\"300px\"`\n *\n * You can override this setting for individual elements: [`minWidth`](https://surveyjs.io/form-library/documentation/api-reference/surveyelement#minWidth).\n */\n minWidth: \"300px\",\n /**\n * A maximum width value for all survey elements.\n *\n * Default value: `\"100%\"`\n *\n * You can override this setting for individual elements: [`maxWidth`](https://surveyjs.io/form-library/documentation/api-reference/surveyelement#maxWidth).\n */\n maxWidth: \"100%\",\n /**\n * Specifies how many times surveys can re-evaluate expressions when a question value changes. This limit helps avoid recursions in expressions.\n *\n * Default value: 10\n */\n maxConditionRunCountOnValueChanged: 10,\n /**\n * An object that configures notifications.\n *\n * Nested properties:\n *\n * - `lifetime`: `number`\\\n * Specifies a time period during which a notification is displayed; measured in milliseconds.\n */\n notifications: {\n lifetime: 2000\n },\n /**\n * Specifies the direction in which to lay out Checkbox and Radiogroup items. This setting affects the resulting UI when items are arranged in [more than one column](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#colCount).\n *\n * Possible values:\n *\n * - `\"row\"` (default) - Items fill the current row, then move on to the next row.\n * - `\"column\"` - Items fill the current column, then move on to the next column.\n */\n showItemsInOrder: \"default\",\n /**\n * A value to save in survey results when respondents select the None choice item.\n *\n * Default value: `\"none\"`\n */\n noneItemValue: \"none\",\n /**\n * A list of supported validators by question type.\n */\n supportedValidators: {\n question: [\"expression\"],\n comment: [\"text\", \"regex\"],\n text: [\"numeric\", \"text\", \"regex\", \"email\"],\n checkbox: [\"answercount\"],\n imagepicker: [\"answercount\"],\n },\n /**\n * Specifies a minimum date that users can enter into a [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) question with [`inputType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#inputType) set to `\"date\"` or `\"datetime-local\"`. Set this property to a string with the folllowing format: `\"yyyy-mm-dd\"`.\n */\n minDate: \"\",\n /**\n * Specifies a maximum date that users can enter into a [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) question with [`inputType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#inputType) set to `\"date\"` or `\"datetime-local\"`. Set this property to a string with the folllowing format: `\"yyyy-mm-dd\"`.\n */\n maxDate: \"\",\n showModal: <\n (\n componentName: string,\n data: any,\n onApply: () => boolean,\n onCancel?: () => void,\n cssClass?: string,\n title?: string,\n displayMode?: \"popup\" | \"overlay\"\n ) => any\n >undefined,\n showDialog: < (options: IDialogOptions, rootElement?: HTMLElement) => any >undefined,\n supportCreatorV2: false,\n showDefaultItemsInCreatorV2: true,\n /**\n * An object that specifies icon replacements. Object keys are built-in icon names. To use a custom icon, assign its name to the key of the icon you want to replace:\n *\n * ```js\n * import { settings } from \"survey-core\";\n *\n * settings.customIcons[\"icon-redo\"] = \"custom-redo-icon\";\n * ```\n *\n * For more information about icons in SurveyJS, refer to the following help topic: [UI Icons](https://surveyjs.io/form-library/documentation/icons).\n */\n customIcons: {},\n /**\n * Specifies which part of a choice item responds to a drag gesture in Ranking questions.\n *\n * Possible values:\n *\n * - `\"entireItem\"` (default) - Users can use the entire choice item as a drag handle.\n * - `\"icon\"` - Users can only use the choice item icon as a drag handle.\n */\n rankingDragHandleArea: \"entireItem\",\n\n environment: defaultEnvironment,\n\n /**\n * Allows you to hide the maximum length indicator in text input questions.\n *\n * If you specify a question's [`maxLength`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maxLength) property or a survey's [`maxTextLength`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#maxTextLength) property, text input questions indicate the number of entered characters and the character limit. Assign `false` to the `settings.showMaxLengthIndicator` property if you want to hide this indicator.\n *\n * Default value: `true`\n */\n showMaxLengthIndicator: true,\n\n /**\n * An object that specifies heading levels (`<h1>`, `<h2>`, etc.) to use when rendering survey, page, panel, and question titles.\n *\n * Default value: `{ survey: \"h3\", page: \"h4\", panel: \"h4\", question: \"h5\" }`\n *\n * If you want to modify heading levels for individual titles, handle `SurveyModel`'s [`onGetTitleTagName`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetTitleTagName) event.\n */\n titleTags: {\n survey: \"h3\",\n page: \"h4\",\n panel: \"h4\",\n question: \"h5\",\n },\n questions: {\n inputTypes: [\n \"color\",\n \"date\",\n \"datetime-local\",\n \"email\",\n \"month\",\n \"number\",\n \"password\",\n \"range\",\n \"tel\",\n \"text\",\n \"time\",\n \"url\",\n \"week\",\n ],\n dataList: [\n \"\",\n \"name\",\n \"honorific-prefix\",\n \"given-name\",\n \"additional-name\",\n \"family-name\",\n \"honorific-suffix\",\n \"nickname\",\n \"organization-title\",\n \"username\",\n \"new-password\",\n \"current-password\",\n \"organization\",\n \"street-address\",\n \"address-line1\",\n \"address-line2\",\n \"address-line3\",\n \"address-level4\",\n \"address-level3\",\n \"address-level2\",\n \"address-level1\",\n \"country\",\n \"country-name\",\n \"postal-code\",\n \"cc-name\",\n \"cc-given-name\",\n \"cc-additional-name\",\n \"cc-family-name\",\n \"cc-number\",\n \"cc-exp\",\n \"cc-exp-month\",\n \"cc-exp-year\",\n \"cc-csc\",\n \"cc-type\",\n \"transaction-currency\",\n \"transaction-amount\",\n \"language\",\n \"bday\",\n \"bday-day\",\n \"bday-month\",\n \"bday-year\",\n \"sex\",\n \"url\",\n \"photo\",\n \"tel\",\n \"tel-country-code\",\n \"tel-national\",\n \"tel-area-code\",\n \"tel-local\",\n \"tel-local-prefix\",\n \"tel-local-suffix\",\n \"tel-extension\",\n \"email\",\n \"impp\",\n ]\n }\n};","import { englishStrings } from \"./localization/english\";\n\nexport var surveyLocalization = {\n currentLocaleValue: \"\",\n defaultLocaleValue: \"en\",\n locales: <{ [index: string]: any }>{},\n localeNames: <{ [index: string]: any }>{},\n supportedLocales: <Array<any>>[],\n get currentLocale() {\n return this.currentLocaleValue === this.defaultLocaleValue ? \"\" : this.currentLocaleValue;\n },\n set currentLocale(val: string) {\n if (val === \"cz\") val = \"cs\";\n this.currentLocaleValue = val;\n },\n get defaultLocale() {\n return this.defaultLocaleValue;\n },\n set defaultLocale(val: string) {\n if (val === \"cz\") val = \"cs\";\n this.defaultLocaleValue = val;\n },\n getLocaleStrings(loc: string): any {\n return this.locales[loc];\n },\n getString: function (strName: string, locale: string = null) {\n const locs = new Array<any>();\n const addLocaleCore = (locName: string): void => {\n const strs = this.locales[locName];\n if(!!strs) locs.push(strs);\n };\n const addLocale = (locName: string): void => {\n if(!locName) return;\n addLocaleCore(locName);\n const index = locName.indexOf(\"-\");\n if(index < 1) return;\n locName = locName.substring(0, index);\n addLocaleCore(locName);\n };\n addLocale(locale);\n addLocale(this.currentLocale);\n addLocale(this.defaultLocale);\n if(this.defaultLocale !== \"en\") {\n addLocaleCore(\"en\");\n }\n for(let i = 0; i < locs.length; i ++) {\n const res = locs[i][strName];\n if(res !== undefined) return res;\n }\n return this.onGetExternalString(strName, locale);\n },\n getLocales: function (removeDefaultLoc: boolean = false): Array<string> {\n var res = [];\n res.push(\"\");\n var locs = this.locales;\n if (this.supportedLocales && this.supportedLocales.length > 0) {\n locs = {};\n for (var i = 0; i < this.supportedLocales.length; i++) {\n locs[this.supportedLocales[i]] = true;\n }\n }\n for (var key in locs) {\n if (removeDefaultLoc && key == this.defaultLocale) continue;\n res.push(key);\n }\n var locName = (loc: string): string => {\n if (!loc) return \"\";\n var res = (<any>surveyLocalization).localeNames[loc];\n if (!res) res = loc;\n return res.toLowerCase();\n };\n res.sort((a, b): number => {\n var str1 = locName(a);\n var str2 = locName(b);\n if (str1 === str2) return 0;\n return str1 < str2 ? -1 : 1;\n });\n return res;\n },\n onGetExternalString: function (name: string, locale: string): string { return undefined; }\n};\n\nexport var surveyStrings = englishStrings;\n(<any>surveyLocalization).locales[\"en\"] = englishStrings;\n(<any>surveyLocalization).localeNames[\"en\"] = \"english\";\n","import { Action } from \"../actions/action\";\nimport { AdaptiveActionContainer } from \"../actions/adaptive-container\";\nimport { isContainerVisible } from \"./utils\";\n\ninterface IDimensions {\n scroll: number;\n offset: number;\n}\n\nexport class ResponsivityManager {\n private resizeObserver: ResizeObserver = undefined;\n private isInitialized = false;\n protected minDimensionConst = 56;\n private separatorSize = 17;\n private separatorAddConst = 1;\n private paddingSizeConst = 8;\n private dotsSizeConst = 48;\n protected recalcMinDimensionConst = true;\n\n public getComputedStyle: (\n elt: Element\n ) => CSSStyleDeclaration = window.getComputedStyle.bind(window);\n\n constructor(\n protected container: HTMLDivElement,\n private model: AdaptiveActionContainer,\n private itemsSelector: string,\n private dotsItemSize: number = null,\n ) {\n this.model.updateCallback = (isResetInitialized: boolean) => {\n if (isResetInitialized)\n this.isInitialized = false;\n setTimeout(() => { this.process(); }, 1);\n };\n if (typeof ResizeObserver !== \"undefined\") {\n this.resizeObserver = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n window.requestAnimationFrame((): void | undefined => {\n this.process();\n });\n });\n this.resizeObserver.observe(this.container.parentElement);\n }\n }\n\n protected getDimensions(element: HTMLElement): IDimensions {\n return {\n scroll: element.scrollWidth,\n offset: element.offsetWidth,\n };\n }\n\n protected getAvailableSpace(): number {\n const style: CSSStyleDeclaration = this.getComputedStyle(this.container);\n let space = this.container.offsetWidth;\n if (style.boxSizing === \"border-box\") {\n space -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n }\n return space;\n }\n\n protected calcItemSize(item: HTMLDivElement): number {\n return item.offsetWidth;\n }\n\n private calcMinDimension(currentAction: Action) {\n let minDimensionConst = this.minDimensionConst;\n if (currentAction.iconSize && this.recalcMinDimensionConst) {\n minDimensionConst = 2 * currentAction.iconSize + this.paddingSizeConst;\n }\n return currentAction.canShrink\n ? minDimensionConst +\n (currentAction.needSeparator ? this.separatorSize : 0)\n : currentAction.maxDimension;\n }\n\n private calcItemsSizes() {\n const actions = this.model.actions;\n const _items = this.container.querySelectorAll(this.itemsSelector);\n (_items || []).forEach((item: HTMLDivElement, index: number) => {\n let currentAction = actions[index];\n this.calcActionDimensions(currentAction, item);\n });\n }\n protected calcActionDimensions(currentAction: Action, item: HTMLDivElement) {\n currentAction.maxDimension = this.calcItemSize(item);\n currentAction.minDimension = this.calcMinDimension(currentAction);\n }\n private get isContainerVisible(): boolean {\n return isContainerVisible(this.container);\n }\n private process(): void {\n if (this.isContainerVisible && !this.model.isResponsivenessDisabled) {\n if (!this.isInitialized) {\n this.model.setActionsMode(\"large\");\n this.calcItemsSizes();\n this.isInitialized = true;\n }\n let dotsItemSize = this.dotsItemSize;\n if (!this.dotsItemSize) {\n const dotsItemElement: HTMLDivElement = this.container?.querySelector(\".sv-dots\");\n dotsItemSize = dotsItemElement && this.calcItemSize(dotsItemElement) || this.dotsSizeConst;\n }\n this.model.fit(this.getAvailableSpace(), dotsItemSize);\n }\n }\n\n public dispose(): void {\n this.model.updateCallback = undefined;\n if (!!this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n}\n\nexport class VerticalResponsivityManager extends ResponsivityManager {\n constructor(\n container: HTMLDivElement,\n model: AdaptiveActionContainer,\n itemsSelector: string,\n dotsItemSize?: number,\n minDimension = 40\n ) {\n super(container, model, itemsSelector, dotsItemSize);\n this.minDimensionConst = minDimension;\n this.recalcMinDimensionConst = false;\n }\n\n protected getDimensions(): IDimensions {\n return {\n scroll: this.container.scrollHeight,\n offset: this.container.offsetHeight,\n };\n }\n\n protected getAvailableSpace(): number {\n const style: CSSStyleDeclaration = this.getComputedStyle(this.container);\n let space: number = this.container.offsetHeight;\n if (style.boxSizing === \"border-box\") {\n space -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom);\n }\n return space;\n }\n\n protected calcItemSize(item: HTMLDivElement): number {\n return item.offsetHeight;\n }\n protected calcActionDimensions(currentAction: Action, item: HTMLDivElement) {\n currentAction.maxDimension = this.calcItemSize(item);\n currentAction.minDimension = this.calcItemSize(item);\n }\n}\n","import { LocalizableString } from \"../localizablestring\";\nimport { settings, ISurveyEnvironment } from \"./../settings\";\nimport { IDialogOptions } from \"../popup\";\nimport { surveyLocalization } from \"../surveyStrings\";\nimport { PopupBaseViewModel } from \"../popup-view-model\";\n\nfunction compareVersions(a: any, b: any) {\n const regExStrip0: RegExp = /(\\.0+)+$/;\n const segmentsA: string[] = a.replace(regExStrip0, \"\").split(\".\");\n const segmentsB: string[] = b.replace(regExStrip0, \"\").split(\".\");\n const len: number = Math.min(segmentsA.length, segmentsB.length);\n for (let i: number = 0; i < len; i++) {\n const diff: number =\n parseInt(segmentsA[i], 10) - parseInt(segmentsB[i], 10);\n if (diff) {\n return diff;\n }\n }\n return segmentsA.length - segmentsB.length;\n}\n\nfunction confirmAction(message: string): boolean {\n if (!!settings && !!settings.confirmActionFunc)\n return settings.confirmActionFunc(message);\n return confirm(message);\n}\n\nfunction confirmActionAsync(message: string, funcOnYes: () => void, funcOnNo?: () => void): void {\n const callbackFunc = (res: boolean): void => {\n if(res) funcOnYes();\n else if(!!funcOnNo) funcOnNo();\n };\n\n if(!!settings && !!settings.confirmActionAsync) {\n if(settings.confirmActionAsync(message, callbackFunc)) return;\n }\n\n callbackFunc(confirmAction(message));\n}\nfunction detectIEBrowser(): boolean {\n if (typeof window === \"undefined\") return false;\n const ua: string = window.navigator.userAgent;\n const oldIe: number = ua.indexOf(\"MSIE \");\n const elevenIe: number = ua.indexOf(\"Trident/\");\n return oldIe > -1 || elevenIe > -1;\n}\nfunction detectIEOrEdge(): boolean {\n if (typeof window === \"undefined\") return false;\n if (typeof (<any>detectIEOrEdge).isIEOrEdge === \"undefined\") {\n const ua: string = window.navigator.userAgent;\n const msie: number = ua.indexOf(\"MSIE \");\n const trident: number = ua.indexOf(\"Trident/\");\n const edge: number = ua.indexOf(\"Edge/\");\n (<any>detectIEOrEdge).isIEOrEdge = edge > 0 || trident > 0 || msie > 0;\n }\n return (<any>detectIEOrEdge).isIEOrEdge;\n}\nfunction loadFileFromBase64(b64Data: string, fileName: string): void {\n try {\n const byteString: string = atob(b64Data.split(\",\")[1]);\n\n // separate out the mime component\n const mimeString: string = b64Data\n .split(\",\")[0]\n .split(\":\")[1]\n .split(\";\")[0];\n\n // write the bytes of the string to an ArrayBuffer\n const ab: ArrayBuffer = new ArrayBuffer(byteString.length);\n const ia: Uint8Array = new Uint8Array(ab);\n for (let i = 0; i < byteString.length; i++) {\n ia[i] = byteString.charCodeAt(i);\n }\n // write the ArrayBuffer to a blob, and you're done\n const bb: Blob = new Blob([ab], { type: mimeString });\n if (\n typeof window !== \"undefined\" &&\n window.navigator &&\n (<any>window.navigator)[\"msSaveBlob\"]\n ) {\n (<any>window.navigator)[\"msSaveOrOpenBlob\"](bb, fileName);\n }\n } catch (err) { }\n}\nfunction isMobile(): boolean {\n return (\n typeof window !== \"undefined\" && typeof window.orientation !== \"undefined\"\n );\n}\n\nconst isShadowDOM = (rootElement: Document | ShadowRoot | HTMLElement): rootElement is ShadowRoot => {\n return !!rootElement && !!(\"host\" in rootElement && rootElement.host);\n};\n\nconst getElement = (element: HTMLElement | string): HTMLElement => {\n const { root }: ISurveyEnvironment = settings.environment;\n return typeof element === \"string\" ? root.getElementById(element) : element;\n};\n\nfunction isElementVisible(\n element: HTMLElement,\n threshold: number = 0\n): boolean {\n if (typeof settings.environment === \"undefined\") {\n return false;\n }\n\n const { root }: ISurveyEnvironment = settings.environment;\n const clientHeight = isShadowDOM(root)\n ? root.host.clientHeight\n : root.documentElement.clientHeight;\n const elementRect: DOMRect = element.getBoundingClientRect();\n const viewHeight: number = Math.max(\n clientHeight,\n window.innerHeight\n );\n const topWin: number = -threshold;\n const bottomWin: number = viewHeight + threshold;\n const topEl: number = elementRect.top;\n const bottomEl: number = elementRect.bottom;\n\n const maxTop: number = Math.max(topWin, topEl);\n const minBottom: number = Math.min(bottomWin, bottomEl);\n return maxTop <= minBottom;\n}\n\nfunction findScrollableParent(element: HTMLElement): HTMLElement {\n const { root }: ISurveyEnvironment = settings.environment;\n if (!element) {\n return isShadowDOM(root)\n ? root.host as HTMLElement\n : root.documentElement;\n }\n if (\n element.scrollHeight > element.clientHeight &&\n (getComputedStyle(element).overflowY === \"scroll\" ||\n getComputedStyle(element).overflowY === \"auto\")\n ) {\n return element;\n }\n\n if (\n element.scrollWidth > element.clientWidth &&\n (getComputedStyle(element).overflowX === \"scroll\" ||\n getComputedStyle(element).overflowX === \"auto\")\n ) {\n return element;\n }\n\n return findScrollableParent(element.parentElement);\n}\n\nfunction scrollElementByChildId(id: string) {\n const environment : ISurveyEnvironment = settings.environment;\n if (!environment) return;\n const { root } = environment;\n const el = root.getElementById(id);\n if (!el) return;\n const scrollableEl = findScrollableParent(el);\n if (!!scrollableEl) {\n scrollableEl.dispatchEvent(new CustomEvent(\"scroll\"));\n }\n}\n\nfunction navigateToUrl(url: string): void {\n if (!url || typeof window === \"undefined\" || !window.location) return;\n window.location.href = url;\n}\n\nfunction wrapUrlForBackgroundImage(url: string): string {\n return !!url ? [\"url(\", url, \")\"].join(\"\") : \"\";\n}\n\nfunction getIconNameFromProxy(iconName: string): string {\n if (!iconName) return iconName;\n var proxyName = (<any>settings.customIcons)[iconName];\n return !!proxyName ? proxyName : iconName;\n}\n\nfunction createSvg(\n size: number | string,\n width: number,\n height: number,\n iconName: string,\n svgElem: any,\n title: string,\n): void {\n if (!svgElem) return;\n if (size !== \"auto\") {\n svgElem.style.width = (size || width || 16) + \"px\";\n svgElem.style.height = (size || height || 16) + \"px\";\n }\n const node: any = svgElem.childNodes[0];\n const realIconName = getIconNameFromProxy(iconName);\n node.setAttributeNS(\n \"http://www.w3.org/1999/xlink\",\n \"xlink:href\",\n \"#\" + realIconName\n );\n\n let titleElement = svgElem.getElementsByTagName(\"title\")[0];\n if (!title) {\n if (!!titleElement) {\n svgElem.removeChild(titleElement);\n }\n return;\n } else {\n if (!titleElement) {\n titleElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"title\");\n svgElem.appendChild(titleElement);\n }\n }\n titleElement.textContent = title;\n}\n\nexport function unwrap<T>(value: T | (() => T)): T {\n if (typeof value !== \"function\") {\n return value;\n } else {\n return (<() => T>value)();\n }\n}\n\n// export function getSize(value: any): number {\n// if (typeof value === \"number\") {\n// return value;\n// }\n// if (typeof value === \"string\" && value.includes(\"px\")) {\n// return parseInt(value);\n// }\n// if (!!value && typeof value === \"string\" && value.length > 0) {\n// const lastSymbol: string = value[value.length - 1];\n// if ((lastSymbol >= \"0\" && lastSymbol <= \"9\") || lastSymbol == \".\") {\n// try {\n// const num: number = parseInt(value);\n// return num;\n// } catch { }\n// }\n// }\n// return value;\n// }\n\nexport function getRenderedSize(val: string | number): number {\n if(typeof val == \"string\") {\n if(!isNaN(Number(val))) {\n return Number(val);\n }\n else if(val.includes(\"px\")) {\n return parseFloat(val);\n }\n }\n if(typeof val == \"number\") {\n return val;\n }\n return undefined;\n}\nexport function getRenderedStyleSize(val: string | number): string {\n if(getRenderedSize(val) !== undefined) {\n return undefined;\n }\n return val as string;\n}\n\nexport interface IAttachKey2clickOptions {\n processEsc?: boolean;\n disableTabStop?: boolean;\n __keyDownReceived?: boolean;\n}\nconst keyFocusedClassName = \"sv-focused--by-key\";\nexport function doKey2ClickBlur(evt: KeyboardEvent): void {\n const element: any = evt.target;\n if (!element || !element.classList) return;\n element.classList.remove(keyFocusedClassName);\n}\n\nexport function doKey2ClickUp(evt: KeyboardEvent, options?: IAttachKey2clickOptions): void {\n if (!!evt.target && (<any>evt.target)[\"contentEditable\"] === \"true\") {\n return;\n }\n const element: any = evt.target;\n if (!element) return;\n const char: number = evt.which || evt.keyCode;\n if (char === 9) {\n if (!!element.classList && !element.classList.contains(keyFocusedClassName)) {\n element.classList.add(keyFocusedClassName);\n }\n return;\n }\n\n if (options) {\n if (!options.__keyDownReceived) return;\n options.__keyDownReceived = false;\n }\n\n if (char === 13 || char === 32) {\n if (element.click) element.click();\n } else if ((!options || options.processEsc) && char === 27) {\n if (element.blur) element.blur();\n }\n}\n\nexport function doKey2ClickDown(evt: KeyboardEvent, options: IAttachKey2clickOptions = { processEsc: true }): void {\n if (options) options.__keyDownReceived = true;\n if (!!evt.target && (<any>evt.target)[\"contentEditable\"] === \"true\") {\n return;\n }\n var char = evt.which || evt.keyCode;\n const supportedCodes = [13, 32];\n if (options.processEsc) {\n supportedCodes.push(27);\n }\n if (supportedCodes.indexOf(char) !== -1) {\n evt.preventDefault();\n }\n}\n\nfunction increaseHeightByContent(element: HTMLElement, getComputedStyle?: (elt: Element) => any) {\n if (!element) return;\n if (!getComputedStyle) getComputedStyle = (elt: Element) => { return window.getComputedStyle(elt); };\n\n const style = getComputedStyle(element);\n element.style.height = \"auto\";\n element.style.height = (element.scrollHeight + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth)) + \"px\";\n}\nfunction getOriginalEvent(event: any) {\n return event.originalEvent || event;\n}\nfunction preventDefaults(event: any) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction classesToSelector(str: string): string {\n const re = /\\s*?([\\w-]+)\\s*?/g;\n return str.replace(re, \".$1\");\n}\n\nfunction getElementWidth(el: HTMLElement) {\n return !!getComputedStyle ? Number.parseFloat(getComputedStyle(el).width) : el.offsetWidth;\n}\n\nfunction isContainerVisible(el: HTMLElement) {\n return !!(\n el.offsetWidth ||\n el.offsetHeight ||\n el.getClientRects().length\n );\n}\n\nfunction getFirstVisibleChild(el: HTMLElement) {\n let result;\n for(let index = 0; index < el.children.length; index++) {\n if(!result && getComputedStyle(el.children[index]).display !== \"none\") {\n result = el.children[index];\n }\n }\n return result;\n}\nfunction findParentByClassNames(element: HTMLElement, classNames: Array<string>): Element {\n if (!!element) {\n if (classNames.every(className => !className || element.classList.contains(className))) {\n return element;\n } else {\n return findParentByClassNames(element.parentElement, classNames);\n }\n }\n}\nexport function sanitizeEditableContent(element: any) {\n if (window.getSelection && document.createRange && element.childNodes.length > 0) {\n const selection = document.getSelection();\n\n let range = selection.getRangeAt(0);\n range.setStart(range.endContainer, range.endOffset);\n range.setEndAfter(element.lastChild);\n selection.removeAllRanges();\n selection.addRange(range);\n const tail_len = selection.toString().replace(/\\n/g, \"\").length;\n\n element.innerText = element.innerText.replace(/\\n/g, \"\");\n range = document.createRange();\n range.setStart(element.childNodes[0], element.innerText.length - tail_len);\n range.collapse(true);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n}\nfunction mergeValues(src: any, dest: any) {\n if (!dest || !src) return;\n if (typeof dest !== \"object\") return;\n for (var key in src) {\n var value = src[key];\n if (!Array.isArray(value) && value && typeof value === \"object\") {\n if (!dest[key] || typeof dest[key] !== \"object\") dest[key] = {};\n mergeValues(value, dest[key]);\n } else {\n dest[key] = value;\n }\n }\n}\n\nexport class Logger {\n private _result = \"\";\n public log(action: string) {\n this._result += \"->\" + action;\n }\n public get result() {\n return this._result;\n }\n}\n\nexport function showConfirmDialog(message: string, callback: (res: boolean) => void): boolean {\n const locStr = new LocalizableString(undefined);\n const popupViewModel:PopupBaseViewModel = settings.showDialog(<IDialogOptions>{\n componentName: \"sv-string-viewer\",\n data: { locStr: locStr, locString: locStr, model: locStr }, //TODO fix in library\n onApply: () => {\n callback(true);\n return true;\n },\n onCancel: () => {\n callback(false);\n return false;\n },\n title: message,\n displayMode: \"popup\",\n isFocusedContent: false,\n cssClass: \"sv-popup--confirm-delete\"\n }, /*settings.rootElement*/document.body); //TODO survey root\n const toolbar = popupViewModel.footerToolbar;\n const applyBtn = toolbar.getActionById(\"apply\");\n const cancelBtn = toolbar.getActionById(\"cancel\");\n cancelBtn.title = surveyLocalization.getString(\"cancel\");\n cancelBtn.innerCss = \"sv-popup__body-footer-item sv-popup__button sd-btn sd-btn--small\";\n applyBtn.title = surveyLocalization.getString(\"ok\");\n applyBtn.innerCss = \"sv-popup__body-footer-item sv-popup__button sv-popup__button--danger sd-btn sd-btn--small sd-btn--danger\";\n popupViewModel.width = \"452px\";\n return true;\n}\n\nexport {\n mergeValues,\n getElementWidth,\n isContainerVisible,\n classesToSelector,\n compareVersions,\n confirmAction,\n confirmActionAsync,\n detectIEOrEdge,\n detectIEBrowser,\n loadFileFromBase64,\n isMobile,\n isShadowDOM,\n getElement,\n isElementVisible,\n findScrollableParent,\n scrollElementByChildId,\n navigateToUrl,\n wrapUrlForBackgroundImage,\n createSvg,\n getIconNameFromProxy,\n increaseHeightByContent,\n getOriginalEvent,\n preventDefaults,\n findParentByClassNames,\n getFirstVisibleChild,\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_react__;","module.exports = __WEBPACK_EXTERNAL_MODULE_react_dom__;","module.exports = __WEBPACK_EXTERNAL_MODULE_survey_core__;"],"sourceRoot":""}